09a53440f1
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.
53 lines
1.5 KiB
Bash
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"
|