From fd2e9e27b8ef7ebe287aee93036847c3ca9dade5 Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Tue, 22 Sep 2026 07:25:08 +0000 Subject: [PATCH 1/2] pedalboard: Add version 0.9.25 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/pedalboard.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/pedalboard.yaml b/docs/packages/pedalboard.yaml index ae5f09c245f..46e8e3ae6a4 100644 --- a/docs/packages/pedalboard.yaml +++ b/docs/packages/pedalboard.yaml @@ -22,3 +22,4 @@ versions: gpl-sources: filename: gpl-sources.tar description: gcc and the copyleft libraries bundled in the wheel +- version: 0.9.25 From b2d36420cc1dce02af677ab7c20752f5b87e060f Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Thu, 24 Sep 2026 07:09:34 +0000 Subject: [PATCH 2/2] pedalboard: carry forward 0.9.24 riscv64 patch to 0.9.25 Submodule pins (JUCE/lame/libgsm/pybind11/rubberband) are unchanged between v0.9.24 and v0.9.25, and the patch applies cleanly against the v0.9.25 CMakeLists.txt, so no further changes are needed. --- ...assume-x86-when-the-target-isn-t-ARM.patch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 patches/pedalboard/0.9.25/0001-cmake-don-t-assume-x86-when-the-target-isn-t-ARM.patch diff --git a/patches/pedalboard/0.9.25/0001-cmake-don-t-assume-x86-when-the-target-isn-t-ARM.patch b/patches/pedalboard/0.9.25/0001-cmake-don-t-assume-x86-when-the-target-isn-t-ARM.patch new file mode 100644 index 00000000000..cc5df9e95f3 --- /dev/null +++ b/patches/pedalboard/0.9.25/0001-cmake-don-t-assume-x86-when-the-target-isn-t-ARM.patch @@ -0,0 +1,48 @@ +From: RISE Project +Subject: [PATCH] cmake: don't assume x86 when the target isn't ARM + +The Linux branch of CMakeLists.txt has two if/else pairs that treat +"not ARM" as "x86": one adds -march=native (or -mavx) and defines +HAVE_AVX, the other keeps FFTW's AVX/SSE codelets and drops only the +NEON ones. On any other architecture the build fails at +simd-support/simd-avx.h with "compiling simd-avx.h without -mavx". + +Make both conditions test for x86 explicitly, so architectures without a +vendored SIMD backend (riscv64, ppc64le, s390x) build the scalar FFTW +codelets and get no architecture-specific compiler flags. JUCE already +falls back to its scalar path when JUCE_USE_SIMD is 0. + +Upstream-Status: To upstream [not yet submitted; upstream builds no riscv64 wheels] +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 89de0fa..f697bfc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -203,7 +203,7 @@ elseif(UNIX AND NOT APPLE) + # Processor-specific optimizations (x86 vs ARM) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|aarch64") + add_compile_definitions(HAVE_NEON=1) +- else() ++ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64|i[3-6]86") + # Use -march=native for local builds to optimize for the current CPU, + # but use a portable baseline for CI builds to avoid "Illegal instruction" errors + # when ccache restores objects built on different runner hardware. +@@ -214,6 +214,7 @@ elseif(UNIX AND NOT APPLE) + endif() + add_compile_definitions(HAVE_AVX) + endif() ++ # Any other architecture (riscv64, ppc64le, s390x, ...) builds without SIMD. + + # Additional Linux flags + list(APPEND ALL_INCLUDES "vendors/fftw3/api/" "vendors/fftw3/") +@@ -317,8 +318,10 @@ function(collect_sources) + # Exclude files depending on architecture + if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|aarch64") + list(FILTER FFTW_SOURCES EXCLUDE REGEX ".*(avx|/sse).*") +- else() ++ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64|i[3-6]86") + list(FILTER FFTW_SOURCES EXCLUDE REGEX ".*neon.*") ++ else() ++ list(FILTER FFTW_SOURCES EXCLUDE REGEX ".*(avx|/sse|neon).*") + endif() + + # Exclude unused FFTW components