biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / file-managers / portfolio-filemanager / default.nix
blob4c21e8cbe05745d912bf60c240c3e7e36980f8bc
1 { lib
2 , python3
3 , fetchFromGitHub
4 , appstream-glib
5 , desktop-file-utils
6 , gettext
7 , glib
8 , gobject-introspection
9 , gtk3
10 , gtk4
11 , libadwaita
12 , meson
13 , ninja
14 , pkg-config
15 , wrapGAppsHook4
16 , nix-update-script
19 python3.pkgs.buildPythonApplication rec {
20   pname = "portfolio";
21   version = "1.0.1";
23   format = "other";
25   src = fetchFromGitHub {
26     owner = "tchx84";
27     repo = "Portfolio";
28     rev = "v${version}";
29     hash = "sha256-IbzAkHlD6duXkPJRSyD9HJ/JHP8+IR7vIGFp2ESbBug=";
30   };
32   postPatch = ''
33     patchShebangs build-aux/meson
34   '';
36   nativeBuildInputs = [
37     appstream-glib
38     desktop-file-utils
39     gettext
40     gobject-introspection
41     gtk3 # For gtk-update-icon-cache
42     meson
43     ninja
44     pkg-config
45     wrapGAppsHook4
46   ];
48   buildInputs = [
49     gtk4
50     libadwaita
51   ];
53   propagatedBuildInputs = with python3.pkgs; [
54     pygobject3
55   ];
57   checkPhase = ''
58     meson test
59   '';
61   postInstall = ''
62     ln -s dev.tchx84.Portfolio "$out/bin/portfolio"
63   '';
65   # Prevent double wrapping
66   dontWrapGApps = true;
67   preFixup = ''
68     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
69   '';
71   passthru = {
72     updateScript = nix-update-script { };
73   };
75   meta = with lib; {
76     description = "A minimalist file manager for those who want to use Linux mobile devices";
77     homepage = "https://github.com/tchx84/Portfolio";
78     changelog = "https://github.com/tchx84/Portfolio/blob/v${version}/CHANGELOG.md";
79     license = licenses.gpl3Plus;
80     platforms = platforms.linux;
81     mainProgram = "dev.tchx84.Portfolio";
82     maintainers = with maintainers; [ dotlambda chuangzhu ];
83   };