Skip to content

Commit 53a1c3f

Browse files
Merge pull request #76 from oscarbenjamin/pr_pypy
Add PyPy 3.10 to CI build
2 parents 03a4baf + f9618a4 commit 53a1c3f

File tree

4 files changed

+32
-5
lines changed

4 files changed

+32
-5
lines changed

.github/workflows/buildwheel.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ jobs:
4646
env:
4747
# override setting in pyproject.toml to use msys2 instead of msys64 bash
4848
CIBW_BEFORE_ALL_WINDOWS: msys2 -c bin/cibw_before_all_windows.sh
49-
CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel && msys2 -c bin/cibw_before_build_windows.sh
49+
#
50+
# Don't need to create pythonXX.a under meson. Not needed any more:
51+
# CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel && msys2 -c bin/cibw_before_build_windows.sh
52+
#
5053

5154
- uses: actions/upload-artifact@v4
5255
with:
@@ -109,7 +112,7 @@ jobs:
109112
os: [ubuntu-20.04, windows-2019, macos-13, macos-14]
110113
# This list to be kept in sync with cibuildwheel config
111114
# and python-requires in pyproject.toml.
112-
python-version: ['3.10', '3.11', '3.12', '3.13-dev']
115+
python-version: ['3.10', '3.11', '3.12', '3.13-dev', 'pypy3.10']
113116

114117
steps:
115118
- uses: actions/setup-python@v5

bin/cibw_before_build_windows.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
#!/bin/bash
22

3+
#
4+
# This script was previously needed to make libpythonXX.a on Windows when using
5+
# MinGW and setuptools. This is no longer needed now that we use meson.
6+
#
7+
38
set -o errexit
49

510
# Uncomment this to run cibuildwheel locally on Windows:

bin/cibw_repair_wheel_command_windows.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
#
55
# https://github.com/scipy/scipy/blob/main/tools/wheels/repair_windows.sh
66

7+
#
8+
# This was previously needed because delvewheel would reject wheels with
9+
# binaries generated by MinGW unless they had been stripped. This is not needed
10+
# any more with newer versions of delvewheel.
11+
#
12+
713
set -o errexit
814

915
# Uncomment this to run cibuildwheel locally on Windows:

pyproject.toml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ package = "flint"
5858
[tool.cibuildwheel]
5959
# requires-python needs to keep in sync with this and also the list of Python
6060
# versions the wheels are tested against in CI.
61-
build = "cp310-* cp311-* cp312-* cp313-*"
61+
build = "cp310-* cp311-* cp312-* cp313-* pp310-*"
6262
skip = "*-win32 *-manylinux_i686 *-musllinux_*"
6363

6464
# This is needed for free-threaded wheels:
@@ -90,5 +90,18 @@ before-all = "bin/cibw_before_all_macosx_$(uname -m).sh"
9090

9191
[tool.cibuildwheel.windows]
9292
before-all = "C:\\msys64\\usr\\bin\\bash bin/cibw_before_all_windows.sh"
93-
before-build = "pip install delvewheel && C:\\msys64\\usr\\bin\\bash bin/cibw_before_build_windows.sh"
94-
repair-wheel-command = "bin\\cibw_repair_wheel_command_windows.bat {dest_dir} {wheel}"
93+
before-build = "pip install delvewheel"
94+
repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel} --add-path .local/bin"
95+
96+
# Previously with setuptools and MinGW it was necessary to run
97+
# bin/cibw_before_build_windows.sh before building the wheel to create the
98+
# libpython*.a files. This is no longer necessary now meson is used:
99+
#
100+
# before-build = "pip install delvewheel && C:\\msys64\\usr\\bin\\bash bin/cibw_before_build_windows.sh"
101+
#
102+
# Previously a custom delvewheel command was needed because delvewheel would
103+
# reject binaries created with MinGW unless they had been stripped. This is not
104+
# needed any more with newer versions of delvewheel:
105+
#
106+
# repair-wheel-command = "bin\\cibw_repair_wheel_command_windows.bat {dest_dir} {wheel}"
107+
#

0 commit comments

Comments
 (0)