gnu: Update wlroots to 0.17.1.

Keep the older version as wlroots-0.16 since a few packages break without it.

* gnu/packages/wm.scm (wlroots): Update to 0.17.1.
[source]: Add patch.
[propagated-inputs]: Add libdisplay-info.
* gnu/packages/patches/wlroots-hwdata-fallback.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/wm.scm (wlroots-0.16): New variable.
* gnu/packages/wm.scm (cage)[inputs]: Replace wlroots with wlroots-0.16.
* gnu/packages/wm.scm (fnott)[inputs]: Likewise.
* gnu/packages/wm.scm (dwl)[inputs]: Likewise.
* gnu/packages/wm.scm (sway)[inputs]: Likewise.
* gnu/packages/wm.scm (cagebreak)[inputs]: Likewise.
* gnu/packages/wm.scm (hikari)[inputs]: Likewise.
* gnu/packages/wm.scm (river)[native-inputs]: Likewise.

Change-Id: Ib3d3938d6486fb1674380811a6dc0a512c991ac7
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
This commit is contained in:
Ahmad Draidi 2024-02-04 17:54:42 +04:00 committed by John Kehayias
parent 193a01d73f
commit b4148713d1
No known key found for this signature in database
GPG Key ID: 499097AE5EA815D9
4 changed files with 77 additions and 9 deletions

View File

@ -2176,6 +2176,7 @@ dist_patch_DATA = \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-for-telegram-desktop-unbundle-libsrtp.patch \ %D%/packages/patches/webrtc-for-telegram-desktop-unbundle-libsrtp.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wlroots-hwdata-fallback.patch \
%D%/packages/patches/wmctrl-64-fix.patch \ %D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \ %D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
%D%/packages/patches/wordnet-CVE-2008-2149.patch \ %D%/packages/patches/wordnet-CVE-2008-2149.patch \

View File

