# # spec file for package pulseaudio (Version 0.9.7) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: pulseaudio %define drvver 0.9 Summary: A Networked Sound Server Version: 0.9.7 Release: 14 License: GPL v2 or later; LGPL v2.1 or later Group: System/Sound Daemons #Source0: http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-%{version}.tar.gz Source0: pulseaudio-0.9.7.svn20071017.tar.gz Source1: default.pa Url: http://pulseaudio.org BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: alsa-devel avahi-devel doxygen glib2-devel hal-devel jack-devel libatomic-ops-devel liboil-devel libsamplerate-devel libsndfile-devel xorg-x11-devel BuildRequires: doxygen gconf2-devel lirc-devel Requires: %{name}-core-libs = %{version}-%{release} Patch1: pulseaudio-0.9.6-nochown.patch Patch2: pulseaudio-0.9.7-eof-fix-r1964.patch Patch3: pulseaudio-0.9.5-esd-max-samplesize.diff Patch4: pulseaudio-0.9.7-type-punning.diff %description pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package esound-compat Summary: A Networked Sound Server Group: System/Sound Daemons Requires: %{name} = %{version}-%{release} %description esound-compat pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package module-lirc Summary: A Networked Sound Server Group: System/Sound Daemons Requires: %{name} = %{version}-%{release} %description module-lirc pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package module-x11 Summary: A Networked Sound Server Group: System/Sound Daemons Requires: %{name} = %{version}-%{release} %description module-x11 pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package module-zeroconf Summary: A Networked Sound Server Group: System/Sound Daemons Requires: %{name} = %{version}-%{release} %description module-zeroconf pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package module-gconf Summary: A Networked Sound Server Group: System/Sound Daemons Requires: %{name} = %{version}-%{release} %description module-gconf pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package libs Summary: System libraries for pulseaudio License: GPL v2 or later; LGPL v2.1 or later Group: System/Libraries Provides: pulseaudio-lib Obsoletes: pulseaudio-lib %description libs This package contains the system libraries for clients of pulseaudio sound server. Authors: -------- Lennart Poettering Pierre Ossman %package core-libs Summary: A Networked Sound Server License: GPL v2 or later; LGPL v2.1 or later Group: System/Sound Daemons %description core-libs pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package libs-glib2 Summary: A Networked Sound Server License: GPL v2 or later; LGPL v2.1 or later Group: System/Sound Daemons Provides: pulseaudio-lib-glib2 Obsoletes: pulseaudio-lib-glib2 %description libs-glib2 pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package libs-zeroconf Summary: A Networked Sound Server License: GPL v2 or later; LGPL v2.1 or later Group: System/Sound Daemons Provides: pulseaudio-lib-zeroconf Obsoletes: pulseaudio-lib-zeroconf %description libs-zeroconf pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %package devel Summary: Development package for the pulseaudio library License: GPL v2 or later; LGPL v2.1 or later Group: Development/Libraries/C and C++ Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs-glib2 = %{version}-%{release} Requires: %{name}-libs-zeroconf = %{version}-%{release} Requires: pkgconfig glib2-devel Provides: pulseaudio-devel Obsoletes: pulseaudio-devel %description devel This package contains the files needed to compile programs that use the pulseaudio library. Authors: -------- Lennart Poettering Pierre Ossman %package utils Summary: A Networked Sound Server License: GPL v2 or later; LGPL v2.1 or later Group: System/Sound Daemons Requires: %{name}-libs = %{version}-%{release} %description utils pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). Authors: -------- Lennart Poettering Pierre Ossman %prep %setup -q -T -b0 %patch1 -p1 %patch2 -p3 %patch3 -p1 %patch4 %build %configure --disable-ltdl-install --disable-static --disable-rpath --with-system-user=pulse --with-system-group=pulse --with-realtime-group=pulse-rt --with-access-group=pulse-access make LIBTOOL=/usr/bin/libtool make doxygen %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install cp %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pulse/ rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la $RPM_BUILD_ROOT%{_libdir}/pulse-%{drvver}/modules/*.la # configure --disable-static had no effect; delete manually. rm -rf $RPM_BUILD_ROOT%{_libdir}/*.a chmod 755 $RPM_BUILD_ROOT%{_bindir}/pulseaudio ln -s esdcompat $RPM_BUILD_ROOT%{_bindir}/esd rm $RPM_BUILD_ROOT/%{_libdir}/libpulsecore.so %clean rm -rf $RPM_BUILD_ROOT %pre groupadd -r pulse &>/dev/null || : useradd -r -c 'PulseAudio daemon' \ -s /sbin/nologin -d / -g pulse pulse &>/dev/null || : groupadd -r pulse-rt &>/dev/null || : groupadd -r pulse-access &>/dev/null || : %post -p /sbin/ldconfig %postun /sbin/ldconfig if [ $1 -eq 0 ]; then userdel pulse &>/dev/null || : groupdel pulse &>/dev/null || : groupdel pulse-rt &>/dev/null || : groupdel pulse-access &>/dev/null || : fi %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %post libs-glib2 -p /sbin/ldconfig %postun libs-glib2 -p /sbin/ldconfig %post libs-zeroconf -p /sbin/ldconfig %postun libs-zeroconf -p /sbin/ldconfig %files %defattr(-,root,root) %doc README LICENSE GPL LGPL %dir %{_sysconfdir}/pulse/ %config(noreplace) %{_sysconfdir}/pulse/daemon.conf %config(noreplace) %{_sysconfdir}/pulse/default.pa %attr(4755,root,root) %{_bindir}/pulseaudio %dir %{_libdir}/pulse-%{drvver}/ %dir %{_libdir}/pulse-%{drvver}/modules/ %{_libdir}/pulse-%{drvver}/modules/libalsa-util.so %{_libdir}/pulse-%{drvver}/modules/libauthkey-prop.so %{_libdir}/pulse-%{drvver}/modules/libauthkey.so %{_libdir}/pulse-%{drvver}/modules/libcli.so %{_libdir}/pulse-%{drvver}/modules/libdbus-util.so %{_libdir}/pulse-%{drvver}/modules/libiochannel.so %{_libdir}/pulse-%{drvver}/modules/libioline.so %{_libdir}/pulse-%{drvver}/modules/libipacl.so %{_libdir}/pulse-%{drvver}/modules/liboss-util.so %{_libdir}/pulse-%{drvver}/modules/libpacket.so %{_libdir}/pulse-%{drvver}/modules/libparseaddr.so %{_libdir}/pulse-%{drvver}/modules/libpdispatch.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-cli.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-esound.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-http.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-native.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-simple.so %{_libdir}/pulse-%{drvver}/modules/libpstream-util.so %{_libdir}/pulse-%{drvver}/modules/libpstream.so %{_libdir}/pulse-%{drvver}/modules/librtp.so %{_libdir}/pulse-%{drvver}/modules/libsocket-client.so %{_libdir}/pulse-%{drvver}/modules/libsocket-server.so %{_libdir}/pulse-%{drvver}/modules/libsocket-util.so %{_libdir}/pulse-%{drvver}/modules/libstrlist.so %{_libdir}/pulse-%{drvver}/modules/libtagstruct.so %{_libdir}/pulse-%{drvver}/modules/module-alsa-sink.so %{_libdir}/pulse-%{drvver}/modules/module-alsa-source.so %{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-cli.so %{_libdir}/pulse-%{drvver}/modules/module-combine.so %{_libdir}/pulse-%{drvver}/modules/module-detect.so %{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnfd.so %{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnpid.so %{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-unix.so #%{_libdir}/pulse-%{drvver}/modules/module-esound-sink.so %{_libdir}/pulse-%{drvver}/modules/module-hal-detect.so %{_libdir}/pulse-%{drvver}/modules/module-http-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-http-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-match.so %{_libdir}/pulse-%{drvver}/modules/module-mmkbd-evdev.so %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-fd.so %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-null-sink.so %{_libdir}/pulse-%{drvver}/modules/module-oss.so %{_libdir}/pulse-%{drvver}/modules/module-pipe-sink.so %{_libdir}/pulse-%{drvver}/modules/module-pipe-source.so %{_libdir}/pulse-%{drvver}/modules/module-rescue-streams.so %{_libdir}/pulse-%{drvver}/modules/module-rtp-recv.so %{_libdir}/pulse-%{drvver}/modules/module-rtp-send.so %{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-sine.so #%{_libdir}/pulse-%{drvver}/modules/module-tunnel-sink.so #%{_libdir}/pulse-%{drvver}/modules/module-tunnel-source.so %{_libdir}/pulse-%{drvver}/modules/module-volume-restore.so %{_libdir}/pulse-%{drvver}/modules/module-suspend-on-idle.so %{_libdir}/pulse-%{drvver}/modules/module-default-device-restore.so %{_libdir}/pulse-%{drvver}/modules/module-ladspa-sink.so %{_libdir}/pulse-%{drvver}/modules/module-remap-sink.so %files esound-compat %defattr(-,root,root) %{_bindir}/esdcompat %{_bindir}/esd %files module-lirc %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/module-lirc.so %files module-x11 %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/libx11prop.so %{_libdir}/pulse-%{drvver}/modules/libx11wrap.so %{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so %{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so %{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so %config %{_sysconfdir}/xdg/autostart/pulseaudio-module-xsmp.desktop %files module-zeroconf %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/libavahi-wrap.so %{_libdir}/pulse-%{drvver}/modules/module-zeroconf-publish.so #%files module-jack #%defattr(-,root,root) #%{_libdir}/pulse-%{drvver}/modules/module-jack-sink.so #%{_libdir}/pulse-%{drvver}/modules/module-jack-source.so %files module-gconf %defattr(-,root,root) %dir %{_libdir}/pulse %{_libdir}/pulse-%{drvver}/modules/module-gconf.so %{_libexecdir}/pulse/gconf-helper %files libs %defattr(-,root,root) %doc README LICENSE GPL LGPL %dir %{_sysconfdir}/pulse/ %config(noreplace) %{_sysconfdir}/pulse/client.conf %{_libdir}/libpulse.so.* %{_libdir}/libpulse-simple.so.* %files core-libs %defattr(-,root,root) %{_libdir}/libpulsecore.so.* %files libs-glib2 %defattr(-,root,root) %{_libdir}/libpulse-mainloop-glib.so.* %files libs-zeroconf %defattr(-,root,root) %{_bindir}/pabrowse %{_libdir}/libpulse-browse.so.* %files devel %defattr(-,root,root) %doc doxygen/html %{_includedir}/pulse/ %{_libdir}/libpulse.so %{_libdir}/libpulse-mainloop-glib.so %{_libdir}/libpulse-simple.so %{_libdir}/libpulse-browse.so %{_libdir}/pkgconfig/libpulse*.pc %files utils %defattr(-,root,root) %{_bindir}/pacat %{_bindir}/pacmd %{_bindir}/pactl %{_bindir}/paplay %{_bindir}/parec %{_bindir}/pax11publish %{_bindir}/padsp %{_bindir}/pasuspender %{_libdir}/libpulsedsp.so %changelog * Tue Dec 11 2007 - rodrigo@suse.de - Merged with package from home:rodrigomoya:pulseaudio BS project. * Thu Nov 22 2007 - cyberorg@cyberorg.info - Remove Provides and Obsoletes from esound compat package * Wed Nov 21 2007 - cyberorg@cyberorg.info - Restructured spec file to build more subpackages, like in Fedora 8. * Wed Oct 31 2007 - tiwai@suse.de - updated to version 0.9.7: * New threaded lock-free (mostly at least) core * New module for automatic discovery of zeroconf audio devices * Reworked JACK module for better real-time compatibility * PA now suspends access to all audio devices if idle * module-combine is now beefedup to automatically pick up local hw devices * make use of gcc intrinsics for atomic ops, byteswap, tls, where possible * use speex resampler by default * use mmap access by default for ALSA devices * fold OSS mmap driver into normal OSS driver * add LADSPA plugin * add plugin for splitting or remapping channel maps * Use Linux eventfd() if available, instead of hacks around FIFOs * make use of PTHREAD_PRIO_INHERIT for some mutexes, wher it makes sense * cleanup dead SHM frags from /dev/shm, where applicable * automatically store/restore default audio device * add new tool pasuspender tool * X11 session management support * allow global configuration for fragment settings/sizes * PA (if HAL is enabled) now ignores modem sound devices by default * Lots of bug fixes and other improvements * Thu Oct 11 2007 - sbrabec@suse.cz - Use binding specific avahi package. * Tue Jun 19 2007 - tiwai@suse.de - fixed default.pa (typo of rtp.monitor). * Tue Jun 12 2007 - tiwai@suse.de - disable flist-test that doesn't pass with ppc (libatomic-ops problem) * Fri Jun 08 2007 - tiwai@suse.de - updated to version 0.9.6: * bugfixes, including previous patches * use lock-free algorith with libatomic-ops - add avahi-devel, xorg-x11-devel, glib2-devel and hal-devel to buildrequires - prefer Master volume to PCM volume * Tue May 29 2007 - tiwai@suse.de - fix possible remote DoS (#260326) - fix wrong endian conversion of float data - add a workaround for firefox with LD_PRELOAD wrapper - add the missing support of ioctls for JavaSound - increase ESD max samplesize * Tue Apr 24 2007 - tiwai@suse.de - disable static library, don't use ltdl install - fix requires of devel package - fix post and postun - build documents via doxygen - fix suspend/resume with alsa backend - fix the frame size handling in alsa backend - fix possible NULL dereference * Mon Oct 16 2006 - schwab@suse.de - Make sure config.rpath is present. * Wed Sep 06 2006 - tiwai@suse.de - updated to version 0.9.5: * add module-hal-detect module * shared memory transfer method for local clients * update module-volume-restore to automatically restore the output device * add a new module module-rescue-streams * add support for moving streams "hot" between sinks/sources * reduce memory consumption and CPU load * add new module module-gconf for reading additional configuration * fix module-tunnel to work with the latest protocol * miscellaneous fixes * Thu Aug 17 2006 - tiwai@suse.de - move libpulsedsp.so to the main package from devel sub package (#199735). * Mon Jul 31 2006 - tiwai@suse.de - updated to version 0.9.4: * support for system-wide pulseaudio daemon. * add authentication by IP address range ACL (auth-ip-acl=) * support to set resource limits on platforms * remove loopback= argument for module-*-protocol-tcp * remove obsolete GLIB event loop adapter * add an API to check whether a source/sink is hardware or virtual * remove warning about SIGPIPE in client apps * improve latency calculation of NULL sink * port Zeroconf code from the HOWL API to the native Avahi API * fix broken time event handling in GLIB * Some valgrind/massif fixes * Fix pkg-config files for AMD64 * Wed Jul 12 2006 - tiwai@suse.de - renamed from polypaudio to pulseaudio (the project name was changed) - update to version 0.9.2: * increase maximum number of concurrent connections * fix latency interpolation * add support for reverse endian sound cards * add support for recording in padsp * reenable CPU load limiter * other bugfixes