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 { };
|
||||
|
||||
gaphor = python3Packages.callPackage ../tools/misc/gaphor { };
|
||||
|
||||
inherit (callPackages ../tools/filesystems/garage { })
|
||||
garage
|
||||
garage_0_8
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user