File ReverbZen.spec of Package ReverbZen

#
# spec file for package ReverbZen
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           ReverbZen
Version:        0.0.4+git.2.bd1d16d
Release:        0
Summary:        A reverb based on SchroederReverberators
License:        GPL-3.0-only
Group:          Productivity/Multimedia/Sound/Midi
URL:            https://github.com/zeloe/ReverbZen
Source0:        https://github.com/zeloe/ReverbZen/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires:  JUCE7-Projucer
BuildRequires:  JUCE7-devel
BuildRequires:  Mesa-libGL-devel
BuildRequires:  gcc-c++
BuildRequires:  ladspa-devel
BuildRequires:  libXcursor-devel
BuildRequires:  libXrandr-devel
BuildRequires:  libcurl-devel
BuildRequires:  libjack-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xinerama)

%description
A Reverb written with Faust and JUCE, based on SchroederReverberators.
This reverb effect uses different stages. It splits input signal in parallel and uses different types of delaylines.
Different filters are provided to get rid of unwanted resonances.

%package -n vst3-%{name}
Summary:        A reverb based on SchroederReverberators (VST3)

%description -n vst3-%{name}
A Reverb written with Faust and JUCE, based on SchroederReverberators.
This reverb effect uses different stages. It splits input signal in parallel and uses different types of delaylines.
Different filters are provided to get rid of unwanted resonances.

%package -n vst-%{name}
Summary:        A reverb based on SchroederReverberators (VST)

%description -n vst-%{name}
A Reverb written with Faust and JUCE, based on SchroederReverberators.
This reverb effect uses different stages. It splits input signal in parallel and uses different types of delaylines.
Different filters are provided to get rid of unwanted resonances.

%package -n lv2-%{name}
Summary:        A reverb based on SchroederReverberators (LV2)

%description -n lv2-%{name}
A Reverb written with Faust and JUCE, based on SchroederReverberators.
This reverb effect uses different stages. It splits input signal in parallel and uses different types of delaylines.
Different filters are provided to get rid of unwanted resonances.

%prep
%setup -q
sed -i -e /'<\/EXPORTFORMATS>/i <LINUX_MAKE targetFolder="Builds/LinuxMakefile" extraCompilerFlags="-fvisibility=hidden" extraLinkerFlags="-fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-O1 -Wl,--as-needed -Wl,--strip-all">\ <CONFIGURATIONS>\ <CONFIGURATION isDebug="1" name="Debug"/>\ <CONFIGURATION isDebug="0" name="Release"/>\      </CONFIGURATIONS>\      <MODULEPATHS>\      </MODULEPATHS>\     </LINUX_MAKE>'  %{name}.jucer
sed -i -e 's/JUCEOPTIONS/JUCEOPTIONS JUCE_JACK="1" JUCE_WEB_BROWSER="0" JUCE_USE_CURL="0"/' %{name}.jucer
sed -i -e 's/buildVST3/buildVST,buildVST3,buildLV2/' %{name}.jucer
lv2uri=%{URL}
sed -i -e 's#jucerFormatVersion="1"#jucerFormatVersion="1" lv2Uri='"'$lv2uri'"'#' %{name}.jucer

%build

%define JUCE_VERSION `ls %{_libdir}/juce7/include/`

Projucer --set-global-search-path linux defaultJuceModulePath %{_libdir}/juce7/include/%{JUCE_VERSION}/modules
Projucer --resave %{name}.jucer

CONFIG=Release make %{?_smp_mflags} -C Builds/LinuxMakefile

%install

mkdir -p %{buildroot}%{_libdir}/vst
install Builds/LinuxMakefile/build/%{name}.so %{buildroot}%{_libdir}/vst/
mkdir -p %{buildroot}%{_libdir}/vst3
cp -r Builds/LinuxMakefile/build/*.vst3 %{buildroot}%{_libdir}/vst3/
mkdir -p %{buildroot}%{_libdir}/lv2
cp -r Builds/LinuxMakefile/build/*.lv2 %{buildroot}%{_libdir}/lv2/

%files -n vst-%{name}
%dir %{_libdir}/vst
%{_libdir}/vst/%{name}.so
%doc README.md
%license LICENSE

%files -n vst3-%{name}
%dir %{_libdir}/vst3
%{_libdir}/vst3/*
%doc README.md
%license LICENSE

%files -n lv2-%{name}
%dir %{_libdir}/lv2
%{_libdir}/lv2/*
%doc README.md
%license LICENSE

%changelog
openSUSE Build Service is sponsored by