about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/dockbarx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/dockbarx/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/dockbarx/default.nix84
1 files changed, 84 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/dockbarx/default.nix b/nixpkgs/pkgs/applications/misc/dockbarx/default.nix
new file mode 100644
index 000000000000..cac6c363c323
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/dockbarx/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, fetchFromGitHub
+, glib
+, gobject-introspection
+, gtk3
+, keybinder3
+, libwnck3
+, python3Packages
+, wrapGAppsHook
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "dockbarx";
+  version = "${ver}-${rev}";
+  ver = "1.0-beta";
+  rev = "d98020ec49f3e3a5692ab2adbb145bbe5a1e80fe";
+
+  src = fetchFromGitHub {
+    owner = "xuzhen";
+    repo = "dockbarx";
+    rev = rev;
+    sha256 = "0xwqxh5mr2bi0sk54b848705awp0lfpd91am551811j2bdkbs04m";
+  };
+
+  nativeBuildInputs = [
+    glib.dev
+    python3Packages.polib
+    wrapGAppsHook
+  ];
+
+  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://github.com/xuzhen/dockbarx";
+    description = "Lightweight taskbar/panel replacement which works as a stand-alone dock";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}