Skip to content

Commit 92bc898

Browse files
authored
Merge branch 'main' into binaryops_shift
2 parents 06900f5 + 24aa562 commit 92bc898

575 files changed

Lines changed: 28278 additions & 8515 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ Include/internal/pycore_uop_ids.h generated
8484
Include/internal/pycore_uop_metadata.h generated
8585
Include/opcode.h generated
8686
Include/opcode_ids.h generated
87+
Include/slots_generated.h generated
8788
Include/token.h generated
8889
Lib/_opcode_metadata.py generated
8990
Lib/idlelib/help.html generated
@@ -99,7 +100,6 @@ Lib/token.py generated
99100
Misc/sbom.spdx.json generated
100101
Modules/_testinternalcapi/test_cases.c.h generated
101102
Modules/_testinternalcapi/test_targets.h generated
102-
Objects/typeslots.inc generated
103103
PC/python3dll.c generated
104104
Parser/parser.c generated
105105
Parser/token.c generated
@@ -110,6 +110,7 @@ Python/generated_cases.c.h generated
110110
Python/optimizer_cases.c.h generated
111111
Python/opcode_targets.h generated
112112
Python/record_functions.c.h generated
113+
Python/slots_generated.c generated
113114
Python/stdlib_module_names.h generated
114115
Tools/peg_generator/pegen/grammar_parser.py generated
115116
aclocal.m4 generated

.github/workflows/build.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -278,13 +278,14 @@ jobs:
278278
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
279279
# supported by important vendors such as AWS-LC.
280280
- { name: openssl, version: 1.1.1w }
281-
- { name: openssl, version: 3.0.19 }
282-
- { name: openssl, version: 3.3.6 }
283-
- { name: openssl, version: 3.4.4 }
284-
- { name: openssl, version: 3.5.5 }
285-
- { name: openssl, version: 3.6.1 }
281+
- { name: openssl, version: 3.0.20 }
282+
- { name: openssl, version: 3.3.7 }
283+
- { name: openssl, version: 3.4.5 }
284+
- { name: openssl, version: 3.5.6 }
285+
- { name: openssl, version: 3.6.2 }
286+
- { name: openssl, version: 4.0.0 }
286287
## AWS-LC
287-
- { name: aws-lc, version: 1.68.0 }
288+
- { name: aws-lc, version: 1.72.1 }
288289
env:
289290
SSLLIB_VER: ${{ matrix.ssllib.version }}
290291
MULTISSL_DIR: ${{ github.workspace }}/multissl
@@ -398,7 +399,7 @@ jobs:
398399
needs: build-context
399400
if: needs.build-context.outputs.run-ubuntu == 'true'
400401
env:
401-
OPENSSL_VER: 3.5.5
402+
OPENSSL_VER: 3.5.6
402403
PYTHONSTRICTEXTENSIONBUILD: 1
403404
steps:
404405
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -506,7 +507,7 @@ jobs:
506507
matrix:
507508
os: [ubuntu-24.04]
508509
env:
509-
OPENSSL_VER: 3.5.5
510+
OPENSSL_VER: 3.5.6
510511
PYTHONSTRICTEXTENSIONBUILD: 1
511512
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
512513
steps:

.github/workflows/documentation-links.yml

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

.github/workflows/posix-deps-apt.sh

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,16 @@ apt-get -yq --no-install-recommends install \
2626
xvfb \
2727
zlib1g-dev
2828

29-
# Workaround missing libmpdec-dev on ubuntu 24.04:
30-
# https://launchpad.net/~ondrej/+archive/ubuntu/php
31-
# https://deb.sury.org/
32-
sudo add-apt-repository ppa:ondrej/php
33-
apt-get update
34-
apt-get -yq --no-install-recommends install libmpdec-dev
29+
# Workaround missing libmpdec-dev on ubuntu 24.04 by building mpdecimal
30+
# from source. ppa:ondrej/php (launchpad.net) are unreliable
31+
# (https://status.canonical.com) so fetch the tarball directly
32+
# from the upstream host.
33+
# https://www.bytereef.org/mpdecimal/
34+
MPDECIMAL_VERSION=4.0.1
35+
curl -fsSL "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-${MPDECIMAL_VERSION}.tar.gz" \
36+
| tar -xz -C /tmp
37+
(cd "/tmp/mpdecimal-${MPDECIMAL_VERSION}" \
38+
&& ./configure --prefix=/usr/local \
39+
&& make -j"$(nproc)" \
40+
&& make install)
41+
ldconfig

