diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:37:02 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:41:30 +0000 |
commit | 6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch) | |
tree | 035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/misc/arm-trusted-firmware | |
parent | da7500bc026e937ac7fce7b50f67a0e1765737a7 (diff) | |
parent | e4134747f5666bcab8680aff67fa3b63384f9a0f (diff) | |
download | nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2 nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip |
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/misc/arm-trusted-firmware')
-rw-r--r-- | nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix index 5ff131dad9dd..27bef4cae449 100644 --- a/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix +++ b/nixpkgs/pkgs/misc/arm-trusted-firmware/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchFromGitHub, pkgsCross, buildPackages }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, openssl, pkgsCross, buildPackages }: let buildArmTrustedFirmware = { filesToInstall , installDir ? "$out" - , platform + , platform ? null , extraMakeFlags ? [] , extraMeta ? {} , version ? "2.1" , ... } @ args: stdenv.mkDerivation ({ - name = "arm-trusted-firmware-${platform}-${version}"; + name = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}-${version}"; inherit version; src = fetchFromGitHub { @@ -25,16 +25,18 @@ let # For Cortex-M0 firmware in RK3399 nativeBuildInputs = [ pkgsCross.arm-embedded.stdenv.cc ]; + buildInputs = [ openssl ]; + makeFlags = [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" - "PLAT=${platform}" - ] ++ extraMakeFlags; + ] ++ (lib.optional (platform != null) "PLAT=${platform}") + ++ extraMakeFlags; installPhase = '' runHook preInstall mkdir -p ${installDir} - cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir} + cp ${lib.concatStringsSep " " filesToInstall} ${installDir} runHook postInstall ''; @@ -45,7 +47,7 @@ let # Fatal error: can't create build/sun50iw1p1/release/bl31/sunxi_clocks.o: No such file or directory enableParallelBuilding = false; - meta = with stdenv.lib; { + meta = with lib; { homepage = https://github.com/ARM-software/arm-trusted-firmware; description = "A reference implementation of secure world software for ARMv8-A"; license = licenses.bsd3; @@ -56,6 +58,22 @@ let in { inherit buildArmTrustedFirmware; + armTrustedFirmwareTools = buildArmTrustedFirmware rec { + extraMakeFlags = [ + "HOSTCC=${stdenv.cc.targetPrefix}gcc" + "fiptool" "certtool" "sptool" + ]; + filesToInstall = [ + "tools/fiptool/fiptool" + "tools/cert_create/cert_create" + "tools/sptool/sptool" + ]; + postInstall = '' + mkdir -p "$out/bin" + find "$out" -type f -executable -exec mv -t "$out/bin" {} + + ''; + }; + armTrustedFirmwareAllwinner = buildArmTrustedFirmware rec { platform = "sun50i_a64"; extraMeta.platforms = ["aarch64-linux"]; @@ -85,4 +103,11 @@ in { extraMeta.platforms = ["aarch64-linux"]; filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"]; }; + + armTrustedFirmwareS905 = buildArmTrustedFirmware rec { + extraMakeFlags = [ "bl31" ]; + platform = "gxbb"; + extraMeta.platforms = ["aarch64-linux"]; + filesToInstall = [ "build/${platform}/release/bl31.bin"]; + }; } |