[neon/forks/pyqt-builder/Neon/release] /: New upstream version 1.19.0+dfsg

Dmitry Shachnev null at kde.org
Wed Dec 3 06:33:47 GMT 2025


Git commit 0aa06f59e99c2e3bb997de54700feae2fcf4f667 by Dmitry Shachnev.
Committed on 10/10/2025 at 21:00.
Pushed by carlosdem into branch 'Neon/release'.

New upstream version 1.19.0+dfsg

M  +1    -1    docs/conf.py
M  +18   -0    docs/releases.md
M  +6    -2    pyqtbuild/builder.py
M  +16   -7    pyqtbuild/bundle/bundle.py
M  +3    -1    pyqtbuild/bundle/qt_wheel.py

https://invent.kde.org/neon/forks/pyqt-builder/-/commit/0aa06f59e99c2e3bb997de54700feae2fcf4f667

diff --git a/docs/conf.py b/docs/conf.py
index c4f4862..e7ebdbd 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -13,7 +13,7 @@ project = 'PyQt-builder'
 copyright = '{0} Phil Thompson <phil at riverbankcomputing.com>'.format(
         date.today().year)
 author = 'Phil Thompson'
-version = 'v1.18.2'
+version = 'v1.19.0'
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/docs/releases.md b/docs/releases.md
index 9519acd..7dd640d 100644
--- a/docs/releases.md
+++ b/docs/releases.md
@@ -1,5 +1,23 @@
 # Release Notes
 
+## v1.19.0
+
+### Support for Qt v6.10
+
+The Qt v6.10.0 installation for Linux on Intel created by the online
+installer was built using Red Hat Linux v9.4.  This means that glibc v2.34
+is now required.  Earlier versions of Qt required glibc v2.28.  The
+`manylinux` wheel tags that are generated now reflect the revised
+dependency.
+
+### `pyqt-bundle` support for lower case wheel names
+
+`pyqt-bundle` now properly handles lower case wheel names as well as the
+legacy mixed case names.
+
+Resolves [#33](https://github.com/Python-PyQt/PyQt-builder/issues/33)
+
+
 ## v1.18.2
 
 ### `pyproject.toml` now conforms to PEP 639
diff --git a/pyqtbuild/builder.py b/pyqtbuild/builder.py
index bc65517..b4b38c0 100644
--- a/pyqtbuild/builder.py
+++ b/pyqtbuild/builder.py
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 
-# Copyright (c) 2024 Phil Thompson <phil at riverbankcomputing.com>
+# Copyright (c) 2025 Phil Thompson <phil at riverbankcomputing.com>
 
 
 import os
@@ -103,9 +103,13 @@ class QmakeBuilder(Builder):
                 if self.qt_version >= 0x060000:
                     from platform import processor
 
-                    # The arm64 build is based on Ubuntu 24.04 specifically.
                     if processor() == 'aarch64':
+                        # The arm64 build is based on Ubuntu 24.04.
                         project.minimum_glibc_version = '2.39'
+                    elif self.qt_version >= 0x060a00:
+                        # The Qt v6.10 installer seems to be based on Ubuntu
+                        # 22.04 or similar.
+                        project.minimum_glibc_version = '2.34'
                     else:
                         project.minimum_glibc_version = '2.28'
                 else:
diff --git a/pyqtbuild/bundle/bundle.py b/pyqtbuild/bundle/bundle.py
index 166db0e..caa4117 100644
--- a/pyqtbuild/bundle/bundle.py
+++ b/pyqtbuild/bundle/bundle.py
@@ -10,6 +10,7 @@ import shutil
 from sipbuild import UserException
 
 from . import packages
+from .abstract_package import AbstractPackage
 from .verbose import verbose
 from .wheel import create_wheel, unpack_wheel, write_record_file
 
@@ -50,15 +51,23 @@ def bundle(wheel_path, qt_dir, build_tag_suffix, msvc_runtime, openssl,
                     "'{0}' is not supported by {1}".format(arch, wheel_name))
 
     # Get the package object.
-    sub_parts = parts[0].split('_')
-    if sub_parts[-1] == 'commercial':
-        sub_parts.pop()
+    package_title = parts[0]
+    if package_title.endswith('_commercial'):
+        package_title = package_title[:-11]
 
-    package_name = '_'.join(sub_parts)
-    package_title = package_name.replace('_', '-')
-    package_factory = packages.__dict__.get(package_name)
+    package_name = package_title.lower()
 
-    if package_factory is None:
+    # Look for the factory corresponding to the normalised package name.
+    for key, value in packages.__dict__.items():
+        # This is the name of an intermediate class so explicity exclude it.
+        # It can only happen if the user has been changing the wheel names.
+        if key == 'PyQt':
+            continue
+
+        if key.lower() == package_name and isinstance(value, type) and issubclass(value, AbstractPackage):
+            package_factory = value
+            break
+    else:
         raise UserException(
                 "'{0}' is not a supported package".format(package_title))
 
diff --git a/pyqtbuild/bundle/qt_wheel.py b/pyqtbuild/bundle/qt_wheel.py
index d7d180d..a15daaf 100644
--- a/pyqtbuild/bundle/qt_wheel.py
+++ b/pyqtbuild/bundle/qt_wheel.py
@@ -47,7 +47,9 @@ def qt_wheel(package, qt_dir, build_tag, suffix, msvc_runtime, openssl,
         else:
             wheel_arch = 'x86_64'
 
-            if package.qt_version >= (6, 0, 0):
+            if package.qt_version >= (6, 10, 0):
+                manylinux = '_2_34'
+            elif package.qt_version >= (6, 0, 0):
                 manylinux = '_2_28'
             else:
                 manylinux = '2014'



More information about the Neon-commits mailing list