rubberband: clean up and fix on i686 (#583118)

This commit is contained in:
Sandro
2026-11-04 13:43:07 +00:00
committed by GitHub

View File

@@ -1,7 +1,7 @@
{
lib,
stdenv,
fetchurl,
fetchFromSourcehut,
pkg-config,
libsamplerate,
libsndfile,
@@ -12,15 +12,19 @@
ladspa-header,
meson,
ninja,
boost,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rubberband";
version = "4.0.0";
src = fetchurl {
url = "https://breakfastquay.com/files/releases/rubberband-${finalAttrs.version}.tar.bz2";
hash = "sha256-rwUDE+5jvBizWy4GTl3OBbJ2qvbRqiuKgs7R/i+AKOk=";
src = fetchFromSourcehut {
vc = "hg";
owner = "~breakfastquay";
repo = "rubberband";
tag = "v${finalAttrs.version}";
hash = "sha256-TjW+Op750ZzPVD3c/ybyYGM0G65nK5JgMBr/MMsQ8kw=";
};
patches = [
@@ -33,8 +37,11 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
meson
ninja
]
++ lib.optionals (!stdenv.hostPlatform.isx86_32) [
jdk_headless
];
buildInputs = [
libsamplerate
libsndfile
@@ -43,19 +50,30 @@ stdenv.mkDerivation (finalAttrs: {
ladspa-header
lv2
];
makeFlags = [ "AR:=$(AR)" ];
# TODO: package boost-test, so we can run the test suite. (Currently it fails
# to find libboost_unit_test_framework.a.)
mesonFlags = [ "-Dtests=disabled" ];
doCheck = false;
checkInputs = [
boost
];
mesonFlags = [
(lib.mesonEnable "jni" (!stdenv.hostPlatform.isx86_32))
(lib.mesonEnable "ladspa" true)
(lib.mesonEnable "lv2" true)
(lib.mesonEnable "vamp" true)
(lib.mesonEnable "cmdline" true)
(lib.mesonOption "fft" "fftw")
(lib.mesonOption "resampler" "libsamplerate")
(lib.mesonEnable "tests" finalAttrs.doCheck)
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
meta = {
description = "High quality software library for audio time-stretching and pitch-shifting";
homepage = "https://breakfastquay.com/rubberband/";
# commercial license available as well, see homepage. You'll get some more optimized routines
license = lib.licenses.gpl2Plus;
maintainers = [ ];
maintainers = [ lib.maintainers.jopejoe1 ];
platforms = lib.platforms.all;
};
})