1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 python,
6 meson,
7 ninja,
8 psutil,
9 pygobject3,
10 gtk3,
11 gobject-introspection,
12 xapp,
13 polkit,
14 gitUpdater,
15}:
16
17buildPythonPackage rec {
18 pname = "xapp";
19 version = "22";
20
21 format = "other";
22
23 src = fetchFromGitHub {
24 owner = "linuxmint";
25 repo = "python-xapp";
26 rev = "refs/tags/master.mint${version}";
27 hash = "sha256-2Gx85y0ARu6EfDYAT9ZL154RH0R1HY78tm3rceODnZU=";
28 };
29
30 nativeBuildInputs = [
31 meson
32 ninja
33 ];
34
35 propagatedBuildInputs = [
36 psutil
37 pygobject3
38 gtk3
39 gobject-introspection
40 xapp
41 polkit
42 ];
43
44 postPatch = ''
45 substituteInPlace "xapp/os.py" --replace "/usr/bin/pkexec" "${polkit}/bin/pkexec"
46 '';
47
48 postInstall = ''
49 # This is typically set by pipInstallHook/eggInstallHook,
50 # so we have to do so manually when using meson.
51 # https://github.com/NixOS/nixpkgs/issues/175227
52 export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
53 '';
54
55 doCheck = false;
56 pythonImportsCheck = [ "xapp" ];
57
58 passthru.updateScript = gitUpdater { ignoredVersions = "^master.*"; };
59
60 meta = with lib; {
61 homepage = "https://github.com/linuxmint/python-xapp";
62 description = "Cross-desktop libraries and common resources for python";
63 license = licenses.lgpl2;
64 platforms = platforms.linux;
65 maintainers = teams.cinnamon.members;
66 };
67}