ports/opt (3.5): [notify] qt5: QTBUG-76625 Generated la files are invalid
commit 53b46aa2ab13b4a1cfa373b2c9437297462b48fb Author: Danny Rawlins <monster.romster@gmail.com> Date: Sun Aug 4 14:30:57 2019 +1000 [notify] qt5: QTBUG-76625 Generated la files are invalid diff --git a/qt5/.signature b/qt5/.signature index ab1653106..04cc5bcc1 100644 --- a/qt5/.signature +++ b/qt5/.signature @@ -1,6 +1,7 @@ untrusted comment: verify with /etc/ports/opt.pub -RWSE3ohX2g5d/amBnKRN4Ed0/lVIhyTTVhpEli1HxXobfWq32Wra6yIl8kTTy/4Ah58IfhaKkAsJPJS+7kUffO1+4UgT+9A4vgE= -SHA256 (Pkgfile) = ea4a9659e115aae28fdb499dec22ef547729bc204916b736bc64a084914dd24a +RWSE3ohX2g5d/SQwese/2wNQ1hRJW/1VmPwwil6ah2H0Edq7W4w+bFn8bPlpnSIJatd6tyHHma90NkA8ea8l9m66AgophCrs3QQ= +SHA256 (Pkgfile) = c60b0a8048a5b180618cae4d3b0b97d3442ee7f546f5cf05adb22e5735f16d19 SHA256 (.footprint) = f89028592a8441a23df52775b4e018154a57ce914c96fa51b1718bb89cf99a31 SHA256 (qt-everywhere-src-5.12.4.tar.xz) = 85da5e0ee498759990180d5b8192efaa6060a313c5018b772f57d446bdd425e1 SHA256 (qt5-logo.png) = ae1335ecd1cd2d17032184895ab298a636cdfa8121b0ed71307c4f2b23ec928e +SHA256 (QTBUG-76625.patch) = 1c4e7e006185186ab3ffd02815db40ded2ff97944b0e58d6f6cb0868b1f0bab6 diff --git a/qt5/Pkgfile b/qt5/Pkgfile index c618c8052..46234b90b 100644 --- a/qt5/Pkgfile +++ b/qt5/Pkgfile @@ -5,13 +5,16 @@ name=qt5 version=5.12.4 -release=1 +release=2 source=(https://download.qt.io/official_releases/qt/${version::4}/$version/single/qt-everywhere-src-$version.tar.xz - qt5-logo.png) + qt5-logo.png QTBUG-76625.patch) build() { cd qt-everywhere-src-$version + # https://bugreports.qt.io/browse/QTBUG-76625 + patch -p1 -d qtbase -i $SRC/QTBUG-76625.patch + # Respect system CXX [ "$CXX" ] || CXX=g++ sed -e "/^QMAKE_CXX\s/s|=.*|= $CXX|" \ diff --git a/qt5/QTBUG-76625.patch b/qt5/QTBUG-76625.patch new file mode 100644 index 000000000..c49cb77c2 --- /dev/null +++ b/qt5/QTBUG-76625.patch @@ -0,0 +1,71 @@ +From 205225994c631aa1310778c304b7ee62ee2701ef Mon Sep 17 00:00:00 2001 +From: Joerg Bornemann <joerg.bornemann@qt.io> +Date: Wed, 31 Jul 2019 10:55:14 +0200 +Subject: [PATCH] Fix dependency_libs entry of .la files + +Libtool cannot cope with absolute paths in the dependency_libs entry. +We split absolute paths into -L and -l here. + +Change-Id: I30bf11e490d1993d2a4d88c114e07bbae12def6d +Fixes: QTBUG-76625 +Reviewed-by: Kai Koehne <kai.koehne@qt.io> +--- + +diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp +index d9bcccf..abc3714 100644 +--- a/qmake/generators/unix/unixmake2.cpp ++++ b/qmake/generators/unix/unixmake2.cpp +@@ -1450,7 +1450,36 @@ + void + UnixMakefileGenerator::writeLibtoolFile() + { ++ auto fixDependencyLibs ++ = [this](const ProStringList &libs) ++ { ++ ProStringList result; ++ for (auto lib : libs) { ++ auto fi = fileInfo(lib.toQString()); ++ if (fi.isAbsolute()) { ++ const QString libDirArg = "-L" + fi.path(); ++ if (!result.contains(libDirArg)) ++ result += libDirArg; ++ QString namespec = fi.fileName(); ++ int dotPos = namespec.lastIndexOf('.'); ++ if (dotPos != -1 && namespec.startsWith("lib")) { ++ namespec.truncate(dotPos); ++ namespec.remove(0, 3); ++ } else { ++ debug_msg(1, "Ignoring dependency library %s", ++ lib.toLatin1().constData()); ++ continue; ++ } ++ result += "-l" + namespec; ++ } else { ++ result += lib; ++ } ++ } ++ return result; ++ }; ++ + QString fname = libtoolFileName(), lname = fname; ++ debug_msg(1, "Writing libtool file %s", fname.toLatin1().constData()); + mkdir(fileInfo(fname).path()); + int slsh = lname.lastIndexOf(Option::dir_sep); + if(slsh != -1) +@@ -1488,12 +1517,11 @@ + << ".a'\n\n"; + + t << "# Libraries that this one depends upon.\n"; ++ static const ProKey libVars[] = { "LIBS", "QMAKE_LIBS" }; + ProStringList libs; +- libs << "LIBS" << "QMAKE_LIBS"; +- t << "dependency_libs='"; +- for (ProStringList::ConstIterator it = libs.begin(); it != libs.end(); ++it) +- t << fixLibFlags((*it).toKey()).join(' ') << ' '; +- t << "'\n\n"; ++ for (auto var : libVars) ++ libs += fixLibFlags(var); ++ t << "dependency_libs='" << fixDependencyLibs(libs).join(' ') << "'\n\n"; + + t << "# Version information for " << lname << "\n"; + int maj = project->first("VER_MAJ").toInt();
participants (1)
-
crux@crux.nu