Page MenuHomeFreeBSD

D15540.diff
No OneTemporary

D15540.diff

Index: Mk/Scripts/qa.sh
===================================================================
--- Mk/Scripts/qa.sh
+++ Mk/Scripts/qa.sh
@@ -550,12 +550,10 @@
warn "you need USE_XORG+=pixman"
# Qt4
elif expr ${pkg} : '.*/qt4-.*' > /dev/null; then
- warn "you need USE_QT4+=$(echo ${pkg} | sed -E 's|.*/qt4-||')"
- elif expr ${pkg} : '.*/.*-qt4' > /dev/null; then
- warn "you need USE_QT4+=$(echo ${pkg} | sed -E 's|.*/(.*)-qt4|\1|')"
+ warn "you need USES=qt:4 and USE_QT+=$(echo ${pkg} | sed -E 's|.*/qt4-||')"
# Qt5
elif expr ${pkg} : '.*/qt5-.*' > /dev/null; then
- warn "you need USE_QT5+=$(echo ${pkg} | sed -E 's|.*/qt5-||')"
+ warn "you need USES=qt:5 and USE_QT+=$(echo ${pkg} | sed -E 's|.*/qt5-||')"
# MySQL
elif expr ${lib_file} : "${LOCALBASE}/lib/mysql/[^/]*$" > /dev/null; then
warn "you need USES+=mysql"
Index: Mk/Uses/qmake.mk
===================================================================
--- Mk/Uses/qmake.mk
+++ Mk/Uses/qmake.mk
@@ -1,5 +1,13 @@
# $FreeBSD$
#
+# There are three Qt related USES files with different access to Qt.
+# - qmake: The port requires Qt's qmake to build -- creates the configure target
+# - auto includes qt.mk
+# - qt-dist: The port is a port for an part of Qt4 or Qt5
+# - auto inclues qt.mk
+# - qt.mk - Dependency handling. USE_QT=foo bar
+#
+#
# Provide support for qmake-based projects
#
# Feature: qmake
@@ -9,6 +17,9 @@
# ARGS description:
# norecursive Don't pass -recursive argument to qmake binary
# outsource Perform an out-of-source build
+# no_env Suppress modification of configure and make environment.
+# no_configure Don't add the configure target -- this is implied by
+# HAS_CONFIGURE=yes and GNU_CONFIGURE=yes
#
#
# Variables for ports:
@@ -33,78 +44,98 @@
.if !defined(_INCLUDE_USES_QMAKE_MK)
_INCLUDE_USES_QMAKE_MK= yes
-# _QT_VERSION is defined in bsd.qt.mk, only if a correct Qt version was selected
-# via USE_QT*.
-.if empty(_QT_VERSION)
-IGNORE= 'USES+= qmake' must be accompanied with 'USE_QT[${_QT_SUPPORTED:S/ //g}]= #'
-.endif
+# Suck in qt.mk
+.include "${USESDIR}/qt.mk"
-# _env is a private argument used only by bsd.qt.mk to get variables and custom
-# targets (currently, only qmake-configure), without qmake being added to the
-# configure stage.
-_VALID_ARGS= norecursive outsource _env
+_VALID_ARGS= norecursive outsource no_env no_configure
-.for arg in ${qmake_ARGS}
-. if empty(_VALID_ARGS:M${arg})
-IGNORE= Incorrect 'USES+= qmake' usage: argument '${arg}' is not recognized
+. for arg in ${qmake_ARGS}
+. if empty(_VALID_ARGS:M${arg})
+IGNORE= Incorrect 'USES+= qmake' usage: argument '${arg}' is not recognized
+. endif
+. endfor
+
+# Check whether we need to add the configure target
+_ADD_CONFIGURE_TARGET= yes
+. if !empty(qmake_ARGS:Mno_configure) || defined(HAS_CONFIGURE) || defined(GNU_CONFIGURE)
+_ADD_CONFIGURE_TARGET= # unset
. endif
-.endfor
-.if ! ${qmake_ARGS:M_env}
-USE_QT${_QT_VERSION:R:R}+= qmake_build
-.endif
-
# QMAKESPEC belongs to bsd.qt.mk.
-QMAKE_ENV?= ${CONFIGURE_ENV}
-QMAKE_ARGS+= -spec ${QMAKESPEC} \
- QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" \
- QMAKE_LINK_C="${CC}" QMAKE_LINK_C_SHLIB="${CC}" \
- QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
- QMAKE_CFLAGS="${CFLAGS}" \
- QMAKE_CXXFLAGS="${CXXFLAGS}" \
- QMAKE_LFLAGS="${LDFLAGS}" \
- QMAKE_LIBS="${LIBS}" \
- QMAKE_CFLAGS_DEBUG="" \
- QMAKE_CFLAGS_RELEASE="" \
- QMAKE_CXXFLAGS_DEBUG="" \
- QMAKE_CXXFLAGS_RELEASE="" \
- PREFIX="${PREFIX}"
+QMAKE_ENV?= ${CONFIGURE_ENV}
+QMAKE_ARGS+= -spec ${QMAKESPEC} \
+ QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" \
+ QMAKE_LINK_C="${CC}" QMAKE_LINK_C_SHLIB="${CC}" \
+ QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
+ QMAKE_CFLAGS="${CFLAGS}" \
+ QMAKE_CXXFLAGS="${CXXFLAGS}" \
+ QMAKE_LFLAGS="${LDFLAGS}" \
+ QMAKE_LIBS="${LIBS}" \
+ QMAKE_CFLAGS_DEBUG="" \
+ QMAKE_CFLAGS_RELEASE="" \
+ QMAKE_CXXFLAGS_DEBUG="" \
+ QMAKE_CXXFLAGS_RELEASE="" \
+ PREFIX="${PREFIX}"
-.if defined(WITH_DEBUG)
-QMAKE_ARGS+= CONFIG+="debug" \
- CONFIG-="release"
-.else
-QMAKE_ARGS+= CONFIG+="release" \
- CONFIG-="debug separate_debug_info"
-.endif # defined(WITH_DEBUG)
+. if defined(WITH_DEBUG)
+PLIST_SUB+= DEBUG=""
+QMAKE_ARGS+= CONFIG+="debug" \
+ CONFIG-="release"
+. else
+PLIST_SUB+= DEBUG="@comment "
+QMAKE_ARGS+= CONFIG+="release" \
+ CONFIG-="debug separate_debug_info"
+. endif # defined(WITH_DEBUG)
# We set -recursive by default to keep qmake from running in the build stage.
-.if ! ${qmake_ARGS:Mnorecursive}
-QMAKE_ARGS+= -recursive
-.endif
+. if ! ${qmake_ARGS:Mnorecursive}
+QMAKE_ARGS+= -recursive
+. endif
-.if defined(QMAKE_VERBOSE)
-QMAKE_ARGS+= -d
-.endif
+. if defined(QMAKE_VERBOSE)
+QMAKE_ARGS+= -d
+. endif
# _QMAKE_WRKSRC (and _QMAKE, below) are needed to abstract the qmake target and
# use it for both qtbase and USES=qmake ports. They are private, not supposed to
# be used anywhere else.
_QMAKE_WRKSRC?= ${CONFIGURE_WRKSRC}
-.if ${qmake_ARGS:Moutsource}
+. if ${qmake_ARGS:Moutsource}
CONFIGURE_WRKSRC= ${WRKDIR}/.build
BUILD_WRKSRC= ${CONFIGURE_WRKSRC}
INSTALL_WRKSRC= ${BUILD_WRKSRC}
TEST_WRKSRC= ${BUILD_WRKSRC}
QMAKE_SOURCE_PATH?= ${WRKSRC}
-.else
+. else
QMAKE_SOURCE_PATH?= # empty
-.endif
+. endif
-.if ! ${qmake_ARGS:M_env}
-DESTDIRNAME= INSTALL_ROOT
-.endif
+# Add qmake to USE_QT -- unless it's qmake itself
+. if !${PORTNAME} == qmake
+USE_QT+= qmake_build
+. endif
+. if empty(qmake_ARGS:Mno_env)
+DESTDIRNAME= INSTALL_ROOT
+CONFIGURE_ENV+= QTDIR="${QT_ARCHDIR}" 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
+
+_USES_POST+= qmake
+.endif # _QMAKE_MK_INCLUDED
+
+# =============================================================================
+#
+# =============================================================================
+
+.if defined(_POSTMKINCLUDED) && !defined(_QMAKE_MK_POST_INCLUDED)
+_QMAKE_MK_POST_INCLUDED= qmake.mk
+
# Define a custom target to make it usable by bsd.qt.mk for internal Qt
# configuration.
qmake-configure:
@@ -114,8 +145,8 @@
${QMAKE_SOURCE_PATH} \
${QMAKE_CONFIGURE_ARGS:?--:} ${QMAKE_CONFIGURE_ARGS}
-.if !target(do-configure) && ! ${qmake_ARGS:M_env}
+. if !target(do-configure) && !empty(_ADD_CONFIGURE_TARGET)
_USES_configure+= 450:qmake-configure
-.endif
+. endif
.endif # !defined(_INCLUDE_USES_QMAKE_MK)
Index: Mk/Uses/qt-dist.mk
===================================================================
--- Mk/Uses/qt-dist.mk
+++ Mk/Uses/qt-dist.mk
@@ -1,84 +1,93 @@
-#-*- tab-width: 4; -*-
-# ex:ts=4
+# $FreeBSD$
#
-# $FreeBSD: head/Mk/bsd.qt.mk 470288 2018-05-18 12:27:43Z rakuco $
+# There are three Qt related USES files with different access to Qt.
+# - qmake: The port requires Qt's qmake to build -- creates the configure target
+# - auto includes qt.mk
+# - qt-dist: The port is a port for an part of Qt4 or Qt5
+# - auto inclues qt.mk
+# - qt.mk - Dependency handling. USE_QT=foo bar
#
-# 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).
+# Usage
+# qt-dist:<version>[,yes|modulename]
-.if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
+.if !defined(_QT_DIST_MK_INCLUDED)
+_QT_DIST_MK_INCLUDED= qt-dist.mk
-Qt_Include_MAINTAINER= kde@FreeBSD.org
-Qt_Pre_Include= bsd.qt.mk
+# Suck in qt.mk and qmake.mk
+qt_ARGS?= # empty
+.include "${USESDIR}/qt.mk"
+qmake_ARGS?= # empty
+.include "${USESDIR}/qmake.mk"
-# Qt versions currently supported by the framework.
-_QT_SUPPORTED?= 4 5
-QT4_VERSION?= 4.8.7
-QT5_VERSION?= 5.10.1
+# Supported distribution arguments
+_QT4_DISTS= yes
+_QT5_DISTS= 3d activeqt androidextras base canvas3d charts connectivity \
+ datavis3d declarative doc gamepad graphicaleffects imageformats \
+ location macextras multimedia networkauth purchasing \
+ quickcontrols2 quickcontrols remoteobjects script scxml sensors \
+ serialbus serialport speech svg tools translations \
+ virtualkeyboard wayland webchannel webengine websockets webview \
+ winextras x11extras xmlpatterns
+_QT_DISTS= ${_QT${_QT_VER}_DISTS}
-_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}] #'
+# We only accept one item as an argument. The fetch target further below works
+# around this.
+_QT_DIST= # empty
+. for dist in ${_QT_DISTS:O:u}
+. if ${qt-dist_ARGS:M${dist}}
+. if empty(_QT_DIST)
+_QT_DIST= ${dist}
+. else
+IGNORE= cannot be installed: different Qt dists specified via qt-dist:[${qt-dist_ARGS:S/ /,/g}]
+. endif
+. endif
+. endfor
+
+# Fall back to sensible defaults for _QT_DIST
+. if empty(_QT_DIST)
+. if ${_QT_VER:M4}
+_QT_DIST= yes # don't force qt-dist to be set for Qt4 ports which all have 'yes'.
+. endif
+. if ${_QT_VER:M5}
+_QT_DIST= ${PORTNAME} # don't force qt-dist to be set for Qt5 ports which 75% of time are ${PORTNAME}
+. endif
. 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
+# Check validitiy
+. if empty(_QT_DISTS:M${_QT_DIST})
+IGNORE= Unsupported qt-dist ${_QT_DIST} for qt:${_QT_VER}
+. endif
+################################################################################
-.if defined(QT_DIST)
-QT_NONSTANDARD= yes
+# Set standard bsd.port.mk variables
+MASTER_SITES= ${MASTER_SITE_QT}
+DISTINFO_FILE?= ${PORTSDIR}/devel/${_QT_RELNAME}/distinfo
-MASTER_SITES= ${MASTER_SITE_QT}
-DISTINFO_FILE?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo
-
LICENSE?= LGPL21
-. if !exists(${PKGDIR}/pkg-descr)
-DESCR?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/pkg-descr
-. endif
+. if !exists(${PKGDIR}/pkg-descr)
+DESCR?= ${PORTSDIR}/devel/${_QT_RELNAME}/pkg-descr
+. endif
# Stage support.
-DESTDIRNAME= INSTALL_ROOT
+DESTDIRNAME= INSTALL_ROOT
-. if ${_QT_VERSION:M4*}
+. if ${_QT_VER:M4}
MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/
DISTNAME= qt-everywhere-opensource-src-${_QT_VERSION}
DIST_SUBDIR= KDE
-. else
+. else
MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
# www/qt5-webengine hackery: The tarballs of 5.9.5 had a different naming scheme.
-. if ${QT5_VERSION} == "5.9.5"
-DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},}
-. else
-DISTNAME= ${QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}
-. endif
+. if ${QT5_VERSION} == "5.9.5"
+DISTNAME= ${_QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},}
+. else
+DISTNAME= ${_QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}
+. endif
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
@@ -88,135 +97,133 @@
# better not to fix what is not explicitly broken there.
LDFLAGS+= -Wl,--as-needed
-. if ${.TARGETS:Mmakesum} || ${.TARGETS:Mfetch} && \
+. 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.
-. if ${DISTINFO_FILE:H} == ${.CURDIR:H:H}/devel/${_QT_RELNAME}
-QT_DIST= 3d activeqt androidextras base canvas3d charts connectivity \
- datavis3d declarative doc gamepad graphicaleffects imageformats \
- location macextras multimedia networkauth purchasing \
- quickcontrols2 quickcontrols remoteobjects script scxml sensors \
- serialbus serialport speech svg tools translations \
- virtualkeyboard wayland webchannel websockets webview \
- winextras x11extras xmlpatterns
-. endif
-. endif
+. if ${DISTINFO_FILE:H} == ${PORTSDIR}/devel/${_QT_RELNAME}
+_QT_DIST= ${_QT5_DISTS}
+. endif
+. endif
-. if ${QT_DIST} == "base" && ${PORTNAME} != "qmake"
+# Qt5's tarballs are xz compressed.
+. if empty(USES:Mtar)
+EXTRACT_SUFX?= .tar.xz
+. endif
+
+. if ${_QT_DIST} == "base" && ${PORTNAME} != "qmake"
# Qt configure requires pkg-config to detect dependencies.
-USES+= pkgconfig
-. endif
+.include "${USESDIR}/pkgconfig.mk"
+. 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 ,} \
- --no-same-owner --no-same-permissions
-. endif # ! ${_QT_VERSION:M4*}
+ ${DISTNAME:S,$,/tests,:S,^,--exclude ,}
+. endif # ! ${_QT_VER:M4}
-CONFIGURE_ENV+= MAKE="${MAKE:T}"
+CONFIGURE_ENV+= MAKE="${MAKE:T}"
-CONFIGURE_ARGS+=-opensource -confirm-license \
- -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}
+CONFIGURE_ARGS+= -opensource -confirm-license \
+ -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 \
- -platform ${QMAKESPEC} \
- -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 \
- -platform ${QMAKESPECNAME} \
- -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
+. if ${_QT_VER:M4}
+CONFIGURE_ARGS+= -fast \
+ -platform ${QMAKESPEC} \
+ -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 \
+ -platform ${QMAKESPECNAME} \
+ -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
+
# Work around a bug in current binutils, where the gold linker creates
# duplicate symbols. See pr 218187. Disable the gold-linker for Qt5 ports.
CONFIGURE_ARGS+= -no-use-gold-linker
# Pass -recheck-all so that multiple calls to the configure script really
# re-run all checks.
CONFIGURE_ARGS+= -recheck-all
-. endif
+. endif # ${_QT_VER:M4}
-. if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
+. 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
+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
+QMAKE_ARGS+= QT_CONFIG+="debug separate_debug_info" \
+ QT_CONFIG-="release"
+. else
+CONFIGURE_ARGS+= -release -no-separate-debug-info
+QMAKE_ARGS+= QT_CONFIG+="release" \
+ QT_CONFIG-="debug separate_debug_info"
+. endif # defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
-. if defined(WANT_QT_VERBOSE_CONFIGURE)
-CONFIGURE_ARGS+=-verbose
-. 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 \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test
+. if ${_QT_DIST} == "base" || ${_QT_VER:M4}
+. if ${_QT_VER:M4}
+_EXTRA_PATCHES_QT4= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test
# Patch in proper name for armv6 architecture: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01679.html
-_EXTRA_PATCHES_QT4+= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-armv6
-_EXTRA_PATCHES_QT4+= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-aarch64
-. else
-_EXTRA_PATCHES_QT5= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_create__cmake.prf \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_qt__module.prf \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_common_bsd_bsd.conf
-. endif
-EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
- ${_EXTRA_PATCHES_QT4} ${_EXTRA_PATCHES_QT5}
-. endif
+_EXTRA_PATCHES_QT4+= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-armv6
+_EXTRA_PATCHES_QT4+= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-aarch64
+. else
+_EXTRA_PATCHES_QT5= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_create__cmake.prf \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_qt__module.prf \
+ ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_common_bsd_bsd.conf
+. endif
+EXTRA_PATCHES?= ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-configure \
+ ${_EXTRA_PATCHES_QT4} ${_EXTRA_PATCHES_QT5}
+. endif # ${_QT_DIST} == "base" || ${_QT_VER:M4}
# 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})
+. 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).
+. 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-*}
+. 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
+PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
+. endif
+. endif # ${QT_DEFINES}
+. if ${QT_CONFIG:N-*}
+QMAKE_ARGS+= QT_CONFIG+="${QT_CONFIG:N-*:O:u}"
. 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
+. if ${QT_CONFIG:M-*}
+QMAKE_ARGS+= QT_CONFIG-="${QT_CONFIG:M-*:O:u:C/^-//}"
+. endif
# Add a RUN_DEPENDS on misc/qtchooser to select the binaries.
# The binaries of both supported Qt versions are installed to
@@ -225,489 +232,49 @@
# one depending on the value of QT_SELECT (which we pass to both
# CONFIGURE_ENV and MAKE_ENV). Therefore make all QT_DIST ports
# RUN_DEPEND on it.
-RUN_DEPENDS+= qtchooser:misc/qtchooser
+RUN_DEPENDS+= qtchooser:misc/qtchooser
PLIST_SUB+= SHORTVER=${DISTVERSION:R} \
- FULLVER=${DISTVERSION:C/-.*//}
-.endif # defined(QT_DIST)
+ FULLVER=${DISTVERSION:C/-.*//}
-# 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_RELNAME}
-QT_ARCHDIR_REL?=${QT_LIBDIR_REL}
-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
-QT_CMAKEDIR_REL?= lib/cmake
-QT_QTCHOOSERDIR_REL?= ${QT_ETCDIR_REL}/qtchooser
-
-# Not customizable.
-.if ${_QT_VERSION:M4*}
-QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
-
-_QT_LIBVER= # empty
-.else
-QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
-
-_QT_LIBVER= ${_QT_VERSION:R:R}
-.endif
-
-LRELEASE?= ${QT_BINDIR}/lrelease
-LUPDATE?= ${QT_BINDIR}/lupdate
-MOC?= ${QT_BINDIR}/moc
-RCC?= ${QT_BINDIR}/rcc
-UIC?= ${QT_BINDIR}/uic
-QMAKE?= ${QT_BINDIR}/qmake
-# Needed to redefine the qmake target for internal Qt configuration.
-_QMAKE?= ${QMAKE}
-QMAKESPECNAME?= freebsd-${QMAKE_COMPILER}
-QMAKESPEC?= ${QT_MKSPECDIR}/${QMAKESPECNAME}
-
-# 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
-
-.for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
- QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC \
- CMAKE QTCHOOSER
-QT_${dir}DIR= ${PREFIX}/${QT_${dir}DIR_REL}
-# Export all directories to the plist substituion for QT_DIST ports.
-# For the others, exclude QT_CMAKEDIR and QT_ETCDIR.
-. if (${dir:NCMAKE} && ${dir:NETC}) || defined(QT_DIST)
+# Handle additional PLIST directories, which should only be used for Qt-dist ports.
+. for dir in CMAKE ETC
+# Export QT_CMAKEDIR and QT_ETCDIR.
PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
-. endif
-.endfor
-
-# Pass the chosen Qt version to the environment for qtchooser.
-CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME}
-MAKE_ENV+= QT_SELECT=${_QT_RELNAME}
-
-# Make sure both the installed mkspecs as well as the ones being built are
-# found, with the ones from the port being built having preference.
-CONFIGURE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
-MAKE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
-
-.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_ARCHDIR}" 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 dbus declarative designer doc gui help \
- imageformats l10n linguist linguisttools multimedia \
- network opengl pixeltool qdbusviewer qmake script \
- scripttools sql sql-mysql sql-odbc sql-pgsql \
- sql-sqlite2 sql-sqlite3 svg testlib webkit \
- xml xmlpatterns
-.if ${ARCH} == amd64 || ${ARCH} == i386
-_USE_QT_ALL+= sql-ibase
-.endif
-
-_USE_QT4_ONLY= accessible assistant-adp assistantclient clucene codecs-cn codecs-jp \
- codecs-kr codecs-tw corelib demo 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 charts concurrent connectivity \
- core datavis3d diag examples gamepad \
- graphicaleffects location paths phonon4 plugininfo printsupport \
- qdbus qdoc qdoc-data qev qml quick quickcontrols \
- quickcontrols2 scxml sensors serialbus serialport speech \
- sql-tds uiplugin uitools virtualkeyboard wayland webchannel \
- webengine websockets websockets-qml widgets x11extras
-
-3d_PORT= graphics/${_QT_RELNAME}-3d
-3d_LIB= libQt${_QT_LIBVER}3DCore.so
-
-accessible_PORT= accessibility/${_QT_RELNAME}-accessible
-accessible_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/accessible/libqtaccessiblewidgets.so
-
-assistant_PORT= devel/${_QT_RELNAME}-assistant
-assistant_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/assistant
-
-assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp
-assistant-adp_PATH= assistant_adp
-
-assistantclient_PORT= devel/${_QT_RELNAME}-libqtassistantclient
-assistantclient_LIB= libQt${_QT_LIBVER}AssistantClient.so
-
-buildtools_PORT= devel/${_QT_RELNAME}-buildtools
-buildtools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
-
-canvas3d_PORT= x11-toolkits/${_QT_RELNAME}-canvas3d
-canvas3d_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtCanvas3D/qmldir
-
-charts_PORT= x11-toolkits/${_QT_RELNAME}-charts
-charts_LIB= libQt${_QT_LIBVER}Charts.so
-
-clucene_PORT= textproc/${_QT_RELNAME}-clucene
-clucene_LIB= libQt${_QT_LIBVER}CLucene.so
-
-codecs-cn_PORT= chinese/${_QT_RELNAME}-codecs-cn
-codecs-cn_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqcncodecs.so
-
-codecs-jp_PORT= japanese/${_QT_RELNAME}-codecs-jp
-codecs-jp_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqjpcodecs.so
-
-codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr
-codecs-kr_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqkrcodecs.so
-
-codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw
-codecs-tw_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqtwcodecs.so
-
-concurrent_PORT= devel/${_QT_RELNAME}-concurrent
-concurrent_LIB= libQt${_QT_LIBVER}Concurrent.so
-
-connectivity_PORT= comms/${_QT_RELNAME}-connectivity
-connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so
-
-core_PORT= devel/${_QT_RELNAME}-core
-core_LIB= libQt${_QT_LIBVER}Core.so
-
-corelib_PORT= devel/${_QT_RELNAME}-corelib
-corelib_LIB= ${core_LIB}
-
-datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d
-datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so
-
-dbus_PORT= devel/${_QT_RELNAME}-dbus
-dbus_LIB= libQt${_QT_LIBVER}DBus.so
-
-declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
-declarative_LIB= libQt${_QT_LIBVER}Declarative.so
-
-demo_PORT= misc/${_QT_RELNAME}-qtdemo
-demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo
-
-designer_PORT= devel/${_QT_RELNAME}-designer
-designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer
-
-diag_PORT= sysutils/${_QT_RELNAME}-qtdiag
-diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag
-
-doc_PORT= misc/${_QT_RELNAME}-doc
-doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
-
-examples_PORT= misc/${_QT_RELNAME}-examples
-examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R}
-
-gamepad_PORT= x11-toolkits/${_QT_RELNAME}-gamepad
-gamepad_LIB= libQt${_QT_LIBVER}Gamepad.so
-
-graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects
-graphicaleffects_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtGraphicalEffects/qmldir
-
-graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
-graphicssystems-opengl_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/graphicssystems/libqglgraphicssystem.so
-
-gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
-gui_LIB= libQt${_QT_LIBVER}Gui.so
-
-help_PORT= devel/${_QT_RELNAME}-help
-help_LIB= libQt${_QT_LIBVER}Help.so
-
-help-tools_PORT= devel/${_QT_RELNAME}-help-tools
-help-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qhelpgenerator
-
-iconengines_PORT= graphics/${_QT_RELNAME}-iconengines
-iconengines_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/iconengines/libqsvgicon.so
-
-imageformats_PORT= graphics/${_QT_RELNAME}-imageformats
-imageformats_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/imageformats/libqtiff.so
-
-inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods
-inputmethods_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/inputmethods/libqimsw-multi.so
-
-linguist_PORT= devel/${_QT_RELNAME}-linguist
-linguist_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/linguist
-
-linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools
-linguisttools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lrelease
-
-location_PORT= devel/${_QT_RELNAME}-location
-location_LIB= 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= ${LOCALBASE}/${QT_BINDIR_REL}/makeqpf
-
-moc_PORT= devel/${_QT_RELNAME}-moc
-moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
-
-multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
-multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so
-
-network_PORT= net/${_QT_RELNAME}-network
-network_LIB= libQt${_QT_LIBVER}Network.so
-
-opengl_PORT= graphics/${_QT_RELNAME}-opengl
-opengl_LIB= libQt${_QT_LIBVER}OpenGL.so
-
-paths_PORT= sysutils/${_QT_RELNAME}-qtpaths
-paths_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtpaths
-
-pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool
-pixeltool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/pixeltool
-
-phonon_PORT= multimedia/phonon
-phonon_LIB= libphonon.so
-
-phonon4_PORT= multimedia/${_QT_RELNAME}-phonon4
-phonon4_LIB= libphonon4${_QT_RELNAME}.so
-
-phonon-gst_PORT= multimedia/phonon-gstreamer
-phonon-gst_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/phonon_backend/libphonon_gstreamer.so
-
-plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo
-plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo
-
-porting_PORT= devel/${_QT_RELNAME}-porting
-porting_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qt3to4
-
-printsupport_PORT= print/${_QT_RELNAME}-printsupport
-printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so
-
-qdbus_PORT= devel/${_QT_RELNAME}-qdbus
-qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus
-
-qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
-qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer
-
-qdoc_PORT= devel/${_QT_RELNAME}-qdoc
-qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc
-
-qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data
-qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf
-
-qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
-qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3
-
-qev_PORT= x11/${_QT_RELNAME}-qev
-qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev
-
-qmake_PORT= devel/${_QT_RELNAME}-qmake
-qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake
-
-qml_PORT= lang/${_QT_RELNAME}-qml
-qml_LIB= libQt${_QT_LIBVER}Qml.so
-
-qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
-qmlviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmlviewer
-
-qt3support_PORT= devel/${_QT_RELNAME}-qt3support
-qt3support_LIB= libQt${_QT_LIBVER}3Support.so
-
-qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig
-qtconfig_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtconfig
-
-qtestlib_PORT= ${testlib_PORT}
-qtestlib_LIB= ${testlib_LIB}
-
-quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
-quick_LIB= libQt${_QT_LIBVER}Quick.so
-
-quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
-quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir
-
-quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2
-quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so
-
-qvfb_PORT= devel/${_QT_RELNAME}-qvfb
-qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb
-
-rcc_PORT= devel/${_QT_RELNAME}-rcc
-rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc
-
-sensors_PORT= comms/${_QT_RELNAME}-sensors
-sensors_LIB= libQt${_QT_LIBVER}Sensors.so
-
-script_PORT= devel/${_QT_RELNAME}-script
-script_LIB= libQt${_QT_LIBVER}Script.so
-
-scripttools_PORT= devel/${_QT_RELNAME}-scripttools
-scripttools_LIB= libQt${_QT_LIBVER}ScriptTools.so
-
-scxml_PORT= devel/${_QT_RELNAME}-scxml
-scxml_LIB= libQt${_QT_LIBVER}Scxml.so
-
-serialbus_PORT= comms/${_QT_RELNAME}-serialbus
-serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so
-
-serialport_PORT= comms/${_QT_RELNAME}-serialport
-serialport_LIB= libQt${_QT_LIBVER}SerialPort.so
-
-speech_PORT= accessibility/${_QT_RELNAME}-speech
-speech_LIB= libQt${_QT_LIBVER}TextToSpeech.so
-
-sql_PORT= databases/${_QT_RELNAME}-sql
-sql_LIB= libQt${_QT_LIBVER}Sql.so
-
-sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so
-
-. if ${_QT_VERSION:M4*}
-sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin
-. endif
-
-sql-sqlite3_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlite.so
-
-. for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds
-. 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?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so
. endfor
-svg_PORT= graphics/${_QT_RELNAME}-svg
-svg_LIB= libQt${_QT_LIBVER}Svg.so
-testlib_PORT= devel/${_QT_RELNAME}-testlib
-testlib_LIB= libQt${_QT_LIBVER}Test.so
-
-uic_PORT= devel/${_QT_RELNAME}-uic
-uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic
-
-uic3_PORT= devel/${_QT_RELNAME}-uic3
-uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3
-
-uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin
-uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin
-
-uitools_PORT= devel/${_QT_RELNAME}-uitools
-uitools_PATH= ${LOCALBASE}/${QT_LIBDIR_REL}/libQt${_QT_LIBVER}UiTools.a
-
-virtualkeyboard_PORT= x11-toolkits/${_QT_RELNAME}-virtualkeyboard
-virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so
-
-webchannel_PORT= www/${_QT_RELNAME}-webchannel
-webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so
-
-webengine_PORT= www/${_QT_RELNAME}-webengine
-webengine_LIB= libQt${_QT_LIBVER}WebEngine.so
-
-websockets_PORT= www/${_QT_RELNAME}-websockets
-websockets_LIB= libQt${_QT_LIBVER}WebSockets.so
-
-websockets-qml_PORT= www/${_QT_RELNAME}-websockets-qml
-websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir
-
-webkit_PORT= www/${_QT_RELNAME}-webkit
-webkit_LIB= libQt${_QT_LIBVER}WebKit.so
-
-widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
-widgets_LIB= libQt${_QT_LIBVER}Widgets.so
-
-x11extras_PORT= x11/${_QT_RELNAME}-x11extras
-x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so
-
-xml_PORT= textproc/${_QT_RELNAME}-xml
-xml_LIB= libQt${_QT_LIBVER}Xml.so
-
-xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
-xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so
-
-xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
-xmlpatterns-tool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/xmlpatterns
-
-_USE_QT= ${USE_QT${_QT_VERSION:R:R}}
-_USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY}
-# Iterate through components deprived of suffix.
-. for component in ${_USE_QT:O:u:C/_.+//}
- # Check that the component is valid.
-. if ${_USE_QT_ALL:M${component}} != ""
- # Skip meta-components (currently none).
-. if defined(${component}_PORT) && (defined(${component}_PATH) || defined(${component}_LIB))
- # Check if a dependency type is explicitly requested.
-. if ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
-${component}_TYPE= # empty
-. if ${_USE_QT:M${component}_build} != ""
-${component}_TYPE+= build
-. endif
-. if ${_USE_QT:M${component}_run} != ""
-${component}_TYPE+= run
-. endif
-. endif # ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
- # If no dependency type is set, default to full dependency.
-. if !defined(${component}_TYPE)
-${component}_TYPE= build run
-. endif
- # Set real dependencies.
-. if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
-LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT}
-. else
-${component}_PATH?= ${QT_LIBDIR}/${${component}_LIB}
-${component}_DEPENDS= ${${component}_PATH}:${${component}_PORT}
-. if ${${component}_TYPE:Mbuild} != ""
-BUILD_DEPENDS+= ${${component}_DEPENDS}
-. endif
-. if ${${component}_TYPE:Mrun} != ""
-RUN_DEPENDS+= ${${component}_DEPENDS}
-. endif
-. endif # ${${component}_LIB} && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
-. endif # defined(${component}_PORT) && defined(${component}_PATH)
-. else # ! ${_USE_QT_ALL:M${component}} != ""
-IGNORE= cannot be installed: unknown USE_QT component '${component}'
-. endif # ${_USE_QT_ALL:M${component}} != ""
-. endfor
-
-.if defined(QT_DIST) && ! ${_QT_VERSION:M4*}
-. if ${QT_DIST} == "base"
+. if ! ${_QT_VER:M4}
+. if ${_QT_DIST} == "base"
# qtbase requires some tools to be symlinked to the build directory.
_QT_TOOLS= # empty
-. if ${PORTNAME} != "qmake"
+. if ${PORTNAME} != "qmake"
_QT_TOOLS+= ${QMAKE}
-. endif
-. if ${PORTNAME} != "buildtools"
+. endif
+. if ${PORTNAME} != "buildtools"
_QT_TOOLS+= ${MOC} ${RCC}
-. endif
-. if ${PORTNAME} != "qdoc"
+. endif
+. if ${PORTNAME} != "qdoc"
_QT_TOOLS+= qdoc
-. endif
-. if ${PORTNAME} != "dbus"
+. endif
+. if ${PORTNAME} != "dbus"
_QT_TOOLS+= qdbuscpp2xml qdbusxml2cpp
-. endif
-. if ${PORTNAME} != "widgets"
+. endif
+. if ${PORTNAME} != "widgets"
_QT_TOOLS+= ${UIC}
-. endif
+. endif
# The list of QtBase components that need to be linked into WRKSRC/lib for
# other QtBase ports. See below.
-_QT5_BASE= core dbus gui network sql widgets
+_QT5_BASE= core dbus gui network sql widgets
pre-configure: qtbase-pre-configure
qtbase-pre-configure:
-. for tool in ${_QT_TOOLS}
+. for tool in ${_QT_TOOLS}
@${TEST} -e ${QT_BINDIR}/${tool:T} && \
${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC}/bin/${tool:T} || \
${TRUE}
-. endfor
+. endfor
# The following is a fix for the inplace upgrade problem we faced (see
# QTBUG-40825 and ports bugs 194088, 195105 and 198720) previously,
@@ -720,13 +287,13 @@
# now no longer can find their depending QtBase libraries. We fix this by
# linking these into ${CONFIGURE_WRKSRC}/lib if the given QtBase port depends
# on them.
-. if ${QT_DIST:Mbase}
-. for basedep in ${_QT5_BASE}
-. if ${USE_QT5:M${basedep}}
+. if ${_QT_DIST:Mbase}
+. for basedep in ${_QT5_BASE}
+. if ! empty(USE_QT:M${basedep})
${LN} -sf ${QT_LIBDIR}/${${basedep}_LIB} ${CONFIGURE_WRKSRC}/lib
+. endif
+. endfor
. endif
-. endfor
-. endif
#
# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
@@ -741,10 +308,10 @@
${REINPLACE_CMD} -e "/DEFAULT_LIBDIRS=/ s,\\\\\"\\\\n,\\\\n${LOCALBASE}/lib&," \
${WRKSRC}/configure
-. if ${PORTNAME} != "qmake"
+. if ${PORTNAME} != "qmake"
_QMAKE= ${CONFIGURE_WRKSRC}/bin/qmake
-. endif
-. endif # ${QT_DIST} == "base"
+. endif
+. endif
pre-configure: qt5-pre-configure
qt5-pre-configure:
@@ -771,19 +338,19 @@
post-install: qt-post-install
qt-post-install:
-. if ${QT_DEFINES:N-*}
+. 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 > \
+ ${PORTSDIR}/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/=.*$//}
+. 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}" \
@@ -792,19 +359,19 @@
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
@${ECHO_CMD} \
>> ${STAGEDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
-. endfor
+. endfor
@${ECHO_CMD} "${PREFIX}/${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
>> ${TMPPLIST}
@${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig-modules.h" \
>> ${TMPPLIST}
-. endif # ${QT_DEFINES:N-*}
-. if ${QT_CONFIG:N-*}
+. 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} "${PREFIX}/${QT_MKSPECDIR_REL}/modules/qt_config_${QT_MODNAME}.pri" \
>> ${TMPPLIST}
-. endif # ${QT_CONFIG:N-*}
-.endif # defined(QT_DIST) && ! ${_QT_VERSION:M4*}
+. endif # ${QT_CONFIG:N-*}
+. endif # M4
-.endif # defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
+.endif # defined(_QT_DIST_MK_INCLUDED)
Index: Mk/Uses/qt.mk
===================================================================
--- Mk/Uses/qt.mk
+++ Mk/Uses/qt.mk
@@ -1,16 +1,21 @@
-#-*- tab-width: 4; -*-
-# ex:ts=4
+# $FreeBSD$
#
-# $FreeBSD: head/Mk/bsd.qt.mk 470288 2018-05-18 12:27:43Z rakuco $
+# There are three Qt related USES files with different access to Qt.
+# - qmake: The port requires Qt's qmake to build -- creates the configure target
+# - auto includes qt.mk
+# - qt-dist: The port is a port for an part of Qt4 or Qt5
+# - auto includes qt.mk and qmake.mk
+# - qt.mk - Dependency handling. USE_QT=foo bar
#
-# 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.
+# Usage:
+# USES=qt:<version>[,no_env]
#
+# Versions: 4 5
+#
+# 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.
# 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
@@ -19,246 +24,70 @@
# * Network Audio System (NAS);
# * GTK+-based Qt theme (QGTKSTYLE).
-.if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
+.if !defined(_QT_MK_INCLUDED)
+_QT_MK_INCLUDED= qt.mk
-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.10.1
+_QT_SUPPORTED?= 4 5
+QT4_VERSION?= 4.8.7
+QT5_VERSION?= 5.10.1
-_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}] #'
+# We accept the Qt version to be passed by either or all of the three mk files.
+. if empty(qt_ARGS) && empty(qmake_ARGS) && empty(qt-dist_ARGS)
+IGNORE= qt needs a version (${_QT_SUPPORTED}) passed via qt, qmake or qt-dist.
. 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
+# Gather all the args together
+_QT_GLOBAL_ARGS= ${qt_ARGS} ${qmake_ARGS} ${qt-dist_ARGS}
-.if defined(QT_DIST)
-QT_NONSTANDARD= yes
+# Check fo the Qt version to be used
+_QT_VER= # empty
+. for ver in ${_QT_SUPPORTED:O:u}
+. if ${_QT_GLOBAL_ARGS:M${ver}}
+. if !defined(_QT_VERSION)
+_QT_VER= ${ver}
+. else
+. if ${_QT_VERSION} != ${ver}
+IGNORE?= cannot be installed: different Qt versions specified via qt:[${_QT_SUPPORTED:S/ //g}], qmake:[${_QT_SUPPORTED:S/ //g}] a qt-dist:[${_QT_SUPPORTED:S/ //g}]
+. endif
+. endif
+. endif
+. endfor
-MASTER_SITES= ${MASTER_SITE_QT}
-DISTINFO_FILE?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo
-
-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
-MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
-# www/qt5-webengine hackery: The tarballs of 5.9.5 had a different naming scheme.
-. if ${QT5_VERSION} == "5.9.5"
-DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},}
-. else
-DISTNAME= ${QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}
+. if empty(_QT_VER)
+IGNORE?= cannot decide what Qt version to use: specify one via qt:[${_QT_SUPPORTED:S/ //g}], qmake:[${_QT_SUPPORTED:S/ //g}] or qt-dist:[${_QT_SUPPORTED:S/ //g}]
. endif
-DISTFILES= ${DISTNAME:S,$,${EXTRACT_SUFX},}
-DIST_SUBDIR= KDE/Qt/${_QT_VERSION}
-USES+= tar:xz
+# Set the shortcuts used from now on
+_QT_RELNAME= qt${_QT_VER}
+_QT_VERSION= ${QT${_QT_VER}_VERSION}
-# 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.
-. if ${DISTINFO_FILE:H} == ${.CURDIR:H:H}/devel/${_QT_RELNAME}
-QT_DIST= 3d activeqt androidextras base canvas3d charts connectivity \
- datavis3d declarative doc gamepad graphicaleffects imageformats \
- location macextras multimedia networkauth purchasing \
- quickcontrols2 quickcontrols remoteobjects script scxml sensors \
- serialbus serialport speech svg tools translations \
- virtualkeyboard wayland webchannel websockets webview \
- winextras x11extras xmlpatterns
-. endif
-. endif
-
-. if ${QT_DIST} == "base" && ${PORTNAME} != "qmake"
-# Qt configure requires pkg-config to detect dependencies.
-USES+= pkgconfig
-. 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 ,} \
- --no-same-owner --no-same-permissions
-. endif # ! ${_QT_VERSION:M4*}
-
-CONFIGURE_ENV+= MAKE="${MAKE:T}"
-
-CONFIGURE_ARGS+=-opensource -confirm-license \
- -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 \
- -platform ${QMAKESPEC} \
- -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 \
- -platform ${QMAKESPECNAME} \
- -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
-# Work around a bug in current binutils, where the gold linker creates
-# duplicate symbols. See pr 218187. Disable the gold-linker for Qt5 ports.
-CONFIGURE_ARGS+= -no-use-gold-linker
-# Pass -recheck-all so that multiple calls to the configure script really
-# re-run all checks.
-CONFIGURE_ARGS+= -recheck-all
-. 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 \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test
-# Patch in proper name for armv6 architecture: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01679.html
-_EXTRA_PATCHES_QT4+= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-armv6
-_EXTRA_PATCHES_QT4+= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-aarch64
-. else
-_EXTRA_PATCHES_QT5= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_create__cmake.prf \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_qt__module.prf \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_common_bsd_bsd.conf
-. endif
-EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
- ${_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
-
-# Add a RUN_DEPENDS on misc/qtchooser to select the binaries.
-# The binaries of both supported Qt versions are installed to
-# ${LOCALBASE}/lib/qt[45]/bin. The port misc/qtchooser installs
-# wrapper binaries into ${LOCALBASE}/bin, and chooses the correct
-# one depending on the value of QT_SELECT (which we pass to both
-# CONFIGURE_ENV and MAKE_ENV). Therefore make all QT_DIST ports
-# RUN_DEPEND on it.
-RUN_DEPENDS+= qtchooser:misc/qtchooser
-
-PLIST_SUB+= SHORTVER=${DISTVERSION:R} \
- FULLVER=${DISTVERSION:C/-.*//}
-.endif # defined(QT_DIST)
-
# 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_RELNAME}
-QT_ARCHDIR_REL?=${QT_LIBDIR_REL}
+QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin
+QT_INCDIR_REL?= include/${_QT_RELNAME}
+QT_LIBDIR_REL?= lib/${_QT_RELNAME}
+QT_ARCHDIR_REL?= ${QT_LIBDIR_REL}
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_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
+QT_TESTDIR_REL?= ${QT_DATADIR_REL}/tests
QT_CMAKEDIR_REL?= lib/cmake
QT_QTCHOOSERDIR_REL?= ${QT_ETCDIR_REL}/qtchooser
# Not customizable.
-.if ${_QT_VERSION:M4*}
+. if ${_QT_VERSION:M4*}
QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
-
_QT_LIBVER= # empty
-.else
+. else
QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
-
_QT_LIBVER= ${_QT_VERSION:R:R}
-.endif
+. endif
LRELEASE?= ${QT_BINDIR}/lrelease
LUPDATE?= ${QT_BINDIR}/lupdate
@@ -268,7 +97,7 @@
QMAKE?= ${QT_BINDIR}/qmake
# Needed to redefine the qmake target for internal Qt configuration.
_QMAKE?= ${QMAKE}
-QMAKESPECNAME?= freebsd-${QMAKE_COMPILER}
+QMAKESPECNAME?= freebsd-${QMAKE_COMPILER}
QMAKESPEC?= ${QT_MKSPECDIR}/${QMAKESPECNAME}
# The whole Qt distribution should be built with the same compiler, but it's
@@ -277,71 +106,61 @@
# 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
-
-.for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
+. for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC \
CMAKE QTCHOOSER
QT_${dir}DIR= ${PREFIX}/${QT_${dir}DIR_REL}
# Export all directories to the plist substituion for QT_DIST ports.
# For the others, exclude QT_CMAKEDIR and QT_ETCDIR.
-. if (${dir:NCMAKE} && ${dir:NETC}) || defined(QT_DIST)
+. if ${dir:NCMAKE} && ${dir:NETC}
PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
-. endif
-.endfor
+. endif
+. endfor
# Pass the chosen Qt version to the environment for qtchooser.
-CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME}
-MAKE_ENV+= QT_SELECT=${_QT_RELNAME}
+CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME}
+MAKE_ENV+= QT_SELECT=${_QT_RELNAME}
# Make sure both the installed mkspecs as well as the ones being built are
# found, with the ones from the port being built having preference.
-CONFIGURE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
+CONFIGURE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
MAKE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
-.endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
+_USES_POST+= qt
+.endif # _QT_MK_INCLUDED
-.if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
+# =============================================================================
+#
+# =============================================================================
-Qt_Post_Include= bsd.qt.mk
+.if defined(_POSTMKINCLUDED) && !defined(_QT_MK_POST_INCLUDED)
+_QT_MK_POST_INCLUDED= qt.mk
-.if !defined(QT_NONSTANDARD)
-CONFIGURE_ENV+= QTDIR="${QT_ARCHDIR}" 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)
+# The Qt components supported by qt.mk: list of shared, and version specific ones
+_USE_QT_ALL= assistant dbus declarative designer doc 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_QT_ALL= assistant dbus declarative designer doc gui help \
- imageformats l10n linguist linguisttools multimedia \
- network opengl pixeltool qdbusviewer qmake script \
- scripttools sql sql-mysql sql-odbc sql-pgsql \
- sql-sqlite2 sql-sqlite3 svg testlib webkit \
- xml xmlpatterns
-.if ${ARCH} == amd64 || ${ARCH} == i386
-_USE_QT_ALL+= sql-ibase
-.endif
+_USE_QT4_ONLY= accessible assistant-adp assistantclient clucene codecs-cn codecs-jp \
+ codecs-kr codecs-tw corelib demo graphicssystems-opengl \
+ help-tools iconengines inputmethods makeqpf moc phonon \
+ phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \
+ qtestlib qvfb rcc uic uic3 xmlpatterns-tool
-_USE_QT4_ONLY= accessible assistant-adp assistantclient clucene codecs-cn codecs-jp \
- codecs-kr codecs-tw corelib demo 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 charts concurrent connectivity \
+ core datavis3d diag examples gamepad \
+ graphicaleffects location paths phonon4 plugininfo printsupport \
+ qdbus qdoc qdoc-data qev qml quick quickcontrols \
+ quickcontrols2 scxml sensors serialbus serialport speech \
+ sql-tds uiplugin uitools virtualkeyboard wayland webchannel \
+ webengine websockets websockets-qml widgets x11extras
-_USE_QT5_ONLY= 3d buildtools canvas3d charts concurrent connectivity \
- core datavis3d diag examples gamepad \
- graphicaleffects location paths phonon4 plugininfo printsupport \
- qdbus qdoc qdoc-data qev qml quick quickcontrols \
- quickcontrols2 scxml sensors serialbus serialport speech \
- sql-tds uiplugin uitools virtualkeyboard wayland webchannel \
- webengine websockets websockets-qml widgets x11extras
-
+# Dependency tuples: _LIB should be preferred if possible.
3d_PORT= graphics/${_QT_RELNAME}-3d
-3d_LIB= libQt${_QT_LIBVER}3DCore.so
+3d_LIB= libQt${_QT_LIBVER}3DCore.so
accessible_PORT= accessibility/${_QT_RELNAME}-accessible
accessible_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/accessible/libqtaccessiblewidgets.so
@@ -380,13 +199,13 @@
codecs-tw_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqtwcodecs.so
concurrent_PORT= devel/${_QT_RELNAME}-concurrent
-concurrent_LIB= libQt${_QT_LIBVER}Concurrent.so
+concurrent_LIB= libQt${_QT_LIBVER}Concurrent.so
connectivity_PORT= comms/${_QT_RELNAME}-connectivity
connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so
-core_PORT= devel/${_QT_RELNAME}-core
-core_LIB= libQt${_QT_LIBVER}Core.so
+core_PORT= devel/${_QT_RELNAME}-core
+core_LIB= libQt${_QT_LIBVER}Core.so
corelib_PORT= devel/${_QT_RELNAME}-corelib
corelib_LIB= ${core_LIB}
@@ -394,14 +213,14 @@
datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d
datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so
-dbus_PORT= devel/${_QT_RELNAME}-dbus
-dbus_LIB= libQt${_QT_LIBVER}DBus.so
+dbus_PORT= devel/${_QT_RELNAME}-dbus
+dbus_LIB= libQt${_QT_LIBVER}DBus.so
declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
declarative_LIB= libQt${_QT_LIBVER}Declarative.so
-demo_PORT= misc/${_QT_RELNAME}-qtdemo
-demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo
+demo_PORT= misc/${_QT_RELNAME}-qtdemo
+demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo
designer_PORT= devel/${_QT_RELNAME}-designer
designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer
@@ -409,8 +228,8 @@
diag_PORT= sysutils/${_QT_RELNAME}-qtdiag
diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag
-doc_PORT= misc/${_QT_RELNAME}-doc
-doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
+doc_PORT= misc/${_QT_RELNAME}-doc
+doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
examples_PORT= misc/${_QT_RELNAME}-examples
examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R}
@@ -424,11 +243,11 @@
graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
graphicssystems-opengl_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/graphicssystems/libqglgraphicssystem.so
-gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
-gui_LIB= libQt${_QT_LIBVER}Gui.so
+gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
+gui_LIB= libQt${_QT_LIBVER}Gui.so
-help_PORT= devel/${_QT_RELNAME}-help
-help_LIB= libQt${_QT_LIBVER}Help.so
+help_PORT= devel/${_QT_RELNAME}-help
+help_LIB= libQt${_QT_LIBVER}Help.so
help-tools_PORT= devel/${_QT_RELNAME}-help-tools
help-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qhelpgenerator
@@ -451,14 +270,14 @@
location_PORT= devel/${_QT_RELNAME}-location
location_LIB= libQt${_QT_LIBVER}Location.so
-l10n_PORT= misc/${_QT_RELNAME}-l10n
-l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
+l10n_PORT= misc/${_QT_RELNAME}-l10n
+l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf
makeqpf_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/makeqpf
-moc_PORT= devel/${_QT_RELNAME}-moc
-moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
+moc_PORT= devel/${_QT_RELNAME}-moc
+moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so
@@ -484,8 +303,8 @@
phonon-gst_PORT= multimedia/phonon-gstreamer
phonon-gst_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/phonon_backend/libphonon_gstreamer.so
-plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo
-plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo
+plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo
+plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo
porting_PORT= devel/${_QT_RELNAME}-porting
porting_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qt3to4
@@ -493,29 +312,29 @@
printsupport_PORT= print/${_QT_RELNAME}-printsupport
printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so
-qdbus_PORT= devel/${_QT_RELNAME}-qdbus
-qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus
+qdbus_PORT= devel/${_QT_RELNAME}-qdbus
+qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus
qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer
-qdoc_PORT= devel/${_QT_RELNAME}-qdoc
-qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc
+qdoc_PORT= devel/${_QT_RELNAME}-qdoc
+qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc
qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data
qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf
-qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
-qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3
+qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
+qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3
-qev_PORT= x11/${_QT_RELNAME}-qev
-qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev
+qev_PORT= x11/${_QT_RELNAME}-qev
+qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev
-qmake_PORT= devel/${_QT_RELNAME}-qmake
-qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake
+qmake_PORT= devel/${_QT_RELNAME}-qmake
+qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake
-qml_PORT= lang/${_QT_RELNAME}-qml
-qml_LIB= libQt${_QT_LIBVER}Qml.so
+qml_PORT= lang/${_QT_RELNAME}-qml
+qml_LIB= libQt${_QT_LIBVER}Qml.so
qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
qmlviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmlviewer
@@ -529,8 +348,8 @@
qtestlib_PORT= ${testlib_PORT}
qtestlib_LIB= ${testlib_LIB}
-quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
-quick_LIB= libQt${_QT_LIBVER}Quick.so
+quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
+quick_LIB= libQt${_QT_LIBVER}Quick.so
quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir
@@ -538,11 +357,11 @@
quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2
quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so
-qvfb_PORT= devel/${_QT_RELNAME}-qvfb
-qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb
+qvfb_PORT= devel/${_QT_RELNAME}-qvfb
+qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb
-rcc_PORT= devel/${_QT_RELNAME}-rcc
-rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc
+rcc_PORT= devel/${_QT_RELNAME}-rcc
+rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc
sensors_PORT= comms/${_QT_RELNAME}-sensors
sensors_LIB= libQt${_QT_LIBVER}Sensors.so
@@ -560,13 +379,13 @@
serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so
serialport_PORT= comms/${_QT_RELNAME}-serialport
-serialport_LIB= libQt${_QT_LIBVER}SerialPort.so
+serialport_LIB= libQt${_QT_LIBVER}SerialPort.so
speech_PORT= accessibility/${_QT_RELNAME}-speech
-speech_LIB= libQt${_QT_LIBVER}TextToSpeech.so
+speech_LIB= libQt${_QT_LIBVER}TextToSpeech.so
-sql_PORT= databases/${_QT_RELNAME}-sql
-sql_LIB= libQt${_QT_LIBVER}Sql.so
+sql_PORT= databases/${_QT_RELNAME}-sql
+sql_LIB= libQt${_QT_LIBVER}Sql.so
sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so
@@ -585,17 +404,17 @@
sql-${db}_PATH?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so
. endfor
-svg_PORT= graphics/${_QT_RELNAME}-svg
-svg_LIB= libQt${_QT_LIBVER}Svg.so
+svg_PORT= graphics/${_QT_RELNAME}-svg
+svg_LIB= libQt${_QT_LIBVER}Svg.so
testlib_PORT= devel/${_QT_RELNAME}-testlib
testlib_LIB= libQt${_QT_LIBVER}Test.so
-uic_PORT= devel/${_QT_RELNAME}-uic
-uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic
+uic_PORT= devel/${_QT_RELNAME}-uic
+uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic
-uic3_PORT= devel/${_QT_RELNAME}-uic3
-uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3
+uic3_PORT= devel/${_QT_RELNAME}-uic3
+uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3
uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin
uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin
@@ -607,19 +426,19 @@
virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so
webchannel_PORT= www/${_QT_RELNAME}-webchannel
-webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so
+webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so
webengine_PORT= www/${_QT_RELNAME}-webengine
-webengine_LIB= libQt${_QT_LIBVER}WebEngine.so
+webengine_LIB= libQt${_QT_LIBVER}WebEngine.so
websockets_PORT= www/${_QT_RELNAME}-websockets
-websockets_LIB= libQt${_QT_LIBVER}WebSockets.so
+websockets_LIB= libQt${_QT_LIBVER}WebSockets.so
websockets-qml_PORT= www/${_QT_RELNAME}-websockets-qml
websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir
webkit_PORT= www/${_QT_RELNAME}-webkit
-webkit_LIB= libQt${_QT_LIBVER}WebKit.so
+webkit_LIB= libQt${_QT_LIBVER}WebKit.so
widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
widgets_LIB= libQt${_QT_LIBVER}Widgets.so
@@ -627,8 +446,8 @@
x11extras_PORT= x11/${_QT_RELNAME}-x11extras
x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so
-xml_PORT= textproc/${_QT_RELNAME}-xml
-xml_LIB= libQt${_QT_LIBVER}Xml.so
+xml_PORT= textproc/${_QT_RELNAME}-xml
+xml_LIB= libQt${_QT_LIBVER}Xml.so
xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so
@@ -636,15 +455,16 @@
xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
xmlpatterns-tool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/xmlpatterns
-_USE_QT= ${USE_QT${_QT_VERSION:R:R}}
-_USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY}
+# Actually add the dependencies to the proper lists.
+_USE_QT_ALL+= ${_USE_QT${_QT_VER}_ONLY}
+_USE_QT= ${USE_QT}
# Iterate through components deprived of suffix.
. for component in ${_USE_QT:O:u:C/_.+//}
- # Check that the component is valid.
+# Check that the component is valid.
. if ${_USE_QT_ALL:M${component}} != ""
- # Skip meta-components (currently none).
+# Skip meta-components (currently none).
. if defined(${component}_PORT) && (defined(${component}_PATH) || defined(${component}_LIB))
- # Check if a dependency type is explicitly requested.
+# Check if a dependency type is explicitly requested.
. if ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
${component}_TYPE= # empty
. if ${_USE_QT:M${component}_build} != ""
@@ -654,11 +474,11 @@
${component}_TYPE+= run
. endif
. endif # ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
- # If no dependency type is set, default to full dependency.
+# If no dependency type is set, default to full dependency.
. if !defined(${component}_TYPE)
${component}_TYPE= build run
. endif
- # Set real dependencies.
+# Set real dependencies.
. if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT}
. else
@@ -677,134 +497,4 @@
. endif # ${_USE_QT_ALL:M${component}} != ""
. 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
-
-# The list of QtBase components that need to be linked into WRKSRC/lib for
-# other QtBase ports. See below.
-_QT5_BASE= core dbus gui network sql widgets
-
-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
-
-# The following is a fix for the inplace upgrade problem we faced (see
-# QTBUG-40825 and ports bugs 194088, 195105 and 198720) previously,
-# which previously was adressed by making sure, that ${LOCALBASE}/lib, which
-# would often gets added by pkgconf for the dependencies, was passed after
-# ${WRKSRC}/lib.
-# * We fix the inplace upgrade problem by moving the Qt5 libraries into
-# ${LOCALBASE}/lib/qt5. Therefore a -L${LOCALBASE}/lib does no harm anymore.
-# * However, this means, that the ports belonging to the split up QtBase package
-# now no longer can find their depending QtBase libraries. We fix this by
-# linking these into ${CONFIGURE_WRKSRC}/lib if the given QtBase port depends
-# on them.
-. if ${QT_DIST:Mbase}
-. for basedep in ${_QT5_BASE}
-. if ${USE_QT5:M${basedep}}
- ${LN} -sf ${QT_LIBDIR}/${${basedep}_LIB} ${CONFIGURE_WRKSRC}/lib
-. endif
-. endfor
-. endif
-
-#
-# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
-#
-# 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
-. 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).
- ${MKDIR} ${CONFIGURE_WRKSRC}
- ${ECHO_CMD} 'CMAKE_MODULE_TESTS = -' > ${CONFIGURE_WRKSRC}/.qmake.cache
-#
-# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
-#
-# 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${CONFIGURE_WRKSRC}/lib' >> ${CONFIGURE_WRKSRC}/.qmake.cache
-
-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} "${PREFIX}/${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
- >> ${TMPPLIST}
- @${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${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} "${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)
+.endif # defined(_QT_MK_POST_INCLUDED)
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk
+++ Mk/bsd.port.mk
@@ -1399,10 +1399,6 @@
USES+= apache:${USE_APACHE:C/2([0-9])/2.\1/g}
.endif
-.if defined(USE_QT4) || defined(USE_QT5)
-.include "${PORTSDIR}/Mk/bsd.qt.mk"
-.endif
-
.if defined(USE_TEX)
.include "${PORTSDIR}/Mk/bsd.tex.mk"
.endif
@@ -1963,10 +1959,6 @@
.if defined(USE_OCAML)
.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
-.endif
-
-.if defined(USE_QT4) || defined(USE_QT5)
-.include "${PORTSDIR}/Mk/bsd.qt.mk"
.endif
.if defined(USE_SDL)
Index: Mk/bsd.qt.mk
===================================================================
--- Mk/bsd.qt.mk
+++ /dev/null
@@ -1,810 +0,0 @@
-#-*- 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.10.1
-
-_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
-
-MASTER_SITES= ${MASTER_SITE_QT}
-DISTINFO_FILE?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo
-
-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
-MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
-# www/qt5-webengine hackery: The tarballs of 5.9.5 had a different naming scheme.
-. if ${QT5_VERSION} == "5.9.5"
-DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},}
-. else
-DISTNAME= ${QT_DIST:S,^,qt,:S,$,-everywhere-src-${DISTVERSION},}
-. endif
-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.
-. if ${DISTINFO_FILE:H} == ${.CURDIR:H:H}/devel/${_QT_RELNAME}
-QT_DIST= 3d activeqt androidextras base canvas3d charts connectivity \
- datavis3d declarative doc gamepad graphicaleffects imageformats \
- location macextras multimedia networkauth purchasing \
- quickcontrols2 quickcontrols remoteobjects script scxml sensors \
- serialbus serialport speech svg tools translations \
- virtualkeyboard wayland webchannel websockets webview \
- winextras x11extras xmlpatterns
-. endif
-. endif
-
-. if ${QT_DIST} == "base" && ${PORTNAME} != "qmake"
-# Qt configure requires pkg-config to detect dependencies.
-USES+= pkgconfig
-. 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 ,} \
- --no-same-owner --no-same-permissions
-. endif # ! ${_QT_VERSION:M4*}
-
-CONFIGURE_ENV+= MAKE="${MAKE:T}"
-
-CONFIGURE_ARGS+=-opensource -confirm-license \
- -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 \
- -platform ${QMAKESPEC} \
- -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 \
- -platform ${QMAKESPECNAME} \
- -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
-# Work around a bug in current binutils, where the gold linker creates
-# duplicate symbols. See pr 218187. Disable the gold-linker for Qt5 ports.
-CONFIGURE_ARGS+= -no-use-gold-linker
-# Pass -recheck-all so that multiple calls to the configure script really
-# re-run all checks.
-CONFIGURE_ARGS+= -recheck-all
-. 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 \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test
-# Patch in proper name for armv6 architecture: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01679.html
-_EXTRA_PATCHES_QT4+= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-armv6
-_EXTRA_PATCHES_QT4+= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-aarch64
-. else
-_EXTRA_PATCHES_QT5= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_create__cmake.prf \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_features_qt__module.prf \
- ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_common_bsd_bsd.conf
-. endif
-EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
- ${_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
-
-# Add a RUN_DEPENDS on misc/qtchooser to select the binaries.
-# The binaries of both supported Qt versions are installed to
-# ${LOCALBASE}/lib/qt[45]/bin. The port misc/qtchooser installs
-# wrapper binaries into ${LOCALBASE}/bin, and chooses the correct
-# one depending on the value of QT_SELECT (which we pass to both
-# CONFIGURE_ENV and MAKE_ENV). Therefore make all QT_DIST ports
-# RUN_DEPEND on it.
-RUN_DEPENDS+= qtchooser:misc/qtchooser
-
-PLIST_SUB+= SHORTVER=${DISTVERSION:R} \
- FULLVER=${DISTVERSION:C/-.*//}
-.endif # defined(QT_DIST)
-
-# 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_RELNAME}
-QT_ARCHDIR_REL?=${QT_LIBDIR_REL}
-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
-QT_CMAKEDIR_REL?= lib/cmake
-QT_QTCHOOSERDIR_REL?= ${QT_ETCDIR_REL}/qtchooser
-
-# Not customizable.
-.if ${_QT_VERSION:M4*}
-QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
-
-_QT_LIBVER= # empty
-.else
-QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
-
-_QT_LIBVER= ${_QT_VERSION:R:R}
-.endif
-
-LRELEASE?= ${QT_BINDIR}/lrelease
-LUPDATE?= ${QT_BINDIR}/lupdate
-MOC?= ${QT_BINDIR}/moc
-RCC?= ${QT_BINDIR}/rcc
-UIC?= ${QT_BINDIR}/uic
-QMAKE?= ${QT_BINDIR}/qmake
-# Needed to redefine the qmake target for internal Qt configuration.
-_QMAKE?= ${QMAKE}
-QMAKESPECNAME?= freebsd-${QMAKE_COMPILER}
-QMAKESPEC?= ${QT_MKSPECDIR}/${QMAKESPECNAME}
-
-# 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
-
-.for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
- QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC \
- CMAKE QTCHOOSER
-QT_${dir}DIR= ${PREFIX}/${QT_${dir}DIR_REL}
-# Export all directories to the plist substituion for QT_DIST ports.
-# For the others, exclude QT_CMAKEDIR and QT_ETCDIR.
-. if (${dir:NCMAKE} && ${dir:NETC}) || defined(QT_DIST)
-PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
-. endif
-.endfor
-
-# Pass the chosen Qt version to the environment for qtchooser.
-CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME}
-MAKE_ENV+= QT_SELECT=${_QT_RELNAME}
-
-# Make sure both the installed mkspecs as well as the ones being built are
-# found, with the ones from the port being built having preference.
-CONFIGURE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
-MAKE_ENV+= QMAKEMODULES="${WRKSRC}/mkspecs/modules:${LOCALBASE}/${QT_MKSPECDIR_REL}/modules"
-
-.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_ARCHDIR}" 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 dbus declarative designer doc gui help \
- imageformats l10n linguist linguisttools multimedia \
- network opengl pixeltool qdbusviewer qmake script \
- scripttools sql sql-mysql sql-odbc sql-pgsql \
- sql-sqlite2 sql-sqlite3 svg testlib webkit \
- xml xmlpatterns
-.if ${ARCH} == amd64 || ${ARCH} == i386
-_USE_QT_ALL+= sql-ibase
-.endif
-
-_USE_QT4_ONLY= accessible assistant-adp assistantclient clucene codecs-cn codecs-jp \
- codecs-kr codecs-tw corelib demo 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 charts concurrent connectivity \
- core datavis3d diag examples gamepad \
- graphicaleffects location paths phonon4 plugininfo printsupport \
- qdbus qdoc qdoc-data qev qml quick quickcontrols \
- quickcontrols2 scxml sensors serialbus serialport speech \
- sql-tds uiplugin uitools virtualkeyboard wayland webchannel \
- webengine websockets websockets-qml widgets x11extras
-
-3d_PORT= graphics/${_QT_RELNAME}-3d
-3d_LIB= libQt${_QT_LIBVER}3DCore.so
-
-accessible_PORT= accessibility/${_QT_RELNAME}-accessible
-accessible_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/accessible/libqtaccessiblewidgets.so
-
-assistant_PORT= devel/${_QT_RELNAME}-assistant
-assistant_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/assistant
-
-assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp
-assistant-adp_PATH= assistant_adp
-
-assistantclient_PORT= devel/${_QT_RELNAME}-libqtassistantclient
-assistantclient_LIB= libQt${_QT_LIBVER}AssistantClient.so
-
-buildtools_PORT= devel/${_QT_RELNAME}-buildtools
-buildtools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
-
-canvas3d_PORT= x11-toolkits/${_QT_RELNAME}-canvas3d
-canvas3d_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtCanvas3D/qmldir
-
-charts_PORT= x11-toolkits/${_QT_RELNAME}-charts
-charts_LIB= libQt${_QT_LIBVER}Charts.so
-
-clucene_PORT= textproc/${_QT_RELNAME}-clucene
-clucene_LIB= libQt${_QT_LIBVER}CLucene.so
-
-codecs-cn_PORT= chinese/${_QT_RELNAME}-codecs-cn
-codecs-cn_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqcncodecs.so
-
-codecs-jp_PORT= japanese/${_QT_RELNAME}-codecs-jp
-codecs-jp_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqjpcodecs.so
-
-codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr
-codecs-kr_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqkrcodecs.so
-
-codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw
-codecs-tw_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqtwcodecs.so
-
-concurrent_PORT= devel/${_QT_RELNAME}-concurrent
-concurrent_LIB= libQt${_QT_LIBVER}Concurrent.so
-
-connectivity_PORT= comms/${_QT_RELNAME}-connectivity
-connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so
-
-core_PORT= devel/${_QT_RELNAME}-core
-core_LIB= libQt${_QT_LIBVER}Core.so
-
-corelib_PORT= devel/${_QT_RELNAME}-corelib
-corelib_LIB= ${core_LIB}
-
-datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d
-datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so
-
-dbus_PORT= devel/${_QT_RELNAME}-dbus
-dbus_LIB= libQt${_QT_LIBVER}DBus.so
-
-declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
-declarative_LIB= libQt${_QT_LIBVER}Declarative.so
-
-demo_PORT= misc/${_QT_RELNAME}-qtdemo
-demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo
-
-designer_PORT= devel/${_QT_RELNAME}-designer
-designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer
-
-diag_PORT= sysutils/${_QT_RELNAME}-qtdiag
-diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag
-
-doc_PORT= misc/${_QT_RELNAME}-doc
-doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
-
-examples_PORT= misc/${_QT_RELNAME}-examples
-examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R}
-
-gamepad_PORT= x11-toolkits/${_QT_RELNAME}-gamepad
-gamepad_LIB= libQt${_QT_LIBVER}Gamepad.so
-
-graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects
-graphicaleffects_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtGraphicalEffects/qmldir
-
-graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
-graphicssystems-opengl_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/graphicssystems/libqglgraphicssystem.so
-
-gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
-gui_LIB= libQt${_QT_LIBVER}Gui.so
-
-help_PORT= devel/${_QT_RELNAME}-help
-help_LIB= libQt${_QT_LIBVER}Help.so
-
-help-tools_PORT= devel/${_QT_RELNAME}-help-tools
-help-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qhelpgenerator
-
-iconengines_PORT= graphics/${_QT_RELNAME}-iconengines
-iconengines_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/iconengines/libqsvgicon.so
-
-imageformats_PORT= graphics/${_QT_RELNAME}-imageformats
-imageformats_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/imageformats/libqtiff.so
-
-inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods
-inputmethods_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/inputmethods/libqimsw-multi.so
-
-linguist_PORT= devel/${_QT_RELNAME}-linguist
-linguist_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/linguist
-
-linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools
-linguisttools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lrelease
-
-location_PORT= devel/${_QT_RELNAME}-location
-location_LIB= 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= ${LOCALBASE}/${QT_BINDIR_REL}/makeqpf
-
-moc_PORT= devel/${_QT_RELNAME}-moc
-moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc
-
-multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
-multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so
-
-network_PORT= net/${_QT_RELNAME}-network
-network_LIB= libQt${_QT_LIBVER}Network.so
-
-opengl_PORT= graphics/${_QT_RELNAME}-opengl
-opengl_LIB= libQt${_QT_LIBVER}OpenGL.so
-
-paths_PORT= sysutils/${_QT_RELNAME}-qtpaths
-paths_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtpaths
-
-pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool
-pixeltool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/pixeltool
-
-phonon_PORT= multimedia/phonon
-phonon_LIB= libphonon.so
-
-phonon4_PORT= multimedia/${_QT_RELNAME}-phonon4
-phonon4_LIB= libphonon4${_QT_RELNAME}.so
-
-phonon-gst_PORT= multimedia/phonon-gstreamer
-phonon-gst_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/phonon_backend/libphonon_gstreamer.so
-
-plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo
-plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo
-
-porting_PORT= devel/${_QT_RELNAME}-porting
-porting_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qt3to4
-
-printsupport_PORT= print/${_QT_RELNAME}-printsupport
-printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so
-
-qdbus_PORT= devel/${_QT_RELNAME}-qdbus
-qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus
-
-qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
-qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer
-
-qdoc_PORT= devel/${_QT_RELNAME}-qdoc
-qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc
-
-qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data
-qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf
-
-qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
-qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3
-
-qev_PORT= x11/${_QT_RELNAME}-qev
-qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev
-
-qmake_PORT= devel/${_QT_RELNAME}-qmake
-qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake
-
-qml_PORT= lang/${_QT_RELNAME}-qml
-qml_LIB= libQt${_QT_LIBVER}Qml.so
-
-qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
-qmlviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmlviewer
-
-qt3support_PORT= devel/${_QT_RELNAME}-qt3support
-qt3support_LIB= libQt${_QT_LIBVER}3Support.so
-
-qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig
-qtconfig_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtconfig
-
-qtestlib_PORT= ${testlib_PORT}
-qtestlib_LIB= ${testlib_LIB}
-
-quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
-quick_LIB= libQt${_QT_LIBVER}Quick.so
-
-quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
-quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir
-
-quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2
-quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so
-
-qvfb_PORT= devel/${_QT_RELNAME}-qvfb
-qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb
-
-rcc_PORT= devel/${_QT_RELNAME}-rcc
-rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc
-
-sensors_PORT= comms/${_QT_RELNAME}-sensors
-sensors_LIB= libQt${_QT_LIBVER}Sensors.so
-
-script_PORT= devel/${_QT_RELNAME}-script
-script_LIB= libQt${_QT_LIBVER}Script.so
-
-scripttools_PORT= devel/${_QT_RELNAME}-scripttools
-scripttools_LIB= libQt${_QT_LIBVER}ScriptTools.so
-
-scxml_PORT= devel/${_QT_RELNAME}-scxml
-scxml_LIB= libQt${_QT_LIBVER}Scxml.so
-
-serialbus_PORT= comms/${_QT_RELNAME}-serialbus
-serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so
-
-serialport_PORT= comms/${_QT_RELNAME}-serialport
-serialport_LIB= libQt${_QT_LIBVER}SerialPort.so
-
-speech_PORT= accessibility/${_QT_RELNAME}-speech
-speech_LIB= libQt${_QT_LIBVER}TextToSpeech.so
-
-sql_PORT= databases/${_QT_RELNAME}-sql
-sql_LIB= libQt${_QT_LIBVER}Sql.so
-
-sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so
-
-. if ${_QT_VERSION:M4*}
-sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin
-. endif
-
-sql-sqlite3_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlite.so
-
-. for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds
-. 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?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so
-. endfor
-
-svg_PORT= graphics/${_QT_RELNAME}-svg
-svg_LIB= libQt${_QT_LIBVER}Svg.so
-
-testlib_PORT= devel/${_QT_RELNAME}-testlib
-testlib_LIB= libQt${_QT_LIBVER}Test.so
-
-uic_PORT= devel/${_QT_RELNAME}-uic
-uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic
-
-uic3_PORT= devel/${_QT_RELNAME}-uic3
-uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3
-
-uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin
-uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin
-
-uitools_PORT= devel/${_QT_RELNAME}-uitools
-uitools_PATH= ${LOCALBASE}/${QT_LIBDIR_REL}/libQt${_QT_LIBVER}UiTools.a
-
-virtualkeyboard_PORT= x11-toolkits/${_QT_RELNAME}-virtualkeyboard
-virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so
-
-webchannel_PORT= www/${_QT_RELNAME}-webchannel
-webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so
-
-webengine_PORT= www/${_QT_RELNAME}-webengine
-webengine_LIB= libQt${_QT_LIBVER}WebEngine.so
-
-websockets_PORT= www/${_QT_RELNAME}-websockets
-websockets_LIB= libQt${_QT_LIBVER}WebSockets.so
-
-websockets-qml_PORT= www/${_QT_RELNAME}-websockets-qml
-websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir
-
-webkit_PORT= www/${_QT_RELNAME}-webkit
-webkit_LIB= libQt${_QT_LIBVER}WebKit.so
-
-widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
-widgets_LIB= libQt${_QT_LIBVER}Widgets.so
-
-x11extras_PORT= x11/${_QT_RELNAME}-x11extras
-x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so
-
-xml_PORT= textproc/${_QT_RELNAME}-xml
-xml_LIB= libQt${_QT_LIBVER}Xml.so
-
-xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
-xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so
-
-xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
-xmlpatterns-tool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/xmlpatterns
-
-_USE_QT= ${USE_QT${_QT_VERSION:R:R}}
-_USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY}
-# Iterate through components deprived of suffix.
-. for component in ${_USE_QT:O:u:C/_.+//}
- # Check that the component is valid.
-. if ${_USE_QT_ALL:M${component}} != ""
- # Skip meta-components (currently none).
-. if defined(${component}_PORT) && (defined(${component}_PATH) || defined(${component}_LIB))
- # Check if a dependency type is explicitly requested.
-. if ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
-${component}_TYPE= # empty
-. if ${_USE_QT:M${component}_build} != ""
-${component}_TYPE+= build
-. endif
-. if ${_USE_QT:M${component}_run} != ""
-${component}_TYPE+= run
-. endif
-. endif # ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == ""
- # If no dependency type is set, default to full dependency.
-. if !defined(${component}_TYPE)
-${component}_TYPE= build run
-. endif
- # Set real dependencies.
-. if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
-LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT}
-. else
-${component}_PATH?= ${QT_LIBDIR}/${${component}_LIB}
-${component}_DEPENDS= ${${component}_PATH}:${${component}_PORT}
-. if ${${component}_TYPE:Mbuild} != ""
-BUILD_DEPENDS+= ${${component}_DEPENDS}
-. endif
-. if ${${component}_TYPE:Mrun} != ""
-RUN_DEPENDS+= ${${component}_DEPENDS}
-. endif
-. endif # ${${component}_LIB} && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun}
-. endif # defined(${component}_PORT) && defined(${component}_PATH)
-. else # ! ${_USE_QT_ALL:M${component}} != ""
-IGNORE= cannot be installed: unknown USE_QT component '${component}'
-. endif # ${_USE_QT_ALL:M${component}} != ""
-. 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
-
-# The list of QtBase components that need to be linked into WRKSRC/lib for
-# other QtBase ports. See below.
-_QT5_BASE= core dbus gui network sql widgets
-
-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
-
-# The following is a fix for the inplace upgrade problem we faced (see
-# QTBUG-40825 and ports bugs 194088, 195105 and 198720) previously,
-# which previously was adressed by making sure, that ${LOCALBASE}/lib, which
-# would often gets added by pkgconf for the dependencies, was passed after
-# ${WRKSRC}/lib.
-# * We fix the inplace upgrade problem by moving the Qt5 libraries into
-# ${LOCALBASE}/lib/qt5. Therefore a -L${LOCALBASE}/lib does no harm anymore.
-# * However, this means, that the ports belonging to the split up QtBase package
-# now no longer can find their depending QtBase libraries. We fix this by
-# linking these into ${CONFIGURE_WRKSRC}/lib if the given QtBase port depends
-# on them.
-. if ${QT_DIST:Mbase}
-. for basedep in ${_QT5_BASE}
-. if ${USE_QT5:M${basedep}}
- ${LN} -sf ${QT_LIBDIR}/${${basedep}_LIB} ${CONFIGURE_WRKSRC}/lib
-. endif
-. endfor
-. endif
-
-#
-# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
-#
-# 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
-. 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).
- ${MKDIR} ${CONFIGURE_WRKSRC}
- ${ECHO_CMD} 'CMAKE_MODULE_TESTS = -' > ${CONFIGURE_WRKSRC}/.qmake.cache
-#
-# **** THIS PART IS OBSOLETE FOR THE NEXT QT UPGRADE ****
-#
-# 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${CONFIGURE_WRKSRC}/lib' >> ${CONFIGURE_WRKSRC}/.qmake.cache
-
-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} "${PREFIX}/${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
- >> ${TMPPLIST}
- @${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${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} "${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)
Index: Mk/bsd.sanity.mk
===================================================================
--- Mk/bsd.sanity.mk
+++ Mk/bsd.sanity.mk
@@ -18,7 +18,8 @@
OVERRIDE_LINUX_BASE_PORT WITH_OPENSSL_PORT \
WITH_OPENSSL_BASE PYTHON_DEFAULT_VERSION \
PYTHON2_DEFAULT_VERSION PYTHON3_DEFAULT_VERSION
-ALL_DEPRECATED=
+
+ALL_DEPRECATED=
ALL_NOTNEEDED= WITH_NEW_XORG WITHOUT_NEW_XORG WITH_KMS WITHOUT_KMS
WITHOUT_NLS_ALT= "OPTIONS_UNSET=NLS, or ${OPTIONS_NAME}_UNSET+=NLS instead"
@@ -167,7 +168,7 @@
USE_RCORDER USE_OPENSSL WANT_GNOME RUBYGEM_AUTOPLIST WANT_SDL \
INSTALLS_EGGINFO USE_DOS2UNIX NO_STAGE USE_RUBYGEMS USE_GHOSTSCRIPT \
USE_GHOSTSCRIPT_BUILD USE_GHOSTSCRIPT_RUN USE_AUTOTOOLS APACHE_PORT \
- USE_FPC_RUN WANT_FPC_BASE WANT_FPC_ALL
+ USE_FPC_RUN WANT_FPC_BASE WANT_FPC_ALL USE_QT4 USE_QT5 QT_NONSTANDARD
SANITY_DEPRECATED= PYTHON_PKGNAMESUFFIX MLINKS \
USE_MYSQL WANT_MYSQL_VER \
PYDISTUTILS_INSTALLNOSINGLE \
@@ -252,6 +253,9 @@
USE_FPC_RUN_ALT= USES=fpc:run
WANT_FPC_BASE_ALT= USES=fpc:base
WANT_FPC_ALL_ALT= USES=fpc:all
+USE_QT4_ALT= USES=qt:4 and USE_QT=${USE_QT4}
+USE_QT5_ALT= USES=qt:5 and USE_QT=${USE_QT5}
+QT_NONSTANDARD_ALT= USES=qmake:no_env
.for a in ${SANITY_DEPRECATED}
.if defined(${a})

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 15, 6:05 AM (12 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27644757
Default Alt Text
D15540.diff (107 KB)

Event Timeline