diff options
Diffstat (limited to 'vcpkg-ports/libsndfile')
| -rw-r--r-- | vcpkg-ports/libsndfile/fix-mp3lame.patch | 73 | ||||
| -rw-r--r-- | vcpkg-ports/libsndfile/fix-uwp.patch | 14 | ||||
| -rw-r--r-- | vcpkg-ports/libsndfile/fix-wavlike.patch | 13 | ||||
| -rw-r--r-- | vcpkg-ports/libsndfile/portfile.cmake | 61 | ||||
| -rw-r--r-- | vcpkg-ports/libsndfile/vcpkg.json | 51 |
5 files changed, 212 insertions, 0 deletions
diff --git a/vcpkg-ports/libsndfile/fix-mp3lame.patch b/vcpkg-ports/libsndfile/fix-mp3lame.patch new file mode 100644 index 00000000..f9e627c6 --- /dev/null +++ b/vcpkg-ports/libsndfile/fix-mp3lame.patch @@ -0,0 +1,73 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b1b49e9..ae8ebec 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -174,7 +174,7 @@ set_package_properties (FLAC PROPERTIES + DESCRIPTION "Free Lossless Audio Codec Library" + PURPOSE "Enables FLAC support" + ) +-set_package_properties (Lame PROPERTIES ++set_package_properties (mp3lame PROPERTIES + TYPE RECOMMENDED + URL "https://lame.sourceforge.io/" + DESCRIPTION "High quality MPEG Audio Layer III (MP3) encoder" +@@ -237,20 +237,7 @@ if (INSTALL_PKGCONFIG_MODULE) + endif () + if (ENABLE_MPEG) + set (EXTERNAL_MPEG_REQUIRE "libmpg123") +- get_filename_component(LAME_WE ${LAME_LIBRARY} NAME_WE) +- if (LAME_HIP_LIBRARY) +- get_filename_component(LAME_HIP_WE ${LAME_HIP_LIBRARY} NAME_WE) +- endif () +- if (CMAKE_IMPORT_LIBRARY_PREFIX) +- string (REGEX REPLACE "^${CMAKE_IMPORT_LIBRARY_PREFIX}" "" LAME_WE_NO_PREFIX ${LAME_WE}) +- if (LAME_HIP_LIBRARY) +- string (REGEX REPLACE "^${CMAKE_IMPORT_LIBRARY_PREFIX}" "" LAME_HIP_WE_NO_PREFIX ${LAME_HIP_WE}) +- endif () +- endif () +- set (EXTERNAL_MPEG_LIBS "-l${LAME_WE_NO_PREFIX}") +- if (LAME_HIP_LIBRARY) +- set (EXTERNAL_MPEG_LIBS "${MPEG_LIBS} -l${LAME_HIP_WE}") +- endif () ++ set (EXTERNAL_MPEG_LIBS "-lmp3lame") + endif () + + configure_file (sndfile.pc.in sndfile.pc @ONLY) +@@ -411,7 +398,7 @@ target_link_libraries (sndfile + $<$<AND:$<BOOL:${ENABLE_EXPERIMENTAL}>,$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>,$<BOOL:${HAVE_SPEEX}>>:Speex::Speex> + $<$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>:Opus::opus> + $<$<BOOL:${HAVE_MPEG}>:MPG123::libmpg123> +- $<$<BOOL:${HAVE_MPEG}>:Lame::Lame> ++ $<$<BOOL:${HAVE_MPEG}>:mp3lame::mp3lame> + ) + set_target_properties (sndfile PROPERTIES + PUBLIC_HEADER "${sndfile_HDRS}" +diff --git a/cmake/SndFileChecks.cmake b/cmake/SndFileChecks.cmake +index f5d5994..2e09ba6 100644 +--- a/cmake/SndFileChecks.cmake ++++ b/cmake/SndFileChecks.cmake +@@ -56,9 +56,9 @@ else () + set (HAVE_EXTERNAL_XIPH_LIBS 0) + endif () + +-find_package (Lame) ++find_package (mp3lame) + find_package (Mpg123 1.25.10) +-if (LAME_FOUND AND (TARGET MPG123::libmpg123)) ++if (TARGET mp3lame::mp3lame AND (TARGET MPG123::libmpg123)) + set (HAVE_MPEG_LIBS 1) + else () + set (HAVE_MPEG_LIBS 0) +diff --git a/cmake/SndFileConfig.cmake.in b/cmake/SndFileConfig.cmake.in +index 1d5463a..0c98e7e 100644 +--- a/cmake/SndFileConfig.cmake.in ++++ b/cmake/SndFileConfig.cmake.in +@@ -18,7 +18,7 @@ if (SndFile_WITH_EXTERNAL_LIBS AND NOT @BUILD_SHARED_LIBS@) + endif () + + if (SndFile_WITH_MPEG AND NOT @BUILD_SHARED_LIBS@) +- find_dependency (Lame) ++ find_dependency (mp3lame) + find_dependency (MPG123) + endif () + diff --git a/vcpkg-ports/libsndfile/fix-uwp.patch b/vcpkg-ports/libsndfile/fix-uwp.patch new file mode 100644 index 00000000..389091cf --- /dev/null +++ b/vcpkg-ports/libsndfile/fix-uwp.patch @@ -0,0 +1,14 @@ +diff --git a/src/file_io.c b/src/file_io.c +index 334ba2a..90c9608 100644 +--- a/src/file_io.c ++++ b/src/file_io.c +@@ -827,9 +827,6 @@ psf_open_handle (PSF_FILE * pfile) + } ; + + #if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) +- if (!pfile->use_wchar) +- return INVALID_HANDLE_VALUE ; +- + CREATEFILE2_EXTENDED_PARAMETERS cfParams = { 0 } ; + cfParams.dwSize = sizeof (CREATEFILE2_EXTENDED_PARAMETERS) ; + cfParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL ; diff --git a/vcpkg-ports/libsndfile/fix-wavlike.patch b/vcpkg-ports/libsndfile/fix-wavlike.patch new file mode 100644 index 00000000..fadea008 --- /dev/null +++ b/vcpkg-ports/libsndfile/fix-wavlike.patch @@ -0,0 +1,13 @@ +diff --git a/src/wavlike.c b/src/wavlike.c +index a3388d75..cf5a7d2b 100644 +--- a/src/wavlike.c ++++ b/src/wavlike.c +@@ -971,7 +971,7 @@ wavlike_subchunk_parse (SF_PRIVATE *psf, int chunk, uint32_t chunk_length) + else + psf_log_printf (psf, "%M : %u\n", chunk, chunk_length) ; + +- while (bytesread < chunk_length) ++ while (chunk_length - bytesread >= 4) + { uint32_t thisread ; + + if ((thisread = psf_binheader_readf (psf, "m", &chunk)) == 0) diff --git a/vcpkg-ports/libsndfile/portfile.cmake b/vcpkg-ports/libsndfile/portfile.cmake new file mode 100644 index 00000000..bebdb6b8 --- /dev/null +++ b/vcpkg-ports/libsndfile/portfile.cmake @@ -0,0 +1,61 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsndfile/libsndfile + REF 1.1.0 + SHA512 5e530c33165a2d2be1c22d3a4bd96f0f1817dded3a45d24bad0e3f2c7908ccc1f19327a91d5040c3ea4d591845876019180747a125bf2a6f8bd49a6f67eadacd + HEAD_REF master + PATCHES + fix-mp3lame.patch + fix-uwp.patch + fix-wavlike.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_find_acquire_program(PYTHON3) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + external-libs ENABLE_EXTERNAL_LIBS + mpeg ENABLE_MPEG + regtest BUILD_REGTEST +) + +if(VCPKG_TARGET_IS_UWP) + set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}") + set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DENABLE_BOW_DOCS=OFF + -DBUILD_PROGRAMS=OFF + -DBUILD_REGTEST=OFF + -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON + -DPYTHON_EXECUTABLE=${PYTHON3} + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + PYTHON_EXECUTABLE +) + +vcpkg_cmake_install() + +if(WIN32 AND (NOT MINGW) AND (NOT CYGWIN)) + set(CONFIG_PATH cmake) +else() + set(CONFIG_PATH lib/cmake/SndFile) +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME SndFile CONFIG_PATH "${CONFIG_PATH}") +vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg-ports/libsndfile/vcpkg.json b/vcpkg-ports/libsndfile/vcpkg.json new file mode 100644 index 00000000..ad775ca2 --- /dev/null +++ b/vcpkg-ports/libsndfile/vcpkg.json @@ -0,0 +1,51 @@ +{ + "name": "libsndfile", + "version-semver": "1.1.0", + "port-version": 1, + "description": "A library for reading and writing audio files", + "homepage": "https://github.com/erikd/libsndfile", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "external-libs", + "mpeg" + ], + "features": { + "experimental": { + "description": "Enable experimental code", + "dependencies": [ + "speex" + ] + }, + "external-libs": { + "description": "Enable FLAC, Vorbis, and Opus codecs", + "dependencies": [ + "libflac", + "libvorbis", + "opus" + ] + }, + "mpeg": { + "description": "Enable MPEG codecs", + "dependencies": [ + "mp3lame", + "mpg123" + ] + }, + "regtest": { + "description": "Build regtest", + "dependencies": [ + "sqlite3" + ] + } + } +} |
