File surge-xt.spec of Package surge-xt
#
# spec file for package surge xt
#
# 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/
#
Name: surge-xt
Version: 1.3.0
Release: 0
Summary: Subtractive hybrid synthesizer virtual instrument
License: GPL-3.0-only
Group: Productivity/Multimedia/Sound/Midi
URL: https://surge-synth-team.org/
Source0: %{name}-%{version}.tar.xz
Source9: juce_VSTInterface.h
Patch0: suppress-errors.patch
Patch1: include-cstdint.patch
Patch2: fix-LV2-headless-build.patch
Patch99: surge-juce-vst2.patch
BuildRequires: cmake >= 3.22
%if 0%{?is_opensuse} && 0%{?suse_version} <= 1600
BuildRequires: gcc12
BuildRequires: gcc12-c++
%else
BuildRequires: gcc-c++
%endif
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: libcurl-devel
Requires: %{name}-common
%description
Subtractive hybrid synthesizer virtual instrument.
Surge XT includes VST3 instrument formats for use in compatible hosts and a standalone executable
%package common
Summary: Common files for surge-xt
BuildArch: noarch
%description common
Common files for surge-xt (Presets, Skins, Wavetables)
%package -n vst3-%{name}
Summary: Subtractive hybrid synthesizer virtual instrument (VST3)
Requires: %{name}-common
%description -n vst3-%{name}
Subtractive hybrid synthesizer virtual instrument.
Surge XT includes VST3 instrument formats for use in compatible hosts and a standalone executable
%package -n vst-%{name}
Summary: Subtractive hybrid synthesizer virtual instrument (VST)
Requires: %{name}-common
%description -n vst-%{name}
Subtractive hybrid synthesizer virtual instrument.
Surge XT includes VST3 instrument formats for use in compatible hosts and a standalone executable
%package -n clap-%{name}
Summary: Subtractive hybrid synthesizer virtual instrument (CLAP)
Requires: %{name}-common
%description -n clap-%{name}
Subtractive hybrid synthesizer virtual instrument.
Surge XT includes VST3 instrument formats for use in compatible hosts and a standalone executable
%package -n lv2-%{name}
Summary: Subtractive hybrid synthesizer virtual instrument (LV2)
Requires: %{name}-common
%description -n lv2-%{name}
Subtractive hybrid synthesizer virtual instrument.
Surge XT includes VST3 instrument formats for use in compatible hosts and a standalone executable
%package fx
Summary: Surge XT Effects Plugin
Requires: %{name}-common
%description fx
Surge XT Effects Plugin
%package -n vst-%{name}-fx
Summary: Surge XT Effects Plugin (VST)
Requires: %{name}-common
%description -n vst-%{name}-fx
Surge XT Effects Plugin
%package -n vst3-%{name}-fx
Summary: Surge XT Effects Plugin (VST3)
Requires: %{name}-common
%description -n vst3-%{name}-fx
Surge XT Effects Plugin
%package -n clap-%{name}-fx
Summary: Surge XT Effects Plugin (CLAP)
Requires: %{name}-common
%description -n clap-%{name}-fx
Surge XT Effects Plugin
%package -n lv2-%{name}-fx
Summary: Surge XT Effects Plugin (LV2)
Requires: %{name}-common
%description -n lv2-%{name}-fx
Surge XT Effects Plugin
%prep
%setup -q
%autopatch -p1
cp %{SOURCE9} libs/JUCE/modules/juce_audio_processors/format_types/
%build
export VST2SDK_DIR=/usr/include
cmake -B cmake-build -DCMAKE_INSTALL_PREFIX=%{buildroot}/%{_prefix} \
-DCMAKE_BUILD_TYPE=Release \
-DSURGE_BUILD_LV2=TRUE \
%if 0%{?is_opensuse} && 0%{?suse_version} <= 1600
-DCMAKE_CXX_COMPILER=g++-12
%endif
cmake --build cmake-build --config Release %{?_smp_mflags}
%install
cmake --install cmake-build
mkdir -p %{buildroot}/%{_libdir}/vst
cp ./cmake-build/surge_xt_products/libSurge*.so %{buildroot}/%{_libdir}/vst/
%files
"%{_bindir}/Surge XT"
%{_bindir}/surge-xt-cli
%files common
%doc README.md AUTHORS
#doc/surge.pdf
%license LICENSE
%{_datadir}/
%files -n vst-%{name}
%license LICENSE
%dir %{_libdir}/vst
"%{_libdir}/vst/libSurge XT.so"
%files -n vst3-%{name}
%license LICENSE
%dir %{_libdir}/vst3
"%{_libdir}/vst3/Surge XT.vst3"
%files -n clap-%{name}
%license LICENSE
%dir %{_libdir}/clap
"%{_libdir}/clap/Surge XT.clap"
%files -n lv2-%{name}
%license LICENSE
%dir %{_libdir}/lv2
"%{_libdir}/lv2/Surge XT.lv2"
%files fx
%license LICENSE
"%{_bindir}/Surge XT Effects"
%files -n vst-%{name}-fx
%license LICENSE
%dir %{_libdir}/vst/
"%{_libdir}/vst/libSurge XT Effects.so"
%files -n vst3-%{name}-fx
%license LICENSE
%dir %{_libdir}/vst3
"%{_libdir}/vst3/Surge XT Effects.vst3"
%files -n clap-%{name}-fx
%license LICENSE
%dir %{_libdir}/clap
"%{_libdir}/clap/Surge XT Effects.clap"
%files -n lv2-%{name}-fx
%license LICENSE
%dir %{_libdir}/lv2
"%{_libdir}/lv2/Surge XT Effects.lv2"
%changelog