[rubberband] Update to 3.2.1 and use recommended sleef dependecy where supported (#31732)

* Select fastest available FFT library depending on the platform

* Update to rubberband 3.2.1

* Also added arm64 in the portfile.cmake condition to match arm in the vcpkg.json

* Use FFTW backend on x86_windows due to Microsoft Visual Studio bug
This commit is contained in:
JoergAtGithub 2023-06-07 21:00:50 +02:00 committed by GitHub
parent 2e7fdb7b68
commit 037ef821da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 5 deletions

View File

@ -2,7 +2,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO breakfastquay/rubberband
REF "v${VERSION}"
SHA512 953d705e4a69ed40732644b8039dae02ddf596216e484ce8625fdde796e0de35fe6ac6c4f180eabc457c98b63c3fba212afa74b731eac570bea1902b667f506f
SHA512 811a8dbf05fbee3e4631b49fee9fd0e23ea750ac24a9a16f20e6a7ea07e683783a9edf980c43e732b64c229db29ade3575938c4e6f9db8c4255b220eb30d9dcc
HEAD_REF default
)
@ -13,10 +13,19 @@ else()
set(CLI_FEATURE disabled)
endif()
# Select fastest available FFT library according https://github.com/breakfastquay/rubberband/blob/default/COMPILING.md#fft-libraries-supported
if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64"))
set(FFT_LIB "fftw")
elseif(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(FFT_LIB "fftw")
else()
set(FFT_LIB "sleef")
endif()
vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-Dfft=fftw # 'auto', 'builtin', 'kissfft', 'fftw', sleef', 'vdsp', 'ipp' 'FFT library to use. The default (auto) will use vDSP if available, the builtin implementation otherwise.')
-Dfft=${FFT_LIB} # 'auto', 'builtin', 'kissfft', 'fftw', sleef', 'vdsp', 'ipp' 'FFT library to use. The default (auto) will use vDSP if available, the builtin implementation otherwise.')
-Dresampler=libsamplerate # 'auto', 'builtin', 'libsamplerate', 'speex', 'libspeexdsp', 'ipp' 'Resampler library to use. The default (auto) simply uses the builtin implementation.'
-Dipp_path= # 'Path to Intel IPP libraries, if selected for any of the other options.'
-Dextra_include_dirs= # 'Additional local header directories to search for dependencies.'

View File

@ -1,13 +1,20 @@
{
"name": "rubberband",
"version": "3.2.0",
"version": "3.2.1",
"description": "A high quality software library for audio time-stretching and pitch-shifting.",
"homepage": "https://www.breakfastquay.com/rubberband/",
"license": "GPL-2.0-or-later",
"supports": "!uwp & !(windows & static)",
"dependencies": [
"fftw3",
{
"name": "fftw3",
"platform": "(arm & windows) | (x86 & windows) | (arm64 & osx)"
},
"libsamplerate",
{
"name": "sleef",
"platform": "!(arm & windows) & !(x86 & windows) & !(arm64 & osx)"
},
{
"name": "vcpkg-tool-meson",
"host": true

View File

@ -7213,7 +7213,7 @@
"port-version": 0
},
"rubberband": {
"baseline": "3.2.0",
"baseline": "3.2.1",
"port-version": 0
},
"rxcpp": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "66dc21d5c29b7406cf1408081b8d99d6df217d4b",
"version": "3.2.1",
"port-version": 0
},
{
"git-tree": "2cdedb774d373326dd7b2f2d138280653f97c89b",
"version": "3.2.0",