From cfc9e96381edd973c8b7de8f2b489eb5c8fab82c Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Fri, 10 May 2024 00:53:11 +0200 Subject: gnu: qtile: Update to 0.23.0. * gnu/packages/wm.scm (qtile): Update to 0.23.0. [build-system]: Upgrade to pyproject-build-system. [arguments]<#:phases>: Use gexp (but do not indent). Add phase pre-check. <#:test-flags>: Use it. [native-inputs]: Add python-pytest and xorg-server-for-tests. Reorder. Change-Id: Id6f291c0d23fa2cef17d6e45552f45c56f162741 Signed-off-by: Nicolas Goaziou --- gnu/packages/wm.scm | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index c1293bd291..fd09f3dad1 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -64,7 +64,7 @@ ;;; Copyright © 2023 Gabriel Wicki ;;; Copyright © 2023 Jonathan Brielamier ;;; Copyright © 2023 Vessel Wave -;;; Copyright © 2023 Nicolas Graves +;;; Copyright © 2023, 2024 Nicolas Graves ;;; Copyright © 2023, 2024 Jaeme Sifat ;;; Copyright © 2023 Josselin Poiret ;;; Copyright © 2024 Timotej Lazar @@ -107,6 +107,7 @@ #:use-module (guix build-system haskell) #:use-module (guix build-system meson) #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix utils) @@ -680,19 +681,22 @@ subscribe to events.") (define-public qtile (package (name "qtile") - (version "0.18.1") + (version "0.23.0") (source (origin (method url-fetch) (uri (pypi-uri "qtile" version)) (sha256 - (base32 "14hb26xkza7brvkd4276j60mxd3zsas72ih6y0cq3j060izm1865")))) - (build-system python-build-system) + (base32 "1v8rxm2xg2igxv6gwa78wrkxzgfxmxfgflbjdp4fm7cxjdx3zrpa")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #f ; Tests require Xvfb and writable temp/cache space - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-paths + (list + ;; A lot of tests fail despite Xvfb and writable temp/cache space. + #:tests? #f + #:test-flags '("--ignore=test/widgets/test_widget_init_configure.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "libqtile/pangocffi.py" (("^gobject = ffi.dlopen.*") @@ -712,7 +716,14 @@ subscribe to events.") (mkdir-p xsessions) (copy-file "resources/qtile.desktop" (string-append xsessions "/qtile.desktop")) (substitute* (string-append xsessions "/qtile.desktop") - (("qtile start") qtile)))))))) + (("qtile start") qtile))))) + (add-before 'check 'pre-check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (setenv "XDG_CACHE_HOME" "/tmp"))))))) (inputs (list glib pango pulseaudio)) (propagated-inputs @@ -729,9 +740,11 @@ subscribe to events.") (list pkg-config python-flake8 python-pep8-naming - python-psutil + python-pytest python-pytest-cov - python-setuptools-scm)) + python-psutil + python-setuptools-scm + xorg-server-for-tests)) (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 -- cgit v1.2.3