Skip to content

Commit 4c3dfd8

Browse files
authored
Bump to CPython 3.14.0b3 (#663)
1 parent 45f514c commit 4c3dfd8

File tree

3 files changed

+20
-35
lines changed

3 files changed

+20
-35
lines changed

cpython-unix/build-cpython.sh

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,6 @@ else
9090
patch -p1 -i ${ROOT}/patch-xopen-source-ios-legacy.patch
9191
fi
9292

93-
# See https://github.com/python/cpython/pull/135146
94-
# TODO(zanieb): Drop in 3.14b3
95-
if [ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" ]; then
96-
patch -p1 -i ${ROOT}/patch-static-remote-debug-3.14.patch
97-
fi
98-
9993
# LIBTOOL_CRUFT is unused and breaks cross-compiling on macOS. Nuke it.
10094
# Submitted upstream at https://github.com/python/cpython/pull/101048.
10195
if [ -n "${PYTHON_MEETS_MAXIMUM_VERSION_3_11}" ]; then
@@ -485,7 +479,9 @@ if [ -n "${CPYTHON_OPTIMIZED}" ]; then
485479
fi
486480

487481
# Respect CFLAGS during JIT compilation.
488-
# Backports https://github.com/python/cpython/pull/134276
482+
#
483+
# Backports https://github.com/python/cpython/pull/134276 which we're trying to get released
484+
# in 3.14, but is currently only in 3.15+.
489485
if [ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" ]; then
490486
patch -p1 -i ${ROOT}/patch-jit-cflags-314.patch
491487
elif [ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_13}" ]; then
@@ -653,8 +649,19 @@ fi
653649
# We patched configure.ac above. Reflect those changes.
654650
autoconf
655651

656-
# Ensure `CFLAGS` are propagated to JIT compilation for 3.13+
657-
CFLAGS=$CFLAGS CPPFLAGS=$CFLAGS CFLAGS_JIT=$CFLAGS LDFLAGS=$LDFLAGS \
652+
# Ensure `CFLAGS` are propagated to JIT compilation for 3.13+ (note this variable has no effect on
653+
# 3.12 and earlier)
654+
CFLAGS_JIT="${CFLAGS}"
655+
656+
# In 3.14+, the JIT compiler on x86-64 Linux uses a model that conflicts with `-fPIC`, so strip it
657+
# from the flags. See:
658+
# - https://github.com/python/cpython/issues/135690
659+
# - https://github.com/python/cpython/pull/130097
660+
if [[ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" && "${TARGET_TRIPLE}" == x86_64* ]]; then
661+
CFLAGS_JIT="${CFLAGS_JIT//-fPIC/}"
662+
fi
663+
664+
CFLAGS=$CFLAGS CPPFLAGS=$CFLAGS CFLAGS_JIT=$CFLAGS_JIT LDFLAGS=$LDFLAGS \
658665
./configure ${CONFIGURE_FLAGS}
659666

660667
# Supplement produced Makefile with our modifications.

cpython-unix/patch-static-remote-debug-3.14.patch

Lines changed: 0 additions & 22 deletions
This file was deleted.

pythonbuild/downloads.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,10 @@
8282
"python_tag": "cp313",
8383
},
8484
"cpython-3.14": {
85-
"url": "https://www.python.org/ftp/python/3.14.0/Python-3.14.0b2.tar.xz",
86-
"size": 23579860,
87-
"sha256": "7ac9e84844bbc0a5a8f1f79a37a68b3b8caf2a58b4aa5999c49227cb36e70ea6",
88-
"version": "3.14.0b2",
85+
"url": "https://www.python.org/ftp/python/3.14.0/Python-3.14.0b3.tar.xz",
86+
"size": 23626928,
87+
"sha256": "c6f48bf51f01f50d87007a445dd7afe4a4c7a87ab482570be924c1ddfd0d3682",
88+
"version": "3.14.0b3",
8989
"licenses": ["Python-2.0", "CNRI-Python"],
9090
"license_file": "LICENSE.cpython.txt",
9191
"python_tag": "cp314",

0 commit comments

Comments
 (0)