Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper 2, python3, binutils-unwrapped, findutils, kmod, pciutils, libraspberrypi 3}: 4stdenvNoCC.mkDerivation rec { 5 pname = "raspberrypi-eeprom"; 6 version = "2023.01.11-138c0"; 7 8 src = fetchFromGitHub { 9 owner = "raspberrypi"; 10 repo = "rpi-eeprom"; 11 rev = "v${version}"; 12 hash = "sha256-z3VyqdSkvxAgVmtMI/Is9qYrOeDXlyVLwHSSC2+AxcA="; 13 }; 14 15 buildInputs = [ python3 ]; 16 nativeBuildInputs = [ makeWrapper ]; 17 18 postPatch = '' 19 # Don't try to verify md5 signatures from /var/lib/dpkg and 20 # fix path to the configuration. 21 substituteInPlace rpi-eeprom-update \ 22 --replace 'IGNORE_DPKG_CHECKSUMS=''${LOCAL_MODE}' 'IGNORE_DPKG_CHECKSUMS=1' \ 23 --replace '/etc/default' '/etc' 24 ''; 25 26 installPhase = '' 27 mkdir -p $out/bin $out/share/rpi-eeprom 28 29 cp rpi-eeprom-config rpi-eeprom-update rpi-eeprom-digest $out/bin 30 cp -r firmware/{beta,critical,old,stable} $out/share/rpi-eeprom 31 cp -P firmware/default firmware/latest $out/share/rpi-eeprom 32 ''; 33 34 fixupPhase = '' 35 patchShebangs $out/bin 36 for i in rpi-eeprom-update rpi-eeprom-config; do 37 wrapProgram $out/bin/$i \ 38 --set FIRMWARE_ROOT $out/share/rpi-eeprom \ 39 ${lib.optionalString stdenvNoCC.isAarch64 "--set VCMAILBOX ${libraspberrypi}/bin/vcmailbox"} \ 40 --prefix PATH : "${lib.makeBinPath ([ 41 binutils-unwrapped 42 findutils 43 kmod 44 pciutils 45 (placeholder "out") 46 ] ++ lib.optionals stdenvNoCC.isAarch64 [ 47 libraspberrypi 48 ])}" 49 done 50 ''; 51 52 meta = with lib; { 53 description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 EEPROMs"; 54 homepage = "https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md"; 55 license = with licenses; [ bsd3 unfreeRedistributableFirmware ]; 56 maintainers = with maintainers; [ das_j ]; 57 }; 58}