Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Nov 2016 11:26:18 +0000 (UTC)
From:      "Tobias C. Berner" <tcberner@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r427106 - head/Mk
Message-ID:  <201611251126.uAPBQIYi085903@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tcberner
Date: Fri Nov 25 11:26:18 2016
New Revision: 427106
URL: https://svnweb.freebsd.org/changeset/ports/427106

Log:
  Update the dependency code in bsd.qt.mk to the one from kde.mk
  
  The dependency code from kde.mk can add LIB_DEPENDS if the sense-file is a
  library. Import this into bsd.qt.mk
  
  PR:		214744
  Reviewed by:	rakuco, mat
  Approved by:	mat (mentor), rakuco (mentor)
  Exp-run by:	antoine
  Differential Revision:	https://reviews.freebsd.org/D8602

Modified:
  head/Mk/bsd.qt.mk

Modified: head/Mk/bsd.qt.mk
==============================================================================
--- head/Mk/bsd.qt.mk	Fri Nov 25 11:22:51 2016	(r427105)
+++ head/Mk/bsd.qt.mk	Fri Nov 25 11:26:18 2016	(r427106)
@@ -313,7 +313,7 @@ _USE_QT5_ONLY=	3d buildtools canvas3d co
 				uiplugin uitools webchannel websockets widgets x11extras
 
 3d_PORT=		graphics/${_QT_RELNAME}-3d
-3d_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}3DCore.so
+3d_LIB=		libQt${_QT_LIBVER}3DCore.so
 
 accessible_PORT=	accessibility/${_QT_RELNAME}-accessible
 accessible_PATH=	${QT_PLUGINDIR}/accessible/libqtaccessiblewidgets.so
@@ -325,7 +325,7 @@ assistant-adp_PORT=	devel/${_QT_RELNAME}
 assistant-adp_PATH=	${QT_BINDIR}/assistant_adp
 
 assistantclient_PORT=	devel/${_QT_RELNAME}-libqtassistantclient
-assistantclient_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}AssistantClient.so
+assistantclient_LIB=	libQt${_QT_LIBVER}AssistantClient.so
 
 buildtools_PORT=	devel/${_QT_RELNAME}-buildtools
 buildtools_PATH=	${MOC}
@@ -334,7 +334,7 @@ canvas3d_PORT=		x11-toolkits/${_QT_RELNA
 canvas3d_PATH=		${QT_QMLDIR}/QtCanvas3D/qmldir
 
 clucene_PORT=		textproc/clucene-${_QT_RELNAME}
-clucene_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}CLucene.so
+clucene_LIB=		libQt${_QT_LIBVER}CLucene.so
 
 codecs-cn_PORT=		chinese/${_QT_RELNAME}-codecs-cn
 codecs-cn_PATH=		${QT_PLUGINDIR}/codecs/libqcncodecs.so
@@ -349,22 +349,22 @@ codecs-tw_PORT=		chinese/${_QT_RELNAME}-
 codecs-tw_PATH=		${QT_PLUGINDIR}/codecs/libqtwcodecs.so
 
 concurrent_PORT=	devel/${_QT_RELNAME}-concurrent
-concurrent_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}Concurrent.so
+concurrent_LIB=	libQt${_QT_LIBVER}Concurrent.so
 
 connectivity_PORT=	comms/${_QT_RELNAME}-connectivity
-connectivity_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}Bluetooth.so
+connectivity_LIB=	libQt${_QT_LIBVER}Bluetooth.so
 
 core_PORT=			devel/${_QT_RELNAME}-core
-core_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Core.so
+core_LIB=			libQt${_QT_LIBVER}Core.so
 
 corelib_PORT=		devel/${_QT_RELNAME}-corelib
-corelib_PATH=		${core_PATH}
+corelib_LIB=		${core_LIB}
 
 dbus_PORT=			devel/dbus-${_QT_RELNAME}
