~ruther/guix-local

b4148713d18c4b6c37639653de5191eb7f1ca4cc — Ahmad Draidi 2 years ago 193a01d
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>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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			\

A gnu/packages/patches/wlroots-hwdata-fallback.patch => gnu/packages/patches/wlroots-hwdata-fallback.patch +46 -0
@@ 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'),


M gnu/packages/wm.scm => gnu/packages/wm.scm +29 -8
@@ 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

M gnu/packages/zig-xyz.scm => gnu/packages/zig-xyz.scm +1 -1
@@ 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