about summary refs log tree commit diff
path: root/pkgs/applications/misc/dockbarx
diff options
context:
space:
mode:
authorJosé Romildo Malaquias <malaquias@gmail.com>2021-05-01 15:47:38 -0300
committerJosé Romildo <malaquias@gmail.com>2021-05-27 09:56:25 -0300
commitb945329a0cc3e24f010ede6376498fc5ddcfc53d (patch)
treeea7246bf1957b7a4610198764385e30a1fb8bb82 /pkgs/applications/misc/dockbarx
parent0c75a43d6260072d79f80bc2f81357b97046e13b (diff)
dockbarx: 0.93 -> 1.0-beta-d98020e
- Switch to a fork from xuzhen (which is maintained), the same used in AUR
- Update to the latest revision from the repository, which supports
  gtk3 and python3
- Review dependences and wrapping
- Replace maintainers
Diffstat (limited to 'pkgs/applications/misc/dockbarx')
-rw-r--r--pkgs/applications/misc/dockbarx/default.nix95
1 files changed, 69 insertions, 26 deletions
diff --git a/pkgs/applications/misc/dockbarx/default.nix b/pkgs/applications/misc/dockbarx/default.nix
index 5bc8de522decf..cac6c363c3237 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
+  ];
+
+  buildInputs = [
+    gobject-introspection
+    gtk3
+    libwnck3
+    keybinder3
+  ];
 
-  propagatedBuildInputs = (with python2Packages; [ pygtk pyxdg dbus-python pillow xlib ])
-    ++ (with gnome2; [ gnome_python gnome_python_desktop ])
-    ++ [ keybinder ];
+  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 ];
   };
 }