]> git.pld-linux.org Git - packages/Carla.git/blobdiff - Carla.spec
Qt4 is back
[packages/Carla.git] / Carla.spec
index cad3071950d013873bb32a0bcc0edb0c18703abe..d34b55bd82e60cc3328638f6679064af5e6cb7bd 100644 (file)
@@ -1,49 +1,54 @@
 #
 # Conditional build:
-%bcond_with    tests           # build with tests
-%bcond_without tests           # build without tests
-#
+%bcond_with    zynaddsubfx             # build with built-in ZynAddSubFx synth
+%bcond_without qt4                     # Qt4 plugin wrapper
 
-# git tag is 1.9.6, but release name is 2.0-beta4
-# https://github.com/falkTX/Carla/releases/tag/1.9.6
-%define        tag     1.9.6
+# current revision of source/native-plugins/external git submodule
+%define plugins_rev   859bc98
 
-%define        beta    beta4
 Summary:       Audio plugin host
 Name:          Carla
-Version:       2.0
-Release:       0.%{beta}.1
+Version:       2.0.0
+Release:       2
 License:       GPL v2+
 Group:         Applications
-Source0:       https://github.com/falkTX/Carla/archive/%{tag}/%{name}-%{tag}.tar.gz
-# Source0-md5: 43e27bd3e1fe226e078ca1b90ea49426
-Patch0:                libdir.patch
-Patch1:                pyqt5.5.patch
-Patch2:                shared_fltk.patch
+Source0:       https://github.com/falkTX/Carla/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 48fb7b0b8ee2e451798767ae779e8483
+Source1:       https://github.com/falkTX/Carla-Plugins/archive/%{plugins_rev}/Carla-Plugins-%{plugins_rev}.tar.gz
+# Source1-md5: d1f05c048b8c813d7768ef40fc9badaa
+Patch0:                pypkgdir.patch
+Patch1:                soundfonts_path.patch
 URL:           http://kxstudio.linuxaudio.org/Applications:Carla
 BuildRequires: Mesa-libGL-devel
-BuildRequires: QtCore-devel
-BuildRequires: QtGui-devel
 BuildRequires: Qt5Core-devel
 BuildRequires: Qt5Gui-devel
+%if %{with qt4}
+BuildRequires: QtCore-devel
+BuildRequires: QtGui-devel
+%endif
 BuildRequires: alsa-lib-devel
+BuildRequires: fftw3-devel
 BuildRequires: fltk-devel
-BuildRequires: fluidsynth-devel
+BuildRequires: fluidsynth-devel >= 2.0.0
 BuildRequires: gtk+2-devel
 BuildRequires: gtk+3-devel
 BuildRequires: liblo-devel
 BuildRequires: libprojectM-devel
+BuildRequires: mxml-devel
 BuildRequires: pulseaudio-devel
-BuildRequires: python-PyQt5-devel-tools
 BuildRequires: python3
+BuildRequires: python3-PyQt5
 BuildRequires: python3-PyQt5-uic
+BuildRequires: python-PyQt5-devel-tools >= 5.8.2-2
+BuildRequires: python-PyQt5-uic
 BuildRequires: rpm-pythonprov
+BuildRequires: zlib-devel
 Requires:      python3-PyQt5
 Requires:      python3-numpy
 Suggests:      python3-rdflib
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define        _noautoprovfiles        %{_libdir}/lv2
+%define        _noautoprovfiles        %{_libdir}/(lv2|vst|carla/jack/libjack.so)
 
 %description
 Carla is a fully-featured audio plugin host, with support for many
@@ -53,6 +58,7 @@ audio drivers and plugin formats.
 Summary:       Header files for %{name} library
 Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki %{name}
 Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
 
 %description devel
 Header files for %{name} library.
@@ -61,22 +67,64 @@ Header files for %{name} library.
 Pliki nagłówkowe biblioteki %{name}.
 
 %prep
-%setup -q -n %{name}-%{tag}
-%patch0 -p1
+%setup -q -n %{name}-%{version} -a 1
+
+rmdir source/native-plugins/external
+mv Carla-Plugins-%{plugins_rev}* source/native-plugins/external
+
+#%patch0 -p1
 %patch1 -p1
-%patch2 -p1
 
 %build
-%{__make} -j1 \
+# to make sure all needed features are available
+%{__make} -j1 features \
+       EXTERNAL_PLUGINS=true \
+       SKIP_STRIPPING=true \
+%if %{without zynaddsubfx}
+       SKIP_ZYN_SYNTH=true \
+       HAVE_ZYN_DEPS=false \
+%endif
+       CC="%{__cc}" \
+       CXX="%{__cxx}" \
+       CFLAGS="%{rpmcflags}" \
+       CXXFLAGS="%{rpmcxxflags}" \
+       LDFLAGS="%{rpmldflags}" \
        PREFIX=%{_prefix} \
