emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44892: closed ([PATCH] build: qt-build-system: Preserve existing var


From: GNU bug Tracking System
Subject: bug#44892: closed ([PATCH] build: qt-build-system: Preserve existing variables when wrapping programs.)
Date: Mon, 11 Jan 2021 16:07:02 +0000

Your message dated Mon, 11 Jan 2021 17:06:23 +0100
with message-id <2b5aab49-efb9-5911-bcf6-c7fddf0ccc03@crazy-compilers.com>
and subject line Re: [PATCH] guix: qt-build-system: Wrapped executables honor 
user's envvars.
has caused the debbugs.gnu.org bug report #44892,
regarding [PATCH] build: qt-build-system: Preserve existing variables when 
wrapping programs.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
44892: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=44892
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] build: qt-build-system: Preserve existing variables when wrapping programs. Date: Thu, 26 Nov 2020 20:59:42 +0100
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




--- End Message ---
--- Begin Message --- Subject: Re: [PATCH] guix: qt-build-system: Wrapped executables honor user's envvars. Date: Mon, 11 Jan 2021 17:06:23 +0100 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 This patch has been superseded by http://issues.guix.gnu.org/45784 and following, esp. http://issues.guix.gnu.org/45785



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]