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

From: Mark H Weaver <[email-masked]>
Date: Mon, 14 Dec 2020 15:45:23 -0500

Hi,

Zhu Zihao <[email-masked]> writes:

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

I agree with your analysis.  Would you like to propose a patch and test
it as thoroughly as you can?

     Regards,
       Mark