ITADN

Support aarch64 wheel builds

#179Pull Requestiofq 创建于 2025-05-24
I
iofqcommented
## Support aarch64 wheel Builds Closes https://github.com/matham/ffpyplayer/issues/178 Firstly, here's a working CI build: [https://github.com/iofq/ffpyplayer/actions/runs/15224996925/job/42826871473](https://github.com/iofq/ffpyplayer/actions/runs/15224996925/job/42826871473) The Test step failed once on OSX, but succeeded the second time and appears to just be a race condition/performance issue: [https://github.com/iofq/ffpyplayer/actions/runs/15224996925/job/42826871473#step:9:160](https://github.com/iofq/ffpyplayer/actions/runs/15224996925/job/42826871473#step:9:160) ## Summary of Changes - **`x265`**: `x265`'s CMake files cease to work on CMake v4+ due to [policy deprecations](https://cmake.org/cmake/help/latest/release/4.0.html#deprecated-and-removed-features). The issue was fixed in x265 upstream in [https://bitbucket.org/multicoreware/x265_git/commits/b354c009a60bcd6d7fc04014e200a1ee9c45c167](https://bitbucket.org/multicoreware/x265_git/commits/b354c009a60bcd6d7fc04014e200a1ee9c45c167). CMake 4.0 was introduced to the manylinux2014 Docker images we're using in [https://github.com/pypa/manylinux/commit/dc69f53a59760ff349eeb6f6305de1c8c9a9d823#diff-12364f0a1989d08e72d764980ee91edcffd0c6cc162b143b21daae8e31f6d76e](https://github.com/pypa/manylinux/commit/dc69f53a59760ff349eeb6f6305de1c8c9a9d823#diff-12364f0a1989d08e72d764980ee91edcffd0c6cc162b143b21daae8e31f6d76e). I elected to pull the two patches needed to fix this for x265 (present in x265 master branch but not backported) and apply them. - **`brotli`**: On OSX, `brotli` suffered the same CMake fate, but I chose to use the CMake flag `-DCMAKE_POLICY_VERSION_MINIMUM=3.5` as the CMake-recommended workaround, rather than trying to patch the CMakeLists.txt file ourselves, since there is not an upstream patch available. - **`libtheora`**: On OSX, `libtheora` was bumped to version `1.2.0`, which was a long-awaited release (`1.1.1` was released in 2009) and contains compilation fixes for modern systems. Additionally, changed the `THEORA_ARCH` variable to use the correct host triplet for `configure`. - **CI Pipeline**: Updated to use the new GitHub Actions ARM runners (far faster than QEMU) for ARM wheel compilation and testing. Also, bumped `cibuildwheel` to the latest version.
合并状态:未合并 关闭于 2025-05-24 3 条评论