xfce.xfce4-panel-profiles: Fix missing typelib

Use setupHook to set up the proper GI_TYPELIB_PATH.
This commit is contained in:
Bobby Rong 2024-05-07 21:04:19 +08:00
parent 25865a40d1
commit e208ce1f40
No known key found for this signature in database

View File

@ -1,31 +1,63 @@
{ mkXfceDerivation, lib, python3, intltool, gettext, { stdenv
gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }: , lib
, fetchFromGitLab
, gettext
, gobject-introspection
, intltool
, wrapGAppsHook3
, glib
, gtk3
, libxfce4ui
, python3
, gitUpdater
}:
let let
pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ps.psutil ]); pythonEnv = python3.withPackages (ps: [
makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0"; ps.pygobject3
in mkXfceDerivation { ps.psutil
category = "apps"; ]);
in
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-panel-profiles"; pname = "xfce4-panel-profiles";
version = "1.0.14"; version = "1.0.14";
sha256 = "sha256-mGA70t2U4mqEbcrj/DDsPl++EKWyZ8YXzKzzVOrH5h8="; src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-panel-profiles";
rev = "xfce4-panel-profiles-${finalAttrs.version}";
sha256 = "sha256-mGA70t2U4mqEbcrj/DDsPl++EKWyZ8YXzKzzVOrH5h8=";
};
nativeBuildInputs = [ intltool gettext ]; nativeBuildInputs = [
propagatedBuildInputs = [ pythonEnv ]; gettext
gobject-introspection
intltool
wrapGAppsHook3
];
buildInputs = [
glib
gtk3
libxfce4ui
pythonEnv
];
configurePhase = '' configurePhase = ''
runHook preConfigure
# This is just a handcrafted script and does not accept additional arguments.
./configure --prefix=$out ./configure --prefix=$out
runHook postConfigure
''; '';
postFixup = '' passthru.updateScript = gitUpdater { rev-prefix = "xfce4-panel-profiles-"; };
wrapProgram $out/bin/xfce4-panel-profiles \
--set GI_TYPELIB_PATH ${makeTypelibPath [ gtk3 libxfce4ui libxfce4util pango harfbuzz gdk-pixbuf atk ]}
'';
meta = with lib; { meta = with lib; {
homepage = "https://docs.xfce.org/apps/xfce4-panel-profiles/start";
description = "Simple application to manage Xfce panel layouts"; description = "Simple application to manage Xfce panel layouts";
mainProgram = "xfce4-panel-profiles"; mainProgram = "xfce4-panel-profiles";
maintainers = with maintainers; [ ] ++ teams.xfce.members; maintainers = with maintainers; [ ] ++ teams.xfce.members;
platforms = platforms.linux;
}; };
} })