~ruther/guix-local

571e9b293d215c5696095751dcd75e99d6fd2613 — Stephen Paul Weber 4 years ago 5e21fc5
gnu: Add qtile.

* gnu/packages/wm.scm (qtile): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 59 insertions(+), 0 deletions(-)

M gnu/packages/wm.scm
M gnu/packages/wm.scm => gnu/packages/wm.scm +59 -0
@@ 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