aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBe <be@mixxx.org>2021-08-05 03:23:41 -0700
committerGitHub <noreply@github.com>2021-08-05 03:23:41 -0700
commit3ab8c7487451cc61c778258c92bd88dfe3c5f32e (patch)
tree47716ff938617a81ea8b81e5a80248710c35361f
parente7c01156600c7bbbcd33868af8fe16bf9c08948a (diff)
downloadvcpkg-3ab8c7487451cc61c778258c92bd88dfe3c5f32e.tar.gz
vcpkg-3ab8c7487451cc61c778258c92bd88dfe3c5f32e.zip
[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
-rw-r--r--ports/jack2/CMakeLists.txt35
-rw-r--r--ports/jack2/CONTROL6
-rw-r--r--ports/jack2/jack.def96
-rw-r--r--ports/jack2/portfile.cmake26
-rw-r--r--ports/jack2/vcpkg.json17
-rw-r--r--versions/baseline.json2
-rw-r--r--versions/j-/jack2.json5
7 files changed, 160 insertions, 27 deletions
diff --git a/ports/jack2/CMakeLists.txt b/ports/jack2/CMakeLists.txt
index 2fb25edb8..6c46d8d91 100644
--- a/ports/jack2/CMakeLists.txt
+++ b/ports/jack2/CMakeLists.txt
@@ -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")
diff --git a/ports/jack2/CONTROL b/ports/jack2/CONTROL
deleted file mode 100644
index 3337ea212..000000000
--- a/ports/jack2/CONTROL
+++ /dev/null
@@ -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
-
diff --git a/ports/jack2/jack.def b/ports/jack2/jack.def
new file mode 100644
index 000000000..c542e5337
--- /dev/null
+++ b/ports/jack2/jack.def
@@ -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
diff --git a/ports/jack2/portfile.cmake b/ports/jack2/portfile.cmake
index 1c65a2167..f7319a2bf 100644
--- a/ports/jack2/portfile.cmake
+++ b/ports/jack2/portfile.cmake
@@ -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})
+# 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_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
)
-vcpkg_install_cmake()
+vcpkg_cmake_install()
+vcpkg_fixup_pkgconfig()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
-file(INSTALL ${SOURCE_PATH}/README.rst DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL "${SOURCE_PATH}/README.rst" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/jack2/vcpkg.json b/ports/jack2/vcpkg.json
new file mode 100644
index 000000000..d10c200dd
--- /dev/null
+++ b/ports/jack2/vcpkg.json
@@ -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
+ }
+ ]
+}
diff --git a/versions/baseline.json b/versions/baseline.json
index 60a476e60..cf5bb0612 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -2765,7 +2765,7 @@
"port-version": 0
},
"jack2": {
- "baseline": "1.9.14",
+ "baseline": "1.9.19",
"port-version": 0
},
"jaeger-client-cpp": {
diff --git a/versions/j-/jack2.json b/versions/j-/jack2.json
index 9be1fdd14..4d9d85694 100644
--- a/versions/j-/jack2.json
+++ b/versions/j-/jack2.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "408805b50757c6f3e5585ca5fddf17df005dfb58",
+ "version-semver": "1.9.19",
+ "port-version": 0
+ },
+ {
"git-tree": "a97592cbcb8260d6cae738bf5542f5895195c91b",
"version-string": "1.9.14",
"port-version": 0