python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / misc / gaphor / default.nix
blob95d9f911273cf4dd43a858023c53c3a2bd6205df
1 { lib
2 , buildPythonApplication
3 , fetchPypi
4 , copyDesktopItems
5 , gobject-introspection
6 , poetry-core
7 , wrapGAppsHook
8 , gtksourceview4
9 , pango
10 , gaphas
11 , generic
12 , jedi
13 , pycairo
14 , pygobject3
15 , tinycss2
16 , gtk3
17 , librsvg
18 , makeDesktopItem
19 , python
22 buildPythonApplication rec {
23   pname = "gaphor";
24   version = "2.8.2";
26   format = "pyproject";
28   src = fetchPypi {
29     inherit pname version;
30     sha256 = "sha256-+qqsSLjdY2I19fxdfkOEQ9DhTTHccUDll4O5yqtLiz0=";
31   };
33   nativeBuildInputs = [
34     copyDesktopItems
35     gobject-introspection
36     poetry-core
37     wrapGAppsHook
38   ];
40   # Setting gobject-introspection on booth nativeBuildInputs and
41   # buildInputs because of #56943. This recognizes pango, avoiding
42   # a "ValueError: Namespace PangoCairo not available".
43   buildInputs = [
44     gobject-introspection
45     gtksourceview4
46     pango
47   ];
49   propagatedBuildInputs = [
50     gaphas
51     generic
52     jedi
53     pycairo
54     pygobject3
55     tinycss2
56   ];
58   desktopItems = makeDesktopItem {
59     name = pname;
60     exec = "gaphor";
61     icon = "gaphor";
62     comment = meta.description;
63     desktopName = "Gaphor";
64   };
66   # We need to wrap it manually to resolve all icons
67   dontWrapGApps = true;
69   postInstall = ''
70     install -Dm644 $out/${python.sitePackages}/gaphor/ui/icons/hicolor/scalable/apps/org.gaphor.Gaphor.svg $out/share/pixmaps/gaphor.svg
71   '';
73   preFixup = ''
74     wrapProgram $out/bin/gaphor \
75         ''${gappsWrapperArgs[@]} \
76         --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
77         --set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
78   '';
80   meta = with lib; {
81     description = "Simple modeling tool written in Python";
82     maintainers = with maintainers; [ wolfangaukang ];
83     homepage = "https://github.com/gaphor/gaphor";
84     license = licenses.asl20;
85     platforms = [ "x86_64-linux" ];
86   };