Change:
Describe the bug xfce-dockbarx plugin fails to work due to missing library 'gi'; it shows nothing insdide the xfce panel. To Reproduce Steps to reproduce the behavior: xfce installed xfce.xfce4-dockbarx-plugin and dockbarx installed add dockbarx to the panel of XFCE the xfce panel 4-panel to show the error Expected behavior dockbarx shows up on the menu, with no errors in the terminal, with a taskbar in the panel Additional context Terminal output: Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(james): nixpkgs: Maintainer information:
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

Discussion:
<del> { lib, fetchFromGitHub, python2Packages, gnome2, keybinder }: </del> <ins> { lib , fetchFromGitHub , glib , gobject-introspection , gtk3 , keybinder3 , libwnck3 , python3Packages , wrapGAppsHook }: </ins> <del> python2Packages.buildPythonApplication rec { ver = "0.93"; name = "dockbarx-${ver}"; </del> <ins> python3Packages.buildPythonApplication rec { pname = "dockbarx"; version = "${ver}-${rev}"; ver = "1.0-beta"; rev = "d98020ec49f3e3a5692ab2adbb145bbe5a1e80fe"; </ins> src = fetchFromGitHub { <del> owner = "M7S"; </del> <ins> owner = "xuzhen"; </ins> repo = "dockbarx"; <del> rev = ver; sha256 = "1h1g2vag5vnx87sa1f0qi8rq7wlr2ymvkrdr08kk7cma4wk0x6hg"; </del> <ins> rev = rev; sha256 = "0xwqxh5mr2bi0sk54b848705awp0lfpd91am551811j2bdkbs04m"; </ins> }; <del> postPatch = '' substituteInPlace setup.py                                --replace /usr/                   "" substituteInPlace setup.py                                --replace '"/", "usr", "share",'  '"share",' substituteInPlace dockbarx/applets.py                     --replace /usr/share/             $out/share/ substituteInPlace dockbarx/dockbar.py                     --replace /usr/share/             $out/share/ substituteInPlace dockbarx/iconfactory.py                 --replace /usr/share/             $out/share/ substituteInPlace dockbarx/theme.py                       --replace /usr/share/             $out/share/ substituteInPlace dockx_applets/battery_status.py         --replace /usr/share/             $out/share/ substituteInPlace dockx_applets/namebar.py                --replace /usr/share/             $out/share/ substituteInPlace dockx_applets/namebar_window_buttons.py --replace /usr/share/             $out/share/ substituteInPlace dockx_applets/volume-control.py         --replace /usr/share/             $out/share/ ''; </del> <ins> nativeBuildInputs = [ glib.dev python3Packages.polib wrapGAppsHook ]; buildInputs = [ gobject-introspection gtk3 libwnck3 keybinder3 ]; </ins> <del> propagatedBuildInputs = (with python2Packages; [ pygtk pyxdg dbus-python pillow xlib ]) ++ (with gnome2; [ gnome_python gnome_python_desktop ]) ++ [ keybinder ]; </del> <ins> propagatedBuildInputs = with python3Packages; [ dbus-python pillow pygobject3 pyxdg xlib ]; </ins> # no tests doCheck = false; <ins> dontWrapGApps = true; postPatch = '' substituteInPlace setup.py  --replace /usr/ ""  --replace '"/", "usr", "share",' '"share",' for f in  dbx_preference  dockbarx/applets.py  dockbarx/dockbar.py  dockbarx/iconfactory.py  dockbarx/theme.py  mate_panel_applet/dockbarx_mate_applet do substituteInPlace $f --replace /usr/share/ $out/share/ done ''; postInstall = '' glib-compile-schemas $out/share/glib-2.0/schemas ''; # Arguments to be passed to `makeWrapper`, only used by buildPython* preFixup = '' makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; </ins> meta = with lib; { <del> homepage = "https://launchpad.net/dockbar/"; description = "Lightweight taskbar / panel replacement for Linux which works as a stand-alone dock"; license = licenses.gpl3; </del> <ins> homepage = "https://github.com/xuzhen/dockbarx"; description = "Lightweight taskbar/panel replacement which works as a stand-alone dock"; license = licenses.gpl3Only; </ins> platforms = platforms.linux; <del> maintainers = [ maintainers.volth ]; </del> <ins> maintainers = [ maintainers.romildo ]; </ins> }; }

<del> { lib, stdenv, pkg-config, fetchFromGitHub, python3, bash, vala_0_48 , dockbarx, gtk2, xfce, pythonPackages, wafHook }: </del> <ins> { lib , stdenv , fetchFromGitHub , bash , dockbarx , gobject-introspection , keybinder3 , pkg-config , python3Packages , vala_0_48 , wafHook , wrapGAppsHook , xfce }: </ins> stdenv.mkDerivation rec { pname = "xfce4-dockbarx-plugin"; version = "${ver}-${rev}"; ver = "0.6"; <del> rev = "5213876"; </del> <ins> rev = "5213876151f1836f044e9902a22d1e682144c1e0"; </ins> src = fetchFromGitHub { owner = "xuzhen";

sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn"; }; <del> pythonPath = [ dockbarx ]; </del> <ins> pythonPath = [ dockbarx python3Packages.pygobject3 ]; </ins> <del> nativeBuildInputs = [ pkg-config wafHook ]; buildInputs = [ python3 vala_0_48 gtk2 pythonPackages.wrapPython ] ++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ]) ++ pythonPath; </del> <ins> nativeBuildInputs = [ gobject-introspection pkg-config python3Packages.wrapPython vala_0_48 wafHook wrapGAppsHook ]; buildInputs = [ keybinder3 python3Packages.python xfce.xfce4-panel xfce.xfconf ] ++ pythonPath; </ins> postPatch = '' substituteInPlace wscript           --replace /usr/share/            "''${PREFIX}/share/"

''; postFixup = '' <ins> makeWrapperArgs+=("''${gappsWrapperArgs[@]}") </ins> wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath" ''; meta = with lib; { homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin"; <del> description = "A plugins to embed DockbarX into xfce4-panel"; </del> <ins> description = "Plugins to embed DockbarX into xfce4-panel"; </ins> license = licenses.mit; platforms = platforms.linux; <del> maintainers = [ maintainers.volth ]; </del> <ins> maintainers = [ maintainers.romildo ]; </ins> }; }