-%define doc_ver 1.4.3
+%define namelc zynaddsubfx
Summary: Realtime software synthesizer
-Summary(pl): Syntezator programowy dzia³aj±cy w czasie rzeczywistym
+Summary(pl.UTF-8): Syntezator programowy działający w czasie rzeczywistym
Name: ZynAddSubFX
-Version: 2.1.1
+Version: 3.0.3
Release: 1
License: GPL
Group: X11/Applications/Sound
-Source0: http://mesh.dl.sourceforge.net/sourceforge/zynaddsubfx/%{name}-%{version}.tar.bz2
-# Source0-md5: a078a85fc140bad8da6dd8114b9e5f41
-Source1: http://mesh.dl.sourceforge.net/sourceforge/zynaddsubfx/%{name}-doc-%{doc_ver}.tar.gz
-# Source1-md5: 64a1c8d991e7ec9ffe0f9fbf929af62f
-Source2: %{name}.desktop
+Source0: http://downloads.sourceforge.net/%{namelc}/%{namelc}-%{version}.tar.bz2
+# Source0-md5: 66acae0913108f129aa979f3c4b65473
+Patch0: cxx_flags.patch
URL: http://zynaddsubfx.sourceforge.net/
-BuildRequires: XFree86-devel
BuildRequires: alsa-lib-devel
+#BuildRequires: doxygen
+BuildRequires: dssi >= 0.9.0
BuildRequires: fftw3-devel
BuildRequires: fltk-devel >= 1.1.3
BuildRequires: jack-audio-connection-kit-devel >= 0.66.3
-BuildRequires: mxml >= 2.0
+BuildRequires: lash-devel
+BuildRequires: liblo-devel >= 0.28
+BuildRequires: mxml-devel >= 2.2
BuildRequires: pkgconfig
+BuildRequires: portaudio >= 19
+BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: sed >= 4.0
+BuildRequires: xorg-lib-libICE-devel
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _noautoprovfiles %{_libdir}/(dssi|lv2|vst)
+
%description
ZynAddSubFX is a software synthesizer capable of making a countless
number of instruments.
-%description -l pl
+%description -l pl.UTF-8
ZynAddSubFX jest programowym syntezatorem zdolnym do tworzenia
-niezliczonej ilo¶ci instrumentów.
+niezliczonej ilości instrumentów.
+
+%package dssi
+Summary: Realtime software synthesizer - DSSI plugin
+Summary(pl.UTF-8): Syntezator programowy działający w czasie rzeczywistym, plugin DSSI
+Group: X11/Applications/Sound
+Requires: %{name} = %{version}-%{release}
+
+%description dssi
+ZynAddSubFX software synthesizer as a DSSI plugin.
+
+%description dssi -l pl.UTF-8
+Syntezator ZynAddSubFX jako wtyczka DSSI.
+
+%package lv2
+Summary: Realtime software synthesizer - LV2 plugin
+Summary(pl.UTF-8): Syntezator programowy działający w czasie rzeczywistym, plugin LV2
+Group: X11/Applications/Sound
+Requires: %{name} = %{version}-%{release}
+
+%description lv2
+ZynAddSubFX software synthesizer as a LV2 plugin.
+
+%description lv2 -l pl.UTF-8
+Syntezator ZynAddSubFX jako wtyczka LV2.
+
+%package vst
+Summary: Realtime software synthesizer - VST plugin
+Summary(pl.UTF-8): Syntezator programowy działający w czasie rzeczywistym, plugin VST
+Group: X11/Applications/Sound
+Requires: %{name} = %{version}-%{release}
+
+%description vst
+ZynAddSubFX software synthesizer as a VST plugin.
+
+%description vst -l pl.UTF-8
+Syntezator ZynAddSubFX jako wtyczka VST.
%prep
-%setup -q -a1
-sed -i -e "s|-O6|\$(OPTFLAGS)|" src/Makefile
+%setup -qn %{namelc}-%{version}
+
+%patch0 -p1
%build
-cd src
-%{__make} OPTFLAGS="%{rpmcflags}" \
- LINUX_AUDIOOUT="OSS_AND_JACK" \
- CXX=%{__cxx}
+
+mkdir build
+cd build
+%cmake .. \
+ -DPluginLibDir=%{_lib} \
+ -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags}"
+
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/%{name}} \
- $RPM_BUILD_ROOT%{_desktopdir} \
- $RPM_BUILD_ROOT%{_datadir}/%{name}/images \
- $RPM_BUILD_ROOT%{_datadir}/%{name}/examples/Banks \
- $RPM_BUILD_ROOT%{_datadir}/%{name}/examples/Instruments \
- $RPM_BUILD_ROOT%{_datadir}/%{name}/examples/Scales
-
-install -c src/zynaddsubfx $RPM_BUILD_ROOT%{_bindir}
-cp examples/*.xmz $RPM_BUILD_ROOT%{_datadir}/%{name}/examples
-install %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
-
-# NOTE:
-# Outdated, new version not ready yet
-#
-#cd %{name}-doc-%{doc_ver}
-#bzip2 -dc demo_src.tar.bz2 | tar xf - -C ../examples
-#cp images/* $RPM_BUILD_ROOT%{_datadir}/%{name}/images
-#cp *.ogg $RPM_BUILD_ROOT%{_datadir}/%{name}
-#cp *.html $RPM_BUILD_ROOT%{_datadir}/%{name}
-#cd ..
-#cp examples/demo_src/*.*zyn $RPM_BUILD_ROOT%{_datadir}/%{name}/examples/demos
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/%{namelc}} \
+ $RPM_BUILD_ROOT%{_desktopdir}
+
+%{__make} -C build install \
+ DESTDIR="$RPM_BUILD_ROOT"
+
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc FAQ.txt HISTORY.txt README.txt
-%attr(755,root,root) %{_bindir}/*
-%{_datadir}/%{name}
-%{_desktopdir}/%{name}.desktop
+%doc AUTHORS.txt HISTORY.txt README.adoc
+%attr(755,root,root) %{_bindir}/zynaddsubfx
+%attr(755,root,root) %{_bindir}/zynaddsubfx-ext-gui
+%{_datadir}/zynaddsubfx
+%{_pixmapsdir}/zynaddsubfx.svg
+%{_desktopdir}/zynaddsubfx-*.desktop
+
+%files dssi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/dssi/libzynaddsubfx_dssi.so
+
+%files lv2
+%defattr(644,root,root,755)
+%dir %{_libdir}/lv2/*.lv2
+%dir %{_libdir}/lv2/ZynAddSubFX.lv2presets
+%attr(755,root,root) %{_libdir}/lv2/*.lv2/*.so
+%{_libdir}/lv2/*.lv2/*.ttl
+%{_libdir}/lv2/ZynAddSubFX.lv2presets/*.ttl
+
+%files vst
+%defattr(644,root,root,755)
+%dir %{_libdir}/vst
+%attr(755,root,root) %{_libdir}/vst/*.so