Index: head/Mk/Uses/pyqt.mk =================================================================== --- head/Mk/Uses/pyqt.mk (revision 557441) +++ head/Mk/Uses/pyqt.mk (revision 557442) @@ -1,284 +1,285 @@ # $FreeBSD$ # # Handle PyQt related ports # # Feature: pyqt # Usage: USES=pyqt:ARGS # Valid ARGS: 5 # # MAINTAINER: kde@FreeBSD.org # # Internal Port variables for PyQt ports: # PYQT_DIST - This port is part of PyQt5 itself. Variables and # targets are then set assuming a certain tarball and # port layout. # USE_PYQT - List of PyQt components to depend on # * foo_build only build depend # * foo_run only run depend # * foo_test only test depend # * foo both (default) # PYQT_SIPDIR - where sip files will be installed to # PYQT_APIDIR - where api files will be installed to # PYQT_DOCDIR - where doc files will be installed to # PYQT_EXAMPLESDIR - where examples will be installed to .if !defined(_INCLUDE_USES_PYQT_MK) _INCLUDE_USES_PYQT_MK= yes # At the moment we support PyQt bindings versions 5, sip # option is for internal use by the py-sip ports. _PYQT_SUPPORTED= 5 sip . if empty(pyqt_ARGS) IGNORE= pyqt needs a qt-version (${_PYQT_SUPPORTED}) . endif # At the moment we support PyQt bindings versions 5 . for ver in ${_PYQT_SUPPORTED:O:u} . if ${pyqt_ARGS:M${ver}} . if empty(_PYQT_VERSION) _PYQT_VERSION= ${ver} . else IGNORE?= cannot be installed: different PYQT versions specified via pyqt:[${_PYQT_SUPPORTED:S/ //g}] . endif . endif . endfor . if empty(_PYQT_VERSION) IGNORE?= USES=pyqt needs a version number (valid values: ${_PYQT_SUPPORTED}) _PYQT_VERSION= 0 . endif PYQT_MAINTAINER= kde@FreeBSD.org MASTER_SITE_RIVERBANK= https://www.riverbankcomputing.com/static/Downloads/%SUBDIR%/ MASTER_SITES_SIP= https://pypi.python.org/packages/source/s/sip/ MASTER_SITES_PYQT5= https://pypi.python.org/packages/source/P/PyQt5/ MASTER_SITES_PYQTSIP= https://pypi.python.org/packages/source/P/PyQt5-sip/ MASTER_SITES_PYQTCHART= https://pypi.python.org/packages/source/P/PyQtChart/ MASTER_SITES_PYQTBUILDER= https://pypi.io/packages/source/P/PyQt-builder/ #https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.4/QScintilla-2.11.4.tar.gz MASTER_SITES_QSCI2= RIVERBANK/QScintilla/${PORTVERSION} \ SF/pyqt/QScintilla2/QScintilla-${PORTVERSION} \ GENTOO SIP_VERSION= 5.4.0 QSCI2_VERSION= 2.11.5 PYQT5_VERSION= 5.15.1 PYQTSIP_VERSION= 12.8.0 PYQTBUILDER_VERSION= 1.4.0 SIP_DISTNAME= sip-${SIP_VERSION} PYQT5_DISTNAME= PyQt5-${PYQT5_VERSION} PYQTSIP_DISTNAME= PyQt5_sip-${PYQTSIP_VERSION} PYQTCHART_DISTNAME= PyQtChart-${PYQT_VERSION} PYQTBUILDER_DISTNAME= PyQt-builder-${PYQTBUILDER_VERSION} PYQT5_DISTINFO_FILE= ${.CURDIR:H:H}/devel/${PYQT_RELNAME}/distinfo QSCI2_DISTNAME= QScintilla-${QSCI2_VERSION} PYQT5_LICENSE= GPLv3 _USE_PYQT_COMMS= sensors serialport _USE_PYQT_DATABASES= sql _USE_PYQT_DEVEL= core dbus dbussupport help location \ designer designerplugin remoteobjects test _USE_PYQT_GRAPHICS= svg _USE_PYQT_LANG= qml _USE_PYQT_MISC= demo _USE_PYQT_MULTIMEDIA= multimedia multimediawidgets _USE_PYQT_NET= network networkauth _USE_PYQT_PRINT= printsupport _USE_PYQT_TEXTPROC= xml xmlpatterns _USE_PYQT_WWW= webchannel webengine webkit webkitwidgets websockets _USE_PYQT_X11= opengl _USE_PYQT_X11-TOOLKITS= chart gui widgets quick quick3d quickwidgets # Keep these synchronized with OPTIONS_DEFINE in devel/py-qt5 # PyQt components split up into pyqt5/... _USE_PYQT_ALL= ${_USE_PYQT_COMMS} \ ${_USE_PYQT_DATABASES} \ ${_USE_PYQT_DEVEL} \ ${_USE_PYQT_GRAPHICS} \ ${_USE_PYQT_LANG} \ ${_USE_PYQT_MISC} \ ${_USE_PYQT_MULTIMEDIA} \ ${_USE_PYQT_NET} \ ${_USE_PYQT_PRINT} \ ${_USE_PYQT_TEXTPROC} \ ${_USE_PYQT_WWW} \ ${_USE_PYQT_X11} \ ${_USE_PYQT_X11-TOOLKITS} _USE_SIP_ALL= sip pysip _USE_QSCINTILLA= qscintilla2 _USE_PYQTBUILDER= qtbuilder # Unversioned variables for the rest of the file PYQT_VERSION= ${PYQT${_PYQT_VERSION}_VERSION} PYQT_RELNAME= py-qt${_PYQT_VERSION} PYQT_PY_RELNAME= ${PYTHON_PKGNAMEPREFIX}qt${_PYQT_VERSION} PYQT_MASTERSITES= ${MASTER_SITES_PYQT${_PYQT_VERSION}} PYQT_DISTNAME= ${PYQT${_PYQT_VERSION}_DISTNAME} PYQT_DISTINFO_FILE= ${PYQT${_PYQT_VERSION}_DISTINFO_FILE} PYQT_LICENSE= ${PYQT${_PYQT_VERSION}_LICENSE} # PATH py-sip_PATH= ${PYTHON_PKGNAMEPREFIX}sip>=${SIP_VERSION} py-pysip_PATH= ${PYQT_PY_RELNAME}-sip>=${PYQTSIP_VERSION} py-qscintilla2_PATH= ${PYQT_PY_RELNAME}-qscintilla2>=${QSCI2_VERSION} py-qtbuilder_PATH= ${PYTHON_PKGNAMEPREFIX}qtbuilder>=${PYQTBUILDER_VERSION} . for _component in ${_USE_PYQT_ALL} py-${_component}_PATH?=${PYQT_PY_RELNAME}-${_component}>=${PYQT_VERSION} . endfor # PORT py-sip_PORT= devel/py-sip py-qtbuilder_PORT= devel/py-qtbuilder py-pysip_PORT= devel/${PYQT_RELNAME}-sip py-qscintilla2_PORT= devel/${PYQT_RELNAME}-qscintilla2 . for _categorie in comms databases devel graphics lang misc multimedia net print textproc www x11 x11-toolkits _PYQT_CATEGORIE= _USE_PYQT_${_categorie:tu} . for _component in ${${_PYQT_CATEGORIE}} py-${_component}_PORT?=${_categorie}/${PYQT_RELNAME}-${_component} . endfor . endfor py-core_DESC= Python bindings for QtCore module py-chart_DESC= Python bindings for QtChart module py-dbus_DESC= Python bindings for QtDBus module py-dbussupport_DESC= Qt event loop support for dbus-python py-demo_DESC= PyQt demo and examples py-designer_DESC= Python bindings for QtDesigner module py-designerplugin_DESC= Python bindings for QtDesigner plugin py-gui_DESC= Python bindings for QtGui module py-help_DESC= Python bindings for QtHelp module py-location_DESC= Python bindings for Location module py-multimedia_DESC= Python bindings for Multimedia module py-multimediawidgets_DESC= Python bindings for QtMultimediaWidgets module py-network_DESC= Python bindings for QtNetwork module py-networkauth_DESC= Python bindings for QtNetworkAuth module py-opengl_DESC= Python bindings for QtOpenGL module py-printsupport_DESC= Python bindings for Printsupport module py-qml_DESC= Python bindings for Qml module py-qscintilla2_DESC= Python bindings for QScintilla2 py-quick_DESC= Python bindings for QtQuick module py-quick3d_DESC= Python bindings for QtQuick3D module py-quickwidgets_DESC= Python bindings for QtQuickWidgets module py-remoteobjects_DESC= Python bindings for QtRemoteObjects module py-sip_DESC= Python bindings generator for C and C++ libraries py-sensors_DESC= Python bindings for QtSensors py-serialport_DESC= Python bindings for QtSerialPort py-sql_DESC= Python bindings for QtSql module py-svg_DESC= Python bindings for QtSvg module py-test_DESC= Python bindings for QtTest module py-webchannel_DESC= Python bindings for QtWebChannel module py-webengine_DESC= Python bindings for QtWebEngine module py-webkit_DESC= Python bindings for QtWebKit module py-webkitwidgets_DESC= Python bindings for QtWebKitWidgets module py-widgets_DESC= Python bindings for QTWidgets module py-xml_DESC= Python bindings for QtXml module py-xmlpatterns_DESC= Python bindings for QtXmlPatterns module # The versionned executable of sip SIP= ${LOCALBASE}/bin/sip5-${PYTHON_VER} # Relative directories _VERSION_SUBDIR_REL= PyQt${_PYQT_VERSION}/${PYTHON_VER} _APIDIR_REL= share/${_VERSION_SUBDIR_REL}/qsci _DOCDIR_REL= share/doc/${_VERSION_SUBDIR_REL} _EXAMPLEDIR_REL= share/examples/${_VERSION_SUBDIR_REL} _SIPDIR_REL= PyQt${_PYQT_VERSION}/bindings _DESIGNERDIR_REL= ${QT_PLUGINDIR_REL}/designer/${_VERSION_SUBDIR_REL} _QMLDIR_REL= ${QT_QMLDIR_REL}/${_VERSION_SUBDIR_REL} # Absolute directories PYQT_APIDIR= ${PREFIX}/${_APIDIR_REL} PYQT_DOCDIR= ${PREFIX}/${_DOCDIR_REL} PYQT_EXAMPLEDIR= ${PREFIX}/${_EXAMPLEDIR_REL} PYQT_SIPDIR?= ${PYTHON_SITELIBDIR}/${_SIPDIR_REL} PYQT_DESIGNERDIR= ${PREFIX}/${_DESIGNERDIR_REL} PYQT_QMLDIR= ${PREFIX}/${_QMLDIR_REL} PLIST_SUB+= PYQT_APIDIR=${_APIDIR_REL} \ PYQT_DOCDIR=${_DOCDIR_REL} \ PYQT_EXAMPLEDIR=${_EXAMPLEDIR_REL} \ PYQT_SIPDIR=${PYQT_SIPDIR} \ PYQT_DESIGNERDIR=${_DESIGNERDIR_REL} \ PYQT_QMLDIR=${_QMLDIR_REL} \ PYQT_SIPVERSION=${SIP_VERSION} \ PYQT_QSCIVERSION=${QSCI2_VERSION} \ PYQT_PYQTVERSION=${PYQT_VERSION} . if defined(PYQT_DIST) PORTVERSION= ${PYQT_VERSION} MASTER_SITES= ${PYQT_MASTERSITES} PKGNAMEPREFIX= ${PYQT_PY_RELNAME}- DISTNAME= ${PYQT_DISTNAME} DISTINFO_FILE= ${PYQT_DISTINFO_FILE} LICENSE?= ${PYQT_LICENSE} HAS_CONFIGURE= yes . if ${_PYQT_VERSION} > 4 # PyQt5's configure.py generates .pro files and calls qmake to generate the # Makefiles. qmake's Makefiles use INSTALL_ROOT instead of DESTDIR. DESTDIRNAME= INSTALL_ROOT # Limit PyQt5's version to the Qt5 version in ports PORTSCOUT?= limit:^${_QT_VERSION:R} . endif PATCHDIR= ${.CURDIR}/../../devel/${PYQT_RELNAME}-core/files CONFIGURE_ARGS+=-b ${PREFIX}/bin \ -d ${PYTHONPREFIX_SITELIBDIR} \ -q ${QMAKE} \ --confirm-license \ --sip ${SIP} \ --sipdir ${PYQT_SIPDIR} . if ${_PYQT_VERSION:M5} # Move the designer plugin and qml libraries to versioned folders. CONFIGURE_ARGS+=--qml-plugindir ${PYQT_QMLDIR} \ --designer-plugindir ${PYQT_DESIGNERDIR} # Further do not gernate the dinstinfo files. CONFIGURE_ARGS+=--no-dist-info . endif # One of the things PyQt looks for to determine whether to build the Qt DBus # main loop module (${PYQT_RELNAME}-dbussupport) is whether the dbus/ directory is # present. Only extract it for that port then. . if ${PORTNAME} != "dbussupport" EXTRACT_AFTER_ARGS+= --exclude "${DISTNAME}/dbus" . endif # ${PORTNAME} != "dbussupport" . if !target(do-configure) do-configure: + ${REINPLACE_CMD} -e "s/sip-module/sip-module-${PYTHON_VER}/" ${WRKSRC}/configure.py cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ ${PYTHON_CMD} configure.py ${CONFIGURE_ARGS} . endif # !target(do-configure) . endif # defined(PYQT_DIST) # Set build, run and test depends -- we need to prefix them internally with "py-" # else we conflict with the ones defined in bsd.qt.mk with the same name _USE_PYQT_ALL+= ${_USE_SIP_ALL} \ ${_USE_QSCINTILLA} \ ${_USE_PYQTBUILDER} . for comp in ${_USE_PYQT_ALL:O:u} _USE_PYQT_ALL_SUFFIXED+= py-${comp} py-${comp}_build py-${comp}_run py-${comp}_test py-${comp}_BUILD_DEPENDS?= ${py-${comp}_PATH}:${py-${comp}_PORT}@${PY_FLAVOR} py-${comp}_RUN_DEPENDS?= ${py-${comp}_PATH}:${py-${comp}_PORT}@${PY_FLAVOR} py-${comp}_TEST_DEPENDS?= ${py-${comp}_PATH}:${py-${comp}_PORT}@${PY_FLAVOR} py-${comp}_build_BUILD_DEPENDS?= ${py-${comp}_BUILD_DEPENDS} py-${comp}_run_RUN_DEPENDS?= ${py-${comp}_RUN_DEPENDS} py-${comp}_test_TEST_DEPENDS?= ${py-${comp}_TEST_DEPENDS} . endfor _USE_PYQT= ${USE_PYQT:O:u} . for comp in ${_USE_PYQT} . if ${_USE_PYQT_ALL_SUFFIXED:Mpy-${comp}} BUILD_DEPENDS+= ${py-${comp}_BUILD_DEPENDS} RUN_DEPENDS+= ${py-${comp}_RUN_DEPENDS} TEST_DEPENDS+= ${py-${comp}_TEST_DEPENDS} . else IGNORE?= cannot be installed: unknown USE_PYQT component ${comp} #' . endif . endfor .endif # defined(_INCLUDE_USES_PYQT_MK) Index: head/devel/py-qt5-qscintilla2/Makefile =================================================================== --- head/devel/py-qt5-qscintilla2/Makefile (revision 557441) +++ head/devel/py-qt5-qscintilla2/Makefile (revision 557442) @@ -1,43 +1,46 @@ # $FreeBSD$ PORTNAME= qscintilla2 PORTVERSION= ${QSCI2_VERSION} CATEGORIES= devel python MASTER_SITES= ${MASTER_SITES_QSCI2} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}qt5- DISTNAME= ${QSCI2_DISTNAME} MAINTAINER= kde@FreeBSD.org COMMENT= Python bindings for QScintilla2 (PyQt5), QSci module LIB_DEPENDS= libqscintilla2_qt5.so:devel/qscintilla2-qt5 DISTINFO_FILE= ${.CURDIR:H}/qscintilla2-qt5/distinfo DESTDIRNAME= INSTALL_ROOT HAS_CONFIGURE= yes USES= python:3.5+ pyqt:5 gl qmake:no_env qt:5 USE_GL= gl USE_PYQT= core gui printsupport widgets USE_PYTHON= concurrent flavors py3kplist USE_QT= core gui printsupport widgets buildtools_build qmake_build OPTIONS_DEFINE= DEBUG DEBUG_CONFIGURE_ON= --debug --trace QSCIDIR= ${PREFIX}/share/qt5/qsci CONFIGURE_ARGS= --pyqt PyQt5 -d ${PYTHONPREFIX_SITELIBDIR}/PyQt5 -v ${PYQT_SIPDIR} \ --apidir ${PYQT_APIDIR} --qmake ${QMAKE} --pyqt-sipdir ${PYQT_SIPDIR} \ --sip ${SIP} --qsci-sipdir ${PYQT_SIPDIR} --qsci-incdir ${QT_INCDIR} --qsci-libdir ${QT_LIBDIR} WRKSRC= ${WRKDIR}/${DISTNAME}/Python ALL_TARGET= #empty +post-patch: + ${REINPLACE_CMD} -e "s/sip-module/sip-module-${PYTHON_VER}/" ${WRKSRC}/configure.py + do-configure: cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ ${PYTHON_CMD} configure.py ${CONFIGURE_ARGS} post-install: ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PyQt5/Qsci.so .include Index: head/www/py-qt5-webengine/Makefile =================================================================== --- head/www/py-qt5-webengine/Makefile (revision 557441) +++ head/www/py-qt5-webengine/Makefile (revision 557442) @@ -1,51 +1,54 @@ # $FreeBSD$ PORTNAME= webengine DISTVERSION= ${PYQT_VERSION} CATEGORIES= www devel python MASTER_SITES= https://pypi.python.org/packages/source/P/PyQtWebEngine/ PKGNAMEPREFIX= ${PYQT_PY_RELNAME}- DISTNAME= PyQtWebEngine-${DISTVERSION} MAINTAINER= kde@FreeBSD.org COMMENT= Python bindings for the Qt5 toolkit, QtWebEngine module LICENSE= GPLv3 BUILD_DEPENDS= ${PY_ENUM34} RUN_DEPENDS= ${PY_ENUM34} USES= gl python:3.5+ pyqt:5 qt:5 USE_GL= gl USE_PYQT= sip_build core gui network printsupport webchannel USE_PYTHON= concurrent flavors py3kplist USE_QT= core declarative gui location network printsupport webchannel \ webengine widgets qmake_build CONFIGURE_ARGS= -d ${PYTHONPREFIX_SITELIBDIR}/PyQt5 \ -q ${QMAKE} \ --sip ${SIP} \ --pyqt-sipdir ${PYQT_SIPDIR} \ --verbose DESTDIRNAME= INSTALL_ROOT OPTIONS_DEFINE= API DEBUG OPTIONS_DEFAULT= API OPTIONS_SUB= yes API_DESC= Install QtWebEngine API for QScintilla2 API_CONFIGURE_ON= --apidir=${PYQT_APIDIR} API_CONFIGURE_OFF= --no-qsci-api API_LIB_DEPENDS= libqscintilla2_qt5.so:devel/qscintilla2-qt5 DEBUG_CONFIGURE_ON= --debug --trace PLIST_SUB= PYQT_WEBENGINE_VERSION=${DISTVERSION} post-install-DEBUG-off: ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/PyQt5/QtWebEngine*.so +post-patch: + ${REINPLACE_CMD} -e "s/sip-module/sip-module-${PYTHON_VER}/" ${WRKSRC}/configure.py + do-configure: cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ ${PYTHON_CMD} configure.py ${CONFIGURE_ARGS} .include Index: head/x11-toolkits/py-qt5-chart/Makefile =================================================================== --- head/x11-toolkits/py-qt5-chart/Makefile (revision 557441) +++ head/x11-toolkits/py-qt5-chart/Makefile (revision 557442) @@ -1,52 +1,53 @@ # $FreeBSD$ PORTNAME= chart PORTVERSION= ${PYQT5_VERSION} CATEGORIES= x11-toolkits devel python MASTER_SITES= ${MASTER_SITES_PYQTCHART} PKGNAMEPREFIX= ${PYQT_PY_RELNAME}- DISTNAME= ${PYQTCHART_DISTNAME} MAINTAINER= kde@FreeBSD.org COMMENT= Python bindings for the Qt5 toolkit, QtChart module LICENSE= ${PYQT5_LICENSE} BUILD_DEPENDS= ${PY_ENUM34} RUN_DEPENDS= ${PY_ENUM34} USES= gl python:3.5+ pyqt:5 qt:5 USE_GL= gl USE_PYQT= sip_build core gui widgets USE_PYTHON= concurrent flavors py3kplist USE_QT= charts core declarative gui qmake_build widgets HAS_CONFIGURE= yes CONFIGURE_ARGS+= --verbose --no-dist-info \ -d ${PYTHONPREFIX_SITELIBDIR}/PyQt5 \ -q ${QMAKE} \ --sip ${SIP} \ --pyqt-sipdir=${PYQT_SIPDIR} \ --qtchart-sipdir=${PYQT_SIPDIR} DESTDIRNAME= INSTALL_ROOT OPTIONS_DEFINE= API DEBUG OPTIONS_DEFAULT=API OPTIONS_SUB= yes API_DESC= Install QtCharts API for QScintilla2 API_CONFIGURE_ON= --apidir=${PYQT_APIDIR} API_CONFIGURE_OFF= --no-qsci-api API_LIB_DEPENDS= libqscintilla2_qt5.so:devel/qscintilla2-qt5 DEBUG_CONFIGURE_ON= --debug --trace -.if !target(do-configure) +post-patch: + ${REINPLACE_CMD} -e "s/sip-module/sip-module-${PYTHON_VER}/" ${WRKSRC}/configure.py + do-configure: cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ ${PYTHON_CMD} configure.py ${CONFIGURE_ARGS} -.endif # !target(do-configure) post-install: ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/PyQt5/QtChart.so .include