From 853dd7266b4c54f71ad2c413b471785eb2091f45 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 14 Mar 2012 04:18:52 +0000 Subject: [PATCH] Add Intel's EDK svn path=/nixpkgs/trunk/; revision=33058 --- pkgs/development/compilers/edk2/default.nix | 53 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/compilers/edk2/default.nix diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix new file mode 100644 index 000000000000..c93c7b8630f3 --- /dev/null +++ b/pkgs/development/compilers/edk2/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchsvn, libuuid, pythonFull, iasl }: + +let + + targetArch = if stdenv.isi686 then + "IA32" + else if stdenv.isx86_64 then + "X64" + else + throw "Unsupported architecture"; + +in + +stdenv.mkDerivation { + name = "edk2-2012-03-13"; + + src = fetchsvn { + url = https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2; + rev = "13094"; + sha256 = "1qfpal0y4sas204ydg3pg3634dm25q1vr94mpgmbdh6yqcviah3h"; + }; + + buildInputs = [ libuuid pythonFull ]; + + buildPhase = '' + make -C BaseTools + build="$(pwd)" + cd .. + mv $build $out + export EDK_TOOLS_PATH="$out"/BaseTools + cd $out + . edksetup.sh BaseTools + sed -e 's|Nt32Pkg/Nt32Pkg.dsc|MdeModulePkg/MdeModulePkg.dsc|' -e \ + 's|MYTOOLS|GCC46|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\ + < $out/Conf/target.txt > target.txt.tmp + mv target.txt.tmp $out/Conf/target.txt + sed -e 's|DEFINE GCC46_IA32_PREFIX = /usr/bin/|DEFINE GCC46_IA32_PREFIX = ""|' \ + -e 's|DEFINE GCC46_X64_PREFIX = /usr/bin/|DEFINE GCC46_X64_PREFIX = ""|' \ + -e 's|DEFINE UNIX_IASL_BIN = /usr/bin/iasl|DEFINE UNIX_IASL_BIN = ${iasl}/bin/iasl|' < $out/Conf/tools_def.txt > tools_def.txt.tmp + mv tools_def.txt.tmp $out/Conf/tools_def.txt + build + ''; + + installPhase = "true"; + + meta = { + description = "Intel EFI development kit"; + homepage = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2; + license = "BSD"; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = ["x86_64-linux" "i686-linux"]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11217998fb88..16cebd044357 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -634,6 +634,9 @@ let ecryptfs = callPackage ../tools/security/ecryptfs { }; + edk2 = callPackage ../development/compilers/edk2 { + }; + efibootmgr = callPackage ../tools/system/efibootmgr { }; enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };