diff options
author | rakuco <rakuco@FreeBSD.org> | 2015-09-16 16:55:04 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2015-09-16 16:55:04 +0800 |
commit | d5338a9cd4d4b1f27857bddfb442b5aa31c9ec39 (patch) | |
tree | e7c188c382abfae82fd4ac0c5e99a8570491f129 /Mk | |
parent | 0fdf37c9da152a83e3f3fbafad84909f358db8e2 (diff) | |
download | freebsd-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.mk | 1 | ||||
-rw-r--r-- | Mk/bsd.qt.mk | 12 |
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 |