3 %bcond_with zynaddsubfx # build with built-in ZynAddSubFx synth
4 %bcond_without qt4 # Qt4 plugin wrapper
6 # current revision of source/native-plugins/external git submodule
7 %define plugins_rev 385f1fd
9 Summary: Audio plugin host
15 Source0: https://github.com/falkTX/Carla/archive/v%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5: c7d9daae2ca3d7d2b58aaeb63dc385fe
17 Source1: https://github.com/falkTX/Carla-Plugins/archive/%{plugins_rev}/%{name}-Plugins-%{plugins_rev}.tar.gz
18 # Source1-md5: 776e4052a6cc33d85b4cb082665b5e2c
19 Patch1: soundfonts_path.patch
20 URL: http://kxstudio.linuxaudio.org/Applications:Carla
21 BuildRequires: Mesa-libGL-devel
22 BuildRequires: Qt5Core-devel
23 BuildRequires: Qt5Gui-devel
25 BuildRequires: QtCore-devel
26 BuildRequires: QtGui-devel
28 BuildRequires: alsa-lib-devel
29 BuildRequires: fftw3-devel
30 BuildRequires: fltk-devel
31 BuildRequires: fluidsynth-devel >= 2.0.0
32 BuildRequires: gtk+2-devel
33 BuildRequires: gtk+3-devel
34 BuildRequires: liblo-devel
35 BuildRequires: libprojectM-devel
36 BuildRequires: mxml-devel
37 BuildRequires: pulseaudio-devel
38 BuildRequires: python-PyQt5-devel-tools >= 5.8.2-2
39 BuildRequires: python-PyQt5-uic
40 BuildRequires: python3
41 BuildRequires: python3-PyQt5
42 BuildRequires: python3-PyQt5-uic
43 BuildRequires: rpm-pythonprov
44 BuildRequires: zlib-devel
45 Requires: python3-PyQt5
46 Requires: python3-numpy
47 Suggests: python3-rdflib
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _noautoprovfiles %{_libdir}/(lv2|vst|carla/jack/libjack.so)
53 Carla is a fully-featured audio plugin host, with support for many
54 audio drivers and plugin formats.
57 Summary: Header files for %{name} library
58 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name}
59 Group: Development/Libraries
60 Requires: %{name} = %{version}-%{release}
63 Header files for %{name} library.
65 %description devel -l pl.UTF-8
66 Pliki nagłówkowe biblioteki %{name}.
71 rmdir source/native-plugins/external
72 mv Carla-Plugins-%{plugins_rev}* source/native-plugins/external
77 # to make sure all needed features are available
78 %{__make} -j1 features \
79 EXTERNAL_PLUGINS=true \
81 %if %{without zynaddsubfx}
87 CFLAGS="%{rpmcflags}" \
88 CXXFLAGS="%{rpmcxxflags}" \
89 LDFLAGS="%{rpmldflags}" \
91 PYUIC4=%{_bindir}/pyuic4-3 \
92 PYUIC5=%{_bindir}/pyuic5-3 \
93 PYUIC=%{_bindir}/pyuic5-3 \
98 EXTERNAL_PLUGINS=true \
100 %if %{without zynaddsubfx}
101 SKIP_ZYN_SYNTH=true \
102 HAVE_ZYN_DEPS=false \
106 CFLAGS="%{rpmcflags}" \
107 CXXFLAGS="%{rpmcxxflags}" \
108 LDFLAGS="%{rpmldflags}" \
110 PYUIC4=%{_bindir}/pyuic4-3 \
111 PYUIC5=%{_bindir}/pyuic5-3 \
112 PYUIC=%{_bindir}/pyuic5-3 \
116 rm -rf $RPM_BUILD_ROOT
119 %if %{without zynaddsubfx}
120 SKIP_ZYN_SYNTH=true \
121 HAVE_ZYN_DEPS=false \
125 PYPKGDIR=%{py3_sitescriptdir} \
126 DESTDIR=$RPM_BUILD_ROOT
128 %{__sed} -i -e '1s,^#!.*python3\?,#!%{__python3},' \
129 $RPM_BUILD_ROOT%{_datadir}/carla/resources/*-* \
130 $RPM_BUILD_ROOT%{_bindir}/*
132 %py3_comp $RPM_BUILD_ROOT%{_datadir}/carla
134 # so debuginfo is properly extracted
135 chmod a+x $RPM_BUILD_ROOT%{_libdir}/carla/{,*/}*.so
137 ln -s ../__pycache__ $RPM_BUILD_ROOT%{_datadir}/carla/resources/__pycache__
140 rm -rf $RPM_BUILD_ROOT
143 %defattr(644,root,root,755)
145 %attr(755,root,root) %{_bindir}/*
146 %dir %{_libdir}/carla
147 %dir %{_libdir}/carla/styles
148 %{_libdir}/carla/styles/carlastyle.json
149 %attr(755,root,root) %{_libdir}/carla/styles/carlastyle.so
150 %attr(755,root,root) %{_libdir}/carla/carla-*
151 %attr(755,root,root) %{_libdir}/carla/libcarla*.so
152 %dir %{_libdir}/carla/jack
153 %attr(755,root,root) %{_libdir}/carla/jack/libjack.so.0
154 %dir %{_libdir}/lv2/carla.lv2
155 %{_libdir}/lv2/carla.lv2/*.ttl
156 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/*.so
157 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-bridge-lv2-*
158 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-bridge-native
159 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-discovery-native
160 %{_libdir}/lv2/carla.lv2/jack
161 %{_libdir}/lv2/carla.lv2/resources
162 %{_libdir}/lv2/carla.lv2/styles
164 %dir %{_libdir}/vst/carla.vst
165 %attr(755,root,root) %{_libdir}/vst/carla.vst/*.so
166 %attr(755,root,root) %{_libdir}/vst/carla.vst/carla-bridge-lv2-*
167 %attr(755,root,root) %{_libdir}/vst/carla.vst/carla-bridge-native
168 %attr(755,root,root) %{_libdir}/vst/carla.vst/carla-discovery-native
169 %{_libdir}/vst/carla.vst/jack
170 %{_libdir}/vst/carla.vst/resources
171 %{_libdir}/vst/carla.vst/styles
172 %{_desktopdir}/carla.desktop
173 %{_desktopdir}/carla-control.desktop
174 %{_desktopdir}/carla-jack-multi.desktop
175 %{_desktopdir}/carla-jack-single.desktop
176 %{_desktopdir}/carla-patchbay.desktop
177 %{_desktopdir}/carla-rack.desktop
178 %dir %{_datadir}/carla
179 %dir %{_datadir}/carla/modgui
180 %{_datadir}/carla/modgui/*.py
181 %{_datadir}/carla/modgui/__pycache__
182 %dir %{_datadir}/carla/patchcanvas
183 %{_datadir}/carla/patchcanvas/*.py
184 %{_datadir}/carla/patchcanvas/__pycache__
185 %dir %{_datadir}/carla/resources
186 %{_datadir}/carla/resources/modgui
187 %{_datadir}/carla/resources/patchcanvas
188 %{_datadir}/carla/resources/widgets
189 %{?with_zynaddsubfx:%{_datadir}/carla/resources/zynaddsubfx}
190 %{_datadir}/carla/resources/*.py
191 %{_datadir}/carla/resources/__pycache__
192 %attr(755,root,root) %{_datadir}/carla/carla-control
193 %attr(755,root,root) %{_datadir}/carla/carla-jack-multi
194 %attr(755,root,root) %{_datadir}/carla/carla-jack-single
195 %attr(755,root,root) %{_datadir}/carla/resources/bigmeter-ui
196 %attr(755,root,root) %{_datadir}/carla/resources/carla-plugin
197 %attr(755,root,root) %{_datadir}/carla/resources/carla-plugin-patchbay
198 %attr(755,root,root) %{_datadir}/carla/resources/midipattern-ui
199 %attr(755,root,root) %{_datadir}/carla/resources/notes-ui
200 %attr(755,root,root) %{_datadir}/carla/resources/xycontroller-ui
201 %{?with_zynaddsubfx:%attr(755,root,root) %{_datadir}/carla/resources/zynaddsubfx-ui}
202 %{_datadir}/carla/widgets
203 %{_datadir}/carla/*.py
204 %{_datadir}/carla/__pycache__
205 %{_datadir}/carla/carla
206 %{_datadir}/carla/carla-patchbay
207 %{_datadir}/carla/carla-rack
208 %{_iconsdir}/hicolor/*/apps/*
209 %{_datadir}/mime/packages/carla.xml
212 %defattr(644,root,root,755)
214 %{_pkgconfigdir}/carla-host-plugin.pc
215 %{_pkgconfigdir}/carla-native-plugin.pc
216 %{_pkgconfigdir}/carla-standalone.pc
217 %{_pkgconfigdir}/carla-utils.pc