-dbus_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}DBus.so
+dbus_LIB=			libQt${_QT_LIBVER}DBus.so
 
 declarative_PORT=	x11-toolkits/${_QT_RELNAME}-declarative
-declarative_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}Declarative.so
+declarative_LIB=	libQt${_QT_LIBVER}Declarative.so
 
 demo_PORT=			misc/${_QT_RELNAME}-qtdemo
 demo_PATH=			${QT_BINDIR}/qtdemo
@@ -385,10 +385,10 @@ graphicssystems-opengl_PORT=	x11/${_QT_R
 graphicssystems-opengl_PATH=	${QT_PLUGINDIR}/graphicssystems/libqglgraphicssystem.so
 
 gui_PORT=			x11-toolkits/${_QT_RELNAME}-gui
-gui_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Gui.so
+gui_LIB=			libQt${_QT_LIBVER}Gui.so
 
 help_PORT=			devel/${_QT_RELNAME}-help
-help_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Help.so
+help_LIB=			libQt${_QT_LIBVER}Help.so
 
 help-tools_PORT=	devel/${_QT_RELNAME}-help-tools
 help-tools_PATH=	${QT_BINDIR}/qhelpgenerator
@@ -409,7 +409,7 @@ linguisttools_PORT=	devel/${_QT_RELNAME}
 linguisttools_PATH=	${LRELEASE}
 
 location_PORT=		devel/${_QT_RELNAME}-location
-location_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}Location.so
+location_LIB=		libQt${_QT_LIBVER}Location.so
 
 l10n_PORT=			misc/${_QT_RELNAME}-l10n
 l10n_PATH=			${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
@@ -421,13 +421,13 @@ moc_PORT=			devel/${_QT_RELNAME}-moc
 moc_PATH=			${MOC}
 
 multimedia_PORT=	multimedia/${_QT_RELNAME}-multimedia
-multimedia_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}Multimedia.so
+multimedia_LIB=		libQt${_QT_LIBVER}Multimedia.so
 
 network_PORT=		net/${_QT_RELNAME}-network
-network_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}Network.so
+network_LIB=		libQt${_QT_LIBVER}Network.so
 
 opengl_PORT=		graphics/${_QT_RELNAME}-opengl
-opengl_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}OpenGL.so
+opengl_LIB=		libQt${_QT_LIBVER}OpenGL.so
 
 paths_PORT=		sysutils/${_QT_RELNAME}-qtpaths
 paths_PATH=		${QT_BINDIR}/qtpaths
@@ -436,10 +436,10 @@ pixeltool_PORT=		graphics/${_QT_RELNAME}
 pixeltool_PATH=		${QT_BINDIR}/pixeltool
 
 phonon_PORT=		multimedia/phonon
-phonon_PATH=		${QT_LIBDIR}/libphonon.so
+phonon_LIB=		libphonon.so
 
 phonon4_PORT=		multimedia/${_QT_RELNAME}-phonon4
-phonon4_PATH=		${QT_LIBDIR}/libphonon4${_QT_RELNAME}.so
+phonon4_LIB=		libphonon4${_QT_RELNAME}.so
 
 phonon-gst_PORT=	multimedia/phonon-gstreamer
 phonon-gst_PATH=	${QT_PLUGINDIR}/phonon_backend/libphonon_gstreamer.so
@@ -448,7 +448,7 @@ porting_PORT=		devel/${_QT_RELNAME}-port
 porting_PATH=		${QT_BINDIR}/qt3to4
 
 printsupport_PORT=	print/${_QT_RELNAME}-printsupport
-printsupport_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}PrintSupport.so
+printsupport_LIB=	libQt${_QT_LIBVER}PrintSupport.so
 
 qdbus_PORT=			devel/${_QT_RELNAME}-qdbus
 qdbus_PATH=			${QT_BINDIR}/qdbus
@@ -472,28 +472,28 @@ qmake_PORT=			devel/qmake${_QT_VERSION:R
 qmake_PATH=			${QMAKE}
 
 qml_PORT=			lang/${_QT_RELNAME}-qml
-qml_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Qml.so
+qml_LIB=			libQt${_QT_LIBVER}Qml.so
 
 qmlviewer_PORT=		devel/${_QT_RELNAME}-qmlviewer
 qmlviewer_PATH=		${QT_BINDIR}/qmlviewer
 
 qt3support_PORT=	devel/${_QT_RELNAME}-qt3support
-qt3support_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}3Support.so
+qt3support_LIB=		libQt${_QT_LIBVER}3Support.so
 
 qtconfig_PORT=		misc/${_QT_RELNAME}-qtconfig
 qtconfig_PATH=		${QT_BINDIR}/qtconfig${_QT_BINSUFX}
 
 qtestlib_PORT=		${testlib_PORT}
-qtestlib_PATH=		${testlib_PATH}
+qtestlib_LIB=		${testlib_LIB}
 
 quick_PORT=			x11-toolkits/${_QT_RELNAME}-quick
-quick_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Quick.so
+quick_LIB=			libQt${_QT_LIBVER}Quick.so
 
 quickcontrols_PORT=	x11-toolkits/${_QT_RELNAME}-quickcontrols
 quickcontrols_PATH=	${QT_QMLDIR}/QtQuick/Controls/qmldir
 
 quickcontrols2_PORT=	x11-toolkits/${_QT_RELNAME}-quickcontrols2
-quickcontrols2_PATH=	${QT_QMLDIR}/Qt/labs/controls/qmldir
+quickcontrols2_LIB=	libQt${_QT_LIBVER}LabsTemplates.so
 
 qvfb_PORT=			devel/${_QT_RELNAME}-qvfb
 qvfb_PATH=			${QT_BINDIR}/qvfb${_QT_BINSUFX}
@@ -502,45 +502,45 @@ rcc_PORT=			devel/${_QT_RELNAME}-rcc
 rcc_PATH=			${RCC}
 
 sensors_PORT=		comms/${_QT_RELNAME}-sensors
-sensors_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}Sensors.so
+sensors_LIB=		libQt${_QT_LIBVER}Sensors.so
 
 script_PORT=		devel/${_QT_RELNAME}-script
-script_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}Script.so
+script_LIB=		libQt${_QT_LIBVER}Script.so
 
 scripttools_PORT=	devel/${_QT_RELNAME}-scripttools
-scripttools_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}ScriptTools.so
+scripttools_LIB=	libQt${_QT_LIBVER}ScriptTools.so
 
 serialbus_PORT=		comms/${_QT_RELNAME}-serialbus
-serialbus_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}SerialBus.so
+serialbus_LIB=		libQt${_QT_LIBVER}SerialBus.so
 
 serialport_PORT=	comms/${_QT_RELNAME}-serialport
-serialport_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}SerialPort.so
+serialport_LIB=	libQt${_QT_LIBVER}SerialPort.so
 
 sql_PORT=			databases/${_QT_RELNAME}-sql
-sql_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Sql.so
+sql_LIB=			libQt${_QT_LIBVER}Sql.so
 
 sql-pgsql_PATH=		${QT_PLUGINDIR}/sqldrivers/libqsqlpsql.so
 
-.if ${_QT_VERSION:M4*}
+.  if ${_QT_VERSION:M4*}
 sql-sqlite2_PORT=	databases/${_QT_RELNAME}-sqlite-plugin
-.endif
+.  endif
 
 sql-sqlite3_PATH=	${QT_PLUGINDIR}/sqldrivers/libqsqlite.so
 
-.for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds
-.if ${_QT_VERSION:M4*}
+.  for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds
+.    if ${_QT_VERSION:M4*}
 sql-${db}_PORT?=	databases/${_QT_RELNAME}-${db}-plugin
-.else
+.    else
 sql-${db}_PORT?=	databases/${_QT_RELNAME}-sqldrivers-${db}
