Skip to content

Commit d2abf66

Browse files
committed
Merge branch 'main' into pr/1575
2 parents 3bd48ee + 57d246f commit d2abf66

File tree

15 files changed

+83
-75
lines changed

15 files changed

+83
-75
lines changed

docker/Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ RUN export AUTOMAKE_ROOT=automake-1.17 && \
5555
manylinux-entrypoint /build_scripts/install-automake.sh
5656

5757
COPY build_scripts/install-libtool.sh /build_scripts/
58-
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
59-
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
58+
RUN export LIBTOOL_ROOT=libtool-2.5.3 && \
59+
export LIBTOOL_HASH=9322bd8f6bc848fda3e385899dd1934957169652acef716d19d19d24053abb95 && \
6060
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
6161
manylinux-entrypoint /build_scripts/install-libtool.sh
6262

@@ -132,15 +132,15 @@ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.10
132132

133133
FROM build_cpython AS build_cpython312
134134
COPY build_scripts/cpython-pubkey-312-313.txt /build_scripts/cpython-pubkeys.txt
135-
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.12.6
135+
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.12.7
136136

137137
FROM build_cpython AS build_cpython313
138138
COPY build_scripts/cpython-pubkey-312-313.txt /build_scripts/cpython-pubkeys.txt
139-
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.13.0rc2
139+
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.13.0rc3
140140

141141
FROM build_cpython AS build_cpython313_nogil
142142
COPY build_scripts/cpython-pubkey-312-313.txt /build_scripts/cpython-pubkeys.txt
143-
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.13.0rc2 nogil
143+
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.13.0rc3 nogil
144144

145145

146146
FROM runtime_base

docker/build_scripts/finalize-one.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ if [ "${PY_IMPL}" == "graalpy" ]; then
2727
# GraalPy doesn't update pip/setuptools because it uses a patched version of pip/setuptools
2828
${PREFIX}/bin/python -m ensurepip --default-pip
2929
${PREFIX}/bin/python -m pip install -U --require-hashes -r ${MY_DIR}/requirements${PY_VER}.txt
30-
elif [ -f /usr/local/bin/python${PY_VER} ]; then
30+
elif [ -f /usr/local/bin/cpython${PY_VER} ]; then
3131
# Use the already intsalled cpython pip to bootstrap pip if available
32-
/usr/local/bin/python${PY_VER} -m pip --python ${PREFIX}/bin/python install -U --require-hashes -r ${MY_DIR}/requirements${PY_VER}.txt
32+
/usr/local/bin/cpython${PY_VER} -m pip --python ${PREFIX}/bin/python install -U --require-hashes -r ${MY_DIR}/requirements${PY_VER}.txt
3333
else
3434
${PREFIX}/bin/python -m ensurepip
3535
${PREFIX}/bin/python -m pip install -U --require-hashes -r ${MY_DIR}/requirements${PY_VER}.txt
@@ -40,8 +40,14 @@ fi
4040
# Create a symlink to PREFIX using the ABI_TAG in /opt/python/
4141
ABI_TAG=$(${PREFIX}/bin/python ${MY_DIR}/python-tag-abi-tag.py)
4242
ln -s ${PREFIX} /opt/python/${ABI_TAG}
43+
4344
# Make versioned python commands available directly in environment.
45+
# Don't use symlinks: c.f. https://github.com/python/cpython/issues/106045
46+
cat <<EOF > /usr/local/bin/${PY_IMPL}${PY_VER}${PY_GIL}
47+
#!/bin/sh
48+
exec /opt/python/${ABI_TAG}/bin/python "\$@"
49+
EOF
50+
chmod +x /usr/local/bin/${PY_IMPL}${PY_VER}${PY_GIL}
4451
if [[ "${PY_IMPL}" == "cpython" ]]; then
45-
ln -s ${PREFIX}/bin/python /usr/local/bin/python${PY_VER}${PY_GIL}
52+
ln -s ${PY_IMPL}${PY_VER}${PY_GIL} /usr/local/bin/python${PY_VER}${PY_GIL}
4653
fi
47-
ln -s ${PREFIX}/bin/python /usr/local/bin/${PY_IMPL}${PY_VER}${PY_GIL}

docker/build_scripts/finalize.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ source $MY_DIR/build_utils.sh
1111

1212
# most people don't need libpython*.a, and they're many megabytes.
1313
# compress them all together for best efficiency
14-
pushd /opt/_internal
15-
XZ_OPT=-9e tar -cJf static-libs-for-embedding-only.tar.xz cpython-*/lib/libpython*.a
16-
popd
14+
if [ $(find /opt/_internal -path '/opt/_internal/cpython-*/lib/libpython*.a' | wc -l) -ne 0 ]; then
15+
pushd /opt/_internal
16+
XZ_OPT=-9e tar -cJf static-libs-for-embedding-only.tar.xz cpython-*/lib/libpython*.a
17+
popd
18+
fi
1719
find /opt/_internal -name '*.a' -print0 | xargs -0 rm -f
1820

