parent
1379cbe985
commit
4e42a187c3
@ -0,0 +1,96 @@ |
||||
{ stdenv |
||||
, lib |
||||
, fetchFromGitLab |
||||
, python3 |
||||
, meson |
||||
, ninja |
||||
, pkg-config |
||||
, gobject-introspection |
||||
, desktop-file-utils |
||||
, shared-mime-info |
||||
, wrapGAppsHook |
||||
, glib |
||||
, gtk3 |
||||
, gtk4 |
||||
, webkitgtk |
||||
, nix-update-script |
||||
}: |
||||
|
||||
python3.pkgs.buildPythonApplication rec { |
||||
pname = "cambalache"; |
||||
version = "0.8.2"; |
||||
|
||||
format = "other"; |
||||
|
||||
src = fetchFromGitLab { |
||||
domain = "gitlab.gnome.org"; |
||||
owner = "jpu"; |
||||
repo = pname; |
||||
rev = version; |
||||
sha256 = "sha256-1+IoBoaNHwvN8W+KRyV5cTFkFG+pTHJBehQ2VosCEfs="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ |
||||
meson |
||||
ninja |
||||
pkg-config |
||||
gobject-introspection # for setup hook |
||||
desktop-file-utils # for update-desktop-database |
||||
shared-mime-info # for update-mime-database |
||||
wrapGAppsHook |
||||
]; |
||||
|
||||
pythonPath = with python3.pkgs; [ |
||||
pygobject3 |
||||
lxml |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
glib |
||||
gtk3 |
||||
gtk4 |
||||
webkitgtk |
||||
]; |
||||
|
||||
# Not compatible with gobject-introspection setup hooks. |
||||
# https://github.com/NixOS/nixpkgs/issues/56943 |
||||
strictDeps = false; |
||||
|
||||
# Prevent double wrapping. |
||||
dontWrapGApps = true; |
||||
|
||||
postPatch = '' |
||||
patchShebangs postinstall.py |
||||
''; |
||||
|
||||
preFixup = '' |
||||
# Let python wrapper use GNOME flags. |
||||
makeWrapperArgs+=( |
||||
# For broadway daemons |
||||
--prefix PATH : "${lib.makeBinPath [ gtk3 gtk4 ]}" |
||||
"''${gappsWrapperArgs[@]}" |
||||
) |
||||
''; |
||||
|
||||
postFixup = '' |
||||
# Wrap a helper script in an unusual location. |
||||
wrapPythonProgramsIn "$out/${python3.sitePackages}/cambalache/priv/merengue" "$out $pythonPath" |
||||
''; |
||||
|
||||
passthru = { |
||||
updateScript = nix-update-script { |
||||
attrPath = pname; |
||||
}; |
||||
}; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://gitlab.gnome.org/jpu/cambalache"; |
||||
description = "RAD tool for GTK 4 and 3 with data model first philosophy"; |
||||
maintainers = teams.gnome.members; |
||||
license = with licenses; [ |
||||
lgpl21Only # Cambalache |
||||
gpl2Only # tools |
||||
]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
Loading…
Reference in new issue