-.endif
+.    endif
 sql-${db}_PATH?=	${QT_PLUGINDIR}/sqldrivers/libqsql${db:C/^sql//}.so
-.endfor
+.  endfor
 
 svg_PORT=			graphics/${_QT_RELNAME}-svg
-svg_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Svg.so
+svg_LIB=			libQt${_QT_LIBVER}Svg.so
 
 testlib_PORT=		devel/${_QT_RELNAME}-testlib
-testlib_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}Test.so
+testlib_LIB=		libQt${_QT_LIBVER}Test.so
 
 uic_PORT=			devel/${_QT_RELNAME}-uic
 uic_PATH=			${UIC}
@@ -555,47 +555,69 @@ uitools_PORT=		devel/${_QT_RELNAME}-uito
 uitools_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}UiTools.a
 
 webchannel_PORT=	www/${_QT_RELNAME}-webchannel
-webchannel_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}WebChannel.so
+webchannel_LIB=	libQt${_QT_LIBVER}WebChannel.so
 
 websockets_PORT=	www/${_QT_RELNAME}-websockets
-websockets_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}WebSockets.so
+websockets_LIB=	libQt${_QT_LIBVER}WebSockets.so
 
 webkit_PORT=		www/webkit-${_QT_RELNAME}
-webkit_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}WebKit.so
+webkit_LIB=	libQt${_QT_LIBVER}WebKit.so
 
 widgets_PORT=		x11-toolkits/${_QT_RELNAME}-widgets
-widgets_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}Widgets.so
+widgets_LIB=		libQt${_QT_LIBVER}Widgets.so
 
 x11extras_PORT=		x11/${_QT_RELNAME}-x11extras
-x11extras_PATH=		${QT_LIBDIR}/libQt${_QT_LIBVER}X11Extras.so
+x11extras_LIB=		libQt${_QT_LIBVER}X11Extras.so
 
 xml_PORT=			textproc/${_QT_RELNAME}-xml
-xml_PATH=			${QT_LIBDIR}/libQt${_QT_LIBVER}Xml.so
+xml_LIB=			libQt${_QT_LIBVER}Xml.so
 
 xmlpatterns_PORT=	textproc/${_QT_RELNAME}-xmlpatterns
-xmlpatterns_PATH=	${QT_LIBDIR}/libQt${_QT_LIBVER}XmlPatterns.so
+xmlpatterns_LIB=	libQt${_QT_LIBVER}XmlPatterns.so
 
 xmlpatterns-tool_PORT=	textproc/${_QT_RELNAME}-xmlpatterns-tool
 xmlpatterns-tool_PATH=	${QT_BINDIR}/xmlpatterns
 
-_USE_QT_ALL+=	${_USE_QT${_QT_VERSION:R:R}_ONLY}
-.for comp in ${_USE_QT_ALL}
-${comp}_BUILD_DEPENDS?=	${${comp}_PATH}:${${comp}_PORT}
-${comp}_RUN_DEPENDS?=	${${comp}_PATH}:${${comp}_PORT}
-${comp}_build_BUILD_DEPENDS?=	${${comp}_BUILD_DEPENDS}
-${comp}_run_RUN_DEPENDS?=	${${comp}_RUN_DEPENDS}
-_USE_QT_ALL_SUFFIXED+=	${comp} ${comp}_build ${comp}_run
-.endfor
-
 _USE_QT=		${USE_QT${_QT_VERSION:R:R}}
-.for comp in ${_USE_QT:O:u}
-. if ${_USE_QT_ALL_SUFFIXED:M${comp}}
-BUILD_DEPENDS+=	${${comp}_BUILD_DEPENDS}
-RUN_DEPENDS+=	${${comp}_RUN_DEPENDS}
-. else
-IGNORE?=		can't be installed: unknown USE_QT${_QT_VERSION:R:R} component '${comp}' #'
-. endif
-.endfor
+_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"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611251126.uAPBQIYi085903>