Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / desktops / xfce / applications / catfish / default.nix
blob520835bf80d73d3efe0c436368b3c1ce5ba7dd53
1 { lib
2 , fetchFromGitLab
3 , gitUpdater
4 , file
5 , which
6 , intltool
7 , gobject-introspection
8 , findutils
9 , xdg-utils
10 , dconf
11 , gtk3
12 , python3Packages
13 , xfconf
14 , wrapGAppsHook3
17 python3Packages.buildPythonApplication rec {
18   pname = "catfish";
19   version = "4.18.0";
21   src = fetchFromGitLab {
22     domain = "gitlab.xfce.org";
23     owner = "apps";
24     repo = pname;
25     rev = "${pname}-${version}";
26     sha256 = "sha256-hfbIgSFn48++eGrJXzhXRxhWkrjgTYsr7BX/n0EXhGo=";
27   };
29   nativeBuildInputs = [
30     python3Packages.distutils-extra
31     file
32     which
33     intltool
34     gobject-introspection # for setup hook populating GI_TYPELIB_PATH
35     wrapGAppsHook3
36   ];
38   buildInputs = [
39     gtk3
40     dconf
41     python3Packages.pyxdg
42     python3Packages.ptyprocess
43     python3Packages.pycairo
44   ];
46   propagatedBuildInputs = [
47     python3Packages.dbus-python
48     python3Packages.pygobject3
49     python3Packages.pexpect
50     xdg-utils
51     findutils
52     xfconf
53   ];
55   # Explicitly set the prefix dir in "setup.py" because setuptools is
56   # not using "$out" as the prefix when installing catfish data. In
57   # particular the variable "__catfish_data_directory__" in
58   # "catfishconfig.py" is being set to a subdirectory in the python
59   # path in the store.
60   postPatch = ''
61     sed -i "/^        if self.root/i\\        self.prefix = \"$out\"" setup.py
62   '';
64   # Disable check because there is no test in the source distribution
65   doCheck = false;
67   dontWrapGApps = true;
69   preFixup = ''
70     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
71   '';
73   passthru.updateScript = gitUpdater { rev-prefix = "${pname}-"; };
75   meta = with lib; {
76     homepage = "https://docs.xfce.org/apps/catfish/start";
77     description = "Handy file search tool";
78     mainProgram = "catfish";
79     longDescription = ''
80       Catfish is a handy file searching tool. The interface is
81       intentionally lightweight and simple, using only GTK 3.
82       You can configure it to your needs by using several command line
83       options.
84     '';
85     license = licenses.gpl2Plus;
86     platforms = platforms.linux;
87     maintainers = with maintainers; [ ] ++ teams.xfce.members;
88   };