Skip to content

Conversation

@iofq
Copy link
Contributor

@iofq iofq commented May 24, 2025

Support aarch64 wheel Builds

Closes #178

Firstly, here's a working CI build: 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

Summary of Changes

  • x265:
    x265's CMake files cease to work on CMake v4+ due to policy deprecations. The issue was fixed in x265 upstream in https://bitbucket.org/multicoreware/x265_git/commits/b354c009a60bcd6d7fc04014e200a1ee9c45c167. CMake 4.0 was introduced to the manylinux2014 Docker images we're using in pypa/manylinux@dc69f53#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.

@matham matham merged commit 3684c38 into matham:master May 24, 2025
15 checks passed
@matham
Copy link
Owner

matham commented May 24, 2025

Thank you!! I'll make a release at some point soon, if you're happy with the generated wheels.

@iofq
Copy link
Contributor Author

iofq commented Jun 11, 2025

a release would be great, we're aiming to use these for some upstream packaging in NixOS/nixpkgs#408590

@matham
Copy link
Owner

matham commented Jun 11, 2025

Released the latest version. Thanks for the PR!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide Linux arm64 wheels

2 participants