File Curvessor.spec of Package Curvessor

#
# spec file for package juce
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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/
#

%define binname Curvessor2
Name:           Curvessor
Version:        2.0.2
Release:        0
Summary:        Dynamic Range Processor with automatable splines
License:        GPL-3.0-only
Group:          Productivity/Multimedia/Sound/
URL:            https://github.com/unevens/Curvessor
Source0:        %{name}-%{version}.tar.gz
BuildRequires:  gcc-c++
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  Mesa-libGL-devel
BuildRequires:  libXrandr-devel
BuildRequires:  libXcursor-devel
BuildRequires:  libjack-devel
BuildRequires:  JUCE7-devel
BuildRequires:  JUCE7-Projucer

%description

Curvessor is a free and open source VST/VST3 audio plug-in that implements a dynamic range processor
in which the response curve of each channel is an automatable spline.

Curvessor can be used as a classic compressor/expander, enjoying the freedom and precision that comes
with spline editing.

But more specifically, as it allows the authoring of response curves that are not increasing, 
Curvessor can be used for creative dynamic range processing in sound design.

%package -n vst3-%{name}
Summary:       Dynamic Range Processor with automatable splines (VST3)

%description -n vst3-%{name}

Curvessor is a free and open source VST/VST3 audio plug-in that implements a dynamic range processor
in which the response curve of each channel is an automatable spline.

Curvessor can be used as a classic compressor/expander, enjoying the freedom and precision that comes
with spline editing.

But more specifically, as it allows the authoring of response curves that are not increasing,
Curvessor can be used for creative dynamic range processing in sound design.

%package -n vst-%{name}
Summary:        Dynamic Range Processor with automatable splines (VST)

%description -n vst-%{name}

Curvessor is a free and open source VST/VST3 audio plug-in that implements a dynamic range processor
in which the response curve of each channel is an automatable spline.

Curvessor can be used as a classic compressor/expander, enjoying the freedom and precision that comes
with spline editing.

But more specifically, as it allows the authoring of response curves that are not increasing,
Curvessor can be used for creative dynamic range processing in sound design.

%package -n lv2-%{name}
Summary:        Dynamic Range Processor with automatable splines (LV2)

%description -n lv2-%{name}

Curvessor is a free and open source VST/VST3 audio plug-in that implements a dynamic range processor
in which the response curve of each channel is an automatable spline.

Curvessor can be used as a classic compressor/expander, enjoying the freedom and precision that comes
with spline editing.

But more specifically, as it allows the authoring of response curves that are not increasing,
Curvessor can be used for creative dynamic range processing in sound design.

%prep
%setup -q

%build

%define JUCE_VERSION `ls /usr/lib64/juce7/include/`

sed -i -e 's/JUCEOPTIONS/JUCEOPTIONS JUCE_JACK="1" JUCE_USE_CURL="0"/' %{name}.jucer
sed -i -e 's/buildAU/buildStandalone,buildLV2/' %{name}.jucer
sed -i -e 's#jucerFormatVersion="1"#jucerFormatVersion="1" lv2Uri="https://www.unevens.net/curvessor"#' %{name}.jucer

Projucer --set-global-search-path linux defaultJuceModulePath %{_libdir}/juce7/include/JUCE-7.[0-9].[0-9]/modules
Projucer --resave %{name}.jucer

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

%install

mkdir -p %{buildroot}%{_bindir}
install Builds/LinuxMakefile/build/%{binname} %{buildroot}%{_bindir}/
mkdir -p %{buildroot}%{_libdir}/vst
install Builds/LinuxMakefile/build/%{binname}.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 
%{_bindir}/%{binname}
%doc README.md
%license LICENSE
%files -n vst-%{name}
%dir %{_libdir}/vst
%{_libdir}/vst/%{binname}.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