From 7481a5afa5ddb9be742f0b5e1c9fc6732f9c6a5d Mon Sep 17 00:00:00 2001 From: Raven Date: Mon, 5 Aug 2024 11:16:28 +0600 Subject: [PATCH] vstXsdk: create packages --- multimedia/vst2sdk/vst2sdk.spec | 47 +++++++++++++++++ multimedia/vst3sdk/vst3sdk-buildfix.patch | 51 ++++++++++++++++++ multimedia/vst3sdk/vst3sdk.pc | 5 ++ multimedia/vst3sdk/vst3sdk.spec | 64 +++++++++++++++++++++++ 4 files changed, 167 insertions(+) create mode 100644 multimedia/vst2sdk/vst2sdk.spec create mode 100644 multimedia/vst3sdk/vst3sdk-buildfix.patch create mode 100644 multimedia/vst3sdk/vst3sdk.pc create mode 100644 multimedia/vst3sdk/vst3sdk.spec diff --git a/multimedia/vst2sdk/vst2sdk.spec b/multimedia/vst2sdk/vst2sdk.spec new file mode 100644 index 0000000..40293de --- /dev/null +++ b/multimedia/vst2sdk/vst2sdk.spec @@ -0,0 +1,47 @@ +Name: vst2sdk +Version: 2.4 +Release: 1%{dist} +URL: https://github.com/steinbergmedia/vst3sdk +License: LicenseRef-Proprietary-Steinberg-VST3-License OR GPL-3.0-only +Summary: Steinberg's VST2 SDK + +Source0: VST_SDK_%{version}.tar.gz +Source1: vst-%{version}-sdk.tar.gz + + +BuildRequires: cmake +BuildRequires: gcc + +Requires: %{name}-filesystem >= %{version}-%{release} + +%description +%{summary}. + +%prep +%setup -q -n VST_SDK_%{version} -b 1 + +%build +%cmake + +%cmake_build + + +%install + +for file in {aeffect.h,aeffectx.h,vstfxstore.h}; +do + install -p -Dm644 pluginterfaces/vst2.x/$file "%{buildroot}%{_datadir}/vstsdk/pluginterfaces/vst2.x/$file" +done + +for file in {aeffeditor.h,audioeffect.cpp,audioeffect.h,audioeffectx.cpp,audioeffectx.h}; +do + install -p -Dm644 public.sdk/source/vst2.x/$file "%{buildroot}%{_datadir}/vstsdk/public.sdk/source/vst2.x/$file" +done + +install -p -Dm644 "%{_builddir}/vst-%{version}-sdk/vstsdk%{version}/public.sdk/source/vst2.x/vstplugmain.cpp" "%{buildroot}%{_datadir}/vstsdk/public.sdk/source/vst2.x/vstplugmain.cpp" +install -p -Dm644 "libVST_SDK.a" "%{buildroot}%{_libdir}/libVST_SDK.a" + + +%files +%{_libdir}/libVST_SDK.a +%{_datadir}/vstsdk diff --git a/multimedia/vst3sdk/vst3sdk-buildfix.patch b/multimedia/vst3sdk/vst3sdk-buildfix.patch new file mode 100644 index 0000000..5d47447 --- /dev/null +++ b/multimedia/vst3sdk/vst3sdk-buildfix.patch @@ -0,0 +1,51 @@ +diff -up vst3sdk-3.7.6/cmake/modules/SMTG_AddVST3Library.cmake.omv~ vst3sdk-3.7.6/cmake/modules/SMTG_AddVST3Library.cmake +--- vst3sdk-3.7.6/cmake/modules/SMTG_AddVST3Library.cmake.omv~ 2022-09-29 23:24:06.269798038 +0200 ++++ vst3sdk-3.7.6/cmake/modules/SMTG_AddVST3Library.cmake 2022-09-29 23:24:42.470124681 +0200 +@@ -42,6 +42,7 @@ function(smtg_target_run_vst_validator t + $ + $<$:${PLUGIN_PACKAGE_PATH}> + $<$:${PLUGIN_PACKAGE_PATH}> ++ $<$:${PLUGIN_PACKAGE_PATH}> + WORKING_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" + ) + endif(SMTG_WIN) +diff -up vst3sdk-3.7.6/public.sdk/samples/vst/again_sampleaccurate/CMakeLists.txt.omv~ vst3sdk-3.7.6/public.sdk/samples/vst/again_sampleaccurate/CMakeLists.txt +--- vst3sdk-3.7.6/public.sdk/samples/vst/again_sampleaccurate/CMakeLists.txt.omv~ 2022-09-29 23:27:09.033380510 +0200 ++++ vst3sdk-3.7.6/public.sdk/samples/vst/again_sampleaccurate/CMakeLists.txt 2022-09-29 23:27:14.684427040 +0200 +@@ -21,6 +21,7 @@ smtg_add_vst3plugin(again-sampleaccurate + target_link_libraries(again-sampleaccurate + PRIVATE + sdk_hosting ++ atomic + ) + +-smtg_target_setup_as_vst3_example(again-sampleaccurate) +\ No newline at end of file ++smtg_target_setup_as_vst3_example(again-sampleaccurate) +diff -up vst3sdk-3.7.6/public.sdk/samples/vst/mda-vst3/CMakeLists.txt.omv~ vst3sdk-3.7.6/public.sdk/samples/vst/mda-vst3/CMakeLists.txt +--- vst3sdk-3.7.6/public.sdk/samples/vst/mda-vst3/CMakeLists.txt.omv~ 2022-09-29 23:27:59.473791483 +0200 ++++ vst3sdk-3.7.6/public.sdk/samples/vst/mda-vst3/CMakeLists.txt 2022-09-29 23:28:24.582992563 +0200 +@@ -176,3 +176,4 @@ if(SMTG_MDA_VST3_VST2_COMPATIBLE) + ) + endif(SMTG_MDA_VST3_VST2_COMPATIBLE) + ++target_link_libraries(mda-vst3 PRIVATE atomic) +diff -up vst3sdk-3.7.6/public.sdk/source/vst/hosting/test/hostclassestest.cpp.omv~ vst3sdk-3.7.6/public.sdk/source/vst/hosting/test/hostclassestest.cpp +--- vst3sdk-3.7.6/public.sdk/source/vst/hosting/test/hostclassestest.cpp.omv~ 2022-09-29 23:13:46.562601197 +0200 ++++ vst3sdk-3.7.6/public.sdk/source/vst/hosting/test/hostclassestest.cpp 2022-09-29 23:21:01.019015604 +0200 +@@ -106,6 +106,7 @@ ModuleInitializer HostAttributeListTests + EXPECT_EQ (tstrcmp (testValue, value), 0); + return true; + }); ++#if 0 + registerTest (TestSuiteName, STR ("Binary"), [] (ITestResult* testResult) { + auto attrList = HostAttributeList::make (); + std::array testData; +@@ -123,6 +123,7 @@ ModuleInitializer HostAttributeListTests + } + return true; + }); ++#endif + registerTest (TestSuiteName, STR ("Multiple Set"), [] (ITestResult* testResult) { + auto attrList = HostAttributeList::make (); + constexpr int64 testValue1 = 5; diff --git a/multimedia/vst3sdk/vst3sdk.pc b/multimedia/vst3sdk/vst3sdk.pc new file mode 100644 index 0000000..3099010 --- /dev/null +++ b/multimedia/vst3sdk/vst3sdk.pc @@ -0,0 +1,5 @@ +Name: vst3sdk +Description: VST 3 Plug-In SDK +Version: VERSION +Cflags: -I/usr/share/vstsdk +Libs: diff --git a/multimedia/vst3sdk/vst3sdk.spec b/multimedia/vst3sdk/vst3sdk.spec new file mode 100644 index 0000000..b4ee736 --- /dev/null +++ b/multimedia/vst3sdk/vst3sdk.spec @@ -0,0 +1,64 @@ +%undefine __cmake_in_source_build + +Name: vst3sdk +Version: 3.7.11 +Release: 1%{dist} +URL: https://github.com/steinbergmedia/vst3sdk +License: LicenseRef-Proprietary-Steinberg-VST3-License OR GPL-3.0-only +Summary: VST 3 Plug-In SDK + +# upstream does not provide proper tarballs, so we had to make them manually: +# git clone https://github.com/steinbergmedia/vst3sdk.git +# mv vst3sdk vst3sdk-%{version} +# cd vst3sdk-%{version} +# git submodule init +# git submodule update +# cd .. +# tar -cJf vst3sdk-%{version}.tar.xz vst3sdk-%{version} + +Source0: vst3sdk-%{version}.tar.xz +Source1: vst3sdk.pc + +Patch0: vst3sdk-buildfix.patch + +BuildRequires: rsync + +Requires: %{name}-filesystem >= %{version}-%{release} + +%description +This package provides the 'base', 'pluginterfaces' and 'public.sdk' +source modules only, necessary for Steinberg VST3 Plug-in and Host application. + +%package -n vstsdk-filesystem +Summary: Common directories for VST2 and VST3 SDKs +Provides: vst2sdk-filesystem = %{version}-%{release} +Provides: vst3sdk-filesystem = %{version}-%{release} + +%description -n vstsdk-filesystem +%{summary}. + +%prep +%autosetup -p1 + +%build + + +%install +mkdir -p %{buildroot}%{_datadir}/vstsdk +mkdir -p %{buildroot}%{_libdir}/cmake/%{name} +install -vDm 644 cmake/modules/*.cmake -t "%{buildroot}%{_libdir}/cmake/%{name}/" +rsync -r --exclude doc --exclude .git --exclude .github --exclude .gitignore --exclude .gitattributes . %{buildroot}%{_datadir}/vstsdk/ + +install -vDm 644 %{SOURCE1} -t "%{buildroot}%{_libdir}/pkgconfig/" +sed -e "s/VERSION/%{version}/" -i %{buildroot}%{_libdir}/pkgconfig/%{name}.pc + + +%files +%{_libdir}/cmake/ +%{_libdir}/pkgconfig/%{name}.pc +%{_datadir}/vstsdk + +%files -n vstsdk-filesystem +%license LICENSE.txt +%dir %{_datadir}/vstsdk/pluginterfaces +%dir %{_datadir}/vstsdk/public.sdk/source