4c67812e01
This is the latest stable release at time of writing. Release announcement: http://blog.qt.io/blog/2015/07/01/qt-5-5-released/ New features in Qt 5.5: https://wiki.qt.io/New_Features_in_Qt_5.5 As usual, huge thanks to Tobias Berner (tcberner@gmail.com) for all his work on these ports in kde@'s experimental area51 repository. He's the one who started the update and did a lot of the initial work on Qt 5.5. Ralf Nolden (nolden@kde.org) has contributed the initial version of most of our new Qt5 ports. Also thanks to Yuri Victorovich (yuri@rawbw.com) for contributing PR 205805 with his own patch for the 5.5.1 update. Some of his changes there prompted additional fixes and changes present in the final patch generated from our experimental repository. New ports: - comms/qt5-connectivity, comms/qt5-sensors, devel/qt5-location, graphics/qt5-3d, net/qt5-enginio, x11-toolkits/qt5-canvas3d, x11-toolkits/qt5-uiplugin. General changes in all Qt5 ports: - All Qt5 ports are now built with -Wl,--as-needed to avoid overlinking, which is a problem with qmake-based because the libraries passed to the linker come from the modules .pri files and many are not necessary. - With this change, several ports had their USE_QT5 lines adjusted to explicitly include some libraries that were pulled in implicitly, and to exclude libraries no longer required with -Wl,--as-needed. Changes in specific ports: - devel/qt5: Drop the SQL_PLUGINS and TOOLS options and depend on all Qt5 ports by default. It makes the Makefile much simpler, and those options were already on by default. - devel/qt5-core: The clang+base libstdc++ workaround has been expanded and more C++11 features have been disabled when that combination is used by a port (basically, FreeBSD 9 with USES=compiler:c++11-lang). The disabled features have explanations for why they were disabled in the patched header itself. - devel/qt5-designer: uiplugins has been split out following a similar change upstream. By depending on qt5-uiplugin, qt5-uitools avoids having to depend on the big qt5-designer port. - multimedia/qt5-multimedia: The port now uses GStreamer 1.0 instead of 0.10. - net/qt5-network: The port now depends on libproxy for proxy settings. Using libproxy allows proxy settings to be read from different sources, and also allows .pac files to work with Qt. - www/qt5-webkit: The port now uses GStreamer 1.0 instead of 0.10. PR: 205805 PR: 206435
705 lines
24 KiB
Makefile
705 lines
24 KiB
Makefile
#-*- tab-width: 4; -*-
|
|
# ex:ts=4
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# Port variables:
|
|
# USE_QT* - List of Qt modules to depend on, with optional '_build'
|
|
# and '_run' suffixes. Define it empty to include this file
|
|
# without depending on Qt ports.
|
|
# QT_DIST - The port belongs to the Qt distribution. Set to 'yes' for
|
|
# Qt 4, or to the distribution name(s) for newer versions.
|
|
# QT_NONSTANDARD - Suppress modification of configure and make environment.
|
|
#
|
|
# Global switches (for inclusion into /etc/make.conf):
|
|
# QT4_OPTIONS - A list of (Qt 4-only) global options; can be CUPS, NAS
|
|
# and/or QGTKSTYLE. If set, Qt will be built with support
|
|
# for:
|
|
# * Common UNIX Printing System (CUPS);
|
|
# * Network Audio System (NAS);
|
|
# * GTK+-based Qt theme (QGTKSTYLE).
|
|
|
|
.if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
|
|
|
|
Qt_Include_MAINTAINER= kde@FreeBSD.org
|
|
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
|
|
|
|
QT_PREFIX?= ${LOCALBASE}
|
|
|
|
_QT_RELNAME= qt${_QT_VERSION:R:R}
|
|
_QT_VERSION= # empty
|
|
.for ver in ${_QT_SUPPORTED}
|
|
. if defined(USE_QT${ver})
|
|
. if empty(_QT_VERSION)
|
|
_QT_VERSION= ${QT${ver}_VERSION}
|
|
. else
|
|
# Reject different USE_QT*.
|
|
IGNORE?= can't be installed: different Qt versions specified via USE_QT[${_QT_SUPPORTED:S/ //g}] #'
|
|
. endif
|
|
. endif
|
|
.endfor
|
|
|
|
.if empty(_QT_VERSION)
|
|
# The file was included without USE_QT*.
|
|
IGNORE?= can't be installed: bsd.qt.mk may only be included via USE_QT[${_QT_SUPPORTED:S/ //g}] #'
|
|
.endif
|
|
|
|
.if defined(QT_DIST)
|
|
QT_NONSTANDARD= yes
|
|
|
|
. if ! ${.MAKEFLAGS:MPREFIX=*}
|
|
PREFIX= ${QT_PREFIX}
|
|
. endif
|
|
|
|
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
|
|
|
|
# Can go after a while.
|
|
CONFLICTS_BUILD=qt-3.* qt-copy-3.*
|
|
|
|
LICENSE?= LGPL21
|
|
|
|
. if !exists(${PKGDIR}/pkg-descr)
|
|
DESCR?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/pkg-descr
|
|
. endif
|
|
|
|
# Stage support.
|
|
DESTDIRNAME= INSTALL_ROOT
|
|
|
|
. if ${_QT_VERSION:M4*}
|
|
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},}
|
|
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
|
|
# have dependencies on others in the mkspec configurations and the latter are
|
|
# always passed to the linker even if they are not actually used. By passing
|
|
# --as-needed to the linker by default when building the Qt ports we do not
|
|
# have to declare a lot of unnecessary dependencies in USE_QT5.
|
|
# This could arguably work for Qt4 too, but since it is maintenance mode it is
|
|
# better not to fix what is not explicitly broken there.
|
|
LDFLAGS+= -Wl,--as-needed
|
|
|
|
. if ${.TARGETS:Mmakesum} || ${.TARGETS:Mfetch} && \
|
|
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 enginio graphicaleffects imageformats \
|
|
location multimedia quick1 quickcontrols script sensors serialport svg tools \
|
|
translations webchannel webkit webkit-examples websockets x11extras xmlpatterns
|
|
. endif
|
|
|
|
. if ${QT_DIST} == "base" && ${PORTNAME} != "qmake"
|
|
# Qt configure requires pkg-config to detect dependencies.
|
|
USES+= pkgconfig
|
|
|
|
# Set QMAKESPEC when building qtbase so that qmake (called by the configure
|
|
# script) can find the mkspecs we create ourselves in devel/qmake5.
|
|
CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}"
|
|
MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
|
|
. endif
|
|
|
|
# -nomake is only used by qtbase's configure script.
|
|
# Other ports from other Qt modules will automatically build examples and
|
|
# tests if the directories exist because of mkspecs/features/qt_parts.prf.
|
|
EXTRACT_AFTER_ARGS?= ${DISTNAME:S,$,/examples,:S,^,--exclude ,} \
|
|
${DISTNAME:S,$,/tests,:S,^,--exclude ,}
|
|
. endif # ! ${_QT_VERSION:M4*}
|
|
|
|
CONFIGURE_ENV+= MAKE="${MAKE:T}"
|
|
|
|
CONFIGURE_ARGS+=-opensource -confirm-license \
|
|
-platform ${QMAKESPEC} \
|
|
-no-pch \
|
|
-prefix ${PREFIX} \
|
|
-bindir ${PREFIX}/${QT_BINDIR_REL} \
|
|
-headerdir ${PREFIX}/${QT_INCDIR_REL} \
|
|
-libdir ${PREFIX}/${QT_LIBDIR_REL} \
|
|
-plugindir ${PREFIX}/${QT_PLUGINDIR_REL} \
|
|
-importdir ${PREFIX}/${QT_IMPORTDIR_REL} \
|
|
-datadir ${PREFIX}/${QT_DATADIR_REL} \
|
|
-docdir ${PREFIX}/${QT_DOCDIR_REL} \
|
|
-translationdir ${PREFIX}/${QT_L10NDIR_REL} \
|
|
-sysconfdir ${PREFIX}/${QT_ETCDIR_REL}
|
|
|
|
. if ${_QT_VERSION:M4*}
|
|
CONFIGURE_ARGS+=-fast \
|
|
-system-libjpeg -system-libpng \
|
|
-system-libmng -system-libtiff -system-zlib \
|
|
-no-phonon-backend \
|
|
-examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/examples \
|
|
-demosdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/demos
|
|
. else
|
|
CONFIGURE_ARGS+=-nomake examples -nomake tests \
|
|
-archdatadir ${PREFIX}/${QT_ARCHDIR_REL} \
|
|
-libexecdir ${PREFIX}/${QT_LIBEXECDIR_REL} \
|
|
-qmldir ${PREFIX}/${QT_QMLDIR_REL} \
|
|
-examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL} \
|
|
-testsdir ${PREFIX}/${QT_TESTDIR_REL}
|
|
. if ${ARCH} == i386 && empty(MACHINE_CPU:Msse2)
|
|
CONFIGURE_ARGS+=-no-sse2
|
|
. endif
|
|
. endif
|
|
|
|
. if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
|
|
WITH_DEBUG= yes
|
|
STRIP= # It's done prior to bsd.qt.mk inclusion.
|
|
CONFIGURE_ARGS+=-debug -separate-debug-info
|
|
# Override configuration in global qconfig.pri.
|
|
QMAKE_ARGS+= QT_CONFIG+="debug separate_debug_info" \
|
|
QT_CONFIG-="release"
|
|
PLIST_SUB+= DEBUG=""
|
|
. else
|
|
CONFIGURE_ARGS+=-release -no-separate-debug-info
|
|
QMAKE_ARGS+= QT_CONFIG+="release" \
|
|
QT_CONFIG-="debug separate_debug_info"
|
|
PLIST_SUB+= DEBUG="@comment "
|
|
. endif
|
|
|
|
. if defined(WANT_QT_VERBOSE_CONFIGURE)
|
|
CONFIGURE_ARGS+=-verbose
|
|
. endif
|
|
|
|
. if ${QT_DIST} == "base" || ${_QT_VERSION:M4*}
|
|
. 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
|
|
. 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} ${_EXTRA_PATCHES_QT5}
|
|
. endif
|
|
|
|
# Override settings installed in qconfig.h and *.pri files. The flags will be
|
|
# installed along with the port, but have to be passed as arguments while
|
|
# building the port itself. Flags prefixed with "-" (e.g., "-CUPS" and "-cups")
|
|
# are needed to disable some features.
|
|
. if !defined(${QT_MODNAME}) || empty(${QT_MODNAME})
|
|
# Used for both qconfig-*.h and qt_config_*.pri; it can't be empty.
|
|
QT_MODNAME= ${PORTNAME}
|
|
. endif
|
|
QT_DEFINES?= # For qconfig.h flags (without "QT_" prefix).
|
|
QT_CONFIG?= # For *.pri files QT_CONFIG flags.
|
|
. if ${QT_DEFINES}
|
|
QMAKE_ARGS+= DEFINES+="${QT_DEFINES:O:u:C/^([^-])/QT_\1/:C/^-/QT_NO_/:O}"
|
|
. if ${QT_DEFINES:N-*}
|
|
# Use a script to cleanup qconfig-modules.h (see qt-post-install).
|
|
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
|
|
. endif
|
|
. endif
|
|
. if ${QT_CONFIG:N-*}
|
|
QMAKE_ARGS+= QT_CONFIG+="${QT_CONFIG:N-*:O:u}"
|
|
. endif
|
|
. if ${QT_CONFIG:M-*}
|
|
QMAKE_ARGS+= QT_CONFIG-="${QT_CONFIG:M-*:O:u:C/^-//}"
|
|
. endif
|
|
|
|
PLIST_SUB+= SHORTVER=${_QT_VERSION:R} \
|
|
FULLVER=${_QT_VERSION:C/-.*//}
|
|
.endif # defined(QT_DIST)
|
|
|
|
.if ${_QT_VERSION:M4*}
|
|
QT_BINDIR_REL?= bin
|
|
QT_LIBDIR_REL?= lib/${_QT_RELNAME}
|
|
QT_PLUGINDIR_REL?= ${QT_LIBDIR_REL}/plugins
|
|
QT_IMPORTDIR_REL?= ${QT_LIBDIR_REL}/imports
|
|
.endif
|
|
|
|
# A wrapper (qtchooser) is used to invoke binaries.
|
|
QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin
|
|
QT_INCDIR_REL?= include/${_QT_RELNAME}
|
|
QT_LIBDIR_REL?= lib
|
|
QT_ARCHDIR_REL?=${QT_LIBDIR_REL}/${_QT_RELNAME}
|
|
QT_PLUGINDIR_REL?= ${QT_ARCHDIR_REL}/plugins
|
|
QT_LIBEXECDIR_REL?= libexec/${_QT_RELNAME}
|
|
QT_IMPORTDIR_REL?= ${QT_ARCHDIR_REL}/imports
|
|
QT_QMLDIR_REL?= ${QT_ARCHDIR_REL}/qml
|
|
QT_DATADIR_REL?=share/${_QT_RELNAME}
|
|
QT_DOCDIR_REL?= share/doc/${_QT_RELNAME}
|
|
QT_L10NDIR_REL?=${QT_DATADIR_REL}/translations
|
|
QT_ETCDIR_REL?= etc/xdg
|
|
QT_EXAMPLEDIR_REL?= share/examples/${_QT_RELNAME}
|
|
QT_TESTDIR_REL?=${QT_DATADIR_REL}/tests
|
|
|
|
# Not customizable.
|
|
.if ${_QT_VERSION:M4*}
|
|
QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
|
|
|
|
_QT_LIBVER= # empty
|
|
_QT_BINSUFX= -${_QT_RELNAME}
|
|
.else
|
|
QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
|
|
|
|
_QT_LIBVER= ${_QT_VERSION:R:R}
|
|
_QT_BINSUFX= # empty
|
|
.endif
|
|
|
|
LRELEASE?= ${QT_BINDIR}/lrelease${_QT_BINSUFX}
|
|
LUPDATE?= ${QT_BINDIR}/lupdate${_QT_BINSUFX}
|
|
MOC?= ${QT_BINDIR}/moc${_QT_BINSUFX}
|
|
RCC?= ${QT_BINDIR}/rcc
|
|
UIC?= ${QT_BINDIR}/uic${_QT_BINSUFX}
|
|
QMAKE?= ${QT_BINDIR}/qmake${_QT_BINSUFX}
|
|
# Needed to redefine the qmake target for internal Qt configuration.
|
|
_QMAKE?= ${QMAKE}
|
|
QMAKESPEC?= ${QT_MKSPECDIR}/freebsd-${QMAKE_COMPILER}
|
|
|
|
# The whole Qt distribution should be built with the same compiler, but it's
|
|
# better to support custom settings. Dereferencing the detection allows to
|
|
# avoid forking a shell on each inclusion of this file, and to catch any CXX
|
|
# customization (via USE_GCC, etc.).
|
|
QMAKE_COMPILER= $$(ccver="$$(${CXX} --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)
|
|
|
|
# Import QMAKE_ENV and QMAKE_ARGS definitions.
|
|
USES+= qmake:_env
|
|
|
|
PLIST_SUB+= QT_PREFIX="${QT_PREFIX}"
|
|
|
|
.for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
|
|
QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC
|
|
QT_${dir}DIR= ${QT_PREFIX}/${QT_${dir}DIR_REL}
|
|
PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
|
|
.endfor
|
|
|
|
.endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
|
|
|
|
.if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
|
|
|
|
Qt_Post_Include= bsd.qt.mk
|
|
|
|
.if !defined(QT_NONSTANDARD)
|
|
CONFIGURE_ENV+= QTDIR="${QT_PREFIX}" QMAKE="${QMAKE}" \
|
|
MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \
|
|
QMAKESPEC="${QMAKESPEC}"
|
|
CONFIGURE_ARGS+=--with-qt-includes=${QT_INCDIR} \
|
|
--with-qt-libraries=${QT_LIBDIR} \
|
|
--with-extra-includes=${LOCALBASE}/include \
|
|
--with-extra-libs=${LOCALBASE}/lib
|
|
.endif # !defined(QT_NONSTANDARD)
|
|
|
|
_USE_QT_ALL= assistant clucene dbus declarative designer gui help \
|
|
imageformats l10n linguist linguisttools multimedia \
|
|
network opengl pixeltool qdbusviewer qmake script \
|
|
scripttools sql sql-ibase sql-mysql sql-odbc sql-pgsql \
|
|
sql-sqlite2 sql-sqlite3 svg testlib webkit \
|
|
xml xmlpatterns
|
|
|
|
_USE_QT4_ONLY= accessible assistant-adp assistantclient codecs-cn codecs-jp \
|
|
codecs-kr codecs-tw corelib demo doc graphicssystems-opengl \
|
|
help-tools iconengines inputmethods makeqpf moc phonon \
|
|
phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \
|
|
qtestlib qvfb rcc uic uic3 xmlpatterns-tool
|
|
|
|
_USE_QT5_ONLY= 3d buildtools canvas3d concurrent connectivity core \
|
|
enginio graphicaleffects location paths phonon4 \
|
|
printsupport qdbus qdoc qev qml quick quickcontrols \
|
|
sensors serialport uiplugin uitools webchannel websockets \
|
|
widgets x11extras
|
|
|
|
3d_PORT= graphics/${_QT_RELNAME}-3d
|
|
3d_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}3DCore.so
|
|
|
|
accessible_PORT= accessibility/${_QT_RELNAME}-accessible
|
|
accessible_PATH= ${QT_PLUGINDIR}/accessible/libqtaccessiblewidgets.so
|
|
|
|
assistant_PORT= devel/${_QT_RELNAME}-assistant
|
|
assistant_PATH= ${QT_BINDIR}/assistant${_QT_BINSUFX}
|
|
|
|
assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp
|
|
assistant-adp_PATH= ${QT_BINDIR}/assistant_adp
|
|
|
|
assistantclient_PORT= devel/${_QT_RELNAME}-libqtassistantclient
|
|
assistantclient_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}AssistantClient.so
|
|
|
|
buildtools_PORT= devel/${_QT_RELNAME}-buildtools
|
|
buildtools_PATH= ${MOC}
|
|
|
|
canvas3d_PORT= x11-toolkits/${_QT_RELNAME}-canvas3d
|
|
canvas3d_PATH= ${QT_QMLDIR}/QtCanvas3D/qmldir
|
|
|
|
clucene_PORT= textproc/clucene-${_QT_RELNAME}
|
|
clucene_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}CLucene.so
|
|
|
|
codecs-cn_PORT= chinese/${_QT_RELNAME}-codecs-cn
|
|
codecs-cn_PATH= ${QT_PLUGINDIR}/codecs/libqcncodecs.so
|
|
|
|
codecs-jp_PORT= japanese/${_QT_RELNAME}-codecs-jp
|
|
codecs-jp_PATH= ${QT_PLUGINDIR}/codecs/libqjpcodecs.so
|
|
|
|
codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr
|
|
codecs-kr_PATH= ${QT_PLUGINDIR}/codecs/libqkrcodecs.so
|
|
|
|
codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw
|
|
codecs-tw_PATH= ${QT_PLUGINDIR}/codecs/libqtwcodecs.so
|
|
|
|
concurrent_PORT= devel/${_QT_RELNAME}-concurrent
|
|
concurrent_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Concurrent.so
|
|
|
|
connectivity_PORT= comms/${_QT_RELNAME}-connectivity
|
|
connectivity_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Bluetooth.so
|
|
|
|
core_PORT= devel/${_QT_RELNAME}-core
|
|
core_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Core.so
|
|
|
|
corelib_PORT= devel/${_QT_RELNAME}-corelib
|
|
corelib_PATH= ${core_PATH}
|
|
|
|
dbus_PORT= devel/dbus-${_QT_RELNAME}
|
|
dbus_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}DBus.so
|
|
|
|
declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
|
|
declarative_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Declarative.so
|
|
|
|
demo_PORT= misc/${_QT_RELNAME}-qtdemo
|
|
demo_PATH= ${QT_BINDIR}/qtdemo
|
|
|
|
designer_PORT= devel/${_QT_RELNAME}-designer
|
|
designer_PATH= ${QT_BINDIR}/designer${_QT_BINSUFX}
|
|
|
|
doc_PORT= misc/${_QT_RELNAME}-doc
|
|
doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
|
|
|
|
enginio_PORT= net/${_QT_RELNAME}-enginio
|
|
enginio_PATH= ${QT_LIBDIR}/libEnginio.so
|
|
|
|
graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects
|
|
graphicaleffects_PATH= ${QT_QMLDIR}/QtGraphicalEffects/qmldir
|
|
|
|
graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
|
|
graphicssystems-opengl_PATH= ${QT_PLUGINDIR}/graphicssystems/libqglgraphicssystem.so
|
|
|
|
gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
|
|
gui_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Gui.so
|
|
|
|
help_PORT= devel/${_QT_RELNAME}-help
|
|
help_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Help.so
|
|
|
|
help-tools_PORT= devel/${_QT_RELNAME}-help-tools
|
|
help-tools_PATH= ${QT_BINDIR}/qhelpgenerator
|
|
|
|
iconengines_PORT= graphics/${_QT_RELNAME}-iconengines
|
|
iconengines_PATH= ${QT_PLUGINDIR}/iconengines/libqsvgicon.so
|
|
|
|
imageformats_PORT= graphics/${_QT_RELNAME}-imageformats
|
|
imageformats_PATH= ${QT_PLUGINDIR}/imageformats/libqtiff.so
|
|
|
|
inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods
|
|
inputmethods_PATH= ${QT_PLUGINDIR}/inputmethods/libqimsw-multi.so
|
|
|
|
linguist_PORT= devel/${_QT_RELNAME}-linguist
|
|
linguist_PATH= ${QT_BINDIR}/linguist${_QT_BINSUFX}
|
|
|
|
linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools
|
|
linguisttools_PATH= ${LRELEASE}
|
|
|
|
location_PORT= devel/${_QT_RELNAME}-location
|
|
location_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Location.so
|
|
|
|
l10n_PORT= misc/${_QT_RELNAME}-l10n
|
|
l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
|
|
|
|
makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf
|
|
makeqpf_PATH= ${QT_BINDIR}/makeqpf${_QT_BINSUFX}
|
|
|
|
moc_PORT= devel/${_QT_RELNAME}-moc
|
|
moc_PATH= ${MOC}
|
|
|
|
multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
|
|
multimedia_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Multimedia.so
|
|
|
|
network_PORT= net/${_QT_RELNAME}-network
|
|
network_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Network.so
|
|
|
|
opengl_PORT= graphics/${_QT_RELNAME}-opengl
|
|
opengl_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}OpenGL.so
|
|
|
|
paths_PORT= sysutils/${_QT_RELNAME}-qtpaths
|
|
paths_PATH= ${QT_BINDIR}/qtpaths
|
|
|
|
pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool
|
|
pixeltool_PATH= ${QT_BINDIR}/pixeltool
|
|
|
|
phonon_PORT= multimedia/phonon
|
|
phonon_PATH= ${QT_LIBDIR}/libphonon.so
|
|
|
|
phonon4_PORT= multimedia/${_QT_RELNAME}-phonon4
|
|
phonon4_PATH= ${QT_LIBDIR}/libphonon4${_QT_RELNAME}.so
|
|
|
|
phonon-gst_PORT= multimedia/phonon-gstreamer
|
|
phonon-gst_PATH= ${QT_PLUGINDIR}/phonon_backend/libphonon_gstreamer.so
|
|
|
|
porting_PORT= devel/${_QT_RELNAME}-porting
|
|
porting_PATH= ${QT_BINDIR}/qt3to4
|
|
|
|
printsupport_PORT= print/${_QT_RELNAME}-printsupport
|
|
printsupport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}PrintSupport.so
|
|
|
|
qdbus_PORT= devel/${_QT_RELNAME}-qdbus
|
|
qdbus_PATH= ${QT_BINDIR}/qdbus
|
|
|
|
qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
|
|
qdbusviewer_PATH= ${QT_BINDIR}/qdbusviewer
|
|
|
|
qdoc_PORT= devel/${_QT_RELNAME}-qdoc
|
|
qdoc_PATH= ${QT_BINDIR}/qdoc
|
|
|
|
qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
|
|
qdoc3_PATH= ${QT_BINDIR}/qdoc3
|
|
|
|
qev_PORT= x11/${_QT_RELNAME}-qev
|
|
qev_PATH= ${QT_BINDIR}/qev
|
|
|
|
qmake_PORT= devel/qmake${_QT_VERSION:R:R}
|
|
qmake_PATH= ${QMAKE}
|
|
|
|
qml_PORT= lang/${_QT_RELNAME}-qml
|
|
qml_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Qml.so
|
|
|
|
qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
|
|
qmlviewer_PATH= ${QT_BINDIR}/qmlviewer
|
|
|
|
qt3support_PORT= devel/${_QT_RELNAME}-qt3support
|
|
qt3support_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}3Support.so
|
|
|
|
qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig
|
|
qtconfig_PATH= ${QT_BINDIR}/qtconfig${_QT_BINSUFX}
|
|
|
|
qtestlib_PORT= ${testlib_PORT}
|
|
qtestlib_PATH= ${testlib_PATH}
|
|
|
|
quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
|
|
quick_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Quick.so
|
|
|
|
quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
|
|
quickcontrols_PATH= ${QT_QMLDIR}/QtQuick/Controls/qmldir
|
|
|
|
qvfb_PORT= devel/${_QT_RELNAME}-qvfb
|
|
qvfb_PATH= ${QT_BINDIR}/qvfb${_QT_BINSUFX}
|
|
|
|
rcc_PORT= devel/${_QT_RELNAME}-rcc
|
|
rcc_PATH= ${RCC}
|
|
|
|
sensors_PORT= comms/${_QT_RELNAME}-sensors
|
|
sensors_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Sensors.so
|
|
|
|
script_PORT= devel/${_QT_RELNAME}-script
|
|
script_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Script.so
|
|
|
|
scripttools_PORT= devel/${_QT_RELNAME}-scripttools
|
|
scripttools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}ScriptTools.so
|
|
|
|
serialport_PORT= comms/${_QT_RELNAME}-serialport
|
|
serialport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}SerialPort.so
|
|
|
|
sql_PORT= databases/${_QT_RELNAME}-sql
|
|
sql_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Sql.so
|
|
|
|
sql-pgsql_PATH= ${QT_PLUGINDIR}/sqldrivers/libqsqlpsql.so
|
|
|
|
.if ${_QT_VERSION:M4*}
|
|
sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin
|
|
.endif
|
|
|
|
sql-sqlite3_PATH= ${QT_PLUGINDIR}/sqldrivers/libqsqlite.so
|
|
|
|
.for db in ibase mysql odbc pgsql sqlite2 sqlite3
|
|
.if ${_QT_VERSION:M4*}
|
|
sql-${db}_PORT?= databases/${_QT_RELNAME}-${db}-plugin
|
|
.else
|
|
sql-${db}_PORT?= databases/${_QT_RELNAME}-sqldrivers-${db}
|
|
.endif
|
|
sql-${db}_PATH?= ${QT_PLUGINDIR}/sqldrivers/libqsql${db:C/^sql//}.so
|
|
.endfor
|
|
|
|
svg_PORT= graphics/${_QT_RELNAME}-svg
|
|
svg_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Svg.so
|
|
|
|
testlib_PORT= devel/${_QT_RELNAME}-testlib
|
|
testlib_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Test.so
|
|
|
|
uic_PORT= devel/${_QT_RELNAME}-uic
|
|
uic_PATH= ${UIC}
|
|
|
|
uic3_PORT= devel/${_QT_RELNAME}-uic3
|
|
uic3_PATH= ${QT_BINDIR}/uic3
|
|
|
|
uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin
|
|
uiplugin_PATH= ${QT_INCDIR}/QtUiPlugin/QtUiPlugin
|
|
|
|
uitools_PORT= devel/${_QT_RELNAME}-uitools
|
|
uitools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}UiTools.a
|
|
|
|
webchannel_PORT= www/${_QT_RELNAME}-webchannel
|
|
webchannel_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebChannel.so
|
|
|
|
websockets_PORT= www/${_QT_RELNAME}-websockets
|
|
websockets_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebSockets.so
|
|
|
|
webkit_PORT= www/webkit-${_QT_RELNAME}
|
|
webkit_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebKit.so
|
|
|
|
widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
|
|
widgets_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Widgets.so
|
|
|
|
x11extras_PORT= x11/${_QT_RELNAME}-x11extras
|
|
x11extras_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}X11Extras.so
|
|
|
|
xml_PORT= textproc/${_QT_RELNAME}-xml
|
|
xml_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Xml.so
|
|
|
|
xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
|
|
xmlpatterns_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}XmlPatterns.so
|
|
|
|
xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
|
|
xmlpatterns-tool_PATH= ${QT_BINDIR}/xmlpatterns
|
|
|
|
_USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY}
|
|
.for comp in ${_USE_QT_ALL}
|
|
${comp}_BUILD_DEPENDS?= ${${comp}_PATH}:${PORTSDIR}/${${comp}_PORT}
|
|
${comp}_RUN_DEPENDS?= ${${comp}_PATH}:${PORTSDIR}/${${comp}_PORT}
|
|
${comp}_build_BUILD_DEPENDS?= ${${comp}_BUILD_DEPENDS}
|
|
${comp}_run_RUN_DEPENDS?= ${${comp}_RUN_DEPENDS}
|
|
_USE_QT_ALL_SUFFIXED+= ${comp} ${comp}_build ${comp}_run
|
|
.endfor
|
|
|
|
_USE_QT= ${USE_QT${_QT_VERSION:R:R}}
|
|
.for comp in ${_USE_QT:O:u}
|
|
. if ${_USE_QT_ALL_SUFFIXED:M${comp}}
|
|
BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
|
|
RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
|
|
. else
|
|
IGNORE?= can't be installed: unknown USE_QT${_QT_VERSION:R:R} component '${comp}' #'
|
|
. endif
|
|
.endfor
|
|
|
|
.if defined(QT_DIST) && ! ${_QT_VERSION:M4*}
|
|
. if ${QT_DIST} == "base"
|
|
# qtbase requires some tools to be symlinked to the build directory.
|
|
_QT_TOOLS= # empty
|
|
. if ${PORTNAME} != "qmake"
|
|
_QT_TOOLS+= ${QMAKE}
|
|
. endif
|
|
. if ${PORTNAME} != "buildtools"
|
|
_QT_TOOLS+= ${MOC} ${RCC}
|
|
. endif
|
|
. if ${PORTNAME} != "qdoc"
|
|
_QT_TOOLS+= qdoc
|
|
. endif
|
|
. if ${PORTNAME} != "dbus"
|
|
_QT_TOOLS+= qdbuscpp2xml qdbusxml2cpp
|
|
. endif
|
|
. if ${PORTNAME} != "widgets"
|
|
_QT_TOOLS+= ${UIC}
|
|
. endif
|
|
|
|
pre-configure: qtbase-pre-configure
|
|
qtbase-pre-configure:
|
|
. for tool in ${_QT_TOOLS}
|
|
@${TEST} -e ${QT_BINDIR}/${tool:T} && \
|
|
${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC}/bin/${tool:T} || \
|
|
${TRUE}
|
|
. endfor
|
|
|
|
# Add ${LOCALBASE}/lib to DEFAULT_LIBDIRS, which we use to filter out
|
|
# certain paths from pkg-config calls (see the explanation in
|
|
# devel/qt5/files/patch-configure) as well as for setting
|
|
# QMAKE_DEFAULT_LIBDIR in mkspecs/qconfig.pri. Part of the solution for
|
|
# ports/194088.
|
|
post-patch: qtbase-post-patch
|
|
qtbase-post-patch:
|
|
${REINPLACE_CMD} -e "/DEFAULT_LIBDIRS=/ s,\\\\\"\\\\n,\\\\n${LOCALBASE}/lib&," \
|
|
${WRKSRC}/configure
|
|
|
|
. if ${PORTNAME} != "qmake"
|
|
_QMAKE= ${CONFIGURE_WRKSRC}/bin/qmake
|
|
|
|
post-configure: qmake-configure
|
|
. endif
|
|
. endif # ${QT_DIST} == "base"
|
|
|
|
pre-configure: qt5-pre-configure
|
|
qt5-pre-configure:
|
|
# Qt 5.3.2 introduced a check in mkspecs/features/create_cmake.prf that
|
|
# requires tests/auto/cmake to be present, otherwise the configure stage will
|
|
# fail.
|
|
# Since we cannot extract tests/auto/cmake/ and exclude tests/ at the same
|
|
# time, we have to disable the check in a cache file (the only way to get this
|
|
# value through to the configure script in qtbase).
|
|
${ECHO_CMD} 'CMAKE_MODULE_TESTS = -' > ${WRKSRC}/.qmake.cache
|
|
# We piggyback on QMAKE_LIBDIR_FLAGS to make sure -L${WRKSRC}/lib is passed to
|
|
# the linker before -L/usr/local/lib. By default, the opposite happens, which
|
|
# is a problem when a Qt port is being upgraded, since an existing library
|
|
# would end up being picked up instead of those built in ${WRKSRC}/lib. Since
|
|
# qmake appends the value of QMAKE_LIBDIR to QMAKE_LIBDIR_FLAGS, we can use the
|
|
# latter to get the linker path order right. qmake is smart enough to strip
|
|
# occurrences of ${WRKSRC}/lib from .pc and .prl files when installing them.
|
|
# See QTBUG-40825 and ports bugs 194088, 195105 and 198720.
|
|
${ECHO_CMD} 'QMAKE_LIBDIR_FLAGS = -L${WRKSRC}/lib' >> ${WRKSRC}/.qmake.cache
|
|
|
|
pre-install: qt-pre-install
|
|
qt-pre-install:
|
|
# Search both in CONFIGURE_WRKSRC and WRKSRC, as the former is not
|
|
# a subdirectory of the latter for out-of-source builds.
|
|
@${FIND} ${WRKSRC} ${CONFIGURE_WRKSRC} -name "Makefile*" -type f | \
|
|
${XARGS} ${REINPLACE_CMD} -e 's,${PREFIX}/${QT_LIBDIR_REL}/pkgconfig,${PREFIX}/libdata/pkgconfig,g'
|
|
|
|
post-install: qt-post-install
|
|
qt-post-install:
|
|
. if ${QT_DEFINES:N-*}
|
|
# We can't use SUB_FILES with a shared pkg-deinstall.in.
|
|
# We need it to be a script instead of a group of @unexecs, otherwise
|
|
# qconfig-modules.h cleanup will be run in pre-deinstall stage, which is
|
|
# useless. This will probably be replaced by a Keywords/ script in the future.
|
|
@${SED} -e 's,%%QT_MODNAME%%,${QT_MODNAME},g' \
|
|
-e 's,%%QT_INCDIR%%,${QT_INCDIR},g' \
|
|
${.CURDIR:H:H}/devel/${_QT_RELNAME}/${FILESDIR:T}/${PKGDEINSTALL:T}.in > \
|
|
${PKGDEINSTALL}
|
|
@${MKDIR} ${STAGEDIR}${QT_INCDIR}/QtCore/modules
|
|
@${ECHO_CMD} -n \
|
|
> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
. for def in ${QT_DEFINES:N-*:O:u:C/=.*$//}
|
|
@${ECHO_CMD} "#if !defined(QT_${def}) && !defined(QT_NO_${def})" \
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
${ECHO_CMD} "# define QT_${def}" \
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
@${ECHO_CMD} "#endif" \
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
@${ECHO_CMD} \
|
|
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
|
|
. endfor
|
|
@${ECHO_CMD} "${QT_PREFIX}/${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
|
|
>> ${TMPPLIST}
|
|
@${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${QT_PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig-modules.h" \
|
|
>> ${TMPPLIST}
|
|
. endif # ${QT_DEFINES:N-*}
|
|
. if ${QT_CONFIG:N-*}
|
|
@${MKDIR} ${STAGEDIR}${QT_MKSPECDIR}/modules
|
|
${ECHO_CMD} "QT_CONFIG += ${QT_CONFIG:N-*:O:u}" \
|
|
> ${STAGEDIR}${QT_MKSPECDIR}/modules/qt_config_${QT_MODNAME}.pri
|
|
@${ECHO_CMD} "${QT_PREFIX}/${QT_MKSPECDIR_REL}/modules/qt_config_${QT_MODNAME}.pri" \
|
|
>> ${TMPPLIST}
|
|
. endif # ${QT_CONFIG:N-*}
|
|
.endif # defined(QT_DIST) && ! ${_QT_VERSION:M4*}
|
|
|
|
.endif # defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
|