Closed nightlark closed 2 years ago
The cibuildwheel
looks nice. And it would be great if you could help to migrate the CI configration!
I think to leverage cibuildwheel
, we need to add a CIBW_BEFORE_ALL
script to build LLVM and copy the generate libclang.{so,dylib,dll}
to the native/
dir. Then everything should just work.
I have assigned the issue to you. Thanks!
Closed as out-of-date.
Hi @nightlark free to open if you have bandwidth for this ticket in the future. Thanks for your effort for the libclang
package!
Hey @sighingnow, I noticed the
libclang
package on PyPI includes copies of the libclang shared library, though only for a handful of the platform tags supported on PyPI. Recently the clang-format wheel was switched over to build using a combination of cibuildwheel (easy builds for wheels across a wide variety of platforms) and scikit-build (easy cross-platform building, single CMake "script" works for all platforms).Some of the advantages that came from this approach:
cibuildwheel
builds wheels on GitHub Actions (other CI platforms also supported) both natively and using QEMU; the resulting wheels include: Linux x86_64, i686, s390x, and aarch64 architectures for both manylinux (glibc) and musllinux platforms, macOS universal binaries (x86_64 and arm64), and Windows 64-bit/32-bitscikit-build
works well for building things from the LLVM project (single CMakeLists.txt using ExternalProject_add works on all platforms)sdist
is available; piwheels will try to build Raspberry PI compatible wheels, and it could be a route to pip installing on BSD systems (with some wait time for compiling)If there's interest (or you need help with maintaining the libclang package), I'm willing start working on this for getting libclang 13.0.0 wheels published -- once the changes are made it should be easy to update for future LLVM releases.