Subject: Re: Wrapper of Qt programs doesn't extend existing environment variable

From: Zhu Zihao <[email-masked]>
Date: Sun, 20 Dec 2020 02:20:06 +0800

Hartmut Goebel writes:

> I agree that leaking the environments variables from the build environment to
> the package is not a good idea. Also we might want to add some filters to avoid
> all imports (including cmake) are going into the wrapping variables - which is
> much easier when dealing with inputs nor strings.

I just check how Nixpkgs do Qt wrapping, it use same strategy like wrap-qt-program.
Since our environment variable only contains the path to inputs, capture
the build-time environment can be forgiven (compare with patch-shebang).

I think the main problem is include unwanted directory accidentally and
increase the closure size. But it looks like an impossible job to do it
automatically. My idea is provide a keyword argument
#:qt-wrap-exclude-inputs to prevent qt-build-system to search unwanted inputs.

BTW, would you like to use prefix wrap for wrap-qt-program in qt-utils.scm?

> If I understand the code correctly,  line 103 of qt-build-system also handle the
> output directories
>
>                              (append (list directory)
>                                      input-directories))))
>
> and the qt-build-system should even handle different outputs (while qt-tuils
> does not):
>
>   (for-each handle-output outputs)
>
> (I may be wrong on this, please double check.

Yes you're right, output was handled. I misunderstood the code before. 

-- 
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao