Changeset View
Changeset View
Standalone View
Standalone View
Mk/Uses/qt.mk
- This file was moved from Mk/bsd.qt.mk.
#-*- tab-width: 4; -*- | # $FreeBSD$ | ||||
# ex:ts=4 | |||||
# | # | ||||
# $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 | |||||
# | # | ||||
# Usage: | |||||
# USES=qt:<version>[,no_env] | |||||
# | |||||
# Versions: 4 5 | |||||
# | |||||
# Port variables: | # Port variables: | ||||
# USE_QT* - List of Qt modules to depend on, with optional '_build' | # USE_QT - List of Qt modules to depend on, with optional '_build' | ||||
# and '_run' suffixes. Define it empty to include this file | # and '_run' suffixes. Define it empty to include this file | ||||
# without depending on Qt ports. | # 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): | # Global switches (for inclusion into /etc/make.conf): | ||||
# QT4_OPTIONS - A list of (Qt 4-only) global options; can be CUPS, NAS | # 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 | # and/or QGTKSTYLE. If set, Qt will be built with support | ||||
# for: | # for: | ||||
# * Common UNIX Printing System (CUPS); | # * Common UNIX Printing System (CUPS); | ||||
# * Network Audio System (NAS); | # * Network Audio System (NAS); | ||||
# * GTK+-based Qt theme (QGTKSTYLE). | # * 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 versions currently supported by the framework. | ||||
_QT_SUPPORTED?= 4 5 | _QT_SUPPORTED?= 4 5 | ||||
QT4_VERSION?= 4.8.7 | QT4_VERSION?= 4.8.7 | ||||
QT5_VERSION?= 5.10.1 | QT5_VERSION?= 5.10.1 | ||||
_QT_RELNAME= qt${_QT_VERSION:R:R} | # We accept the Qt version to be passed by either or all of the three mk files. | ||||
_QT_VERSION= # empty | . if empty(qt_ARGS) && empty(qmake_ARGS) && empty(qt-dist_ARGS) | ||||
.for ver in ${_QT_SUPPORTED} | IGNORE= qt needs a version (${_QT_SUPPORTED}) passed via qt, qmake or qt-dist. | ||||
. 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 | ||||
. endif | |||||
.endfor | |||||
.if empty(_QT_VERSION) | # Gather all the args together | ||||
# The file was included without USE_QT*. | _QT_GLOBAL_ARGS= ${qt_ARGS} ${qmake_ARGS} ${qt-dist_ARGS} | ||||
IGNORE?= can't be installed: bsd.qt.mk may only be included via USE_QT[${_QT_SUPPORTED:S/ //g}] #' | |||||
.endif | |||||
.if defined(QT_DIST) | # Check fo the Qt version to be used | ||||
QT_NONSTANDARD= yes | _QT_VER= # empty | ||||
. for ver in ${_QT_SUPPORTED:O:u} | |||||
mat: At this point, `PORTSDIR` should always be defined. | |||||
Not Done Inline ActionsI don't quite understand what you mean here, sorry :) tcberner: I don't quite understand what you mean here, sorry :) | |||||
Not Done Inline Actions? :) tcberner: ? :) | |||||
Not Done Inline ActionsThe only reason we use .CURDIR:H:H in ports to reference PORTSDIR is because bsd.port.mk has not yet been included, and PORTSDIR is not yet defined. Here, we are in a USES, and PORTSDIR is always defined, it should be used instead of the obscure .CURDIR:H:H. mat: The only reason we use `.CURDIR:H:H` in ports to reference `PORTSDIR` is because bsd.port.mk… | |||||
MASTER_SITES= ${MASTER_SITE_QT} | . if ${_QT_GLOBAL_ARGS:M${ver}} | ||||
DISTINFO_FILE?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo | . if !defined(_QT_VERSION) | ||||
_QT_VER= ${ver} | |||||
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 | . else | ||||
MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/ | . if ${_QT_VERSION} != ${ver} | ||||
# www/qt5-webengine hackery: The tarballs of 5.9.5 had a different naming scheme. | 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}] | ||||
. 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 | . 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 | ||||
. endif | . endif | ||||
. endfor | |||||
. if ${QT_DIST} == "base" && ${PORTNAME} != "qmake" | . if empty(_QT_VER) | ||||
# Qt configure requires pkg-config to detect dependencies. | 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}] | ||||
USES+= pkgconfig | |||||
. endif | . endif | ||||
# -nomake is only used by qtbase's configure script. | # Set the shortcuts used from now on | ||||
# Other ports from other Qt modules will automatically build examples and | _QT_RELNAME= qt${_QT_VER} | ||||
# tests if the directories exist because of mkspecs/features/qt_parts.prf. | _QT_VERSION= ${QT${_QT_VER}_VERSION} | ||||
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. | # A wrapper (qtchooser) is used to invoke binaries. | ||||
Not Done Inline ActionsYou know tar_ARGS= xz .include "${USESDIR}/tar.mk" could be written as: EXTRACT_SUFX?= .tar.xz And it would probably be faster, one less file to open and parse. mat: You know
```
tar_ARGS= xz
.include "${USESDIR}/tar.mk"
```
could be written as:
```… | |||||
QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin | QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin | ||||
QT_INCDIR_REL?= include/${_QT_RELNAME} | QT_INCDIR_REL?= include/${_QT_RELNAME} | ||||
QT_LIBDIR_REL?= lib/${_QT_RELNAME} | QT_LIBDIR_REL?= lib/${_QT_RELNAME} | ||||
QT_ARCHDIR_REL?=${QT_LIBDIR_REL} | QT_ARCHDIR_REL?= ${QT_LIBDIR_REL} | ||||
QT_PLUGINDIR_REL?= ${QT_ARCHDIR_REL}/plugins | QT_PLUGINDIR_REL?= ${QT_ARCHDIR_REL}/plugins | ||||
QT_LIBEXECDIR_REL?= libexec/${_QT_RELNAME} | QT_LIBEXECDIR_REL?= libexec/${_QT_RELNAME} | ||||
QT_IMPORTDIR_REL?= ${QT_ARCHDIR_REL}/imports | QT_IMPORTDIR_REL?= ${QT_ARCHDIR_REL}/imports | ||||
QT_QMLDIR_REL?= ${QT_ARCHDIR_REL}/qml | QT_QMLDIR_REL?= ${QT_ARCHDIR_REL}/qml | ||||
QT_DATADIR_REL?=share/${_QT_RELNAME} | QT_DATADIR_REL?= share/${_QT_RELNAME} | ||||
QT_DOCDIR_REL?= share/doc/${_QT_RELNAME} | QT_DOCDIR_REL?= share/doc/${_QT_RELNAME} | ||||
QT_L10NDIR_REL?=${QT_DATADIR_REL}/translations | QT_L10NDIR_REL?= ${QT_DATADIR_REL}/translations | ||||
QT_ETCDIR_REL?= etc/xdg | QT_ETCDIR_REL?= etc/xdg | ||||
QT_EXAMPLEDIR_REL?= share/examples/${_QT_RELNAME} | 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_CMAKEDIR_REL?= lib/cmake | ||||
QT_QTCHOOSERDIR_REL?= ${QT_ETCDIR_REL}/qtchooser | QT_QTCHOOSERDIR_REL?= ${QT_ETCDIR_REL}/qtchooser | ||||
# Not customizable. | # Not customizable. | ||||
.if ${_QT_VERSION:M4*} | . if ${_QT_VERSION:M4*} | ||||
QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs | QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs | ||||
_QT_LIBVER= # empty | _QT_LIBVER= # empty | ||||
.else | . else | ||||
QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs | QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs | ||||
_QT_LIBVER= ${_QT_VERSION:R:R} | _QT_LIBVER= ${_QT_VERSION:R:R} | ||||
.endif | . endif | ||||
LRELEASE?= ${QT_BINDIR}/lrelease | LRELEASE?= ${QT_BINDIR}/lrelease | ||||
LUPDATE?= ${QT_BINDIR}/lupdate | LUPDATE?= ${QT_BINDIR}/lupdate | ||||
MOC?= ${QT_BINDIR}/moc | MOC?= ${QT_BINDIR}/moc | ||||
RCC?= ${QT_BINDIR}/rcc | RCC?= ${QT_BINDIR}/rcc | ||||
UIC?= ${QT_BINDIR}/uic | UIC?= ${QT_BINDIR}/uic | ||||
QMAKE?= ${QT_BINDIR}/qmake | QMAKE?= ${QT_BINDIR}/qmake | ||||
# Needed to redefine the qmake target for internal Qt configuration. | # Needed to redefine the qmake target for internal Qt configuration. | ||||
_QMAKE?= ${QMAKE} | _QMAKE?= ${QMAKE} | ||||
QMAKESPECNAME?= freebsd-${QMAKE_COMPILER} | QMAKESPECNAME?= freebsd-${QMAKE_COMPILER} | ||||
QMAKESPEC?= ${QT_MKSPECDIR}/${QMAKESPECNAME} | QMAKESPEC?= ${QT_MKSPECDIR}/${QMAKESPECNAME} | ||||
# The whole Qt distribution should be built with the same compiler, but it's | # The whole Qt distribution should be built with the same compiler, but it's | ||||
# better to support custom settings. Dereferencing the detection allows to | # 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 | # avoid forking a shell on each inclusion of this file, and to catch any CXX | ||||
# customization (via USE_GCC, etc.). | # customization (via USE_GCC, etc.). | ||||
QMAKE_COMPILER= $$(ccver="$$(${CXX} --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac) | 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 \ | QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC \ | ||||
CMAKE QTCHOOSER | CMAKE QTCHOOSER | ||||
QT_${dir}DIR= ${PREFIX}/${QT_${dir}DIR_REL} | QT_${dir}DIR= ${PREFIX}/${QT_${dir}DIR_REL} | ||||
# Export all directories to the plist substituion for QT_DIST ports. | # Export all directories to the plist substituion for QT_DIST ports. | ||||
# For the others, exclude QT_CMAKEDIR and QT_ETCDIR. | # 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}" | PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}" | ||||
. endif | . endif | ||||
.endfor | . endfor | ||||
# Pass the chosen Qt version to the environment for qtchooser. | # Pass the chosen Qt version to the environment for qtchooser. | ||||
CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME} | CONFIGURE_ENV+= QT_SELECT=${_QT_RELNAME} | ||||
MAKE_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 | # 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. | # 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" | 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) | # The Qt components supported by qt.mk: list of shared, and version specific ones | ||||
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 \ | _USE_QT_ALL= assistant dbus declarative designer doc gui help \ | ||||
imageformats l10n linguist linguisttools multimedia \ | imageformats l10n linguist linguisttools multimedia \ | ||||
network opengl pixeltool qdbusviewer qmake script \ | network opengl pixeltool qdbusviewer qmake script \ | ||||
scripttools sql sql-mysql sql-odbc sql-pgsql \ | scripttools sql sql-ibase sql-mysql sql-odbc sql-pgsql \ | ||||
sql-sqlite2 sql-sqlite3 svg testlib webkit \ | sql-sqlite2 sql-sqlite3 svg testlib webkit \ | ||||
xml xmlpatterns | 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 \ | _USE_QT4_ONLY= accessible assistant-adp assistantclient clucene codecs-cn codecs-jp \ | ||||
codecs-kr codecs-tw corelib demo graphicssystems-opengl \ | codecs-kr codecs-tw corelib demo graphicssystems-opengl \ | ||||
help-tools iconengines inputmethods makeqpf moc phonon \ | help-tools iconengines inputmethods makeqpf moc phonon \ | ||||
phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \ | phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \ | ||||
qtestlib qvfb rcc uic uic3 xmlpatterns-tool | qtestlib qvfb rcc uic uic3 xmlpatterns-tool | ||||
_USE_QT5_ONLY= 3d buildtools canvas3d charts concurrent connectivity \ | _USE_QT5_ONLY= 3d buildtools canvas3d charts concurrent connectivity \ | ||||
core datavis3d diag examples gamepad \ | core datavis3d diag examples gamepad \ | ||||
graphicaleffects location paths phonon4 plugininfo printsupport \ | graphicaleffects location paths phonon4 plugininfo printsupport \ | ||||
qdbus qdoc qdoc-data qev qml quick quickcontrols \ | qdbus qdoc qdoc-data qev qml quick quickcontrols \ | ||||
quickcontrols2 scxml sensors serialbus serialport speech \ | quickcontrols2 scxml sensors serialbus serialport speech \ | ||||
sql-tds uiplugin uitools virtualkeyboard wayland webchannel \ | sql-tds uiplugin uitools virtualkeyboard wayland webchannel \ | ||||
webengine websockets websockets-qml widgets x11extras | webengine websockets websockets-qml widgets x11extras | ||||
# Dependency tuples: _LIB should be preferred if possible. | |||||
3d_PORT= graphics/${_QT_RELNAME}-3d | 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_PORT= accessibility/${_QT_RELNAME}-accessible | ||||
accessible_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/accessible/libqtaccessiblewidgets.so | accessible_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/accessible/libqtaccessiblewidgets.so | ||||
assistant_PORT= devel/${_QT_RELNAME}-assistant | assistant_PORT= devel/${_QT_RELNAME}-assistant | ||||
assistant_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/assistant | assistant_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/assistant | ||||
assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp | assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp | ||||
Show All 22 Lines | |||||
codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr | codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr | ||||
codecs-kr_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqkrcodecs.so | codecs-kr_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqkrcodecs.so | ||||
codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw | codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw | ||||
codecs-tw_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqtwcodecs.so | codecs-tw_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/codecs/libqtwcodecs.so | ||||
concurrent_PORT= devel/${_QT_RELNAME}-concurrent | 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_PORT= comms/${_QT_RELNAME}-connectivity | ||||
connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so | connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so | ||||
core_PORT= devel/${_QT_RELNAME}-core | core_PORT= devel/${_QT_RELNAME}-core | ||||
core_LIB= libQt${_QT_LIBVER}Core.so | core_LIB= libQt${_QT_LIBVER}Core.so | ||||
corelib_PORT= devel/${_QT_RELNAME}-corelib | corelib_PORT= devel/${_QT_RELNAME}-corelib | ||||
corelib_LIB= ${core_LIB} | corelib_LIB= ${core_LIB} | ||||
datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d | datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d | ||||
datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so | datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so | ||||
dbus_PORT= devel/${_QT_RELNAME}-dbus | dbus_PORT= devel/${_QT_RELNAME}-dbus | ||||
dbus_LIB= libQt${_QT_LIBVER}DBus.so | dbus_LIB= libQt${_QT_LIBVER}DBus.so | ||||
declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative | declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative | ||||
declarative_LIB= libQt${_QT_LIBVER}Declarative.so | declarative_LIB= libQt${_QT_LIBVER}Declarative.so | ||||
demo_PORT= misc/${_QT_RELNAME}-qtdemo | demo_PORT= misc/${_QT_RELNAME}-qtdemo | ||||
demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo | demo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdemo | ||||
designer_PORT= devel/${_QT_RELNAME}-designer | designer_PORT= devel/${_QT_RELNAME}-designer | ||||
designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer | designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer | ||||
diag_PORT= sysutils/${_QT_RELNAME}-qtdiag | diag_PORT= sysutils/${_QT_RELNAME}-qtdiag | ||||
diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag | diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag | ||||
doc_PORT= misc/${_QT_RELNAME}-doc | doc_PORT= misc/${_QT_RELNAME}-doc | ||||
doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R} | doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R} | ||||
examples_PORT= misc/${_QT_RELNAME}-examples | examples_PORT= misc/${_QT_RELNAME}-examples | ||||
examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R} | examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R} | ||||
gamepad_PORT= x11-toolkits/${_QT_RELNAME}-gamepad | gamepad_PORT= x11-toolkits/${_QT_RELNAME}-gamepad | ||||
gamepad_LIB= libQt${_QT_LIBVER}Gamepad.so | gamepad_LIB= libQt${_QT_LIBVER}Gamepad.so | ||||
graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects | graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects | ||||
graphicaleffects_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtGraphicalEffects/qmldir | graphicaleffects_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtGraphicalEffects/qmldir | ||||
graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl | graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl | ||||
graphicssystems-opengl_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/graphicssystems/libqglgraphicssystem.so | graphicssystems-opengl_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/graphicssystems/libqglgraphicssystem.so | ||||
gui_PORT= x11-toolkits/${_QT_RELNAME}-gui | gui_PORT= x11-toolkits/${_QT_RELNAME}-gui | ||||
gui_LIB= libQt${_QT_LIBVER}Gui.so | gui_LIB= libQt${_QT_LIBVER}Gui.so | ||||
help_PORT= devel/${_QT_RELNAME}-help | help_PORT= devel/${_QT_RELNAME}-help | ||||
help_LIB= libQt${_QT_LIBVER}Help.so | help_LIB= libQt${_QT_LIBVER}Help.so | ||||
help-tools_PORT= devel/${_QT_RELNAME}-help-tools | help-tools_PORT= devel/${_QT_RELNAME}-help-tools | ||||
help-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qhelpgenerator | help-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qhelpgenerator | ||||
iconengines_PORT= graphics/${_QT_RELNAME}-iconengines | iconengines_PORT= graphics/${_QT_RELNAME}-iconengines | ||||
iconengines_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/iconengines/libqsvgicon.so | iconengines_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/iconengines/libqsvgicon.so | ||||
imageformats_PORT= graphics/${_QT_RELNAME}-imageformats | imageformats_PORT= graphics/${_QT_RELNAME}-imageformats | ||||
imageformats_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/imageformats/libqtiff.so | imageformats_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/imageformats/libqtiff.so | ||||
inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods | inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods | ||||
inputmethods_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/inputmethods/libqimsw-multi.so | inputmethods_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/inputmethods/libqimsw-multi.so | ||||
linguist_PORT= devel/${_QT_RELNAME}-linguist | linguist_PORT= devel/${_QT_RELNAME}-linguist | ||||
linguist_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/linguist | linguist_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/linguist | ||||
linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools | linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools | ||||
linguisttools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lrelease | linguisttools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lrelease | ||||
location_PORT= devel/${_QT_RELNAME}-location | location_PORT= devel/${_QT_RELNAME}-location | ||||
location_LIB= libQt${_QT_LIBVER}Location.so | location_LIB= libQt${_QT_LIBVER}Location.so | ||||
l10n_PORT= misc/${_QT_RELNAME}-l10n | l10n_PORT= misc/${_QT_RELNAME}-l10n | ||||
l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R} | l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R} | ||||
makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf | makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf | ||||
makeqpf_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/makeqpf | makeqpf_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/makeqpf | ||||
moc_PORT= devel/${_QT_RELNAME}-moc | moc_PORT= devel/${_QT_RELNAME}-moc | ||||
moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc | moc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/moc | ||||
multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia | multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia | ||||
multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so | multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so | ||||
network_PORT= net/${_QT_RELNAME}-network | network_PORT= net/${_QT_RELNAME}-network | ||||
network_LIB= libQt${_QT_LIBVER}Network.so | network_LIB= libQt${_QT_LIBVER}Network.so | ||||
opengl_PORT= graphics/${_QT_RELNAME}-opengl | opengl_PORT= graphics/${_QT_RELNAME}-opengl | ||||
Show All 9 Lines | |||||
phonon_LIB= libphonon.so | phonon_LIB= libphonon.so | ||||
phonon4_PORT= multimedia/${_QT_RELNAME}-phonon4 | phonon4_PORT= multimedia/${_QT_RELNAME}-phonon4 | ||||
phonon4_LIB= libphonon4${_QT_RELNAME}.so | phonon4_LIB= libphonon4${_QT_RELNAME}.so | ||||
phonon-gst_PORT= multimedia/phonon-gstreamer | phonon-gst_PORT= multimedia/phonon-gstreamer | ||||
phonon-gst_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/phonon_backend/libphonon_gstreamer.so | phonon-gst_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/phonon_backend/libphonon_gstreamer.so | ||||
plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo | plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo | ||||
plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo | plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo | ||||
porting_PORT= devel/${_QT_RELNAME}-porting | porting_PORT= devel/${_QT_RELNAME}-porting | ||||
porting_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qt3to4 | porting_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qt3to4 | ||||
printsupport_PORT= print/${_QT_RELNAME}-printsupport | printsupport_PORT= print/${_QT_RELNAME}-printsupport | ||||
printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so | printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so | ||||
qdbus_PORT= devel/${_QT_RELNAME}-qdbus | qdbus_PORT= devel/${_QT_RELNAME}-qdbus | ||||
qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus | qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus | ||||
qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer | qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer | ||||
qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer | qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer | ||||
qdoc_PORT= devel/${_QT_RELNAME}-qdoc | qdoc_PORT= devel/${_QT_RELNAME}-qdoc | ||||
qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc | qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc | ||||
qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data | qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data | ||||
qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf | qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf | ||||
qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3 | qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3 | ||||
qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3 | qdoc3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc3 | ||||
qev_PORT= x11/${_QT_RELNAME}-qev | qev_PORT= x11/${_QT_RELNAME}-qev | ||||
qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev | qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev | ||||
qmake_PORT= devel/${_QT_RELNAME}-qmake | qmake_PORT= devel/${_QT_RELNAME}-qmake | ||||
qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake | qmake_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmake | ||||
qml_PORT= lang/${_QT_RELNAME}-qml | qml_PORT= lang/${_QT_RELNAME}-qml | ||||
qml_LIB= libQt${_QT_LIBVER}Qml.so | qml_LIB= libQt${_QT_LIBVER}Qml.so | ||||
qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer | qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer | ||||
qmlviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmlviewer | qmlviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qmlviewer | ||||
qt3support_PORT= devel/${_QT_RELNAME}-qt3support | qt3support_PORT= devel/${_QT_RELNAME}-qt3support | ||||
qt3support_LIB= libQt${_QT_LIBVER}3Support.so | qt3support_LIB= libQt${_QT_LIBVER}3Support.so | ||||
qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig | qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig | ||||
qtconfig_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtconfig | qtconfig_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtconfig | ||||
qtestlib_PORT= ${testlib_PORT} | qtestlib_PORT= ${testlib_PORT} | ||||
qtestlib_LIB= ${testlib_LIB} | qtestlib_LIB= ${testlib_LIB} | ||||
quick_PORT= x11-toolkits/${_QT_RELNAME}-quick | quick_PORT= x11-toolkits/${_QT_RELNAME}-quick | ||||
quick_LIB= libQt${_QT_LIBVER}Quick.so | quick_LIB= libQt${_QT_LIBVER}Quick.so | ||||
quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols | quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols | ||||
quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir | quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir | ||||
quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2 | quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2 | ||||
quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so | quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so | ||||
qvfb_PORT= devel/${_QT_RELNAME}-qvfb | qvfb_PORT= devel/${_QT_RELNAME}-qvfb | ||||
qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb | qvfb_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qvfb | ||||
rcc_PORT= devel/${_QT_RELNAME}-rcc | rcc_PORT= devel/${_QT_RELNAME}-rcc | ||||
rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc | rcc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/rcc | ||||
sensors_PORT= comms/${_QT_RELNAME}-sensors | sensors_PORT= comms/${_QT_RELNAME}-sensors | ||||
sensors_LIB= libQt${_QT_LIBVER}Sensors.so | sensors_LIB= libQt${_QT_LIBVER}Sensors.so | ||||
script_PORT= devel/${_QT_RELNAME}-script | script_PORT= devel/${_QT_RELNAME}-script | ||||
script_LIB= libQt${_QT_LIBVER}Script.so | script_LIB= libQt${_QT_LIBVER}Script.so | ||||
scripttools_PORT= devel/${_QT_RELNAME}-scripttools | scripttools_PORT= devel/${_QT_RELNAME}-scripttools | ||||
scripttools_LIB= libQt${_QT_LIBVER}ScriptTools.so | scripttools_LIB= libQt${_QT_LIBVER}ScriptTools.so | ||||
scxml_PORT= devel/${_QT_RELNAME}-scxml | scxml_PORT= devel/${_QT_RELNAME}-scxml | ||||
scxml_LIB= libQt${_QT_LIBVER}Scxml.so | scxml_LIB= libQt${_QT_LIBVER}Scxml.so | ||||
serialbus_PORT= comms/${_QT_RELNAME}-serialbus | serialbus_PORT= comms/${_QT_RELNAME}-serialbus | ||||
serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so | serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so | ||||
serialport_PORT= comms/${_QT_RELNAME}-serialport | 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_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_PORT= databases/${_QT_RELNAME}-sql | ||||
sql_LIB= libQt${_QT_LIBVER}Sql.so | sql_LIB= libQt${_QT_LIBVER}Sql.so | ||||
sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so | sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so | ||||
. if ${_QT_VERSION:M4*} | . if ${_QT_VERSION:M4*} | ||||
sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin | sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin | ||||
. endif | . endif | ||||
sql-sqlite3_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlite.so | sql-sqlite3_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlite.so | ||||
. for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds | . for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds | ||||
. if ${_QT_VERSION:M4*} | . if ${_QT_VERSION:M4*} | ||||
sql-${db}_PORT?= databases/${_QT_RELNAME}-${db}-plugin | sql-${db}_PORT?= databases/${_QT_RELNAME}-${db}-plugin | ||||
. else | . else | ||||
sql-${db}_PORT?= databases/${_QT_RELNAME}-sqldrivers-${db} | sql-${db}_PORT?= databases/${_QT_RELNAME}-sqldrivers-${db} | ||||
. endif | . endif | ||||
sql-${db}_PATH?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so | sql-${db}_PATH?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so | ||||
. endfor | . endfor | ||||
svg_PORT= graphics/${_QT_RELNAME}-svg | svg_PORT= graphics/${_QT_RELNAME}-svg | ||||
svg_LIB= libQt${_QT_LIBVER}Svg.so | svg_LIB= libQt${_QT_LIBVER}Svg.so | ||||
testlib_PORT= devel/${_QT_RELNAME}-testlib | testlib_PORT= devel/${_QT_RELNAME}-testlib | ||||
testlib_LIB= libQt${_QT_LIBVER}Test.so | testlib_LIB= libQt${_QT_LIBVER}Test.so | ||||
uic_PORT= devel/${_QT_RELNAME}-uic | uic_PORT= devel/${_QT_RELNAME}-uic | ||||
uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic | uic_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic | ||||
uic3_PORT= devel/${_QT_RELNAME}-uic3 | uic3_PORT= devel/${_QT_RELNAME}-uic3 | ||||
uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3 | uic3_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/uic3 | ||||
uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin | uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin | ||||
uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin | uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin | ||||
uitools_PORT= devel/${_QT_RELNAME}-uitools | uitools_PORT= devel/${_QT_RELNAME}-uitools | ||||
uitools_PATH= ${LOCALBASE}/${QT_LIBDIR_REL}/libQt${_QT_LIBVER}UiTools.a | uitools_PATH= ${LOCALBASE}/${QT_LIBDIR_REL}/libQt${_QT_LIBVER}UiTools.a | ||||
virtualkeyboard_PORT= x11-toolkits/${_QT_RELNAME}-virtualkeyboard | virtualkeyboard_PORT= x11-toolkits/${_QT_RELNAME}-virtualkeyboard | ||||
virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so | virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so | ||||
webchannel_PORT= www/${_QT_RELNAME}-webchannel | 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_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_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_PORT= www/${_QT_RELNAME}-websockets-qml | ||||
websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir | websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir | ||||
webkit_PORT= www/${_QT_RELNAME}-webkit | 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_PORT= x11-toolkits/${_QT_RELNAME}-widgets | ||||
widgets_LIB= libQt${_QT_LIBVER}Widgets.so | widgets_LIB= libQt${_QT_LIBVER}Widgets.so | ||||
x11extras_PORT= x11/${_QT_RELNAME}-x11extras | x11extras_PORT= x11/${_QT_RELNAME}-x11extras | ||||
x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so | x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so | ||||
xml_PORT= textproc/${_QT_RELNAME}-xml | xml_PORT= textproc/${_QT_RELNAME}-xml | ||||
xml_LIB= libQt${_QT_LIBVER}Xml.so | xml_LIB= libQt${_QT_LIBVER}Xml.so | ||||
xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns | xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns | ||||
xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so | xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so | ||||
xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool | xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool | ||||
xmlpatterns-tool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/xmlpatterns | xmlpatterns-tool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/xmlpatterns | ||||
_USE_QT= ${USE_QT${_QT_VERSION:R:R}} | # Actually add the dependencies to the proper lists. | ||||
_USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY} | _USE_QT_ALL+= ${_USE_QT${_QT_VER}_ONLY} | ||||
_USE_QT= ${USE_QT} | |||||
# Iterate through components deprived of suffix. | # Iterate through components deprived of suffix. | ||||
. for component in ${_USE_QT:O:u:C/_.+//} | . 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}} != "" | . 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)) | . 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}} == "" | . if ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == "" | ||||
${component}_TYPE= # empty | ${component}_TYPE= # empty | ||||
. if ${_USE_QT:M${component}_build} != "" | . if ${_USE_QT:M${component}_build} != "" | ||||
${component}_TYPE+= build | ${component}_TYPE+= build | ||||
. endif | . endif | ||||
. if ${_USE_QT:M${component}_run} != "" | . if ${_USE_QT:M${component}_run} != "" | ||||
${component}_TYPE+= run | ${component}_TYPE+= run | ||||
. endif | . endif | ||||
. endif # ${_USE_QT:M${component}_*} != "" && ${_USE_QT:M${component}} == "" | . 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) | . if !defined(${component}_TYPE) | ||||
${component}_TYPE= build run | ${component}_TYPE= build run | ||||
. endif | . endif | ||||
# Set real dependencies. | # Set real dependencies. | ||||
. if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun} | . if defined(${component}_LIB) && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun} | ||||
LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT} | LIB_DEPENDS+= ${${component}_LIB}:${${component}_PORT} | ||||
. else | . else | ||||
${component}_PATH?= ${QT_LIBDIR}/${${component}_LIB} | ${component}_PATH?= ${QT_LIBDIR}/${${component}_LIB} | ||||
${component}_DEPENDS= ${${component}_PATH}:${${component}_PORT} | ${component}_DEPENDS= ${${component}_PATH}:${${component}_PORT} | ||||
. if ${${component}_TYPE:Mbuild} != "" | . if ${${component}_TYPE:Mbuild} != "" | ||||
BUILD_DEPENDS+= ${${component}_DEPENDS} | BUILD_DEPENDS+= ${${component}_DEPENDS} | ||||
. endif | . endif | ||||
. if ${${component}_TYPE:Mrun} != "" | . if ${${component}_TYPE:Mrun} != "" | ||||
RUN_DEPENDS+= ${${component}_DEPENDS} | RUN_DEPENDS+= ${${component}_DEPENDS} | ||||
. endif | . endif | ||||
. endif # ${${component}_LIB} && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun} | . endif # ${${component}_LIB} && ${${component}_TYPE:Mbuild} && ${${component}_TYPE:Mrun} | ||||
. endif # defined(${component}_PORT) && defined(${component}_PATH) | . endif # defined(${component}_PORT) && defined(${component}_PATH) | ||||
. else # ! ${_USE_QT_ALL:M${component}} != "" | . else # ! ${_USE_QT_ALL:M${component}} != "" | ||||
IGNORE= cannot be installed: unknown USE_QT component '${component}' | IGNORE= cannot be installed: unknown USE_QT component '${component}' | ||||
. endif # ${_USE_QT_ALL:M${component}} != "" | . endif # ${_USE_QT_ALL:M${component}} != "" | ||||
. endfor | . endfor | ||||
.if defined(QT_DIST) && ! ${_QT_VERSION:M4*} | .endif # defined(_QT_MK_POST_INCLUDED) | ||||
. 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) |
At this point, PORTSDIR should always be defined.