unityhub: 3.10.0 -> 3.11.0 (#376840)
[NixPkgs.git] / pkgs / by-name / fl / flashprog / package.nix
blob2839811d1ed704b2190df00d821d1cf241c3c655
2   fetchgit,
3   installShellFiles,
4   lib,
5   libftdi1,
6   libgpiod,
7   libjaylink,
8   libusb1,
9   pciutils,
10   pkg-config,
11   stdenv,
12   withJlink ? true,
13   withGpio ? stdenv.hostPlatform.isLinux,
16 stdenv.mkDerivation (finalAttrs: {
17   pname = "flashprog";
18   version = "1.3";
20   src = fetchgit {
21     url = "https://review.sourcearcade.org/flashprog";
22     rev = "v${finalAttrs.version}";
23     hash = "sha256-S+UKDtpKYenwm+zR+Bg8HHxb2Jr7mFHAVCZdZTqCyRQ=";
24   };
26   nativeBuildInputs = [
27     installShellFiles
28     pkg-config
29   ];
30   buildInputs =
31     [
32       libftdi1
33       libusb1
34     ]
35     ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
36       pciutils
37     ]
38     ++ lib.optionals (withJlink) [
39       libjaylink
40     ]
41     ++ lib.optionals (withGpio) [
42       libgpiod
43     ];
45   makeFlags =
46     let
47       yesNo = flag: if flag then "yes" else "no";
48     in
49     [
50       "libinstall"
51       "PREFIX=$(out)"
52       "CONFIG_JLINK_SPI=${yesNo withJlink}"
53       "CONFIG_LINUX_GPIO_SPI=${yesNo withGpio}"
54       "CONFIG_ENABLE_LIBPCI_PROGRAMMERS=${yesNo (!stdenv.hostPlatform.isDarwin)}"
55       "CONFIG_INTERNAL_X86=${yesNo (!(stdenv.hostPlatform.isDarwin) && stdenv.hostPlatform.isx86_64)}"
56       "CONFIG_INTERNAL_DMI=${yesNo (!(stdenv.hostPlatform.isDarwin) && stdenv.hostPlatform.isx86_64)}"
57       "CONFIG_RAYER_SPI=${yesNo (!(stdenv.hostPlatform.isDarwin) && stdenv.hostPlatform.isx86_64)}"
58     ];
60   meta = with lib; {
61     homepage = "https://flashprog.org";
62     description = "Utility for reading, writing, erasing and verifying flash ROM chips";
63     license = with licenses; [ gpl2Plus ];
64     maintainers = with maintainers; [
65       felixsinger
66       funkeleinhorn
67     ];
68     platforms = platforms.all;
69     mainProgram = "flashprog";
70   };