diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/qtbase-setup-hook.sh')
-rw-r--r-- | pkgs/development/libraries/qt-5/qtbase-setup-hook.sh | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh deleted file mode 100644 index e4ef456bf97b..000000000000 --- a/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh +++ /dev/null @@ -1,155 +0,0 @@ -qtPluginPrefix=@qtPluginPrefix@ -qtQmlPrefix=@qtQmlPrefix@ -qtDocPrefix=@qtDocPrefix@ - -NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" -NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" - -providesQtRuntime() { - [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ] -} - -# Propagate any runtime dependency of the building package. -# Each dependency is propagated to the user environment and as a build -# input so that it will be re-propagated to the user environment by any -# package depending on the building package. (This is necessary in case -# the building package does not provide runtime dependencies itself and so -# would not be propagated to the user environment.) -_qtCrossEnvHook() { - if providesQtRuntime "$1"; then - propagatedBuildInputs+=" $1" - propagatedUserEnvPkgs+=" $1" - fi -} -if [ -z "$NIX_QT5_TMP" ]; then - crossEnvHooks+=(_qtCrossEnvHook) -fi - -_qtEnvHook() { - if providesQtRuntime "$1"; then - propagatedNativeBuildInputs+=" $1" - if [ -z "$crossConfig" ]; then - propagatedUserEnvPkgs+=" $1" - fi - fi -} -if [ -z "$NIX_QT5_TMP" ]; then - envHooks+=(_qtEnvHook) -fi - -_qtPreFixupHook() { - moveToOutput "mkspecs" "${!outputDev}" -} -if [ -z "$NIX_QT5_TMP" ]; then - preFixupHooks+=(_qtPreFixupHook) -fi - -_qtPostInstallHook() { - # Clean up temporary installation files created by this setup hook. - # For building Qt modules, this is necessary to prevent including - # dependencies in the output. For all other packages, this is necessary - # to induce patchelf to remove the temporary paths from the RPATH of - # dynamically-linked objects. - if [ -z "$NIX_QT_SUBMODULE" ]; then - rm -fr "$NIX_QT5_TMP" - else - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do - if [ ! -d "$NIX_QT5_TMP/$file" ]; then - rm -f "$NIX_QT5_TMP/$file" - fi - done - - cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do - if [ -d "$NIX_QT5_TMP/$dir" ]; then - rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" - fi - done - - rm "$NIX_QT5_TMP/nix-support/qt-inputs" - fi - - # Patch CMake modules - if [ -n "$NIX_QT_SUBMODULE" ]; then - find "${!outputLib}" -name "*.cmake" | while read file; do - substituteInPlace "$file" \ - --subst-var-by NIX_OUT "${!outputLib}" \ - --subst-var-by NIX_DEV "${!outputDev}" \ - --subst-var-by NIX_BIN "${!outputBin}" - done - fi -} -if [ -z "$NIX_QT5_TMP" ]; then - preConfigureHooks+=(_qtPreConfigureHook) -fi - -_qtLinkModuleDir() { - if [ -d "$1/$2" ]; then - @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" - find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - fi -} - -_qtPreConfigureHook() { - # Find the temporary qmake executable first. - # This must run after all the environment hooks! - export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" - - # Link all runtime module dependencies into the temporary directory. - IFS=: read -a modules <<< $NIX_QT5_MODULES - for module in ${modules[@]}; do - _qtLinkModuleDir "$module" "lib" - done - - # Link all the build-time module dependencies into the temporary directory. - IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV - for module in ${modules[@]}; do - _qtLinkModuleDir "$module" "bin" - _qtLinkModuleDir "$module" "include" - _qtLinkModuleDir "$module" "lib" - _qtLinkModuleDir "$module" "mkspecs" - _qtLinkModuleDir "$module" "share" - done -} -if [ -z "$NIX_QT5_TMP" ]; then - postInstallHooks+=(_qtPostInstallHook) -fi - -if [ -z "$NIX_QT5_TMP" ]; then - if [ -z "$NIX_QT_SUBMODULE" ]; then - if [ -z "$IN_NIX_SHELL" ]; then - NIX_QT5_TMP=$(pwd)/__nix_qt5__ - else - NIX_QT5_TMP=$(mktemp -d) - fi - else - NIX_QT5_TMP=$out - fi - - mkdir -p "$NIX_QT5_TMP/nix-support" - for subdir in bin include lib mkspecs share; do - mkdir -p "$NIX_QT5_TMP/$subdir" - echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - done - - cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" - echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - - cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF -[Paths] -Prefix = $NIX_QT5_TMP -Plugins = $qtPluginPrefix -Qml2Imports = $qtQmlPrefix -Documentation = $qtDocPrefix -EOF - echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs" - - export QMAKE="$NIX_QT5_TMP/bin/qmake" -fi - -_qtShellCleanupHook () { - rm -fr $NIX_QT5_TMP -} - -if [ -n "$IN_NIX_SHELL" ]; then - trap _qtShellCleanupHook EXIT -fi |