Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37697065
en ru br
ALT Linux repos
S:16.1-alt1
D:0.9.7-alt1
5.0: 0.9.13-alt4
4.1: 0.9.10-alt1
4.0: 0.9.5-alt5.M40.3

Group :: System/Servers
RPM: pulseaudio

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%add_findprov_lib_path %_libdir/pulse-0.9/modules

Name: pulseaudio
Version: 0.9.13
Release: alt4

Summary: PulseAudio is a networked sound server
Group: System/Servers
License: LGPL
Url: http://pulseaudio.org/

Source: %name-%version-%release.tar

BuildRequires: doxygen intltool jackit-devel libalsa-devel libasyncns-devel
BuildRequires: libatomic_ops-devel-static libavahi-devel libbluez-devel
BuildRequires: libcap-devel libGConf-devel libgdbm-devel libhal-devel
BuildRequires: liblirc-devel libltdl-devel liboil-devel libpolkit-devel
BuildRequires: libsamplerate-devel libSM-devel libsndfile-devel
BuildRequires: libspeex-devel libwrap-devel libX11-devel xmltoman

Requires: %name-utils = %version-%release
Requires: %name-daemon = %version-%release
Requires: %name-gconf = %version-%release

Provides: polypaudio = %version
Obsoletes: polypaudio

%description
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

A sound server can serve many functions:

* Software mixing of multiple audio streams, bypassing any restrictions the
hardware has.

* Network transparency, allowing an application to play back or record audio
on a different machine than the one it is running on.

* Sound API abstraction, alleviating the need for multiple backends in
applications to handle the wide diversity of sound systems out there.

* Generic hardware abstraction, giving the possibility of doing things like
individual volumes per application.

Features:

* Library licensed under LGPL and server daemon under GPL
* Extensible plugin architecture (by loading dynamic loadable modules with dlopen())
* Support for static linking of modules, allowing a single binary for all your needs
* Module autoloading
* Support for more than one sink/source
* Good low latency behaviour
* Very accurate latency measurement for playback and recording.
* Client side latency interpolation
* Embedabble into other software (the core is available as C library)
* Completely asynchronous C API, complemented by two synchronous variants for
 simple use in synchronous applications
* Simple command line interface for reconfiguring the daemon while running
* Flexible, implicit sample type conversion and resampling
* "Zero-Copy" architecture
* May be used to combine multiple sound cards to one (with sample rate adjustment)
* Ability to fully synchronize multiple playback streams

This virtual package contains pulseaudio daemon and utilities.

%package utils
Summary: PulseAudio client side utilities
Group: Sound
Requires: lib%name = %version-%release

%package daemon
Summary: PulseAudio daemon
Group: Sound
PreReq: shadow-utils control
Requires: lib%name = %version-%release
Provides: esound
Obsoletes: esound
Conflicts: esd

%package bluez
Summary: PulseAudio -- bluetooth-related part
Group: Sound
Requires: %name-daemon = %version-%release

%package gconf
Summary: PulseAudio -- gnome-related part
Group: Sound
Requires: %name-daemon = %version-%release

%package jack
Summary: PulseAudio -- JACK part
Group: Sound
Requires: %name-daemon = %version-%release

%package -n lib%name
Summary: PulseAudio shared libraries
Group: System/Libraries
Provides: libpolypaudio = %version
Obsoletes: libpolypaudio

%package -n lib%name-devel
Summary: Development files for %name
Group: Development/C
Requires: lib%name = %version-%release
Provides: libpolypaudio-devel = %version
Obsoletes: libpolypaudio-devel

%package -n lib%name-devel-doc
Summary: Development documentation for %name
Group: Development/C
Provides: libpolypaudio-devel-doc = %version
Obsoletes: libpolypaudio-devel-doc

%description daemon
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains PulseAudio daemon.

%description utils
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains PulseAudio client-side utilities.

%description bluez
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains bluetooth-related part of PulseAudio.

%description gconf
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains gnome-related part of PulseAudio.

%description jack
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains JACK modules of PulseAudio.

%description -n lib%name
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains the pulseaudio shared libraries.

%description -n lib%name-devel
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains development files for pulseaudio.

%description -n lib%name-devel-doc
PulseAudio is a networked sound server, similar in theory to the Enlightened
Sound Daemon (EsounD). PulseAudio is however much more advanced and has
numerous features.

This package contains doxygen documentation for pulseaudio.

%prep
%setup
touch config.rpath

%build
%autoreconf
%configure \
   --with-access-group=audio \
   --with-realtime-group=realtime \
   --with-bluez \
   --with-gconf \
   --with-jack \
   --with-lirc \
   --enable-per-user-esound-socket \
   --disable-static \
   #

%make_build all doxygen

