aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/portaudio
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/portaudio
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/portaudio')
-rw-r--r--vcpkg/ports/portaudio/jack.diff26
-rw-r--r--vcpkg/ports/portaudio/portfile.cmake59
-rw-r--r--vcpkg/ports/portaudio/vcpkg.json23
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
+ }
+ ]
+}