diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/misc/arm-trusted-firmware | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/misc/arm-trusted-firmware')
-rw-r--r-- | nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix new file mode 100644 index 000000000000..6bfaa2a2f274 --- /dev/null +++ b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix @@ -0,0 +1,86 @@ +{ stdenv, fetchFromGitHub, buildPackages }: + +let + buildArmTrustedFirmware = { filesToInstall + , installDir ? "$out" + , platform + , extraMakeFlags ? [] + , extraMeta ? {} + , version ? "1.5" + , ... } @ args: + stdenv.mkDerivation (rec { + + name = "arm-trusted-firmware-${platform}-${version}"; + inherit version; + + src = fetchFromGitHub { + owner = "ARM-software"; + repo = "arm-trusted-firmware"; + rev = "refs/tags/v${version}"; + sha256 = "1gm0bn2llzfzz9bfsz11fhwxj5lxvyrq7bc13fjj033nljzxn7k8"; + }; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + makeFlags = [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + "PLAT=${platform}" + ] ++ extraMakeFlags; + + installPhase = '' + runHook preInstall + + mkdir -p ${installDir} + cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir} + + runHook postInstall + ''; + + hardeningDisable = [ "all" ]; + dontStrip = true; + + # Fatal error: can't create build/sun50iw1p1/release/bl31/sunxi_clocks.o: No such file or directory + enableParallelBuilding = false; + + meta = with stdenv.lib; { + homepage = https://github.com/ARM-software/arm-trusted-firmware; + description = "A reference implementation of secure world software for ARMv8-A"; + license = licenses.bsd3; + maintainers = [ maintainers.lopsided98 ]; + } // extraMeta; + } // builtins.removeAttrs args [ "extraMeta" ]); + +in rec { + inherit buildArmTrustedFirmware; + + armTrustedFirmwareAllwinner = buildArmTrustedFirmware rec { + version = "1.0"; + src = fetchFromGitHub { + owner = "apritzel"; + repo = "arm-trusted-firmware"; + # Branch: `allwinner` + rev = "91f2402d941036a0db092d5375d0535c270b9121"; + sha256 = "0lbipkxb01w97r6ah8wdbwxir3013rp249fcqhlzh2gjwhp5l1ys"; + }; + platform = "sun50iw1p1"; + extraMeta.platforms = ["aarch64-linux"]; + filesToInstall = ["build/${platform}/release/bl31.bin"]; + }; + + armTrustedFirmwareQemu = buildArmTrustedFirmware rec { + platform = "qemu"; + extraMeta.platforms = ["aarch64-linux"]; + filesToInstall = [ + "build/${platform}/release/bl1.bin" + "build/${platform}/release/bl2.bin" + "build/${platform}/release/bl31.bin" + ]; + }; + + armTrustedFirmwareRK3328 = buildArmTrustedFirmware rec { + extraMakeFlags = [ "bl31" ]; + platform = "rk3328"; + extraMeta.platforms = ["aarch64-linux"]; + filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"]; + }; +} |