Package: guix-patches;
Reported by: Ahmad Draidi <a.r.draidi <at> redscript.org>
Date: Sat, 30 Dec 2023 13:28:01 UTC
Severity: normal
Tags: patch
Done: John Kehayias <john.kehayias <at> protonmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Ahmad Draidi <a.r.draidi <at> redscript.org> To: 68146 <at> debbugs.gnu.org Cc: Ahmad Draidi <a.r.draidi <at> redscript.org>, ( <paren <at> disroot.org>, Christopher Baines <guix <at> cbaines.net>, Ludovic Courtès <ludo <at> gnu.org>, Mathieu Othacehe <othacehe <at> gnu.org>, Raghav Gururajan <rg <at> raghavgururajan.name>, Ricardo Wurmus <rekado <at> elephly.net>, Simon Tournier <zimon.toutoune <at> gmail.com>, Tobias Geerinckx-Rice <me <at> tobias.gr>, jgart <jgart <at> dismail.de> Subject: [bug#68146] [PATCH 2/3] gnu: Update wlroots to 0.17.1. Date: Sat, 30 Dec 2023 17:28:47 +0400
Also keep 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 --- gnu/local.mk | 1 + .../patches/wlroots-hwdata-fallback.patch | 46 +++++++++++++++++++ gnu/packages/wm.scm | 37 +++++++++++---- gnu/packages/zig-xyz.scm | 2 +- 4 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/wlroots-hwdata-fallback.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2896395120..fe9577515d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2138,6 +2138,7 @@ dist_patch_DATA = \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \ %D%/packages/patches/webrtc-for-telegram-desktop-unbundle-libsrtp.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/wmfire-update-for-new-gdk-versions.patch \ %D%/packages/patches/wordnet-CVE-2008-2149.patch \ diff --git a/gnu/packages/patches/wlroots-hwdata-fallback.patch b/gnu/packages/patches/wlroots-hwdata-fallback.patch new file mode 100644 index 0000000000..6468c7cbf3 --- /dev/null +++ b/gnu/packages/patches/wlroots-hwdata-fallback.patch @@ -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'), + diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 82ef67a2e4..8c228de1b5 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -65,6 +65,7 @@ ;;; Copyright © 2023 Vessel Wave <vesselwave <at> disroot.org> ;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr> ;;; Copyright © 2023 Jaeme Sifat <jaeme <at> runbox.com> +;;; Copyright © 2023 Ahmad Draidi <a.r.draidi <at> redscript.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -206,7 +207,7 @@ (define-public cage (sha256 (base32 "11sg9x08zl2nr7a723h462knz5lf58sgvkhv1mgc9z3hhkhvbsja")))) (build-system meson-build-system) (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") (synopsis "Wayland kiosk") (description "This package provides a Wayland @dfn{kiosk}, which runs a @@ -1166,7 +1167,7 @@ (define-public fnott tllist scdoc)) (inputs - (list wlroots wayland fcft dbus libpng)) + (list wlroots-0.16 wayland fcft dbus libpng)) (home-page "https://codeberg.org/dnkl/fnott") (synopsis "Keyboard driven and lightweight Wayland notification daemon") (description "Fnott is a keyboard driven and lightweight notification daemon @@ -1568,7 +1569,7 @@ (define-public dwl (native-inputs (list pkg-config)) (inputs - (list wlroots)) + (list wlroots-0.16)) (home-page "https://github.com/djpohly/dwl") (synopsis "Dynamic window manager for Wayland") (description @@ -1674,7 +1675,7 @@ (define-public polybar (define-public wlroots (package (name "wlroots") - (version "0.16.2") + (version "0.17.1") (source (origin (method git-fetch) @@ -1683,7 +1684,9 @@ (define-public wlroots (commit version))) (file-name (git-file-name name version)) (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) (arguments `(#:phases @@ -1704,6 +1707,7 @@ (define-public wlroots (propagated-inputs (list ;; As required by wlroots.pc. eudev + libdisplay-info libinput-minimal libxkbcommon mesa @@ -1729,6 +1733,23 @@ (define-public wlroots modules for building a Wayland compositor.") (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 (package (name "sway") @@ -1773,7 +1794,7 @@ (define-public sway pcre2 swaybg wayland - wlroots)) + wlroots-0.16)) (native-inputs (cons* linux-pam mesa pkg-config scdoc wayland-protocols (if (%current-target-system) @@ -2959,7 +2980,7 @@ (define-public cagebreak (("/etc/") (string-append #$output "/etc/")) (("/usr/share/") (string-append #$output "/usr/share/")))))))) (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") (synopsis "Tiling wayland compositor inspired by ratpoison") (description @@ -3056,7 +3077,7 @@ (define-public hikari linux-pam pango wayland - wlroots)) + wlroots-0.16)) (arguments `(#:tests? #f ; no tests #:make-flags diff --git a/gnu/packages/zig-xyz.scm b/gnu/packages/zig-xyz.scm index 200b5c9940..75b60fcfa9 100644 --- a/gnu/packages/zig-xyz.scm +++ b/gnu/packages/zig-xyz.scm @@ -61,7 +61,7 @@ (define-public river scdoc wayland wayland-protocols - wlroots)) + wlroots-0.16)) (home-page "https://github.com/riverwm/river") (synopsis "Dynamic tiling Wayland compositor") (description -- 2.41.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.