* [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