diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-03-08 23:34:02 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-03-08 23:34:02 +0000 |
commit | 767370ec8d4a8962f65b4576e7d6bfe476ed8fe6 (patch) | |
tree | 02b4b96ea64766fe5d3032f1e60f4655c68564fc /media-sound/pulseaudio | |
parent | Mask newer experimental revisions of pulseaudio. (diff) | |
download | gentoo-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/ChangeLog | 12 | ||||
-rw-r--r-- | media-sound/pulseaudio/files/pulseaudio-0.9.9+ltdl-2.2.patch | 100 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-0.9.9-r3.ebuild | 177 | ||||
-rw-r--r-- | media-sound/pulseaudio/pulseaudio-0.9.9-r53.ebuild | 185 |
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 +} |