Skip to content

essentia: Add version 2.1b6.dev1438 - #3109

Merged
riseproject-dev[bot] merged 2 commits into
mainfrom
essentia
Oct 25, 2026
Merged

riseproject-dev[bot] merged 2 commits into
mainfrom
essentia

Conversation

@luhenry

@luhenry luhenry commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Compiles the Essentia C++ audio-analysis library and its Python bindings, statically linked against FFTW, FFmpeg, LAME, TagLib, Chromaprint, libsamplerate, libyaml and zlib. Upstream publishes no riscv64 wheel.

Mirrors upstream's build-wheels-cibuildwheel.yml with its cibuildwheel.toml.

Differs from upstream

  • Pinned to commit 8dbdc073 - upstream dev releases are untagged; git describe gives dev1438 there.
  • Static dependencies built with upstream's build_3rdparty_static_debian.sh - its prebuilt mtgupf/essentia-builds image has no riscv64 variant.
  • No Gaia (GaiaTransform) - its Linux build compiles Qt 5 from source; upstream's macOS wheels also omit it.

Matrix: cp312/cp313/cp314 - free-threaded skipped, as upstream does.

Testing

  • Upstream's import check, plus a smoke test of FFT, WAV write/read with resampling, TagLib metadata and Chromaprint.

License: Wheel bundles Essentia (AGPL-3.0), FFTW (GPL-2.0), FFmpeg/LAME/TagLib/Chromaprint (LGPL), libsamplerate/libyaml/zlib/KissFFT (permissive) and Eigen (MPL-2.0); upstream ships no licence text for them, so the build adds it.

Patches

  • 0001-Only-pass-FFTW-s-x86-SIMD-configure-flags-on-x86-hos.patch - To upstream. FFTW configure aborts on --enable-sse2 off x86. Reproduces on any non-x86 host.
  • 0002-Refresh-config.guess-config.sub-for-the-autotools-3r.patch - Inappropriate. 2009-2015 config.guess copies don't know riscv64. riscv64-only.

Built on x86_64 cp312 locally; smoke test passed.

Build the static third-party libraries with upstream's own packaging
script in before-all (upstream's prebuilt-dependency image has no
riscv64 variant), without Gaia as upstream's macOS wheels do. Two patches
drop FFTW's x86-only SSE2 configure flags and refresh the stale
config.guess/config.sub of the older autotools tarballs.
luhenry added a commit that referenced this pull request Oct 13, 2026
…-dependency (cvxpy; version 7.3.0 -> 7.4.0)
The static TagLib 1.11.1 build in before-all stopped at configure: its
CMakeLists.txt calls cmake_policy(SET CMP0022 OLD), which the CMake 4 in
the manylinux image no longer supports, and CMAKE_POLICY_VERSION_MINIMUM
cannot override an explicit OLD setting. Backport TagLib 1.12's removal
of that call by deleting the line from the extracted tarball in
build_taglib.sh.
@github-actions
github-actions Bot marked this pull request as ready for review October 25, 2026 17:50
@riseproject-dev
riseproject-dev Bot merged commit 8d031d5 into main Oct 25, 2026
9 checks passed
@riseproject-dev
riseproject-dev Bot deleted the essentia branch October 25, 2026 18:02
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.

1 participant