diff options
author | Marius Bakke <marius@gnu.org> | 2022-06-27 19:23:48 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-06-27 19:23:48 +0200 |
commit | 2a7648774f1bba5bb443c00b8ab1a2ab75b7416f (patch) | |
tree | 3e081532d1d4f83706b62b499f655ea3ed836e5b /gnu/packages/wm.scm | |
parent | 43519035f954b3dc41ac50a9a877fd802b864fdb (diff) | |
parent | 0bd1c4fbbc8a438876d6efa4feb275de461a2484 (diff) |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r-- | gnu/packages/wm.scm | 152 |
1 files changed, 85 insertions, 67 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index d946fa4d2f..9703f76031 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -37,7 +37,7 @@ ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> ;;; Copyright © 2020 EuAndreh <eu@euandre.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> @@ -55,6 +55,7 @@ ;;; Copyright © 2022 Pier-Hugues Pellerin <ph@heykimo.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 muradm <mail@muradm.net> +;;; Copyright © 2022 Elais Player <elais@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,6 +131,7 @@ #:use-module (gnu packages pretty-print) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) @@ -1469,19 +1471,29 @@ its size (define-public polybar (package (name "polybar") - (version "3.5.7") + (version "3.6.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/polybar/polybar/releases/" "download/" version "/polybar-" version ".tar.gz")) (sha256 - (base32 "1nr386jdlm8qkbdf23w7lyvbfhr362s90f957fawnyi1finhw8bk")))) + (base32 "19azx5dpfyfh0pv4q2fcrf4p7a0pc5d13m7lnv3qy8376mbmhmzj")))) (build-system cmake-build-system) (arguments ;; Test is disabled because it requires downloading googletest from the ;; Internet. - '(#:tests? #f)) + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; Make polybar find its default configuration file in the + ;; store. + (add-after 'unpack 'patch-config-path + (lambda _ + (substitute* "CMakeLists.txt" + (("/etc") (string-append #$output "/etc"))) + (substitute* "src/utils/file.cpp" + (("\"/etc\"") (string-append "\"" #$output "/etc\"")))))))) (inputs (list alsa-lib cairo @@ -1489,6 +1501,7 @@ its size jsoncpp libmpdclient libnl + libuv libxcb pulseaudio xcb-proto @@ -1498,12 +1511,9 @@ its size xcb-util-wm xcb-util-xrm)) (native-inputs - `(("pkg-config" ,pkg-config) - ("python-sphinx" ,python-sphinx) ; for the manual - ;; XXX: "python" input must be located after "python-2", or the package - ;; fails to build with "missing required python module: xcbgen". - ("python-2" ,python-2) ; lib/xpp depends on python 2 - ("python" ,python))) ; xcb-proto depends on python 3 + (list pkg-config + python-sphinx ; for the manual + python)) ; xcb-proto depends on python 3 (home-page "https://polybar.github.io/") (synopsis "Fast and easy-to-use status bar") (description "Polybar aims to help users build beautiful and highly @@ -1538,7 +1548,7 @@ functionality to display information about the most commonly used services.") (propagated-inputs (list ;; As required by wlroots.pc. eudev - libinput + libinput-minimal libxkbcommon mesa pixman @@ -1572,7 +1582,10 @@ modules for building a Wayland compositor.") (base32 "0ss3l258blyf2d0lwd7pi7ga1fxfj8pxhag058k7cmjhs3y30y5l")))) (build-system meson-build-system) (arguments - `(#:phases + `(;; elogind is propagated by wlroots -> libseat + ;; and would otherwise shadow basu. + #:configure-flags '("-Dsd-bus-provider=basu") + #:phases (modify-phases %standard-phases (add-before 'configure 'hardcode-paths (lambda* (#:key inputs #:allow-other-keys) @@ -1587,12 +1600,12 @@ modules for building a Wayland compositor.") (string-append "'" (assoc-ref inputs "scdoc") "/bin/scdoc'"))) #t))))) - (inputs (list cairo - elogind + (inputs (list basu + cairo gdk-pixbuf json-c libevdev - libinput + libinput-minimal libxkbcommon pango swaybg @@ -1724,7 +1737,7 @@ display a clock or apply image manipulation techniques to the background image." gtkmm-3 jsoncpp libdbusmenu - libinput + libinput-minimal libmpdclient libnl libxml2 @@ -1785,16 +1798,16 @@ compositors that support the layer-shell protocol.") (define-public kanshi (package (name "kanshi") - (version "1.1.0") + (version "1.2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/emersion/kanshi") + (url "https://git.sr.ht/~emersion/kanshi") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nbpgm8qnn7ljsg9vgs35kl8l4rrk542vdcbx8wrn9r909ld3x92")))) + (base32 "10lxagwc2pkq86g2sxkwljjd39sahp3w1j5yx853d3c4d95iwls5")))) (build-system meson-build-system) (inputs (list wayland)) (native-inputs (list pkg-config scdoc)) @@ -1808,7 +1821,7 @@ Wayland compositors supporting the wlr-output-management protocol.") (define-public stumpwm (package (name "stumpwm") - (version "20.11") + (version "22.05") (source (origin (method git-fetch) @@ -1817,55 +1830,60 @@ Wayland compositors supporting the wlr-output-management protocol.") (commit version))) (file-name (git-file-name "stumpwm" version)) (sha256 - (base32 "1ghs6ihvmb3bz4q4ys1d3h6rdi96xyiw7l2ip7jh54c25049aymf")))) + (base32 "12hf70mpwy0ixiyvv8sf8pkwrzz8nb12a8ybvsdpibsxfjxgxnan")))) (build-system asdf-build-system/sbcl) - (native-inputs `(("fiasco" ,sbcl-fiasco) - ("texinfo" ,texinfo) - - ;; To build the manual. - ("autoconf" ,autoconf) - ("automake" ,automake))) - (inputs `(("cl-ppcre" ,sbcl-cl-ppcre) - ("clx" ,sbcl-clx) - ("alexandria" ,sbcl-alexandria))) + (native-inputs + (list sbcl-fiasco + texinfo + + ;; To build the manual. + autoconf + automake)) + (inputs + (list sbcl-alexandria + sbcl-cl-ppcre + sbcl-clx)) (outputs '("out" "lib")) (arguments - '(#:asd-systems '("stumpwm") - #:phases - (modify-phases %standard-phases - (add-after 'create-asdf-configuration 'build-program - (lambda* (#:key outputs #:allow-other-keys) - (build-program - (string-append (assoc-ref outputs "out") "/bin/stumpwm") - outputs - #:entry-program '((stumpwm:stumpwm) 0)))) - (add-after 'build-program 'create-desktop-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (xsessions (string-append out "/share/xsessions"))) - (mkdir-p xsessions) - (call-with-output-file - (string-append xsessions "/stumpwm.desktop") - (lambda (file) - (format file - "[Desktop Entry]~@ - Name=stumpwm~@ - Comment=The Stump Window Manager~@ - Exec=~a/bin/stumpwm~@ - TryExec=~@*~a/bin/stumpwm~@ - Icon=~@ - Type=Application~%" - out))) - #t))) - (add-after 'install 'install-manual - (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (invoke "./autogen.sh") - (invoke "sh" "./configure" "SHELL=sh") - (apply invoke "make" "stumpwm.info" make-flags) - (install-file "stumpwm.info" info) - #t)))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "stumpwm-tests.asd" + (("\"ALL-TESTS\"") + "\"RUN-PACKAGE-TESTS\" :package")))) + (add-after 'create-asdf-configuration 'build-program + (lambda* (#:key outputs #:allow-other-keys) + (build-program + (string-append (assoc-ref outputs "out") "/bin/stumpwm") + outputs + #:entry-program '((stumpwm:stumpwm) 0)))) + (add-after 'build-program 'create-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (xsessions (string-append out "/share/xsessions"))) + (mkdir-p xsessions) + (call-with-output-file + (string-append xsessions "/stumpwm.desktop") + (lambda (file) + (format file + "[Desktop Entry]~@ + Name=stumpwm~@ + Comment=The Stump Window Manager~@ + Exec=~a/bin/stumpwm~@ + TryExec=~@*~a/bin/stumpwm~@ + Icon=~@ + Type=Application~%" + out)))))) + (add-after 'install 'install-manual + (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (invoke "./autogen.sh") + (invoke "sh" "./configure" "SHELL=sh") + (apply invoke "make" "stumpwm.info" make-flags) + (install-file "stumpwm.info" info))))))) (synopsis "Window manager written in Common Lisp") (description "Stumpwm is a window manager written entirely in Common Lisp. It attempts to be highly customizable while relying entirely on the keyboard @@ -2566,7 +2584,7 @@ read and write, and compatible with JSON.") (list bmake pkg-config wayland-protocols)) (inputs (list cairo - libinput + libinput-minimal libucl libxkbcommon linux-pam |