qtbase: Update qmake cache name for Qt >= 5.12.4

This commit is contained in:
Thomas Tuegel 2019-09-16 05:44:56 -05:00
parent 7962f8c78b
commit 36a8cfc874
No known key found for this signature in database
GPG Key ID: 22CBF5249D4B4D59

View File

@ -31,6 +31,8 @@ assert withGtk3 -> gtk3 != null;
let
compareVersion = v: builtins.compareVersions version v;
qmakeCacheName =
if compareVersion "5.12.4" >= 0 then ".qmake.stash" else ".qmake.cache";
in
stdenv.mkDerivation {
@ -171,8 +173,15 @@ stdenv.mkDerivation {
-qmldir $out/$qtQmlPrefix \
-docdir $out/$qtDocPrefix"
createQmakeCache() {
cat >>"$1" <<EOF
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
'';
postConfigure = ''
qmakeCacheInjectNixOutputs() {
local cache="$1/${qmakeCacheName}"
if ! [ -f "$cache" ]; then return; fi
echo "qmakeCacheInjectNixOutputs: $cache"
cat >>"$cache" <<EOF
NIX_OUTPUT_BIN = $bin
NIX_OUTPUT_DEV = $dev
NIX_OUTPUT_OUT = $out
@ -183,15 +192,10 @@ stdenv.mkDerivation {
}
find . -name '.qmake.conf' | while read conf; do
cache=$(dirname $conf)/.qmake.cache
echo "Creating \`$cache'"
createQmakeCache "$cache"
qmakeCacheInjectNixOutputs "$(dirname $conf)"
done
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
'';
NIX_CFLAGS_COMPILE =
[
"-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields