fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{ stdenv, fetchgit, libuuid, pythonFull, iasl }:
2
3let
4
5targetArch = if stdenv.isi686 then
6 "IA32"
7else if stdenv.isx86_64 then
8 "X64"
9else
10 throw "Unsupported architecture";
11
12edk2 = stdenv.mkDerivation {
13 name = "edk2-2014-12-10";
14
15 src = fetchgit {
16 url = git://github.com/tianocore/edk2;
17 rev = "684a565a04";
18 sha256 = "0s9ywb8w7xzlnmm4kwzykxkrdaw53b7pky121cc9wjkllzqwyxrb";
19 };
20
21 buildInputs = [ libuuid pythonFull ];
22
23 makeFlags = "-C BaseTools";
24
25 hardeningDisable = [ "format" "fortify" ];
26
27 installPhase = ''
28 mkdir -vp $out
29 mv -v BaseTools $out
30 mv -v EdkCompatibilityPkg $out
31 mv -v edksetup.sh $out
32 '';
33
34 meta = {
35 description = "Intel EFI development kit";
36 homepage = http://sourceforge.net/projects/edk2/;
37 license = stdenv.lib.licenses.bsd2;
38 platforms = ["x86_64-linux" "i686-linux"];
39 };
40
41 passthru = {
42 setup = projectDscPath: attrs: {
43 buildInputs = [ pythonFull ] ++
44 stdenv.lib.optionals (attrs ? buildInputs) attrs.buildInputs;
45
46 configurePhase = ''
47 mkdir -v Conf
48 sed -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' -e \
49 's|MYTOOLS|GCC49|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\
50 < ${edk2}/BaseTools/Conf/target.template > Conf/target.txt
51 sed -e 's|DEFINE GCC48_IA32_PREFIX = /usr/bin/|DEFINE GCC48_IA32_PREFIX = ""|' \
52 -e 's|DEFINE GCC48_X64_PREFIX = /usr/bin/|DEFINE GCC48_X64_PREFIX = ""|' \
53 -e 's|DEFINE UNIX_IASL_BIN = /usr/bin/iasl|DEFINE UNIX_IASL_BIN = ${iasl}/bin/iasl|' \
54 < ${edk2}/BaseTools/Conf/tools_def.template > Conf/tools_def.txt
55 export WORKSPACE="$PWD"
56 export EFI_SOURCE="$PWD/EdkCompatibilityPkg"
57 ln -sv ${edk2}/BaseTools BaseTools
58 ln -sv ${edk2}/EdkCompatibilityPkg EdkCompatibilityPkg
59 . ${edk2}/edksetup.sh BaseTools
60 '';
61
62 buildPhase = "
63 build
64 ";
65
66 installPhase = "mv -v Build/*/* $out";
67 } // (removeAttrs attrs [ "buildInputs" ] );
68 };
69};
70
71in
72
73edk2