You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previously it wasn't possible to build python_flint with the most recent
versions of Cython but that was fixed in b3eb354. That makes it
possible to update all build dependencies and to create wheels for newer
Python versions. This commit updates the build scripts that build wheels
for OSX and Linux in GitHub Actions.
The result of these changes is that the latest versions of all build and
runtime dependencies are currently being used and x86_64 bit wheels are
being built for OSX and Linux for all supported CPython versions.
- Unpin the version of Cython used to build python_flint so that the
newest version will always be used. At the time of writing that means
using Cython 0.29.28 but newer versions will automatically be used
when released.
- Build 64 bit CPython wheels for OSX and Linux for all currently
supported Python versions (3.7, 3.8, 3.9 and 3.10).
- Fix the YASM version from 1.3.1 to 1.3.0. There does not seem to be a
1.3.1 version of YASM any more and 1.3.0 appears to be the newest
version. It is unclear what happened to 1.3.1 which was previously
used successfully.
- Use the cibuildwheel GitHub Action for wheel building and bump version
of cibuildwheel to 2.3.1 to get support for Python 3.10.
- Bump versions of flint and arb to the latest releases (flint 2.8.4 and
arb 2.22.0).
- Check that all other dependencies are at their latest released
versions (GMP 6.2.1 and MPIR 3.0.0 and MPFR 4.1.0).
- Wheels are still not built for Windows - this is the biggest omission.
There are conda-forge recipes for building python-flint and it should
be possible to adapt those.
- Newer OSX runs on Apple's M1 hardware so the OSX wheels built here
will not work there. It is not yet possible to run M1 hardware in
GitHub Actions so it is not immediately clear how to build those
wheels.
- It is also possible to build 32 bit Linux wheels but these are less
likely to be used. Building them significantly increases the build
time because numpy does not provide 32 bit wheels and numpy is
currently a build-time dependency. Linux wheels also consume a lot of
disk space which is limited for artifacts in GitHub Actions.
- I have not checked whether it is possible to build wheels for pypy
which is another likely platform that could be supported.
- The build-time dependency on numpy can probably be eliminated. A
couple of small things are being used from numpy.distutils which is
itself probably going to be deprecated in future.
0 commit comments