Subject: bug#45193: Wrapper of Qt programs doesn't extend existing environment variable

From: Zhu Zihao <[email-masked]>
Date: Sat, 12 Dec 2020 17:11:40 +0800

Reproduce steps:

   guix environment --ad-hoc qbittorrent && cat $GUIX_ENVIRONMENT/bin/qbittorrent

We can see the wrapper generated in qt-build-system doesn't extend
existing environment variable. Instead, it overrides them.

It was discussed in
https://lists.gnu.org/archive/html/guix-devel/2019-12/msg00117.html one
year ago. This's not a trivial issue because using input method in Qt
program requires an qt plugin(XIM doesn't work here) which is managed by
QT_PLUGIN_PATH.

We should change following functions:

1. guix/build/qt-build-system.scm(wrap-all-programs)
2. guix/build/qt-utils.scm(wrap-qt-program)

It's ideal to make wrap-all-programs use wrap-qt-program internally and
we don't need to maintain two copy of wrap code.

-- 
Retrieve my PGP public key: https://meta.sr.ht/~citreu.pgp

Zihao