diff --git a/.gitignore b/.gitignore index a15473a..742b2e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,2 @@ /DPF-279c265.tar.gz /zam-plugins-3.10.tar.gz -/zam-plugins-3.11.tar.gz -/DPF-68b3a57.tar.gz -/zam-plugins-3.12.tar.gz -/zam-plugins-3.13.tar.gz -/DPF-08669d1.tar.gz -/zam-plugins-3.14.tar.gz -/DPF-8818060.tar.gz -/pugl-844528e.tar.gz -/zam-plugins-4.1.tar.gz -/zam-plugins-4.2.tar.gz -/DPF-63dfb76.tar.gz -/pugl-2e98e22.tar.gz -/DPF-077fcf5.tar.gz -/pugl-e33b2f6.tar.gz -/zam-plugins-4.3.tar.gz -/zam-plugins-4.4.tar.gz -/DPF-f60444f.tar.gz -/pugl-d4d964f.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index d48c7e6..0000000 --- a/changelog +++ /dev/null @@ -1,81 +0,0 @@ -* Tue Jun 03 2025 Guido Aulisi - 4.4-1 -- Version 4.4 - -* Sun Jan 19 2025 Fedora Release Engineering - 4.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Oct 05 2024 Guido Aulisi - 4.3-1 -- Version 4.3 - -* Wed Aug 07 2024 Miroslav Suchý - 4.2-4 -- convert license to SPDX - -* Sat Jul 20 2024 Fedora Release Engineering - 4.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jan 27 2024 Fedora Release Engineering - 4.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Nov 20 2023 Guido Aulisi - 4.2-1 -- Version 4.2 - -* Sat Jul 22 2023 Fedora Release Engineering - 4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 3.14-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 3.14-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 3.14-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Jan 28 2021 Fedora Release Engineering - 3.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Dec 21 11:03:20 CET 2020 Guido Aulisi - 3.14-1 -- Version 3.14 -- Add BR make - -* Wed Aug 05 2020 Guido Aulisi - 3.13-2 -- Fix FTBFS on f33 -- Disable lto -- Some spec cleanup - -* Fri Jul 31 2020 Guido Aulisi - 3.13-1 -- Version 3.13 - -* Wed Jul 29 2020 Fedora Release Engineering - 3.12-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jan 31 2020 Fedora Release Engineering - 3.12-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Dec 20 2019 Guido Aulisi - 3.12-1 -- Version 3.12 - -* Sat Jul 27 2019 Fedora Release Engineering - 3.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jun 13 2019 Guido Aulisi - 3.11-1 -- Version 3.11 - -* Sun Feb 03 2019 Fedora Release Engineering - 3.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 3.10-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue May 15 2018 Guido Aulisi - 3.10-3 -- Escape macros in changelog - -* Sun May 13 2018 Guido Aulisi - 3.10-2 -- Use set_build_flags macro -- Document Patch0 - -* Wed May 9 2018 Guido Aulisi - 3.10-1 -- Version 3.10 diff --git a/sources b/sources index 9b3c081..cb2e807 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -SHA512 (zam-plugins-4.4.tar.gz) = f2a326f628d3327249f0d9029130badd90f715cb7c76d4e628b66ff8252cd3f530798dafa7274ac1028ccdc18f02ccb6f39b2d2f2393d0d1b8bc914e7e63aefe -SHA512 (DPF-f60444f.tar.gz) = 9a7ef2d9409a700da00ce07e6a1bc85c037edc9d04d38d3751b75b98b58f3b553b87248d4f59b98d74c50ec11f0ffe9568e44e1b81031a33437375fe4c99ff08 -SHA512 (pugl-d4d964f.tar.gz) = 9ca5b9e34d3ff1e68e6070e8e6c9a5971f4ff65f56f0a215e24f6c7325421afff783745db9922bd0b12ac5a25a5cecdf040c8ea979812000e7762a737e993779 +SHA512 (DPF-279c265.tar.gz) = e924c15822a37bec8f38e75a44e9f06a4f95ca14bf41db03f882fa6cfc3d106c84043f9f62f2a6579c095ee9b61eec74c28fc46d912d8481f1aeff45d81eb37d +SHA512 (zam-plugins-3.10.tar.gz) = 8169fdb474bd0a19b877fd36496fdb3cbf197516ff721d5d14ab70361673fcb099dfe1ceb91e285f2a77a0189a9451819d5117d7c068e3cd2597917190e0d35b diff --git a/zam-plugins-unbundle-zita-convolver.patch b/zam-plugins-unbundle-zita-convolver.patch new file mode 100644 index 0000000..1f64c55 --- /dev/null +++ b/zam-plugins-unbundle-zita-convolver.patch @@ -0,0 +1,131 @@ +diff --git a/Makefile.mk b/Makefile.mk +index 7588326..87c08a1 100644 +--- a/Makefile.mk ++++ b/Makefile.mk +@@ -85,6 +85,14 @@ ifeq ($(LINUX),true) + HAVE_DGL = $(shell pkg-config --exists gl x11 && echo true) + HAVE_JACK = $(shell pkg-config --exists jack && echo true) + HAVE_LIBLO = $(shell pkg-config --exists liblo && echo true) ++ ++# Allow to use system provided libs ++ifeq ($(USE_SYSTEM_LIBS),1) ++HAVE_ZITA_CONVOLVER = true ++ZITA_CONVOLVER_LIBS = -lzita-convolver ++export HAVE_ZITA_CONVOLVER ++endif ++ + endif + + ifeq ($(MACOS),true) +diff --git a/plugins/ZamHeadX2/Makefile b/plugins/ZamHeadX2/Makefile +index 24bfe1d..cd8e06a 100644 +--- a/plugins/ZamHeadX2/Makefile ++++ b/plugins/ZamHeadX2/Makefile +@@ -12,8 +12,11 @@ NAME = ZamHeadX2 + # -------------------------------------------------------------- + # Files to build + +-OBJS_DSP = \ +- ../../lib/zita-convolver-3.1.0/zita-convolver.cpp.o \ ++ifneq ($(HAVE_ZITA_CONVOLVER),true) ++OBJS_DSP = ../../lib/zita-convolver-3.1.0/zita-convolver.cpp.o ++endif ++ ++OBJS_DSP += \ + convolution.cpp.o \ + ZamHeadX2Plugin.cpp.o + +@@ -48,6 +51,11 @@ else + TARGETS += lv2_dsp + endif + ++ifeq ($(HAVE_ZITA_CONVOLVER),true) ++BASE_FLAGS += -DHAVE_ZITA_CONVOLVER ++LINK_FLAGS += $(ZITA_CONVOLVER_LIBS) ++endif ++ + TARGETS += vst + + all: $(TARGETS) +diff --git a/plugins/ZamHeadX2/convolution.hpp b/plugins/ZamHeadX2/convolution.hpp +index ddf3d08..03e9d55 100644 +--- a/plugins/ZamHeadX2/convolution.hpp ++++ b/plugins/ZamHeadX2/convolution.hpp +@@ -19,7 +19,11 @@ + #ifndef CONVOLUTION_H_ + #define CONVOLUTION_H_ + ++#ifdef HAVE_ZITA_CONVOLVER ++#include "zita-convolver.h" ++#else + #include "../../lib/zita-convolver-3.1.0/zita-convolver.h" ++#endif + + #define MAX_CHANNEL_MAPS (4) + #define VERBOSE_printf(x, ...) +diff --git a/plugins/ZamVerb/Makefile b/plugins/ZamVerb/Makefile +index cfa412c..d65dd1e 100644 +--- a/plugins/ZamVerb/Makefile ++++ b/plugins/ZamVerb/Makefile +@@ -15,8 +15,11 @@ NAME = ZamVerb + OBJS_DSP = \ + ZamVerbPlugin.cpp.o \ + ZamVerbImpulses.cpp.o \ +- convolution.cpp.o \ +- ../../lib/zita-convolver-3.1.0/zita-convolver.cpp.o ++ convolution.cpp.o ++ ++ifneq ($(HAVE_ZITA_CONVOLVER),true) ++OBJS_DSP += ../../lib/zita-convolver-3.1.0/zita-convolver.cpp.o ++endif + + OBJS_UI = \ + ZamVerbArtwork.cpp.o \ +@@ -28,7 +31,6 @@ OBJS_UI = \ + include ../Makefile.mk + + # -------------------------------------------------------------- +-# Enable all possible plugin types + + ifeq ($(HAVE_JACK),true) + TARGETS += jack +@@ -49,6 +51,11 @@ else + TARGETS += lv2_dsp + endif + ++ifeq ($(HAVE_ZITA_CONVOLVER),true) ++BASE_FLAGS += -DHAVE_ZITA_CONVOLVER ++LINK_FLAGS += $(ZITA_CONVOLVER_LIBS) ++endif ++ + TARGETS += vst + + all: $(TARGETS) +diff --git a/plugins/ZamVerb/convolution.cpp b/plugins/ZamVerb/convolution.cpp +index 517a3cb..48a8d8c 100644 +--- a/plugins/ZamVerb/convolution.cpp ++++ b/plugins/ZamVerb/convolution.cpp +@@ -42,7 +42,6 @@ + #include + #include + +-#include "../../lib/zita-convolver-3.1.0/zita-convolver.h" + #include + #include "convolution.hpp" + #include "ZamVerbImpulses.hpp" +diff --git a/plugins/ZamVerb/convolution.hpp b/plugins/ZamVerb/convolution.hpp +index 4eeada5..666f2a5 100644 +--- a/plugins/ZamVerb/convolution.hpp ++++ b/plugins/ZamVerb/convolution.hpp +@@ -19,7 +19,11 @@ + #ifndef CONVOLUTION_H_ + #define CONVOLUTION_H_ + ++#ifdef HAVE_ZITA_CONVOLVER ++#include "zita-convolver.h" ++#else + #include "../../lib/zita-convolver-3.1.0/zita-convolver.h" ++#endif + + #define MAX_CHANNEL_MAPS (4) + #define VERBOSE_printf(x, ...) diff --git a/zam-plugins.spec b/zam-plugins.spec index 406d3fa..c599847 100644 --- a/zam-plugins.spec +++ b/zam-plugins.spec @@ -1,138 +1,109 @@ -# DPF git submodule -%global dpf_commit f60444f27480383005d488d82c834529fa1440f6 -%global dpf_shortcommit %(c=%{dpf_commit}; echo ${c:0:7}) -%global dpf_date 20250517 +%global gittag 3.10 +%global dpf DPF -# pugl git submodule -%global pugl_commit d4d964f129b4bf999c53ba40381bd1095fafb649 -%global pugl_shortcommit %(c=%{pugl_commit}; echo ${c:0:7}) -%global pugl_date 20250208 +%global commit1 279c265361a9da5a1491107585c75284e0dc0e18 +%global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) Name: zam-plugins -Version: 4.4 -Release: %autorelease -Summary: A collection of audio plugins for LV2, LADSPA, JACK, CLAP, VST3 +Version: %{gittag} +Release: 3%{?dist} +Summary: A collection of LV2/LADSPA/JACK audio plugins -# Automatically converted from old format: GPLv2+ and ISC - review is highly recommended. -License: GPL-2.0-or-later AND ISC +License: GPLv2+ and ISC URL: http://www.zamaudio.com/ -Source0: https://github.com/zamaudio/%{name}/archive/%{version}/%{name}-%{version}.tar.gz -Source1: https://github.com/DISTRHO/DPF/archive/%{dpf_commit}/DPF-%{dpf_shortcommit}.tar.gz -Source2: https://github.com/DISTRHO/pugl/archive/%{pugl_commit}/pugl-%{pugl_shortcommit}.tar.gz +Source0: https://github.com/zamaudio/%{name}/archive/%{gittag}/%{name}-%{version}.tar.gz +Source1: https://github.com/DISTRHO/DPF/archive/%{commit1}/%{dpf}-%{shortcommit1}.tar.gz +# Patch sent upstream https://github.com/zamaudio/zam-plugins/pull/62 +Patch0: %{name}-unbundle-zita-convolver.patch BuildRequires: gcc BuildRequires: gcc-c++ +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: libX11-devel +BuildRequires: mesa-libGL-devel +BuildRequires: liblo-devel +BuildRequires: lv2-devel >= 1.8.1 BuildRequires: ladspa-devel -BuildRequires: make -BuildRequires: pkgconfig(jack) -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(gl) -BuildRequires: pkgconfig(liblo) -BuildRequires: pkgconfig(lv2) >= 1.8.1 -BuildRequires: pkgconfig(fftw3f) >= 3.3.5 -BuildRequires: pkgconfig(samplerate) -BuildRequires: zita-convolver-devel >= 4.0.0 - -Provides: bundled(dpf) = 0~git%{dpf_date}.%{dpf_shortcommit} -Provides: bundled(pugl) = 0~git%{pugl_date}.%{pugl_shortcommit} +BuildRequires: fftw-devel >= 3.3.5 +BuildRequires: libsamplerate-devel +BuildRequires: zita-convolver-devel >= 3.1.0 %package -n lv2-zam-plugins -Summary: A collection of LV2 audio plugins +Summary: A collection of LV2/LADSPA/JACK audio plugins. LV2 version +Requires: lv2 >= 1.8.1 %package -n ladspa-zam-plugins -Summary: A collection of LADSPA audio plugins - -%package -n clap-zam-plugins -Summary: A collection of CLAP audio plugins - -%package -n vst3-zam-plugins -Summary: A collection of VST3 audio plugins +Summary: A collection of LV2/LADSPA/JACK audio plugins. LADSPA version +Requires: ladspa %description -This is a collection of LV2/LADSPA/VST/JACK audio plugins +zam-plugins is a collection of LV2/LADSPA/VST/JACK audio plugins for sound processing developed in-house at ZamAudio. -This package contains the standalone JACK programs. - %description -n lv2-zam-plugins -This is a collection of LV2 audio plugins for sound processing developed -in-house at ZamAudio. +zam-plugins is a collection of LV2/LADSPA/VST/JACK audio plugins +for sound processing developed in-house at ZamAudio. +This is the LV2 version. %description -n ladspa-zam-plugins -This is a collection of LADSPA audio plugins for sound processing -developed in-house at ZamAudio. - -%description -n clap-zam-plugins -This is a collection of CLAP audio plugins for sound processing -developed in-house at ZamAudio. - -%description -n vst3-zam-plugins -This is a collection of VST3 audio plugins for sound processing -developed in-house at ZamAudio. +zam-plugins is a collection of LV2/LADSPA/VST/JACK audio plugins +for sound processing developed in-house at ZamAudio. +This is the LADSPA version. %prep -%setup -q -a 1 -%setup -q -T -D -a 2 - +%autosetup -a 1 -p 1 # Move submodule DPF to main source directory rmdir dpf -mv DPF-%{dpf_commit} dpf - -# Move submodule pugl to main source directory -rmdir dpf/dgl/src/pugl-upstream -mv pugl-%{pugl_commit} dpf/dgl/src/pugl-upstream - -# Remove bundled zita-convolver, we want to use the packaged copy -rm -rf lib/zita-convolver* +mv %{dpf}-%{commit1} dpf %build +# This package does not build on all arches with upstream build flags, +# so upstream build flags are split. +# These are realtime audio plugins, so we need the fastest possible math, +# flags for x86_64 are set to be compatible with most AMD and Intel CPUs, +# and to use the best possible SIMD instruction set. +flags=" -ffast-math" + +%ifarch %{ix86} +flags+=" -msse -mfpmath=sse" +%endif + +%ifarch x86_64 +flags+=" -msse2 -mfpmath=sse" +%endif + %set_build_flags -%global common_make_flags \\\ - VERBOSE=true \\\ - PREFIX="%{_prefix}" \\\ - LIBDIR="%{_lib}" \\\ - SKIP_STRIPPING=true \\\ - HAVE_ZITA_CONVOLVER=true - -%make_build %common_make_flags +%make_build PREFIX=%{_prefix} LIBDIR=%{_lib} USE_SYSTEM_LIBS=1 \ + BASE_OPTS="${flags}" LINK_OPTS="%{__global_ldflags}" %install -%make_install %common_make_flags - -# We don't need VST but the Makefiles make it hard to skip building -rm -rf %{buildroot}%{_libdir}/vst - -chmod +x %{buildroot}%{_libdir}/*/{,*/}/*.so +%make_install PREFIX=%{_prefix} LIBDIR=%{_lib} USE_SYSTEM_LIBS=1 +# We don't need VST and DSSI plugins +rm -rf %{buildroot}%{_libdir}/vst %{buildroot}/*-dssi* %files %{_bindir}/* -%license COPYING +%license LICENSE %doc README.md %files -n lv2-zam-plugins -%dir %{_libdir}/lv2 %{_libdir}/lv2/* -%license COPYING +%license LICENSE %doc README.md %files -n ladspa-zam-plugins -%dir %{_libdir}/ladspa %{_libdir}/ladspa/* -%license COPYING -%doc README.md - -%files -n clap-zam-plugins -%dir %{_libdir}/clap -%{_libdir}/clap/* -%license COPYING -%doc README.md - -%files -n vst3-zam-plugins -%dir %{_libdir}/vst3 -%{_libdir}/vst3/* -%license COPYING +%license LICENSE %doc README.md %changelog -%autochangelog +* Tue May 15 2018 Guido Aulisi - 3.10-3 +- Escape macros in changelog + +* Sun May 13 2018 Guido Aulisi - 3.10-2 +- Use set_build_flags macro +- Document Patch0 + +* Wed May 9 2018 Guido Aulisi - 3.10-1 +- Version 3.10