[rubberband] Use FFTW3 when targeting iOS or WASM (#37101)

`sleef` currently has some issues cross-compiling (see #37091),
preventing `rubberband` from building.

Using FFTW as the FFT backend when targeting iOS or WASM/Emscripten
therefore fixes the cross-build for `rubberband`. Since we already use
FFTW on arm64 macOS, using it on iOS too should also make things a bit
more consistent.

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
This commit is contained in:
fwcd 2024-03-05 10:43:10 +01:00 committed by GitHub
parent 0d72efb16a
commit 4cd7e60932
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 15 additions and 6 deletions

View File

@ -14,9 +14,12 @@ else()
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")
if(
(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64"))
OR (VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
OR VCPKG_TARGET_IS_IOS
OR VCPKG_TARGET_IS_EMSCRIPTEN
)
set(FFT_LIB "fftw")
else()
set(FFT_LIB "sleef")

View File

@ -1,6 +1,7 @@
{
"name": "rubberband",
"version": "3.3.0",
"port-version": 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",
@ -8,12 +9,12 @@
"dependencies": [
{
"name": "fftw3",
"platform": "(arm & windows) | (x86 & windows) | (arm64 & osx)"
"platform": "(arm & windows) | (x86 & windows) | (arm64 & osx) | ios | emscripten"
},
"libsamplerate",
{
"name": "sleef",
"platform": "!(arm & windows) & !(x86 & windows) & !(arm64 & osx)"
"platform": "!(arm & windows) & !(x86 & windows) & !(arm64 & osx) & !ios & !emscripten"
},
{
"name": "vcpkg-tool-meson",

View File

@ -7726,7 +7726,7 @@
},
"rubberband": {
"baseline": "3.3.0",
"port-version": 0
"port-version": 1
},
"rxcpp": {
"baseline": "4.1.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "478bcca88451fbdd2fa88816f21449c1b8675e9d",
"version": "3.3.0",
"port-version": 1
},
{
"git-tree": "f3a5ed426944950b92d114499028a3c4c5ed3219",
"version": "3.3.0",