btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / pa / passes / package.nix
blob74d34f682b0d4298137a9d90a2c5290de3d8f05f
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , appstream-glib
5 , blueprint-compiler
6 , desktop-file-utils
7 , gettext
8 , gtk4
9 , libadwaita
10 , meson
11 , ninja
12 , pkg-config
13 , python3
14 , wrapGAppsHook4
15 , zint
18 stdenv.mkDerivation (finalAttrs: {
19   pname = "passes";
20   version = "0.9";
22   src = fetchFromGitHub {
23     owner = "pablo-s";
24     repo = "passes";
25     rev = "v${finalAttrs.version}";
26     hash = "sha256-RfoqIyqc9zwrWZ5RLhQl+6vTccbCTwtDcMlnWPCDOag=";
27   };
29   postPatch = ''
30     substituteInPlace src/model/meson.build \
31       --replace /app/lib ${zint}/lib
32     substituteInPlace src/view/window.blp \
33       --replace reveal_flap reveal-flap
34     substituteInPlace build-aux/meson/postinstall.py \
35       --replace gtk-update-icon-cache gtk4-update-icon-cache
36     patchShebangs build-aux/meson/postinstall.py
37   '';
39   strictDeps = true;
41   nativeBuildInputs = [
42     appstream-glib
43     blueprint-compiler
44     desktop-file-utils
45     gettext
46     meson
47     ninja
48     pkg-config
49     (python3.withPackages (pp: [pp.pygobject3]))
50     wrapGAppsHook4
51   ];
53   buildInputs = [
54     gtk4
55     libadwaita
56     zint
57   ];
59   meta = with lib; {
60     description = "Digital pass manager";
61     mainProgram = "passes";
62     homepage = "https://github.com/pablo-s/passes";
63     license = licenses.gpl3Plus;
64     maintainers = with maintainers; [ fgaz ];
65     platforms = platforms.all;
66     broken = stdenv.hostPlatform.isDarwin; # Crashes
67   };