diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/wlroots-hwdata-fallback.patch | 46 | ||||
-rw-r--r-- | gnu/packages/wm.scm | 37 | ||||
-rw-r--r-- | gnu/packages/zig-xyz.scm | 2 |
4 files changed, 77 insertions, 9 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 58011d1149..bed0c181e4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2176,6 +2176,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 9abf505caf..fdf846f982 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -67,6 +67,7 @@ ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com> ;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz> ;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -208,7 +209,7 @@ the leaves of a full binary tree.") (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 @@ -1168,7 +1169,7 @@ the XDG Autostart specification.") 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 @@ -1570,7 +1571,7 @@ started automatically on the first call via D-Bus.") (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 @@ -1676,7 +1677,7 @@ functionality to display information about the most commonly used services.") (define-public wlroots (package (name "wlroots") - (version "0.16.2") + (version "0.17.1") (source (origin (method git-fetch) @@ -1685,7 +1686,9 @@ functionality to display information about the most commonly used services.") (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 @@ -1706,6 +1709,7 @@ functionality to display information about the most commonly used services.") (propagated-inputs (list ;; As required by wlroots.pc. eudev + libdisplay-info libinput-minimal libxkbcommon mesa @@ -1731,6 +1735,23 @@ Wayland compositor") 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") @@ -1775,7 +1796,7 @@ modules for building a Wayland compositor.") pcre2 swaybg wayland - wlroots)) + wlroots-0.16)) (native-inputs (cons* linux-pam mesa pkg-config scdoc wayland-protocols (if (%current-target-system) @@ -2967,7 +2988,7 @@ shows a notification for the user on the screen.") (("/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 @@ -3107,7 +3128,7 @@ session. Nor does it depend on any UI toolkits such as Qt or GTK.") 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 f01c120cc3..fd194a6a4f 100644 --- a/gnu/packages/zig-xyz.scm +++ b/gnu/packages/zig-xyz.scm @@ -71,7 +71,7 @@ scdoc wayland wayland-protocols - wlroots)) + wlroots-0.16)) (home-page "https://github.com/riverwm/river") (synopsis "Dynamic tiling Wayland compositor") (description |