[jack2] update to 1.9.19; install pkgconfig file; fix library name (#19270)

Also:
* allow dynamic linking by adding jack.def file
* replace deprecated vcpkg functions
* replace legacy CONTROL file with vcpkg.json
This commit is contained in:
Be 2021-08-05 03:23:41 -07:00 committed by GitHub
parent e7c0115660
commit 3ab8c74874
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 161 additions and 28 deletions

View File

@ -1,14 +1,33 @@
cmake_minimum_required(VERSION 3.8)
project(jack2 C)
cmake_minimum_required(VERSION 3.1)
project(jack VERSION 1.9 LANGUAGES C)
include_directories(common)
add_library(jack2 STATIC common/JackWeakAPI.c)
add_library(jack common/JackWeakAPI.c)
if(WIN32 AND BUILD_SHARED_LIBS)
target_sources(jack PRIVATE jack.def)
endif()
target_link_libraries(jack PRIVATE ${CMAKE_DL_LIBS})
install(TARGETS jack2
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
include(GNUInstallDirs)
install(TARGETS jack
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
install(DIRECTORY common/jack DESTINATION include)
set(PREFIX "${CMAKE_INSTALL_PREFIX}")
set(LIBDIR "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
set(INCLUDEDIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
set(JACK_VERSION "${CMAKE_PROJECT_VERSION}")
# JackWeak dynamically loads the real JACK library which requires linking CMAKE_DL_LIBS
if(CMAKE_DL_LIBS)
set(CLIENTLIB "jack -l${CMAKE_DL_LIBS}")
else()
set(CLIENTLIB "jack")
endif()
# NOTE: the server_libs variable will be broken but this port does not build the server anyway
configure_file(jack.pc.in "${CMAKE_CURRENT_BINARY_DIR}/jack.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/jack.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
install(DIRECTORY "common/jack" DESTINATION "include")

View File

@ -1,6 +0,0 @@
Source: jack2
Version: 1.9.14
Homepage: https://github.com/jackaudio/jack2
Description: Cross-platform API that enables device sharing and inter-application audio routing
Supports: !uwp

96
ports/jack2/jack.def Normal file
View File

@ -0,0 +1,96 @@
LIBRARY JACK
EXPORTS
;FIXME these are unimplemented
;jack_port_uuid
;jack_get_cycle_times
jack_get_version
jack_get_version_string
jack_client_open
jack_client_new
jack_client_close
jack_client_name_size
jack_get_client_name
jack_get_uuid_for_client_name
jack_get_client_name_by_uuid
jack_internal_client_new
jack_internal_client_close
jack_activate
jack_deactivate
jack_client_thread_id
jack_is_realtime
jack_thread_wait
jack_cycle_wait
jack_cycle_signal
jack_set_process_thread
jack_set_thread_init_callback
jack_on_shutdown
jack_on_info_shutdown
jack_set_process_callback
jack_set_freewheel_callback
jack_set_buffer_size_callback
jack_set_sample_rate_callback
jack_set_client_registration_callback
jack_set_port_registration_callback
jack_set_port_connect_callback
jack_set_port_rename_callback
jack_set_graph_order_callback
jack_set_xrun_callback
jack_set_latency_callback
jack_set_freewheel
jack_set_buffer_size
jack_get_sample_rate
jack_get_buffer_size
jack_engine_takeover_timebase
jack_cpu_load
jack_port_register
jack_port_unregister
jack_port_get_buffer
jack_port_name
jack_port_short_name
jack_port_flags
jack_port_type
jack_port_type_id
jack_port_is_mine
jack_port_connected
jack_port_connected_to
jack_port_get_connections
jack_port_get_all_connections
jack_port_tie
jack_port_untie
jack_port_set_name
jack_port_rename
jack_port_set_alias
jack_port_unset_alias
jack_port_get_aliases
jack_port_request_monitor
jack_port_request_monitor_by_name
jack_port_ensure_monitor
jack_port_monitoring_input
jack_connect
jack_disconnect
jack_port_disconnect
jack_port_name_size
jack_port_type_size
jack_port_type_get_buffer_size
jack_port_set_latency
jack_port_get_latency_range
jack_port_set_latency_range
jack_recompute_total_latencies
jack_port_get_latency
jack_port_get_total_latency
jack_recompute_total_latency
jack_get_ports
jack_port_by_name
jack_port_by_id
jack_frames_since_cycle_start
jack_frame_time
jack_last_frame_time
jack_frames_to_time
jack_time_to_frames
jack_get_time
jack_set_error_function
jack_set_info_function
jack_free

View File

@ -1,25 +1,27 @@
vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jackaudio/jack2
REF b54a09bf7ef760d81fdb8544ad10e45575394624 # v1.9.14
SHA512 a5f920ed1df71d9f5e3c4889ea2aa4d9ed9082d0b9070437a068e24a2caa5dffaa71b19352e9da056e9f23e930edab56816235ceb9293cc33d8870265f392c1d
REF v1.9.19
SHA512 d8d5fe17e2984959546af3c53f044aa4648860e19ff8ffd54452e87fa6cdfd111f825c57e3df17cb8ed95de8392b6f354b12ded41e3e021a37f07b99a89ba18d
HEAD_REF master
)
# Install headers and a statically built JackWeakAPI.c
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
# Install headers and a shim library with JackWeakAPI.c
file(COPY
"${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt"
"${CMAKE_CURRENT_LIST_DIR}/jack.def"
DESTINATION "${SOURCE_PATH}"
)
vcpkg_install_cmake()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_cmake_install()
vcpkg_fixup_pkgconfig()
file(INSTALL ${SOURCE_PATH}/README.rst DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/README.rst" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

17
ports/jack2/vcpkg.json Normal file
View File

@ -0,0 +1,17 @@
{
"name": "jack2",
"version-semver": "1.9.19",
"description": "Cross-platform API that enables device sharing and inter-application audio routing",
"homepage": "https://jackaudio.org/",
"supports": "!uwp",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -2765,7 +2765,7 @@
"port-version": 0
},
"jack2": {
"baseline": "1.9.14",
"baseline": "1.9.19",
"port-version": 0
},
"jaeger-client-cpp": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "408805b50757c6f3e5585ca5fddf17df005dfb58",
"version-semver": "1.9.19",
"port-version": 0
},
{
"git-tree": "a97592cbcb8260d6cae738bf5542f5895195c91b",
"version-string": "1.9.14",