d802190
%global pname   carla 
1993fb4
d802190
Name:           Carla
fd6357b
Version:        2.3.0
fd6357b
Release:        1%{?dist}
d802190
Summary:        Audio plugin host
d802190
d802190
# The entire source code is GPLv2+ except
d802190
# - BSD
d802190
# source/modules/lilv/lilv-0.24.0/waf
d802190
# source/modules/lilv/serd-0.24.0/waf
d802190
# source/modules/lilv/sord-0.16.0/waf
d802190
# source/modules/lilv/sratom-0.6.0/waf
d802190
# source/modules/audio_decoder/ffcompat.h
d802190
# source/modules/rtaudio/include/soundcard.h
d802190
# - Boost
d802190
# source/modules/hylia/link/asio/*
d802190
# - ISC
d802190
# source/jackbridge/*
d802190
# source/modules/dgl/*
d802190
# source/modules/distrho/*
d802190
# source/modules/lilv/*
d802190
# source/modules/water/buffers/AudioSampleBuffer.h
d802190
# source/modules/water/containers
d802190
# source/modules/water/files/*
d802190
# source/modules/water/maths/*
d802190
# source/modules/water/memory/*
d802190
# source/modules/water/midi/*
d802190
# source/modules/water/misc/*
d802190
# source/modules/water/streams/OutputStream.h
d802190
# source/modules/water/synthesisers/*
d802190
# source/modules/water/text/*
d802190
# source/modules/water/threads/*
d802190
# source/modules/water/xml/*
d802190
# source/utils/CarlaJuceUtils.hpp
d802190
# - MIT/Expat
d802190
# source/modules/rtaudio/RtAudio.cpp
d802190
# source/modules/rtaudio/RtAudio.h
d802190
# source/modules/rtmidi/RtMidi.cpp
d802190
# source/modules/rtmidi/RtMidi.h
d802190
# source/modules/sfzero/LICENSE
d802190
# - zlib
d802190
# source/modules/dgl/src/nanovg/LICENSE.txt
d802190
# source/modules/dgl/src/nanovg/fontstash.h
d802190
# source/modules/dgl/src/nanovg/nanovg.c
d802190
# source/modules/dgl/src/nanovg/nanovg.h
d802190
# source/modules/dgl/src/nanovg/nanovg_gl.h
d802190
# source/modules/dgl/src/nanovg/nanovg_gl_utils.h
d802190
4f7dd32
Epoch:   1
d802190
License:        GPLv2+ and BSD and Boost and ISC and MIT and zlib
d802190
URL:            https://github.com/falkTX/Carla
caa288e
Source0:        https://github.com/falkTX/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
e249bd0
Patch0: Carla-gcc11-include.patch
b800440
9210483
#ExcludeArch:    ppc64le
d802190
d802190
BuildRequires:  gcc gcc-c++
7f87514
BuildRequires:  pkgconfig(alsa)
7f87514
BuildRequires:  pkgconfig(libpulse)
7f87514
BuildRequires:  pkgconfig(jack)
7f87514
BuildRequires:  pkgconfig(sndfile)
7f87514
BuildRequires:  pkgconfig(gtk+-2.0)
7f87514
BuildRequires:  pkgconfig(gtk+-3.0)
7f87514
BuildRequires:  pkgconfig(fluidsynth)
7f87514
BuildRequires:  pkgconfig(fftw3)
7f87514
BuildRequires:  pkgconfig(mxml)
7f87514
BuildRequires:  pkgconfig(gl)
7f87514
BuildRequires:  pkgconfig(Qt5Core)
d802190
BuildRequires:  python3-qt5-devel
d802190
BuildRequires:  python3-magic
7f87514
BuildRequires:  pkgconfig(liblo)
7f87514
BuildRequires:  pkgconfig(zlib)
2002c42
BuildRequires:  desktop-file-utils
49a3e2f
BuildRequires: make
d802190
Requires:       python3-qt5
c333c56
Requires:       python3-pyliblo
d802190
Requires:       hicolor-icon-theme
d802190
Requires:       shared-mime-info
d802190
7f87514
7f87514
# Dont provide or require internal libs. Using new rpm builtin filtering,
7f87514
# see https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Private_Libraries
7f87514
%global _privatelibs libjack[.]so.*
7f87514
%global __provides_exclude ^(%{_privatelibs})$
7f87514
%global __requires_exclude ^(%{_privatelibs})$
7f87514
7f87514
d802190
%description
d802190
Carla is a fully-featured audio plugin host, with support for many audio drivers
d802190
and plugin formats.
d802190
It's open source and licensed under the GNU General Public License, version 2 or
d802190
later.
d802190
Features
d802190
d802190
    LADSPA, DSSI, LV2 and VST plugin formats
