summaryrefslogtreecommitdiff
path: root/gnu/packages/wm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r--gnu/packages/wm.scm152
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