Add new revisions that work with libtool 2.2. Note that from now on I'll keep the...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Sat, 8 Mar 2008 23:34:02 +0000 (23:34 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Sat, 8 Mar 2008 23:34:02 +0000 (23:34 +0000)
Package-Manager: portage-2.1.4.4

media-sound/pulseaudio/ChangeLog
media-sound/pulseaudio/Manifest
media-sound/pulseaudio/files/pulseaudio-0.9.9+ltdl-2.2.patch [new file with mode: 0644]
media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild [new file with mode: 0644]
media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild [new file with mode: 0644]

index 822b6a95005c6c2c7484f4ab145e9f377a166268..502513cbf2c848d6241db5d4fb02cab99206af51 100644 (file)
@@ -1,6 +1,16 @@
 # ChangeLog for media-sound/pulseaudio
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.100 2008/02/11 03:53:49 tester Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.101 2008/03/08 23:34:01 flameeyes Exp $
+
+*pulseaudio-0.9.9-r53 (08 Mar 2008)
+*pulseaudio-0.9.9-r3 (08 Mar 2008)
+
+  08 Mar 2008; Diego Pettenò <flameeyes@gentoo.org>
+  +files/pulseaudio-0.9.9+ltdl-2.2.patch, +pulseaudio-0.9.9-r3.ebuild,
+  +pulseaudio-0.9.9-r53.ebuild:
+  Add new revisions that work with libtool 2.2. Note that from now on I'll
+  keep the experimental revisions with a value 50+x in line with the old-style
+  ones.
 
   11 Feb 2008; Olivier Crête <tester@gentoo.org> pulseaudio-0.9.9.ebuild:
   Stable on amd64 per security bug #207214
index 0957d54f3144487386ac3ac0c22d390b44e9d424..80add212dd70a0379fa2779b8dbab4b7d2d15681 100644 (file)
@@ -7,6 +7,7 @@ AUX pulseaudio-0.9.8-create-directory.patch 685 RMD160 87c287d3ff6047c9bee892271
 AUX pulseaudio-0.9.8-esoundpath.patch 1798 RMD160 c009c0d1cfdf0bb9db6ef476df29bca56b68ab58 SHA1 5901b164c5b4bd3fa485dbc1a5a950f2ba5794a9 SHA256 4ae132c68a19f07ecf1fef9c55cebc7615e38b157dc196961f666c3914a4641b
 AUX pulseaudio-0.9.8-polkit.patch 766 RMD160 20bafbeae68fb9092dd3ef2d6d7facca86091d42 SHA1 490aeea34db54e779b84e9922bdb372e1cdcde7e SHA256 112d4da6597783e4dd3d69b73fe08c91631e280b23e84a41c2f1f8b3d9c8d368
 AUX pulseaudio-0.9.8-svn2074.patch 412 RMD160 49e416e5e9747cd7c2065b98220e99910375f826 SHA1 9a6d61fd8a000baa4699904154453b83c7bae6f9 SHA256 70b0baed200e5c86672f395520131af797eab7e8ea7fbad2b9caf00ad3e22b65
+AUX pulseaudio-0.9.9+ltdl-2.2.patch 2990 RMD160 6f752b636e4c4e1b2e4995fcd2c73d9f9a23cf21 SHA1 c0769c1a0a2a41041d0c79cfc801a36721b82508 SHA256 13713993d95dc912259c844a19d6541c968ff490d64ee3632f4ebd84fa9e4c41
 AUX pulseaudio.conf.d 275 RMD160 6317cb5be41a768428056c0057d8f5b1f189e804 SHA1 22ed7f1de0f2a18a608c5e9a91635ee66addac4d SHA256 c03661e8cc902d27ff6b52f291207f2b008957571b942abdd92a873a52aae0dd
 AUX pulseaudio.init.d-2 632 RMD160 5baf66e3f64e406b7e23ffbe13774e32595cff19 SHA1 e0a46567d43f7e3620c8da90654a0f16235a36fa SHA256 24c7f5319161105e46382c7c1340ae634d54cfbe32cdf70c86d6fd6c40782ee0
 AUX pulseaudio.init.d-3 1727 RMD160 ffe93d7c5300ae7974e9b5c02987a23422940d35 SHA1 437b6a0b856e44dffa89c44a2934b4d87b0e187f SHA256 8f31a03b430b5a6a7525e2251842cf685e55983c1f6d7036ae8b0aa9c8f9e2fb
