On Thu Jun 20, 2019 at 04:46:59PM +0100, Stuart Henderson wrote: > Thanks for the report, > > On 2019/06/20 17:30, Vadim Penzin wrote: > > I admit that I am not familiar with the release process of pre-built binary > > packages; I might be writing to a wrong mailing list and I apologize in > > advance. > > ports@ is the better list for this, I've CC'd and set reply-to. > > > All libtool scripts from qt5 (/usr/local/lib/qt5/*.la) contain the following > > on their third line: > > > > LIBQt5XXX_VERSION=5.9# The name that we can dlopen(3). > > > > (XXX above stands for the name of a particular library, such as Core, > > Network, etc.) > > > > Since shell scripts (that libtool generates) source .la files, sh(1) fails > > on unexpected '(' because someone, somewhere omitted a space before the > > comment. > > > > Patching /usr/local/lib/qt5/*.la files programmatically by tucking a space > > before the hash character brings linking with Qt5 assisted (encumbered?) by > > libtool back to life. > > > > --Vadim > > > > This patch to the qtbase port should fix the problem at source (I'll leave > it building and test later). However it will also require REVISION bumps > on all ports including .la files produced by this. > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/x11/qt5/qtbase/Makefile,v > retrieving revision 1.29 > diff -u -p -w -u -r1.29 Makefile > --- Makefile 20 May 2019 22:15:29 -0000 1.29 > +++ Makefile 20 Jun 2019 15:43:00 -0000 > @@ -15,13 +15,13 @@ PKGNAME-global = qt5-global-${VERSION} > PKGNAME-psql = qt5-postgresql-${VERSION} > PKGNAME-sqlite2 = qt5-sqlite2-${VERSION} > PKGNAME-tds = qt5-tds-${VERSION} > + > REVISION-global = 0 > +REVISION-main = 5 > REVISION-mysql = 0 > REVISION-psql = 0 > REVISION-sqlite2 = 0 > REVISION-tds = 0 > - > -REVISION-main = 4 > > PKG_ARCH-global = * > PKG_ARCH-examples = * > Index: patches/patch-qmake_generators_unix_unixmake2_cpp > =================================================================== > RCS file: > /cvs/ports/x11/qt5/qtbase/patches/patch-qmake_generators_unix_unixmake2_cpp,v > retrieving revision 1.3 > diff -u -p -w -u -r1.3 patch-qmake_generators_unix_unixmake2_cpp > --- patches/patch-qmake_generators_unix_unixmake2_cpp 5 Jul 2018 09:49:13 > -0000 1.3 > +++ patches/patch-qmake_generators_unix_unixmake2_cpp 20 Jun 2019 15:43:00 > -0000 > @@ -136,13 +136,14 @@ Index: qmake/generators/unix/unixmake2.c > } else if (!project->isEmpty("QMAKE_AIX_SHLIB")) { > > project->values("TARGET_").append(project->first("QMAKE_PREFIX_STATICLIB") + > project->first("TARGET") > + "." + project->first("QMAKE_EXTENSION_STATICLIB")); > -@@ -1465,18 +1498,32 @@ UnixMakefileGenerator::writeLibtoolFile() > +@@ -1465,18 +1498,33 @@ UnixMakefileGenerator::writeLibtoolFile() > << QT_VERSION_STR << ")"; > t << "\n"; > > + if (!project->isEmpty("QMAKE_OPENBSD_SHLIB")) > + t << "LIB" << fileVar("QMAKE_ORIG_TARGET") << "_VERSION=" > -+ << project->first("VER_MAJ") << "." << project->first("VER_MIN"); > ++ << project->first("VER_MAJ") << "." << project->first("VER_MIN") > ++ << "\n";
This's what Qt 5.13 doas. They use "<< endl;" instead of "<< "\n";", I would like to prefer that. std::endl calls std::flush which synchronizes with the underlying storage device. RS > + > t << "# The name that we can dlopen(3).\n" > - << "dlname='" << fileVar(project->isActiveConfig("plugin") ? "TARGET" > : "TARGET_x") >