Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pyqt-builder for openSUSE:Factory checked in at 2024-11-05 15:39:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pyqt-builder (Old) and /work/SRC/openSUSE:Factory/.python-pyqt-builder.new.2020 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyqt-builder" Tue Nov 5 15:39:43 2024 rev:22 rq:1221009 version:1.16.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pyqt-builder/python-pyqt-builder.changes 2024-04-23 18:55:13.052613899 +0200 +++ /work/SRC/openSUSE:Factory/.python-pyqt-builder.new.2020/python-pyqt-builder.changes 2024-11-05 15:39:54.711285226 +0100 @@ -1,0 +2,15 @@ +Mon Nov 4 13:05:02 UTC 2024 - Daniel Garcia <daniel.gar...@suse.com> + +- Use pypi url for source +- Update to 1.16.4 + * Support for Windows on Arm for Qt6 + * Support for Linux on Arm for Qt6 +1.16.3: + * Link to the stable SIP documentation + * missing multimedia libraries in Qt v6.7 + * Added support for sub-wheels to pyqt-qt-wheel +1.16.2: + * The links to the SIP documentation have been fixed. + * The ICU libraries were missing from the Linux Qt v6.7 wheels. + +------------------------------------------------------------------- Old: ---- pyqt_builder-1.16.1.tar.gz New: ---- pyqt_builder-1.16.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pyqt-builder.spec ++++++ --- /var/tmp/diff_new_pack.bixZ4R/_old 2024-11-05 15:39:55.247307698 +0100 +++ /var/tmp/diff_new_pack.bixZ4R/_new 2024-11-05 15:39:55.247307698 +0100 @@ -19,13 +19,12 @@ %define mname pyqt-builder %{?sle15_python_module_pythons} Name: python-%{mname} -Version: 1.16.1 +Version: 1.16.4 Release: 0 Summary: The PEP 517 compliant PyQt build system License: BSD-2-Clause URL: https://github.com/Python-PyQt/PyQt-builder -#Source0: https://files.pythonhosted.org/packages/source/P/PyQt-builder/PyQt-builder-%%{version}.tar.gz -Source0: https://www.riverbankcomputing.com/pypi/packages/snapshots/PyQt-builder/pyqt_builder-%{version}.tar.gz +Source0: https://files.pythonhosted.org/packages/source/P/PyQt-builder/pyqt_builder-%{version}.tar.gz # PATCH-FEATURE-SUSE support-python3.6.patch alarr...@suse.com -- The PyQt5 packages have the SLE15 python module macro, but it is disable in some maintance projects Patch0: support-python3.6.patch BuildRequires: %{python_module base >= 3.6} ++++++ pyqt_builder-1.16.1.tar.gz -> pyqt_builder-1.16.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/PKG-INFO new/pyqt_builder-1.16.4/PKG-INFO --- old/pyqt_builder-1.16.1/PKG-INFO 2024-04-21 01:32:11.054156800 +0200 +++ new/pyqt_builder-1.16.4/PKG-INFO 2024-07-12 18:07:27.087464600 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: PyQt-builder -Version: 1.16.1 +Version: 1.16.4 Summary: The PyQt build system Author-email: Phil Thompson <p...@riverbankcomputing.com> License: Copyright 2024 Phil Thompson <p...@riverbankcomputing.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/PyQt_builder.egg-info/PKG-INFO new/pyqt_builder-1.16.4/PyQt_builder.egg-info/PKG-INFO --- old/pyqt_builder-1.16.1/PyQt_builder.egg-info/PKG-INFO 2024-04-21 01:32:10.000000000 +0200 +++ new/pyqt_builder-1.16.4/PyQt_builder.egg-info/PKG-INFO 2024-07-12 18:07:27.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: PyQt-builder -Version: 1.16.1 +Version: 1.16.4 Summary: The PyQt build system Author-email: Phil Thompson <p...@riverbankcomputing.com> License: Copyright 2024 Phil Thompson <p...@riverbankcomputing.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/_version.py new/pyqt_builder-1.16.4/pyqtbuild/_version.py --- old/pyqt_builder-1.16.1/pyqtbuild/_version.py 2024-04-21 01:32:10.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/_version.py 2024-07-12 18:07:26.000000000 +0200 @@ -12,5 +12,5 @@ __version_tuple__: VERSION_TUPLE version_tuple: VERSION_TUPLE -__version__ = version = '1.16.1' -__version_tuple__ = version_tuple = (1, 16, 1) +__version__ = version = '1.16.4' +__version_tuple__ = version_tuple = (1, 16, 4) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/abstract_package.py new/pyqt_builder-1.16.4/pyqtbuild/bundle/abstract_package.py --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/abstract_package.py 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/abstract_package.py 2024-06-21 17:28:00.000000000 +0200 @@ -58,7 +58,7 @@ # This default implementation does nothing. def bundle_qt(self, target_qt_dir, platform_tag, exclude, ignore_missing, - bindings=True): + bindings=True, subwheel=None): """ Bundle the relevant parts of the Qt installation. Returns True if the LGPL applies to all bundled parts. """ @@ -113,7 +113,7 @@ lgpl = lgpl and metadata.lgpl metadata.bundle(name, target_qt_dir, self._qt_dir, platform_tag, - self.qt_version, ignore_missing) + self.qt_version, ignore_missing, subwheel) return lgpl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/packages/pyqt6.py new/pyqt_builder-1.16.4/pyqtbuild/bundle/packages/pyqt6.py --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/packages/pyqt6.py 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/packages/pyqt6.py 2024-06-21 17:28:00.000000000 +0200 @@ -17,6 +17,14 @@ VersionedMetadata(version=(6, 2, 0), qml=True), 'QtCore': ( + VersionedMetadata(version=(6, 7, 0), + other_lib_deps={ + 'linux': ('libicui18n.so.73', 'libicuuc.so.73', + 'libicudata.so.73')}, + translations=('qt_', 'qt_help', 'qtbase', 'qtconnectivity', + 'qtdeclarative', 'qtlocation', 'qtmultimedia', + 'qtquickcontrols2', 'qtserialport', 'qtwebsockets'), + excluded_plugins=('designer', 'qmltooling')), VersionedMetadata(version=(6, 2, 0), other_lib_deps={ 'linux': ('libicui18n.so.56', 'libicuuc.so.56', @@ -57,10 +65,27 @@ #'QtLocation': # VersionedMetadata(qml=True), - 'QtMultimedia': - VersionedMetadata(version=(6, 2, 0), + 'QtMultimedia': ( + VersionedMetadata(version=(6, 7, 1), lib_deps={'': ('QtMultimediaQuick', )}, + other_lib_deps={ + 'macos': ('libavcodec.60.dylib', 'libavformat.60.dylib', + 'libavutil.58.dylib', 'libswresample.4.dylib', + 'libswscale.7.dylib'), + 'win': ('avcodec-60.dll', 'avformat-60.dll', + 'avutil-58.dll', 'swresample-4.dll', + 'swscale-7.dll')}, + qml=True), + VersionedMetadata(version=(6, 7, 0), + lib_deps={'': ('QtMultimediaQuick', )}, + other_lib_deps={ + 'win': ('avcodec-60.dll', 'avformat-60.dll', + 'avutil-58.dll', 'swresample-4.dll', + 'swscale-7.dll')}, qml=True), + VersionedMetadata(version=(6, 2, 0), + lib_deps={'': ('QtMultimediaQuick', )}, + qml=True)), 'QtMultimediaWidgets': VersionedMetadata(version=(6, 2, 0)), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/packages/pyqt6_webengine.py new/pyqt_builder-1.16.4/pyqtbuild/bundle/packages/pyqt6_webengine.py --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/packages/pyqt6_webengine.py 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/packages/pyqt6_webengine.py 2024-06-21 17:28:00.000000000 +0200 @@ -23,7 +23,9 @@ "Enable QtWebEngineProcess to find it's resources.\n"), )}, others={ 'linux': ('resources', 'translations/qtwebengine_locales'), - 'win': ('resources', 'translations\\qtwebengine_locales')}), + 'win': ('resources', 'translations\\qtwebengine_locales')}, + subwheel_files={ + '': (('qtlib', 'QtWebEngineCore'), )}), 'QtWebEngineQuick': VersionedMetadata(version=(6, 2, 0), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_metadata.py new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_metadata.py --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_metadata.py 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_metadata.py 2024-06-21 17:28:00.000000000 +0200 @@ -21,7 +21,8 @@ def __init__(self, *, version=None, name=None, lib_deps=None, other_lib_deps=None, exes=None, files=None, others=None, dll=True, qml=False, qml_names=None, translations=None, - excluded_plugins=None, lgpl=True, legacy=False): + excluded_plugins=None, lgpl=True, legacy=False, + subwheel_files=None): """ Initialise the versioned bindings. """ self._version = version @@ -36,15 +37,16 @@ self._qml_names = qml_names self._translations = () if translations is None else translations self._excluded_plugins = excluded_plugins + self._subwheel_files = {} if subwheel_files is None else subwheel_files self.lgpl = lgpl self.legacy = legacy def bundle(self, name, target_qt_dir, qt_dir, platform_tag, qt_version, - ignore_missing): + ignore_missing, subwheel): """ Bundle part of Qt as defined by the meta-data. """ - verbose("Bundling {0}".format(name)) + verbose(f"Bundling {name}") if self._name is None: self._name = name @@ -65,11 +67,55 @@ if macos_thin_arch == 'arm64' and AbstractPackage.missing_executable('codesign'): raise UserException( "'codesign' from Xcode must be installed on your system") + # Bundle any sub-wheel files. + if subwheel is True: + for metadata_arch, subwheel_files in self._subwheel_files.items(): + if self._is_platform(metadata_arch, platform_tag): + # Bundle each file in the sub-wheel according to its type + # (either 'data', 'exe', 'lib' or 'qtlib'). + for file_type, file_name in subwheel_files: + if file_type == 'data': + self._bundle_file(file_name, target_qt_dir, qt_dir, + platform_tag, macos_thin_arch, + ignore_missing, might_be_code=False) + + elif file_type == 'exe': + self._bundle_exe(file_name, target_qt_dir, qt_dir, + qt_version, platform_tag, macos_thin_arch, + ignore_missing) + + elif file_type == 'lib': + self._bundle_library(file_name, target_qt_dir, + qt_dir, platform_tag, macos_thin_arch, + ignore_missing) + + elif file_type == 'qtlib': + self._bundle_qt_library(file_name, target_qt_dir, + qt_dir, qt_version, platform_tag, + macos_thin_arch, ignore_missing, + bundle_resources=False) + + # There is nothing else to do. + return + + skip_files = [] + + # Build the list of files to skip as they will be in the sub-wheel. + if subwheel is False: + for metadata_arch, subwheel_files in self._subwheel_files.items(): + if self._is_platform(metadata_arch, platform_tag): + for file_type, file_name in subwheel_files: + if file_type == 'qtlib': + file_name = self._impl_from_library(file_name, + platform_tag, qt_version) + + skip_files.append(file_name) # Bundle the Qt library that has been wrapped (if there is one). if self._dll: self._bundle_qt_library(self._name, target_qt_dir, qt_dir, - qt_version, platform_tag, macos_thin_arch, ignore_missing) + qt_version, platform_tag, macos_thin_arch, ignore_missing, + skip_files=skip_files) # Bundle any other dependent Qt libraries. for metadata_arch, libs in self._lib_deps.items(): @@ -77,7 +123,7 @@ for lib in libs: self._bundle_qt_library(lib, target_qt_dir, qt_dir, qt_version, platform_tag, macos_thin_arch, - ignore_missing) + ignore_missing, skip_files=skip_files) # Bundle any other libraries. lib_contents = None @@ -97,26 +143,19 @@ if fnmatch.fnmatch(qt_lib, lib): self._bundle_library(qt_lib, target_qt_dir, qt_dir, platform_tag, macos_thin_arch, - ignore_missing) + ignore_missing, skip_files=skip_files) else: self._bundle_library(lib, target_qt_dir, qt_dir, - platform_tag, macos_thin_arch, ignore_missing) + platform_tag, macos_thin_arch, ignore_missing, + skip_files=skip_files) # Bundle any executables. for metadata_arch, exes in self._exes.items(): if self._is_platform(metadata_arch, platform_tag): for exe in exes: - bundled_exe = self._bundle_file(exe, target_qt_dir, qt_dir, - platform_tag, macos_thin_arch, ignore_missing) - - if bundled_exe is not None: - if self._is_platform('linux', platform_tag): - self._fix_linux_executable(bundled_exe, qt_version) - elif self._is_platform('macos', platform_tag): - self._fix_macos_executable(bundled_exe, qt_version, - macos_thin_arch) - elif self._is_platform('win', platform_tag): - self._fix_win_executable(bundled_exe) + self._bundle_exe(exe, target_qt_dir, qt_dir, qt_version, + platform_tag, macos_thin_arch, ignore_missing, + skip_files=skip_files) # Bundle any QML files. if self._qml: @@ -127,7 +166,7 @@ for qml_subdir in qml_names: self._bundle_nondebug(os.path.join('qml', qml_subdir), target_qt_dir, qt_dir, platform_tag, macos_thin_arch, - ignore_missing) + ignore_missing, skip_files=skip_files) # Bundle any plugins. We haven't done the analysis of which plugins # belong to which package so we assume that only the QtCore package @@ -135,7 +174,7 @@ if self._excluded_plugins is not None: self._bundle_nondebug('plugins', target_qt_dir, qt_dir, platform_tag, macos_thin_arch, ignore_missing, - exclude=self._excluded_plugins) + skip_files=skip_files, exclude=self._excluded_plugins) # Bundle any translations: if self._translations: @@ -148,7 +187,7 @@ if qm.startswith(prefix): self._bundle_file(qm, target_tr_dir, tr_dir, platform_tag, macos_thin_arch, - ignore_missing, + ignore_missing, skip_files=skip_files, might_be_code=False) # Bundle any dynamically created files. @@ -167,7 +206,7 @@ for oth in others: self._bundle_file(oth, target_qt_dir, qt_dir, platform_tag, macos_thin_arch, ignore_missing, - might_be_code=False) + skip_files=skip_files, might_be_code=False) def is_applicable(self, qt_version): """ Returns True if this meta-data is applicable for a particular Qt @@ -178,7 +217,7 @@ @classmethod def _bundle_nondebug(cls, src_dir, target_qt_dir, qt_dir, platform_tag, - macos_thin_arch, ignore_missing, exclude=None): + macos_thin_arch, ignore_missing, skip_files=None, exclude=None): """ Bundle the non-debug contents of a directory. """ if exclude is None: @@ -202,15 +241,34 @@ cls._bundle_file( os.path.relpath(os.path.join(dirpath, name), qt_dir), target_qt_dir, qt_dir, platform_tag, macos_thin_arch, - ignore_missing) + ignore_missing, skip_files=skip_files) + + @classmethod + def _bundle_exe(cls, name, target_qt_dir, qt_dir, qt_version, platform_tag, + macos_thin_arch, ignore_missing, skip_files=None): + """ Bundle an executable. """ + + exe = cls._bundle_file(name, target_qt_dir, qt_dir, platform_tag, + macos_thin_arch, ignore_missing, skip_files=skip_files) + + if exe is not None: + if cls._is_platform('linux', platform_tag): + cls._fix_linux_executable(exe, qt_version) + elif cls._is_platform('macos', platform_tag): + cls._fix_macos_executable(exe, qt_version, macos_thin_arch) + elif cls._is_platform('win', platform_tag): + cls._fix_win_executable(exe) @staticmethod def _bundle_file(name, target_dir, src_dir, platform_tag, macos_thin_arch, - ignore_missing, ignore=None, might_be_code=True): + ignore_missing, skip_files=None, ignore=None, might_be_code=True): """ Bundle a file (or directory) and return the name of the installed file (or directory) or None if it was missing. """ + if skip_files is not None and name in skip_files: + return None + src = os.path.join(src_dir, name) dst = os.path.join(target_dir, name) @@ -243,30 +301,32 @@ @classmethod def _bundle_library(cls, name, target_qt_dir, qt_dir, platform_tag, - macos_thin_arch, ignore_missing, ignore=None): + macos_thin_arch, ignore_missing, skip_files=None, ignore=None): """ Bundle a library. """ cls._bundle_file(name, os.path.join(target_qt_dir, cls._get_qt_library_subdir(platform_tag)), cls._get_qt_library_dir(qt_dir, platform_tag), platform_tag, - macos_thin_arch, ignore_missing, ignore=ignore) + macos_thin_arch, ignore_missing, skip_files=skip_files, + ignore=ignore) @classmethod def _bundle_qt_library(cls, name, target_qt_dir, qt_dir, qt_version, - platform_tag, macos_thin_arch, ignore_missing): + platform_tag, macos_thin_arch, ignore_missing, skip_files=None, + bundle_resources=True): """ Bundle a Qt library. """ cls._bundle_library( cls._impl_from_library(name, platform_tag, qt_version), target_qt_dir, qt_dir, platform_tag, macos_thin_arch, - ignore_missing) + ignore_missing, skip_files=skip_files) - if cls._is_platform('macos', platform_tag): + if bundle_resources and cls._is_platform('macos', platform_tag): # Copy the Resources directory without the unnecessary .prl files. cls._bundle_library('{}.framework/Resources'.format(name), target_qt_dir, qt_dir, platform_tag, macos_thin_arch, - ignore_missing, + ignore_missing, skip_files=skip_files, ignore=lambda d, c: [f for f in c if f.endswith('.prl')]) @staticmethod diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_wheel.py new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_wheel.py --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_wheel.py 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_wheel.py 2024-07-12 18:06:49.000000000 +0200 @@ -14,7 +14,7 @@ def qt_wheel(package, qt_dir, build_tag, suffix, msvc_runtime, openssl, - openssl_dir, exclude, arch): + openssl_dir, exclude, arch, subwheel): """ Create a wheel containing the subset of a Qt installation required for a particular PyQt package. """ @@ -24,14 +24,12 @@ # Normalise the name of the package. package_name = package.replace('-', '_') - package_title = package_name.replace('_', '-') # Get the package object. package_factory = packages.__dict__.get(package_name) if package_factory is None: - raise UserException( - "'{0}' is not a supported package".format(package_title)) + raise UserException(f"'{package}' is not a supported package") package = package_factory(qt_dir) @@ -41,9 +39,12 @@ # Construct the tag. qt_arch = os.path.basename(qt_dir) - if qt_arch == 'gcc_64': - platform_tag = 'manylinux{}_x86_64'.format( - '_2_28' if package.qt_version[0] == 6 else '2014') + + if qt_arch in ('gcc_64', 'gcc_arm64'): + manylinux = '_2_28' if package.qt_version[0] == 6 else '2014' + wheel_arch = 'x86_64' if qt_arch == 'gcc_64' else 'aarch64' + platform_tag = f'manylinux{manylinux}_{wheel_arch}' + elif qt_arch in ('macos', 'clang_64'): if package.qt_version < (5, 15, 10) or (6, 0, 0) <= package.qt_version < (6, 2, 0): if arch is not None: @@ -64,8 +65,15 @@ sdk_version = '10_14' platform_tag = 'macosx_{}_{}'.format(sdk_version, subarch) + elif qt_arch.startswith('msvc'): - platform_tag = 'win_amd64' if qt_arch.endswith('_64') else 'win32' + if qt_arch.endswith('_64'): + platform_tag = 'win_amd64' + elif qt_arch.endswith('_arm64'): + platform_tag = 'win_arm64' + else: + platform_tag = 'win32' + else: raise UserException( "Qt architecture '{0}' is unsupported".format(qt_arch)) @@ -73,8 +81,24 @@ tag_parts = ['py3', 'none', platform_tag] tag = '-'.join(tag_parts) + package_title = package_name.replace('_', '-') + qt_version_suffix = '-Qt' + version_str[0] + + # Determine sub-wheel dependent values' + subwheel_full_name = f'{package_title}Subwheel{qt_version_suffix}' + + if subwheel is True: + package_full_name = subwheel_full_name + package_requires = '' + elif subwheel is False: + package_full_name = package_title + qt_version_suffix + package_requires = f'Requires-Dist: {subwheel_full_name} (=={version_str})\n' + else: + package_full_name = package_title + qt_version_suffix + package_requires = '' + # Construct the name of the wheel. - name_parts = [package_name + '_Qt' + version_str[0]] + name_parts = [package_full_name.replace('-', '_')] name_parts.append(version_str) distinfo_dir = '-'.join(name_parts) + '.dist-info' @@ -97,7 +121,7 @@ # Bundle the relevant parts of the Qt installation. target_qt_dir = package.get_target_qt_dir() lgpl = package.bundle_qt(target_qt_dir, platform_tag, exclude, - ignore_missing=True, bindings=False) + ignore_missing=True, bindings=False, subwheel=subwheel) if platform_tag in ('win32', 'win_amd64'): # Bundle the MSVC runtime if required. @@ -121,7 +145,9 @@ metadata = s.read() metadata = metadata.replace('@RB_PACKAGE@', package_title) - metadata = metadata.replace('@RB_MAJOR_VERSION@', version_str[0]) + metadata = metadata.replace('@RB_PACKAGE_NAME@', package_full_name) + metadata = metadata.replace('@RB_PACKAGE_REQUIRES@', + package_requires) metadata = metadata.replace('@RB_VERSION@', version_str) metadata = metadata.replace('@RB_LICENSE@', "LGPL v3" if lgpl else "GPL v3") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_wheel_distinfo/METADATA new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_wheel_distinfo/METADATA --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_wheel_distinfo/METADATA 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_wheel_distinfo/METADATA 2024-06-21 17:28:00.000000000 +0200 @@ -1,5 +1,5 @@ Metadata-Version: 2.1 -Name: @RB_PACKAGE@-Qt@RB_MAJOR_VERSION@ +Name: @RB_PACKAGE_NAME@ Version: @RB_VERSION@ Summary: The subset of a Qt installation needed by @RB_PACKAGE@. Home-page: https://www.riverbankcomputing.com/software/pyqt/ @@ -9,7 +9,7 @@ Platform: Linux Platform: macOS Platform: Windows - +@RB_PACKAGE_REQUIRES@ This package contains the subset of a Qt installation that is required by @RB_PACKAGE@. It would normally be installed automatically by pip when you install @RB_PACKAGE@. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_wheel_main.py new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_wheel_main.py --- old/pyqt_builder-1.16.1/pyqtbuild/bundle/qt_wheel_main.py 2024-04-21 01:31:59.000000000 +0200 +++ new/pyqt_builder-1.16.4/pyqtbuild/bundle/qt_wheel_main.py 2024-06-21 17:28:00.000000000 +0200 @@ -58,6 +58,12 @@ parser.add_argument(dest='packages', nargs=1, help="the PyQt package", metavar="PACKAGE") + parser.add_argument('--subwheel', choices=('generate', 'exclude'), + default=None, + help="generate the package's sub-wheel or exclude the sub-wheel " + "contents from the main wheel [default: generate a full " + "wheel]") + args = parser.parse_args() try: @@ -68,10 +74,18 @@ except AttributeError: arch = None + subwheel = args.subwheel + + if subwheel == 'generate': + subwheel = True + elif subwheel == 'exclude': + subwheel = False + qt_wheel(package=args.packages[0], qt_dir=args.qt_dir, build_tag=args.build_tag, suffix=args.suffix, msvc_runtime=args.msvc_runtime, openssl=args.openssl, - openssl_dir=args.openssl_dir, exclude=args.exclude, arch=arch) + openssl_dir=args.openssl_dir, exclude=args.exclude, arch=arch, + subwheel=subwheel) except Exception as e: handle_exception(e)