1921
# disable some pip warnings
@@ -25,7 +27,7 @@ export PIP_CACHE_DIR=/tmp/pip_cache
2527

2628
# update package, create symlinks for each python
2729
mkdir /opt/python
28-
for PREFIX in $(find /opt/_internal/ -mindepth 1 -maxdepth 1 \( -name 'cpython*' -o -name 'pypy*' \)); do
30+
for PREFIX in $(find /opt/_internal/ -mindepth 1 -maxdepth 1 -name 'cpython*'); do
2931
${MY_DIR}/finalize-one.sh ${PREFIX}
3032
done
3133

@@ -81,8 +83,7 @@ pipx upgrade-shared --pip-args="--no-index --find-links=/tmp/pinned-wheels"
8183
for TOOL_PATH in $(find ${MY_DIR}/requirements-tools -type f); do
8284
TOOL=$(basename ${TOOL_PATH})
8385
case ${AUDITWHEEL_PLAT}-${TOOL} in
84-
musllinux*_armv7l-swig) apk add --no-cache swig;;
85-
musllinux*_armv7l-cmake) apk add --no-cache cmake;;
86+
musllinux*_armv7l-cmake|musllinux*_armv7l-swig) apk add --no-cache ${TOOL};;
8687
musllinux*_s390x-uv) continue;; # uv doesn't provide musl s390x wheels due to Rust issues
8788
*) pipx install --pip-args="--require-hashes -r ${TOOL_PATH} --only-binary" ${TOOL};;
8889
esac
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# This file was autogenerated by uv via the following command:
22
# nox -s update_python_dependencies
3-
cmake==3.30.3 \
4-
--hash=sha256:1616e2806c4c85e21fd0b6e92a61d41cb47479b5305bfa6f0c00baacfd029d7d \
5-
--hash=sha256:1ca7e29f5952634274d33ec1cb0cd9ddb79cb0b09cc3887b55d24c9852eed9d0 \
6-
--hash=sha256:30c2cdf8a863573a5fd7bf39159fbb96e75ac1955e481d35e5295ac601ea23af \
7-
--hash=sha256:3b41b0fbf3b449dd387c71444c9eb7f23e9a8061554bbf8fd8157ee355427220 \
8-
--hash=sha256:592cfcf280570713b8743bf8a8dec3753e0b82a7791d7d79f5ddb4f2be8b48b8 \
9-
--hash=sha256:6e294e3f424175b085809f713dd7ee36edd36b6b8a579911ef90359d8f884658 \
10-
--hash=sha256:81e5dc3103a4c6594d3efdf652e21e21d610e264f0c489ebefa3db04b1cdd2bc \
11-
--hash=sha256:870ebf590fb2f7cc58c8aa5b4dc32b50d4ca9c2fb9f1e46cd0426a995a2ef71e \
12-
--hash=sha256:8cc4c67432cca5e7a24a74eb102bc0472581a71231e58c224e544373dcb147a7 \
13-
--hash=sha256:a5ac1157eaa1e95bd67f11bd6ebc6f85b42ce6f2aac7b93d28dd84a5230be55b \
14-
--hash=sha256:a9e14118824992313bd0e2b3b86d9c85d7883c39b784199ea755fc32aeeb9e81 \
15-
--hash=sha256:ba26cb3c19f5b4cb83787394647a5dafbd2922a6de4af39409d7d287536a617f \
16-
--hash=sha256:c015d02e5f25973b66b66a060d3ad8c1c382cf38ba7b09712770d9de50b67b80 \
17-
--hash=sha256:c98cf8980ed75dd15be9948da559a51ce4cd0f017fc44969a72dcd37f507fa61 \
18-
--hash=sha256:ca990748d1a1d778a1a31cc1e33dcb01f2ed6fb0a752e945ff9e2d5435cff191 \
19-
--hash=sha256:e0fd7746f8895ec54e20c5d5dcc76a42256483e1f4736050264a180a13f9f8ef \
20-
--hash=sha256:fc5fba153bd0255adb246f27358d98db597a62264b61970d32038f9c7f355a70
3+
cmake==3.30.4 \
4+
--hash=sha256:08466455fbac67287a4868819ae0e0ab16d60c02eb209ae5e6d70e0e35d0e601 \
5+
--hash=sha256:0a223c62cfeebcb7b90f715c16bb2e83ee37e8c3e676efde83b094d62c278ec2 \
6+
--hash=sha256:0a5929e21af39a3adf4058aea54aa2197198e06315ebad541dda0baf20e2b32b \
7+
--hash=sha256:13bd1afa2e9988973f18c2425823081a044929e80685731601f093ff673d2db7 \
8+
--hash=sha256:1b8a4b0e638ddbabd16cad8b053b5a66733ddaf652dc3d46d55b3887314022fe \
9+
--hash=sha256:2825874fb84bd9d05c40b1a4347366d9949c9f6bac7a9ace97ac7faf9d573b8b \
10+
--hash=sha256:2d128d0831924788c1e87d6ca9abe4594e2ccde718712b0fa2c8c3a99b0d1282 \
11+
--hash=sha256:2d6367a438c11f0863c9cdea843acd09514e94534ce0d115bc8f7905aaff243d \
12+
--hash=sha256:8a1a30125213c3d44b81a1af0085ad1dcd77abc61bcdf330556e83898428198a \
13+
--hash=sha256:969af8432a17168e5b88e2efba11e5e14b7ca38aa638975b7ce1b19044c5183f \
14+
--hash=sha256:9f69b3706ae93fa48762871bdc7cb759fbbbadb04452e5eab820537c35fabcb6 \
15+
--hash=sha256:a08e9a987be5da69941f4a26dd7614fcbb5039394821fbcce9716c20a1571c0c \
16+
--hash=sha256:a8f3160cc2b362c0ba03d70300a36bca5a58e1f82c345f4f54a4da7f59b7b2b4 \
17+
--hash=sha256:d2ab1018a42e03cf2e843f9565bc2ff7465a1a66c1cbfaba30d494a5e26f763e \
18+
--hash=sha256:e4cc37735bdc7ba058abdddd3f94ac9dc32cae0f94ae68661565b39f64a9a22f \
19+
--hash=sha256:e9808d3744e57c6fd71d93e2ca95142d67578a13a8867f7e8b000f343799899f \
20+
--hash=sha256:fedd88495e742a1316078c283c2b4c2eeac4c34eca3234401d28f09ee58a320f
2121
# via -r .nox/update_python_dependencies/tmp/cmake.in
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
# This file was autogenerated by uv via the following command:
22
# nox -s update_python_dependencies
3-
uv==0.4.15 \
4-
--hash=sha256:04858bfd551fabe1635127d9a0afe5c62e1e7d56cf309a9674840c90bfc1f21e \
5-
--hash=sha256:0e9b78f1a800a4cfdfbdc9ff4e5d4cce34af770f8a1f2b9416b161f294eb3703 \
6-
--hash=sha256:1401e73f0e8df62b4cfbf394e65a75f18b73bf8a94a6c5653a55bd6fdb8e1bc3 \
7-
--hash=sha256:1bb79cb06be9bb25a1bf8641bf34593f64a96b3ba66ebd8712954f647d9faa24 \
8-
--hash=sha256:21a3cedb2276d635543a10a11c61f75c6e387110e23e90cdb6c6dd2e1f3c9453 \
9-
--hash=sha256:27884429b7fed371fe1fcbe829659c4a259463d0ecacb7891d800e4754b5f24c \
10-
--hash=sha256:4e40deb2cf2cb403dbaf65209d49c45462ebbb1bff290d4c18b902b5b385cdc9 \
11-
--hash=sha256:6eef6881abf9b858020ffd23f4e5d77423329da2d4a1bc0af6613c2f698c369a \
12-
--hash=sha256:7fcf7f3812dd173d39273e99fb2abb0814be6133e7a721baa424cbcfd25b483b \
13-
--hash=sha256:8d45295757f66d1913e5917c06f1974745adad842403d419362491939be889a6 \
14-
--hash=sha256:8e36b8e07595fc6216d01e729c81a0b4ff029a93cc2ef987a73d3b650d6d559c \
15-
--hash=sha256:9822fa4db0d8d50abf5eebe081c01666a98120455090d0b71463d01d5d4153c1 \
16-
--hash=sha256:9e28141883c0aa8525ad5418e519d8791b7dd75f35020d3b1457db89346c5dc8 \
17-
--hash=sha256:a5920ff4d114025c51d3f925130ca3b0fad277631846b1109347c24948b29159 \
18-
--hash=sha256:be46b37b569e3c8ffb7d78022bcc0eadeb987109f709c1cec01b00c261ed9595 \
19-
--hash=sha256:cf7d554656bb8c5b7710300e04d86ab5137ebdd31fe309d66860a9d474b385f8 \
20-
--hash=sha256:d16ae6b97eb77f478dfe51d6eb3627048d3f47bd04282d3006e6a212e541dba0 \
21-
--hash=sha256:e32137ba8202b1291e879e8145113bfb543fcc992b5f043852a96d803788b83c
3+
uv==0.4.17 \
4+
--hash=sha256:01564bd760eff885ad61f44173647a569732934d1a4a558839c8088fbf75e53f \
5+
--hash=sha256:0da45ca164ef9701dcc5cac3256f1f3a4e6fabe026860101c3b14208bfbde831 \
6+
--hash=sha256:15cfd020ad4a72f17e669d070a1a8ab50f93ce899486a80029cabf87fac3a8ae \
7+
--hash=sha256:1a4098128ee54f8b4ca1b083d05f818548cf7182b5b6cbb74fd71235bd105b1d \
8+
--hash=sha256:39c862a5fae944ea89dca5bf77bf636ac26398f96179bca19e4db26121707cd0 \
9+
--hash=sha256:44360f88b8e67e36fed00976b94d3f1144faa1c5291e8f6f5306c3ded650e9bf \
10+
--hash=sha256:489f68441092827fcd590a99f91269d5fb3b5f9cca1da469f7fc3d5ef3bf3e37 \
11+
--hash=sha256:6141f08aad242372dff4b529b9d26c814e151e95d1a8c85d645a7eb11b0cb34a \
12+
--hash=sha256:7b27e69454d8f65d800bc61a3d05288cacf8e56b9b716b629b2b6977e85ceabe \
13+
--hash=sha256:87e4c3b6415e0ce6880023960d7bb7fc08acafc97a4e03c7ce8b6a49ad0c698e \
14+
--hash=sha256:8844740de53f3997175961c90ff4441e0ea7cb1d11e27b662258f8728f7623b2 \
15+
--hash=sha256:897c5d7d50341023f28b96afd0bf2553d67f3f46c12986d5ee02e517cf7d5c5a \
16+
--hash=sha256:8acb510475dd8dbce71533384b95a8b2ad204f10081c92d9d012d193bd4df884 \
17+
--hash=sha256:b3cad9f33c38a891c3adc3cedfa8171e5d1d696d03c850ecd454e16551b1308b \
18+
--hash=sha256:df5dabafa07d9beae719bf4df649cb6d825620f0bb3abf985df99fd0394dbbb6 \
19+
--hash=sha256:dfe717c980d3206d4810b5121566a1e07114b9dd470b6f9f6ebed3706c21517d \
20+
--hash=sha256:e88911392d0eef4019a1db64951eefd1081a6dda72e33ee4b5b77b32f1112a33 \
21+
--hash=sha256:f727a356e772c3cdc7752d8d9971e614670658f5219eda2449290c5c4a5c91cf
2222
# via -r .nox/update_python_dependencies/tmp/uv.in

