GNU bug report logs - #45221
[PATCH] guix: qt-build-system: Wrapped executables honor user's envvars.

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Sun, 13 Dec 2020 15:42:02 UTC

Severity: normal

Tags: patch

Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 45221 in the body.
You can then email your comments to 45221 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#45221; Package guix-patches. (Sun, 13 Dec 2020 15:42:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 13 Dec 2020 15:42:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] guix: qt-build-system: Wrapped executables honor user's
 envvars.
Date: Sun, 13 Dec 2020 16:41:38 +0100
Prior to this change, wrappers did set the specified environment variables to
a fixed value, overwriting any user settings. This inhibited propagating
e.g. XDG_DATA_DIRS from a profile to the application.

Now user environment variables are prefixed (if the variable defines some
"binary" search path, e.g. QT_PLUGIN_PATH) or suffixed (if the variable
defines some config or data search path, e.g. XDG_DATA_DIRS). The code could
also allow to overwrite, anyhow currently no variable is defined like this.

* guix/build/qt-build-system.scm (variables-for-wrapping): For each env-var to
  be wrapped, specify whether it should prefix, suffix or overwrite the
  user's variable.
---
 guix/build/qt-build-system.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm
index 005157b0a4..72d2d3b03b 100644
--- a/guix/build/qt-build-system.scm
+++ b/guix/build/qt-build-system.scm
@@ -60,14 +60,14 @@
    (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))))
+      (list (first var-spec) (second var-spec) (collect-sub-dirs base-directories (third var-spec))))
     (list
      ;; these shall match the search-path-specification for Qt and KDE
      ;; libraries
-     '("XDG_DATA_DIRS" "/share")
-     '("XDG_CONFIG_DIRS" "/etc/xdg")
-     '("QT_PLUGIN_PATH" "/lib/qt5/plugins")
-     '("QML2_IMPORT_PATH" "/lib/qt5/qml")))))
+     '("XDG_DATA_DIRS" suffix "/share")
+     '("XDG_CONFIG_DIRS" suffix "/etc/xdg")
+     '("QT_PLUGIN_PATH" prefix "/lib/qt5/plugins")
+     '("QML2_IMPORT_PATH" prefix "/lib/qt5/qml")))))
 
 (define* (wrap-all-programs #:key inputs outputs
                             (qt-wrap-excluded-outputs '())
-- 
2.21.3





Information forwarded to guix-patches <at> gnu.org:
bug#45221; Package guix-patches. (Fri, 18 Dec 2020 04:16:01 GMT) Full text and rfc822 format available.

Message #8 received at 45221 <at> debbugs.gnu.org (full text, mbox):

From: Zhu Zihao <all_but_last <at> 163.com>
To: 45221 <at> debbugs.gnu.org
Cc: h.goebel <at> crazy-compilers.com
Subject: Re: [PATCH] guix: qt-build-system: Wrapped executables honor user's
 envvars.
Date: Fri, 18 Dec 2020 12:14:44 +0800
[Message part 1 (text/plain, inline)]
Good work! I think this can help solve #45193[1].

And there're still some issues I mentioned in that issues.

1. We may need to fix `wrap-qt-program` in qt-utils.scm. It's
implementation is quite weird(See my reply in [1]). Or we can remove
this function and make package use

  (assoc-ref qt-build-system:%standard-phases 'qt-wrap)

instead.

2. We should search directories in outputs, now we just search all
inputs. Some Qt programs were deployed with a bundle of Qt plugins in
their prefix. If we miss these dirs, they won't run.

[1]: https://issues.guix.gnu.org/45193

--
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
[signature.asc (application/pgp-signature, inline)]

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Mon, 11 Jan 2021 16:06:01 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Mon, 11 Jan 2021 16:06:02 GMT) Full text and rfc822 format available.

Message #13 received at 45221-close <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 45221-close <at> debbugs.gnu.org
Subject: Re: [PATCH] guix: qt-build-system: Wrapped executables honor user's
 envvars.
Date: Mon, 11 Jan 2021 17:04:57 +0100
This patch has been superseded by http://issues.guix.gnu.org/45784 and 
following, esp. http://issues.guix.gnu.org/45785




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 09 Feb 2021 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 70 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.