Skip to content

pedalboard: Add version 0.9.24 - #759

Merged
luhenry merged 1 commit into
mainfrom
pedalboard
Sep 20, 2026
Merged

luhenry merged 1 commit into
mainfrom
pedalboard

Conversation

@luhenry

@luhenry luhenry commented Aug 28, 2026

Copy link
Copy Markdown
Member

A pybind11 extension that compiles JUCE, RubberBand, LAME, libgsm and FFTW into one audio-processing module. Upstream publishes no riscv64 wheel.

Mirrors upstream's all.yml build-wheels job.

Differs from upstream

  • Plain auditwheel repair; upstream's repair command installs auditwheel-symbols, which has no riscv64 wheel.
  • musllinux dropped.

Testing

  • Upstream skips its manylinux tests; this runs the suite.
  • test_type_hints dropped: mypy and pyright do not run on riscv64.
  • test_external_plugins and test_memory_leaks dropped: both load an x86_64-only VST3 bundle while being imported.
  • One test dropped: it asserts threaded reads beat serial reads, which also fails on macOS against upstream's own wheel.

License: Wheel bundles alsa-lib (LGPL-2.1) and freetype (FTL/GPL-2.0) from the build image and compiles in JUCE (GPL-3.0), FFTW and RubberBand (GPL-2.0), LAME (LGPL-2.1), libgsm and pybind11; upstream ships no licence text for them, so the build adds it.

Patches

  • 0001-cmake-don-t-assume-x86-when-the-target-isn-t-ARM.patch - To upstream. Without it riscv64 gets -march=native, HAVE_AVX and FFTW's AVX codelets, and fails in simd-avx.h. riscv64-only.

Built on cp312, cp313, cp314 and cp314t; 26490 passed, 7 skipped.

Closes #2134

CIBW_TEST_SKIP: ''
CIBW_TEST_REQUIRES: pytest pytest-mock numpy tqdm psutil mido mutagen
CIBW_TEST_SOURCES: tests
# test_type_hints needs mypy and pyright, neither of which runs on riscv64.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mypy is available at https://pypi.riseproject.dev/simple/mypy, what version is needed here?
pyright isn't available yet, let's add it to the list and handle right away

@luhenry
luhenry marked this pull request as draft August 28, 2026 12:28
pedalboard compiles JUCE, RubberBand, LAME, libgsm and FFTW into a single
pybind11 extension. Upstream publishes no riscv64 wheel.

The CMake patch stops the Linux build treating every non-ARM target as x86:
riscv64 otherwise picks up -march=native, HAVE_AVX and FFTW's AVX codelets,
and fails in simd-support/simd-avx.h.

The wheel bundles more copyleft libraries than upstream's AlmaLinux 8 build
does, because Rocky 10's freetype pulls in harfbuzz, glib2, graphite2, brotli
and pcre2, and the test run skips the modules that load the x86_64-only
CHOWTapeModel.vst3 bundle.
@luhenry luhenry changed the title pedalboard: add build-pedalboard.yml for riscv64 wheels pedalboard: Add version 0.9.24 Sep 20, 2026
@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-20 18:13 UTC

@luhenry
luhenry marked this pull request as ready for review September 20, 2026 18:10
@luhenry
luhenry merged commit 3019963 into main Sep 20, 2026
14 checks passed
@luhenry
luhenry deleted the pedalboard branch September 20, 2026 18:10
luhenry added a commit that referenced this pull request Sep 20, 2026
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.

pedalboard riscv64 support

1 participant