From b79fa0ec388f15ba8a5e28f3e43325d2d16c1b99 Mon Sep 17 00:00:00 2001 From: omartijn <44672243+omartijn@users.noreply.github.com> Date: Fri, 3 Feb 2023 01:22:45 +0100 Subject: [PATCH] [abletonlink] Rename ableton port to abletonlink (#28892) * [tiff] Fix zstd plus minor changes (#28530) * Use official zstd config * Require packages for features * Test zstd in CI * Enable libtiffxx on arm * Update versions * Assume ZSTD_decompressStream * Don't put targets into TIFF_LIBRARIES * [qt5-imageformats] Use libtiff-4.pc * [zstd] Revise thread lib export * Mark link libs with LINK_ONLY * Revert "[zstd] Revise thread lib export" This reverts commit a99e6378a67adc68e9e43e6e193206a5ddcba60e. * [qt5-imageformats] Get all tiff lflags * [gdk-pixbuf] Use libtiff-4 pc file for msvc * [qtimageformat] Workaround for QTBUG-95052 * Rename ableton to abletonlink * Add meta-port for users using the old ableton port --------- Co-authored-by: Kai Pastor Co-authored-by: Martijn Otto --- ports/ableton/portfile.cmake | 85 +------------------ ports/ableton/vcpkg.json | 41 +-------- .../correct_cmake_include_directory.patch | 0 .../{ableton => abletonlink}/no-werror.patch | 0 ports/abletonlink/portfile.cmake | 84 ++++++++++++++++++ ...ce_asiosdk_download_by_vcpkg_asiosdk.patch | 0 ...e_local_asiostandalone_by_vcpkg_asio.patch | 0 .../replace_local_catch_by_vcpkg_catch2.patch | 0 ports/abletonlink/vcpkg.json | 45 ++++++++++ versions/a-/ableton.json | 5 ++ versions/a-/abletonlink.json | 9 ++ versions/baseline.json | 4 + 12 files changed, 152 insertions(+), 121 deletions(-) rename ports/{ableton => abletonlink}/correct_cmake_include_directory.patch (100%) rename ports/{ableton => abletonlink}/no-werror.patch (100%) create mode 100644 ports/abletonlink/portfile.cmake rename ports/{ableton => abletonlink}/replace_asiosdk_download_by_vcpkg_asiosdk.patch (100%) rename ports/{ableton => abletonlink}/replace_local_asiostandalone_by_vcpkg_asio.patch (100%) rename ports/{ableton => abletonlink}/replace_local_catch_by_vcpkg_catch2.patch (100%) create mode 100644 ports/abletonlink/vcpkg.json create mode 100644 versions/a-/abletonlink.json diff --git a/ports/ableton/portfile.cmake b/ports/ableton/portfile.cmake index 521563e857..0015715fb6 100644 --- a/ports/ableton/portfile.cmake +++ b/ports/ableton/portfile.cmake @@ -1,84 +1 @@ -#header-only library -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Ableton/link - REF Link-3.0.6 - SHA512 7dd811d3b7792722a8754cd0875777b8cf4902a0babff2822a6fd997137eb5feac576263169c71fca24358189e56b5106a32ae1313b33fb6148eb845691a6438 - HEAD_REF master - PATCHES - replace_local_asiostandalone_by_vcpkg_asio.patch - replace_asiosdk_download_by_vcpkg_asiosdk.patch - replace_local_catch_by_vcpkg_catch2.patch - no-werror.patch -) -# Note that the dependencies ASIO and ASIOSDK are completely different things: -# -ASIO (ASyncronous IO) is a cross-platform C++ library for network and low-level I/O programming -# -ASIOSDK is the SDK for the Steinberg ASIO (Audio Stream Input/Output) driver, for profesional Windows audio applications - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES - "discoverytest" LinkDiscoveryTest - "coretest" LinkCoreTest - "hut" LinkHut - "hutsilent" LinkHutSilent -) - -file(REMOVE_RECURSE "${SOURCE_PATH}/ci") -file(REMOVE_RECURSE "${SOURCE_PATH}/modules") -file(REMOVE_RECURSE "${SOURCE_PATH}/third_party") - -set(NEED_CATCH2 OFF) -if ("coretest" IN_LIST FEATURES) - set(NEED_CATCH2 ON) -endif() -if ("discoverytest" IN_LIST FEATURES) - set(NEED_CATCH2 ON) -endif() - -set(NEED_ASIOSDK OFF) -if ("hut" IN_LIST FEATURES) - if(WIN32) - # Need Steinberg ASIO audio driver SDK (only this low-latency audio driver makes the developer tool 'hut' useful on Windows) - set(NEED_ASIOSDK ON) - endif() -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DNEED_CATCH2=${NEED_CATCH2} - -DLINK_BUILD_ASIO=${NEED_ASIOSDK} -) - -if ("coretest" IN_LIST FEATURES) - vcpkg_cmake_build(TARGET LinkCoreTest) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkCoreTest${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") -endif() -if ("discoverytest" IN_LIST FEATURES) - vcpkg_cmake_build(TARGET LinkDiscoveryTest) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkDiscoveryTest${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") -endif() -if ("hut" IN_LIST FEATURES) - vcpkg_cmake_build(TARGET LinkHut) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkHut${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") -endif() -if ("hutsilent" IN_LIST FEATURES) - vcpkg_cmake_build(TARGET LinkHutSilent) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkHutSilent${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") -endif() - -# We must not correct the CMake include path before build -vcpkg_apply_patches( - SOURCE_PATH "${SOURCE_PATH}" - PATCHES - correct_cmake_include_directory.patch -) - -file(INSTALL "${SOURCE_PATH}/AbletonLinkConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/") -file(INSTALL "${SOURCE_PATH}/cmake_include/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake_include/") -file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include" PATTERN "CMakeLists.txt" EXCLUDE) - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/ableton/vcpkg.json b/ports/ableton/vcpkg.json index 01720f4ff5..904348bbca 100644 --- a/ports/ableton/vcpkg.json +++ b/ports/ableton/vcpkg.json @@ -1,45 +1,12 @@ { "name": "ableton", "version": "3.0.6", - "description": "Ableton Link, a technology that synchronizes musical beat, tempo, and phase across multiple applications running on one or more devices.", + "port-version": 1, + "description": "Meta-package for transitioning to abletonlink port.", "homepage": "https://www.ableton.com/en/link/", "documentation": "http://ableton.github.io/link/", "license": "GPL-2.0-or-later", "dependencies": [ - "asio", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "features": { - "coretest": { - "description": "Build LinkCoreTest suite", - "dependencies": [ - "catch2" - ] - }, - "discoverytest": { - "description": "Build LinkDiscoveryTest suite", - "dependencies": [ - "catch2" - ] - }, - "hut": { - "description": "Build LinkHut command line tool", - "dependencies": [ - { - "name": "asiosdk", - "platform": "windows" - } - ] - }, - "hutsilent": { - "description": "Build LinkHutSilent command line tool" - } - } + "abletonlink" + ] } diff --git a/ports/ableton/correct_cmake_include_directory.patch b/ports/abletonlink/correct_cmake_include_directory.patch similarity index 100% rename from ports/ableton/correct_cmake_include_directory.patch rename to ports/abletonlink/correct_cmake_include_directory.patch diff --git a/ports/ableton/no-werror.patch b/ports/abletonlink/no-werror.patch similarity index 100% rename from ports/ableton/no-werror.patch rename to ports/abletonlink/no-werror.patch diff --git a/ports/abletonlink/portfile.cmake b/ports/abletonlink/portfile.cmake new file mode 100644 index 0000000000..521563e857 --- /dev/null +++ b/ports/abletonlink/portfile.cmake @@ -0,0 +1,84 @@ +#header-only library +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Ableton/link + REF Link-3.0.6 + SHA512 7dd811d3b7792722a8754cd0875777b8cf4902a0babff2822a6fd997137eb5feac576263169c71fca24358189e56b5106a32ae1313b33fb6148eb845691a6438 + HEAD_REF master + PATCHES + replace_local_asiostandalone_by_vcpkg_asio.patch + replace_asiosdk_download_by_vcpkg_asiosdk.patch + replace_local_catch_by_vcpkg_catch2.patch + no-werror.patch +) +# Note that the dependencies ASIO and ASIOSDK are completely different things: +# -ASIO (ASyncronous IO) is a cross-platform C++ library for network and low-level I/O programming +# -ASIOSDK is the SDK for the Steinberg ASIO (Audio Stream Input/Output) driver, for profesional Windows audio applications + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "discoverytest" LinkDiscoveryTest + "coretest" LinkCoreTest + "hut" LinkHut + "hutsilent" LinkHutSilent +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/ci") +file(REMOVE_RECURSE "${SOURCE_PATH}/modules") +file(REMOVE_RECURSE "${SOURCE_PATH}/third_party") + +set(NEED_CATCH2 OFF) +if ("coretest" IN_LIST FEATURES) + set(NEED_CATCH2 ON) +endif() +if ("discoverytest" IN_LIST FEATURES) + set(NEED_CATCH2 ON) +endif() + +set(NEED_ASIOSDK OFF) +if ("hut" IN_LIST FEATURES) + if(WIN32) + # Need Steinberg ASIO audio driver SDK (only this low-latency audio driver makes the developer tool 'hut' useful on Windows) + set(NEED_ASIOSDK ON) + endif() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DNEED_CATCH2=${NEED_CATCH2} + -DLINK_BUILD_ASIO=${NEED_ASIOSDK} +) + +if ("coretest" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkCoreTest) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkCoreTest${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() +if ("discoverytest" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkDiscoveryTest) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkDiscoveryTest${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() +if ("hut" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkHut) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkHut${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() +if ("hutsilent" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkHutSilent) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkHutSilent${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() + +# We must not correct the CMake include path before build +vcpkg_apply_patches( + SOURCE_PATH "${SOURCE_PATH}" + PATCHES + correct_cmake_include_directory.patch +) + +file(INSTALL "${SOURCE_PATH}/AbletonLinkConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/") +file(INSTALL "${SOURCE_PATH}/cmake_include/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake_include/") +file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include" PATTERN "CMakeLists.txt" EXCLUDE) + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ableton/replace_asiosdk_download_by_vcpkg_asiosdk.patch b/ports/abletonlink/replace_asiosdk_download_by_vcpkg_asiosdk.patch similarity index 100% rename from ports/ableton/replace_asiosdk_download_by_vcpkg_asiosdk.patch rename to ports/abletonlink/replace_asiosdk_download_by_vcpkg_asiosdk.patch diff --git a/ports/ableton/replace_local_asiostandalone_by_vcpkg_asio.patch b/ports/abletonlink/replace_local_asiostandalone_by_vcpkg_asio.patch similarity index 100% rename from ports/ableton/replace_local_asiostandalone_by_vcpkg_asio.patch rename to ports/abletonlink/replace_local_asiostandalone_by_vcpkg_asio.patch diff --git a/ports/ableton/replace_local_catch_by_vcpkg_catch2.patch b/ports/abletonlink/replace_local_catch_by_vcpkg_catch2.patch similarity index 100% rename from ports/ableton/replace_local_catch_by_vcpkg_catch2.patch rename to ports/abletonlink/replace_local_catch_by_vcpkg_catch2.patch diff --git a/ports/abletonlink/vcpkg.json b/ports/abletonlink/vcpkg.json new file mode 100644 index 0000000000..912f59b709 --- /dev/null +++ b/ports/abletonlink/vcpkg.json @@ -0,0 +1,45 @@ +{ + "name": "abletonlink", + "version": "3.0.6", + "description": "Ableton Link, a technology that synchronizes musical beat, tempo, and phase across multiple applications running on one or more devices.", + "homepage": "https://www.ableton.com/en/link/", + "documentation": "http://ableton.github.io/link/", + "license": "GPL-2.0-or-later", + "dependencies": [ + "asio", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "coretest": { + "description": "Build LinkCoreTest suite", + "dependencies": [ + "catch2" + ] + }, + "discoverytest": { + "description": "Build LinkDiscoveryTest suite", + "dependencies": [ + "catch2" + ] + }, + "hut": { + "description": "Build LinkHut command line tool", + "dependencies": [ + { + "name": "asiosdk", + "platform": "windows" + } + ] + }, + "hutsilent": { + "description": "Build LinkHutSilent command line tool" + } + } +} diff --git a/versions/a-/ableton.json b/versions/a-/ableton.json index 668c0f1049..078d7e987b 100644 --- a/versions/a-/ableton.json +++ b/versions/a-/ableton.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "04e19d5336b0e18917966ce1de230dc3bf9c796d", + "version": "3.0.6", + "port-version": 1 + }, { "git-tree": "99ee001ca82f0336506a3f33cb2b94e7942464e3", "version": "3.0.6", diff --git a/versions/a-/abletonlink.json b/versions/a-/abletonlink.json new file mode 100644 index 0000000000..af405c1775 --- /dev/null +++ b/versions/a-/abletonlink.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c0588a447d137cad95097141c9006267a129eab3", + "version": "3.0.6", + "port-version": 0 + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 0eafc39c22..f0307b5689 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9,6 +9,10 @@ "port-version": 0 }, "ableton": { + "baseline": "3.0.6", + "port-version": 1 + }, + "abletonlink": { "baseline": "3.0.6", "port-version": 0 },