aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authorrakuco <rakuco@FreeBSD.org>2015-09-16 16:55:04 +0800
committerrakuco <rakuco@FreeBSD.org>2015-09-16 16:55:04 +0800
commitd5338a9cd4d4b1f27857bddfb442b5aa31c9ec39 (patch)
treee7c188c382abfae82fd4ac0c5e99a8570491f129 /Mk
parent0fdf37c9da152a83e3f3fbafad84909f358db8e2 (diff)
downloadfreebsd-ports-gnome-d5338a9cd4d4b1f27857bddfb442b5aa31c9ec39.tar.gz
freebsd-ports-gnome-d5338a9cd4d4b1f27857bddfb442b5aa31c9ec39.tar.zst
freebsd-ports-gnome-d5338a9cd4d4b1f27857bddfb442b5aa31c9ec39.zip
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]
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/qmake.mk1
-rw-r--r--Mk/bsd.qt.mk12
2 files changed, 7 insertions, 6 deletions
diff --git a/Mk/Uses/qmake.mk b/Mk/Uses/qmake.mk
index f7322b305a3c..c306d4c51394 100644
--- a/Mk/Uses/qmake.mk
+++ b/Mk/Uses/qmake.mk
@@ -71,6 +71,7 @@ QMAKE_ARGS+= -spec ${QMAKESPEC} \
QMAKE_CFLAGS="${CFLAGS}" \
QMAKE_CXXFLAGS="${CXXFLAGS}" \
QMAKE_LFLAGS="${LDFLAGS}" \
+ QMAKE_LIBS="${LIBS}" \
QMAKE_CFLAGS_DEBUG="" \
QMAKE_CFLAGS_RELEASE="" \
QMAKE_CXXFLAGS_DEBUG="" \
diff --git a/Mk/bsd.qt.mk b/Mk/bsd.qt.mk
index 33d109891ebc..37f1d92eb889 100644
--- a/Mk/bsd.qt.mk
+++ b/Mk/bsd.qt.mk
@@ -26,7 +26,7 @@ Qt_Pre_Include= bsd.qt.mk
# Qt versions currently supported by the framework.
_QT_SUPPORTED?= 4 5
-QT4_VERSION?= 4.8.6
+QT4_VERSION?= 4.8.7
QT5_VERSION?= 5.4.1
QT_PREFIX?= ${LOCALBASE}
@@ -171,13 +171,13 @@ CONFIGURE_ARGS+=-verbose
. endif
. if ${QT_DIST} == "base" || ${_QT_VERSION:M4*}
-EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool
. if ${_QT_VERSION:M4*}
-EXTRA_PATCHES?= ${EXTRA_PATCHES} \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h
+_EXTRA_PATCHES_QT4= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h
. endif
+EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
+ ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test \
+ ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
+ ${_EXTRA_PATCHES_QT4}
. endif
# Override settings installed in qconfig.h and *.pri files. The flags will be