Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 67 lines 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5}: 6 7let 8 inherit (lib) optionals; 9in 10stdenv.mkDerivation { 11 pname = "raspberrypi-armstubs"; 12 version = "unstable-2022-07-11"; 13 14 src = fetchFromGitHub { 15 owner = "raspberrypi"; 16 repo = "tools"; 17 rev = "439b6198a9b340de5998dd14a26a0d9d38a6bcac"; 18 hash = "sha512-KMHgj73eXHT++IE8DbCsFeJ87ngc9R3XxMUJy4Z3s4/MtMeB9zblADHkyJqz9oyeugeJTrDtuVETPBRo7M4Y8A=="; 19 }; 20 21 env.NIX_CFLAGS_COMPILE = toString [ 22 "-march=armv8-a+crc" 23 ]; 24 25 preConfigure = '' 26 cd armstubs 27 ''; 28 29 makeFlags = [ 30 "CC8=${stdenv.cc.targetPrefix}cc" 31 "LD8=${stdenv.cc.targetPrefix}ld" 32 "OBJCOPY8=${stdenv.cc.targetPrefix}objcopy" 33 "OBJDUMP8=${stdenv.cc.targetPrefix}objdump" 34 "CC7=${stdenv.cc.targetPrefix}cc" 35 "LD7=${stdenv.cc.targetPrefix}ld" 36 "OBJCOPY7=${stdenv.cc.targetPrefix}objcopy" 37 "OBJDUMP7=${stdenv.cc.targetPrefix}objdump" 38 ] 39 ++ optionals (stdenv.hostPlatform.isAarch64) [ 40 "armstub8.bin" 41 "armstub8-gic.bin" 42 ] 43 ++ optionals (stdenv.hostPlatform.isAarch32) [ 44 "armstub7.bin" 45 "armstub8-32.bin" 46 "armstub8-32-gic.bin" 47 ]; 48 49 installPhase = '' 50 runHook preInstall 51 mkdir -vp $out/ 52 cp -v *.bin $out/ 53 runHook postInstall 54 ''; 55 56 meta = with lib; { 57 description = "Firmware related ARM stubs for the Raspberry Pi"; 58 homepage = "https://github.com/raspberrypi/tools"; 59 license = licenses.bsd3; 60 platforms = [ 61 "armv6l-linux" 62 "armv7l-linux" 63 "aarch64-linux" 64 ]; 65 maintainers = [ ]; 66 }; 67}