about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/X11/xborders/default.nix57
-rw-r--r--pkgs/tools/X11/xborders/setup.py12
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 71 insertions, 0 deletions
diff --git a/pkgs/tools/X11/xborders/default.nix b/pkgs/tools/X11/xborders/default.nix
new file mode 100644
index 0000000000000..f9e78034c3c04
--- /dev/null
+++ b/pkgs/tools/X11/xborders/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, libwnck
+, gtk3
+, libnotify
+, wrapGAppsHook
+, gobject-introspection
+, substituteAll
+}:
+
+python3Packages.buildPythonPackage rec {
+  pname = "xborders";
+  version = "3.4"; # in version.txt
+
+  src = fetchFromGitHub {
+    owner = "deter0";
+    repo = "xborder";
+    rev = "e74ae532b9555c59d195537934fa355b3fea73c5";
+    hash = "sha256-UKsseNkXest6npPqJKvKL0iBWeK+S7zynrDlyXIOmF4=";
+  };
+
+  buildInputs = [
+    libwnck
+    gtk3
+    libnotify
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pycairo
+    requests
+    pygobject3
+  ];
+
+  postPatch = let
+    setup = substituteAll {
+      src = ./setup.py;
+      desc = meta.description; # "description" is reserved
+      inherit pname version;
+    };
+  in ''
+    ln -s ${setup} setup.py
+  '';
+
+  meta = with lib; {
+    description = "Active window border replacement for window managers";
+    homepage = "https://github.com/deter0/xborder";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ elnudev ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/X11/xborders/setup.py b/pkgs/tools/X11/xborders/setup.py
new file mode 100644
index 0000000000000..a002625fa064d
--- /dev/null
+++ b/pkgs/tools/X11/xborders/setup.py
@@ -0,0 +1,12 @@
+from setuptools import setup
+
+setup(
+    name='@pname@',
+    version='@version@',
+    author='deter0',
+    description='@desc@',
+    install_requires=['pycairo', 'requests', 'PyGObject'],
+    scripts=[
+        'xborders',
+    ],
+)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8cf9529101633..3265364045001 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -33956,6 +33956,8 @@ with pkgs;
     gtk = gtk2;
   };
 
+  xborders = callPackage ../tools/X11/xborders { };
+
   xxh = callPackage ../tools/networking/xxh { };
 
   kodiPackages = recurseIntoAttrs (kodi.packages);