%install
%make_install DESTDIR=%buildroot install
install -pm0755 -D pulseaudio.control %buildroot%_sysconfdir/control.d/facilities/pulseaudio
install -pm0644 -D pulseaudio.sysconfig %buildroot%_sysconfdir/sysconfig/pulseaudio
install -pm0755 -D pulseaudio.init %buildroot%_initdir/pulseaudio
chmod 0755 %buildroot%_bindir/pulseaudio
ln -s esdcompat %buildroot%_bindir/esd
mkdir -p %buildroot%_localstatedir/pulse
find %buildroot%_libdir -name \*.la -delete

%find_lang %name

%pre daemon
%_sbindir/groupadd -r -f realtime &> /dev/null
%_sbindir/groupadd -r -f pulse &> /dev/null
%_sbindir/useradd -r -g pulse -G audio -d %_localstatedir/pulse -s /dev/null \
-c "Pulseaudio daemon" -M -n pulse &>/dev/null ||:
[ $1 -eq 1 ] || /usr/sbin/control-dump pulseaudio

%post daemon
[ $1 -eq 1 ] || /usr/sbin/control-restore pulseaudio

%files

%files daemon
%_initdir/pulseaudio
%config(noreplace) %_sysconfdir/sysconfig/pulseaudio
%config %_sysconfdir/control.d/facilities/pulseaudio

%_sysconfdir/xdg/autostart/pulseaudio.desktop

%dir %_sysconfdir/pulse
%config(noreplace) %_sysconfdir/pulse/daemon.conf
%config(noreplace) %_sysconfdir/pulse/default.pa
%config(noreplace) %_sysconfdir/pulse/system.pa

%_bindir/start-pulseaudio-x11
%_bindir/pulseaudio
%_bindir/esdcompat
%_bindir/esd

%_libdir/libpulsecore.so.*
%_libdir/pulse-0.9/modules/*.so

%exclude %_libdir/pulse-0.9/modules/libbluetooth-ipc.so
%exclude %_libdir/pulse-0.9/modules/libbluetooth-sbc.so
%exclude %_libdir/pulse-0.9/modules/module-bluetooth-device.so
%exclude %_libdir/pulse-0.9/modules/module-bluetooth-discover.so
%exclude %_libdir/pulse-0.9/modules/module-bluetooth-proximity.so

%exclude %_libdir/pulse-0.9/modules/module-gconf.so

%exclude %_libdir/pulse-0.9/modules/module-jack-sink.so
%exclude %_libdir/pulse-0.9/modules/module-jack-source.so

%_datadir/PolicyKit/policy/org.pulseaudio.policy

%_man1dir/esdcompat.1*
%_man1dir/pulseaudio.1*
%_man5dir/default.pa.5*
%_man5dir/pulse-daemon.conf.5*

%attr(0771,root,pulse) %dir %_localstatedir/pulse

%files utils
%_bindir/pabrowse
%_bindir/pacat
%_bindir/pacmd
%_bindir/pactl
%_bindir/padsp
%_bindir/paplay  
%_bindir/parec
%_bindir/pasuspender
%_bindir/pax11publish

%_libdir/libpulsedsp.so

%_man1dir/pabrowse.1*
%_man1dir/pacat.1*
%_man1dir/pacmd.1*
%_man1dir/pactl.1*
%_man1dir/padsp.1*
%_man1dir/paplay.1*
%_man1dir/pasuspender.1*
%_man1dir/pax11publish.1*

%files bluez
%_libexecdir/pulse/proximity-helper
%_libdir/pulse-0.9/modules/libbluetooth-ipc.so
%_libdir/pulse-0.9/modules/libbluetooth-sbc.so
%_libdir/pulse-0.9/modules/module-bluetooth-device.so
%_libdir/pulse-0.9/modules/module-bluetooth-discover.so
%_libdir/pulse-0.9/modules/module-bluetooth-proximity.so

%files gconf
%_libexecdir/pulse/gconf-helper
%_libdir/pulse-0.9/modules/module-gconf.so

%files jack
%_libdir/pulse-0.9/modules/module-jack-sink.so
%_libdir/pulse-0.9/modules/module-jack-source.so

%files -n lib%name -f %name.lang
%doc LICENSE README todo

%dir %_sysconfdir/pulse
%config(noreplace) %_sysconfdir/pulse/client.conf

%_libdir/libpulse.so.*
%_libdir/libpulse-browse.so.*
%_libdir/libpulse-simple.so.*
%_libdir/libpulse-mainloop-glib.so.*

%_man5dir/pulse-client.conf.5*

%files -n lib%name-devel
%_libdir/lib*.so
%_includedir/pulse
%_pkgconfigdir/*.pc
%exclude %_libdir/libpulsecore.so
%exclude %_libdir/libpulsedsp.so

%files -n lib%name-devel-doc
%doc doxygen/html

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin