# $Id$ PNAME="pulseaudio" PVER="1.1" PBUILD="r2" SPLIT_PACKAGES="libpulse pulseaudio pulseaudio-zeroconf pulseaudio-bluetooth pulseaudio-raop pulseaudio-alsa pulseaudio-esound pulseaudio-x11 pulseaudio-utils" PCATEGORIE="media-sound" HOMEPAGE="http://www.pulseaudio.org/" LIBPULSE_DEPEND=">= dev-libs/glib2-2.28 >= dev-libs/json-c-0.9 >= x11-libs/libSM-1 >= x11-libs/libICE >= x11-libs/libXtst >= x11-libs/libX11-1.4 >= x11-libs/libxcb-1.7 >= x11-libs/xcb-util-0.3.8 >= sys-libs/libcap-2.20 >= sys-apps/dbus-1.5 >= media-libs/flac-1.2 >= media-libs/libogg-1.3 >= media-libs/libvorbis-1.3 >= media-libs/libsndfile-1.0.24 >= sys-apps/tcp-wrappers-7.6" COMMON_DEPEND=">= dev-db/tdb-1.2.9 >= sys-fs/udev-171 >= media-libs/audiofile-0.2.7 >= media-libs/libsamplerate-0.1.8 >= media-libs/speex-1.2 >= sci-libs/fftw3-3.3" # todo rtkit deamon for realtime support ? ZEROCONF_DEPEND=">= net-dns/avahi-0.6.30" BLUETOOTH_DEPEND=">= net-wlan/bluez-4.96" RAOP_DEPEND=">= dev-libs/openssl-1.0.0" ALSA_DEPEND=">= media-libs/alsa-lib-1.0.24" SDEPEND="${LIBPULSE_DEPEND} ${COMMON_DEPEND} ${ZEROCONF_DEPEND} ${BLUETOOTH_DEPEND} ${RAOP_DEPEND} ${ALSA_DEPEND} >= x11-proto/xproto-7 >= dev-util/pkgconfig-0.25 >= dev-util/intltool-0.41" SRCFILE="${PNAME}-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude mtools multilib cleanutils SRC_URI=( http://freedesktop.org/software/${PNAME}/releases/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) UP2DATE="updatecmd ${HOMEPAGE} | firsttarball gz" split_info_libpulse() { DESCRIPTION="Libraries for PulseAudio clients." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER} ${LIBPULSE_DEPEND}" } split_info_pulseadio() { DESCRIPTION="A networked sound server with an advanced plugin system." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER} ${COMMON_DEPEND}" } split_info_pulseadio-zeroconf() { DESCRIPTION="Zeroconf support for the PulseAudio sound server." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER} ${ZEROCONF_DEPEND}" } split_info_pulseaudio-bluetooth() { DESCRIPTION="Bluetooth support for the PulseAudio sound server." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER} ${BLUETOOTH_DEPEND}" } split_info_pulseaudio-raop() { DESCRIPTION="RAOP support for the PulseAudio sound server." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER} ${RAOP_DEPEND}" } split_info_pulseaudio-alsa() { DESCRIPTION="ALSA support for the PulseAudio sound server." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER} ${ALSA_DEPEND}" } split_info_pulseaudio-esound() { DESCRIPTION="PulseAudio EsounD daemon compatibility script." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseadio-${PVER}" } split_info_pulseaudio-x11() { DESCRIPTION="X11 support for the PulseAudio sound server." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER}" } split_info_pulseaudio-utils() { DESCRIPTION="PulseAudio sound server utilities." DEPEND="== media-sound/libpulse-${PVER} == media-sound/pulseaudio-${PVER}" } src_compile() { mconfigure \ --libexecdir=/usr/'$(mlibdir)'/${PNAME} \ --localstatedir=/var \ --with-udev-rules-dir=/lib/udev/rules.d \ --with-database=tdb \ --with-caps \ --disable-per-user-esound-socket \ --disable-solaris \ --disable-hal \ --enable-largefile \ --enable-glib2 \ --enable-udev \ --enable-dbus \ --enable-alsa \ --enable-samplerate \ --enable-ipv6 \ --enable-avahi \ --enable-tcpwrap \ --enable-x11 \ --enable-bluez \ --disable-asyncns \ --disable-oss-output \ --disable-lirc \ --disable-jack \ --disable-gconf \ --disable-default-build-tests \ || die mmake || die } src_install_libpulse() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ etc/pulse/client.conf \ usr/$(mlibdir)/*.so usr/$(mlibdir)/*.so.* usr/$(mlibdir)/*.la usr/$(mlibdir)/cmake usr/$(mlibdir)/pkgconfig \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/*.so usr/lib/*.so.* usr/lib/*.la usr/lib/cmake usr/lib/pkgconfig") \ usr/share/vala \ usr/share/man/man5/pulse-client.conf.5 \ || die # remove libpulsecore and libpulsedsp rm ${BINDIR}/usr/$(mlibdir)/libpulsecore-${PVER}.* || die rm ${BINDIR}/usr/$(mlibdir)/libpulsedsp.* || die if [[ $(mlibdir) != lib ]] then rm ${BINDIR}/usr/lib/libpulsecore-${PVER}.* || die rm ${BINDIR}/usr/lib/libpulsedsp.* || die fi } src_install_pulseaudio() { mmake DESTDIR=${BINDIR} install || die # enable avahi support sed -i '/module-zeroconf-publish/s:^#::' ${BINDIR}/etc/pulse/default.pa || die zapmost ${BINDIR} \ etc/pulse/daemon.conf \ etc/pulse/*.pa \ etc/dbus-1 \ usr/bin/pulseaudio \ usr/$(mlibdir)/libpulsecore-*.* \ usr/$(mlibdir)/pulseaudio \ usr/$(mlibdir)/pulse-${PVER}/*always*.so \ usr/$(mlibdir)/pulse-${PVER}/*augment*.so \ usr/$(mlibdir)/pulse-${PVER}/*card*.so \ usr/$(mlibdir)/pulse-${PVER}/*combine*.so \ usr/$(mlibdir)/pulse-${PVER}/*console*.so \ usr/$(mlibdir)/pulse-${PVER}/*cork*.so \ usr/$(mlibdir)/pulse-${PVER}/*cli*.so \ usr/$(mlibdir)/pulse-${PVER}/*dbus*.so \ usr/$(mlibdir)/pulse-${PVER}/*default*.so \ usr/$(mlibdir)/pulse-${PVER}/*detect*.so \ usr/$(mlibdir)/pulse-${PVER}/*echo*.so \ usr/$(mlibdir)/pulse-${PVER}/*equalizer*.so \ usr/$(mlibdir)/pulse-${PVER}/*filter*.so \ usr/$(mlibdir)/pulse-${PVER}/*hal*.so \ usr/$(mlibdir)/pulse-${PVER}/*http*.so \ usr/$(mlibdir)/pulse-${PVER}/*intended*.so \ usr/$(mlibdir)/pulse-${PVER}/*ladspa*.so \ usr/$(mlibdir)/pulse-${PVER}/*loopback*.so \ usr/$(mlibdir)/pulse-${PVER}/*match*.so \ usr/$(mlibdir)/pulse-${PVER}/*mmkbd*.so \ usr/$(mlibdir)/pulse-${PVER}/*native*.so \ usr/$(mlibdir)/pulse-${PVER}/*null*.so \ usr/$(mlibdir)/pulse-${PVER}/*pipe*.so \ usr/$(mlibdir)/pulse-${PVER}/*position*.so \ usr/$(mlibdir)/pulse-${PVER}/*remap*.so \ usr/$(mlibdir)/pulse-${PVER}/*rtp*.so \ usr/$(mlibdir)/pulse-${PVER}/*rygel*.so \ usr/$(mlibdir)/pulse-${PVER}/*simple*.so \ usr/$(mlibdir)/pulse-${PVER}/*sine*.so \ usr/$(mlibdir)/pulse-${PVER}/*stream*.so \ usr/$(mlibdir)/pulse-${PVER}/*suspend*.so \ usr/$(mlibdir)/pulse-${PVER}/*switch*.so \ usr/$(mlibdir)/pulse-${PVER}/*tunnel*.so \ usr/$(mlibdir)/pulse-${PVER}/*udev*.so \ usr/$(mlibdir)/pulse-${PVER}/*virtual*.so \ usr/$(mlibdir)/pulse-${PVER}/*volume*.so \ $([[ $(mlibdir) != lib ]] && echo "usr/lib/libpulsecore-*.* usr/lib/pulseaudio usr/lib/pulse-${PVER}/*always*.so usr/lib/pulse-${PVER}/*augment*.so usr/lib/pulse-${PVER}/*card*.so usr/lib/pulse-${PVER}/*combine*.so usr/lib/pulse-${PVER}/*console*.so usr/lib/pulse-${PVER}/*cork*.so usr/lib/pulse-${PVER}/*cli*.so usr/lib/pulse-${PVER}/*dbus*.so usr/lib/pulse-${PVER}/*default*.so usr/lib/pulse-${PVER}/*detect*.so usr/lib/pulse-${PVER}/*echo*.so usr/lib/pulse-${PVER}/*equalizer*.so usr/lib/pulse-${PVER}/*filter*.so usr/lib/pulse-${PVER}/*hal*.so usr/lib/pulse-${PVER}/*http*.so usr/lib/pulse-${PVER}/*intended*.so usr/lib/pulse-${PVER}/*ladspa*.so usr/lib/pulse-${PVER}/*loopback*.so usr/lib/pulse-${PVER}/*match*.so usr/lib/pulse-${PVER}/*mmkbd*.so usr/lib/pulse-${PVER}/*native*.so usr/lib/pulse-${PVER}/*null*.so usr/lib/pulse-${PVER}/*pipe*.so usr/lib/pulse-${PVER}/*position*.so usr/lib/pulse-${PVER}/*remap*.so usr/lib/pulse-${PVER}/*rtp*.so usr/lib/pulse-${PVER}/*rygel*.so usr/lib/pulse-${PVER}/*simple*.so usr/lib/pulse-${PVER}/*sine*.so usr/lib/pulse-${PVER}/*stream*.so usr/lib/pulse-${PVER}/*suspend*.so usr/lib/pulse-${PVER}/*switch*.so usr/lib/pulse-${PVER}/*tunnel*.so usr/lib/pulse-${PVER}/*udev*.so usr/lib/pulse-${PVER}/*virtual*.so usr/lib/pulse-${PVER}/*volume*.so") \ usr/share/man/man1/pulseaudio.1 \ usr/share/man/man5/default.pa.5 \ usr/share/man/man5/pulse-daemon.conf.5 \ lib/udev \ || die # state dir mkeepdir /var/run/pulse || die mchown pulse.pulse /var/run/pulse || die } src_install_pulseaudio-alsa() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/pulse-${PVER}/*alsa*.so \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/pulse-${PVER}/*alsa*.so") \ usr/share/pulseaudio/alsa-mixer \ || die } src_install_pulseaudio-esound() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/esdcompat \ usr/$(mlibdir)/pulse-${PVER}/*esound*.so \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/pulse-${PVER}/*esound*.so") \ usr/share/pulseaudio/alsa-mixer \ usr/share/man/man1/esdcompat.1 \ || die } src_install_pulseaudio-zeroconf() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/pulse-${PVER}/*avahi*.so \ usr/$(mlibdir)/pulse-${PVER}/*zeroconf*.so \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/pulse-${PVER}/*avahi*.so usr/lib/pulse-${PVER}/*zeroconf*.so") \ || die } src_install_pulseaudio-x11() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ etc/xdg \ usr/bin/start-pulseaudio* \ usr/$(mlibdir)/pulse-${PVER}/*x11*.so \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/pulse-${PVER}/*x11*.so") \ usr/share/man/man1/start-pulseaudio* \ || die } src_install_pulseaudio-bluetooth() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/pulse-${PVER}/*bluetooth*.so \ usr/$(mlibdir)/pulseaudio/proximity-helper \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/pulse-${PVER}/*bluetooth*.so usr/lib/pulseaudio/proximity-helper") \ || die } src_install_pulseaudio-raop() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/pulse-${PVER}/*raop*.so \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/pulse-${PVER}/*raop*.so") \ || die } src_install_pulseaudio-utils() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/pa* \ usr/$(mlibdir)/libpulsedsp.* \ $([[ $(mlibdir) != lib ]] && echo"usr/lib/libpulsedsp.*") \ usr/share/man/man1/pa* \ || die } preinstall_pulseaudio() { # adding pulse user ${MLIBDIR}/mgroupadd -o "-g 11" audio ${MLIBDIR}/mgroupadd pulse-access ${MLIBDIR}/mgroupadd pulse ${MLIBDIR}/museradd -o "-g pulse -G audio -d /var/run/pulse -s /bin/false" pulse } postinstall_pulseaudio() { if [[ -z $(magequery -n alsa-plugins) ]] then echo "You have alsa support enabled so you probably want to install" echo "'media-sound/alsa-plugins' with pulseaudio support to have" echo "alsa using applications route their sound through pulseaudio." fi }