From 571e9b293d215c5696095751dcd75e99d6fd2613 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 18 Oct 2021 12:48:33 -0500 Subject: gnu: Add qtile. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (qtile): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'gnu/packages/wm.scm') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 3bf3c47cff..4740d26024 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -83,6 +83,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages build-tools) ;for meson-0.55 #:use-module (gnu packages calendar) + #:use-module (gnu packages check) #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) @@ -101,6 +102,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages libevent) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages lisp-check) #:use-module (gnu packages lisp-xyz) @@ -116,12 +118,15 @@ #:use-module (gnu packages pretty-print) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages suckless) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) + #:use-module (gnu packages time) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) @@ -543,6 +548,60 @@ subscribe to events.") (define-public python2-i3-py (package-with-python2 python-i3-py)) +(define-public qtile + (package + (name "qtile") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "qtile" version)) + (sha256 + (base32 "14hb26xkza7brvkd4276j60mxd3zsas72ih6y0cq3j060izm1865")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Tests require Xvfb and writable temp/cache space + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "libqtile/pangocffi.py" + (("^gobject = ffi.dlopen.*") + (string-append "gobject = ffi.dlopen(\"" + (assoc-ref inputs "glib") "/lib/libgobject-2.0.so.0\")\n")) + (("^pango = ffi.dlopen.*") + (string-append "pango = ffi.dlopen(\"" + (assoc-ref inputs "pango") "/lib/libpango-1.0.so.0\")\n")) + (("^pangocairo = ffi.dlopen.*") + (string-append "pangocairo = ffi.dlopen(\"" + (assoc-ref inputs "pango") "/lib/libpangocairo-1.0.so.0\")\n")))))))) + (inputs + `(("glib" ,glib) + ("pango" ,pango) + ("pulseaudio" ,pulseaudio))) + (propagated-inputs + `(("python-cairocffi" ,python-cairocffi) + ("python-cffi" ,python-cffi) + ("python-dateutil" ,python-dateutil) + ("python-dbus-next" ,python-dbus-next) + ("python-iwlib" ,python-iwlib) + ("python-keyring" ,python-keyring) + ("python-mpd2" ,python-mpd2) + ("python-pyxdg" ,python-pyxdg) + ("python-xcffib" ,python-xcffib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-flake8" ,python-flake8) + ("python-pep8-naming" ,python-pep8-naming) + ("python-psutil" ,python-psutil) + ("python-pytest-cov" ,python-pytest-cov) + ("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "http://qtile.org") + (synopsis "Hackable tiling window manager written and configured in Python") + (description "Qtile is simple, small, and extensible. It's easy to write +your own layouts, widgets, and built-in commands.") + (license license:expat))) + (define-public quickswitch-i3 (let ((commit "ed692b1e8f43b95bd907ced26238ce8ccb2ed28f") (revision "1")) ; Guix package revision -- cgit 1.4.1