pulsar: 1.124.0 -> 1.125.0 (#376475)
[NixPkgs.git] / pkgs / by-name / rp / rpiboot / package.nix
blob57ce9d56e39f7a092c27a7f96229ae9b2e57ca21
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   gitUpdater,
6   libusb1,
7   pkg-config,
8 }:
10 stdenv.mkDerivation rec {
11   pname = "rpiboot";
12   version = "20240926-102326";
14   src = fetchFromGitHub {
15     owner = "raspberrypi";
16     repo = "usbboot";
17     rev = version;
18     hash = "sha256-9m7PAw1WNQlfqOr5hDXrCsZlZLBmvoGUT58NN2cVolw=";
19   };
21   buildInputs = [ libusb1 ];
22   nativeBuildInputs = [ pkg-config ];
24   patchPhase = ''
25     sed -i "s@/usr/@$out/@g" main.c
26   '';
28   installPhase = ''
29     mkdir -p $out/bin
30     mkdir -p $out/share/rpiboot
31     cp rpiboot $out/bin
32     cp -r msd firmware eeprom-erase mass-storage-gadget* recovery* secure-boot* rpi-imager-embedded $out/share/rpiboot
33   '';
35   passthru.updateScript = gitUpdater { };
37   meta = {
38     homepage = "https://github.com/raspberrypi/usbboot";
39     changelog = "https://github.com/raspberrypi/usbboot/blob/${version}/debian/changelog";
40     description = "Utility to boot a Raspberry Pi CM/CM3/CM4/Zero over USB";
41     mainProgram = "rpiboot";
42     license = lib.licenses.asl20;
43     maintainers = with lib.maintainers; [
44       cartr
45       flokli
46       stv0g
47     ];
48     platforms = [
49       "aarch64-linux"
50       "aarch64-darwin"
51       "armv7l-linux"
52       "armv6l-linux"
53       "x86_64-linux"
54       "x86_64-darwin"
55     ];
56   };