git: 9f4f33134a31 - main - */*: Update PyQt, Sip, QSCintlla2

From: Loïc Bartoletti <lbartoletti_at_FreeBSD.org>
Date: Wed, 02 Nov 2022 06:41:12 UTC
The branch main has been updated by lbartoletti:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9f4f33134a3169bcdf10b13a8e208877d62bf2f9

commit 9f4f33134a3169bcdf10b13a8e208877d62bf2f9
Author:     Loïc Bartoletti <lbartoletti@FreeBSD.org>
AuthorDate: 2022-11-02 06:37:29 +0000
Commit:     Loïc Bartoletti <lbartoletti@FreeBSD.org>
CommitDate: 2022-11-02 06:41:07 +0000

    */*: Update PyQt, Sip, QSCintlla2
    
    PR:             267203
    Exp-run by:     antoine
---
 Mk/Uses/pyqt.mk                               |  14 +--
 devel/py-qt5-pyqt/Makefile                    |   7 +-
 devel/py-qt5-pyqt/distinfo                    |   6 +-
 devel/py-qt5-qscintilla2/Makefile             |   1 -
 devel/py-qt5-sip/distinfo                     |   6 +-
 devel/py-qt5/distinfo                         |   4 +-
 devel/py-qtbuilder/distinfo                   |   6 +-
 devel/py-sip/distinfo                         |   6 +-
 devel/qscintilla2-qt5/Makefile                |   1 -
 devel/qscintilla2-qt5/distinfo                |   6 +-
 net/py-qt5-networkauth/Makefile               |   1 -
 science/py-veusz/files/patch-pyqtdistutils.py | 175 ++++++++++++++++++++++++++
 www/py-qt5-webengine/Makefile                 |   1 -
 www/py-qt5-webengine/distinfo                 |   6 +-
 x11-toolkits/py-qt5-chart/Makefile            |   1 -
 x11-toolkits/py-qt5-chart/distinfo            |   6 +-
 x11-toolkits/py-qt5-chart/pkg-plist           |   3 -
 17 files changed, 208 insertions(+), 42 deletions(-)

diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index 33ce894a4f04..a745dc2f5520 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -71,15 +71,15 @@ MASTER_SITES_QSCI2=	RIVERBANK/QScintilla/${PORTVERSION} \
 #
 # Where noted, the ports are epoched and the py-${comp}-PATH variables,
 # below, should have a suitable epoch appended to the version.
-SIP_VERSION=		6.5.1	# ,1
+SIP_VERSION=		6.7.2	# ,1
 SIP4_VERSION=		4.19.25
-QSCI2_VERSION=		2.13.2
-PYQT5_VERSION=		5.15.6
-PYQTCHART_VERSION=	5.15.5
+QSCI2_VERSION=		2.13.3
+PYQT5_VERSION=		5.15.7
+PYQTCHART_VERSION=	5.15.6
 PYQTNETWORKAUTH_VERSION=5.15.5
-PYQTWEBENGINE_VERSION=	5.15.5
-PYQTSIP_VERSION=	12.9.1
-PYQTBUILDER_VERSION=	1.12.2
+PYQTWEBENGINE_VERSION=	5.15.6
+PYQTSIP_VERSION=	12.11.0
+PYQTBUILDER_VERSION=	1.14.0
 
 SIP_DISTNAME=		sip-${SIP_VERSION}
 SIP4_DISTNAME=		sip-${SIP4_VERSION}
diff --git a/devel/py-qt5-pyqt/Makefile b/devel/py-qt5-pyqt/Makefile
index 2b1c2314f956..ef93f75cd8f0 100644
--- a/devel/py-qt5-pyqt/Makefile
+++ b/devel/py-qt5-pyqt/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	pyqt
 PORTVERSION=	${PYQT5_VERSION}
-PORTREVISION=	1
 CATEGORIES=	devel python
 MASTER_SITES=	${MASTER_SITES_PYQT5}
 PKGNAMEPREFIX=	${PYQT_PY_RELNAME}-
@@ -14,8 +13,10 @@ PYQT_DIST=	yes
 
 LIB_DEPENDS=	libqscintilla2_qt5.so:devel/qscintilla2-qt5 \
 		libdbus-1.so:devel/dbus
-BUILD_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR}
-RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR}
+BUILD_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR}
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR}
 
 USES=		pkgconfig python:3.8+ pyqt:5 qt:5
 USE_PYTHON=	concurrent flavors py3kplist
