summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2011-09-12 10:16:37 +0000
committerPacho Ramos <pacho@gentoo.org>2011-09-12 10:16:37 +0000
commit98dfb0b76959bbdf2a9a2d6f5eca065c12744c7a (patch)
tree9692ea4f647f38c0be419877306d49fbb3a02997 /media-libs/libcanberra
parentAlso support Gsettings conditions to work with latest libcanberra, fix race c... (diff)
downloadgentoo-2-98dfb0b76959bbdf2a9a2d6f5eca065c12744c7a.tar.gz
gentoo-2-98dfb0b76959bbdf2a9a2d6f5eca065c12744c7a.tar.bz2
gentoo-2-98dfb0b76959bbdf2a9a2d6f5eca065c12744c7a.zip
Apply fedora patch to workaround hangs when pulseaudio has problems, RDEPEND on gnome-base/gsettings-desktop-schemas to work ok with gnome-session-2.32.1-r3, remove all .la files (bug #366071 by Stephan Friedrichs, thanks a lot to Jonathan Callen for his explanation. Remove old.
(Portage version: 2.1.10.14/cvs/Linux x86_64)
Diffstat (limited to 'media-libs/libcanberra')
-rw-r--r--media-libs/libcanberra/ChangeLog11
-rw-r--r--media-libs/libcanberra/files/libcanberra-0.28-workaround-hang.patch28
-rw-r--r--media-libs/libcanberra/libcanberra-0.28-r5.ebuild (renamed from media-libs/libcanberra/libcanberra-0.28-r4.ebuild)23
3 files changed, 52 insertions, 10 deletions
diff --git a/media-libs/libcanberra/ChangeLog b/media-libs/libcanberra/ChangeLog
index 0d5a84903cbc..5b62d3642f8c 100644
--- a/media-libs/libcanberra/ChangeLog
+++ b/media-libs/libcanberra/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for media-libs/libcanberra
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libcanberra/ChangeLog,v 1.71 2011/07/21 17:26:29 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libcanberra/ChangeLog,v 1.72 2011/09/12 10:16:37 pacho Exp $
+
+*libcanberra-0.28-r5 (12 Sep 2011)
+
+ 12 Sep 2011; Pacho Ramos <pacho@gentoo.org> -libcanberra-0.28-r4.ebuild,
+ +libcanberra-0.28-r5.ebuild, +files/libcanberra-0.28-workaround-hang.patch:
+ Apply fedora patch to workaround hangs when pulseaudio has problems, RDEPEND
+ on gnome-base/gsettings-desktop-schemas to work ok with
+ gnome-session-2.32.1-r3, remove all .la files (bug #366071 by Stephan
+ Friedrichs, thanks a lot to Jonathan Callen for his explanation. Remove old.
*libcanberra-0.28-r4 (21 Jul 2011)
*libcanberra-0.28-r3 (21 Jul 2011)
diff --git a/media-libs/libcanberra/files/libcanberra-0.28-workaround-hang.patch b/media-libs/libcanberra/files/libcanberra-0.28-workaround-hang.patch
new file mode 100644
index 000000000000..bc84ce30b41e
--- /dev/null
+++ b/media-libs/libcanberra/files/libcanberra-0.28-workaround-hang.patch
@@ -0,0 +1,28 @@
+From 151ddf4a0d6f4db39ccabf78b083a4343623bbc7 Mon Sep 17 00:00:00 2001
+From: Christopher Aillon <caillon@redhat.com>
+Date: Sat, 5 Mar 2011 11:03:31 -0800
+Subject: [PATCH] Workaround a hang if there are server problems
+
+https://bugs.freedesktop.org/show_bug.cgi?id=35024
+---
+ src/pulse.c | 4 ----
+ 1 files changed, 0 insertions(+), 4 deletions(-)
+
+diff --git a/src/pulse.c b/src/pulse.c
+index d4225d1..8b4188b 100644
+--- a/src/pulse.c
++++ b/src/pulse.c
+@@ -312,10 +312,6 @@ static void context_state_cb(pa_context *pc, void *userdata) {
+ }
+
+ p->subscribed = FALSE;
+-
+- /* If we managed to connect once, then let's try to
+- * reconnect, and pass NOFAIL */
+- context_connect(c, TRUE);
+ }
+ }
+
+--
+1.7.4.1
+
diff --git a/media-libs/libcanberra/libcanberra-0.28-r4.ebuild b/media-libs/libcanberra/libcanberra-0.28-r5.ebuild
index d3afa35d94a8..d82f3463c238 100644
--- a/media-libs/libcanberra/libcanberra-0.28-r4.ebuild
+++ b/media-libs/libcanberra/libcanberra-0.28-r5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libcanberra/libcanberra-0.28-r4.ebuild,v 1.1 2011/07/21 17:26:29 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libcanberra/libcanberra-0.28-r5.ebuild,v 1.1 2011/09/12 10:16:37 pacho Exp $
EAPI="4"
@@ -13,7 +13,7 @@ SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE="alsa gstreamer +gtk +gtk3 oss pulseaudio +sound tdb udev"
+IUSE="alsa gnome gstreamer +gtk +gtk3 oss pulseaudio +sound tdb udev"
COMMON_DEPEND="media-libs/libvorbis
>=sys-devel/libtool-2.2.6b
@@ -29,6 +29,7 @@ COMMON_DEPEND="media-libs/libvorbis
tdb? ( sys-libs/tdb )
"
RDEPEND="${COMMON_DEPEND}
+ gnome? ( gnome-base/gsettings-desktop-schemas )
sound? ( x11-themes/sound-theme-freedesktop )" # Required for index.theme wrt #323379
DEPEND="${COMMON_DEPEND}
>=dev-util/pkgconfig-0.17"
@@ -38,6 +39,9 @@ REQUIRED_USE="udev? ( alsa )"
src_prepare() {
epatch "${FILESDIR}"/${P}-underlinking.patch
+ # https://bugs.freedesktop.org/show_bug.cgi?id=35024
+ epatch "${FILESDIR}/${PN}-0.28-workaround-hang.patch"
+
# gconf-2.m4 is needed for autoconf, bug #374561
if ! use gtk && ! use gtk3 ; then
cp "${FILESDIR}/gconf-2.m4" m4/ || die "Copying gconf-2.m4 failed!"
@@ -67,14 +71,15 @@ src_configure() {
src_install() {
# Disable parallel installation until bug #253862 is solved
- emake -j1 DESTDIR="${D}" install || die
+ emake -j1 DESTDIR="${D}" install
- # Remove useless .la files
- # la files in /usr/lib*/${P}/ are needed
- if use gtk || use gtk3; then
- rm -v "${ED}"/usr/$(get_libdir)/gtk-*/modules/*.la || die
- fi
- rm -v "${ED}"/usr/$(get_libdir)/*.la || die
+ # Remove useless .la files:
+ # libcanberra uses lt_dlopenext instead of ld_dlopen to load the modules,
+ # which means that it will first try appending ".la" to the given filename
+ # prefix; if that fails, it will append the module extension for the
+ # current system and try that (".so" on Linux, ".bundle" on Darwin, ".dll"
+ # on Windows, etc.). Only if both fail will it return an error.
+ find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
}
pkg_preinst() { gnome2_gconf_savelist; }