diff --git a/pkgs/applications/misc/dockbarx/default.nix b/pkgs/applications/misc/dockbarx/default.nix index 5bc8de522de..cac6c363c32 100644 --- a/pkgs/applications/misc/dockbarx/default.nix +++ b/pkgs/applications/misc/dockbarx/default.nix @@ -1,41 +1,84 @@ -{ lib, fetchFromGitHub, python2Packages, gnome2, keybinder }: +{ lib +, fetchFromGitHub +, glib +, gobject-introspection +, gtk3 +, keybinder3 +, libwnck3 +, python3Packages +, wrapGAppsHook +}: -python2Packages.buildPythonApplication rec { - ver = "0.93"; - name = "dockbarx-${ver}"; +python3Packages.buildPythonApplication rec { + pname = "dockbarx"; + version = "${ver}-${rev}"; + ver = "1.0-beta"; + rev = "d98020ec49f3e3a5692ab2adbb145bbe5a1e80fe"; src = fetchFromGitHub { - owner = "M7S"; + owner = "xuzhen"; repo = "dockbarx"; - rev = ver; - sha256 = "1h1g2vag5vnx87sa1f0qi8rq7wlr2ymvkrdr08kk7cma4wk0x6hg"; + rev = rev; + sha256 = "0xwqxh5mr2bi0sk54b848705awp0lfpd91am551811j2bdkbs04m"; }; - 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/ - ''; + nativeBuildInputs = [ + glib.dev + python3Packages.polib + wrapGAppsHook + ]; - propagatedBuildInputs = (with python2Packages; [ pygtk pyxdg dbus-python pillow xlib ]) - ++ (with gnome2; [ gnome_python gnome_python_desktop ]) - ++ [ keybinder ]; + buildInputs = [ + gobject-introspection + gtk3 + libwnck3 + keybinder3 + ]; + + propagatedBuildInputs = with python3Packages; [ + dbus-python + pillow + pygobject3 + pyxdg + xlib + ]; # no tests doCheck = false; + 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[@]}") + ''; + meta = with lib; { - homepage = "https://launchpad.net/dockbar/"; - description = "Lightweight taskbar / panel replacement for Linux which works as a stand-alone dock"; - license = licenses.gpl3; + homepage = "https://github.com/xuzhen/dockbarx"; + description = "Lightweight taskbar/panel replacement which works as a stand-alone dock"; + license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = [ maintainers.volth ]; + maintainers = [ maintainers.romildo ]; }; } diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix index 2c83abe6575..9224a22e53b 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix @@ -1,11 +1,23 @@ -{ lib, stdenv, pkg-config, fetchFromGitHub, python3, bash, vala_0_48 -, dockbarx, gtk2, xfce, pythonPackages, wafHook }: +{ lib +, stdenv +, fetchFromGitHub +, bash +, dockbarx +, gobject-introspection +, keybinder3 +, pkg-config +, python3Packages +, vala_0_48 +, wafHook +, wrapGAppsHook +, xfce +}: stdenv.mkDerivation rec { pname = "xfce4-dockbarx-plugin"; version = "${ver}-${rev}"; ver = "0.6"; - rev = "5213876"; + rev = "5213876151f1836f044e9902a22d1e682144c1e0"; src = fetchFromGitHub { owner = "xuzhen"; @@ -14,12 +26,27 @@ stdenv.mkDerivation rec { sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn"; }; - pythonPath = [ dockbarx ]; + pythonPath = [ + dockbarx + python3Packages.pygobject3 + ]; - nativeBuildInputs = [ pkg-config wafHook ]; - buildInputs = [ python3 vala_0_48 gtk2 pythonPackages.wrapPython ] - ++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ]) - ++ pythonPath; + nativeBuildInputs = [ + gobject-introspection + pkg-config + python3Packages.wrapPython + vala_0_48 + wafHook + wrapGAppsHook + ]; + + buildInputs = [ + keybinder3 + python3Packages.python + xfce.xfce4-panel + xfce.xfconf + ] + ++ pythonPath; postPatch = '' substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/" @@ -28,14 +55,15 @@ stdenv.mkDerivation rec { ''; postFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath" ''; meta = with lib; { homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin"; - description = "A plugins to embed DockbarX into xfce4-panel"; + description = "Plugins to embed DockbarX into xfce4-panel"; license = licenses.mit; platforms = platforms.linux; - maintainers = [ maintainers.volth ]; + maintainers = [ maintainers.romildo ]; }; }