[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#49227] [PATCH 1/3] build: qt-build-system: Allow users to override/
From: |
Maxim Cournoyer |
Subject: |
[bug#49227] [PATCH 1/3] build: qt-build-system: Allow users to override/extend XDG_DATA_DIRS. |
Date: |
Fri, 25 Jun 2021 14:08:21 -0400 |
Before this change, XDG_DATA_DIRS was wrapped using '=, which meant that it
wouldn't pick up extra icons from the user's profile, for example. When
enabling gtk+ theming support in qtbase, that led to crashes due to GTK not
finding icons from even the hicolor icon theme fallback (which is assumed to
exist).
* guix/build/qt-build-system.scm (variables-for-wrapping): Specify an extra
'wrap-type' information per variable that gets passed to the wrap-program
procedure. Set the XDG_DATA_DIRS variable wrapping type to 'suffix', which
allows the user to both extend and override its value.
---
guix/build/qt-build-system.scm | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm
index f59b0c420f..59242f5fab 100644
--- a/guix/build/qt-build-system.scm
+++ b/guix/build/qt-build-system.scm
@@ -73,17 +73,17 @@
(filter-map
(match-lambda
- ((variable file-type directory selectors ...)
+ ((variable wrap-type file-type directory selectors ...)
(match (collect-sub-dirs base-directories file-type directory
selectors)
(()
#f)
(directories
- `(,variable = ,directories)))))
+ `(,variable ,wrap-type ,directories)))))
;; These shall match the search-path-specification for Qt and KDE
;; libraries.
- (list '("XDG_DATA_DIRS" directory "/share"
+ (list '("XDG_DATA_DIRS" suffix directory "/share"
;; These are "selectors": consider /share if and only if at least
;; one of these sub-directories exist. This avoids adding
@@ -91,10 +91,10 @@
;; /share sub-directory.
"/glib-2.0/schemas" "/sounds" "/themes"
"/cursors" "/wallpapers" "/icons" "/mime")
- '("XDG_CONFIG_DIRS" directory "/etc/xdg")
- '("QT_PLUGIN_PATH" directory "/lib/qt5/plugins")
- '("QML2_IMPORT_PATH" directory "/lib/qt5/qml")
- '("QTWEBENGINEPROCESS_PATH" regular
+ '("XDG_CONFIG_DIRS" = directory "/etc/xdg")
+ '("QT_PLUGIN_PATH" = directory "/lib/qt5/plugins")
+ '("QML2_IMPORT_PATH" = directory "/lib/qt5/qml")
+ '("QTWEBENGINEPROCESS_PATH" = regular
"/lib/qt5/libexec/QtWebEngineProcess"))))
(define* (wrap-all-programs #:key inputs outputs
--
2.32.0