Add rtkit support using toggled by the 'realtime' USE flag
authorArun Raghavan <ford_prefect@gentoo.org>
Thu, 11 Mar 2010 12:24:10 +0000 (12:24 +0000)
committerArun Raghavan <ford_prefect@gentoo.org>
Thu, 11 Mar 2010 12:24:10 +0000 (12:24 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

media-sound/pulseaudio/ChangeLog
media-sound/pulseaudio/Manifest
media-sound/pulseaudio/metadata.xml
media-sound/pulseaudio/pulseaudio-0.9.21.2-r1.ebuild [new file with mode: 0644]

index fb4f527fd157bd21efeda5e37cce017d966a2585..066da7e875a74bd92b06ab0fb268aa7580b673e4 100644 (file)
@@ -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
index 34265188f5102a9491cbda79127b6acc57390398..dd6b8338824811e909790e76dae5ec4d0df7a6b9 100644 (file)
@@ -18,7 +18,8 @@ DIST pulseaudio-0.9.21.tar.gz 2056896 RMD160 6db0725253228b673a78cbfae4824fadce2
 EBUILD pulseaudio-0.9.15-r2.ebuild 4753 RMD160 d5b265c9c8b5a6408506fb81bbad60a80e32145a SHA1 c839256885703602e0cd9a375b4c4fccbf04edd0 SHA256 ef4c0922cf7fe434cc388383ffe7d0c5d88c8ff317927f19a901c4bf3964c98c
 EBUILD pulseaudio-0.9.19.ebuild 5435 RMD160 b09544a8c3dbaefe5a018288204f1247f134cd24 SHA1 4dd44a9b1623e1977759bd9b672d2cde01b3ca0a SHA256 ee28b6cbf92abaa11fff62e99b569f49248bf2991982f740c8f6df9bd88b84cb
 EBUILD pulseaudio-0.9.21.1.ebuild 7249 RMD160 c2e8121d290eb70597fd73b783254ad499d9caf6 SHA1 83456313c2e0b18cb03efd8797b34f988c8b3cb2 SHA256 89f1f07486dc6206bc3b93264338c2323c1cfe11b42f493e86ad3cdcc459e3f6
+EBUILD pulseaudio-0.9.21.2-r1.ebuild 7258 RMD160 8bd2c2df0fabef500ad5e37c3353aab2ec79d31e SHA1 dd253574fb2dbe11d7cbe2ea7f97a18adea6945e SHA256 9a87f11adb8e5f087fe5d77085e612d0159e0bd24dfbc53b8b3acf07e740c5b9
 EBUILD pulseaudio-0.9.21.2.ebuild 7257 RMD160 6a92bf6d9394fb7318d3c0b2ef3bc765f10f3ae2 SHA1 2a8e2a7f5e3fbae64f331325fca3fb747080f0d6 SHA256 5575e6d8b259cfa467bd244d32f5d47314cda6eaf14f4d5a6eefc8bf5afa17bb
 EBUILD pulseaudio-0.9.21.ebuild 5498 RMD160 139b0d283dc5091be17299bf894a88814c40cde4 SHA1 305efdf7979a82c7393cad1d50838eda55339ee8 SHA256 65c9f34074d5e45cf02347242f65c66c076f16caaea27d4a7a88aab318692af3
-MISC ChangeLog 37659 RMD160 5b31cbb1487c3dfc7c2a45fff75491bc6c327ab3 SHA1 9bca9846c68d856507e7d81b8e7538a3cc421832 SHA256 8bfde30d78e30fa5c47b03b5ecd655acd144961850da0ffc146ac2f0d09883c4
-MISC metadata.xml 2146 RMD160 9e201b75bea0fe98c76999e28f276becda9e8b8e SHA1 a28efc5090fdbdc7a09490ee3ed649e0b0a47aeb SHA256 05b7131f49857cca0bd73891e7700b8c1d2a5f56a1b63e27adfa61d111d0479c
+MISC ChangeLog 37869 RMD160 f346542f162d21f161f839b81e1ef7eb959593cb SHA1 17b8735ec3aa97015f810c2e521408eb98a4a7eb SHA256 5966faa19b80432073a41f5008d14f763c8a964f2be14a40d51743f58a2f3142
+MISC metadata.xml 2347 RMD160 12f8011e81850e48f23996902d82cd7396946717 SHA1 c62d539d8795d193ab6910db42cc178f4968ba71 SHA256 acebf070a113d0254029197e2d6063b68bb743f7ce6ba2611f01990ca372d03d
index 81bdcf344194a200e5c0b5fe35517c61b45eae43..907fdd7b0d9c302d6a2b9bcd74f3e6dd5cb15545 100644 (file)
@@ -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="&gt;=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 (file)
index 0000000..c48b272
--- /dev/null
@@ -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. รข\80\94 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
+}