diff --git a/devel/py-qt5-pyqt/distinfo b/devel/py-qt5-pyqt/distinfo
index aea7714a1e25..7b7bd7747142 100644
--- a/devel/py-qt5-pyqt/distinfo
+++ b/devel/py-qt5-pyqt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643824809
-SHA256 (PyQt5-5.15.6.tar.gz) = 80343bcab95ffba619f2ed2467fd828ffeb0a251ad7225be5fc06dcc333af452
-SIZE (PyQt5-5.15.6.tar.gz) = 3239505
+TIMESTAMP = 1666112445
+SHA256 (PyQt5-5.15.7.tar.gz) = 755121a52b3a08cb07275c10ebb96576d36e320e572591db16cfdbc558101594
+SIZE (PyQt5-5.15.7.tar.gz) = 3238978
diff --git a/devel/py-qt5-qscintilla2/Makefile b/devel/py-qt5-qscintilla2/Makefile
index 395f7b77a784..6f6c5544ba10 100644
--- a/devel/py-qt5-qscintilla2/Makefile
+++ b/devel/py-qt5-qscintilla2/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	qscintilla2
 PORTVERSION=	${QSCI2_VERSION}
-PORTREVISION=	1
 CATEGORIES=	devel python
 MASTER_SITES=	${MASTER_SITES_QSCI2}
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}qt5-
diff --git a/devel/py-qt5-sip/distinfo b/devel/py-qt5-sip/distinfo
index e646a659e892..7074b4cdff93 100644
--- a/devel/py-qt5-sip/distinfo
+++ b/devel/py-qt5-sip/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643824874
-SHA256 (PyQt5_sip-12.9.1.tar.gz) = 2f24f299b44c511c23796aafbbb581bfdebf78d0905657b7cee2141b4982030e
-SIZE (PyQt5_sip-12.9.1.tar.gz) = 121419
+TIMESTAMP = 1666112484
+SHA256 (PyQt5_sip-12.11.0.tar.gz) = b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39
+SIZE (PyQt5_sip-12.11.0.tar.gz) = 122792
diff --git a/devel/py-qt5/distinfo b/devel/py-qt5/distinfo
index 0c93fe69a044..59c0a5f9c9a0 100644
--- a/devel/py-qt5/distinfo
+++ b/devel/py-qt5/distinfo
@@ -1,3 +1 @@
-TIMESTAMP = 1615474730
-SHA256 (PyQt5-5.15.4.tar.gz) = 2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be
-SIZE (PyQt5-5.15.4.tar.gz) = 3258085
+TIMESTAMP = 1666112285
diff --git a/devel/py-qtbuilder/distinfo b/devel/py-qtbuilder/distinfo
index 13a9e9dd42af..c225062de8c3 100644
--- a/devel/py-qtbuilder/distinfo
+++ b/devel/py-qtbuilder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643824902
-SHA256 (PyQt-builder-1.12.2.tar.gz) = f62bb688d70e0afd88c413a8d994bda824e6cebd12b612902d1945c5a67edcd7
-SIZE (PyQt-builder-1.12.2.tar.gz) = 5727071
+TIMESTAMP = 1666112516
+SHA256 (PyQt-builder-1.14.0.tar.gz) = 6755931c6d2f8940553e0334d10c933ce5cc18b64425e94fda1accf4ff774f59
+SIZE (PyQt-builder-1.14.0.tar.gz) = 3907829
diff --git a/devel/py-sip/distinfo b/devel/py-sip/distinfo
index 541de067bbcf..d5b417ee5033 100644
--- a/devel/py-sip/distinfo
+++ b/devel/py-sip/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643824909
-SHA256 (sip-6.5.1.tar.gz) = 204f0240db8999a749d638a987b351861843e69239b811ec3d1881412c3706a6
-SIZE (sip-6.5.1.tar.gz) = 1197925
+TIMESTAMP = 1666118827
+SHA256 (sip-6.7.2.tar.gz) = 325016c787d0bff20999c420339ad816fbfd39a7c49b2c4dcda12b63c379dbda
+SIZE (sip-6.7.2.tar.gz) = 1157566
diff --git a/devel/qscintilla2-qt5/Makefile b/devel/qscintilla2-qt5/Makefile
index 94142df7116c..ecefa68f5235 100644
--- a/devel/qscintilla2-qt5/Makefile
+++ b/devel/qscintilla2-qt5/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	qscintilla2-qt5
 PORTVERSION=	${QSCI2_VERSION}
-PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITES_QSCI2}
 DISTNAME=	${QSCI2_DISTNAME}
diff --git a/devel/qscintilla2-qt5/distinfo b/devel/qscintilla2-qt5/distinfo
index 9bcd3b77c29f..868ba6ceadac 100644
--- a/devel/qscintilla2-qt5/distinfo
+++ b/devel/qscintilla2-qt5/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1648212625
-SHA256 (QScintilla_src-2.13.2.tar.gz) = b6c7e5f27b51d25f09fe6cf84ae9a7f0876af0d65d8ccb551109e6e7b25885f4
-SIZE (QScintilla_src-2.13.2.tar.gz) = 3059999
+TIMESTAMP = 1666112476
+SHA256 (QScintilla_src-2.13.3.tar.gz) = 711d28e37c8fccaa8229e8e39a5b3b2d97f3fffc63da10b71c71b84fa3649398
+SIZE (QScintilla_src-2.13.3.tar.gz) = 3060031
diff --git a/net/py-qt5-networkauth/Makefile b/net/py-qt5-networkauth/Makefile
index 4f8bc246ca8a..819e2636f4df 100644
--- a/net/py-qt5-networkauth/Makefile
+++ b/net/py-qt5-networkauth/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	networkauth
 PORTVERSION=	${PYQTNETWORKAUTH_VERSION}
-PORTREVISION=	1
 CATEGORIES=	net devel python
 MASTER_SITES=	${MASTER_SITES_PYQTNETWORKAUTH}
 PKGNAMEPREFIX=	${PYQT_PY_RELNAME}-
