Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / graphics / displaycal / default.nix
blobf54a1c10230159438501931fdf1a8fa1df26f232
1 { lib
2 , python3
3 , fetchPypi
4 , wrapGAppsHook
5 , gtk3
6 , librsvg
7 , xorg
8 , argyllcms
9 }:
11 python3.pkgs.buildPythonApplication rec {
12   pname = "displaycal";
13   version = "3.9.11";
14   format = "setuptools";
16   src = fetchPypi {
17     pname = "DisplayCAL";
18     inherit version;
19     hash = "sha256-zAZW2eMjwRYevlz8KEzTxzGO8vx5AydfY3vGTapNo1c=";
20   };
22   nativeBuildInputs = [
23     wrapGAppsHook
24     gtk3
25   ];
27   propagatedBuildInputs = with python3.pkgs; [
28     build
29     certifi
30     wxPython_4_2
31     dbus-python
32     distro
33     numpy
34     pillow
35     pychromecast
36     send2trash
37     zeroconf
38   ];
40   buildInputs = [
41     gtk3
42     librsvg
43   ] ++ (with xorg; [
44     libX11
45     libXxf86vm
46     libXext
47     libXinerama
48     libXrandr
49   ]);
51   # Workaround for eoyilmaz/displaycal-py3#261
52   setupPyGlobalFlags = [ "appdata" ];
54   doCheck = false; # Tests try to access an X11 session and dbus in weird locations.
56   pythonImportsCheck = [ "DisplayCAL" ];
58   dontWrapGApps = true;
60   preFixup = ''
61     makeWrapperArgs+=(
62       ''${gappsWrapperArgs[@]}
63       --prefix PATH : ${lib.makeBinPath [ argyllcms ]}
64       --prefix PYTHONPATH : $PYTHONPATH
65     )
66   '';
68   meta = with lib; {
69     description = "Display calibration and characterization powered by Argyll CMS (Migrated to Python 3)";
70     homepage = "https://github.com/eoyilmaz/displaycal-py3";
71     license = licenses.gpl3Plus;
72     platforms = platforms.linux;
73     maintainers = with maintainers; [ toastal ];
74   };