diff options
author | rakuco <rakuco@FreeBSD.org> | 2016-09-17 17:46:54 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2016-09-17 17:46:54 +0800 |
commit | 7fdf0da385d7c6b2b7639653af91bc8fc409f713 (patch) | |
tree | ff6682b425056cf66ba4ca415211efb1b19cc258 /Mk | |
parent | df8c76029e3c07b11560a8a3593db5b589718863 (diff) | |
download | freebsd-ports-gnome-7fdf0da385d7c6b2b7639653af91bc8fc409f713.tar.gz freebsd-ports-gnome-7fdf0da385d7c6b2b7639653af91bc8fc409f713.tar.zst freebsd-ports-gnome-7fdf0da385d7c6b2b7639653af91bc8fc409f713.zip |
Update the Qt5 ports to 5.6.1.
This took longer than expected, but there are quite a few changes to the
existing ports and a few new ones.
General upstream changes:
- Starting with Qt 5.6.2, Qt will fail at configuration time if LibreSSL is
being used. According to the discussion here:
https://codereview.qt-project.org/#/c/154800/
The Qt project is not opposed to LibreSSL, but does not want to mix
support for it into the OpenSSL backend code, especially as they move
towards supporting OpenSSL 1.1.
People interested in LibreSSL support are welcome to submit a separate
backend upstream, but are expected to maintain it. We (kde@) are not
opposed to carrying some patches authored by others in the future, as long
as they are not huge and destabilizing.
- When Qt detects the compiler supports C++11, it will pass -std=gnu++11 by
default (this is an upstream change). You can add "CONFIG -= c++11" to
your .pro. Qt 5.7 will require C++11.
- www/webkit-qt5: The QtWebKit module is deprecated upstream, and is shipped
separately as a community release tarball. kde@ does not have an ETA for a
qt5-webengine port, as it requires a huge effort (and number of patches)
similar to maintaining www/chromium itself.
- x11-toolkits/qt5-declarative has been deprecated upstream. The last
release is 5.5.1.
Relevant changes:
- devel/qmake5: The freebsd-clang mkspec has become the default mkspec on
FreeBSD, replacing the outdated freebsd-g++ one that was moved to
unsupported/ (it still works though).
- devel/qt5-qdoc: qdoc was moved to qttools upstream, but its data files are
still in qtbase. The data files are now in the qt5-qdoc-data port.
- misc/qt5-doc: Clean up and stop requiring a compiler and fumbling with
mkspecs. Instead of running the `configure' script, which requires a
compiler and adjustments to the mkspecs files and also ends up building a
new qmake binary, we now leverage USES=qmake to generate all the Makefiles
from the top-level qt.pro. Getting this to work requires some tricks,
though, and qt.conf.in has a longer explanation of what's being done.
Switch to USES=gmake to be able to drop MAKE_JOBS_UNSAFE=yes.
New ports:
- comms/qt5-serialbus
- devel/qt5-qdoc-data
- x11-toolkits/qt5-quickcontrols2
Big thanks to Adriaan de Groot (groot@kde.org), tcberner@ and Loise Nolden
(nolden@kde.org) for the huge amount of work they put into this
patch. Loise in particular also sent quite a few changes upstream that were
essential for this update to work.
PR: 211916
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/bsd.qt.mk | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/Mk/bsd.qt.mk b/Mk/bsd.qt.mk index 1d971aec90b6..543ad3988dfe 100644 --- a/Mk/bsd.qt.mk +++ b/Mk/bsd.qt.mk @@ -27,7 +27,7 @@ Qt_Pre_Include= bsd.qt.mk # Qt versions currently supported by the framework. _QT_SUPPORTED?= 4 5 QT4_VERSION?= 4.8.7 -QT5_VERSION?= 5.5.1 +QT5_VERSION?= 5.6.1 QT_PREFIX?= ${LOCALBASE} @@ -60,7 +60,7 @@ MASTER_SITES= ${MASTER_SITE_QT} # Useless, as it must be defined before including bsd.port.pre.mk (at least # because of bsd.options.mk). #PKGNAMEPREFIX?= ${_QT_RELNAME}- -DISTINFO_FILE= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo +DISTINFO_FILE?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo # Can go after a while. CONFLICTS_BUILD=qt-3.* qt-copy-3.* @@ -75,19 +75,15 @@ DESCR?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/pkg-descr DESTDIRNAME= INSTALL_ROOT . if ${_QT_VERSION:M4*} -MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/ +MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/ DISTNAME= qt-everywhere-opensource-src-${_QT_VERSION} DIST_SUBDIR= KDE . else -. if ${_QT_VERSION:M*-*} -# Pre-releases. -MASTER_SITE_SUBDIR= development_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/ -. else -MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/ -. endif -DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${_QT_VERSION},} +MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/ +DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},} DISTFILES= ${DISTNAME:S,$,${EXTRACT_SUFX},} DIST_SUBDIR= KDE/Qt/${_QT_VERSION} + USES+= tar:xz # Qt (at least when used with qmake) has a tendency to overlink: some libraries @@ -103,9 +99,11 @@ LDFLAGS+= -Wl,--as-needed defined(DISABLE_SIZE) && defined(NO_CHECKSUM) # Ensure that the "makesum" target (with its inner "fetch" one) uses # devel/qt*/distinfo for every port. -QT_DIST= 3d base canvas3d connectivity declarative doc graphicaleffects imageformats \ - location multimedia quick1 quickcontrols script sensors serialport svg tools \ - translations webchannel webkit webkit-examples websockets x11extras xmlpatterns +. if ${DISTINFO_FILE:H} == ${.CURDIR:H:H}/devel/${_QT_RELNAME} +QT_DIST= 3d base canvas3d connectivity declarative graphicaleffects imageformats \ + location multimedia quickcontrols quickcontrols2 script sensors serialbus serialport svg tools \ + translations webchannel websockets x11extras xmlpatterns +. endif . endif . if ${QT_DIST} == "base" && ${PORTNAME} != "qmake" @@ -183,7 +181,8 @@ CONFIGURE_ARGS+=-verbose . if ${_QT_VERSION:M4*} _EXTRA_PATCHES_QT4= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h . else -_EXTRA_PATCHES_QT5= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src_corelib_global_qcompilerdetection.h +_EXTRA_PATCHES_QT5= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src_corelib_global_qcompilerdetection.h \ + ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests_unix_libdl_libdl.pro . 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 \ @@ -215,8 +214,8 @@ QMAKE_ARGS+= QT_CONFIG+="${QT_CONFIG:N-*:O:u}" QMAKE_ARGS+= QT_CONFIG-="${QT_CONFIG:M-*:O:u:C/^-//}" . endif -PLIST_SUB+= SHORTVER=${_QT_VERSION:R} \ - FULLVER=${_QT_VERSION:C/-.*//} +PLIST_SUB+= SHORTVER=${DISTVERSION:R} \ + FULLVER=${DISTVERSION:C/-.*//} .endif # defined(QT_DIST) .if ${_QT_VERSION:M4*} @@ -313,9 +312,9 @@ _USE_QT4_ONLY= accessible assistant-adp assistantclient codecs-cn codecs-jp \ _USE_QT5_ONLY= 3d buildtools canvas3d concurrent connectivity core \ examples graphicaleffects location paths phonon4 \ - printsupport qdbus qdoc qev qml quick quickcontrols \ - sensors serialport sql-tds uiplugin uitools webchannel \ - websockets widgets x11extras + printsupport qdbus qdoc qdoc-data qev qml quick quickcontrols \ + quickcontrols2 sensors serialbus serialport sql-tds \ + uiplugin uitools webchannel websockets widgets x11extras 3d_PORT= graphics/${_QT_RELNAME}-3d 3d_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}3DCore.so @@ -464,6 +463,9 @@ qdbusviewer_PATH= ${QT_BINDIR}/qdbusviewer qdoc_PORT= devel/${_QT_RELNAME}-qdoc qdoc_PATH= ${QT_BINDIR}/qdoc +qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data +qdoc-data_PATH= ${QT_DOCDIR}/global/config.qdocconf + qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3 qdoc3_PATH= ${QT_BINDIR}/qdoc3 @@ -494,6 +496,9 @@ quick_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Quick.so quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols quickcontrols_PATH= ${QT_QMLDIR}/QtQuick/Controls/qmldir +quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2 +quickcontrols2_PATH= ${QT_QMLDIR}/Qt/labs/controls/qmldir + qvfb_PORT= devel/${_QT_RELNAME}-qvfb qvfb_PATH= ${QT_BINDIR}/qvfb${_QT_BINSUFX} @@ -509,6 +514,9 @@ script_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Script.so scripttools_PORT= devel/${_QT_RELNAME}-scripttools scripttools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}ScriptTools.so +serialbus_PORT= comms/${_QT_RELNAME}-serialbus +serialbus_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}SerialBus.so + serialport_PORT= comms/${_QT_RELNAME}-serialport serialport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}SerialPort.so |