diff options
Diffstat (limited to 'vcpkg/ports/mpg123')
| -rw-r--r-- | vcpkg/ports/mpg123/fix-dllexport.diff | 16 | ||||
| -rw-r--r-- | vcpkg/ports/mpg123/have-fpu.diff | 13 | ||||
| -rw-r--r-- | vcpkg/ports/mpg123/pkgconfig.diff | 66 | ||||
| -rw-r--r-- | vcpkg/ports/mpg123/portfile.cmake | 43 | ||||
| -rw-r--r-- | vcpkg/ports/mpg123/vcpkg.json | 27 |
5 files changed, 165 insertions, 0 deletions
diff --git a/vcpkg/ports/mpg123/fix-dllexport.diff b/vcpkg/ports/mpg123/fix-dllexport.diff new file mode 100644 index 0000000..efd15ce --- /dev/null +++ b/vcpkg/ports/mpg123/fix-dllexport.diff @@ -0,0 +1,16 @@ +diff --git a/src/libmpg123/mpg123lib_intern.h b/src/libmpg123/mpg123lib_intern.h +index b46c419..7cd5504 100644 +--- a/src/libmpg123/mpg123lib_intern.h ++++ b/src/libmpg123/mpg123lib_intern.h +@@ -21,7 +21,10 @@ + + // Only portable API plays a role in the library itself, outside of lfs_wrap.c. + // Also, we need to ensure no suffix renaming for the primary implementations. +-#define MPG123_PORTABLE_API ++// But: The _definition_ of non-portable API needs to be present for those ++// primary implementations being exported for DLL builds. Just the largefile ++// renaming needs to be skipped! ++#define MPG123_NO_LARGENAME + #define MPG123_ENUM_API + #include "mpg123.h" + diff --git a/vcpkg/ports/mpg123/have-fpu.diff b/vcpkg/ports/mpg123/have-fpu.diff new file mode 100644 index 0000000..57eb3cd --- /dev/null +++ b/vcpkg/ports/mpg123/have-fpu.diff @@ -0,0 +1,13 @@ +diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt +index 32bc03c..acd420f 100644 +--- a/ports/cmake/src/CMakeLists.txt ++++ b/ports/cmake/src/CMakeLists.txt +@@ -188,6 +188,8 @@ check_cpu_arch_arm64(ARCH_IS_ARM64) + + if(WIN32 OR (ARCH_IS_ARM64 AND APPLE)) + set(HAVE_FPU 1) ++elseif(CMAKE_CROSSCOMPILING OR DEFINED HAVE_FPU) ++ set(HAVE_FPU 1 CACHE STRING "Override in triplet if needed") + else() + cmake_host_system_information(RESULT HAVE_FPU QUERY HAS_FPU) + endif() diff --git a/vcpkg/ports/mpg123/pkgconfig.diff b/vcpkg/ports/mpg123/pkgconfig.diff new file mode 100644 index 0000000..5e2119c --- /dev/null +++ b/vcpkg/ports/mpg123/pkgconfig.diff @@ -0,0 +1,66 @@ +diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt +index 32bc03c..952141b 100644 +--- a/ports/cmake/src/CMakeLists.txt ++++ b/ports/cmake/src/CMakeLists.txt +@@ -450,3 +450,7 @@ if(UNIX AND NOT PORTABLE_API) + endif() + + configure_file(config.cmake.h.in config.h) ++ ++set(LIBMPG123_LIBS "${LIBMPG123_LIBS}" PARENT_SCOPE) ++set(LIBOUT123_LIBS "${LIBOUT123_LIBS}" PARENT_SCOPE) ++set(LIBSYN123_LIBS "${LIBSYN123_LIBS}" PARENT_SCOPE) +diff --git a/ports/cmake/src/libmpg123/CMakeLists.txt b/ports/cmake/src/libmpg123/CMakeLists.txt +index 7cb08be..3e1c042 100644 +--- a/ports/cmake/src/libmpg123/CMakeLists.txt ++++ b/ports/cmake/src/libmpg123/CMakeLists.txt +@@ -235,6 +235,13 @@ else() + target_sources(${TARGET} PRIVATE ${PLATFORM_SOURCES}) + endif() + ++if(HAVE_M) ++ string(APPEND LIBMPG123_LIBS " -lm") ++endif() ++if(WANT_WIN32_UNICODE) ++ string(APPEND LIBMPG123_LIBS " -lshlwapi") ++endif() ++set(LIBMPG123_LIBS "${LIBMPG123_LIBS}" PARENT_SCOPE) + target_link_libraries(${TARGET} PRIVATE + $<$<BOOL:${HAVE_M}>:m> + $<$<BOOL:${WANT_WIN32_UNICODE}>:shlwapi>) +diff --git a/ports/cmake/src/libout123/CMakeLists.txt b/ports/cmake/src/libout123/CMakeLists.txt +index d0fe358..cd800d8 100644 +--- a/ports/cmake/src/libout123/CMakeLists.txt ++++ b/ports/cmake/src/libout123/CMakeLists.txt +@@ -18,6 +18,13 @@ add_library(${TARGET} + + set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME out123) + ++if(HAVE_UNIX_DL) ++ string(APPEND LIBOUT123_LIBS " -ldl") ++endif() ++if(WANT_WIN32_UNICODE) ++ string(APPEND LIBOUT123_LIBS " -lshlwapi") ++endif() ++set(LIBOUT123_LIBS "${LIBOUT123_LIBS}" PARENT_SCOPE) + target_link_libraries(${TARGET} PRIVATE + $<TARGET_NAME_IF_EXISTS:defaultmodule> + $<$<BOOL:${HAVE_UNIX_DL}>:dl> +diff --git a/ports/cmake/src/libsyn123/CMakeLists.txt b/ports/cmake/src/libsyn123/CMakeLists.txt +index 6edb5b7..0b660f5 100644 +--- a/ports/cmake/src/libsyn123/CMakeLists.txt ++++ b/ports/cmake/src/libsyn123/CMakeLists.txt +@@ -19,6 +19,13 @@ target_include_directories(${TARGET} INTERFACE + "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>" + "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>") + ++if(HAVE_M) ++ string(APPEND LIBSYN123_LIBS " -lm") ++endif() ++if(WANT_WIN32_UNICODE) ++ string(APPEND LIBSYN123_LIBS " -lshlwapi") ++endif() ++set(LIBSYN123_LIBS "${LIBSYN123_LIBS}" PARENT_SCOPE) + target_link_libraries(${TARGET} PRIVATE + $<$<BOOL:${HAVE_M}>:m> + $<$<BOOL:${WANT_WIN32_UNICODE}>:shlwapi>) diff --git a/vcpkg/ports/mpg123/portfile.cmake b/vcpkg/ports/mpg123/portfile.cmake new file mode 100644 index 0000000..8a92c99 --- /dev/null +++ b/vcpkg/ports/mpg123/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO mpg123/mpg123 + REF "${VERSION}" + FILENAME "mpg123-${VERSION}.tar.bz2" + SHA512 dccb640b0845061811cb41bf145587e7093556d686d49a748232b079659b46284b6cc40db42d14febceac11277c58edf2b69d1b4c46c223829a3d15478e2e26c + PATCHES + fix-dllexport.diff + have-fpu.diff + pkgconfig.diff +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + yasm_tool_helper(APPEND_TO_PATH) +endif() + +vcpkg_list(SET options) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND options "-DLIBMPG123_LIBS=-lshlwapi") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/ports/cmake" + OPTIONS + -DUSE_MODULES=OFF + -DBUILD_PROGRAMS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_ALSA=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON + ${options} + MAYBE_UNUSED_VARIABLES + BUILD_PROGRAMS + CMAKE_DISABLE_FIND_PACKAGE_ALSA + CMAKE_DISABLE_FIND_PACKAGE_PkgConfig +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/vcpkg/ports/mpg123/vcpkg.json b/vcpkg/ports/mpg123/vcpkg.json new file mode 100644 index 0000000..b4f71a6 --- /dev/null +++ b/vcpkg/ports/mpg123/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "mpg123", + "version": "1.32.9", + "port-version": 1, + "description": "mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).", + "homepage": "https://sourceforge.net/projects/mpg123/", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "yasm", + "host": true, + "features": [ + "tools" + ], + "platform": "windows & !mingw" + } + ] +} |