about summary refs log tree commit diff
path: root/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorKamil Chmielewski <kamil.chm@gmail.com>2015-07-28 22:52:03 +0200
committerKamil Chmielewski <kamil.chm@gmail.com>2015-07-28 22:55:32 +0200
commite610f27c43cce143db7e42e4dc0591b4a5636f19 (patch)
tree8e93ef558100e622e71e07e36ac40f28585186ec /pkgs/applications/window-managers
parent67757f52b18c70d84b871669633c7b204bce2e24 (diff)
downloadnixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.tar
nixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.tar.gz
nixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.tar.bz2
nixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.tar.lz
nixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.tar.xz
nixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.tar.zst
nixlib-e610f27c43cce143db7e42e4dc0591b4a5636f19.zip
qtile: init at 0.10.1
Diffstat (limited to 'pkgs/applications/window-managers')
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix47
-rw-r--r--pkgs/applications/window-managers/qtile/restart_executable.patch12
2 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
new file mode 100644
index 000000000000..39d942362be1
--- /dev/null
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, python27Packages, pkgs }:
+
+buildPythonPackage rec {
+  name = "qtile-${version}";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "qtile";
+    repo = "qtile";
+    rev = "v${version}";
+    sha256 = "1g02lvk2cqy6w6y6nw6dnsmy4i9k4fyawyibpkf0a7a1nfrd6a99";
+  };
+
+  patches = [ ./restart_executable.patch ];
+
+  postPatch = ''
+    substituteInPlace libqtile/manager.py --subst-var-by out $out
+  '';
+
+  buildInputs = [ pkgs.pkgconfig pkgs.glib pkgs.xlibs.libxcb pkgs.cairo pkgs.pango python27Packages.xcffib ];
+
+  cairocffi-xcffib = python27Packages.cairocffi.override {
+    LD_LIBRARY_PATH = "${pkgs.xlibs.libxcb}/lib:${pkgs.cairo}/lib";
+    pythonPath = [ python27Packages.xcffib ];
+  };
+
+  pythonPath = with python27Packages; [ xcffib cairocffi-xcffib trollius readline ];
+
+  LD_LIBRARY_PATH = "${pkgs.xlibs.libxcb}/lib:${pkgs.cairo}/lib";
+
+  postInstall = ''
+    wrapProgram $out/bin/qtile \
+      --prefix LD_LIBRARY_PATH : ${pkgs.xlibs.libxcb}/lib \
+      --prefix LD_LIBRARY_PATH : ${pkgs.glib}/lib \
+      --prefix LD_LIBRARY_PATH : ${pkgs.cairo}/lib \
+      --prefix LD_LIBRARY_PATH : ${pkgs.pango}/lib
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.qtile.org/;
+    license = licenses.mit;
+    description = "A small, flexible, scriptable tiling window manager written in Python";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kamilchm ];
+  };
+}
+
diff --git a/pkgs/applications/window-managers/qtile/restart_executable.patch b/pkgs/applications/window-managers/qtile/restart_executable.patch
new file mode 100644
index 000000000000..a1e74a575d9e
--- /dev/null
+++ b/pkgs/applications/window-managers/qtile/restart_executable.patch
@@ -0,0 +1,12 @@
+diff -ruP a/libqtile/manager.py b/libqtile/manager.py
+--- a/libqtile/manager.py	2015-07-26 21:26:16.947976520 +0200
++++ b/libqtile/manager.py	2015-07-26 21:37:45.581316712 +0200
+@@ -1262,7 +1262,7 @@
+         argv = [s for s in argv if not s.startswith('--with-state')]
+         argv.append('--with-state=' + buf.getvalue().decode())
+ 
+-        self.cmd_execute(sys.executable, argv)
++        self.cmd_execute("@out@/bin/qtile", argv[1:])
+ 
+     def cmd_spawn(self, cmd):
+         """