nixpkgs/pkgs/tools/misc/gaphor/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

103 lines
1.8 KiB
Nix
Raw Normal View History

2021-11-12 15:24:28 +00:00
{ lib
, buildPythonApplication
, fetchPypi
2022-02-25 16:29:16 +00:00
, copyDesktopItems
2021-11-12 15:24:28 +00:00
, gobject-introspection
2022-02-25 16:29:16 +00:00
, poetry-core
2024-08-18 15:03:37 +00:00
, wrapGAppsHook4
, gtksourceview5
, libadwaita
2022-02-25 16:29:16 +00:00
, pango
2021-11-12 15:24:28 +00:00
, gaphas
, generic
2022-02-25 16:29:16 +00:00
, jedi
2021-11-12 15:24:28 +00:00
, pycairo
2024-08-18 15:03:37 +00:00
, pillow
, dulwich
, pydot
, defusedxml
, better-exceptions
, babel
2021-11-12 15:24:28 +00:00
, pygobject3
, tinycss2
2024-08-18 15:03:37 +00:00
, gtk4
2022-02-25 16:29:16 +00:00
, librsvg
, makeDesktopItem
, python
2021-11-12 15:24:28 +00:00
}:
buildPythonApplication rec {
pname = "gaphor";
2024-08-18 15:03:37 +00:00
version = "2.26.0";
pyproject = true;
2021-11-12 15:24:28 +00:00
src = fetchPypi {
inherit pname version;
2024-08-18 15:03:37 +00:00
hash = "sha256-e0K5bfgPqlJh8qrAz40c/w3ANzkfa/6txuqzQDJYXfE=";
2021-11-12 15:24:28 +00:00
};
2024-08-18 15:03:37 +00:00
pythonRelaxDeps = [ "defusedxml" ];
2021-11-12 15:24:28 +00:00
nativeBuildInputs = [
2022-02-25 16:29:16 +00:00
copyDesktopItems
gobject-introspection
2024-08-18 15:03:37 +00:00
wrapGAppsHook4
2021-11-12 15:24:28 +00:00
];
2022-02-25 16:29:16 +00:00
buildInputs = [
2024-08-18 15:03:37 +00:00
gtksourceview5
2022-02-25 16:29:16 +00:00
pango
2024-08-18 15:03:37 +00:00
libadwaita
2022-02-25 16:29:16 +00:00
];
2021-11-12 15:24:28 +00:00
2024-08-18 15:03:37 +00:00
build-system = [ poetry-core ];
dependencies = [
2021-11-12 15:24:28 +00:00
pycairo
pygobject3
2024-08-18 15:03:37 +00:00
gaphas
generic
2021-11-12 15:24:28 +00:00
tinycss2
2024-08-18 15:03:37 +00:00
babel
jedi
better-exceptions
pydot
pillow
defusedxml
dulwich
2021-11-12 15:24:28 +00:00
];
2024-10-01 21:09:23 +00:00
desktopItems = [
(makeDesktopItem {
name = pname;
exec = "gaphor";
icon = "gaphor";
comment = meta.description;
desktopName = "Gaphor";
})
];
2021-11-12 15:24:28 +00:00
2024-08-18 15:03:37 +00:00
# Disable automatic wrapGAppsHook4 to prevent double wrapping
2022-02-25 16:29:16 +00:00
dontWrapGApps = true;
2021-11-12 15:24:28 +00:00
postInstall = ''
install -Dm644 $out/${python.sitePackages}/gaphor/ui/icons/hicolor/scalable/apps/org.gaphor.Gaphor.svg $out/share/pixmaps/gaphor.svg
'';
2022-02-25 16:29:16 +00:00
preFixup = ''
2023-08-21 03:28:04 +00:00
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}" \
2024-08-18 15:03:37 +00:00
--prefix XDG_DATA_DIRS : "${gtk4}/share/gsettings-schemas/${gtk4.name}/" \
2023-08-21 03:28:04 +00:00
--set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
)
2022-02-25 16:29:16 +00:00
'';
2021-11-12 15:24:28 +00:00
meta = with lib; {
description = "Simple modeling tool written in Python";
maintainers = [ ];
2021-11-12 15:24:28 +00:00
homepage = "https://github.com/gaphor/gaphor";
license = licenses.asl20;
2024-08-18 15:03:37 +00:00
platforms = lib.platforms.linux;
2021-11-12 15:24:28 +00:00
};
}