nixpkgs-suyu/pkgs/development/libraries/qt-5/5.4/setup-hook.sh
Thomas Tuegel 09a53440f1 qt54: don't propagate build inputs
This disables propagated of Qt 5 build inputs at the request of
@edolstra. If this breaks your build, you need to add the missing
dependencies yourself. If this breaks your package at runtime, you need
to wrap your package to set either the plugin path or the QML import
path.
2015-06-25 09:03:41 -05:00

53 lines
1.5 KiB
Bash

addQtModule() {
if [[ -d "$1/mkspecs" ]]; then
@lndir@/bin/lndir -silent "$1/mkspecs" "$qtOut/mkspecs"
if [[ -n $qtSubmodule ]]; then
find "$1/mkspecs" -printf 'mkspecs/%P\n' >> "$qtOut/nix-support/qt-inputs"
fi
if [[ -d "$1/bin" ]]; then
@lndir@/bin/lndir -silent "$1/bin" "$qtOut/bin"
if [[ -n $qtSubmodule ]]; then
find "$1/bin" -printf 'bin/%P\n' >> "$qtOut/nix-support/qt-inputs"
fi
fi
if [[ -d "$1/include" ]]; then
@lndir@/bin/lndir -silent "$1/include" "$qtOut/include"
if [[ -n $qtSubmodule ]]; then
find "$1/include" -printf 'include/%P\n' >> "$qtOut/nix-support/qt-inputs"
fi
fi
if [[ -n $qtSubmodule ]] && [[ -d "$1/lib" ]]; then
@lndir@/bin/lndir -silent "$1/lib" "$qtOut/lib"
find "$1/lib" -printf 'lib/%P\n' >> "$qtOut/nix-support/qt-inputs"
fi
fi
}
setQMakePath() {
export PATH="$qtOut/bin${PATH:+:}$PATH"
}
qtOut=""
if [[ -z $qtSubmodule ]]; then
qtOut="$PWD/qmake-$name"
else
qtOut=$out
fi
mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib"
cp "@out@/bin/qmake" "$qtOut/bin"
cat >"$qtOut/bin/qt.conf" <<EOF
[Paths]
Prefix = $qtOut
Plugins = $qtOut/lib/qt5/plugins
Imports = $qtOut/lib/qt5/imports
Qml2Imports = $qtOut/lib/qt5/qml
EOF
envHooks+=(addQtModule)
preConfigurePhases+=" setQMakePath"