Carla/Carla.spec

387 lines
14 KiB
RPMSpec
Raw Normal View History

2021-08-20 09:13:57 +00:00
%global pname carla
2020-04-08 12:11:33 +00:00
2018-12-20 22:39:40 +00:00
Name: Carla
2022-10-15 13:26:57 +00:00
Version: 2.5.2
2022-09-28 08:50:03 +00:00
Release: 1%{?dist}
2018-12-20 22:39:40 +00:00
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
2020-04-14 09:58:07 +00:00
Epoch: 1
2018-12-20 22:39:40 +00:00
License: GPLv2+ and BSD and Boost and ISC and MIT and zlib
URL: https://github.com/falkTX/Carla
2020-09-27 13:07:18 +00:00
Source0: https://github.com/falkTX/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
2021-06-15 07:53:05 +00:00
# https://github.com/falkTX/Carla/issues/1444
2022-09-28 08:50:03 +00:00
Patch0: %{name}-2.5-libdir.patch
Patch1: %{name}-single-libs-path.patch
2018-12-20 22:39:40 +00:00
BuildRequires: gcc gcc-c++
2019-01-06 16:12:15 +00:00
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(fluidsynth)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(mxml)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: python3-qt5-base
2018-12-20 22:39:40 +00:00
BuildRequires: python3-magic
2019-01-06 16:12:15 +00:00
BuildRequires: pkgconfig(liblo)
BuildRequires: pkgconfig(zlib)
BuildRequires: desktop-file-utils
2021-06-15 07:53:05 +00:00
BuildRequires: make
BuildRequires: /usr/bin/appstream-util
BuildRequires: /usr/bin/desktop-file-validate
2018-12-20 22:39:40 +00:00
Requires: python3-qt5
Requires: python3-pyliblo
2018-12-20 22:39:40 +00:00
Requires: hicolor-icon-theme
Requires: shared-mime-info
Requires: a2jmidid
2018-12-20 22:39:40 +00:00
2019-01-06 16:12:15 +00:00
# Dont provide or require internal libs. Using new rpm builtin filtering,
# see https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Private_Libraries
%global _privatelibs libjack[.]so.*
%global __provides_exclude ^(%{_privatelibs})$
%global __requires_exclude ^(%{_privatelibs})$
2018-12-20 22:39:40 +00:00
%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
2020-04-14 09:58:07 +00:00
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
2018-12-20 22:39:40 +00:00
%description devel
This package contains header files needed when writing software using
Carla's several APIs.
%package vst
Summary: CarlaRack and CarlaPatchbay VST plugins
2020-04-14 09:58:07 +00:00
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
2018-12-20 22:39:40 +00:00
%description vst
This package contains Carla VST plugins, including CarlaPatchbayFX,
CarlaPatchbay, CarlaRackFX, and CarlaRack.
%package -n lv2-%{pname}
Summary: LV2 plugin
2020-04-14 09:58:07 +00:00
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
2018-12-20 22:39:40 +00:00
%description -n lv2-%{pname}
This package contains the Carla LV2 plugin.
%prep
2021-06-15 07:53:05 +00:00
%autosetup -p0 -n %{name}-%{version}
2018-12-20 22:39:40 +00:00
# remove windows stuff
2018-12-21 12:35:18 +00:00
rm -rf data/{macos,windows}
2018-12-20 22:39:40 +00:00
# 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}
# Fix metainfo install dir
sed -i -e 's|$(DESTDIR)$(PREFIX)/share/appdata/studio.kx.carla.appdata.xml|$(DESTDIR)$(PREFIX)/share/metainfo/studio.kx.carla.appdata.xml|g' Makefile
sed -i -e 's|$(DESTDIR)$(PREFIX)/share/appdata|$(DESTDIR)$(PREFIX)/share/metainfo|g' Makefile
2018-12-20 22:39:40 +00:00
%build
%{set_build_flags}
# list build configuration, no need for optflags or -j
make features
%make_build SKIP_STRIPPING=true NOOPT=true V=1
2018-12-20 22:39:40 +00:00
%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
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/studio.kx.carla.appdata.xml
2018-12-20 22:39:40 +00:00
%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
2020-07-19 17:37:59 +00:00
%{_bindir}/%{pname}-jack-patchbayplugin
%{_bindir}/%{pname}-osc-gui
2018-12-20 22:39:40 +00:00
%{_libdir}/%{pname}/
%{_datadir}/applications/%{pname}-control.desktop
%{_datadir}/applications/%{pname}.desktop
2020-07-19 17:37:59 +00:00
%{_datadir}/applications/%{pname}-jack-multi.desktop
%{_datadir}/applications/%{pname}-jack-single.desktop
%{_datadir}/applications/%{pname}-patchbay.desktop
%{_datadir}/applications/%{pname}-rack.desktop
2018-12-20 22:39:40 +00:00
%{_datadir}/%{pname}/
%{_datadir}/icons/hicolor/*/apps/%{pname}*.png
%{_datadir}/icons/hicolor/*/apps/%{pname}*.svg
%{_datadir}/mime/packages/%{pname}.xml
%{_datadir}/metainfo/studio.kx.carla.appdata.xml
2018-12-20 22:39:40 +00:00
%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
2021-04-15 07:52:03 +00:00
%{_libdir}/pkgconfig/%{pname}-host-plugin.pc
2018-12-20 22:39:40 +00:00
%changelog
2022-10-15 13:26:57 +00:00
* Sat Oct 15 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.5.2-1
- Update to 2.5.2
2022-10-04 07:28:30 +00:00
* Tue Oct 04 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.5.1-1
- Update to 2.5.1
2022-09-28 08:50:03 +00:00
* Wed Sep 28 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.5.0-1
- Update to 2.5.0
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jul 16 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.4-1
- Update to 2.4.4
- Add RR a2jmidid to allow automatically midi input from system (BZ#2101508)
2022-04-16 14:58:00 +00:00
* Sat Apr 16 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.3-1
- Update to 2.4.3
2022-03-19 16:40:42 +00:00
* Sat Mar 19 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.2-2
- Add Carla-refresh-plugin-crash.patch
* Sun Feb 20 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.2-1
- Update to 2.4.2
2022-03-19 16:51:06 +00:00
- Add Carla-single-libs-path.patch
2022-01-29 15:36:05 +00:00
* Sat Jan 29 2022 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.1-3
- Add Carla-expression-error.patch
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
2021-10-16 10:18:23 +00:00
* Sat Oct 16 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.1-1
- Update to 2.4.1
2021-08-20 09:13:57 +00:00
* Fri Aug 20 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.4.0-1
- Update to 2.4.0
2021-08-09 07:00:06 +00:00
* Mon Aug 09 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.3.2-1
- Update to 2.3.2
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2021-07-17 09:58:08 +00:00
* Sat Jul 17 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.3.1-1
- Update to 2.3.1-1
* Wed Jul 14 2021 Scott Talbert <swt@techie.net> - 1:2.3.0-5
- Replace python3-qt5-devel BD with python3-qt5-base (for pyuic5)
2021-06-16 06:14:07 +00:00
* Wed Jun 16 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.3.0-4
- Rebuilt for fluidsynth-2.2.1
2021-06-15 07:53:05 +00:00
* Tue Jun 15 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.3.0-3
- Add Carla-libdir.patch
* Wed May 26 2021 Jan Beran <jaberan@redhat.com> - 1:2.3.0-2
- Add carla.appdata.xml file
2021-04-15 07:52:03 +00:00
* Thu Apr 15 2021 Martin Gansser <martinkg@fedoraproject.org> - 1:2.3.0-1
- Update to 2.3.0
* Thu Feb 18 2021 Neal Gompa <ngompa13@gmail.com> - 1:2.2.0-4
- Drop explicit dep on jack-audio-connection-kit
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
2020-10-12 16:40:13 +00:00
* Mon Oct 12 2020 Jeff Law <law@redhat.com> - 1:2.2.0-2
- Add missing #includes for gcc-11
2020-09-27 13:07:18 +00:00
* Sun Sep 27 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2.0-1
- Update to 2.2.0
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.2.0-0.2.rc1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-07-19 17:37:59 +00:00
* Sun Jul 19 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2.0-0.1.rc1
- Update to 2.2.0-0.1.rc1
* Sat May 16 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2-0.1.beta1
- Update to 2.2-0.1.beta1
2020-05-16 17:21:46 +00:00
2020-05-15 07:04:49 +00:00
* Fri May 15 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.2-0.1.20200514gitf100892
- Update to 2.2-0.1.20200514gitf100892
- Add ExcludeArch ppc64le due PowerPC is no longer supported by JUCE
2020-05-15 07:04:49 +00:00
2020-04-14 09:58:07 +00:00
* Tue Apr 14 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.1-2
- Add epoch to allow update
* Tue Apr 14 2020 Martin Gansser <martinkg@fedoraproject.org> - 1:2.1-1
2020-04-14 09:39:42 +00:00
- Update to 2.1-1
2020-04-08 12:11:33 +00:00
* Wed Apr 08 2020 Martin Gansser <martinkg@fedoraproject.org> - 2.1-6.rc2
- Update to 2.1-6.rc2
2020-02-17 06:07:23 +00:00
* Mon Feb 17 2020 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 2.1-5.beta1.git74eef49
- Rebuild against fluidsynth2
2020-02-07 10:28:32 +00:00
* Fri Feb 07 2020 Martin Gansser <martinkg@fedoraproject.org> - 2.1-4.beta1.git74eef49
- Update to 2.1-4.beta1.git74eef49
- Add Carla-gcc10-include.patch
2020-02-07 10:28:32 +00:00
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-3.beta13322c9f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Oct 30 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.1-2.beta1.git3322c9f
- Update to 2.1-2.beta1.git3322c9f
- Dropped BR non-ntk-fluid
- Dropped BR pkgconfig(ntk)
2019-10-30 12:29:17 +00:00
* Wed Oct 30 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.1-1.beta1.git3322c9f
- Update to 2.1-1.beta1.git3322c9f
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.11.20190501git41f81a8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 15 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.10.20190501git41f81a8
- Update to 2.0.0-0.10.20190501git41f81a8
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-0.9.20181225git2f3a442
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2019-01-06 16:12:15 +00:00
* Sun Jan 06 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.8.20181225git2f3a442
- Filtering private libs
* Sat Jan 05 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.7.20181225git2f3a442
- Add RR python3-pyliblo fixes (RHBZ#1663630)
* Fri Jan 04 2019 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.6.20181225git2f3a442
- Add RR jack-audio-connection-kit fixes (RHBZ#1663319) and (RHBZ#1663357)
* Tue Dec 25 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.5.20181225git2f3a442
- Update to 2.0.0-0.5.20181225git2f3a442
- Rework of Carla-bswap.patch
2018-12-21 12:35:18 +00:00
* Fri Dec 21 2018 Martin Gansser <martinkg@fedoraproject.org> - 2.0.0-0.4.20181212git51f2073
2018-12-20 22:39:40 +00:00
- Add lv2-carla subpkg
- Take ownership of lv2/
- Add BR desktop-file-utils
2018-12-21 12:35:18 +00:00
- Add Carla-bswap.patch
- Remove upstream optimisation options
2018-12-20 22:39:40 +00:00
* 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