diff --git a/science/py-veusz/files/patch-pyqtdistutils.py b/science/py-veusz/files/patch-pyqtdistutils.py
new file mode 100644
index 000000000000..58268e720540
--- /dev/null
+++ b/science/py-veusz/files/patch-pyqtdistutils.py
@@ -0,0 +1,175 @@
+Obtained from AUR https://aur.archlinux.org/cgit/aur.git/plain/veusz-3.4-sip.patch?h=veusz
+
+--- pyqtdistutils.py.orig	2021-10-17 08:26:22 UTC
++++ pyqtdistutils.py
+@@ -5,18 +5,13 @@
+ # Based on Pyrex.Distutils, written by Graham Fawcett and Darrel Gallion.
+ 
+ import os
++import shutil
+ import subprocess
++import toml
+ 
+ from distutils.sysconfig import customize_compiler, get_python_lib
+ import distutils.command.build_ext
+ 
+-import toml
+-
+-from sipbuild.code_generator import set_globals, parse, generateCode
+-from sipbuild.exceptions import UserException
+-from sipbuild.module import copy_sip_h, resolve_abi_version
+-from sipbuild.version import SIP_VERSION, SIP_VERSION_STR
+-
+ ##################################################################
+ 
+ def replace_suffix(path, new_suffix):
+@@ -30,10 +25,9 @@ def find_on_path(names, mainname):
+     path = os.getenv('PATH', os.path.defpath)
+     pathparts = path.split(os.path.pathsep)
+     for cmd in names:
+-        for dirname in pathparts:
+-            cmdtry = os.path.join(dirname.strip('"'), cmd)
+-            if os.path.isfile(cmdtry) and os.access(cmdtry, os.X_OK):
+-                return cmdtry
++        resolved = shutil.which(cmd)
++        if resolved:
++            return resolved
+     raise RuntimeError('Could not find %s executable' % mainname)
+ 
+ def read_command_output(cmd):
+@@ -206,8 +200,8 @@ class build_ext(distutils.command.build_ext.build_ext)
+         # Collect the names of the source (.sip) files
+         sip_sources = []
+         sip_sources = [source for source in sources if source.endswith('.sip')]
+-        other_sources = [source for source in sources
+-                         if not source.endswith('.sip')]
++        other_sources = [
++            source for source in sources if not source.endswith('.sip')]
+         generated_sources = []
+ 
+         for sip in sip_sources:
+@@ -216,64 +210,79 @@ class build_ext(distutils.command.build_ext.build_ext)
+             if not os.path.exists(sip_builddir) or self.force:
+                 os.makedirs(sip_builddir, exist_ok=True)
+                 self._sip_compile(sip, sip_builddir)
+-            out = [
+-                os.path.join(sip_builddir, fn)
+-                for fn in sorted(os.listdir(sip_builddir))
+-                if fn.endswith(".cpp")
++
++            # files get put in sip_builddir + modulename
++            modulename = os.path.splitext(os.path.basename(sip))[0]
++            dirname = os.path.join(sip_builddir, 'output', modulename)
++
++            source_files = [
++                os.path.join(dirname, fn)
++                for fn in sorted(os.listdir(dirname))
++                if fn.endswith(".cpp") or fn.endswith(".c")
+             ]
+-            generated_sources.extend(out)
+ 
++            generated_sources.extend(source_files)
++
+         return generated_sources + other_sources
+ 
+     def _sip_compile(self, source, sip_builddir):
+         """Compile sip file to sources."""
+-        sip_module = 'PyQt5.sip'
+-        pyqt5_include_dir = os.path.join(get_python_lib(plat_specific=1),
+-                                         'PyQt5', 'bindings')
++
++        pyqt5_include_dir = os.path.join(
++            get_python_lib(plat_specific=1), 'PyQt5', 'bindings')
+         pyqt5_toml = os.path.join(pyqt5_include_dir, 'QtCore', 'QtCore.toml')
+         pyqt5_cfg = toml.load(pyqt5_toml)
+         abi_version = pyqt5_cfg.get('sip-abi-version')
+-        abi_major, abi_minor = abi_version.split('.')
+ 
+-        # header file location changed to major version in sip-6.2.0
+-        if SIP_VERSION >= 0x60200:
+-            hdr_version = abi_major
+-        else:
+-            hdr_version = abi_version
+-        copy_sip_h(hdr_version, sip_builddir, sip_module)
++        modulename = os.path.splitext(os.path.basename(source))[0]
++        srcdir = os.path.abspath(os.path.dirname(source))
+ 
+-        sip_major_version = SIP_VERSION >> 16
+-        common_args = [SIP_VERSION, SIP_VERSION_STR, int(abi_major), int(abi_minor)]
+-        if sip_major_version >= 6:
+-            set_globals(*common_args, sip_module, UserException, [pyqt5_include_dir])
+-        else:
+-            set_globals(*common_args, UserException, [pyqt5_include_dir])
++        # location of sip output files
++        output_dir = os.path.abspath(os.path.join(sip_builddir, 'output'))
++        os.makedirs(output_dir)
+ 
+-        pt, _fq_name, _uses_limited_api, _sip_files, tags, disabled_features = parse(
+-            source,
+-            True,   # strict mode
+-            [],     # list of additional version/platform tags
+-            [],     # list of timeline backstops
+-            [],     # list of disabled features
+-            False,  # protected is public
+-        )
++        # generate a pyproject.toml to generate the sip source
++        pyproject_data = {
++            'build-system': {
++                'requires': ['sip >=5.5.0, <7'],
++                'build-backend': 'sipbuild.api',
++            },
++            'tool': {
++                'sip': {
++                    'metadata': {
++                        'name': modulename,
++                    },
++                    'bindings': {
++                        modulename: {
++                            'pep484-pyi': False,
++                            'protected-is-public': False
++                        }
++                    },
++                    'project': {
++                        'sip-include-dirs': [pyqt5_include_dir],
++                        'abi-version': abi_version,
++                        'build-dir': output_dir,
++                        'sip-module': 'PyQt5.sip',
++                        'sip-files-dir': srcdir,
++                    }
++                }
++            }
++        }
++        pyproject_fname = os.path.join(sip_builddir, 'pyproject.toml')
++        with open(pyproject_fname, 'w') as fout:
++            toml.dump(pyproject_data, fout)
+ 
+-        generate_args = [
+-            pt,
+-            sip_builddir,
+-            None,   # source files suffix (default .c, .cpp)
+-            False,  # whether to enable support for exceptions
+-            False,  # whether to generate code with tracing enabled
+-            False,  # whether to always release and reacquire the GIL
+-            0,      # number of files to split the generated code into
+-            tags,
+-            disabled_features,
+-            False,  # whether to enable the automatic generation of docstrings
+-            False,  # whether to generate code for a debug build of Python
+-        ]
+-        if sip_major_version < 6:
+-            generate_args.append(sip_module)
+-        generateCode(*generate_args)
++        # generate the source files for the bindings
++        build_cmd = shutil.which('sip-build')
++        if not build_cmd:
++            raise RuntimeError('Could not find sip-build command on PATH')
++        subprocess.check_call([build_cmd, '--no-compile'], cwd=sip_builddir)
++
++        # put sip header in correct location
++        shutil.copyfile(
++            os.path.join(output_dir, 'sip.h'),
++            os.path.join(output_dir, modulename, 'sip.h')
++        )
+ 
+     def build_extensions(self):
+         # remove annoying flag which causes warning for c++ sources
diff --git a/www/py-qt5-webengine/Makefile b/www/py-qt5-webengine/Makefile
index 4269f100e026..6de91578d8ca 100644
--- a/www/py-qt5-webengine/Makefile
+++ b/www/py-qt5-webengine/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	webengine
 DISTVERSION=	${PYQTWEBENGINE_VERSION}
-PORTREVISION=	3
 CATEGORIES=	www devel python
 MASTER_SITES=	${MASTER_SITES_PYQTWEBENGINE}
 PKGNAMEPREFIX=	${PYQT_PY_RELNAME}-
diff --git a/www/py-qt5-webengine/distinfo b/www/py-qt5-webengine/distinfo
index dcd139989462..e259e3481059 100644
--- a/www/py-qt5-webengine/distinfo
+++ b/www/py-qt5-webengine/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643824962
-SHA256 (PyQtWebEngine-5.15.5.tar.gz) = ab47608dccf2b5e4b950d5a3cc704b17711af035024d07a9b71ad29fc103b941
-SIZE (PyQtWebEngine-5.15.5.tar.gz) = 48610
+TIMESTAMP = 1666112567
+SHA256 (PyQtWebEngine-5.15.6.tar.gz) = ae241ef2a61c782939c58b52c2aea53ad99b30f3934c8358d5e0a6ebb3fd0721
+SIZE (PyQtWebEngine-5.15.6.tar.gz) = 48871
diff --git a/x11-toolkits/py-qt5-chart/Makefile b/x11-toolkits/py-qt5-chart/Makefile
index 12c62232dd4d..a4a1415317db 100644
--- a/x11-toolkits/py-qt5-chart/Makefile
+++ b/x11-toolkits/py-qt5-chart/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	chart
 PORTVERSION=	${PYQTCHART_VERSION}
-PORTREVISION=	1
 CATEGORIES=	x11-toolkits devel python
 MASTER_SITES=	${MASTER_SITES_PYQTCHART}
 PKGNAMEPREFIX=	${PYQT_PY_RELNAME}-
diff --git a/x11-toolkits/py-qt5-chart/distinfo b/x11-toolkits/py-qt5-chart/distinfo
index 95217bf19716..b266b712e406 100644
--- a/x11-toolkits/py-qt5-chart/distinfo
+++ b/x11-toolkits/py-qt5-chart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643824976
-SHA256 (PyQtChart-5.15.5.tar.gz) = e2cd55a8a72cef99bc0126f3b1daa914eb5f21e20a70127b6985299f1dc50107
-SIZE (PyQtChart-5.15.5.tar.gz) = 68245
+TIMESTAMP = 1666112557
+SHA256 (PyQtChart-5.15.6.tar.gz) = 2691796fe92a294a617592a5c5c35e785dc91f7759def9eb22da79df63762339
+SIZE (PyQtChart-5.15.6.tar.gz) = 68297
diff --git a/x11-toolkits/py-qt5-chart/pkg-plist b/x11-toolkits/py-qt5-chart/pkg-plist
index df1a5572ad50..0db6f333eaef 100644
--- a/x11-toolkits/py-qt5-chart/pkg-plist
+++ b/x11-toolkits/py-qt5-chart/pkg-plist
@@ -53,6 +53,3 @@
 %%PYQT_SIPDIR%%/QtChart/qxyseries.sip
 %%PYTHON_SITELIBDIR%%/PyQt5/QtChart.abi%%PYTHON_MAJOR_VER%%.so
 %%PYTHON_SITELIBDIR%%/PyQt5/bindings/QtChart/QtChart.toml
-%%PYTHON_SITELIBDIR%%/PyQtChart-5.15.5.dist-info/INSTALLER
-%%PYTHON_SITELIBDIR%%/PyQtChart-5.15.5.dist-info/METADATA
-%%PYTHON_SITELIBDIR%%/PyQtChart-5.15.5.dist-info/RECORD