[sonivox] add new port (#49231)

This commit is contained in:
Pedro López-Cabanillas
2026-01-07 09:41:50 +01:00
committed by GitHub
parent b8fcfe82c3
commit a4b0d2827d
6 changed files with 97 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f5302cb..74b0306 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,7 @@ option(SF2_SUPPORT "Enable SF2 support and float DCF" TRUE)
option(ZLIB_SUPPORT "Enable XMF ZLIB Unpacker support" TRUE)
option(EAS_WT_SYNTH "Enable WaveTable Synth" TRUE)
option(EAS_FM_SYNTH "Enable FM Synth" FALSE)
+option(INSTALL_DEPENDENCIES "Deploy dependency libraries" FALSE)
if (NOT (EAS_WT_SYNTH OR EAS_FM_SYNTH OR EAS_HYBRID_SYNTH))
message(FATAL_ERROR "At least one synthesizer type must be enabled: EAS_WT_SYNTH, EAS_FM_SYNTH, EAS_HYBRID_SYNTH.")
@@ -490,7 +491,7 @@ if (BUILD_APPLICATION)
add_subdirectory(example)
endif()
-if (CMAKE_SYSTEM_NAME MATCHES "Windows")
+if (INSTALL_DEPENDENCIES)
message(STATUS "DEPENDENCY_DIRS: ${DEPENDENCY_DIRS}")
install(RUNTIME_DEPENDENCY_SET sonivox-dependencies
COMPONENT sonivox_runtime

View File

@@ -0,0 +1,35 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO EmbeddedSynth/sonivox
REF "v${VERSION}"
SHA512 d9f8fb18f151ef3ba2352bcd66a97bc71056aab8ab9f78a061ffa475f68a80ede3c2c0deb374ad21eb2c1cb1d7521c3d7f8eeda72640e11f71c3526b275f5468
HEAD_REF master
PATCHES "option-install-dependencies.patch"
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_TESTING:BOOL=OFF
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
if(NOT VCPKG_TARGET_IS_ANDROID)
vcpkg_copy_tools(TOOL_NAMES sonivoxrender AUTO_CLEAN)
endif()
vcpkg_cmake_config_fixup(
PACKAGE_NAME "sonivox"
CONFIG_PATH lib/cmake/sonivox
)
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/share/man")
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")

9
ports/sonivox/usage Normal file
View File

@@ -0,0 +1,9 @@
sonivox provides CMake targets:
find_package(sonivox CONFIG REQUIRED)
target_link_libraries(main PRIVATE sonivox::sonivox)
sonivox provides pkg-config modules:
# Sonivox EAS Software Synthesizer
sonivox

19
ports/sonivox/vcpkg.json Normal file
View File

@@ -0,0 +1,19 @@
{
"name": "sonivox",
"version": "4.0.0",
"description": "Software MIDI synthesizer evolved from the AOSP 'platform_external_sonivox' project to use it outside of Android. Uses embedded samples allowing also SF2 and DLS files. Plays MID, XMF, and RMI files.",
"homepage": "https://github.com/EmbeddedSynth/sonivox",
"license": "Apache-2.0",
"supports": "!x86",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
},
"zlib"
]
}

View File

@@ -9188,6 +9188,10 @@
"baseline": "3.5.8",
"port-version": 3
},
"sonivox": {
"baseline": "4.0.0",
"port-version": 0
},
"sophus": {
"baseline": "1.24.6",
"port-version": 0

9
versions/s-/sonivox.json Normal file
View File

@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "c874a7c1a3ef188845db0a6786f5a14501c02fe5",
"version": "4.0.0",
"port-version": 0
}
]
}