docker/build_scripts/requirements3.10.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ pip==24.2 ; implementation_name != 'graalpy' \
1818
--hash=sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2 \
1919
--hash=sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8
2020
# via -r requirements.in
21-
pyproject-hooks==1.1.0 \
22-
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
23-
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
21+
pyproject-hooks==1.2.0 \
22+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
23+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
2424
# via build
2525
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
2626
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \

docker/build_scripts/requirements3.11.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ pip==24.2 ; implementation_name != 'graalpy' \
1414
--hash=sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2 \
1515
--hash=sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8
1616
# via -r requirements.in
17-
pyproject-hooks==1.1.0 \
18-
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
19-
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
17+
pyproject-hooks==1.2.0 \
18+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
19+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
2020
# via build
2121
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
2222
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \

docker/build_scripts/requirements3.12.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ pip==24.2 ; implementation_name != 'graalpy' \
1414
--hash=sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2 \
1515
--hash=sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8
1616
# via -r requirements.in
17-
pyproject-hooks==1.1.0 \
18-
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
19-
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
17+
pyproject-hooks==1.2.0 \
18+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
19+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
2020
# via build
2121
setuptools==75.1.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
2222
--hash=sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2 \

docker/build_scripts/requirements3.13.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pip==24.2 ; implementation_name != 'graalpy' \
1414
--hash=sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2 \
1515
--hash=sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8
1616
# via -r requirements.in
17-
pyproject-hooks==1.1.0 \
18-
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
19-
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
17+
pyproject-hooks==1.2.0 \
18+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
19+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
2020
# via build

docker/build_scripts/requirements3.7.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ pip==24.0 ; implementation_name != 'graalpy' \
1818
--hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \
1919
--hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2
2020
# via -r requirements.in
21-
pyproject-hooks==1.1.0 \
22-
--hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \
23-
--hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2
21+
pyproject-hooks==1.2.0 \
22+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
23+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
2424
# via build
2525
setuptools==68.0.0 ; python_full_version < '3.13' and implementation_name != 'graalpy' \
2626
--hash=sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f \

0 commit comments

Comments
 (0)