btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / de / dediprog-sf100 / package.nix
blob48b6e67e0143001489b4dc4f06e1d11a9c962459
2   lib,
3   pkgs,
4   stdenv,
5   fetchFromGitHub,
6   libusb1,
7   pkg-config,
8 }:
10 let
11   dediprogVersion = "1.14.21,x";
12   dediprogHash = "sha256-tz5qLN74IbUcvj2nXzR6Q7Nh9l/LAUy/6h43J+o8dvc=";
14 stdenv.mkDerivation (finalAttrs: {
15   pname = "dediprog-sf100-linux";
16   version = finalAttrs.dediprogVersion;
18   inherit dediprogVersion dediprogHash;
20   src = fetchFromGitHub {
21     owner = "DediProgSW";
22     repo = "SF100Linux";
23     rev = "V${finalAttrs.dediprogVersion}";
24     hash = finalAttrs.dediprogHash;
25   };
27   buildInputs = [ libusb1 ];
28   nativeBuildInputs = [ pkg-config ];
30   udevRules = pkgs.writeText "dediprog.rules" ''
31     ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="dada", MODE="660", GROUP="plugdev"
32   '';
34   installPhase = ''
35     runHook preInstall
37     install -Dm0755 ./dpcmd -t $out/bin
38     install -Dm0644 ./ChipInfoDb.dedicfg -t $out/share/DediProg
39     install -Dm0644 ${finalAttrs.udevRules} -D $out/lib/udev/rules.d/60-dediprog.rules
41     runHook postInstall
42   '';
44   meta = {
45     homepage = "https://github.com/DediProgSW/SF100Linux";
46     description = "Linux software for DediProg SF100/SF600 programmers";
47     license = lib.licenses.gpl2;
48     platforms = lib.platforms.linux;
49     maintainers = with lib.maintainers; [ thillux ];
50   };