File carla.spec of Package carla
#
# spec file for package carla
#
# Copyright (c) 2018 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 http://bugs.opensuse.org/
#
%if 0%{?suse_version} == 1315
# Leap does not have it
%bcond_with rdflib
%else
%bcond_without rdflib
%endif
Name: carla
Version: 1.9.7+git20171111.5b97ec1e
Release: 0
Summary: An audio plugin host
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Sound/Utilities
ExclusiveArch: x86_64
Url: http://kxstudio.sourceforge.net/cadence
Source: %{name}-%{version}.tar.xz
Patch1: carla-systemlibs.patch
Patch2: carla.libjack-soversion.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: alsa-devel
BuildRequires: file-devel
BuildRequires: python-qt4-devel
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(vorbisenc)
%if %{defined fedora}
BuildRequires: pulseaudio-libs-devel
BuildRequires: python3-PyQt4-devel
Requires: python3-PyQt4
BuildRequires: qt5-qtbase-devel
%else
BuildRequires: libpulse-devel
BuildRequires: libqt5-qtbase-devel
BuildRequires: python3-qt4-devel
Requires: python3-qt4
%endif
%if 0%{?suse_version}
BuildRequires: fdupes
BuildRequires: python3-devel
BuildRequires: update-desktop-files
%if %{with rdflib}
# optional but recommended
BuildRequires: python3-rdflib
%endif
%endif
# for extra native plugins
BuildRequires: fftw3-devel
BuildRequires: fltk-devel
BuildRequires: fluidsynth-devel
BuildRequires: zlib-devel
# for plugin GUIs
BuildRequires: gtk2-devel
BuildRequires: gtk3-devel
BuildRequires: libX11-devel
# for extra samplers support
BuildRequires: libgig-devel
BuildRequires: liblo-devel
BuildRequires: libqt4-devel
BuildRequires: mxml-devel
BuildRequires: pkg-config
%description
Carla is an audio plugin host, with support for many audio drivers
and plugin formats. It features automation of parameters via MIDI CC
and full OSC control. It currently supports LADSPA, DSSI, LV2, VST2/3
and AU plugin formats, plus GIG, SF2 and SFZ sounds banks.
It futher supports bridging Window plugins using Wine.
%package devel
Summary: Header files to access Carla's API
Group: Development/Libraries/C and C++
BuildRequires: pkg-config
%description devel
This package contains header files needed when writing software using
Carla's several APIs.
%package vst
Summary: CarlaRack and CarlaPatchbay VST plugins
Group: Productivity/Multimedia/Sound/Utilities
%description vst
This package contanis Carla VST plugins, including CarlaPatchbayFX,
CarlaPatchbay, CarlaRackFX, and CarlaRack.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%build
rm -rfv source/modules/juce_audio_formats/codecs/flac
rm -rfv source/modules/juce_audio_formats/codecs/oggvorbis
export CXXFLAGS="%{optflags}"
export CFLAGS="%{optflags}"
make \
%ifnarch %ix86 x86_64
BASE_OPTS= \
%endif
%{?_smp_mflags} \
features
# bulding with high -j numbers often results in build failures, thus we're disabling _smp_flags for now
make \
%ifnarch %ix86 x86_64
BASE_OPTS= \
%endif
--trace
%install
make install DESTDIR=%{buildroot} PREFIX="%{_prefix}" LIBDIR="%{_libdir}"
# Move arch depended files (wrong installed)
mv %{buildroot}%{_datadir}/carla/resources/zynaddsubfx-ui %{buildroot}%{_libdir}/carla
ln -s %{_libdir}/carla/zynaddsubfx-ui %{buildroot}%{_datadir}/carla/resources/zynaddsubfx-ui
# flags
for file in carla_modgui.py carla_settings.py digitalpeakmeter.py pixmapdial.py pixmapkeyboard.py; do
chmod +x "%{buildroot}%{_datadir}/carla/$file"
done
# SUSE specific
%if 0%{?suse_version}
%suse_update_desktop_file -r carla AudioVideo Music
%suse_update_desktop_file -r carla-control AudioVideo Music
%fdupes -s %{buildroot}%{_datadir}
%endif
%files
%defattr(-,root,root)
%doc INSTALL.md README.md doc
%{_bindir}/*
%dir %{_libdir}/carla
%{_libdir}/carla/*
%dir %{_libdir}/lv2
%dir %{_libdir}/lv2/carla.lv2
%{_libdir}/lv2/carla.lv2/*
%dir %{_libdir}/python3
%dir %{_libdir}/python3/dist-packages
%{_libdir}/python3/dist-packages/*
%dir %{_datadir}/carla
%{_datadir}/carla/*
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/
%{_datadir}/mime/packages/carla.xml
%files vst
%defattr(-,root,root)
%dir %{_libdir}/vst
%dir %{_libdir}/vst/carla.vst
%{_libdir}/vst/carla.vst/*
%files devel
%defattr(-,root,root)
%dir %{_includedir}/carla
%{_includedir}/carla/*
%{_libdir}/pkgconfig/*
%changelog