1{ lib, stdenv, buildPackages, fetchFromGitHub, pciutils
2, gitUpdater, fwupd-efi, ipxe, refind, syslinux }:
3
4stdenv.mkDerivation rec {
5 pname = "gnu-efi";
6 version = "3.0.18";
7
8 src = fetchFromGitHub {
9 owner = "ncroxon";
10 repo = "gnu-efi";
11 rev = version;
12 hash = "sha256-xtiKglLXm9m4li/8tqbOsyM6ThwGhyu/g4kw5sC4URY=";
13 };
14
15 buildInputs = [ pciutils ];
16
17 hardeningDisable = [ "stackprotector" ];
18
19 makeFlags = [
20 "PREFIX=\${out}"
21 "HOSTCC=${buildPackages.stdenv.cc.targetPrefix}cc"
22 "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
23 ];
24
25 postPatch = ''
26 substituteInPlace Make.defaults \
27 --replace "-Werror" ""
28 '';
29
30 passthru = {
31 updateScript = gitUpdater {
32 # No nicer place to find latest release.
33 url = "https://git.code.sf.net/p/gnu-efi/code";
34 };
35 tests = {
36 inherit fwupd-efi ipxe refind syslinux;
37 };
38 };
39
40 meta = with lib; {
41 description = "GNU EFI development toolchain";
42 homepage = "https://sourceforge.net/projects/gnu-efi/";
43 license = licenses.bsd3;
44 platforms = platforms.linux;
45 maintainers = [ ];
46 };
47}