diff options
author | Arun Raghavan <ford_prefect@gentoo.org> | 2010-03-11 12:24:10 +0000 |
---|---|---|
committer | Arun Raghavan <ford_prefect@gentoo.org> | 2010-03-11 12:24:10 +0000 |
commit | 7dc91bca265ed77e5fb2c7ab24aa2ca8c59aa327 (patch) | |
tree | 2b1d39e3ae80078fd3869fa0ed8bd28b61ad6ada /media-sound/pulseaudio | |
parent | x86 stable wrt bug #308383 (diff) | |
download | gentoo-2-7dc91bca265ed77e5fb2c7ab24aa2ca8c59aa327.tar.gz gentoo-2-7dc91bca265ed77e5fb2c7ab24aa2ca8c59aa327.tar.bz2 gentoo-2-7dc91bca265ed77e5fb2c7ab24aa2ca8c59aa327.zip |
Add rtkit support using toggled by the 'realtime' USE flag
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/pulseaudio')
-rw-r--r-- | media-sound/pulseaudio/ChangeLog | 8 | ||||
-rw-r--r-- | media-sound/pulseaudio/metadata.xml | 4 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-0.9.21.2-r1.ebuild | 240 |
3 files changed, 251 insertions, 1 deletions
diff --git a/media-sound/pulseaudio/ChangeLog b/media-sound/pulseaudio/ChangeLog index fb4f527fd157..066da7e875a7 100644 --- a/media-sound/pulseaudio/ChangeLog +++ b/media-sound/pulseaudio/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-sound/pulseaudio # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.188 2010/03/09 21:34:49 ranger Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.189 2010/03/11 12:24:10 ford_prefect Exp $ + +*pulseaudio-0.9.21.2-r1 (11 Mar 2010) + + 11 Mar 2010; Arun Raghavan <ford_prefect@gentoo.org> + +pulseaudio-0.9.21.2-r1.ebuild, metadata.xml: + Add rtkit support using toggled by the 'realtime' USE flag 09 Mar 2010; Brent Baude <ranger@gentoo.org> pulseaudio-0.9.21.1.ebuild: Marking pulseaudio-0.9.21.1 ppc for bug 299913 diff --git a/media-sound/pulseaudio/metadata.xml b/media-sound/pulseaudio/metadata.xml index 81bdcf344194..907fdd7b0d9c 100644 --- a/media-sound/pulseaudio/metadata.xml +++ b/media-sound/pulseaudio/metadata.xml @@ -43,5 +43,9 @@ <flag name="asyncns">Use libasyncns for asynchronous name resolution.</flag> <flag name="glib">Enable glib eventloop support</flag> <flag name="doc">Build the doxygen-described API documentation.</flag> + <flag name="realtime" restrict=">=media-sound/pulseaudio-0.9.21.2-r1"> + Makes PulseAudio use RealtimeKit (<pkg>sys-auth/rtkit</pkg>) to get + real-time priority while running. + </flag> </use> </pkgmetadata> diff --git a/media-sound/pulseaudio/pulseaudio-0.9.21.2-r1.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.21.2-r1.ebuild new file mode 100644 index 000000000000..c48b272953c5 --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-0.9.21.2-r1.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.21.2-r1.ebuild,v 1.1 2010/03/11 12:24:10 ford_prefect Exp $ + +EAPI=2 + +inherit eutils libtool flag-o-matic versionator + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org/" + +if [[ $(get_version_component_count) == 4 ]]; then + # Lennart does not produce point-releases, but I do so get them + # from my website instead. + SRC_URI="http://www.flameeyes.eu/gentoo-distfiles/${P}.tar.gz" +elif [[ ${PV/_rc/} == ${PV} ]]; then + SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz" +else + SRC_URI="http://0pointer.de/public/${P/_rc/-test}.tar.gz" +fi + +S="${WORKDIR}/${P/_rc/-test}" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+alsa avahi +caps jack lirc oss tcpd +X hal dbus libsamplerate gnome bluetooth +asyncns +glib test doc +udev ipv6 system-wide realtime" + +RDEPEND="X? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXtst ) + caps? ( sys-libs/libcap ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + alsa? ( >=media-libs/alsa-lib-1.0.19 ) + glib? ( >=dev-libs/glib-2.4.0 ) + avahi? ( >=net-dns/avahi-0.6.12[dbus] ) + >=dev-libs/liboil-0.3.0 + jack? ( >=media-sound/jack-audio-connection-kit-0.100 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + hal? ( + >=sys-apps/hal-0.5.11 + >=sys-apps/dbus-1.0.0 + ) + app-admin/eselect-esd + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-libs-3 ) + >=sys-apps/dbus-1.0.0 + ) + asyncns? ( net-libs/libasyncns ) + udev? ( >=sys-fs/udev-143[extras] ) + realtime? ( sys-auth/rtkit ) + >=media-libs/audiofile-0.2.6-r1 + >=media-libs/speex-1.2_beta + >=media-libs/libsndfile-1.0.20 + >=dev-libs/liboil-0.3.6 + sys-libs/gdbm + >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used + +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + X? ( + x11-proto/xproto + || ( >=x11-libs/libXtst-1.0.99.2 <x11-proto/xextproto-7.0.99 ) + ) + dev-libs/libatomic_ops + dev-util/pkgconfig + system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) ) + dev-util/intltool" + +# alsa-utils dep is for the alsasound init.d script (see bug #155707) +# bluez-utils dep is for the bluetooth init.d script +RDEPEND="${RDEPEND} + gnome-extra/gnome-audio + system-wide? ( + sys-apps/openrc + alsa? ( media-sound/alsa-utils ) + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-utils-3 ) ) + )" + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio + + if use udev && use hal; then + elog "Please note that enabling both udev and hal will build both" + elog "discover modules, but only udev will be used automatically." + elog "If you wish to use hal you have to enable it explicitly" + elog "or you might just disable the hal USE flag entirely." + fi +} + +src_prepare() { + elibtoolize +} + +src_configure() { + # It's a binutils bug, once I can find time to fix that I'll add a + # proper dependency and fix this up. â flameeyes + append-ldflags $(no-as-needed) + + econf \ + --enable-largefile \ + $(use_enable glib glib2) \ + --disable-solaris \ + $(use_enable asyncns) \ + $(use_enable oss oss-output) \ + $(use_enable alsa) \ + $(use_enable lirc) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable lirc) \ + $(use_enable avahi) \ + $(use_enable hal) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable X x11) \ + $(use_enable test default-build-tests) \ + $(use_enable udev) \ + $(use_enable ipv6) \ + $(use_with caps) \ + --localstatedir=/var \ + --disable-per-user-esound-socket \ + --with-database=gdbm \ + || die "econf failed" + + if use doc; then + pushd doxygen + doxygen doxygen.conf || die + popd + fi +} + +src_test() { + # We avoid running the toplevel check target because that will run + # po/'s tests too, and they are broken. Officially, it should work + # with intltool 0.41, but that doesn't look like a stable release. + emake -C src check || die +} + +src_install() { + emake -j1 DESTDIR="${D}" install || die "make install failed" + + # Drop the script entirely if X is disabled + use X || rm "${D}"/usr/bin/start-pulseaudio-x11 + + if use system-wide; then + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio + + use_define() { + local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')} + + use "$1" && echo "-D$define" || echo "-U$define" + } + + unifdef $(use_define hal) \ + $(use_define avahi) \ + $(use_define alsa) \ + $(use_define bluetooth) \ + $(use_define udev) \ + "${FILESDIR}/pulseaudio.init.d-4" \ + > "${T}/pulseaudio" + + doinitd "${T}/pulseaudio" + fi + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa" + + if use hal && ! use udev; then + sed -i -e 's:-udev:-hal:' "${D}/etc/pulse/default.pa" || die + fi + + dodoc README ChangeLog todo || die + + if use doc; then + pushd doxygen/html + dohtml * || die + popd + fi + + # Create the state directory + diropts -o pulse -g pulse -m0755 + keepdir /var/run/pulse + + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if use system-wide; then + elog "PulseAudio in Gentoo can use a system-wide pulseaudio daemon." + elog "This support is enabled by starting the pulseaudio init.d ." + elog "To be able to access that you need to be in the group pulse-access." + elog "If you choose to use this feature, please make sure that you" + elog "really want to run PulseAudio this way:" + elog " http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode" + elog "For more information about system-wide support, please refer to:" + elog " http://pulseaudio.org/wiki/SystemWideInstance" + if use gnome ; then + elog + elog "By enabling gnome USE flag, you enabled gconf support. Please note" + elog "that you might need to remove the gnome USE flag or disable the" + elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio" + elog "with a system-wide instance." + fi + elog + elog "To use the ESounD wrapper while using a system-wide daemon, you also" + elog "need to enable auth-anonymous for the esound-unix module, or to copy" + elog "/var/run/pulse/.esd_auth into each home directory." + elog + fi + if use bluetooth; then + elog + elog "The BlueTooth proximity module is not enabled in the default" + elog "configuration file. If you do enable it, you'll have to have" + elog "your BlueTooth controller enabled and inserted at bootup or" + elog "PulseAudio will refuse to start." + elog + elog "Please note that the BlueTooth proximity module seems itself" + elog "still experimental, so please report to upstream if you have" + elog "problems with it." + fi + if use alsa; then + local pkg="media-plugins/alsa-plugins" + if has_version ${pkg} && ! built_with_use --missing false ${pkg} pulseaudio; then + elog + elog "You have alsa support enabled so you probably want to install" + elog "${pkg} with pulseaudio support to have" + elog "alsa using applications route their sound through pulseaudio" + fi + fi + + eselect esd update --if-unset +} |