unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#44892] [PATCH] build: qt-build-system: Preserve existing variables when wrapping programs.
@ 2020-11-26 19:59 Timotej Lazar
  0 siblings, 0 replies; only message in thread
From: Timotej Lazar @ 2020-11-26 19:59 UTC (permalink / raw)
  To: 44892; +Cc: Timotej Lazar

This ensures that any additional plugin and icon directories installed in the
profile are found by the wrapped program.

* guix/build/qt-build-system.scm (variables-for-wrapping): Use prefix instead
of = for wrap-program.
---
Hi,

The qt-wrap phase sets environment variables (including XDG_DATA_DIRS
and QT_PLUGIN_PATH) to ensure that required plugin and data directories
are found at runtime. The current code uses = for wrap-program, which
overrides any existing settings for those variables and prevents Qt from
finding additional plugins and icons installed in the user’s profile.
For instance, this prevented qpdfview from picking up the icon theme set
by LXQt.

This patch prepends paths to environment variables instead of overriding
them, so that any paths that are already set are also searched. I used
prefix instead of suffix so that the paths required by the program
itself are considered first.

I think but am not sure that this is the right approach. There are ~170
packages using qt-build-system, including some KDE libs that many other
packages depend on, so this should probably be applied to staging. I
checked that the patch works for a small sample of packages (kmines,
lyx, quaternion, quassel, qpdfview, scantailor and zeal). Unfortunately
I can’t easily rebuild KDE to test everything.

Thanks!
Timotej

 guix/build/qt-build-system.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm
index 005157b0a4..93f512b5d6 100644
--- a/guix/build/qt-build-system.scm
+++ b/guix/build/qt-build-system.scm
@@ -60,7 +60,7 @@
    (lambda (var-to-wrap) (not (null? (last var-to-wrap))))
    (map
     (lambda (var-spec)
-      `(,(first var-spec) = ,(collect-sub-dirs base-directories (last var-spec))))
+      `(,(first var-spec) prefix ,(collect-sub-dirs base-directories (last var-spec))))
     (list
      ;; these shall match the search-path-specification for Qt and KDE
      ;; libraries
-- 
2.29.2





^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-26 20:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-26 19:59 [bug#44892] [PATCH] build: qt-build-system: Preserve existing variables when wrapping programs Timotej Lazar

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).