Source: audacity Version: 3.7.1+dfsg-1 Severity: wishlist Tags: patch
Dear Maintainer,Please consider building audacity with vst3sdk support. vst3sdk is packaged in Debian as libvst3sdk-dev. The attached debdiff enables vst3sdk support in audacity and builds successfully at least on amd64.
There is, however, a concern about architecture support. libvst3sdk-dev is not provided on i386 and riscv64, thus ideally on these architectures audacity should build without vst3sdk. I did not implement conditional building in the attached debdiff yet.
If convenient, my changes can also be viewed on git branch on salsa: https://salsa.debian.org/merkys/audacity/-/tree/with-vst3sdk
Best wishes, Andrius
diff -Nru audacity-3.7.1+dfsg/debian/changelog audacity-3.7.1+dfsg/debian/changelog --- audacity-3.7.1+dfsg/debian/changelog 2024-12-31 13:53:08.000000000 +0000 +++ audacity-3.7.1+dfsg/debian/changelog 2025-01-28 11:02:59.000000000 +0000 @@ -1,3 +1,9 @@ +audacity (3.7.1+dfsg-2) UNRELEASED; urgency=medium + + * Build with vst3sdk support. + + -- Andrius Merkys <mer...@debian.org> Tue, 28 Jan 2025 11:02:59 +0000 + audacity (3.7.1+dfsg-1) unstable; urgency=medium * New upstream version 3.7.1+dfsg diff -Nru audacity-3.7.1+dfsg/debian/control audacity-3.7.1+dfsg/debian/control --- audacity-3.7.1+dfsg/debian/control 2024-11-09 20:36:13.000000000 +0000 +++ audacity-3.7.1+dfsg/debian/control 2025-01-28 10:03:45.000000000 +0000 @@ -42,6 +42,7 @@ libsuil-dev, libtwolame-dev, libvorbis-dev, + libvst3sdk-dev, libwavpack-dev (>= 5.2.0), libwxgtk3.2-dev, libwxgtk3.2-dev:native, diff -Nru audacity-3.7.1+dfsg/debian/patches/adjust-vst3sdk-paths.patch audacity-3.7.1+dfsg/debian/patches/adjust-vst3sdk-paths.patch --- audacity-3.7.1+dfsg/debian/patches/adjust-vst3sdk-paths.patch 1970-01-01 00:00:00.000000000 +0000 +++ audacity-3.7.1+dfsg/debian/patches/adjust-vst3sdk-paths.patch 2025-01-28 10:03:45.000000000 +0000 @@ -0,0 +1,93 @@ +--- a/cmake-proxies/cmake-modules/Findvst3sdk.cmake ++++ b/cmake-proxies/cmake-modules/Findvst3sdk.cmake +@@ -3,82 +3,29 @@ + ]] + + if( NOT vst3sdk_FOUND ) +- if( DEFINED ENV{VST3_SDK_DIR} ) +- set( vst3sdk_DIR $ENV{VST3_SDK_DIR} ) +- elseif( DEFINED ENV{VST3SDK_PATH} ) +- set( vst3sdk_DIR $ENV{VST3SDK_PATH} ) +- elseif( DEFINED ENV{VST3SDK} ) +- set( vst3sdk_DIR $ENV{VST3SDK} ) +- else() +- set( vst3sdk_DIR ${CMAKE_SOURCE_DIR}/vst3sdk ) +- endif() +- +- if( NOT EXISTS ${vst3sdk_DIR} ) +- message( STATUS "VST3SDK not found. Please set VST3SDK_DIR to the path to the vst3sdk directory." ) +- return() +- endif() +- +- set( vst3sdk_BUILD ${CMAKE_BINARY_DIR}/vst3sdk ) +- +- message( STATUS "VST3SDK_DIR: ${vst3sdk_DIR}" ) +- message( STATUS "Building SDK in ${vst3sdk_BUILD}" ) +- +- execute_process(COMMAND +- ${CMAKE_COMMAND} +- -G ${CMAKE_GENERATOR} +- -S ${vst3sdk_DIR} +- -B ${vst3sdk_BUILD} +- -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -D SMTG_ENABLE_VST3_HOSTING_EXAMPLES=OFF +- -D SMTG_ENABLE_VST3_PLUGIN_EXAMPLES=OFF +- -D SMTG_ENABLE_VSTGUI_SUPPORT=OFF +- -D SMTG_CREATE_BUNDLE_FOR_WINDOWS=Off +- -D SMTG_MYPLUGINS_SRC_PATH="" +- -D SMTG_RUN_VST_VALIDATOR=Off +- +- RESULT_VARIABLE vst3sdk_configure_result +- ) +- +- if( vst3sdk_configure_result ) +- message( FATAL_ERROR "Failed to configure VST3SDK" ) +- endif() +- +- execute_process(COMMAND +- ${CMAKE_COMMAND} +- --build ${vst3sdk_BUILD} +- --config ${CMAKE_BUILD_TYPE} +- --parallel +- +- RESULT_VARIABLE vst3sdk_build_result +- ) +- +- if( vst3sdk_build_result ) +- message( FATAL_ERROR "Failed to build VST3SDK" ) +- endif() +- + add_library(vst3sdk::base STATIC IMPORTED GLOBAL) + add_library(vst3sdk::pluginterfaces STATIC IMPORTED GLOBAL) + add_library(vst3sdk::sdk_hosting STATIC IMPORTED GLOBAL) + add_library(vst3sdk::sdk_common STATIC IMPORTED GLOBAL) + + set_target_properties(vst3sdk::base PROPERTIES +- IMPORTED_LOCATION ${vst3sdk_BUILD}/lib/${CMAKE_BUILD_TYPE}/${CMAKE_STATIC_LIBRARY_PREFIX}base${CMAKE_STATIC_LIBRARY_SUFFIX} +- INTERFACE_INCLUDE_DIRECTORIES ${vst3sdk_DIR} ++ IMPORTED_LOCATION /usr/lib/${CMAKE_DEB_HOST_MULTIARCH}/vst3sdk/${CMAKE_STATIC_LIBRARY_PREFIX}base${CMAKE_STATIC_LIBRARY_SUFFIX} ++ INTERFACE_INCLUDE_DIRECTORIES /usr/include/vst3sdk + ) + + set_target_properties(vst3sdk::pluginterfaces PROPERTIES +- IMPORTED_LOCATION ${vst3sdk_BUILD}/lib/${CMAKE_BUILD_TYPE}/${CMAKE_STATIC_LIBRARY_PREFIX}pluginterfaces${CMAKE_STATIC_LIBRARY_SUFFIX} +- INTERFACE_INCLUDE_DIRECTORIES ${vst3sdk_DIR} ++ IMPORTED_LOCATION /usr/lib/${CMAKE_DEB_HOST_MULTIARCH}/vst3sdk/${CMAKE_STATIC_LIBRARY_PREFIX}pluginterfaces${CMAKE_STATIC_LIBRARY_SUFFIX} ++ INTERFACE_INCLUDE_DIRECTORIES /usr/include/vst3sdk + ) + + set_target_properties(vst3sdk::sdk_hosting PROPERTIES +- IMPORTED_LOCATION ${vst3sdk_BUILD}/lib/${CMAKE_BUILD_TYPE}/${CMAKE_STATIC_LIBRARY_PREFIX}sdk_hosting${CMAKE_STATIC_LIBRARY_SUFFIX} +- INTERFACE_INCLUDE_DIRECTORIES ${vst3sdk_DIR} ++ IMPORTED_LOCATION /usr/lib/${CMAKE_DEB_HOST_MULTIARCH}/vst3sdk/${CMAKE_STATIC_LIBRARY_PREFIX}sdk_hosting${CMAKE_STATIC_LIBRARY_SUFFIX} ++ INTERFACE_INCLUDE_DIRECTORIES /usr/include/vst3sdk + ) + + set_target_properties(vst3sdk::sdk_common PROPERTIES +- IMPORTED_LOCATION ${vst3sdk_BUILD}/lib/${CMAKE_BUILD_TYPE}/${CMAKE_STATIC_LIBRARY_PREFIX}sdk_common${CMAKE_STATIC_LIBRARY_SUFFIX} +- INTERFACE_INCLUDE_DIRECTORIES ${vst3sdk_DIR} ++ IMPORTED_LOCATION /usr/lib/${CMAKE_DEB_HOST_MULTIARCH}/vst3sdk/${CMAKE_STATIC_LIBRARY_PREFIX}sdk_common${CMAKE_STATIC_LIBRARY_SUFFIX} ++ INTERFACE_INCLUDE_DIRECTORIES /usr/include/vst3sdk + ) + + find_package(X11 REQUIRED) diff -Nru audacity-3.7.1+dfsg/debian/patches/series audacity-3.7.1+dfsg/debian/patches/series --- audacity-3.7.1+dfsg/debian/patches/series 2024-11-09 20:37:00.000000000 +0000 +++ audacity-3.7.1+dfsg/debian/patches/series 2025-01-28 10:03:45.000000000 +0000 @@ -1,3 +1,4 @@ Fix-rpath-for-private-libraries-on-Linux.patch Fix-setting-audacity_use_midi-off.patch Drop-UBUNTU_MENUPROXY-0-workaround.patch +adjust-vst3sdk-paths.patch diff -Nru audacity-3.7.1+dfsg/debian/rules audacity-3.7.1+dfsg/debian/rules --- audacity-3.7.1+dfsg/debian/rules 2024-04-28 16:41:29.000000000 +0000 +++ audacity-3.7.1+dfsg/debian/rules 2025-01-28 10:03:45.000000000 +0000 @@ -10,10 +10,11 @@ -DCMAKE_INSTALL_LIBDIR=lib \ -Daudacity_conan_enabled=Off \ -Daudacity_has_networking=Off \ - -Daudacity_has_vst3=Off \ -Daudacity_lib_preference=system \ -Daudacity_use_ffmpeg=loaded \ + -Daudacity_use_vst3sdk=system \ -DwxBUILD_TOOLKIT=gtk3 \ + -DCMAKE_DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH) \ $(NULL) ifeq (,$(findstring ~,$(DEB_VERSION_UPSTREAM)))