python3.13: patch sync (#25521)
This commit is contained in:
parent
15aa5ed06c
commit
9314e76d93
25
mingw-w64-python3.13/0177-Work-around-broken-pc-file.patch
Normal file
25
mingw-w64-python3.13/0177-Work-around-broken-pc-file.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From f50419ac79ae94969e43d5bd1c6eb2ed63767099 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||||
|
Date: Thu, 11 Sep 2025 18:10:59 +0200
|
||||||
|
Subject: [PATCH 177/N] Work around broken pc file
|
||||||
|
|
||||||
|
https://github.com/python/cpython/issues/138800
|
||||||
|
---
|
||||||
|
configure.ac | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 4745388..62a9dcd 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -6748,6 +6748,10 @@ LIBPYTHON=''
|
||||||
|
if test "$PY_ENABLE_SHARED" = "1" && ( test -n "$ANDROID_API_LEVEL" || test "$MACHDEP" = "cygwin" || test "$MACHDEP" = "win32"); then
|
||||||
|
MODULE_DEPS_SHARED="$MODULE_DEPS_SHARED \$(LDLIBRARY)"
|
||||||
|
LIBPYTHON="\$(BLDLIBRARY)"
|
||||||
|
+ LIBPYTHON="$BLDLIBRARY"
|
||||||
|
+ LIBPYTHON=$(echo "$LIBPYTHON" | sed "s/\$(LDVERSION)/$LDVERSION/g")
|
||||||
|
+ LIBPYTHON=$(echo "$LIBPYTHON" | sed "s/\$(VERSION)/$VERSION/g")
|
||||||
|
+ LIBPYTHON=$(echo "$LIBPYTHON" | sed "s/\$(ABIFLAGS)/$ABIFLAGS/g")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# On iOS the shared libraries must be linked with the Python framework
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
From c6263a43cc719a507632c005a75fe065c5c0501d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||||
|
Date: Sat, 13 Sep 2025 15:27:31 +0200
|
||||||
|
Subject: [PATCH 178/N] restore versioned launchers in venv + cleanup
|
||||||
|
|
||||||
|
---
|
||||||
|
Lib/venv/__init__.py | 13 +++++++++++--
|
||||||
|
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py
|
||||||
|
index 79a5fdf..e85c1e1 100644
|
||||||
|
--- a/Lib/venv/__init__.py
|
||||||
|
+++ b/Lib/venv/__init__.py
|
||||||
|
@@ -376,8 +376,18 @@ class EnvBuilder:
|
||||||
|
f'pythonw{exe_t}{exe_d}.exe': pythonw_exe,
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if sys._is_mingw:
|
||||||
|
+ for key, value in list(link_sources.items()):
|
||||||
|
+ if key.startswith('python'):
|
||||||
|
+ link_sources[key.replace('python', 'python3')] = value
|
||||||
|
+ link_sources[key.replace('python', f'python3.{sys.version_info[1]}')] = value
|
||||||
|
+ for key, value in list(copy_sources.items()):
|
||||||
|
+ if key.startswith('python'):
|
||||||
|
+ copy_sources[key.replace('python', 'python3')] = value
|
||||||
|
+ copy_sources[key.replace('python', f'python3.{sys.version_info[1]}')] = value
|
||||||
|
+
|
||||||
|
do_copies = True
|
||||||
|
- if self.symlinks and not 'mingw' in sys.version.lower():
|
||||||
|
+ if self.symlinks and not sys._is_mingw:
|
||||||
|
do_copies = False
|
||||||
|
# For symlinking, we need all the DLLs to be available alongside
|
||||||
|
# the executables.
|
||||||
|
@@ -437,7 +447,6 @@ class EnvBuilder:
|
||||||
|
env['VIRTUAL_ENV'] = context.env_dir
|
||||||
|
env.pop('PYTHONHOME', None)
|
||||||
|
env.pop('PYTHONPATH', None)
|
||||||
|
- env.pop("MSYSTEM", None)
|
||||||
|
kwargs['cwd'] = context.env_dir
|
||||||
|
kwargs['executable'] = context.env_exec_cmd
|
||||||
|
subprocess.check_output(args, **kwargs)
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
From 631f439a474a5ef20bc0bdf91a305589cac091db Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||||
|
Date: Sat, 13 Sep 2025 15:59:04 +0200
|
||||||
|
Subject: [PATCH 179/N] tests: try to skip differently
|
||||||
|
|
||||||
|
---
|
||||||
|
mingw_ignorefile.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/mingw_ignorefile.txt b/mingw_ignorefile.txt
|
||||||
|
index 163ead1..30d126e 100644
|
||||||
|
--- a/mingw_ignorefile.txt
|
||||||
|
+++ b/mingw_ignorefile.txt
|
||||||
|
@@ -50,4 +50,4 @@ test.test_venv.BasicTest.test_upgrade_dependencies
|
||||||
|
test.test_venv.BasicTest.test_venvwlauncher
|
||||||
|
test.test_venv.EnsurePipTest.test_explicit_no_pip
|
||||||
|
test.test_venv.EnsurePipTest.test_no_pip_by_default
|
||||||
|
-test.test_multiprocessing_spawn.test_manager
|
||||||
|
+test.test_multiprocessing_spawn.test_manager.WithManagerTestMyManager.*
|
||||||
52
mingw-w64-python3.13/0180-soabi-fixes.patch
Normal file
52
mingw-w64-python3.13/0180-soabi-fixes.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From 367e3543d3d6310051adc9cf8a43f0eb4f437566 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||||
|
Date: Sat, 13 Sep 2025 17:55:15 +0200
|
||||||
|
Subject: [PATCH 180/N] soabi fixes
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 17 ++++++++++-------
|
||||||
|
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 62a9dcd..2cc8b0a 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -6705,7 +6705,7 @@ AC_MSG_CHECKING([ABIFLAGS])
|
||||||
|
AC_MSG_RESULT([$ABIFLAGS])
|
||||||
|
AC_MSG_CHECKING([SOABI])
|
||||||
|
case $host_os in
|
||||||
|
- mingw*) SOABI='cp'`echo $VERSION | tr -d .`;;
|
||||||
|
+ mingw*) SOABI='cp'`echo $VERSION | tr -d .`${ABI_THREAD}-${PYD_PLATFORM_TAG};;
|
||||||
|
*) SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${SOABI_PLATFORM:+-$SOABI_PLATFORM};;
|
||||||
|
esac
|
||||||
|
AC_MSG_RESULT([$SOABI])
|
||||||
|
@@ -6716,7 +6716,7 @@ if test "$Py_DEBUG" = 'true'; then
|
||||||
|
# Similar to SOABI but remove "d" flag from ABIFLAGS
|
||||||
|
AC_SUBST([ALT_SOABI])
|
||||||
|
case $host_os in
|
||||||
|
- mingw*) ALT_SOABI='cp'`echo $VERSION | tr -d .`;;
|
||||||
|
+ mingw*) ALT_SOABI='cp'`echo $VERSION | tr -d .`${ABI_THREAD}-${PYD_PLATFORM_TAG};;
|
||||||
|
*) ALT_SOABI='cpython-'`echo $VERSION | tr -d .``echo $ABIFLAGS | tr -d d`${SOABI_PLATFORM:+-$SOABI_PLATFORM};;
|
||||||
|
esac
|
||||||
|
AC_DEFINE_UNQUOTED([ALT_SOABI], ["${ALT_SOABI}"],
|
||||||
|
@@ -6724,12 +6724,15 @@ if test "$Py_DEBUG" = 'true'; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST([EXT_SUFFIX])
|
||||||
|
-VERSION_NO_DOTS=$(echo $LDVERSION | tr -d .)
|
||||||
|
-if test -n "${PYD_PLATFORM_TAG}"; then
|
||||||
|
- EXT_SUFFIX="${ABIFLAGS}.cp${VERSION_NO_DOTS}-${PYD_PLATFORM_TAG}${SHLIB_SUFFIX}"
|
||||||
|
-else
|
||||||
|
- EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX}
|
||||||
|
+
|
||||||
|
+PYD_DEBUG_SUFFIX=""
|
||||||
|
+if test "$Py_DEBUG" = "true"; then
|
||||||
|
+ PYD_DEBUG_SUFFIX="_d"
|
||||||
|
fi
|
||||||
|
+case $host_os in
|
||||||
|
+ mingw*) EXT_SUFFIX=${PYD_DEBUG_SUFFIX}.${SOABI}${SHLIB_SUFFIX};;
|
||||||
|
+ *) EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
|
||||||
|
+esac
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([LDVERSION])
|
||||||
|
LDVERSION='$(VERSION)$(ABIFLAGS)'
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
From f12c612b07fc35e693d704b28011e6b6934bbb28 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||||
|
Date: Sat, 13 Sep 2025 17:59:54 +0200
|
||||||
|
Subject: [PATCH 181/N] smoketests: add test for soabi fix
|
||||||
|
|
||||||
|
---
|
||||||
|
mingw_smoketests.py | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/mingw_smoketests.py b/mingw_smoketests.py
|
||||||
|
index 18db3b5..3e6533a 100644
|
||||||
|
--- a/mingw_smoketests.py
|
||||||
|
+++ b/mingw_smoketests.py
|
||||||
|
@@ -221,9 +221,11 @@ class Tests(unittest.TestCase):
|
||||||
|
self.assertEqual(sys.implementation.name, "cpython")
|
||||||
|
self.assertEqual(sys.platform, "win32")
|
||||||
|
self.assertTrue(sysconfig.get_platform().startswith("mingw"))
|
||||||
|
- self.assertTrue(sysconfig.get_config_var('SOABI').startswith("cp" + f'{sys.version_info.major}{sys.version_info.minor}'))
|
||||||
|
+ soabi = sysconfig.get_config_var('SOABI')
|
||||||
|
+ self.assertTrue(soabi.startswith("cp" + f'{sys.version_info.major}{sys.version_info.minor}'))
|
||||||
|
ext_suffix = sysconfig.get_config_var('EXT_SUFFIX')
|
||||||
|
abiflags = sysconfig.get_config_var('ABIFLAGS')
|
||||||
|
+ self.assertTrue("." + soabi + "." in ext_suffix)
|
||||||
|
self.assertTrue(ext_suffix.endswith(".pyd"))
|
||||||
|
self.assertTrue("mingw" in ext_suffix)
|
||||||
|
self.assertEqual(sysconfig.get_config_var('SHLIB_SUFFIX'), ".pyd")
|
||||||
21
mingw-w64-python3.13/0182-install-versioned-pythonw.patch
Normal file
21
mingw-w64-python3.13/0182-install-versioned-pythonw.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
From b649b8523923260b8a733f829df649ec94a69cf4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||||
|
Date: Sun, 14 Sep 2025 10:09:11 +0200
|
||||||
|
Subject: [PATCH 182/N] install versioned pythonw
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile.pre.in | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||||
|
index a87606e..7cbedbe 100644
|
||||||
|
--- a/Makefile.pre.in
|
||||||
|
+++ b/Makefile.pre.in
|
||||||
|
@@ -2254,6 +2254,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
|
||||||
|
if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
|
||||||
|
$(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
|
||||||
|
$(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python3w$(ABIFLAGS)$(EXE); \
|
||||||
|
+ $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python$(LDVERSION)w$(EXE); \
|
||||||
|
$(INSTALL_PROGRAM) $(BUILDVENVLAUNCHER) $(DESTDIR)$(VENVLAUNCHERDIR)/$(BUILDVENVLAUNCHER); \
|
||||||
|
$(INSTALL_PROGRAM) $(BUILDVENVWLAUNCHER) $(DESTDIR)$(VENVLAUNCHERDIR)/$(BUILDVENVWLAUNCHER); \
|
||||||
|
else \
|
||||||
@ -23,7 +23,7 @@ else
|
|||||||
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}${_pybasever}")
|
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}${_pybasever}")
|
||||||
fi
|
fi
|
||||||
pkgver=${_pybasever}.7
|
pkgver=${_pybasever}.7
|
||||||
pkgrel=2
|
pkgrel=3
|
||||||
pkgdesc="A high-level scripting language (mingw-w64)"
|
pkgdesc="A high-level scripting language (mingw-w64)"
|
||||||
arch=('any')
|
arch=('any')
|
||||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
||||||
@ -232,7 +232,13 @@ source=("https://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz
|
|||||||
0173-Try-fix-64-bit-time-support-for-32-bit-build-again.patch
|
0173-Try-fix-64-bit-time-support-for-32-bit-build-again.patch
|
||||||
0174-Do-ne-sys-module-flags-underscored.patch
|
0174-Do-ne-sys-module-flags-underscored.patch
|
||||||
0175-Fix-new-variable-name-using.patch
|
0175-Fix-new-variable-name-using.patch
|
||||||
0176-Add-test-that-fail-time-to-time.patch)
|
0176-Add-test-that-fail-time-to-time.patch
|
||||||
|
0177-Work-around-broken-pc-file.patch
|
||||||
|
0178-restore-versioned-launchers-in-venv-cleanup.patch
|
||||||
|
0179-tests-try-to-skip-differently.patch
|
||||||
|
0180-soabi-fixes.patch
|
||||||
|
0181-smoketests-add-test-for-soabi-fix.patch
|
||||||
|
0182-install-versioned-pythonw.patch)
|
||||||
|
|
||||||
# Helper macros to help make tasks easier #
|
# Helper macros to help make tasks easier #
|
||||||
apply_patch_with_msg() {
|
apply_patch_with_msg() {
|
||||||
@ -421,7 +427,13 @@ prepare() {
|
|||||||
0173-Try-fix-64-bit-time-support-for-32-bit-build-again.patch \
|
0173-Try-fix-64-bit-time-support-for-32-bit-build-again.patch \
|
||||||
0174-Do-ne-sys-module-flags-underscored.patch \
|
0174-Do-ne-sys-module-flags-underscored.patch \
|
||||||
0175-Fix-new-variable-name-using.patch \
|
0175-Fix-new-variable-name-using.patch \
|
||||||
0176-Add-test-that-fail-time-to-time.patch
|
0176-Add-test-that-fail-time-to-time.patch \
|
||||||
|
0177-Work-around-broken-pc-file.patch \
|
||||||
|
0178-restore-versioned-launchers-in-venv-cleanup.patch \
|
||||||
|
0179-tests-try-to-skip-differently.patch \
|
||||||
|
0180-soabi-fixes.patch \
|
||||||
|
0181-smoketests-add-test-for-soabi-fix.patch \
|
||||||
|
0182-install-versioned-pythonw.patch
|
||||||
|
|
||||||
autoreconf -vfi
|
autoreconf -vfi
|
||||||
}
|
}
|
||||||
@ -702,4 +714,10 @@ sha256sums=('5462f9099dfd30e238def83c71d91897d8caa5ff6ebc7a50f14d4802cdaaa79a'
|
|||||||
'125d7ff9f40bb002af657be94075aad9baf07d0e76882c401f18ebc6a67b313c'
|
'125d7ff9f40bb002af657be94075aad9baf07d0e76882c401f18ebc6a67b313c'
|
||||||
'4f47b2b045c8dbcbc104b2be46026c5264a56f63359dc488c159c06438f080ae'
|
'4f47b2b045c8dbcbc104b2be46026c5264a56f63359dc488c159c06438f080ae'
|
||||||
'ae382a101cd938d4a238e39b54516f04fc89c40fb36f5316a185a947ec00fbbe'
|
'ae382a101cd938d4a238e39b54516f04fc89c40fb36f5316a185a947ec00fbbe'
|
||||||
'3192e4b3db5d382245ae6af07d46e8395ce6586755ca0ca06a63d0bc8ca3c436')
|
'3192e4b3db5d382245ae6af07d46e8395ce6586755ca0ca06a63d0bc8ca3c436'
|
||||||
|
'5ab7b2b056b86e269a1a954c72dbd88c4faaa35fda4d1fd6efc6d63d5557cd36'
|
||||||
|
'219eb248f0ad08b2843488b1d7e2752c77c4cad49c35750aa92d388d80f36a29'
|
||||||
|
'4e844d076a23dcba9ececf221ed6ed01e8e7edaf17630022186df235ded25236'
|
||||||
|
'2640e5776300b28a31385d38cfff6a3170cafdac0ead7938bf5582c02cee602f'
|
||||||
|
'54652e002b9be4ad212fd5dbcac8a1eae9ad86467aaa0fbaf60981697669b14e'
|
||||||
|
'73724ba0227f868ea6907978bc7bd204814311a2ede7ad0ce6ae3d2cbedc6fd0')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user