File SocaLabs-plugins_projucer.spec of Package SocaLabs-plugins

#
# spec file for package slPlugins
#
# 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 distname slPlugins
Name:           SocaLabs-plugins
Version:        20230126
Release:        0
Summary:        Various VST/LV2 Plugins from SocaLabs.com
License:        BSD-3-Clause
Group:          Productivity/Multimedia/Sound/Midi
URL:            https://github.com/FigBug/slPlugins
Source0:        slPlugins-%{version}.tar.xz
BuildRequires:  xorg-x11-libs
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:  libcurl-devel
BuildRequires:  JUCE7-source
BuildRequires:  JUCE7-Projucer
BuildRequires:  lv2-devel

%description

https://socalabs.com/

SocaLabs Audio Plugins

%package -n lv2-%{name}
Summary:        Various VST/LV2 Plugins from SocaLabs.com (LV2)
%description -n lv2-%{name}

https://socalabs.com/

SocaLabs Audio Plugins

%package -n vst-%{name}
Summary:        Various VST/LV2 Plugins from SocaLabs.com (VST)

%description -n vst-%{name}

https://socalabs.com/

SocaLabs Audio Plugins

%package -n vst3-%{name}
Summary:        Various VST/LV2 Plugins from SocaLabs.com (VST3)

%description -n vst3-%{name}

https://socalabs.com/

SocaLabs Audio Plugins

%prep
%setup -qn %{distname}-%{version}
mkdir -p modules/juce
ln -s  %{_usrsrc}/JUCE7/modules modules/juce/modules

%build

mkdir -p bin/vst
mkdir -p bin/lv2
mkdir -p bin/standalone
mkdir -p bin/vst3

cat ci/pluginlist.txt | while read PLUGIN; do
  PLUGIN=$(echo $PLUGIN|tr -d '\n\r ')


lv2uri="https://socalabs.com/$PLUGIN/"
#sed "s/_lv2uri_pattern_/${lv2uri//\//\\/}/g" plugins/$PLUGIN/JuceLibraryCode/AppConfig.h.in >plugins/$PLUGIN/JuceLibraryCode/AppConfig.h
sed -i -e 's#jucerFormatVersion="1"#jucerFormatVersion="1" lv2Uri='"'$lv2uri'"'#' plugins/$PLUGIN/$PLUGIN.jucer
sed -i -e 's/JUCEOPTIONS/JUCEOPTIONS JUCE_JACK="1" JUCE_WEB_BROWSER="0" JUCE_USE_CURL="0"/' plugins/$PLUGIN/$PLUGIN.jucer

Projucer --resave plugins/$PLUGIN/$PLUGIN.jucer

cd plugins/$PLUGIN/Builds/LinuxMakefile

CONFIG=Release make %{?_smp_mflags}
    
    cp ./build/$PLUGIN %{_builddir}/%{distname}-%{version}/bin/standalone/
    cp ./build/$PLUGIN.so %{_builddir}/%{distname}-%{version}/bin/vst/
    cp -r ./build/$PLUGIN.lv2 %{_builddir}/%{distname}-%{version}/bin/lv2/
    cp -r ./build/$PLUGIN.vst3 %{_builddir}/%{distname}-%{version}/bin/vst3/

cd %{_builddir}/%{distname}-%{version}/

done

%install
mkdir -p %{buildroot}%{_bindir}
install bin/standalone/* %{buildroot}%{_bindir}/
mkdir -p %{buildroot}%{_libdir}/vst
cp bin/vst/*.so %{buildroot}%{_libdir}/vst/
mkdir -p %{buildroot}%{_libdir}/lv2
cp -r bin/lv2/*.lv2 %{buildroot}%{_libdir}/lv2/
mkdir -p %{buildroot}%{_libdir}/vst3
cp -r bin/vst3/*.vst3 %{buildroot}%{_libdir}/vst3/

%files
%{_bindir}/*
%license LICENSE.md
%doc README.md

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

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

%files -n vst-%{name}
%{_libdir}/vst/
%doc README.md
%license LICENSE.md
%changelog
openSUSE Build Service is sponsored by