gaphor: 3.0.0 → 3.1.0; overhaul derivation builder (#418335)
This commit is contained in:
commit
409a0cae52
107
pkgs/by-name/ga/gaphor/package.nix
Normal file
107
pkgs/by-name/ga/gaphor/package.nix
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
glib,
|
||||||
|
gobject-introspection,
|
||||||
|
wrapGAppsHook4,
|
||||||
|
gtksourceview5,
|
||||||
|
libadwaita,
|
||||||
|
python3Packages,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "gaphor";
|
||||||
|
version = "3.1.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "gaphor";
|
||||||
|
repo = "gaphor";
|
||||||
|
tag = version;
|
||||||
|
hash = "sha256-0xivimpYM1gwOO2QrovYiJPNUfuGclr+F/WyHLNl+jw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"pydot"
|
||||||
|
"pygobject"
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
glib
|
||||||
|
gobject-introspection
|
||||||
|
wrapGAppsHook4
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gtksourceview5
|
||||||
|
libadwaita
|
||||||
|
];
|
||||||
|
|
||||||
|
build-system = [ python3Packages.poetry-core ];
|
||||||
|
|
||||||
|
dependencies = with python3Packages; [
|
||||||
|
babel
|
||||||
|
better-exceptions
|
||||||
|
defusedxml
|
||||||
|
dulwich
|
||||||
|
gaphas
|
||||||
|
generic
|
||||||
|
jedi
|
||||||
|
pillow
|
||||||
|
pycairo
|
||||||
|
pydot
|
||||||
|
pygobject3
|
||||||
|
tinycss2
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
install -Dm644 data/org.gaphor.Gaphor.appdata.xml -t $out/share/metainfo/
|
||||||
|
install -Dm644 data/org.gaphor.Gaphor.desktop -t $out/share/applications/
|
||||||
|
install -Dm644 data/org.gaphor.Gaphor.xml -t $out/share/mime/packages/
|
||||||
|
install -Dm644 data/logos/org.gaphor.Gaphor.svg -t $out/share/icons/hicolor/scalable/apps/
|
||||||
|
install -Dm644 data/logos/org.gaphor.Gaphor-symbolic.svg -t $out/share/icons/hicolor/symbolic/apps/
|
||||||
|
|
||||||
|
install -Dm644 data/logos/gaphor-24x24.png $out/share/icons/hicolor/24x24/apps/org.gaphor.Gaphor.png
|
||||||
|
install -Dm644 data/logos/gaphor-48x48.png $out/share/icons/hicolor/48x48/apps/org.gaphor.Gaphor.png
|
||||||
|
|
||||||
|
install -Dm644 gaphor/ui/installschemas/org.gaphor.Gaphor.gschema.xml -t $out/share/glib-2.0/schemas/
|
||||||
|
glib-compile-schemas $out/share/glib-2.0/schemas/
|
||||||
|
|
||||||
|
install -Dm644 data/org.gaphor.Gaphor.service -t $out/share/dbus-1/services/
|
||||||
|
substituteInPlace $out/share/dbus-1/services/org.gaphor.Gaphor.service \
|
||||||
|
--replace-fail "Exec=/usr/bin/gaphor" "Exec=$out/bin/gaphor"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Prevent double wrapping
|
||||||
|
dontWrapGApps = true;
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script { };
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "UML and SysML modeling tool";
|
||||||
|
longDescription = ''
|
||||||
|
Gaphor is a UML, SysML, RAAML, and C4 modeling application. It
|
||||||
|
is designed to be easy to use, while still being powerful.
|
||||||
|
Gaphor implements a fully-compliant UML 2 data model, so it is
|
||||||
|
much more than a picture drawing tool. You can use Gaphor to
|
||||||
|
quickly visualize different aspects of a system as well as
|
||||||
|
create complete, highly complex models.
|
||||||
|
|
||||||
|
Gaphor provides four modeling languages: UML, SysML, RAAML and C4 and
|
||||||
|
makes them accessible to beginners.
|
||||||
|
'';
|
||||||
|
homepage = "https://gaphor.org/";
|
||||||
|
changelog = "https://github.com/gaphor/gaphor/releases/tag/${version}";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
maintainers = with lib.maintainers; [ normalcea ];
|
||||||
|
teams = [ lib.teams.gnome-circle ];
|
||||||
|
mainProgram = "gaphor";
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,112 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
buildPythonApplication,
|
|
||||||
fetchPypi,
|
|
||||||
copyDesktopItems,
|
|
||||||
gobject-introspection,
|
|
||||||
poetry-core,
|
|
||||||
wrapGAppsHook4,
|
|
||||||
gtksourceview5,
|
|
||||||
libadwaita,
|
|
||||||
pango,
|
|
||||||
gaphas,
|
|
||||||
generic,
|
|
||||||
jedi,
|
|
||||||
pycairo,
|
|
||||||
pillow,
|
|
||||||
dulwich,
|
|
||||||
pydot,
|
|
||||||
defusedxml,
|
|
||||||
better-exceptions,
|
|
||||||
babel,
|
|
||||||
pygobject3,
|
|
||||||
tinycss2,
|
|
||||||
gtk4,
|
|
||||||
librsvg,
|
|
||||||
makeDesktopItem,
|
|
||||||
python,
|
|
||||||
nix-update-script,
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonApplication rec {
|
|
||||||
pname = "gaphor";
|
|
||||||
version = "3.0.0";
|
|
||||||
pyproject = true;
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
hash = "sha256-I5n0XeZLQw4qje6gwh2aMu5Zo5tuXgESHhkR0xegaYM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
pythonRelaxDeps = [
|
|
||||||
"defusedxml"
|
|
||||||
"gaphas"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
copyDesktopItems
|
|
||||||
gobject-introspection
|
|
||||||
wrapGAppsHook4
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
gtksourceview5
|
|
||||||
pango
|
|
||||||
libadwaita
|
|
||||||
];
|
|
||||||
|
|
||||||
build-system = [ poetry-core ];
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
babel
|
|
||||||
better-exceptions
|
|
||||||
defusedxml
|
|
||||||
dulwich
|
|
||||||
gaphas
|
|
||||||
generic
|
|
||||||
jedi
|
|
||||||
pillow
|
|
||||||
pycairo
|
|
||||||
pydot
|
|
||||||
pygobject3
|
|
||||||
tinycss2
|
|
||||||
];
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
name = pname;
|
|
||||||
exec = "gaphor";
|
|
||||||
icon = "gaphor";
|
|
||||||
comment = meta.description;
|
|
||||||
desktopName = "Gaphor";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# Disable automatic wrapGAppsHook4 to prevent double wrapping
|
|
||||||
dontWrapGApps = true;
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
install -Dm644 $out/${python.sitePackages}/gaphor/ui/icons/hicolor/scalable/apps/org.gaphor.Gaphor.svg $out/share/pixmaps/gaphor.svg
|
|
||||||
'';
|
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
makeWrapperArgs+=(
|
|
||||||
"''${gappsWrapperArgs[@]}" \
|
|
||||||
--prefix XDG_DATA_DIRS : "${gtk4}/share/gsettings-schemas/${gtk4.name}/" \
|
|
||||||
--set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
updateScript = nix-update-script { };
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Simple modeling tool written in Python";
|
|
||||||
homepage = "https://github.com/gaphor/gaphor";
|
|
||||||
changelog = "https://github.com/gaphor/gaphor/releases/tag/${version}";
|
|
||||||
license = lib.licenses.asl20;
|
|
||||||
teams = [ lib.teams.gnome-circle ];
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -3021,8 +3021,6 @@ with pkgs;
|
|||||||
|
|
||||||
gandi-cli = python3Packages.callPackage ../tools/networking/gandi-cli { };
|
gandi-cli = python3Packages.callPackage ../tools/networking/gandi-cli { };
|
||||||
|
|
||||||
gaphor = python3Packages.callPackage ../tools/misc/gaphor { };
|
|
||||||
|
|
||||||
inherit (callPackages ../tools/filesystems/garage { })
|
inherit (callPackages ../tools/filesystems/garage { })
|
||||||
garage
|
garage
|
||||||
garage_0_8
|
garage_0_8
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user