diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/portaudio | |
Diffstat (limited to 'vcpkg/ports/portaudio')
| -rw-r--r-- | vcpkg/ports/portaudio/jack.diff | 26 | ||||
| -rw-r--r-- | vcpkg/ports/portaudio/portfile.cmake | 59 | ||||
| -rw-r--r-- | vcpkg/ports/portaudio/vcpkg.json | 23 |
3 files changed, 108 insertions, 0 deletions
diff --git a/vcpkg/ports/portaudio/jack.diff b/vcpkg/ports/portaudio/jack.diff new file mode 100644 index 0000000..d7a06b2 --- /dev/null +++ b/vcpkg/ports/portaudio/jack.diff @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 122fe93..8983f85 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -288,7 +288,8 @@ ELSE() + SET(PA_SOURCES ${PA_SOURCES} ${PA_JACK_SOURCES}) + SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_USE_JACK) + SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${JACK_LIBRARIES}) +- SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -ljack") ++ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${CMAKE_DL_LIBS}) ++ SET(PA_PKGCONFIG_REQUIRES_PRIVATE "${PA_PKGCONFIG_REQUIRES_PRIVATE} jack") + ENDIF() + + FIND_PACKAGE(ALSA) +diff --git a/cmake_support/portaudio-2.0.pc.in b/cmake_support/portaudio-2.0.pc.in +index 738803d..24b211c 100644 +--- a/cmake_support/portaudio-2.0.pc.in ++++ b/cmake_support/portaudio-2.0.pc.in +@@ -6,6 +6,7 @@ includedir=${prefix}/include + Name: PortAudio + Description: Portable audio I/O + Requires: ++Requires.private: @PA_PKGCONFIG_REQUIRES_PRIVATE@ + Version: @PA_PKGCONFIG_VERSION@ + + Libs: -L${libdir} -lportaudio @PA_PKGCONFIG_LDFLAGS@ diff --git a/vcpkg/ports/portaudio/portfile.cmake b/vcpkg/ports/portaudio/portfile.cmake new file mode 100644 index 0000000..de9546e --- /dev/null +++ b/vcpkg/ports/portaudio/portfile.cmake @@ -0,0 +1,59 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PortAudio/portaudio + REF 147dd722548358763a8b649b3e4b41dfffbcfbb6 + SHA512 0f56e5f5b004f51915f29771b8fc1fe886f1fef5d65ab5ea1db43f43c49917476b9eec14b36aa54d3e9fb4d8bdf61e68c79624d00b7e548d4c493395a758233a + PATCHES + jack.diff +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" PA_DLL_LINK_WITH_STATIC_RUNTIME) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PA_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PA_BUILD_STATIC) + +vcpkg_list(SET options) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND options + -DPA_USE_ASIOSDK=OFF + -DPA_DLL_LINK_WITH_STATIC_RUNTIME=${PA_DLL_LINK_WITH_STATIC_RUNTIME} + -DPA_LIBNAME_ADD_SUFFIX=OFF + ) +elseif(VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_OSX) + vcpkg_list(APPEND options + # avoid absolute paths + -DCOREAUDIO_LIBRARY:STRING=-Wl,-framework,CoreAudio + -DAUDIOTOOLBOX_LIBRARY:STRING=-Wl,-framework,AudioToolbox + -DAUDIOUNIT_LIBRARY:STRING=-Wl,-framework,AudioUnit + -DCOREFOUNDATION_LIBRARY:STRING=-Wl,-framework,CoreFoundation + -DCORESERVICES_LIBRARY:STRING=-Wl,-framework,CoreServices + ) +else() + vcpkg_list(APPEND options + -DPA_USE_JACK=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Jack=ON + -DPA_USE_ALSA=OFF + ) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + -DPA_BUILD_SHARED=${PA_BUILD_SHARED} + -DPA_BUILD_STATIC=${PA_BUILD_STATIC} + OPTIONS_DEBUG + -DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/vcpkg/ports/portaudio/vcpkg.json b/vcpkg/ports/portaudio/vcpkg.json new file mode 100644 index 0000000..6b9f8fe --- /dev/null +++ b/vcpkg/ports/portaudio/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "portaudio", + "version": "19.7", + "port-version": 7, + "description": "PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.", + "homepage": "https://www.portaudio.com", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "jack2", + "platform": "!ios & !osx & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |