Created attachment 160185 [details] qmake_libs_fix Pass LIBS variable to qmake enviroment so that ports using qmake can set libs to link to with standard LIBS declaration.
Committed to area51, will be merged to the portstree after exp-run with the next Qt update.
A commit references this bug: Author: rakuco Date: Wed Sep 16 08:55:18 UTC 2015 New revision: 397043 URL: https://svnweb.freebsd.org/changeset/ports/397043 Log: Update the Qt4 ports to 4.8.7. According to upstream, this is the last planned Qt4 release. A list of changes since 4.8.6 can be found here: <http://download.qt.io/official_releases/qt/4.8/4.8.7/changes-4.8.7> Porting notes and changes: - Remove several patches that have been upstreamed. - Make Uses/qmake.mk pass the contents of LIBS to the qmake environment. [1] - Repurpose devel/qt4/files/extrapatch-src-corelib-global-qglobal.h now the original patch is part of the release (curiously enough, the original patch was never actually used, as the ?= assignment in r362837 after r362770 was never possible). This works around the way compiler support for C++11 features is detected in Qt 4.8.7: while it originally only uses the compiler to determine if something is supported or not, the initializer lists feature also depends on the C++ standard library being used. It's a problem in FreeBSD 9.x, where USES=compiler:c++0x or USES=compiler:c++11-lang means we will use clang to build a port but use libstdc++ from base (GCC 4.2). The latter obviously does not support initializer lists, and the build fails because Qt tries to include headers that do not exist (<initializer_list>). Since detecting libstdc++'s version is not trivial (we need to include a non-lightweight header like cstdio and then check for __GLIBCXX__), we just enable Q_COMPILER_INITIALIZER_LISTS support only when libc++ is used (there should be no reason for someone to be using clang with GCC 4.8's libstdc++, for example). x11/kdelibs4's FindQt4.cmake had to include a backported change from the upstream FindQt4.cmake in CMake itself to use a C++ compiler to detect flags like Q_WS_X11, otherwise the inclusion of <ciso646> in qglobal.h makes the build fail. This patch contains changes by me, makc@ and alonso@. PR: 202552 [1] PR: 202808 [exp-run] Submitted by: pawel@ [1] Changes: head/Mk/Uses/qmake.mk head/Mk/bsd.qt.mk head/cad/qcad/Makefile head/databases/qt4-odbc-plugin/Makefile head/databases/qt4-sql/Makefile head/databases/qt4-sqlite-plugin/Makefile head/databases/qt4-sqlite3-plugin/Makefile head/devel/dbus-qt4/Makefile head/devel/qmake4/pkg-plist head/devel/qt4/Makefile head/devel/qt4/distinfo head/devel/qt4/files/extrapatch-configure head/devel/qt4/files/extrapatch-src-corelib-global-qglobal.h head/devel/qt4-assistant/Makefile head/devel/qt4-corelib/Makefile head/devel/qt4-designer/Makefile head/devel/qt4-help/Makefile head/devel/qt4-linguist/Makefile head/devel/qt4-qmlviewer/Makefile head/devel/qt4-qt3support/Makefile head/devel/qt4-qvfb/Makefile head/devel/qt4-script/Makefile head/devel/qt4-script/files/patch-src__3rdparty__javascriptcore__JavaScriptCore__wtf__Threading.h head/devel/qt4-scripttools/Makefile head/devel/qt4-testlib/Makefile head/graphics/qt4-imageformats/Makefile head/graphics/qt4-imageformats/files/ head/graphics/qt4-opengl/Makefile head/graphics/qt4-opengl/pkg-plist head/graphics/qt4-svg/Makefile head/misc/qt4-l10n/Makefile head/misc/qt4-l10n/pkg-plist head/misc/qt4-qtconfig/Makefile head/misc/qt4-qtdemo/Makefile head/multimedia/qt4-multimedia/Makefile head/net/qt4-network/Makefile head/textproc/clucene-qt4/Makefile head/textproc/qt4-xml/Makefile head/textproc/qt4-xmlpatterns/Makefile head/www/webkit-qt4/Makefile head/x11/kdelibs4/Makefile head/x11/kdelibs4/files/patch-cmake_modules_FindQt4.cmake head/x11/qt4-graphicssystems-opengl/Makefile head/x11-toolkits/qt4-declarative/Makefile head/x11-toolkits/qt4-gui/Makefile head/x11-toolkits/qt4-gui/files/