summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2008-03-08 23:34:02 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2008-03-08 23:34:02 +0000
commit767370ec8d4a8962f65b4576e7d6bfe476ed8fe6 (patch)
tree02b4b96ea64766fe5d3032f1e60f4655c68564fc /media-sound/pulseaudio
parentMask newer experimental revisions of pulseaudio. (diff)
downloadgentoo-2-767370ec8d4a8962f65b4576e7d6bfe476ed8fe6.tar.gz
gentoo-2-767370ec8d4a8962f65b4576e7d6bfe476ed8fe6.tar.bz2
gentoo-2-767370ec8d4a8962f65b4576e7d6bfe476ed8fe6.zip
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.
(Portage version: 2.1.4.4)
Diffstat (limited to 'media-sound/pulseaudio')
-rw-r--r--media-sound/pulseaudio/ChangeLog12
-rw-r--r--media-sound/pulseaudio/files/pulseaudio-0.9.9+ltdl-2.2.patch100
-rw-r--r--media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild177
-rw-r--r--media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild185
4 files changed, 473 insertions, 1 deletions
diff --git a/media-sound/pulseaudio/ChangeLog b/media-sound/pulseaudio/ChangeLog
index 822b6a95005c..502513cbf2c8 100644
--- a/media-sound/pulseaudio/ChangeLog
+++ b/media-sound/pulseaudio/ChangeLog
@@ -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
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
index 000000000000..c140a7b9bfc9
--- /dev/null
+++ b/media-sound/pulseaudio/files/pulseaudio-0.9.9+ltdl-2.2.patch
@@ -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
index 000000000000..153e5e578554
--- /dev/null
+++ b/media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild
@@ -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
index 000000000000..53e576c04c12
--- /dev/null
+++ b/media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild
@@ -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
+}