.github/workflows/reusable-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
with:
5757
python-version: '3'
5858
cache: 'pip'
59-
cache-dependency-path: 'Doc/requirements.txt'
59+
cache-dependency-path: 'Doc/pylock.toml'
6060
- name: 'Install build dependencies'
6161
run: make -C Doc/ venv
6262

.github/workflows/reusable-ubuntu.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
runs-on: ${{ inputs.os }}
3636
timeout-minutes: 60
3737
env:
38-
OPENSSL_VER: 3.5.5
38+
OPENSSL_VER: 3.5.6
3939
PYTHONSTRICTEXTENSIONBUILD: 1
4040
TERM: linux
4141
steps:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ Tools/unicode/data/
140140
/.ccache
141141
/cross-build*/
142142
/jit_stencils*.h
143+
/jit_unwind_info*.h
144+
.jit-stamp
143145
/platform
144146
/profile-clean-stamp
145147
/profile-run-stamp

Doc/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ JOBS = auto
1313
PAPER =
1414
SOURCES =
1515
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)
16-
REQUIREMENTS = requirements.txt
16+
REQUIREMENTS = pylock.toml
1717
SPHINXERRORHANDLING = --fail-on-warning
1818

1919
# Internal variables.

Doc/c-api/concrete.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ Other Objects
112112
picklebuffer.rst
113113
weakref.rst
114114
capsule.rst
115+
sentinel.rst
115116
frame.rst
116117
gen.rst
117118
coro.rst

Doc/c-api/extension-modules.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Extension export hook
3838

3939
The export hook must be an exported function with the following signature:
4040

41-
.. c:function:: PyModuleDef_Slot *PyModExport_modulename(void)
41+
.. c:function:: PySlot *PyModExport_modulename(void)
4242
4343
For modules with ASCII-only names, the :ref:`export hook <extension-export-hook>`
4444
must be named :samp:`PyModExport_{<name>}`,
@@ -57,7 +57,7 @@ Python's *punycode* encoding with hyphens replaced by underscores. In Python:
5757
suffix = b'U_' + name.encode('punycode').replace(b'-', b'_')
5858
return b'PyModExport' + suffix
5959
60-
The export hook returns an array of :c:type:`PyModuleDef_Slot` entries,
60+
The export hook returns an array of :c:type:`PySlot` entries,
6161
terminated by an entry with a slot ID of ``0``.
6262
These slots describe how the module should be created and initialized.
6363

@@ -75,20 +75,20 @@ It is recommended to define the export hook function using a helper macro:
7575
Declare an extension module export hook.
7676
This macro:
7777

78-
* specifies the :c:expr:`PyModuleDef_Slot*` return type,
78+
* specifies the :c:expr:`PySlot*` return type,
7979
* adds any special linkage declarations required by the platform, and
8080
* for C++, declares the function as ``extern "C"``.
8181

8282
For example, a module called ``spam`` would be defined like this::
8383

8484
PyABIInfo_VAR(abi_info);
8585

86-
static PyModuleDef_Slot spam_slots[] = {
87-
{Py_mod_abi, &abi_info},
88-
{Py_mod_name, "spam"},
89-
{Py_mod_init, spam_init_function},
86+
static PySlot spam_slots[] = {
87+
PySlot_STATIC_DATA(Py_mod_abi, &abi_info),
88+
PySlot_STATIC_DATA(Py_mod_name, "spam"),
89+
PySlot_FUNC(Py_mod_init, spam_init_function),
9090
...
91-
{0, NULL},
91+
PySlot_END
9292
};
9393

9494
PyMODEXPORT_FUNC

0 commit comments

Comments
 (0)