3
0
Fork 0
forked from mirrors/nixpkgs

qt5.env: use buildEnv

This both simplifies the code and ensures that libraries are linked too.
This commit is contained in:
Nikolay Amiantov 2017-02-03 17:46:20 +03:00
parent a14217ec6e
commit 99a83fbe1d

View file

@ -1,28 +1,22 @@
{ lib, runCommand, lndir, qtbase }: name: paths:
{ lib, buildEnv, qtbase }: name: paths:
runCommand name { qtbase = qtbase.dev; paths = lib.chooseDevOutputs paths; } ''
buildEnv {
inherit name;
paths = [ qtbase ] ++ paths;
mkdir -p "$out/bin" "$out/mkspecs" "$out/include" "$out/lib" "$out/share"
pathsToLink = [ "/bin" "/mkspecs" "/include" "/lib" "/share" ];
extraOutputsToInstall = [ "dev" ];
cp "$qtbase/bin/qmake" "$out/bin"
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
for pkg in $paths $qtbase; do
if [[ -d "$pkg/mkspecs" ]]; then
${lndir}/bin/lndir -silent "$pkg/mkspecs" "$out/mkspecs"
for dir in bin include lib share; do
if [[ -d "$pkg/$dir" ]]; then
${lndir}/bin/lndir -silent "$pkg/$dir" "$out/$dir"
fi
done
fi
done
''
postBuild = ''
rm "$out/bin/qmake"
cp "${qtbase.dev}/bin/qmake" "$out/bin"
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
'';
}