+       PYUIC4=%{_bindir}/pyuic4-3 \
+       PYUIC5=%{_bindir}/pyuic5-3 \
+       PYUIC=%{_bindir}/pyuic5-3 \
+       LIBDIR=%{_libdir}
+
+%{__make} -j1 all \
+       --trace \
+       EXTERNAL_PLUGINS=true \
+       SKIP_STRIPPING=true \
+%if %{without zynaddsubfx}
+       SKIP_ZYN_SYNTH=true \
+       HAVE_ZYN_DEPS=false \
+%endif
+       CC="%{__cc}" \
+       CXX="%{__cxx}" \
+       CFLAGS="%{rpmcflags}" \
+       CXXFLAGS="%{rpmcxxflags}" \
+       LDFLAGS="%{rpmldflags}" \
+       PREFIX=%{_prefix} \
+       PYUIC4=%{_bindir}/pyuic4-3 \
+       PYUIC5=%{_bindir}/pyuic5-3 \
+       PYUIC=%{_bindir}/pyuic5-3 \
        LIBDIR=%{_libdir}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %{__make} install \
+%if %{without zynaddsubfx}
+       SKIP_ZYN_SYNTH=true \
+       HAVE_ZYN_DEPS=false \
+%endif
        PREFIX=%{_prefix} \
        LIBDIR=%{_libdir} \
+       PYPKGDIR=%{py3_sitescriptdir} \
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__sed} -i -e '1s,^#!.*python3\?,#!%{__python3},' \
@@ -85,6 +133,9 @@ rm -rf $RPM_BUILD_ROOT
 
 %py3_comp $RPM_BUILD_ROOT%{_datadir}/carla
 
+# so debuginfo is properly extracted
+chmod a+x $RPM_BUILD_ROOT%{_libdir}/carla/{,*/}*.so
+
 ln -s ../__pycache__ $RPM_BUILD_ROOT%{_datadir}/carla/resources/__pycache__
 
 %clean
@@ -100,24 +151,44 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/carla/styles/carlastyle.so
 %attr(755,root,root) %{_libdir}/carla/carla-*
 %attr(755,root,root) %{_libdir}/carla/libcarla*.so
+%dir %{_libdir}/carla/jack
+%attr(755,root,root) %{_libdir}/carla/jack/libjack.so.0
 %dir %{_libdir}/lv2/carla.lv2
 %{_libdir}/lv2/carla.lv2/*.ttl
 %attr(755,root,root) %{_libdir}/lv2/carla.lv2/*.so
+%attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-bridge-lv2-*
+%attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-bridge-native
+%attr(755,root,root) %{_libdir}/lv2/carla.lv2/carla-discovery-native
+%{_libdir}/lv2/carla.lv2/jack
 %{_libdir}/lv2/carla.lv2/resources
 %{_libdir}/lv2/carla.lv2/styles
+%dir %{_libdir}/vst
+%dir %{_libdir}/vst/carla.vst
+%attr(755,root,root) %{_libdir}/vst/carla.vst/*.so
+%attr(755,root,root) %{_libdir}/vst/carla.vst/carla-bridge-lv2-*
+%attr(755,root,root) %{_libdir}/vst/carla.vst/carla-bridge-native
+%attr(755,root,root) %{_libdir}/vst/carla.vst/carla-discovery-native
+%{_libdir}/vst/carla.vst/jack
+%{_libdir}/vst/carla.vst/resources
+%{_libdir}/vst/carla.vst/styles
 %{_desktopdir}/carla.desktop
+%{_desktopdir}/carla-control.desktop
 %dir %{_datadir}/carla
 %dir %{_datadir}/carla/resources
-%{_datadir}/carla/resources/nekofilter
-%{_datadir}/carla/resources/zynaddsubfx
+%{_datadir}/carla/resources/widgets
+%{?with_zynaddsubfx:%{_datadir}/carla/resources/zynaddsubfx}
 %{_datadir}/carla/resources/*.py
 %{_datadir}/carla/resources/__pycache__
+%attr(755,root,root) %{_datadir}/carla/carla-control
+%attr(755,root,root) %{_datadir}/carla/carla-jack-multi
+%attr(755,root,root) %{_datadir}/carla/carla-jack-single
 %attr(755,root,root) %{_datadir}/carla/resources/bigmeter-ui
 %attr(755,root,root) %{_datadir}/carla/resources/carla-plugin
 %attr(755,root,root) %{_datadir}/carla/resources/carla-plugin-patchbay
-%attr(755,root,root) %{_datadir}/carla/resources/midiseq-ui
-%attr(755,root,root) %{_datadir}/carla/resources/nekofilter-ui
+%attr(755,root,root) %{_datadir}/carla/resources/midipattern-ui
 %attr(755,root,root) %{_datadir}/carla/resources/notes-ui
+%{?with_zynaddsubfx:%attr(755,root,root) %{_datadir}/carla/resources/zynaddsubfx-ui}
+%{_datadir}/carla/widgets
 %{_datadir}/carla/*.py
 %{_datadir}/carla/__pycache__
 %{_datadir}/carla/carla
@@ -129,4 +200,6 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %{_includedir}/carla
+%{_pkgconfigdir}/carla-native-plugin.pc
 %{_pkgconfigdir}/carla-standalone.pc
+%{_pkgconfigdir}/carla-utils.pc
This page took 0.184583 seconds and 4 git commands to generate.