From 99a83fbe1de57a25fc779a153075cdae7cc3e46e Mon Sep 17 00:00:00 2001
From: Nikolay Amiantov <ab@fmap.me>
Date: Fri, 3 Feb 2017 17:46:20 +0300
Subject: [PATCH] qt5.env: use buildEnv

This both simplifies the code and ensures that libraries are linked too.
---
 pkgs/development/libraries/qt-5/qt-env.nix | 44 ++++++++++------------
 1 file changed, 19 insertions(+), 25 deletions(-)

diff --git a/pkgs/development/libraries/qt-5/qt-env.nix b/pkgs/development/libraries/qt-5/qt-env.nix
index b2b7121d51d..fad68fbd745 100644
--- a/pkgs/development/libraries/qt-5/qt-env.nix
+++ b/pkgs/development/libraries/qt-5/qt-env.nix
@@ -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
+  '';
+}