guix-devel
[Top][All Lists]
Advanced

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

Re: QtHaveModule


From: David Craven
Subject: Re: QtHaveModule
Date: Tue, 9 Aug 2016 21:04:49 +0200

Hi Andreas,

> This makes me think that "qtHaveModule" does not work; and I wonder whether
> in our other Qt modules that have Qt modules as input, these are actually
> detected correctly. Well, I tried qtsensors, and did not notice this problem.

Trying to package the missing qt modules I came to the same conclusion. I think
that the qt modules that we have packaged all share one thing in common. They
do not use the qtHaveModule macro. qtsensors for example does not [0].

> Nix should have the same problem;
> they call a shell script "setup-hook.sh" that extends an environment variable
> NIX_QT5_MODULES by the output path of each module. This is then used in a
> complicated shell script setup-hook.sh of qtbase.

I think that the magic happens in qt-env.nix [1], but I'm not sure. It
looks like
qt-env.nix takes all the qtInputs and turns it into what looks like a
guix profile
to me. Then it uses a qt.conf file to set the relevant paths.

> cat >"$out/bin/qt.conf" <<EOF
> [Paths]
> Prefix = $out
> Plugins = lib/qt5/plugins
> Imports = lib/qt5/imports
> Qml2Imports = lib/qt5/qml
> Documentation = share/doc/qt5
> EOF

I am not sure what the best way to proceed is, since $out should be
$GUIX_ENVIRONMENT,
but $GUIX_ENVIRONMENT isn't known when we build qtbase. What I think
needs to happen
for QtHaveModule to work is we need to generate a qt.conf file when a
guix environment is
created that has qtbase as a dependency and make sure it's symlinked
into the bin directory.

[0] https://github.com/qt/qtsensors/blob/dev/qtsensors.pro
[1] 
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/qt-env.nix



reply via email to

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