From 500af4875e900489c063f5de74caa3f4412d8daf Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Tue, 3 Nov 2026 22:02:12 +0100 Subject: [PATCH 1/9] [python3] Configure macOS arm64/x64 builds as native (Rosetta) --- ports/python3/portfile.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 99de3061..55c17b14 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -276,7 +276,15 @@ else() # The version of the build Python must match the version of the cross compiled host Python. # https://docs.python.org/3/using/configure.html#cross-compiling-options - if(VCPKG_CROSSCOMPILING) + if(VCPKG_CROSSCOMPILING AND VCPKG_TARGET_IS_OSX AND CMAKE_HOST_APPLE) + # macOS arm64 <-> x86_64: CPython's configure rejects "--host=x86_64-apple-darwin --build=aarch64-apple-darwin" + # ("cross build not supported"), but the target binaries run natively (Rosetta), so configure as a native build. + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(VCPKG_MAKE_BUILD_TRIPLET "--host=x86_64-apple-darwin" "--build=x86_64-apple-darwin") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-apple-darwin" "--build=aarch64-apple-darwin") + endif() + elseif(VCPKG_CROSSCOMPILING) set(_python_for_build "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") list(APPEND OPTIONS "--with-build-python=${_python_for_build}") endif() From 78e202ce178f324bc63e67ad8df568f243f4cdab Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 02:18:34 +0100 Subject: [PATCH 2/9] [vcpkg-python-scripts] Let a cross-compiled python import host build tools --- ports/vcpkg-python-scripts/vcpkg-port-config.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ports/vcpkg-python-scripts/vcpkg-port-config.cmake b/ports/vcpkg-python-scripts/vcpkg-port-config.cmake index 37e2c1b6..cc38d95b 100644 --- a/ports/vcpkg-python-scripts/vcpkg-port-config.cmake +++ b/ports/vcpkg-python-scripts/vcpkg-port-config.cmake @@ -6,4 +6,11 @@ set(PYTHON3_BASEDIR "${CURRENT_INSTALLED_DIR}/tools/python3") find_program(PYTHON3 NAMES python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR} python${PYTHON3_VERSION_MAJOR} python PATHS "${PYTHON3_BASEDIR}" NO_DEFAULT_PATH) set(PYTHON3_SITEPACKAGES "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}") +if(VCPKG_CROSSCOMPILING AND NOT CURRENT_HOST_INSTALLED_DIR STREQUAL CURRENT_INSTALLED_DIR) + # The build tools (gpep517, installer, setuptools, wheel, ...) are host dependencies, but PYTHON3 is the + # target interpreter. They are pure Python, so let the target interpreter import them from the host tree. + # Only works if the target interpreter can run on the build machine (e.g. x64 under Rosetta). + vcpkg_host_path_list(APPEND ENV{PYTHONPATH} "${CURRENT_HOST_INSTALLED_DIR}/${PYTHON3_SITE}") +endif() + include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_python_functions.cmake") From 7e463e7a2a469a1da168067ebd83fbd624d951e2 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 06:55:49 +0100 Subject: [PATCH 3/9] [python3] Do not use pipe2 on macOS --- ports/python3/portfile.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 55c17b14..6f3da8fb 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -252,6 +252,9 @@ else() ) if(VCPKG_TARGET_IS_OSX) list(APPEND OPTIONS "LIBS=-liconv -lintl") + # pipe2() is declared by the macOS 27 SDK but missing on older macOS; CPython 3.12 calls it unguarded, + # so os.pipe() (and subprocess) crashes with a NULL call when built with a newer SDK than the running OS. + list(APPEND OPTIONS "ac_cv_func_pipe2=no") endif() if("readline" IN_LIST FEATURES) From 25a9736e51ae2246a02fe3388a64ba57aca8c928 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 07:01:57 +0100 Subject: [PATCH 4/9] [py-pyqt6][py-pyqt6-webengine][py-qscintilla] Use a host qmake wrapper when cross-compiling --- ports/py-pyqt6-webengine/portfile.cmake | 3 ++- ports/py-pyqt6/portfile.cmake | 3 ++- ports/py-qscintilla/portfile.cmake | 3 ++- .../vcpkg_python_functions.cmake | 22 +++++++++++++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/ports/py-pyqt6-webengine/portfile.cmake b/ports/py-pyqt6-webengine/portfile.cmake index b2895cb3..9b3e0417 100644 --- a/ports/py-pyqt6-webengine/portfile.cmake +++ b/ports/py-pyqt6-webengine/portfile.cmake @@ -12,8 +12,9 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}") # https://www.riverbankcomputing.com/static/Docs/PyQt6/installation.html +vcpkg_python_get_qmake(QMAKE) set(SIPBUILD_ARGS - "--qmake" "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "--qmake" "${QMAKE}" "--api-dir" "${CURRENT_PACKAGES_DIR}/share/Qt6/qsci/api/python" "--verbose" "--no-make" diff --git a/ports/py-pyqt6/portfile.cmake b/ports/py-pyqt6/portfile.cmake index 470c1f00..cf077722 100644 --- a/ports/py-pyqt6/portfile.cmake +++ b/ports/py-pyqt6/portfile.cmake @@ -10,9 +10,10 @@ vcpkg_from_pythonhosted( ) # https://www.riverbankcomputing.com/static/Docs/PyQt6/installation.html +vcpkg_python_get_qmake(QMAKE) set(SIPBUILD_ARGS "--confirm-license" - "--qmake" "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "--qmake" "${QMAKE}" "--api-dir" "${CURRENT_PACKAGES_DIR}/share/Qt6/qsci/api/python" "--verbose" "--qt-shared" diff --git a/ports/py-qscintilla/portfile.cmake b/ports/py-qscintilla/portfile.cmake index b12ebbfe..5a0f4763 100644 --- a/ports/py-qscintilla/portfile.cmake +++ b/ports/py-qscintilla/portfile.cmake @@ -15,8 +15,9 @@ vcpkg_extract_source_archive( file(RENAME "${SOURCE_PATH}/Python/pyproject-qt5.toml" "${SOURCE_PATH}/Python/pyproject.toml") +vcpkg_python_get_qmake(QMAKE) set(SIPBUILD_ARGS - "--qmake" "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "--qmake" "${QMAKE}" "--api-dir" "${CURRENT_PACKAGES_DIR}/share/Qt6/qsci/api/python" "--qsci-features-dir" "${SOURCE_PATH}/src/features" "--qsci-include-dir" "${CURRENT_INSTALLED_DIR}/${PYTHON3_SITE}/PyQt6/bindings" diff --git a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake index 10737063..cdfa8a2f 100644 --- a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake +++ b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake @@ -44,6 +44,28 @@ function(vcpkg_from_pythonhosted) set("${arg_OUT_SOURCE_PATH}" "${SOURCE_PATH}" PARENT_SCOPE) endfunction() +# Returns the qmake to pass to sipbuild (--qmake). Normally that is the installed target qmake. When cross-compiling +# the target qmake is not installed (Qt's qmake/moc/... come from the host tree), so generate a wrapper which runs the +# host qmake against the target Qt, the same way vcpkg_qmake_configure does (-qtconf). +function(vcpkg_python_get_qmake out_var) + set(target_qmake "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}") + if(EXISTS "${target_qmake}") + set("${out_var}" "${target_qmake}" PARENT_SCOPE) + return() + endif() + set(host_qmake "${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}") + set(qt_conf_template "${CURRENT_INSTALLED_DIR}/tools/Qt6/qt_release.conf") + if(NOT VCPKG_CROSSCOMPILING OR NOT EXISTS "${host_qmake}" OR NOT EXISTS "${qt_conf_template}" OR CMAKE_HOST_WIN32) + message(FATAL_ERROR "No usable qmake: '${target_qmake}' is missing and a host qmake wrapper cannot be generated.") + endif() + set(wrapper_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-qmake") + file(MAKE_DIRECTORY "${wrapper_dir}") + configure_file("${qt_conf_template}" "${wrapper_dir}/qt.conf") + file(WRITE "${wrapper_dir}/qmake" "#!/bin/sh\nexec \"${host_qmake}\" -qtconf \"${wrapper_dir}/qt.conf\" \"$@\"\n") + file(CHMOD "${wrapper_dir}/qmake" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + set("${out_var}" "${wrapper_dir}/qmake" PARENT_SCOPE) +endfunction() + function(vcpkg_python_build_wheel) cmake_parse_arguments( PARSE_ARGV 0 From f98f6682b068e6e0b12efd2e6dddb4d019a63114 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 07:10:59 +0100 Subject: [PATCH 5/9] Bump port-version of changed ports --- ports/py-pyqt6-webengine/vcpkg.json | 1 + ports/py-pyqt6/vcpkg.json | 1 + ports/py-qscintilla/vcpkg.json | 2 +- ports/python3/vcpkg.json | 2 +- ports/vcpkg-python-scripts/vcpkg.json | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ports/py-pyqt6-webengine/vcpkg.json b/ports/py-pyqt6-webengine/vcpkg.json index 8391f217..f210066d 100644 --- a/ports/py-pyqt6-webengine/vcpkg.json +++ b/ports/py-pyqt6-webengine/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-pyqt6-webengine", "version": "6.11.0", + "port-version": 1, "description": "Python bindings for the Qt WebEngine framework", "homepage": "https://www.riverbankcomputing.com/software/pyqtwebengine/", "license": "GPL-3.0-only", diff --git a/ports/py-pyqt6/vcpkg.json b/ports/py-pyqt6/vcpkg.json index fb544d20..29a8242b 100644 --- a/ports/py-pyqt6/vcpkg.json +++ b/ports/py-pyqt6/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-pyqt6", "version": "6.12.0", + "port-version": 1, "description": "Python bindings for the Qt cross platform application toolkit", "homepage": "https://www.riverbankcomputing.com/software/pyqt/", "dependencies": [ diff --git a/ports/py-qscintilla/vcpkg.json b/ports/py-qscintilla/vcpkg.json index d85895be..9e214776 100644 --- a/ports/py-qscintilla/vcpkg.json +++ b/ports/py-qscintilla/vcpkg.json @@ -1,7 +1,7 @@ { "name": "py-qscintilla", "version": "2.14.1", - "port-version": 2, + "port-version": 3, "description": "Python bindings for QScintilla, which is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin)", "homepage": "https://www.riverbankcomputing.com/software/qscintilla", "license": "GPL-3.0-or-later", diff --git a/ports/python3/vcpkg.json b/ports/python3/vcpkg.json index 9829f20c..ed376d23 100644 --- a/ports/python3/vcpkg.json +++ b/ports/python3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "python3", "version": "3.12.11", - "port-version": 2, + "port-version": 3, "description": "The Python programming language", "homepage": "https://github.com/python/cpython", "license": "Python-2.0", diff --git a/ports/vcpkg-python-scripts/vcpkg.json b/ports/vcpkg-python-scripts/vcpkg.json index cf2fad9f..ede4ece5 100644 --- a/ports/vcpkg-python-scripts/vcpkg.json +++ b/ports/vcpkg-python-scripts/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vcpkg-python-scripts", "version-date": "2025-05-20", - "port-version": 2, + "port-version": 3, "documentation": "https://vcpkg.io/en/docs/README.html", "license": "MIT", "supports": "native", From 457d861b2d95f2778be05acd38a62c7aee724f07 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 07:30:51 +0100 Subject: [PATCH 6/9] [vcpkg-python-scripts] Use the target executable suffix for the target qmake --- ports/vcpkg-python-scripts/vcpkg_python_functions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake index cdfa8a2f..0db7181a 100644 --- a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake +++ b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake @@ -48,7 +48,7 @@ endfunction() # the target qmake is not installed (Qt's qmake/moc/... come from the host tree), so generate a wrapper which runs the # host qmake against the target Qt, the same way vcpkg_qmake_configure does (-qtconf). function(vcpkg_python_get_qmake out_var) - set(target_qmake "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}") + set(target_qmake "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_TARGET_EXECUTABLE_SUFFIX}") if(EXISTS "${target_qmake}") set("${out_var}" "${target_qmake}" PARENT_SCOPE) return() From 4a59fd75ac65e2c10ed112dd4df60265995daf34 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 07:31:20 +0100 Subject: [PATCH 7/9] Update versions database --- versions/baseline.json | 10 +++++----- versions/p-/py-pyqt6-webengine.json | 5 +++++ versions/p-/py-pyqt6.json | 5 +++++ versions/p-/py-qscintilla.json | 5 +++++ versions/p-/python3.json | 5 +++++ versions/v-/vcpkg-python-scripts.json | 5 +++++ 6 files changed, 30 insertions(+), 5 deletions(-) diff --git a/versions/baseline.json b/versions/baseline.json index 2589e39c..fa4a307b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -354,7 +354,7 @@ }, "py-pyqt6": { "baseline": "6.12.0", - "port-version": 0 + "port-version": 1 }, "py-pyqt6-sip": { "baseline": "13.13.0", @@ -362,7 +362,7 @@ }, "py-pyqt6-webengine": { "baseline": "6.11.0", - "port-version": 0 + "port-version": 1 }, "py-pysal": { "baseline": "26.7", @@ -390,7 +390,7 @@ }, "py-qscintilla": { "baseline": "2.14.1", - "port-version": 2 + "port-version": 3 }, "py-rasterio": { "baseline": "1.5.2", @@ -514,7 +514,7 @@ }, "python3": { "baseline": "3.12.11", - "port-version": 2 + "port-version": 3 }, "swig": { "baseline": "4.2.1", @@ -522,7 +522,7 @@ }, "vcpkg-python-scripts": { "baseline": "2025-05-20", - "port-version": 2 + "port-version": 3 }, "vcpkg-tool-mercurial": { "baseline": "2023-06-27", diff --git a/versions/p-/py-pyqt6-webengine.json b/versions/p-/py-pyqt6-webengine.json index a7b68734..4d9f2252 100644 --- a/versions/p-/py-pyqt6-webengine.json +++ b/versions/p-/py-pyqt6-webengine.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "261e09a090dfdf3b16a725d4b895a08c58a05c08", + "version": "6.11.0", + "port-version": 1 + }, { "git-tree": "05e2c5bf304ac60771fd42af377111ef8c8daa4c", "version": "6.11.0", diff --git a/versions/p-/py-pyqt6.json b/versions/p-/py-pyqt6.json index ed88f264..55a8aa20 100644 --- a/versions/p-/py-pyqt6.json +++ b/versions/p-/py-pyqt6.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c76eed01226bde016904b7d8b35ee5b86de6e9ef", + "version": "6.12.0", + "port-version": 1 + }, { "git-tree": "0f88e40dcd40be36c655c97db1535d702c749524", "version": "6.12.0", diff --git a/versions/p-/py-qscintilla.json b/versions/p-/py-qscintilla.json index 6d274061..5490f67d 100644 --- a/versions/p-/py-qscintilla.json +++ b/versions/p-/py-qscintilla.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ede30f1478a4f743313260ba20823311c14a2d02", + "version": "2.14.1", + "port-version": 3 + }, { "git-tree": "518ac4cc6a7c89ad11473f1dfea6ac68aa73d23f", "version": "2.14.1", diff --git a/versions/p-/python3.json b/versions/p-/python3.json index a97c723f..65f634c1 100644 --- a/versions/p-/python3.json +++ b/versions/p-/python3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7c787221734f3f8242b6cc7d4f6035a248e87e4b", + "version": "3.12.11", + "port-version": 3 + }, { "git-tree": "e579214e443fc91a8812b8c9691eb0691d7ac76a", "version": "3.12.11", diff --git a/versions/v-/vcpkg-python-scripts.json b/versions/v-/vcpkg-python-scripts.json index 111cd84f..3453d3cb 100644 --- a/versions/v-/vcpkg-python-scripts.json +++ b/versions/v-/vcpkg-python-scripts.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "91b78c42b682327e8ac1a589bd7225df920d456e", + "version-date": "2025-05-20", + "port-version": 3 + }, { "git-tree": "1d66b9cd87cf5aac568b9fb21621c77fb7eb2597", "version-date": "2025-05-20", From 159fd811db4f7af62eb24404ed72f6351de61586 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 15:21:09 +0100 Subject: [PATCH 8/9] [py-*] Depend on the target python3 --- ports/py-annotated-types/vcpkg.json | 2 ++ ports/py-certifi/vcpkg.json | 2 ++ ports/py-cppy/vcpkg.json | 3 ++- ports/py-kiwisolver/vcpkg.json | 2 ++ ports/py-packaging/vcpkg.json | 2 ++ ports/py-pillow/vcpkg.json | 2 ++ ports/py-pyproject-metadata/vcpkg.json | 2 ++ ports/py-scikit-build-core/vcpkg.json | 2 ++ ports/py-semantic-version/vcpkg.json | 3 ++- ports/py-setuptools-scm/vcpkg.json | 3 ++- ports/py-sip/vcpkg.json | 2 ++ ports/py-six/vcpkg.json | 3 ++- ports/py-tomli/vcpkg.json | 3 ++- ports/py-typing-extensions/vcpkg.json | 2 ++ ports/py-typing-inspection/vcpkg.json | 2 ++ ports/py-wheel/vcpkg.json | 2 ++ 16 files changed, 32 insertions(+), 5 deletions(-) diff --git a/ports/py-annotated-types/vcpkg.json b/ports/py-annotated-types/vcpkg.json index 7055a7b7..bc2be35e 100644 --- a/ports/py-annotated-types/vcpkg.json +++ b/ports/py-annotated-types/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-annotated-types", "version": "0.8.0", + "port-version": 1, "description": "Reusable constraints for Python types, using PEP 593 Annotated", "homepage": "https://github.com/pydantic/annotated-types", "license": null, @@ -13,6 +14,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-certifi/vcpkg.json b/ports/py-certifi/vcpkg.json index c18ecfa3..dcc50dfb 100755 --- a/ports/py-certifi/vcpkg.json +++ b/ports/py-certifi/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-certifi", "version-date": "2026-10-23", + "port-version": 1, "description": "A carefully curated collection of Root Certificates for validating the trustworthiness of SSL certificates while verifying the identity of TLS hosts.", "homepage": "https://github.com/certifi/python-certifi", "license": null, @@ -10,6 +11,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-cppy/vcpkg.json b/ports/py-cppy/vcpkg.json index e058567f..0c85aa5a 100755 --- a/ports/py-cppy/vcpkg.json +++ b/ports/py-cppy/vcpkg.json @@ -1,7 +1,7 @@ { "name": "py-cppy", "version": "1.2.1", - "port-version": 1, + "port-version": 2, "description": "A collection of C++ headers which make it easier to write Python C extension modules", "homepage": "https://cppy.readthedocs.io/en/latest/", "license": "BSD-3-Clause", @@ -10,6 +10,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-kiwisolver/vcpkg.json b/ports/py-kiwisolver/vcpkg.json index 83a80ff7..2e10bd79 100755 --- a/ports/py-kiwisolver/vcpkg.json +++ b/ports/py-kiwisolver/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-kiwisolver", "version": "1.5.1", + "port-version": 1, "description": "Efficient C++ implementation of the Cassowary constraint solving algorithm", "homepage": "https://kiwisolver.readthedocs.io/en/latest/", "license": null, @@ -10,6 +11,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-packaging/vcpkg.json b/ports/py-packaging/vcpkg.json index 1137fa02..bfe1806d 100644 --- a/ports/py-packaging/vcpkg.json +++ b/ports/py-packaging/vcpkg.json @@ -1,10 +1,12 @@ { "name": "py-packaging", "version": "26.3", + "port-version": 1, "description": "Core utilities for Python packages", "homepage": "https://packaging.pypa.io/", "license": "MIT", "dependencies": [ + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-pillow/vcpkg.json b/ports/py-pillow/vcpkg.json index 3aabdda8..6b3582bc 100755 --- a/ports/py-pillow/vcpkg.json +++ b/ports/py-pillow/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-pillow", "version": "13.0.0", + "port-version": 1, "description": "Python Imaging Library", "homepage": "https://python-pillow.org/", "license": null, @@ -28,6 +29,7 @@ "name": "pybind11", "host": true }, + "python3", "tiff", { "name": "vcpkg-python-scripts", diff --git a/ports/py-pyproject-metadata/vcpkg.json b/ports/py-pyproject-metadata/vcpkg.json index a2928e9d..13a28557 100755 --- a/ports/py-pyproject-metadata/vcpkg.json +++ b/ports/py-pyproject-metadata/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-pyproject-metadata", "version": "0.12.1", + "port-version": 1, "description": "PEP 621 metadata parsing", "homepage": "https://pep621.readthedocs.io/", "license": "MIT", @@ -9,6 +10,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-scikit-build-core/vcpkg.json b/ports/py-scikit-build-core/vcpkg.json index b0516c06..f170554f 100644 --- a/ports/py-scikit-build-core/vcpkg.json +++ b/ports/py-scikit-build-core/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-scikit-build-core", "version": "1.1.2", + "port-version": 1, "description": "A next generation Python CMake adaptor and Python API for plugins", "homepage": "https://scikit-build-core.readthedocs.io/", "license": "Apache-2.0", @@ -21,6 +22,7 @@ "name": "py-setuptools-scm", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-semantic-version/vcpkg.json b/ports/py-semantic-version/vcpkg.json index 9b7eadad..6a6e0654 100755 --- a/ports/py-semantic-version/vcpkg.json +++ b/ports/py-semantic-version/vcpkg.json @@ -1,7 +1,7 @@ { "name": "py-semantic-version", "version": "2.10.0", - "port-version": 1, + "port-version": 2, "description": "About Semantic version comparison for Python (see http://semver.org/)", "homepage": "https://python-markdown.github.io/", "license": "BSD-2-Clause", @@ -10,6 +10,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-setuptools-scm/vcpkg.json b/ports/py-setuptools-scm/vcpkg.json index d987c907..c3539f62 100755 --- a/ports/py-setuptools-scm/vcpkg.json +++ b/ports/py-setuptools-scm/vcpkg.json @@ -1,7 +1,7 @@ { "name": "py-setuptools-scm", "version": "9.2.2", - "port-version": 3, + "port-version": 4, "description": "the blessed package to manage your versions by scm tags", "homepage": "https://github.com/pypa/setuptools_scm", "license": "MIT", @@ -14,6 +14,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-get-python-packages", "host": true diff --git a/ports/py-sip/vcpkg.json b/ports/py-sip/vcpkg.json index 364b0739..a95fd9e6 100644 --- a/ports/py-sip/vcpkg.json +++ b/ports/py-sip/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-sip", "version": "6.17.2", + "port-version": 1, "description": "A tool that makes it easy to create Python bindings for C and C++ libraries", "homepage": "https://www.riverbankcomputing.com/software/sip", "dependencies": [ @@ -8,6 +9,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-six/vcpkg.json b/ports/py-six/vcpkg.json index 0fae6c26..28ab7fe4 100755 --- a/ports/py-six/vcpkg.json +++ b/ports/py-six/vcpkg.json @@ -1,7 +1,7 @@ { "name": "py-six", "version": "1.17.0", - "port-version": 1, + "port-version": 2, "description": "Python 2 and 3 compatibility library ", "homepage": "https://github.com/benjaminp/six", "license": null, @@ -10,6 +10,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-tomli/vcpkg.json b/ports/py-tomli/vcpkg.json index a3da4966..a4cbc873 100755 --- a/ports/py-tomli/vcpkg.json +++ b/ports/py-tomli/vcpkg.json @@ -1,11 +1,12 @@ { "name": "py-tomli", "version": "2.0.1", - "port-version": 2, + "port-version": 3, "description": "A simple, correct Python build frontend ", "homepage": "https://github.com/hukkin/tomli", "license": "MIT", "dependencies": [ + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-typing-extensions/vcpkg.json b/ports/py-typing-extensions/vcpkg.json index 714455fb..8873c5aa 100755 --- a/ports/py-typing-extensions/vcpkg.json +++ b/ports/py-typing-extensions/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-typing-extensions", "version": "4.16.0", + "port-version": 1, "description": "Backported and experimental type hints for Python", "homepage": "https://github.com/python/typing_extensions", "license": null, @@ -9,6 +10,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-typing-inspection/vcpkg.json b/ports/py-typing-inspection/vcpkg.json index 7e641fd4..d7da19ed 100644 --- a/ports/py-typing-inspection/vcpkg.json +++ b/ports/py-typing-inspection/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-typing-inspection", "version": "0.4.3", + "port-version": 1, "description": "Runtime typing introspection tools", "homepage": "https://github.com/pydantic/typing-inspection", "license": null, @@ -9,6 +10,7 @@ "name": "py-setuptools", "host": true }, + "python3", { "name": "vcpkg-python-scripts", "host": true diff --git a/ports/py-wheel/vcpkg.json b/ports/py-wheel/vcpkg.json index fff0e992..0eca47b7 100644 --- a/ports/py-wheel/vcpkg.json +++ b/ports/py-wheel/vcpkg.json @@ -1,10 +1,12 @@ { "name": "py-wheel", "version": "0.48.0", + "port-version": 1, "description": "The official binary distribution format for Python", "homepage": "https://github.com/pypa/wheel", "license": "MIT", "dependencies": [ + "python3", { "name": "vcpkg-python-scripts", "host": true From 35524a5a76b90f3cbbc33dd1b4d83bc4ed94d159 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Wed, 4 Nov 2026 15:21:16 +0100 Subject: [PATCH 9/9] Update versions database --- versions/baseline.json | 32 +++++++++++++------------- versions/p-/py-annotated-types.json | 5 ++++ versions/p-/py-certifi.json | 5 ++++ versions/p-/py-cppy.json | 5 ++++ versions/p-/py-kiwisolver.json | 5 ++++ versions/p-/py-packaging.json | 5 ++++ versions/p-/py-pillow.json | 5 ++++ versions/p-/py-pyproject-metadata.json | 5 ++++ versions/p-/py-scikit-build-core.json | 5 ++++ versions/p-/py-semantic-version.json | 5 ++++ versions/p-/py-setuptools-scm.json | 5 ++++ versions/p-/py-sip.json | 5 ++++ versions/p-/py-six.json | 5 ++++ versions/p-/py-tomli.json | 5 ++++ versions/p-/py-typing-extensions.json | 5 ++++ versions/p-/py-typing-inspection.json | 5 ++++ versions/p-/py-wheel.json | 5 ++++ 17 files changed, 96 insertions(+), 16 deletions(-) diff --git a/versions/baseline.json b/versions/baseline.json index fa4a307b..78a317a6 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -30,7 +30,7 @@ }, "py-annotated-types": { "baseline": "0.8.0", - "port-version": 0 + "port-version": 1 }, "py-attrs": { "baseline": "26.1.0", @@ -66,7 +66,7 @@ }, "py-certifi": { "baseline": "2026-10-23", - "port-version": 0 + "port-version": 1 }, "py-cffi": { "baseline": "2.1.1", @@ -90,7 +90,7 @@ }, "py-cppy": { "baseline": "1.2.1", - "port-version": 1 + "port-version": 2 }, "py-cryptography": { "baseline": "50.0.2", @@ -202,7 +202,7 @@ }, "py-kiwisolver": { "baseline": "1.5.1", - "port-version": 0 + "port-version": 1 }, "py-lazy-loader": { "baseline": "0.6", @@ -258,7 +258,7 @@ }, "py-packaging": { "baseline": "26.3", - "port-version": 0 + "port-version": 1 }, "py-pandas": { "baseline": "3.1.0", @@ -270,7 +270,7 @@ }, "py-pillow": { "baseline": "13.0.0", - "port-version": 0 + "port-version": 1 }, "py-pip": { "baseline": "26.3", @@ -346,7 +346,7 @@ }, "py-pyproject-metadata": { "baseline": "0.12.1", - "port-version": 0 + "port-version": 1 }, "py-pyqt-builder": { "baseline": "1.21.0", @@ -418,7 +418,7 @@ }, "py-scikit-build-core": { "baseline": "1.1.2", - "port-version": 0 + "port-version": 1 }, "py-scikit-learn": { "baseline": "1.9.1", @@ -430,7 +430,7 @@ }, "py-semantic-version": { "baseline": "2.10.0", - "port-version": 1 + "port-version": 2 }, "py-setuptools": { "baseline": "84.2.1", @@ -442,7 +442,7 @@ }, "py-setuptools-scm": { "baseline": "9.2.2", - "port-version": 3 + "port-version": 4 }, "py-shapely": { "baseline": "2.2.0", @@ -450,11 +450,11 @@ }, "py-sip": { "baseline": "6.17.2", - "port-version": 0 + "port-version": 1 }, "py-six": { "baseline": "1.17.0", - "port-version": 1 + "port-version": 2 }, "py-sspilib": { "baseline": "0.6.0", @@ -466,7 +466,7 @@ }, "py-tomli": { "baseline": "2.0.1", - "port-version": 2 + "port-version": 3 }, "py-trove-classifiers": { "baseline": "2026.9.21.13", @@ -474,11 +474,11 @@ }, "py-typing-extensions": { "baseline": "4.16.0", - "port-version": 0 + "port-version": 1 }, "py-typing-inspection": { "baseline": "0.4.3", - "port-version": 0 + "port-version": 1 }, "py-tzdata": { "baseline": "2026.6", @@ -502,7 +502,7 @@ }, "py-wheel": { "baseline": "0.48.0", - "port-version": 0 + "port-version": 1 }, "py-wrapt": { "baseline": "2.5.2", diff --git a/versions/p-/py-annotated-types.json b/versions/p-/py-annotated-types.json index d28c8f2a..af345c0e 100644 --- a/versions/p-/py-annotated-types.json +++ b/versions/p-/py-annotated-types.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3dec2d080216046f9d7a8ddc12030772c2983d15", + "version": "0.8.0", + "port-version": 1 + }, { "git-tree": "0ec37fab5e03e8754f64f32b0208ec3de5d209be", "version": "0.8.0", diff --git a/versions/p-/py-certifi.json b/versions/p-/py-certifi.json index d8f972e4..310957b2 100644 --- a/versions/p-/py-certifi.json +++ b/versions/p-/py-certifi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "47545105f9f287afaaa6a6db2d24f6a80897aa6b", + "version-date": "2026-10-23", + "port-version": 1 + }, { "git-tree": "432f40006c321ee66d95cc4643afca3bb428eb5a", "version-date": "2026-10-23", diff --git a/versions/p-/py-cppy.json b/versions/p-/py-cppy.json index e0966c37..874308fd 100644 --- a/versions/p-/py-cppy.json +++ b/versions/p-/py-cppy.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d16bdff89908b4d579365c85b9ac5f5c6e39e019", + "version": "1.2.1", + "port-version": 2 + }, { "git-tree": "5473fc8b110dda2bb0acc0a845c7d90331d9b67e", "version": "1.2.1", diff --git a/versions/p-/py-kiwisolver.json b/versions/p-/py-kiwisolver.json index 9f37d4f3..6e120a79 100644 --- a/versions/p-/py-kiwisolver.json +++ b/versions/p-/py-kiwisolver.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bd0fc067ed87baed39fbe9ae6a42133cb8d1dc6e", + "version": "1.5.1", + "port-version": 1 + }, { "git-tree": "d481dfb4d5c9eb61deca4638254c5e50aeb7a065", "version": "1.5.1", diff --git a/versions/p-/py-packaging.json b/versions/p-/py-packaging.json index cb5abc55..5b7a936c 100644 --- a/versions/p-/py-packaging.json +++ b/versions/p-/py-packaging.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1fc93f1b5ee0e7ca87c9d4dbf1bc0378c88a3952", + "version": "26.3", + "port-version": 1 + }, { "git-tree": "f1adbd7c7de1c1c43290d42baf44879866a1c0b6", "version": "26.3", diff --git a/versions/p-/py-pillow.json b/versions/p-/py-pillow.json index d3683631..b846264f 100644 --- a/versions/p-/py-pillow.json +++ b/versions/p-/py-pillow.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c4595f1cbedcc1a703323f07c602096d0ec974fb", + "version": "13.0.0", + "port-version": 1 + }, { "git-tree": "943af6151f3a6735a0a5a35cb4ebb80084a73d4a", "version": "13.0.0", diff --git a/versions/p-/py-pyproject-metadata.json b/versions/p-/py-pyproject-metadata.json index 513aeed2..110ef0b7 100644 --- a/versions/p-/py-pyproject-metadata.json +++ b/versions/p-/py-pyproject-metadata.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "242036c6daa9b99a97e77037a2f3dc2684e3ded5", + "version": "0.12.1", + "port-version": 1 + }, { "git-tree": "baca52eee344dafdee23f7f6923e6cf189fd4b71", "version": "0.12.1", diff --git a/versions/p-/py-scikit-build-core.json b/versions/p-/py-scikit-build-core.json index a64eadd2..f83bca2d 100644 --- a/versions/p-/py-scikit-build-core.json +++ b/versions/p-/py-scikit-build-core.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "595dac667203542cb2f4a6b12ab7f09f57865025", + "version": "1.1.2", + "port-version": 1 + }, { "git-tree": "4a63ec22d7112a9089b4630c22a21da8e2653dfc", "version": "1.1.2", diff --git a/versions/p-/py-semantic-version.json b/versions/p-/py-semantic-version.json index 63cfce93..35341409 100644 --- a/versions/p-/py-semantic-version.json +++ b/versions/p-/py-semantic-version.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "827e04f70dabf1997d32de464cb1a59ba161ea79", + "version": "2.10.0", + "port-version": 2 + }, { "git-tree": "63e2abbb942ce09f2285c49e1fbacf1ab624fb37", "version": "2.10.0", diff --git a/versions/p-/py-setuptools-scm.json b/versions/p-/py-setuptools-scm.json index dfaf607c..43630dc1 100644 --- a/versions/p-/py-setuptools-scm.json +++ b/versions/p-/py-setuptools-scm.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1dba6905f6473a668920af16201b5f6ed1de658b", + "version": "9.2.2", + "port-version": 4 + }, { "git-tree": "fcc86bafeaa2f00f7d805f4e68df150422e6eb93", "version": "9.2.2", diff --git a/versions/p-/py-sip.json b/versions/p-/py-sip.json index 1d407adb..2c2fbb84 100644 --- a/versions/p-/py-sip.json +++ b/versions/p-/py-sip.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e43c6d485f41d6ddec76cda07fdeececfa12431a", + "version": "6.17.2", + "port-version": 1 + }, { "git-tree": "9d881b0c4940c80f9e2b0532eac9f50876f9d4f5", "version": "6.17.2", diff --git a/versions/p-/py-six.json b/versions/p-/py-six.json index 02c97098..3860a018 100644 --- a/versions/p-/py-six.json +++ b/versions/p-/py-six.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c7f448d8ca5aeb2a6874205d4b0db70539090382", + "version": "1.17.0", + "port-version": 2 + }, { "git-tree": "ae13104ecd517cc062b224ff0e666396d4b2837b", "version": "1.17.0", diff --git a/versions/p-/py-tomli.json b/versions/p-/py-tomli.json index 4ef70d48..69b4e171 100644 --- a/versions/p-/py-tomli.json +++ b/versions/p-/py-tomli.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2e9414bc4648451d172a24323ef999e8a562d05b", + "version": "2.0.1", + "port-version": 3 + }, { "git-tree": "a6b530fe8ba99dca0208a9089ab98788b18b3abe", "version": "2.0.1", diff --git a/versions/p-/py-typing-extensions.json b/versions/p-/py-typing-extensions.json index 75921911..c82b0ce2 100644 --- a/versions/p-/py-typing-extensions.json +++ b/versions/p-/py-typing-extensions.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "594d86b592624950093cc582b71b78db2e1dd52a", + "version": "4.16.0", + "port-version": 1 + }, { "git-tree": "e72166adcafe7f8f2bd01a876556de031c54b3e1", "version": "4.16.0", diff --git a/versions/p-/py-typing-inspection.json b/versions/p-/py-typing-inspection.json index ad0e3544..bfcea2e6 100644 --- a/versions/p-/py-typing-inspection.json +++ b/versions/p-/py-typing-inspection.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0b5465b86d892c0df2288bfbfe77fbf5f321db0f", + "version": "0.4.3", + "port-version": 1 + }, { "git-tree": "a8dfa8e8404f30ac90706a27c3a680b5f51000cc", "version": "0.4.3", diff --git a/versions/p-/py-wheel.json b/versions/p-/py-wheel.json index ff6c9fd3..2f298fae 100644 --- a/versions/p-/py-wheel.json +++ b/versions/p-/py-wheel.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c8b8241ec465a2bd76c57e78d1822a57099142cd", + "version": "0.48.0", + "port-version": 1 + }, { "git-tree": "c8037f2bdcd244bf55a7c16ee5a0418265f5c916", "version": "0.48.0",