#
-# _with_nas - enable NAS audio support
-# _without_alsa - disable ALSA support
+# Conditional build:
+%bcond_without alsa # disable ALSA support
+%bcond_with nas # enable NAS support
+%bcond_without esd # disable esound support
+%bcond_without hidden_visibility # pass '--fvisibility=hidden' & '--fvisibility-inlines-hidden' to g++
+#
+%define _state stable
+%define _kdever 3.5.4
#
-%ifarch sparc sparcv9 sparc64
-%define _without_alsa 1
-%endif
Summary: aRts sound server
Summary(pl): Serwer d¼wiêku
Summary(pt_BR): Servidor de sons usado pelo KDE
Name: arts
-Version: 1.1.2
-Release: 1
-Epoch: 12
+Version: 1.5.4
+Release: 2
+Epoch: 13
License: LGPL
-Vendor: The KDE Team
Group: Libraries
-Source0: ftp://ftp.kde.org/pub/kde/stable/3.1.2/src/%{name}-%{version}.tar.bz2
-%{!?_without_alsa:BuildRequires: alsa-lib-devel}
+Source0: ftp://ftp.kde.org/pub/kde/%{_state}/%{_kdever}/src/%{name}-%{version}.tar.bz2
+# Source0-md5: 886ba4a13dc0da312d94c09f50c3ffe6
+Patch100: %{name}-branch.diff
+Patch0: kde-ac260-lt.patch
+URL: http://www.arts-project.org/
+%{?with_alsa:BuildRequires: alsa-lib-devel}
BuildRequires: audiofile-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: docbook-dtd41-sgml
+BuildRequires: docbook-utils >= 0.6.14
+%{?with_esd:BuildRequires: esound-devel}
+%{?with_hidden_visibility:BuildRequires: gcc-c++ >= 5:4.1.0-0.20051206r108118.1}
BuildRequires: glib2-devel >= 2.0.0
-BuildRequires: libjpeg-devel
-BuildRequires: libpng-devel
-# not needed, only ./configure check for this
-#BuildRequires: libvorbis-devel
-#BuildRequires: mad-devel
-%{?_with_nas:BuildRequires: nas-devel}
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: libmad-devel
+BuildRequires: libtool >= 2:1.5-2
+BuildRequires: libvorbis-devel
+%{?with_nas:BuildRequires: nas-devel}
BuildRequires: pkgconfig
-BuildRequires: qt-devel >= 3.1
-URL: http://www.kde.org/
+%{!?with_hidden_visibility:BuildRequires: qt-devel >= 6:3.2.1-4}
+%{?with_hidden_visibility:BuildRequires: qt-devel >= 6:3.3.5.051113-1}
+Obsoletes: arts-glib
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _htmldir /usr/share/doc/kde/HTML
-
%description
-aRts sound server.
+The Analog Real-Time Synthesizer, or aRts, is a modular system for
+synthesizing sound and music on a digital computer. Using small
+building blocks called modules, the user can easily build complex
+audio processing tools. Modules typically provide functions such as
+sound waveform generators, filters, audio effects, mixing, and
+playback of digital audio in different file formats. The artsd sound
+server mixes audio from several sources in real time, allowing
+multiple sound applications to transparently share access to sound
+hardware.
%description -l pl
-Serwer d¼wiêku aRts.
+Analog Real-Time Synthesizer (w skrócie aRts) to modularny system do
+obs³ugi d¼wiêku i muzyki na komputerze. Za pomoc± modu³ów u¿ytkownik
+mo¿e z powodzeniem budowaæ kompleksowe narzêdzia przetwarzania
+d¼wiêku. Modu³y umo¿liwiaj± generacjê kszta³tu fali, filtrowanie,
+efekty audio, miksowanie oraz odtwarzanie d¼wiêku cyfrowego w ró¿nych
+formatach. Serwer d¼wiêku artsd umo¿liwia równie¿ jednoczesne
+odtwarzanie d¼wiêku z wielu ¼róde³.
%description -l pt_BR
O aRts é um sintetizador analógico em tempo real que é completamente
como um sintetizador (ou fornecedor de filtros). Usado pelo KDE, entre
outros.
-%package X11
-Summary: X11 dependent part of aRts
-Summary(pl): Czê¶æ aRts wymagaj±ca X11
-Group: X11/Libraries
-
-%description X11
-X11 dependent part of aRts.
-
-%description X11 -l pl
-Czê¶æ aRts wymagaj±ca X11.
-
-%package qt
-Summary: QT dependend part of aRts
-Summary(pl): Czê¶æ aRts wymagaj±ca QT
-Group: X11/Libraries
-Requires: %{name} >= %{version}
-Requires: qt >= 3.1
-
-%description qt
-QT dependend part of aRts.
-
-%description qt -l pl
-Czê¶æ aRts wymagaj±ca QT.
-
%package devel
Summary: Sound server - header files
Summary(pl): Serwer d¼wiêku - pliki nag³ówkowe
Summary(pt_BR): Arquivos para desenvolvimento com o o aRts
Group: Development/Libraries
-Requires: qt-devel >= 3.1
-Requires: %{name} >= %{version}
-%{?_with_nas:Requires: nas-devel}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+# not necessary for all libs (e.g. mcop), but propagated by artsflow
+%{?with_alsa:Requires: alsa-lib-devel}
+Requires: audiofile-devel
+Requires: esound-devel
+Requires: glib2-devel >= 2.0.0
+Requires: jack-audio-connection-kit-devel
+Requires: libmad-devel
+Requires: libvorbis-devel
+%{?with_nas:Requires: nas-devel}
%description devel
Header files required to compile programs using arts.
%description devel -l pt_BR
Arquivos para desenvolvimento com o o aRts.
-%package glib
-Summary: GLib dependend part of aRts
-Summary(pl): Czê¶æ aRts wymagaj±ca GLib
+# separate from arts-devel because they are mostly independent and have very
+# different deps
+# there is no artsc base - it would be small and would require arts - so
+# there is no reason to separate
+%package -n artsc-devel
+Summary: Development files for artsc libraries
+Summary(pl): Pliki programistyczne bibliotek artsc
+Group: Development/Libraries
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: glib2-devel >= 2.0.0
+Conflicts: arts-devel < 12:1.2.0.031126-2
+
+%description -n artsc-devel
+Development files for artsc libraries (C interface to aRts sound
+system).
+
+%description -n artsc-devel -l pl
+Pliki programistyczne bibliotek artsc (interfejsu w C do systemu
+d¼wiêku aRts).
+
+%package X11
+Summary: X11 dependent part of aRts
+Summary(pl): Czê¶æ aRts wymagaj±ca X11
Group: X11/Libraries
-Requires: glib >= 1.2.6
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description X11
+X11 dependent part of aRts (x11globalcomm module).
-%description glib
-GLib dependend part of aRts.
+%description X11 -l pl
+Czê¶æ aRts wymagaj±ca X11 (modu³ x11globalcomm).
-%description glib -l pl
-Czê¶æ aRts wymagaj±ca GLib.
+%package qt
+Summary: Qt dependend part of aRts
+Summary(pl): Czê¶æ aRts wymagaj±ca Qt
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: qt >= 6:3.2.1-4
+
+%description qt
+Qt dependend part of aRts (qtmcop library).
+
+%description qt -l pl
+Czê¶æ aRts wymagaj±ca Qt (biblioteka qtmcop).
+
+%package qt-devel
+Summary: Development files for qtmcop library
+Summary(pl): Pliki programistyczne dla biblioteki qtmcop
+Group: X11/Development/Libraries
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-qt = %{epoch}:%{version}-%{release}
+Requires: qt-devel >= 6:3.2.1-4
+
+%description qt-devel
+Development files for qtmcop library.
+
+%description qt-devel -l pl
+Pliki programistyczne dla biblioteki qtmcop.
%prep
%setup -q
+#%patch100 -p1
+%patch0 -p1
%build
-kde_htmldir="%{_htmldir}"; export kde_htmldir
-kde_icondir="%{_pixmapsdir}"; export kde_icondir
+cp -f /usr/share/automake/config.sub admin
+
+%{__make} -f admin/Makefile.common cvs
%configure \
- --%{?debug:en}%{!?debug:dis}able-debug \
- --disable-rpath \
- --enable-final \
- --with-xinerama \
- --with%{?_without_alsa:out}-alsa
-
-%if %{!?_with_nas:1}0
-# Cannot patch configure.in because it does not rebuild correctly on ac25
-sed -e 's@#define HAVE_LIBAUDIONAS 1@/* #undef HAVE_LIBAUDIONAS */@' \
- < config.h \
- > config.h.tmp
-mv -f config.h{.tmp,}
+ %{!?with_nas:ac_cv_header_audio_audiolib_h=no} \
+%if "%{_lib}" == "lib64"
+ --enable-libsuffix=64 \
%endif
-%{__make}
+ --%{?debug:en}%{!?debug:dis}able-debug%{?debug:=full} \
+ %{!?debug:--disable-rpath} \
+ --disable-final \
+ %{?with_hidden_visibility:--enable-gcc-hidden-visibility} \
+ --with-qt-libraries=%{_libdir} \
+ --with%{!?with_alsa:out}-alsa
+
+%{__make} \
+ CXXLD=%{_host_cpu}-%{_vendor}-%{_os}-g++ \
+ CCLD=%{_host_cpu}-%{_vendor}-%{_os}-gcc
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
-%post glib -p /sbin/ldconfig
-%postun glib -p /sbin/ldconfig
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/artscat
%attr(755,root,root) %{_bindir}/artsrec
%attr(755,root,root) %{_bindir}/artsshell
%attr(755,root,root) %{_bindir}/artswrapper
-%attr(755,root,root) %{_bindir}/testdhandle
-%{_libdir}/lib[!gqx]*.la
-%attr(755,root,root) %{_libdir}/lib[!gqx]*.so.*.*.*
+# shared libraries
+%attr(755,root,root) %{_libdir}/libartsc.so.*.*.*
+%attr(755,root,root) %{_libdir}/libartsflow.so.*.*.*
+%attr(755,root,root) %{_libdir}/libartsflow_idl.so.*.*.*
+%attr(755,root,root) %{_libdir}/libgmcop.so.*.*.*
+%attr(755,root,root) %{_libdir}/libkmedia2.so.*.*.*
+%attr(755,root,root) %{_libdir}/libkmedia2_idl.so.*.*.*
+%attr(755,root,root) %{_libdir}/libmcop.so.*.*.*
+%attr(755,root,root) %{_libdir}/libmcop_mt.so.*.*.*
+%attr(755,root,root) %{_libdir}/libsoundserver_idl.so.*.*.*
+# lt_dlopened modules (*.la needed)
+%attr(755,root,root) %{_libdir}/libartscbackend.so.*.*.*
+%{_libdir}/libartscbackend.la
+%attr(755,root,root) %{_libdir}/libartsdsp.so.*.*.*
+%{_libdir}/libartsdsp.la
+%attr(755,root,root) %{_libdir}/libartsdsp_st.so.*.*.*
+%{_libdir}/libartsdsp_st.la
+%attr(755,root,root) %{_libdir}/libartsgslplayobject.so.*.*.*
+%{_libdir}/libartsgslplayobject.la
+%attr(755,root,root) %{_libdir}/libartswavplayobject.so.*.*.*
+%{_libdir}/libartswavplayobject.la
+#
%{_libdir}/mcop
+#%{_mandir}/man1/artscat.1*
+#%{_mandir}/man1/artsd.1*
+#%{_mandir}/man1/artsdsp.1*
+#%{_mandir}/man1/artsplay.1*
+#%{_mandir}/man1/artsrec.1*
+#%{_mandir}/man1/artsshell.1*
+#%{_mandir}/man1/artswrapper.1*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/artsc-config
%attr(755,root,root) %{_bindir}/mcopidl
-%{_libdir}/*.so
+%attr(755,root,root) %{_libdir}/libartsflow.so
+%attr(755,root,root) %{_libdir}/libartsflow_idl.so
+%attr(755,root,root) %{_libdir}/libartsgslplayobject.so
+%attr(755,root,root) %{_libdir}/libartswavplayobject.so
+%attr(755,root,root) %{_libdir}/libgmcop.so
+%attr(755,root,root) %{_libdir}/libkmedia2.so
+%attr(755,root,root) %{_libdir}/libkmedia2_idl.so
+%attr(755,root,root) %{_libdir}/libmcop.so
+%attr(755,root,root) %{_libdir}/libmcop_mt.so
+%attr(755,root,root) %{_libdir}/libsoundserver_idl.so
+# it seems to be only (lt_)dlopened, nothing links with it - so not needed
+# %attr(755,root,root) %{_libdir}/libx11globalcomm.so
+# shared libraries
+%{_libdir}/libartsflow.la
+%{_libdir}/libartsflow_idl.la
+%{_libdir}/libgmcop.la
+%{_libdir}/libkmedia2.la
+%{_libdir}/libkmedia2_idl.la
+%{_libdir}/libmcop.la
+%{_libdir}/libmcop_mt.la
+%{_libdir}/libsoundserver_idl.la
+#
%{_includedir}/arts
+%exclude %{_includedir}/arts/qiomanager.h
+#%{_mandir}/man1/mcopidl.1*
+
+%files -n artsc-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/artsc-config
+%attr(755,root,root) %{_libdir}/libartsc.so
+%attr(755,root,root) %{_libdir}/libartscbackend.so
+%attr(755,root,root) %{_libdir}/libartsdsp.so
+%attr(755,root,root) %{_libdir}/libartsdsp_st.so
+%{_libdir}/libartsc.la
%{_includedir}/artsc
+#%{_mandir}/man1/artsc-config.1*
%files X11
%defattr(644,root,root,755)
-%{_libdir}/libx11globalcomm.la
+# lt_dlopened module (.la needed)
%attr(755,root,root) %{_libdir}/libx11globalcomm.so.*.*.*
+%{_libdir}/libx11globalcomm.la
-%files glib
+%files qt
%defattr(644,root,root,755)
-%{_libdir}/libgmcop.la
-%attr(755,root,root) %{_libdir}/libgmcop.so.*.*.*
+# shared library
+%attr(755,root,root) %{_libdir}/libqtmcop.so.*.*.*
-%files qt
+%files qt-devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libqtmcop.so
%{_libdir}/libqtmcop.la
-%attr(755,root,root) %{_libdir}/libqtmcop.so.*.*.*
+%{_includedir}/arts/qiomanager.h