227 lines
7.4 KiB
RPMSpec
227 lines
7.4 KiB
RPMSpec
%global commit0 51f20736b4e0b5d6416f2b7d4051f155f5858fbf
|
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
|
%global pname carla
|
|
%global commitdate 20181212
|
|
|
|
Name: Carla
|
|
Version: 2.0.0
|
|
Release: 0.4.%{commitdate}git%{shortcommit0}%{?dist}
|
|
Summary: Audio plugin host
|
|
|
|
# The entire source code is GPLv2+ except
|
|
# - BSD
|
|
# source/modules/lilv/lilv-0.24.0/waf
|
|
# source/modules/lilv/serd-0.24.0/waf
|
|
# source/modules/lilv/sord-0.16.0/waf
|
|
# source/modules/lilv/sratom-0.6.0/waf
|
|
# source/modules/audio_decoder/ffcompat.h
|
|
# source/modules/rtaudio/include/soundcard.h
|
|
# - Boost
|
|
# source/modules/hylia/link/asio/*
|
|
# - ISC
|
|
# source/jackbridge/*
|
|
# source/modules/dgl/*
|
|
# source/modules/distrho/*
|
|
# source/modules/lilv/*
|
|
# source/modules/water/buffers/AudioSampleBuffer.h
|
|
# source/modules/water/containers
|
|
# source/modules/water/files/*
|
|
# source/modules/water/maths/*
|
|
# source/modules/water/memory/*
|
|
# source/modules/water/midi/*
|
|
# source/modules/water/misc/*
|
|
# source/modules/water/streams/OutputStream.h
|
|
# source/modules/water/synthesisers/*
|
|
# source/modules/water/text/*
|
|
# source/modules/water/threads/*
|
|
# source/modules/water/xml/*
|
|
# source/utils/CarlaJuceUtils.hpp
|
|
# - MIT/Expat
|
|
# source/modules/rtaudio/RtAudio.cpp
|
|
# source/modules/rtaudio/RtAudio.h
|
|
# source/modules/rtmidi/RtMidi.cpp
|
|
# source/modules/rtmidi/RtMidi.h
|
|
# source/modules/sfzero/LICENSE
|
|
# - zlib
|
|
# source/modules/dgl/src/nanovg/LICENSE.txt
|
|
# source/modules/dgl/src/nanovg/fontstash.h
|
|
# source/modules/dgl/src/nanovg/nanovg.c
|
|
# source/modules/dgl/src/nanovg/nanovg.h
|
|
# source/modules/dgl/src/nanovg/nanovg_gl.h
|
|
# source/modules/dgl/src/nanovg/nanovg_gl_utils.h
|
|
|
|
License: GPLv2+ and BSD and Boost and ISC and MIT and zlib
|
|
URL: https://github.com/falkTX/Carla
|
|
Source0: https://github.com/falkTX/%{name}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz
|
|
Patch0: carla-0001-change-libdir-path.patch
|
|
|
|
BuildRequires: gcc gcc-c++
|
|
BuildRequires: alsa-lib-devel
|
|
BuildRequires: gtk2-devel
|
|
BuildRequires: gtk3-devel
|
|
BuildRequires: fluidsynth-devel
|
|
BuildRequires: fftw-devel
|
|
BuildRequires: mxml-devel
|
|
BuildRequires: mesa-libGL-devel
|
|
BuildRequires: non-ntk-fluid
|
|
BuildRequires: non-ntk-devel
|
|
BuildRequires: qt5-qtbase-devel
|
|
BuildRequires: python3-qt5-devel
|
|
BuildRequires: python3-magic
|
|
BuildRequires: pulseaudio-libs-devel
|
|
BuildRequires: jack-audio-connection-kit-devel
|
|
BuildRequires: libsndfile-devel
|
|
BuildRequires: liblo-devel
|
|
BuildRequires: zlib-devel
|
|
BuildRequires: desktop-file-utils
|
|
Requires: python3-qt5
|
|
Requires: hicolor-icon-theme
|
|
Requires: shared-mime-info
|
|
|
|
%description
|
|
Carla is a fully-featured audio plugin host, with support for many audio drivers
|
|
and plugin formats.
|
|
It's open source and licensed under the GNU General Public License, version 2 or
|
|
later.
|
|
Features
|
|
|
|
LADSPA, DSSI, LV2 and VST plugin formats
|
|
SF2/3 and SFZ sound banks
|
|
Internal audio and midi file player
|
|
Automation of plugin parameters via MIDI CC
|
|
Remote control over OSC
|
|
Rack and Patchbay processing modes, plus Single and Multi-Client if using
|
|
JACK
|
|
Native audio drivers (ALSA, DirectSound, CoreAudio, etc) and JACK
|
|
|
|
In experimental phase / work in progress:
|
|
|
|
Export any Carla loadable plugin or sound bank as an LV2 plugin
|
|
Plugin bridge support (such as running 32bit plugins on a 64bit Carla, or
|
|
Windows plugins on Linux)
|
|
Run JACK applications as audio plugins
|
|
Transport controls, sync with JACK Transport or Ableton Link
|
|
|
|
Carla is also available as an LV2 plugin for MacOS and Linux, and VST plugin for
|
|
Linux.
|
|
|
|
%package devel
|
|
Summary: Header files to access Carla's API
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description devel
|
|
This package contains header files needed when writing software using
|
|
Carla's several APIs.
|
|
|
|
%package vst
|
|
Summary: CarlaRack and CarlaPatchbay VST plugins
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description vst
|
|
This package contains Carla VST plugins, including CarlaPatchbayFX,
|
|
CarlaPatchbay, CarlaRackFX, and CarlaRack.
|
|
|
|
%package -n lv2-%{pname}
|
|
Summary: LV2 plugin
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
%description -n lv2-%{pname}
|
|
This package contains the Carla LV2 plugin.
|
|
|
|
%prep
|
|
%autosetup -p 1 -n %{name}-%{commit0}
|
|
|
|
# remove windows stuff
|
|
rm -rf data/windows/
|
|
|
|
# Fix error: Empty %%files file debugsourcefiles.list
|
|
sed -i "s|LINK_OPTS += -Wl,--strip-all|LINK_OPTS += -Wl,--as-needed|" source/Makefile.mk
|
|
|
|
# E: wrong-script-interpreter /usr/lib64/python3/dist-packages/carla_backend.py /usr/bin/env python3
|
|
find . -type f \( -name "*.py" \) -exec sed -i "s|#!/usr/bin/env python3|#!%{__python3}|g" {} \;
|
|
sed -i "s|#!/usr/bin/env python3|#!%{__python3}|" source/frontend/{carla,carla-control,carla-jack-multi,carla-jack-single,carla-patchbay,carla-rack}
|
|
sed -i "s|#!/usr/bin/env python|#!%{__python3}|" source/frontend/widgets/paramspinbox.py
|
|
|
|
# fix libdir path
|
|
sed -i "s|/lib/carla|/%{_lib}/carla|" data/{carla,carla-control,carla-database,carla-jack-multi,carla-jack-single,carla-patchbay,carla-rack,carla-settings}
|
|
|
|
%build
|
|
%{set_build_flags}
|
|
# list build configuration, no need for optflags or -j
|
|
make features
|
|
%make_build V=1
|
|
|
|
%install
|
|
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
|
|
|
|
# Create a vst directory
|
|
install -m 755 -d %{buildroot}/%{_libdir}/vst/
|
|
|
|
# E: non-executable-script /usr/share/carla/paramspinbox.py 644 /usr/bin/env python
|
|
find %{buildroot} -type f \( -name "*.py" \) -exec chmod a+x {} \;
|
|
|
|
# E: non-executable-script /usr/share/carla/carla 644 /usr/bin/python3
|
|
chmod a+x %{buildroot}%{_datadir}/%{pname}/{carla,carla-control,carla-jack-multi,carla-jack-single,carla-patchbay,carla-rack}
|
|
|
|
# fix perm due rpmlint W: unstripped-binary-or-object /usr/lib64/carla/libcarla_interposer-jack-x11.so
|
|
find %{buildroot}%{_libdir} -name '*.so' -exec chmod +x '{}' ';'
|
|
|
|
%check
|
|
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
|
|
|
%files
|
|
%doc README.md
|
|
%license doc/GPL.txt doc/LGPL.txt
|
|
%{_bindir}/%{pname}
|
|
%{_bindir}/%{pname}-control
|
|
%{_bindir}/%{pname}-database
|
|
%{_bindir}/%{pname}-jack-multi
|
|
%{_bindir}/%{pname}-jack-single
|
|
%{_bindir}/%{pname}-patchbay
|
|
%{_bindir}/%{pname}-rack
|
|
%{_bindir}/%{pname}-settings
|
|
%{_bindir}/%{pname}-single
|
|
%{_libdir}/%{pname}/
|
|
%{_datadir}/applications/%{pname}-control.desktop
|
|
%{_datadir}/applications/%{pname}.desktop
|
|
%{_datadir}/%{pname}/
|
|
%{_datadir}/icons/hicolor/*/apps/%{pname}*.png
|
|
%{_datadir}/icons/hicolor/*/apps/%{pname}*.svg
|
|
%{_datadir}/mime/packages/%{pname}.xml
|
|
|
|
%files vst
|
|
%{_libdir}/vst/
|
|
|
|
%files -n lv2-%{pname}
|
|
%dir %{_libdir}/lv2
|
|
%{_libdir}/lv2/carla.lv2/
|
|
|
|
%files devel
|
|
%{_includedir}/%{pname}/
|
|
%{_libdir}/pkgconfig/%{pname}-standalone.pc
|
|
%{_libdir}/pkgconfig/%{pname}-utils.pc
|
|
%{_libdir}/pkgconfig/%{pname}-native-plugin.pc
|
|
|
|
%changelog
|
|
* Thu Dec 20 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.4.20181212git51f2073
|
|
- Add lv2-carla subpkg
|
|
- Take ownership of lv2/
|
|
- Add BR desktop-file-utils
|
|
|
|
* Thu Dec 20 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.3.20181212git51f2073
|
|
- Use correct directory in subpgk vst
|
|
- Make build verbose V=1
|
|
- Fix debug symbols extraction / stripping
|
|
|
|
* Wed Dec 19 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.2.20181212git51f2073
|
|
- Add subpkg vst
|
|
- Remove group tag
|
|
- Remove old BR qt-devel
|
|
- New git release use correct desktop files
|
|
- Use macro %%{_lib} libdir fix
|
|
- Use %%{__python3} macro
|
|
- Use %%{_datadir}/%%{pname}/
|
|
|
|
* Tue Dec 18 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.1.20181212git51f2073
|
|
- Initial build
|