d802190
    SF2/3 and SFZ sound banks
d802190
    Internal audio and midi file player
d802190
    Automation of plugin parameters via MIDI CC
d802190
    Remote control over OSC
d802190
    Rack and Patchbay processing modes, plus Single and Multi-Client if using
d802190
    JACK
d802190
    Native audio drivers (ALSA, DirectSound, CoreAudio, etc) and JACK
d802190
d802190
In experimental phase / work in progress:
d802190
d802190
    Export any Carla loadable plugin or sound bank as an LV2 plugin
d802190
    Plugin bridge support (such as running 32bit plugins on a 64bit Carla, or
d802190
    Windows plugins on Linux)
d802190
    Run JACK applications as audio plugins
d802190
    Transport controls, sync with JACK Transport or Ableton Link
d802190
d802190
Carla is also available as an LV2 plugin for MacOS and Linux, and VST plugin for
d802190
Linux.
d802190
d802190
%package        devel
d802190
Summary:        Header files to access Carla's API
4f7dd32
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
d802190
d802190
%description devel
d802190
This package contains header files needed when writing software using
d802190
Carla's several APIs.
d802190
d802190
%package        vst
d802190
Summary:        CarlaRack and CarlaPatchbay VST plugins
4f7dd32
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
d802190
d802190
%description    vst
d802190
This package contains Carla VST plugins, including CarlaPatchbayFX,
d802190
CarlaPatchbay, CarlaRackFX, and CarlaRack.
d802190
d802190
%package     -n lv2-%{pname}
d802190
Summary:        LV2 plugin
4f7dd32
Requires:       %{name}%{?_isa} = %{epoch}:%{version}-%{release}
d802190
d802190
%description -n lv2-%{pname}
d802190
This package contains the Carla LV2 plugin.
d802190
d802190
%prep
caa288e
%autosetup -p 0 -n %{name}-%{version}
d802190
d802190
# remove windows stuff
be46962
rm -rf data/{macos,windows}
d802190
d802190
# E: wrong-script-interpreter /usr/lib64/python3/dist-packages/carla_backend.py /usr/bin/env python3
d802190
find . -type f \( -name "*.py" \) -exec sed -i "s|#!/usr/bin/env python3|#!%{__python3}|g" {} \;
d802190
sed -i "s|#!/usr/bin/env python3|#!%{__python3}|" source/frontend/{carla,carla-control,carla-jack-multi,carla-jack-single,carla-patchbay,carla-rack}
d802190
sed -i "s|#!/usr/bin/env python|#!%{__python3}|" source/frontend/widgets/paramspinbox.py
d802190
d802190
# fix libdir path
d802190
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}
d802190
d802190
%build
d802190
%{set_build_flags}
d802190
# list build configuration, no need for optflags or -j
d802190
make features
6a46812
%make_build SKIP_STRIPPING=true NOOPT=true V=1
d802190
d802190
%install 
d802190
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
d802190
d802190
# Create a vst directory
d802190
install -m 755 -d %{buildroot}/%{_libdir}/vst/
d802190
d802190
# E: non-executable-script /usr/share/carla/paramspinbox.py 644 /usr/bin/env python
d802190
find %{buildroot} -type f \( -name "*.py" \) -exec chmod a+x {} \;
d802190
d802190
# E: non-executable-script /usr/share/carla/carla 644 /usr/bin/python3
d802190
chmod a+x %{buildroot}%{_datadir}/%{pname}/{carla,carla-control,carla-jack-multi,carla-jack-single,carla-patchbay,carla-rack}
d802190
d802190
# fix perm due rpmlint W: unstripped-binary-or-object /usr/lib64/carla/libcarla_interposer-jack-x11.so
d802190
find %{buildroot}%{_libdir} -name '*.so' -exec chmod +x '{}' ';'
d802190
d802190
%check
d802190
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
d802190
d802190
%files
d802190
%doc README.md
d802190
%license doc/GPL.txt doc/LGPL.txt
d802190
%{_bindir}/%{pname}
d802190
%{_bindir}/%{pname}-control
d802190
%{_bindir}/%{pname}-database
d802190
%{_bindir}/%{pname}-jack-multi
d802190
%{_bindir}/%{pname}-jack-single
d802190
%{_bindir}/%{pname}-patchbay
d802190
%{_bindir}/%{pname}-rack
d802190
%{_bindir}/%{pname}-settings
d802190
%{_bindir}/%{pname}-single
41aa9e5
%{_bindir}/%{pname}-jack-patchbayplugin
41aa9e5
%{_bindir}/%{pname}-osc-gui
d802190
%{_libdir}/%{pname}/
d802190
%{_datadir}/applications/%{pname}-control.desktop
d802190
%{_datadir}/applications/%{pname}.desktop
41aa9e5
%{_datadir}/applications/%{pname}-jack-multi.desktop
41aa9e5
%{_datadir}/applications/%{pname}-jack-single.desktop
41aa9e5
%{_datadir}/applications/%{pname}-patchbay.desktop
41aa9e5
%{_datadir}/applications/%{pname}-rack.desktop
d802190
%{_datadir}/%{pname}/
d802190
%{_datadir}/icons/hicolor/*/apps/%{pname}*.png
d802190
%{_datadir}/icons/hicolor/*/apps/%{pname}*.svg
d802190
%{_datadir}/mime/packages/%{pname}.xml
d802190
d802190
%files vst
d802190
%{_libdir}/vst/
d802190
d802190
%files -n lv2-%{pname}
d802190
%dir %{_libdir}/lv2
d802190
%{_libdir}/lv2/carla.lv2/
d802190
d802190
%files devel
d802190
%{_includedir}/%{pname}/
d802190
%{_libdir}/pkgconfig/%{pname}-standalone.pc
d802190
%{_libdir}/pkgconfig/%{pname}-utils.pc
d802190
%{_libdir}/pkgconfig/%{pname}-native-plugin.pc
fd6357b
%{_libdir}/pkgconfig/%{pname}-host-plugin.pc
d802190
d802190
%changelog
fd6357b
* Thu Apr 15 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.3.0-1
fd6357b
- Update to 2.3.0
fd6357b
9f84af4
* Thu Feb 18 2021 Neal Gompa <ngompa13@gmail.com> - 1:2.2.0-4
9f84af4
- Drop explicit dep on jack-audio-connection-kit
9f84af4
90d7c41
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.0-3
90d7c41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
90d7c41
e249bd0
* Mon Oct 12 2020 Jeff Law <law@redhat.com> - 1:2.2.0-2
e249bd0
- Add missing #includes for gcc-11
e249bd0
caa288e
* Sun Sep 27 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2.0-1
caa288e
- Update to 2.2.0
caa288e
48e0211
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.0-0.2.rc1
48e0211
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
48e0211
41aa9e5
* Sun Jul 19 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2.0-0.1.rc1
41aa9e5
- Update to 2.2.0-0.1.rc1
41aa9e5
41aa9e5
* Sat May 16 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2-0.1.beta1
41aa9e5
- Update to 2.2-0.1.beta1
9210483
1383102
* Fri May 15 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2-0.1.20200514gitf100892
1383102
- Update to 2.2-0.1.20200514gitf100892
b800440
- Add ExcludeArch ppc64le due PowerPC is no longer supported by JUCE
1383102
4f7dd32
* Tue Apr 14 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.1-2
4f7dd32
- Add epoch to allow update
4f7dd32
4f7dd32
* Tue Apr 14 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.1-1
2fe8d7d
- Update to 2.1-1
2fe8d7d
1993fb4
* Wed Apr 08 2020 Martin Gansser <martinkg@fedoraproject.org> - 2.1-6.rc2
1993fb4
- Update to 2.1-6.rc2
1993fb4
Orcan Ogetbil 9fe22dc
* Mon Feb 17 2020 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 2.1-5.beta1.git74eef49
Orcan Ogetbil 9fe22dc
- Rebuild against fluidsynth2
Orcan Ogetbil 9fe22dc
be37d58
* Fri Feb 07 2020 Martin Gansser <martinkg@fedoraproject.org> - 2.1-4.beta1.git74eef49
be37d58
- Update to 2.1-4.beta1.git74eef49
8383e59
- Add Carla-gcc10-include.patch
be37d58
0b29ea6
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-3.beta13322c9f
0b29ea6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
0b29ea6
bf0adab
* Wed Oct 30 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.1-2.beta1.git3322c9f
bf0adab
- Update to 2.1-2.beta1.git3322c9f
bf0adab
- Dropped BR  non-ntk-fluid
bf0adab
- Dropped BR  pkgconfig(ntk)
bf0adab
c9e500e
* Wed Oct 30 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.1-1.beta1.git3322c9f
c9e500e
- Update to 2.1-1.beta1.git3322c9f
c9e500e
cd67efb
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.11.20190501git41f81a8
cd67efb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
cd67efb
8d3212b
* Wed May 15 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.10.20190501git41f81a8
8d3212b
- Update to 2.0.0-0.10.20190501git41f81a8
8d3212b
dfb2c18
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.9.20181225git2f3a442
dfb2c18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
dfb2c18
7f87514
* Sun Jan 06 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.8.20181225git2f3a442
7f87514
- Filtering private libs
7f87514
c333c56
* Sat Jan 05 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.7.20181225git2f3a442
c333c56
- Add RR python3-pyliblo fixes (RHBZ#1663630)
c333c56
1781799
* Fri Jan 04 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.6.20181225git2f3a442
90235a3
- Add RR jack-audio-connection-kit fixes (RHBZ#1663319) and (RHBZ#1663357)
1781799
6a46812
* Tue Dec 25 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.5.20181225git2f3a442
6a46812
- Update to 2.0.0-0.5.20181225git2f3a442
6a46812
- Rework of Carla-bswap.patch
6a46812
be46962
* Fri Dec 21 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.4.20181212git51f2073
d802190
- Add lv2-carla subpkg
d802190
- Take ownership of lv2/
2002c42
- Add BR desktop-file-utils
be46962
- Add Carla-bswap.patch
be46962
- Remove upstream optimisation options
d802190
d802190
* Thu Dec 20 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.3.20181212git51f2073
d802190
- Use correct directory in subpgk vst
d802190
- Make build verbose V=1
d802190
- Fix debug symbols extraction / stripping
d802190
d802190
* Wed Dec 19 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.2.20181212git51f2073
d802190
- Add subpkg vst
d802190
- Remove group tag
d802190
- Remove old BR qt-devel
d802190
- New git release use correct desktop files
d802190
- Use macro %%{_lib} libdir fix
d802190
- Use %%{__python3} macro
d802190
- Use %%{_datadir}/%%{pname}/
d802190
d802190
* Tue Dec 18 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.1.20181212git51f2073
d802190
- Initial build