@@ -15,13 +16,15 @@ DIST pulseaudio-0.9.9.tar.gz 1063448 RMD160 beb9cb645ce69978ba095e73376ae8ae4b92
 EBUILD pulseaudio-0.9.7.ebuild 4752 RMD160 0217d3ccee281219df3a6817935f762b9a03f286 SHA1 2fca6bbfd4b2c209ca59e5313a1b45cec19c5fb2 SHA256 65803bb77985bc3bb82e0e0d01e82a7293fc61ad951a35a1672e25941725437c
 EBUILD pulseaudio-0.9.9-r1.ebuild 5847 RMD160 8f470a41bd65792e8fb5605d2c784983c9adfe9a SHA1 b0b93c9114ba9e7f4a6eee626404b1382349aaa8 SHA256 adbb09e222539e113fbd80186c538aae4c65ef74f46962360cbbfa210b5ec3e4
 EBUILD pulseaudio-0.9.9-r2.ebuild 5809 RMD160 425cef53074809572fede56346268c1a625773ef SHA1 e3b2c88ce0dee2c5790d751c56ea992742f60fc9 SHA256 f075b434d556d95032d541a0cfac574e823386533f13ed3d4d7b7ed670b2e0d4
+EBUILD pulseaudio-0.9.9-r3.ebuild 5889 RMD160 d78dc6272930fef0d22a107fef00f74195dd5aff SHA1 99a932fe7989d0520441681aa1cfc5832010a85c SHA256 ff194bbc2d690ce37025640a54a96bb8d1b738b43c6139daa6fc4b134f54174f
+EBUILD pulseaudio-0.9.9-r53.ebuild 5852 RMD160 4efe5a6cb832342897e4a3bf4a8edd208aa8ae48 SHA1 06eecb1aa957b085e8cd80ade72abcb58e06cc35 SHA256 6863cf3e17fed9c2ab2d8e8908970ae4b2ddca17415e82c3a53b56a1eb44c019
 EBUILD pulseaudio-0.9.9.ebuild 5810 RMD160 db6a3d4da34ea78d6cf5901c57bc74b48082fd66 SHA1 7a659611de1b5ad7acb8e4e5ebac8ac6ec2c06f7 SHA256 90128fff4ccca7e019cd772e0faab2dc68ec8c2149aa476ddc77e1b63201279b
-MISC ChangeLog 17903 RMD160 a520c55e05d6e66f7b7b119e9665323bbe8729b1 SHA1 b9b91b405313da6764c1d944ea13476765d2dcfb SHA256 bf561678fa078563baaf4d34954133748c6eeadfac55bd6296fdc53196155464
+MISC ChangeLog 18297 RMD160 0fc30f9823244c8d124c971f7b30f2f74413f4b8 SHA1 d05561bb61419eef5a5491cb1eb32a1029fd5485 SHA256 474a496296ff28e081194b81f9fdf59896b05506956251529784f0b79700f670
 MISC metadata.xml 1106 RMD160 451b24728e90377bc829a999a76fca5b4bc91078 SHA1 6b242be79913c9ffa2aafdd95149a7fa93b3c764 SHA256 995d3c7013901cd84098a1b40975c54863751e8668874f763ec70b81e23e9a9f
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.7 (GNU/Linux)
+Version: GnuPG v2.0.7 (GNU/Linux)
 
-iD8DBQFHr8bSmOfEJZHYOKcRAheLAJ96zTPAyzjrA+go8SUv1iyl6p9aKACeI7L3
-IPHczfjf5mnGg6cHc2Ri4T4=
-=gXv3
+iD8DBQFH0yJwAiZjviIA2XgRAsuoAJwNtcoZrw+2r22xS/IK9FikcmM30wCg2I66
+VEmyDPlrhOnAXQv/s2WXkCc=
+=jpJN
 -----END PGP SIGNATURE-----
diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.9+ltdl-2.2.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.9+ltdl-2.2.patch
new file mode 100644 (file)
index 0000000..c140a7b
--- /dev/null
@@ -0,0 +1,100 @@
+Index: src/daemon/ltdl-bind-now.c
+===================================================================
+--- src/daemon/ltdl-bind-now.c (revision 2112)
++++ src/daemon/ltdl-bind-now.c (working copy)
+@@ -34,6 +34,11 @@
+ #include <sys/dl.h>
+ #endif
+ 
++#ifndef HAVE_LT_USER_DLLOADER
++/* Only used with ltdl 2.2 */
++#include <string.h>
++#endif
++
+ #include <ltdl.h>
+ 
+ #include <pulsecore/macro.h>
+@@ -85,7 +90,11 @@
+   to set $LT_BIND_NOW before starting the pulsaudio binary.
+ */
+ 
++#ifndef HAVE_LT_DLADVISE
+ static lt_module bind_now_open(lt_user_data d, const char *fname) {
++#else
++  static lt_module bind_now_open(lt_user_data d, const char *fname, lt_dladvise advise) {
++#endif
+     lt_module m;
+ 
+     pa_assert(fname);
+@@ -129,19 +138,27 @@
+ void pa_ltdl_init(void) {
+ 
+ #ifdef PA_BIND_NOW
++# ifdef HAVE_LT_USER_DLLOADER
+     lt_dlloader *place;
+     static const struct lt_user_dlloader loader = {
+         .module_open = bind_now_open,
+         .module_close = bind_now_close,
+         .find_sym = bind_now_find_sym
+     };
++# else
++    static const lt_dlvtable *dlopen_loader;
++    static lt_dlvtable bindnow_loader;
++# endif
+ #endif
+ 
+     pa_assert_se(lt_dlinit() == 0);
+     pa_assert_se(libtool_mutex = pa_mutex_new(TRUE, FALSE));
++#ifdef HAVE_LT_DLMUTEX_REGISTER
+     pa_assert_se(lt_dlmutex_register(libtool_lock, libtool_unlock, libtool_set_error, libtool_get_error) == 0);
++#endif
+ 
+ #ifdef PA_BIND_NOW
++# ifdef HAVE_LT_USER_DLLOADER
+ 
+     if (!(place = lt_dlloader_find("dlopen")))
+         place = lt_dlloader_next(NULL);
+@@ -149,6 +166,26 @@
+     /* Add our BIND_NOW loader as the default module loader. */
+     if (lt_dlloader_add(place, &loader, "bind-now-loader") != 0)
+         pa_log_warn("Failed to add bind-now-loader.");
++# else
++    /* Already initialised */
++    if ( dlopen_loader != NULL ) return;
++
++    if (!(dlopen_loader = lt_dlloader_find("dlopen"))) {
++      pa_log_warn("Failed to find original dlopen loader.");
++      return;
++    }
++
++    memcpy(&bindnow_loader, dlopen_loader, sizeof(bindnow_loader));
++    bindnow_loader.name = "bind-now-loader";
++    bindnow_loader.module_open = bind_now_open;
++    bindnow_loader.module_close = bind_now_close;
++    bindnow_loader.find_sym = bind_now_find_sym;
++    bindnow_loader.priority = LT_DLLOADER_PREPEND;
++
++    /* Add our BIND_NOW loader as the default module loader. */
++    if (lt_dlloader_add(&bindnow_loader) != 0)
++        pa_log_warn("Failed to add bind-now-loader.");
++# endif
+ #endif
+ }
+ 
+Index: configure.ac
+===================================================================
+--- configure.ac       (revision 2112)
++++ configure.ac       (working copy)
+@@ -172,6 +172,12 @@
+ AC_SUBST(LIBLTDL)
+ AC_CONFIG_SUBDIRS(libltdl)
+ 
++old_LIBS=$LIBS
++LIBS="$LIBS $LIBLTDL"
++AC_CHECK_FUNCS([lt_dlmutex_register])
++LIBS=$old_LIBS
++AC_CHECK_TYPES([lt_user_dlloader, lt_dladvise], , , [#include <ltdl.h>])
++
+ if test "x$enable_ltdl_install" = "xno" && test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then
+     AC_MSG_ERROR([[
+ 
diff --git a/media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild
new file mode 100644 (file)
index 0000000..153e5e5
--- /dev/null
@@ -0,0 +1,177 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild,v 1.1 2008/03/08 23:34:01 flameeyes Exp $
+
+EAPI=1
+
+inherit eutils libtool autotools flag-o-matic
+
+DESCRIPTION="A networked sound server with an advanced plugin system"
+HOMEPAGE="http://0pointer.de/lennart/projects/pulseaudio/"
+SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc64 ~sparc ~x86"
+IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns +glib"
+
+RDEPEND="X? ( x11-libs/libX11 )
+       caps? ( sys-libs/libcap )
+       >=media-libs/audiofile-0.2.6-r1
+       libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 )
+       >=media-libs/libsndfile-1.0.10
+       >=dev-libs/liboil-0.3.6
+       alsa? ( >=media-libs/alsa-lib-1.0.10 )
+       glib? ( >=dev-libs/glib-2.4.0 )
+       avahi? ( >=net-dns/avahi-0.6.12 )
+       >=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.7
+               >=sys-apps/dbus-1.0.0
+       )
+       app-admin/eselect-esd
+       bluetooth? (
+               >=net-wireless/bluez-libs-3
+               >=sys-apps/dbus-1.0.0
+       )
+       policykit? ( sys-auth/policykit )
+       asyncns? ( net-libs/libasyncns )
+       >=sys-devel/libtool-1.5.24" # it's a valid RDEPEND, libltdl.so is used
+DEPEND="${RDEPEND}
+       dev-libs/libatomic_ops
+       dev-util/pkgconfig"
+
+# 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
+       alsa? ( media-sound/alsa-utils )
+       bluetooth? ( >=net-wireless/bluez-utils-3 )"
+
+pkg_setup() {
+       if use avahi && ! built_with_use net-dns/avahi dbus ; then
+               echo
+               eerror "In order to compile pulseaudio with avahi support, you need to have"
+               eerror "net-dns/avahi emerged with 'dbus' in your USE flag. Please add that"
+               eerror "flag, re-emerge avahi, and then emerge pulseaudio again."
+               die "net-dns/avahi is missing the D-Bus bindings."
+       fi
+
+       enewgroup audio 18 # Just make sure it exists
+       enewgroup realtime
+       enewgroup pulse-access
+       enewgroup pulse
+       enewuser pulse -1 -1 /var/run/pulse pulse,audio
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       epatch "${FILESDIR}/${PN}-0.9.8-svn2074.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-polkit.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-bt-nohal.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-esoundpath.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-create-directory.patch"
+       epatch "${FILESDIR}/${P}+ltdl-2.2.patch"
+
+       eautoreconf
+       elibtoolize
+}
+
+src_compile() {
+       # To properly fix CVE-2008-0008
+       append-flags -UNDEBUG
+
+       econf \
+               --enable-largefile \
+               $(use_enable glib) \
+               --disable-solaris \
+               $(use_enable asyncns) \
+               $(use_enable oss) \
+               $(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 policykit polkit) \
+               $(use_with caps) \
+               $(use_with X x) \
+               --disable-ltdl-install \
+               --localstatedir=/var \
+               --with-realtime-group=realtime \
+               || die "econf failed"
+       emake || die "emake failed"
+}
+
+src_install() {
+       emake -j1 DESTDIR="${D}" install || die "make install failed"
+
+       newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio
+
+       local neededservices
+       use alsa && neededservices="$neededservices alsasound"
+       use avahi && neededservices="$neededservices avahi-daemon"
+       use hal && neededservices="$neededservices hald"
+       use bluetooth && neededservices="$neededservices bluetooth"
+       [[ -n ${neededservices} ]] && sed -e "s/@neededservices@/need $neededservices/" "${FILESDIR}/pulseaudio.init.d-2" > "${T}/pulseaudio"
+       doinitd "${T}/pulseaudio"
+
+       use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa"
+
+       dohtml -r doc
+       dodoc README
+
+       # Create the state directory
+       diropts -o pulse -g pulse -m0755
+       keepdir /var/run/pulse
+}
+
+pkg_postinst() {
+       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 "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. Pleaes note"
+               elog "that you might need to remove the gnome USE flag or disable the"
+               elog "gconf module on /etc/pulse/default.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
+       elog "If you want to make use of realtime capabilities of PulseAudio"
+       elog "you should follow the realtime guide to create and set up a realtime"
+       elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml"
+       elog "Make sure you also have baselayout installed with pam USE flag"
+       elog "enabled, if you're using the rlimit method."
+       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
+
+       eselect esd update --if-unset
+}
diff --git a/media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild
new file mode 100644 (file)
index 0000000..53e576c
--- /dev/null
@@ -0,0 +1,185 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild,v 1.1 2008/03/08 23:34:01 flameeyes Exp $
+
+EAPI=1
+
+inherit eutils libtool autotools flag-o-matic
+
+DESCRIPTION="A networked sound server with an advanced plugin system"
+HOMEPAGE="http://0pointer.de/lennart/projects/pulseaudio/"
+SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc64 ~sparc ~x86"
+IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns +glib"
+
+RDEPEND="X? ( x11-libs/libX11 )
+       caps? ( sys-libs/libcap )
+       >=media-libs/audiofile-0.2.6-r1
+       libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 )
+       >=media-libs/libsndfile-1.0.10
+       >=dev-libs/liboil-0.3.6
+       alsa? ( >=media-libs/alsa-lib-1.0.10 )
+       glib? ( >=dev-libs/glib-2.4.0 )
+       avahi? ( >=net-dns/avahi-0.6.12 )
+       >=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.7
+               >=sys-apps/dbus-1.0.0
+       )
+       app-admin/eselect-esd
+       bluetooth? (
+               >=net-wireless/bluez-libs-3
+               >=sys-apps/dbus-1.0.0
+       )
+       policykit? ( sys-auth/policykit )
+       asyncns? ( net-libs/libasyncns )
+       >=sys-apps/baselayout-2.0_rc5
+       >=sys-devel/libtool-1.5.24" # it's a valid RDEPEND, libltdl.so is used
+DEPEND="${RDEPEND}
+       dev-libs/libatomic_ops
+       dev-util/pkgconfig
+       dev-util/unifdef"
+
+# 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
+       alsa? ( media-sound/alsa-utils )
+       bluetooth? ( >=net-wireless/bluez-utils-3 )"
+
+pkg_setup() {
+       if use avahi && ! built_with_use net-dns/avahi dbus ; then
+               echo
+               eerror "In order to compile pulseaudio with avahi support, you need to have"
+               eerror "net-dns/avahi emerged with 'dbus' in your USE flag. Please add that"
+               eerror "flag, re-emerge avahi, and then emerge pulseaudio again."
+               die "net-dns/avahi is missing the D-Bus bindings."
+       fi
+
+       enewgroup audio 18 # Just make sure it exists
+       enewgroup realtime
+       enewgroup pulse-access
+       enewgroup pulse
+       enewuser pulse -1 -1 /var/run/pulse pulse,audio
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       epatch "${FILESDIR}/${PN}-0.9.8-svn2074.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-polkit.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-bt-nohal.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-esoundpath.patch"
+       epatch "${FILESDIR}/${PN}-0.9.8-create-directory.patch"
+       epatch "${FILESDIR}/${P}+ltdl-2.2.patch"
+
+       eautoreconf
+       elibtoolize
+}
+
+src_compile() {
+       # To properly fix CVE-2008-0008
+       append-flags -UNDEBUG
+
+       econf \
+               --enable-largefile \
+               $(use_enable glib) \
+               --disable-solaris \
+               $(use_enable asyncns) \
+               $(use_enable oss) \
+               $(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 policykit polkit) \
+               $(use_with caps) \
+               $(use_with X x) \
+               --disable-ltdl-install \
+               --localstatedir=/var \
+               --with-realtime-group=realtime \
+               || die "econf failed"
+       emake || die "emake failed"
+}
+
+src_install() {
+       emake -j1 DESTDIR="${D}" install || die "make install failed"
+
+       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 "${FILESDIR}/pulseaudio.init.d-3" \
+               $(use_define hal) \
+               $(use_define avahi) \
+               $(use_define alsa) \
+               $(use_define bluetooth) \
+               > "${T}/pulseaudio"
+       doinitd "${T}/pulseaudio"
+
+       use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa"
+
+       dohtml -r doc
+       dodoc README
+
+       # Create the state directory
+       diropts -o pulse -g pulse -m0755
+       keepdir /var/run/pulse
+}
+
+pkg_postinst() {
+       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 "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. Pleaes note"
+               elog "that you might need to remove the gnome USE flag or disable the"
+               elog "gconf module on /etc/pulse/default.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
+       elog "If you want to make use of realtime capabilities of PulseAudio"
+       elog "you should follow the realtime guide to create and set up a realtime"
+       elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml"
+       elog "Make sure you also have baselayout installed with pam USE flag"
+       elog "enabled, if you're using the rlimit method."
+       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
+
+       eselect esd update --if-unset
+}