at 23.11-beta 59 lines 1.9 kB view raw
1{ stdenvNoCC, lib, fetchFromGitHub, makeWrapper 2, python3, binutils-unwrapped, findutils, gawk, 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 gawk 44 kmod 45 pciutils 46 (placeholder "out") 47 ] ++ lib.optionals stdenvNoCC.isAarch64 [ 48 libraspberrypi 49 ])}" 50 done 51 ''; 52 53 meta = with lib; { 54 description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 EEPROMs"; 55 homepage = "https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md"; 56 license = with licenses; [ bsd3 unfreeRedistributableFirmware ]; 57 maintainers = with maintainers; [ das_j ]; 58 }; 59}