diff --git a/Mk/Uses/qt.mk b/Mk/Uses/qt.mk index a5d832c65a3d..470415891192 100644 --- a/Mk/Uses/qt.mk +++ b/Mk/Uses/qt.mk @@ -1,476 +1,476 @@ # 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 a part of Qt # - auto includes qt.mk and qmake.mk # - qt.mk - Dependency handling. USE_QT=foo bar # # Usage: # USES=qt:[,no_env] # # Versions: 5, 6 # # 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. # # MAINTAINER: kde@FreeBSD.org .if !defined(_QT_MK_INCLUDED) _QT_MK_INCLUDED= qt.mk # Qt versions currently supported by the framework. _QT_SUPPORTED?= 5 6 QT5_VERSION?= 5.15.13 QT6_VERSION?= 6.7.1 -PYSIDE6_VERSION?= 6.7.0 +PYSIDE6_VERSION?= 6.7.1 # Support for intermediate Qt6 releases. This partially defines # _QT6_MASTER_SITE_SUBDIR and would probably be better in qt-dist.mk, # but misc/qt6-examples needs this too. . if ${QT6_VERSION:M*beta*} || ${QT6_VERSION:M*rc*} _QT6_RELEASE_TYPE= development . else _QT6_RELEASE_TYPE= official . endif # 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 # Gather all the args together _QT_GLOBAL_ARGS= ${qt_ARGS} ${qmake_ARGS} ${qt-dist_ARGS} # 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 . 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 # Set the shortcuts used from now on _QT_RELNAME= qt${_QT_VER} _QT_VERSION= ${QT${_QT_VER}_VERSION} 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_DESCRIPTIONSDIR_REL?=${QT_DATADIR_REL}/modules 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 _QT5_TOOLDIR_REL= ${QT_BINDIR_REL} _QT6_TOOLDIR_REL= ${QT_LIBEXECDIR_REL} QT_TOOLDIR_REL= ${_QT${_QT_VER}_TOOLDIR_REL} # Not customizable. QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs _QT_LIBVER= ${_QT_VERSION:R:R} LCONVERT?= ${QT_BINDIR}/lconvert LRELEASE?= ${QT_BINDIR}/lrelease LUPDATE?= ${QT_BINDIR}/lupdate MOC?= ${QT_TOOLDIR}/moc RCC?= ${QT_TOOLDIR}/rcc UIC?= ${QT_TOOLDIR}/uic QMAKE?= ${QT_BINDIR}/qmake QCOLLECTIONGENERATOR?= ${QT_TOOLDIR}/qcollectiongenerator QHELPGENERATOR?= ${QT_TOOLDIR}/qhelpgenerator # 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) . for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \ QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC \ CMAKE TOOL 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} PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}" . endif . endfor # Suppress warnings from rcc about not using a UTF-8 locale. . if ${_QT_VER:M6} USE_LOCALE?= C.UTF-8 . endif 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" # Qt uses generated linker version scripts which always have a qt_version_tag # symbol, but that symbol is only defined in the main Qt shared library. For # other Qt components, this leads to lld >= 17 erroring out due to the symbol # being undefined. Supress these errors. LDFLAGS+= -Wl,--undefined-version _USES_POST+= qt .endif # _QT_MK_INCLUDED # ============================================================================= # # ============================================================================= .if defined(_POSTMKINCLUDED) && !defined(_QT_MK_POST_INCLUDED) _QT_MK_POST_INCLUDED= qt.mk # The Qt components supported by qt.mk: list of shared, and version specific ones _USE_QT_COMMON= 3d charts connectivity datavis3d declarative doc examples imageformats location \ multimedia networkauth quick3d quicktimeline remoteobjects scxml \ sensors serialbus serialport speech svg virtualkeyboard wayland \ webchannel webengine websockets webview _USE_QT5_ONLY= assistant buildtools concurrent core dbus \ declarative-test designer diag gamepad \ graphicaleffects gui help l10n linguist linguisttools \ network opengl paths pixeltool plugininfo printsupport \ qdbus qdbusviewer qdoc qdoc-data qev qmake quickcontrols \ quickcontrols2 script scripttools sql sql-mysql sql-odbc \ sql-pgsql sql-sqlite2 sql-sqlite3 sql-tds testlib uiplugin \ uitools webglplugin websockets-qml \ widgets x11extras xml xmlpatterns _USE_QT6_ONLY= 5compat base coap graphs httpserver languageserver lottie pdf positioning \ quick3dphysics quickeffectmaker shadertools tools translations \ sqldriver-sqlite sqldriver-mysql sqldriver-psql sqldriver-odbc # Dependency tuples: _LIB should be preferred if possible. qt-3d_PORT= graphics/${_QT_RELNAME}-3d qt-3d_LIB= libQt${_QT_LIBVER}3DCore.so qt-5compat_PORT= devel/${_QT_RELNAME}-5compat qt-5compat_LIB= libQt${_QT_LIBVER}Core5Compat.so qt-assistant_PORT= devel/${_QT_RELNAME}-assistant qt-assistant_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/assistant # Always build with *this* version's buildtools qt-buildtools_PORT= devel/${_QT_RELNAME}-buildtools qt-buildtools_PATH= ${_QT_RELNAME}-buildtools>=${_QT_VERSION:R} qt-base_PORT= devel/${_QT_RELNAME}-base qt-base_LIB= libQt${_QT_LIBVER}Core.so qt-charts_PORT= x11-toolkits/${_QT_RELNAME}-charts qt-charts_LIB= libQt${_QT_LIBVER}Charts.so qt-coap_PORT= net/${_QT_RELNAME}-coap qt-coap_LIB= libQt${_QT_LIBVER}Coap.so qt-concurrent_PORT= devel/${_QT_RELNAME}-concurrent qt-concurrent_LIB= libQt${_QT_LIBVER}Concurrent.so qt-connectivity_PORT= comms/${_QT_RELNAME}-connectivity qt-connectivity_LIB= libQt${_QT_LIBVER}Bluetooth.so qt-core_PORT= devel/${_QT_RELNAME}-core qt-core_LIB= libQt${_QT_LIBVER}Core.so qt-datavis3d_PORT= x11-toolkits/${_QT_RELNAME}-datavis3d qt-datavis3d_LIB= libQt${_QT_LIBVER}DataVisualization.so qt-dbus_PORT= devel/${_QT_RELNAME}-dbus qt-dbus_LIB= libQt${_QT_LIBVER}DBus.so qt-declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative qt-declarative_LIB= libQt${_QT_LIBVER}Qml.so qt-declarative-test_PORT= x11-toolkits/${_QT_RELNAME}-declarative-test qt-declarative-test_LIB= libQt${_QT_LIBVER}QuickTest.so qt-designer_PORT= devel/${_QT_RELNAME}-designer qt-designer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/designer qt-diag_PORT= sysutils/${_QT_RELNAME}-qtdiag qt-diag_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtdiag qt-doc_PORT= misc/${_QT_RELNAME}-doc qt-doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R} qt-examples_PORT= misc/${_QT_RELNAME}-examples qt-examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R} qt-gamepad_PORT= x11-toolkits/${_QT_RELNAME}-gamepad qt-gamepad_LIB= libQt${_QT_LIBVER}Gamepad.so qt-graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects qt-graphicaleffects_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtGraphicalEffects/qmldir qt-graphs_PORT= x11-toolkits/${_QT_RELNAME}-graphs qt-graphs_LIB= libQt${_QT_LIBVER}Graphs.so qt-gui_PORT= x11-toolkits/${_QT_RELNAME}-gui qt-gui_LIB= libQt${_QT_LIBVER}Gui.so qt-help_PORT= devel/${_QT_RELNAME}-help qt-help_LIB= libQt${_QT_LIBVER}Help.so qt-httpserver_PORT= www/${_QT_RELNAME}-httpserver qt-httpserver_LIB= libQt${_QT_LIBVER}HttpServer.so qt-imageformats_PORT= graphics/${_QT_RELNAME}-imageformats qt-imageformats_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/imageformats/libqtiff.so qt-languageserver_PORT= devel/${_QT_RELNAME}-languageserver qt-languageserver_LIB= libQt${_QT_LIBVER}LanguageServer.so qt-lottie_PORT= graphics/${_QT_RELNAME}-lottie qt-lottie_LIB= libQt${_QT_LIBVER}Bodymovin.so qt-linguist_PORT= devel/${_QT_RELNAME}-linguist qt-linguist_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/linguist qt-linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools qt-linguisttools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lrelease qt-location_PORT= devel/${_QT_RELNAME}-location qt-location_LIB= libQt${_QT_LIBVER}Location.so qt-l10n_PORT= misc/${_QT_RELNAME}-l10n qt-l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R} qt-multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia qt-multimedia_LIB= libQt${_QT_LIBVER}Multimedia.so qt-network_PORT= net/${_QT_RELNAME}-network qt-network_LIB= libQt${_QT_LIBVER}Network.so qt-networkauth_PORT= net/${_QT_RELNAME}-networkauth qt-networkauth_LIB= libQt${_QT_LIBVER}NetworkAuth.so qt-opengl_PORT= graphics/${_QT_RELNAME}-opengl qt-opengl_LIB= libQt${_QT_LIBVER}OpenGL.so qt-paths_PORT= sysutils/${_QT_RELNAME}-qtpaths qt-paths_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtpaths qt-pdf_PORT= print/${_QT_RELNAME}-pdf qt-pdf_LIB= libQt${_QT_LIBVER}Pdf.so qt-pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool qt-pixeltool_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/pixeltool qt-positioning_PORT= devel/${_QT_RELNAME}-positioning qt-positioning_LIB= libQt${_QT_LIBVER}Positioning.so qt-plugininfo_PORT= sysutils/${_QT_RELNAME}-qtplugininfo qt-plugininfo_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qtplugininfo qt-printsupport_PORT= print/${_QT_RELNAME}-printsupport qt-printsupport_LIB= libQt${_QT_LIBVER}PrintSupport.so qt-qdbus_PORT= devel/${_QT_RELNAME}-qdbus qt-qdbus_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbus qt-qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer qt-qdbusviewer_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdbusviewer qt-qdoc_PORT= devel/${_QT_RELNAME}-qdoc qt-qdoc_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qdoc qt-qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data qt-qdoc-data_PATH= ${LOCALBASE}/${QT_DOCDIR_REL}/global/config.qdocconf qt-qev_PORT= x11/${_QT_RELNAME}-qev qt-qev_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qev # Always build with *this* version's qmake qt-qmake_PORT= devel/${_QT_RELNAME}-qmake qt-qmake_PATH= ${_QT_RELNAME}-qmake>=${_QT_VERSION:R} qt-quick3d_PORT= x11-toolkits/${_QT_RELNAME}-quick3d qt-quick3d_LIB= libQt${_QT_LIBVER}Quick3D.so qt-quick3dphysics_PORT= science/${_QT_RELNAME}-quick3dphysics qt_quick3dphysics_LIB= libQt${_QT_LIBVER}Quick3DPhysics.so qt-quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols qt-quickcontrols_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Controls/qmldir qt-quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2 qt-quickcontrols2_LIB= libQt${_QT_LIBVER}QuickControls2.so qt-quickeffectmaker_PORT= graphics/${_QT_RELNAME}-quickeffectmaker qt-quickeffectmaker_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/qqem qt-quicktimeline_PORT= x11-toolkits/${_QT_RELNAME}-quicktimeline qt-quicktimeline_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtQuick/Timeline/libqtquicktimelineplugin.so qt-remoteobjects_PORT= devel/${_QT_RELNAME}-remoteobjects qt-remoteobjects_LIB= libQt${_QT_LIBVER}RemoteObjects.so qt-sensors_PORT= comms/${_QT_RELNAME}-sensors qt-sensors_LIB= libQt${_QT_LIBVER}Sensors.so qt-script_PORT= devel/${_QT_RELNAME}-script qt-script_LIB= libQt${_QT_LIBVER}Script.so qt-scripttools_PORT= devel/${_QT_RELNAME}-scripttools qt-scripttools_LIB= libQt${_QT_LIBVER}ScriptTools.so qt-scxml_PORT= devel/${_QT_RELNAME}-scxml qt-scxml_LIB= libQt${_QT_LIBVER}Scxml.so qt-serialbus_PORT= comms/${_QT_RELNAME}-serialbus qt-serialbus_LIB= libQt${_QT_LIBVER}SerialBus.so qt-serialport_PORT= comms/${_QT_RELNAME}-serialport qt-serialport_LIB= libQt${_QT_LIBVER}SerialPort.so qt-shadertools_PORT= x11-toolkits/${_QT_RELNAME}-shadertools qt-shadertools_LIB= libQt${_QT_LIBVER}ShaderTools.so qt-speech_PORT= accessibility/${_QT_RELNAME}-speech qt-speech_LIB= libQt${_QT_LIBVER}TextToSpeech.so qt-sql_PORT= databases/${_QT_RELNAME}-sql qt-sql_LIB= libQt${_QT_LIBVER}Sql.so qt-sql-pgsql_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlpsql.so qt-sql-sqlite3_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsqlite.so . for db in mysql odbc pgsql sqlite2 sqlite3 tds qt-sql-${db}_PORT= databases/${_QT_RELNAME}-sqldrivers-${db} qt-sql-${db}_PATH?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so . endfor . for db in sqlite mysql psql odbc qt-sqldriver-${db}_PORT= databases/${_QT_RELNAME}-base_sqldriver@${db} qt-sqldriver-${db}_PATH?= ${LOCALBASE}/${QT_PLUGINDIR_REL}/sqldrivers/libqsql${db:C/^sql//}.so . endfor qt-svg_PORT= graphics/${_QT_RELNAME}-svg qt-svg_LIB= libQt${_QT_LIBVER}Svg.so qt-testlib_PORT= devel/${_QT_RELNAME}-testlib qt-testlib_LIB= libQt${_QT_LIBVER}Test.so qt-tools_PORT= devel/${_QT_RELNAME}-tools qt-tools_PATH= ${LOCALBASE}/${QT_BINDIR_REL}/lupdate qt-translations_PORT= devel/${_QT_RELNAME}-translations qt-translations_PATH= ${LOCALBASE}/${QT_DATADIR_REL}/translations/qt_en.qm qt-uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin qt-uiplugin_PATH= ${LOCALBASE}/${QT_INCDIR_REL}/QtUiPlugin/QtUiPlugin qt-uitools_PORT= devel/${_QT_RELNAME}-uitools qt-uitools_PATH= ${LOCALBASE}/${QT_LIBDIR_REL}/libQt${_QT_LIBVER}UiTools.a qt-virtualkeyboard_PORT= x11-toolkits/${_QT_RELNAME}-virtualkeyboard qt-virtualkeyboard_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforminputcontexts/libqtvirtualkeyboardplugin.so qt-wayland_PORT= graphics/${_QT_RELNAME}-wayland qt-wayland_LIB= libQt${_QT_LIBVER}WaylandClient.so qt-webchannel_PORT= www/${_QT_RELNAME}-webchannel qt-webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so qt-webengine_PORT= www/${_QT_RELNAME}-webengine qt-webengine_LIB= libQt${_QT_LIBVER}WebEngineCore.so qt-webglplugin_PORT= www/${_QT_RELNAME}-webglplugin qt-webglplugin_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforms/libqwebgl.so qt-websockets_PORT= www/${_QT_RELNAME}-websockets qt-websockets_LIB= libQt${_QT_LIBVER}WebSockets.so qt-websockets-qml_PORT= www/${_QT_RELNAME}-websockets-qml qt-websockets-qml_PATH= ${LOCALBASE}/${QT_QMLDIR_REL}/QtWebSockets/qmldir qt-webview_PORT= www/${_QT_RELNAME}-webview qt-webview_LIB= libQt${_QT_LIBVER}WebView.so qt-widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets qt-widgets_LIB= libQt${_QT_LIBVER}Widgets.so qt-x11extras_PORT= x11/${_QT_RELNAME}-x11extras qt-x11extras_LIB= libQt${_QT_LIBVER}X11Extras.so qt-xml_PORT= textproc/${_QT_RELNAME}-xml qt-xml_LIB= libQt${_QT_LIBVER}Xml.so qt-xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns qt-xmlpatterns_LIB= libQt${_QT_LIBVER}XmlPatterns.so # Actually add the dependencies to the proper lists. _USE_QT_ALL= ${_USE_QT_COMMON} \ ${_USE_QT${_QT_VER}_ONLY} _USE_QT= ${USE_QT} # Iterate through components deprived of suffix. . for component in ${_USE_QT:O:u:C/:(build|run)$//} # Check that the component is valid. . if ${_USE_QT_ALL:M${component}} != "" # Skip meta-components (currently none). . if defined(qt-${component}_PORT) && (defined(qt-${component}_PATH) || defined(qt-${component}_LIB)) # Check if a dependency type is explicitly requested. . if ${_USE_QT:M${component}\:*} != "" && ${_USE_QT:M${component}} == "" qt-${component}_TYPE= # empty . if ${_USE_QT:M${component}\:build} != "" qt-${component}_TYPE+= build . endif . if ${_USE_QT:M${component}\:run} != "" qt-${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(qt-${component}_TYPE) qt-${component}_TYPE= build run . endif # Set real dependencies. . if defined(qt-${component}_LIB) && ${qt-${component}_TYPE:Mbuild} && ${qt-${component}_TYPE:Mrun} LIB_DEPENDS+= ${qt-${component}_LIB}:${qt-${component}_PORT} . else qt-${component}_PATH?= ${QT_LIBDIR}/${qt-${component}_LIB} qt-${component}_DEPENDS= ${qt-${component}_PATH}:${qt-${component}_PORT} . if ${qt-${component}_TYPE:Mbuild} != "" BUILD_DEPENDS+= ${qt-${component}_DEPENDS} . endif . if ${qt-${component}_TYPE:Mrun} != "" RUN_DEPENDS+= ${qt-${component}_DEPENDS} . endif . endif # ${qt-${component}_LIB} && ${qt-${component}_TYPE:Mbuild} && ${qt-${component}_TYPE:Mrun} . endif # defined(qt-${component}_PORT) && defined(qt-${component}_PATH) . else # ! ${_USE_QT_ALL:M${component}} != "" IGNORE= cannot be installed: unknown USE_QT component '${component}' . endif # ${_USE_QT_ALL:M${component}} != "" . endfor .endif # defined(_QT_MK_POST_INCLUDED) diff --git a/devel/pyside6-tools/Makefile b/devel/pyside6-tools/Makefile index ebcf57f007e9..e6acf9df55e7 100644 --- a/devel/pyside6-tools/Makefile +++ b/devel/pyside6-tools/Makefile @@ -1,60 +1,60 @@ PORTNAME= pyside6 DISTVERSION= ${PYSIDE6_VERSION} CATEGORIES= devel MASTER_SITES= QT/official_releases/QtForPython/shiboken6/PySide6-${DISTVERSION}-src PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMESUFFIX= -tools DISTNAME= pyside-setup-everywhere-src-${DISTVERSION} MAINTAINER= kde@FreeBSD.org COMMENT= PySide6 development tools WWW= https://wiki.qt.io/Qt_for_Python LICENSE= BSD3CLAUSE GPLv2 LICENSE_COMB= multi LIB_DEPENDS= libshiboken6.abi${PYTHON_MAJOR_VER}.so:devel/shiboken6@${PY_FLAVOR} \ libpyside6.abi${PYTHON_MAJOR_VER}.so:devel/pyside6@${PY_FLAVOR} \ libxkbcommon.so:x11/libxkbcommon \ libzstd.so:archivers/zstd USES= cmake gl llvm:lib,noexport python qt:6 shebangfix tar:xz USE_GL= opengl USE_PYTHON= flavors -USE_QT= base declarative languageserver tools +USE_QT= base declarative languageserver quick3d shadertools tools SHEBANG_FILES= pyside_tool.py qtpy2cpp_lib/tests/baseline/basic_test.py PLIST_SUB= PYSIDE_BINDIR_REL=${PYSIDE_BINDIR_REL} WRKSRC_SUBDIR= sources/pyside-tools PYSIDE_RELNAME= ${PORTNAME} PYSIDE_BINDIR_REL?= bin/${PYSIDE_RELNAME} post-install: # Move scripts into a dedicated directory. They're too generically named, e.g.: # deploy.py and project.py. Unversioned copies of Qt tools like lrelease and # rcc are also installed which we probably don't want in PATH by default. # Install to: ${PREFIX}/bin/pyside6 by default for now until there are # consumers of this and a more fitting location is deemed necessary. @${MV} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/${PYSIDE_RELNAME} @${MKDIR} ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL} @${MV} ${STAGEDIR}${PREFIX}/${PYSIDE_RELNAME} ${STAGEDIR}${PREFIX}/bin # These directories contain templates that should not be byte-compiled. # Temporarily relocate them to avoid errors. @${MV} ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/deploy_lib/android/recipes ${WRKDIR} .for d in deploy_lib project qtpy2cpp_lib ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -f -d ${PREFIX}/${PYSIDE_BINDIR_REL}/${d} \ ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/${d} ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ -f -d ${PREFIX}/${PYSIDE_BINDIR_REL}/${d} \ ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/${d} .endfor # Move the aforementioned templates back into STAGEDIR after the byte-compiling # operation has finished. @${MV} ${WRKDIR}/recipes ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/deploy_lib/android .include diff --git a/devel/pyside6-tools/distinfo b/devel/pyside6-tools/distinfo index 4698008effb1..32be724deb74 100644 --- a/devel/pyside6-tools/distinfo +++ b/devel/pyside6-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1714321552 -SHA256 (pyside-setup-everywhere-src-6.7.0.tar.xz) = 82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f -SIZE (pyside-setup-everywhere-src-6.7.0.tar.xz) = 14382456 +TIMESTAMP = 1716604746 +SHA256 (pyside-setup-everywhere-src-6.7.1.tar.xz) = 6f33de37f4121e547064023edb344b95e2ab454234fa8fce27ea73df96f933cd +SIZE (pyside-setup-everywhere-src-6.7.1.tar.xz) = 14400976 diff --git a/devel/pyside6-tools/pkg-plist b/devel/pyside6-tools/pkg-plist index 11d945b6bae8..7c4547659f22 100644 --- a/devel/pyside6-tools/pkg-plist +++ b/devel/pyside6-tools/pkg-plist @@ -1,97 +1,100 @@ %%PYSIDE_BINDIR_REL%%/android_deploy.py %%PYSIDE_BINDIR_REL%%/assistant +%%PYSIDE_BINDIR_REL%%/balsam +%%PYSIDE_BINDIR_REL%%/balsamui %%PYSIDE_BINDIR_REL%%/deploy.py %%PYSIDE_BINDIR_REL%%/deploy_lib/__init__.py %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/commands%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/commands%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/config%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/dependency_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/dependency_util%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/deploy_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/deploy_util%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/nuitka_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/nuitka_helper%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/python_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/python_helper%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__init__.py %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/android_config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/android_config%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/android_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/android_helper%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/buildozer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/__pycache__/buildozer%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/deploy_lib/android/android_config.py %%PYSIDE_BINDIR_REL%%/deploy_lib/android/android_helper.py %%PYSIDE_BINDIR_REL%%/deploy_lib/android/buildozer.py %%PYSIDE_BINDIR_REL%%/deploy_lib/android/recipes/PySide6/__init__.tmpl.py %%PYSIDE_BINDIR_REL%%/deploy_lib/android/recipes/shiboken6/__init__.tmpl.py %%PYSIDE_BINDIR_REL%%/deploy_lib/commands.py %%PYSIDE_BINDIR_REL%%/deploy_lib/config.py %%PYSIDE_BINDIR_REL%%/deploy_lib/default.spec %%PYSIDE_BINDIR_REL%%/deploy_lib/dependency_util.py %%PYSIDE_BINDIR_REL%%/deploy_lib/deploy_util.py %%PYSIDE_BINDIR_REL%%/deploy_lib/nuitka_helper.py %%PYSIDE_BINDIR_REL%%/deploy_lib/pyside_icon.icns %%PYSIDE_BINDIR_REL%%/deploy_lib/pyside_icon.ico %%PYSIDE_BINDIR_REL%%/deploy_lib/pyside_icon.jpg %%PYSIDE_BINDIR_REL%%/deploy_lib/python_helper.py %%PYSIDE_BINDIR_REL%%/designer %%PYSIDE_BINDIR_REL%%/linguist %%PYSIDE_BINDIR_REL%%/lrelease %%PYSIDE_BINDIR_REL%%/lupdate %%PYSIDE_BINDIR_REL%%/metaobjectdump.py %%PYSIDE_BINDIR_REL%%/project.py %%PYSIDE_BINDIR_REL%%/project/__init__.py %%PYSIDE_BINDIR_REL%%/project/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/newproject%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/newproject%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/project_data%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/project_data%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/project/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/project/newproject.py %%PYSIDE_BINDIR_REL%%/project/project_data.py %%PYSIDE_BINDIR_REL%%/project/utils.py %%PYSIDE_BINDIR_REL%%/pyside_tool.py %%PYSIDE_BINDIR_REL%%/qml.py %%PYSIDE_BINDIR_REL%%/qmlcachegen %%PYSIDE_BINDIR_REL%%/qmlformat %%PYSIDE_BINDIR_REL%%/qmlimportscanner %%PYSIDE_BINDIR_REL%%/qmllint %%PYSIDE_BINDIR_REL%%/qmlls %%PYSIDE_BINDIR_REL%%/qmltyperegistrar +%%PYSIDE_BINDIR_REL%%/qsb %%PYSIDE_BINDIR_REL%%/qtpy2cpp.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/astdump%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/astdump%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/formatter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/formatter%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/nodedump%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/nodedump%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/qt%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/qt%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/tokenizer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/tokenizer%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/visitor%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/__pycache__/visitor%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/astdump.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/formatter.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/nodedump.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/qt.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/__pycache__/test_qtpy2cpp%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/__pycache__/test_qtpy2cpp%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/baseline/__pycache__/basic_test%%PYTHON_EXT_SUFFIX%%.opt-1.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/baseline/__pycache__/basic_test%%PYTHON_EXT_SUFFIX%%.pyc %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/baseline/basic_test.cpp %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/baseline/basic_test.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tests/test_qtpy2cpp.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/tokenizer.py %%PYSIDE_BINDIR_REL%%/qtpy2cpp_lib/visitor.py %%PYSIDE_BINDIR_REL%%/rcc %%PYSIDE_BINDIR_REL%%/requirements-android.txt %%PYSIDE_BINDIR_REL%%/uic diff --git a/devel/pyside6/Makefile b/devel/pyside6/Makefile index 28c40a7c11ec..de3d0b1c68c5 100644 --- a/devel/pyside6/Makefile +++ b/devel/pyside6/Makefile @@ -1,57 +1,54 @@ PORTNAME= pyside6 DISTVERSION= ${PYSIDE6_VERSION} CATEGORIES= devel MASTER_SITES= QT/official_releases/QtForPython/shiboken6/PySide6-${DISTVERSION}-src PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= pyside-setup-everywhere-src-${DISTVERSION} -PATCH_SITES= https://github.com/qtproject/pyside-pyside-setup/commit/ -PATCHFILES+= 3b2ad15ec75b082699dbde6c695c19b467eb0008.patch:-p1 # Adapt to revert of QAudio->QtAudio namespace renaming - MAINTAINER= kde@FreeBSD.org COMMENT= Python Qt bindings for Qt 6 WWW= https://wiki.qt.io/Qt_for_Python LICENSE= LGPL3 BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers LIB_DEPENDS= libshiboken6.abi${PYTHON_MAJOR_VER}.so:devel/shiboken6@${PY_FLAVOR} \ libxkbcommon.so:x11/libxkbcommon USES= cmake gl llvm:lib,noexport python qt:6 tar:xz USE_GL= opengl USE_LDCONFIG= yes USE_PYTHON= flavors USE_QT= 3d base charts connectivity datavis3d declarative doc graphs \ httpserver imageformats location multimedia networkauth pdf \ positioning quick3d quicktimeline remoteobjects scxml sensors \ serialbus serialport shadertools speech svg tools translations \ webchannel websockets CONFIGURE_ENV= LLVM_INSTALL_DIR="${LLVM_PREFIX}/lib/cmake/llvm" PATCH_WRKSRC= ${WRKSRC:H:H} WRKSRC_SUBDIR= sources/pyside6 PLIST_SUB= DISTVERSION=${DISTVERSION} .include .if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == i386 PLIST_SUB+= WEBENGINE="" USE_QT+= webengine .else CMAKE_ON+= CMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore \ CMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick \ CMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets PLIST_SUB+= WEBENGINE="@comment " .endif post-install: ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -f -d ${PYTHONPREFIX_SITELIBDIR}/PySide6 \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PySide6 ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ -f -d ${PYTHONPREFIX_SITELIBDIR}/PySide6 \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PySide6 .include diff --git a/devel/pyside6/distinfo b/devel/pyside6/distinfo index 5c3bcc4bb142..09c4651772a8 100644 --- a/devel/pyside6/distinfo +++ b/devel/pyside6/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1714344956 -SHA256 (pyside-setup-everywhere-src-6.7.0.tar.xz) = 82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f -SIZE (pyside-setup-everywhere-src-6.7.0.tar.xz) = 14382456 -SHA256 (3b2ad15ec75b082699dbde6c695c19b467eb0008.patch) = 9fe5ce2d8e8fa1d90069dc9c9ccf86ef40e2fbf393c348822eea9afe697b2ec6 -SIZE (3b2ad15ec75b082699dbde6c695c19b467eb0008.patch) = 10764 +TIMESTAMP = 1716606581 +SHA256 (pyside-setup-everywhere-src-6.7.1.tar.xz) = 6f33de37f4121e547064023edb344b95e2ab454234fa8fce27ea73df96f933cd +SIZE (pyside-setup-everywhere-src-6.7.1.tar.xz) = 14400976 diff --git a/devel/shiboken6/distinfo b/devel/shiboken6/distinfo index cc2142b76825..1fbb49dd62fb 100644 --- a/devel/shiboken6/distinfo +++ b/devel/shiboken6/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1714321386 -SHA256 (pyside-setup-everywhere-src-6.7.0.tar.xz) = 82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f -SIZE (pyside-setup-everywhere-src-6.7.0.tar.xz) = 14382456 +TIMESTAMP = 1716604707 +SHA256 (pyside-setup-everywhere-src-6.7.1.tar.xz) = 6f33de37f4121e547064023edb344b95e2ab454234fa8fce27ea73df96f933cd +SIZE (pyside-setup-everywhere-src-6.7.1.tar.xz) = 14400976 diff --git a/devel/shiboken6/files/patch-libshiboken_sbkmodule.cpp b/devel/shiboken6/files/patch-libshiboken_sbkmodule.cpp new file mode 100644 index 000000000000..c3871ac52328 --- /dev/null +++ b/devel/shiboken6/files/patch-libshiboken_sbkmodule.cpp @@ -0,0 +1,16 @@ +/wrkdirs/usr/ports/devel/shiboken6/work-py39/pyside-setup-everywhere-src-6.7.1/sources/shiboken6/libshiboken/sbkmodule.cpp:459:15: +error: no member named 'Conversions' in namespace 'Shiboken' + Shiboken::Conversions::clearNegativeLazyCache(); + +Regressed by: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?h=6.7.1&id=d332a3e3a7a35f8e5825fc10fb649f085243f323 + +--- libshiboken/sbkmodule.cpp.orig 2024-05-17 17:05:40 UTC ++++ libshiboken/sbkmodule.cpp +@@ -7,6 +7,7 @@ + #include "bindingmanager.h" + #include "sbkstring.h" + #include "sbkcppstring.h" ++#include "sbkconverter_p.h" + + #include + #include