Skip to content

Commit

Permalink
Disable WavPack in sdl2-mixer.
Browse files Browse the repository at this point in the history
vcpkg marked it broken for Windows on ARM64.
  • Loading branch information
henricj committed Feb 10, 2024
1 parent 61cc433 commit 72805d9
Show file tree
Hide file tree
Showing 5 changed files with 138 additions and 1 deletion.
13 changes: 13 additions & 0 deletions external/vcpkg/config/ports/sdl2-mixer/fix-pkg-prefix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc37b28..d139596 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -907,7 +907,7 @@ if(SDL2MIXER_INSTALL)
endif()

##### export files #####
- if(WIN32 AND NOT MINGW)
+ if(0)
set(SDLMIXER_INSTALL_CMAKEDIR_DEFAULT "cmake")
else()
set(SDLMIXER_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2_mixer")
64 changes: 64 additions & 0 deletions external/vcpkg/config/ports/sdl2-mixer/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libsdl-org/SDL_mixer
REF "release-${VERSION}"
SHA512 e4c9a4418725ce019bb62216c8fd484cf04b34e2099af633d4c84e0e558fe6ba1921e791c5dde319266ffe3a1237f887871c819a249a8df7e9440c36fce181da
PATCHES
fix-pkg-prefix.patch
)

vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
fluidsynth SDL2MIXER_MIDI
fluidsynth SDL2MIXER_MIDI_FLUIDSYNTH
libflac SDL2MIXER_FLAC
libflac SDL2MIXER_FLAC_LIBFLAC
libmodplug SDL2MIXER_MOD
libmodplug SDL2MIXER_MOD_MODPLUG
mpg123 SDL2MIXER_MP3
mpg123 SDL2MIXER_MP3_MPG123
opusfile SDL2MIXER_OPUS
MAYBE_UNUSED_VARIABLES
SDL2MIXER_MP3_DRMP3
)

if("fluidsynth" IN_LIST FEATURES)
vcpkg_find_acquire_program(PKGCONFIG)
list(APPEND EXTRA_OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}")
endif()

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
${EXTRA_OPTIONS}
-DSDL2MIXER_VENDORED=OFF
-DSDL2MIXER_SAMPLES=OFF
-DSDL2MIXER_DEPS_SHARED=OFF
-DSDL2MIXER_OPUS_SHARED=OFF
-DSDL2MIXER_VORBIS_VORBISFILE_SHARED=OFF
-DSDL2MIXER_VORBIS="VORBISFILE"
-DSDL2MIXER_FLAC_DRFLAC=OFF
-DSDL2MIXER_MIDI_NATIVE=OFF
-DSDL2MIXER_MIDI_TIMIDITY=OFF
-DSDL2MIXER_MP3_DRMP3=OFF
-DSDL2MIXER_MOD_XMP_SHARED=${BUILD_SHARED}
-DSDL3MIXER_WAVPACK=OFF
)

vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(
PACKAGE_NAME "SDL2_mixer"
CONFIG_PATH "lib/cmake/SDL2_mixer"
)
vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
4 changes: 4 additions & 0 deletions external/vcpkg/config/ports/sdl2-mixer/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
sdl2-mixer provides CMake targets:

find_package(SDL2_mixer CONFIG REQUIRED)
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:SDL2_mixer::SDL2_mixer>,SDL2_mixer::SDL2_mixer,SDL2_mixer::SDL2_mixer-static>)
56 changes: 56 additions & 0 deletions external/vcpkg/config/ports/sdl2-mixer/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"name": "sdl2-mixer",
"version": "2.8.0",
"port-version": 1,
"description": "Multi-channel audio mixer library for SDL.",
"homepage": "https://github.com/libsdl-org/SDL_mixer",
"license": "Zlib",
"dependencies": [
"libvorbis",
{
"name": "sdl2",
"default-features": false
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"fluidsynth": {
"description": "Use FluidSynth to play MIDI audio format.",
"dependencies": [
"fluidsynth"
]
},
"libflac": {
"description": "Use libflac to play FLAC audio format.",
"dependencies": [
"libflac"
]
},
"libmodplug": {
"description": "Use libmodplug to play MOD audio format.",
"dependencies": [
"libmodplug",
"libxmp"
]
},
"mpg123": {
"description": "Use mpg123 to play MP3 audio format.",
"dependencies": [
"mpg123"
]
},
"opusfile": {
"description": "Use opusfile to play Opus audio format.",
"dependencies": [
"opusfile"
]
}
}
}
2 changes: 1 addition & 1 deletion external/vcpkg/config/vcpkg-configuration.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"overlay-ports": [
"./ports/sdl2"
"./ports"
],
"overlay-triplets": [
"./triplets"
Expand Down

0 comments on commit 72805d9

Please sign in to comment.