unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around
@ 2023-12-30 13:21 Ahmad Draidi via Guix-patches via
  2023-12-30 13:28 ` [bug#68146] [PATCH 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-12-30 13:21 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

Hello Guix!

The notable change in this patch series is that it updates wlroots to 0.17 since
it's required by labwc 0.7, but also retains wlroots 0.16 as wlroots-0.16 and
switches wlroots users to it, since they don't support 0.17 yet.

Ahmad Draidi (3):
  gnu: Add libdisplay-info.
  gnu: Update wlroots to 0.17.1.
  gnu: labwc: Update to 0.7.0.

 gnu/local.mk                                  |  1 +
 gnu/packages/freedesktop.scm                  | 40 ++++++++++++++++
 .../patches/wlroots-hwdata-fallback.patch     | 46 +++++++++++++++++++
 gnu/packages/wm.scm                           | 41 +++++++++++++----
 gnu/packages/zig-xyz.scm                      |  2 +-
 5 files changed, 119 insertions(+), 11 deletions(-)
 create mode 100644 gnu/packages/patches/wlroots-hwdata-fallback.patch


base-commit: 4d8b93e865ba71d2baa606d11529c3ecb5f14aea
-- 
2.41.0





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#68146] [PATCH 1/3] gnu: Add libdisplay-info.
  2023-12-30 13:21 [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around Ahmad Draidi via Guix-patches via
@ 2023-12-30 13:28 ` Ahmad Draidi via Guix-patches via
  2023-12-30 13:28 ` [bug#68146] [PATCH 2/3] gnu: Update wlroots to 0.17.1 Ahmad Draidi via Guix-patches via
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-12-30 13:28 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

* gnu/packages/freedesktop.scm (libdisplay-info): New variable.

Change-Id: Id9d8a7c92f58a89310d52e62c335f932acb0adb3
---
 gnu/packages/freedesktop.scm | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 648ebad408..9cf7804f10 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;; Copyright © 2023 Alex Devaure <ajadevaure@gmail.com>
+;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -97,6 +98,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages hardware)
   #:use-module (gnu packages hunspell)
   #:use-module (gnu packages ibus)
   #:use-module (gnu packages image)
@@ -114,6 +116,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
@@ -2102,6 +2105,43 @@ (define-public colord-gtk
 that wish to perform colour calibration.")
     (license license:lgpl2.1+)))
 
+(define-public libdisplay-info
+  ;; Latest commit passes tests while 0.1.1 doesn't
+  (let ((commit "ebee35935dad01478ae1ae5ead298c4cd8018ac2")
+        (revision "1"))
+    (package
+      (name "libdisplay-info")
+      (version (git-version "0.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1ly8acdjxn8l55y0wc07n7pb6rzh9dpr1vbsakdib2zrl0i5yh3a"))))
+      (build-system meson-build-system)
+      (arguments
+       (list
+        #:phases #~(modify-phases %standard-phases
+                     (add-before 'configure 'fix-meson-file
+                       (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                         (substitute* "meson.build"
+                           (("/usr/share/hwdata/pnp.ids")
+                            (string-append (assoc-ref (or native-inputs inputs)
+                                                      "hwdata")
+                                           "/share/hwdata/pnp.ids"))))))))
+      (native-inputs (list edid-decode
+                           `(,hwdata "pnp") pkg-config python-wrapper))
+      (home-page "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+      (synopsis "EDID and DisplayID library")
+      (description
+       "libdisplay-info is an EDID and DisplayID library that provides a set of
+ high-level, easy-to-use, opinionated functions as well as low-level functions
+to access detailed information.")
+      (license license:expat))))
+
 (define-public libfprint
   (package
     (name "libfprint")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#68146] [PATCH 2/3] gnu: Update wlroots to 0.17.1.
  2023-12-30 13:21 [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around Ahmad Draidi via Guix-patches via
  2023-12-30 13:28 ` [bug#68146] [PATCH 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
@ 2023-12-30 13:28 ` Ahmad Draidi via Guix-patches via
  2023-12-30 13:28 ` [bug#68146] [PATCH 3/3] gnu: labwc: Update to 0.7.0 Ahmad Draidi via Guix-patches via
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-12-30 13:28 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

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@disroot.org>
 ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
 ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
+;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@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





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#68146] [PATCH 3/3] gnu: labwc: Update to 0.7.0.
  2023-12-30 13:21 [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around Ahmad Draidi via Guix-patches via
  2023-12-30 13:28 ` [bug#68146] [PATCH 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
  2023-12-30 13:28 ` [bug#68146] [PATCH 2/3] gnu: Update wlroots to 0.17.1 Ahmad Draidi via Guix-patches via
@ 2023-12-30 13:28 ` Ahmad Draidi via Guix-patches via
  2024-02-04 13:54 ` [bug#68146] [PATCH v2 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
  2024-02-20  3:27 ` bug#68146: " John Kehayias via Guix-patches via
  4 siblings, 0 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2023-12-30 13:28 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

* gnu/packages/wm.scm (labwc): Update to 0.7.0.

Change-Id: I35f7faf2ba3975481780b49d0dcdef6f39af46bc
---
 gnu/packages/wm.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 8c228de1b5..029346dc98 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -3016,7 +3016,7 @@ (define-public libucl
 (define-public labwc
   (package
     (name "labwc")
-    (version "0.6.5")
+    (version "0.7.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3025,7 +3025,7 @@ (define-public labwc
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "04401k1i6b9s2v6mbhw5llla8fdpkhmgz826iva246iqch9z20lx"))))
+                "17p3wcnggnd4v37z1dgv8nmc35nq4261s8sglr44bf71vjircggz"))))
     (build-system meson-build-system)
     (native-inputs
      (list pkg-config gettext-minimal scdoc))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#68146] [PATCH v2 1/3] gnu: Add libdisplay-info.
  2023-12-30 13:21 [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around Ahmad Draidi via Guix-patches via
                   ` (2 preceding siblings ...)
  2023-12-30 13:28 ` [bug#68146] [PATCH 3/3] gnu: labwc: Update to 0.7.0 Ahmad Draidi via Guix-patches via
@ 2024-02-04 13:54 ` Ahmad Draidi via Guix-patches via
  2024-02-04 13:54   ` [bug#68146] [PATCH v2 2/3] gnu: Update wlroots to 0.17.1 Ahmad Draidi via Guix-patches via
  2024-02-04 13:54   ` [bug#68146] [PATCH v2 3/3] gnu: labwc: Update to 0.7.0 Ahmad Draidi via Guix-patches via
  2024-02-20  3:27 ` bug#68146: " John Kehayias via Guix-patches via
  4 siblings, 2 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2024-02-04 13:54 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

* gnu/packages/freedesktop.scm (libdisplay-info): New variable.

Change-Id: Ifa03e4f21dd869c664c5bbf47af4ea1b7cf63d44
---
v2: Rebase

 gnu/packages/freedesktop.scm | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 648ebad408..9ba444cb0a 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;; Copyright © 2023 Alex Devaure <ajadevaure@gmail.com>
+;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -97,6 +98,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages hardware)
   #:use-module (gnu packages hunspell)
   #:use-module (gnu packages ibus)
   #:use-module (gnu packages image)
@@ -114,6 +116,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
@@ -2102,6 +2105,43 @@ (define-public colord-gtk
 that wish to perform colour calibration.")
     (license license:lgpl2.1+)))
 
+(define-public libdisplay-info
+  ;; Latest commit passes tests while 0.1.1 doesn't
+  (let ((commit "ebee35935dad01478ae1ae5ead298c4cd8018ac2")
+        (revision "1"))
+    (package
+      (name "libdisplay-info")
+      (version (git-version "0.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1ly8acdjxn8l55y0wc07n7pb6rzh9dpr1vbsakdib2zrl0i5yh3a"))))
+      (build-system meson-build-system)
+      (arguments
+       (list
+        #:phases #~(modify-phases %standard-phases
+                     (add-before 'configure 'fix-meson-file
+                       (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                         (substitute* "meson.build"
+                           (("/usr/share/hwdata/pnp.ids")
+                            (string-append (assoc-ref (or native-inputs inputs)
+                                                      "hwdata")
+                                           "/share/hwdata/pnp.ids"))))))))
+      (native-inputs (list edid-decode
+                           `(,hwdata "pnp") pkg-config python-wrapper))
+      (home-page "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+      (synopsis "EDID and DisplayID library")
+      (description
+       "libdisplay-info is an EDID and DisplayID library that provides a set of
+ high-level, easy-to-use, opinionated functions as well as low-level functions
+to access detailed information.")
+      (license license:expat))))
+
 (define-public libfprint
   (package
     (name "libfprint")

base-commit: abeffc82379c4f9bd2e6226ea27453b22cb4e0c8
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#68146] [PATCH v2 2/3] gnu: Update wlroots to 0.17.1.
  2024-02-04 13:54 ` [bug#68146] [PATCH v2 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
@ 2024-02-04 13:54   ` Ahmad Draidi via Guix-patches via
  2024-02-04 13:54   ` [bug#68146] [PATCH v2 3/3] gnu: labwc: Update to 0.7.0 Ahmad Draidi via Guix-patches via
  1 sibling, 0 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2024-02-04 13:54 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

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
---
v2: Rebase and fix conflict

 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 fbdb285695..961dc6a456 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2173,6 +2173,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 959928d8e2..78af2fb210 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -66,6 +66,7 @@
 ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
 ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
 ;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
+;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -207,7 +208,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
@@ -1167,7 +1168,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
@@ -1569,7 +1570,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
@@ -1675,7 +1676,7 @@ (define-public polybar
 (define-public wlroots
   (package
     (name "wlroots")
-    (version "0.16.2")
+    (version "0.17.1")
     (source
      (origin
        (method git-fetch)
@@ -1684,7 +1685,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
@@ -1705,6 +1708,7 @@ (define-public wlroots
     (propagated-inputs
      (list ;; As required by wlroots.pc.
            eudev
+           libdisplay-info
            libinput-minimal
            libxkbcommon
            mesa
@@ -1730,6 +1734,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")
@@ -1774,7 +1795,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)
@@ -2966,7 +2987,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
@@ -3063,7 +3084,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





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#68146] [PATCH v2 3/3] gnu: labwc: Update to 0.7.0.
  2024-02-04 13:54 ` [bug#68146] [PATCH v2 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
  2024-02-04 13:54   ` [bug#68146] [PATCH v2 2/3] gnu: Update wlroots to 0.17.1 Ahmad Draidi via Guix-patches via
@ 2024-02-04 13:54   ` Ahmad Draidi via Guix-patches via
  1 sibling, 0 replies; 8+ messages in thread
From: Ahmad Draidi via Guix-patches via @ 2024-02-04 13:54 UTC (permalink / raw)
  To: 68146; +Cc: Ahmad Draidi

* gnu/packages/wm.scm (labwc): Update to 0.7.0.

Change-Id: I35f7faf2ba3975481780b49d0dcdef6f39af46bc
---
v2: Rebase

 gnu/packages/wm.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 78af2fb210..85bb6de834 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -3023,7 +3023,7 @@ (define-public libucl
 (define-public labwc
   (package
     (name "labwc")
-    (version "0.6.5")
+    (version "0.7.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3032,7 +3032,7 @@ (define-public labwc
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "04401k1i6b9s2v6mbhw5llla8fdpkhmgz826iva246iqch9z20lx"))))
+                "17p3wcnggnd4v37z1dgv8nmc35nq4261s8sglr44bf71vjircggz"))))
     (build-system meson-build-system)
     (native-inputs
      (list pkg-config gettext-minimal scdoc))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#68146: [PATCH v2 3/3] gnu: labwc: Update to 0.7.0.
  2023-12-30 13:21 [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around Ahmad Draidi via Guix-patches via
                   ` (3 preceding siblings ...)
  2024-02-04 13:54 ` [bug#68146] [PATCH v2 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
@ 2024-02-20  3:27 ` John Kehayias via Guix-patches via
  4 siblings, 0 replies; 8+ messages in thread
From: John Kehayias via Guix-patches via @ 2024-02-20  3:27 UTC (permalink / raw)
  To: Ahmad Draidi
  Cc: Simon Tournier, paren, Ludovic Courtès,
	Tobias Geerinckx-Rice, Ricardo Wurmus, Raghav Gururajan, jgart,
	Mathieu Othacehe, Christopher Baines, 68146-done

Hi Ahmad,

On Sun, Feb 04, 2024 at 05:54 PM, Ahmad Draidi wrote:

> * gnu/packages/wm.scm (labwc): Update to 0.7.0.
>
> Change-Id: I35f7faf2ba3975481780b49d0dcdef6f39af46bc
> ---
> v2: Rebase
>

Thanks! The first patch, for libdisplay-info was no longer needed as a
patch to add that was pushed in
b23fd4fb3e345d7c17b0e668bf790d310426f02b.

I pushed the second two patches starting at
b4148713d18c4b6c37639653de5191eb7f1ca4cc (very minor change in a commit
message) after checking wlroots and a couple of dependents build locally
though QA already looked good.

As an aside, we are closer now to adding hyprland which I have working
locally from another channel. On mesa-updates I will do the libdrm
update which is the only blocker besides adding some packages, I
believe. We'll also need a newer, pre-release, version of wlroots as
hyprland seems to track the latest commits.

Thanks again!
John

>  gnu/packages/wm.scm | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
> index 78af2fb210..85bb6de834 100644
> --- a/gnu/packages/wm.scm
> +++ b/gnu/packages/wm.scm
> @@ -3023,7 +3023,7 @@ (define-public libucl
>  (define-public labwc
>    (package
>      (name "labwc")
> -    (version "0.6.5")
> +    (version "0.7.0")
>      (source (origin
>                (method git-fetch)
>                (uri (git-reference
> @@ -3032,7 +3032,7 @@ (define-public labwc
>                (file-name (git-file-name name version))
>                (sha256
>                 (base32
> -                "04401k1i6b9s2v6mbhw5llla8fdpkhmgz826iva246iqch9z20lx"))))
> +                "17p3wcnggnd4v37z1dgv8nmc35nq4261s8sglr44bf71vjircggz"))))
>      (build-system meson-build-system)
>      (native-inputs
>       (list pkg-config gettext-minimal scdoc))





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-02-20  3:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-30 13:21 [bug#68146] [PATCH 0/3] Update labwc, wlroots, and shuffle some deps around Ahmad Draidi via Guix-patches via
2023-12-30 13:28 ` [bug#68146] [PATCH 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
2023-12-30 13:28 ` [bug#68146] [PATCH 2/3] gnu: Update wlroots to 0.17.1 Ahmad Draidi via Guix-patches via
2023-12-30 13:28 ` [bug#68146] [PATCH 3/3] gnu: labwc: Update to 0.7.0 Ahmad Draidi via Guix-patches via
2024-02-04 13:54 ` [bug#68146] [PATCH v2 1/3] gnu: Add libdisplay-info Ahmad Draidi via Guix-patches via
2024-02-04 13:54   ` [bug#68146] [PATCH v2 2/3] gnu: Update wlroots to 0.17.1 Ahmad Draidi via Guix-patches via
2024-02-04 13:54   ` [bug#68146] [PATCH v2 3/3] gnu: labwc: Update to 0.7.0 Ahmad Draidi via Guix-patches via
2024-02-20  3:27 ` bug#68146: " John Kehayias via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).