@ -0,0 +1,46 @@
backend/drm: add hardcoded hwdata path fallback
Add hardcoded fallback "/usr/share/hwdata/pnp.ids" as a
temporary solution to get things working in Guix until
hwdata ships with pkg-config file.
diff --git a/backend/drm/meson.build b/backend/drm/meson.build
index 6fcb2c15..ed95360a 100644
--- a/backend/drm/meson.build
+++ b/backend/drm/meson.build
@@ -1,8 +1,7 @@
hwdata = dependency(
'hwdata',
- required: 'drm' in backends,
+ required: false,
native: true,
- not_found_message: 'Required for the DRM backend.',
)
libdisplay_info = dependency(
@@ -19,15 +18,21 @@ libliftoff = dependency(
required: false,
)
-if not (hwdata.found() and libdisplay_info.found() and features['session'])
+if hwdata.found()
+ hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir')
+ pnp_ids = files(hwdata_dir / 'pnp.ids')
+else
+ pnp_ids = files('/usr/share/hwdata/pnp.ids')
+endif
+
+if not (libdisplay_info.found() and features['session'])
subdir_done()
endif
-hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir')
pnpids_c = custom_target(
'pnpids.c',
output: 'pnpids.c',
- input: files(hwdata_dir / 'pnp.ids'),
+ input: pnp_ids,
feed: true,
capture: true,
command: files('gen_pnpids.sh'),

View File

@ -67,6 +67,7 @@
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com> ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz> ;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -208,7 +209,7 @@ the leaves of a full binary tree.")
(sha256 (base32 "11sg9x08zl2nr7a723h462knz5lf58sgvkhv1mgc9z3hhkhvbsja")))) (sha256 (base32 "11sg9x08zl2nr7a723h462knz5lf58sgvkhv1mgc9z3hhkhvbsja"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (list pkg-config scdoc)) (native-inputs (list pkg-config scdoc))
(inputs (list wayland wlroots libxkbcommon)) (inputs (list wayland wlroots-0.16 libxkbcommon))
(home-page "https://github.com/cage-kiosk/cage") (home-page "https://github.com/cage-kiosk/cage")
(synopsis "Wayland kiosk") (synopsis "Wayland kiosk")
(description "This package provides a Wayland @dfn{kiosk}, which runs a (description "This package provides a Wayland @dfn{kiosk}, which runs a
@ -1168,7 +1169,7 @@ the XDG Autostart specification.")
tllist tllist
scdoc)) scdoc))
(inputs (inputs
(list wlroots wayland fcft dbus libpng)) (list wlroots-0.16 wayland fcft dbus libpng))
(home-page "https://codeberg.org/dnkl/fnott") (home-page "https://codeberg.org/dnkl/fnott")
(synopsis "Keyboard driven and lightweight Wayland notification daemon") (synopsis "Keyboard driven and lightweight Wayland notification daemon")
(description "Fnott is a keyboard driven and lightweight notification daemon (description "Fnott is a keyboard driven and lightweight notification daemon
@ -1570,7 +1571,7 @@ started automatically on the first call via D-Bus.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list wlroots)) (list wlroots-0.16))
(home-page "https://github.com/djpohly/dwl") (home-page "https://github.com/djpohly/dwl")
(synopsis "Dynamic window manager for Wayland") (synopsis "Dynamic window manager for Wayland")
(description (description
@ -1676,7 +1677,7 @@ functionality to display information about the most commonly used services.")
(define-public wlroots (define-public wlroots
(package (package
(name "wlroots") (name "wlroots")
(version "0.16.2") (version "0.17.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1685,7 +1686,9 @@ functionality to display information about the most commonly used services.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1m12nv6avgnz626h3giqp6gcx44w1wq6z0jy780mx8z255ic7q15")))) (base32 "1hj4gq5vx8in65622yvjm8bwqkw2vpc556k9my997a0hn0ricj37"))
;; This patch can be removed once hwdata in Guix supports pkg-config
(patches (search-patches "wlroots-hwdata-fallback.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1706,6 +1709,7 @@ functionality to display information about the most commonly used services.")
(propagated-inputs (propagated-inputs
(list ;; As required by wlroots.pc. (list ;; As required by wlroots.pc.
eudev eudev
libdisplay-info
libinput-minimal libinput-minimal
libxkbcommon libxkbcommon
mesa mesa
@ -1731,6 +1735,23 @@ Wayland compositor")
modules for building a Wayland compositor.") modules for building a Wayland compositor.")
(license license:expat))) ; MIT license (license license:expat))) ; MIT license
(define-public wlroots-0.16
(package
(inherit wlroots)
(name "wlroots-0.16")
(version "0.16.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/wlroots/wlroots")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1m12nv6avgnz626h3giqp6gcx44w1wq6z0jy780mx8z255ic7q15"))))
(propagated-inputs (modify-inputs (package-propagated-inputs wlroots)
(delete libdisplay-info)))))
(define-public sway (define-public sway
(package (package
(name "sway") (name "sway")
@ -1775,7 +1796,7 @@ modules for building a Wayland compositor.")
pcre2 pcre2
swaybg swaybg
wayland wayland
wlroots)) wlroots-0.16))
(native-inputs (native-inputs
(cons* linux-pam mesa pkg-config scdoc wayland-protocols (cons* linux-pam mesa pkg-config scdoc wayland-protocols
(if (%current-target-system) (if (%current-target-system)
@ -2967,7 +2988,7 @@ shows a notification for the user on the screen.")
(("/etc/") (string-append #$output "/etc/")) (("/etc/") (string-append #$output "/etc/"))
(("/usr/share/") (string-append #$output "/usr/share/")))))))) (("/usr/share/") (string-append #$output "/usr/share/"))))))))
(native-inputs (list pkg-config scdoc)) (native-inputs (list pkg-config scdoc))
(inputs (list libevdev pango wlroots)) (inputs (list libevdev pango wlroots-0.16))
(home-page "https://github.com/project-repo/cagebreak") (home-page "https://github.com/project-repo/cagebreak")
(synopsis "Tiling wayland compositor inspired by ratpoison") (synopsis "Tiling wayland compositor inspired by ratpoison")
(description (description
@ -3107,7 +3128,7 @@ session. Nor does it depend on any UI toolkits such as Qt or GTK.")
linux-pam linux-pam
pango pango
wayland wayland
wlroots)) wlroots-0.16))
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
#:make-flags #:make-flags

View File

@ -71,7 +71,7 @@
scdoc scdoc
wayland wayland
wayland-protocols wayland-protocols
wlroots)) wlroots-0.16))
(home-page "https://github.com/riverwm/river") (home-page "https://github.com/riverwm/river")
(synopsis "Dynamic tiling Wayland compositor") (synopsis "Dynamic tiling Wayland compositor")
(description (description