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 859bc98
9 Summary: Audio plugin host
15 Source0: https://github.com/falkTX/Carla/archive/v%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5: 48fb7b0b8ee2e451798767ae779e8483
17 Source1: https://github.com/falkTX/Carla-Plugins/archive/%{plugins_rev}/Carla-Plugins-%{plugins_rev}.tar.gz
18 # Source1-md5: d1f05c048b8c813d7768ef40fc9badaa
19 Patch0: pypkgdir.patch
20 Patch1: soundfonts_path.patch
21 URL: http://kxstudio.linuxaudio.org/Applications:Carla
22 BuildRequires: Mesa-libGL-devel
23 BuildRequires: Qt5Core-devel
24 BuildRequires: Qt5Gui-devel
26 BuildRequires: QtCore-devel
27 BuildRequires: QtGui-devel
29 BuildRequires: alsa-lib-devel
30 BuildRequires: fftw3-devel
31 BuildRequires: fltk-devel
32 BuildRequires: fluidsynth-devel >= 2.0.0
33 BuildRequires: gtk+2-devel
34 BuildRequires: gtk+3-devel
35 BuildRequires: liblo-devel
36 BuildRequires: libprojectM-devel
37 BuildRequires: mxml-devel
38 BuildRequires: pulseaudio-devel
39 BuildRequires: python3
40 BuildRequires: python3-PyQt5
41 BuildRequires: python3-PyQt5-uic
42 BuildRequires: python-PyQt5-devel-tools >= 5.8.2-2
43 BuildRequires: python-PyQt5-uic
44 BuildRequires: rpm-pythonprov
45 BuildRequires: zlib-devel
46 Requires: python3-PyQt5
47 Requires: python3-numpy
48 Suggests: python3-rdflib
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 %define _noautoprovfiles %{_libdir}/(lv2|vst|carla/jack/libjack.so)
54 Carla is a fully-featured audio plugin host, with support for many
55 audio drivers and plugin formats.
58 Summary: Header files for %{name} library
59 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name}
60 Group: Development/Libraries
61 Requires: %{name} = %{version}-%{release}
64 Header files for %{name} library.
66 %description devel -l pl.UTF-8
67 Pliki nagłówkowe biblioteki %{name}.
70 %setup -q -n %{name}-%{version} -a 1
72 rmdir source/native-plugins/external
73 mv Carla-Plugins-%{plugins_rev}* source/native-plugins/external
79 # to make sure all needed features are available
80 %{__make} -j1 features \
81 EXTERNAL_PLUGINS=true \
83 %if %{without zynaddsubfx}
89 CFLAGS="%{rpmcflags}" \
90 CXXFLAGS="%{rpmcxxflags}" \
91 LDFLAGS="%{rpmldflags}" \
93 PYUIC4=%{_bindir}/pyuic4-3 \
94 PYUIC5=%{_bindir}/pyuic5-3 \
95 PYUIC=%{_bindir}/pyuic5-3 \
100 EXTERNAL_PLUGINS=true \
101 SKIP_STRIPPING=true \
102 %if %{without zynaddsubfx}
103 SKIP_ZYN_SYNTH=true \
104 HAVE_ZYN_DEPS=false \
108 CFLAGS="%{rpmcflags}" \
109 CXXFLAGS="%{rpmcxxflags}" \
110 LDFLAGS="%{rpmldflags}" \
112 PYUIC4=%{_bindir}/pyuic4-3 \
113 PYUIC5=%{_bindir}/pyuic5-3 \
114 PYUIC=%{_bindir}/pyuic5-3 \
118 rm -rf $RPM_BUILD_ROOT
121 %if %{without zynaddsubfx}
122 SKIP_ZYN_SYNTH=true \
123 HAVE_ZYN_DEPS=false \
127 PYPKGDIR=%{py3_sitescriptdir} \
128 DESTDIR=$RPM_BUILD_ROOT
130 %{__sed} -i -e '1s,^#!.*python3\?,#!%{__python3},' \
131 $RPM_BUILD_ROOT/%{_datadir}/carla/resources/*-* \
132 $RPM_BUILD_ROOT/%{_bindir}/*
134 %py3_comp $RPM_BUILD_ROOT%{_datadir}/carla
136 # so debuginfo is properly extracted
137 chmod a+x $RPM_BUILD_ROOT%{_libdir}/carla/{,*/}*.so
139 ln -s ../__pycache__ $RPM_BUILD_ROOT%{_datadir}/carla/resources/__pycache__
142 rm -rf $RPM_BUILD_ROOT
145 %defattr(644,root,root,755)
147 %attr(755,root,root) %{_bindir}/*
148 %dir %{_libdir}/carla
149 %dir %{_libdir}/carla/styles
150 %{_libdir}/carla/styles/carlastyle.json
151 %attr(755,root,root) %{_libdir}/carla/styles/carlastyle.so
152 %attr(755,root,root) %{_libdir}/carla/carla-*
153 %attr(755,root,root) %{_libdir}/carla/libcarla*.so
154 %dir %{_libdir}/carla/jack
155 %attr(755,root,root) %{_libdir}/carla/jack/libjack.so.0
156 %dir %{_libdir}/lv2/carla.lv2
157 %{_libdir}/lv2/carla.lv2/*.ttl
158 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/*.so
159 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-bridge-lv2-*
160 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-bridge-native
161 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-discovery-native
162 %{_libdir}/lv2/carla.lv2/jack
163 %{_libdir}/lv2/carla.lv2/resources
164 %{_libdir}/lv2/carla.lv2/styles
166 %dir %{_libdir}/vst/carla.vst
167 %attr(755,root,root) %{_libdir}/vst/carla.vst/*.so
168 %attr(755,root,root) %{_libdir}/vst/carla.vst/carla-bridge-lv2-*
169 %attr(755,root,root) %{_libdir}/vst/carla.vst/carla-bridge-native
170 %attr(755,root,root) %{_libdir}/vst/carla.vst/carla-discovery-native
171 %{_libdir}/vst/carla.vst/jack
172 %{_libdir}/vst/carla.vst/resources
173 %{_libdir}/vst/carla.vst/styles
174 %{_desktopdir}/carla.desktop
175 %{_desktopdir}/carla-control.desktop
176 %dir %{_datadir}/carla
177 %dir %{_datadir}/carla/resources
178 %{_datadir}/carla/resources/widgets
179 %{?with_zynaddsubfx:%{_datadir}/carla/resources/zynaddsubfx}
180 %{_datadir}/carla/resources/*.py
181 %{_datadir}/carla/resources/__pycache__
182 %attr(755,root,root) %{_datadir}/carla/carla-control
183 %attr(755,root,root) %{_datadir}/carla/carla-jack-multi
184 %attr(755,root,root) %{_datadir}/carla/carla-jack-single
185 %attr(755,root,root) %{_datadir}/carla/resources/bigmeter-ui
186 %attr(755,root,root) %{_datadir}/carla/resources/carla-plugin
187 %attr(755,root,root) %{_datadir}/carla/resources/carla-plugin-patchbay
188 %attr(755,root,root) %{_datadir}/carla/resources/midipattern-ui
189 %attr(755,root,root) %{_datadir}/carla/resources/notes-ui
190 %{?with_zynaddsubfx:%attr(755,root,root) %{_datadir}/carla/resources/zynaddsubfx-ui}
191 %{_datadir}/carla/widgets
192 %{_datadir}/carla/*.py
193 %{_datadir}/carla/__pycache__
194 %{_datadir}/carla/carla
195 %{_datadir}/carla/carla-patchbay
196 %{_datadir}/carla/carla-rack
197 %{_iconsdir}/hicolor/*/apps/*
198 %{_datadir}/mime/packages/carla.xml
201 %defattr(644,root,root,755)
203 %{_pkgconfigdir}/carla-native-plugin.pc
204 %{_pkgconfigdir}/carla-standalone.pc
205 %{_pkgconfigdir}/carla-utils.pc