diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2010-05-05 22:50:31 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2010-05-05 22:50:31 +0000 |
commit | e93059c499bc7876f247f45c30575654b57c298a (patch) | |
tree | f7b9ac818dc333a259f6b5d31ee41e6e6c45a743 /media-sound | |
parent | Fix udev rules, bug #316027. Fix build problem with -O0, bug #306803. (diff) | |
download | historical-e93059c499bc7876f247f45c30575654b57c298a.tar.gz historical-e93059c499bc7876f247f45c30575654b57c298a.tar.bz2 historical-e93059c499bc7876f247f45c30575654b57c298a.zip |
Fix segfault with recent python, bug #318333. Clean up old revisions.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'media-sound')
-rw-r--r-- | media-sound/rhythmbox/ChangeLog | 12 | ||||
-rw-r--r-- | media-sound/rhythmbox/Manifest | 16 | ||||
-rw-r--r-- | media-sound/rhythmbox/files/rhythmbox-0.12-python-initialization.patch | 171 | ||||
-rw-r--r-- | media-sound/rhythmbox/files/rhythmbox-0.12.5-fix-daap-plugin-linking.patch | 22 | ||||
-rw-r--r-- | media-sound/rhythmbox/rhythmbox-0.12.6-r1.ebuild (renamed from media-sound/rhythmbox/rhythmbox-0.12.5-r2.ebuild) | 46 | ||||
-rw-r--r-- | media-sound/rhythmbox/rhythmbox-0.12.8-r1.ebuild | 197 |
6 files changed, 410 insertions, 54 deletions
diff --git a/media-sound/rhythmbox/ChangeLog b/media-sound/rhythmbox/ChangeLog index 054c5c203ec9..9645eea51403 100644 --- a/media-sound/rhythmbox/ChangeLog +++ b/media-sound/rhythmbox/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for media-sound/rhythmbox # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/ChangeLog,v 1.182 2010/04/21 18:02:44 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/ChangeLog,v 1.183 2010/05/05 22:50:30 eva Exp $ + +*rhythmbox-0.12.8-r1 (05 May 2010) +*rhythmbox-0.12.6-r1 (05 May 2010) + + 05 May 2010; Gilles Dartiguelongue <eva@gentoo.org> + -rhythmbox-0.12.5-r2.ebuild, + -files/rhythmbox-0.12.5-fix-daap-plugin-linking.patch, + +rhythmbox-0.12.6-r1.ebuild, +rhythmbox-0.12.8-r1.ebuild, + +files/rhythmbox-0.12-python-initialization.patch: + Fix segfault with recent python, bug #318333. Clean up old revisions. 21 Apr 2010; Christian Faulhammer <fauli@gentoo.org> rhythmbox-0.12.8.ebuild: diff --git a/media-sound/rhythmbox/Manifest b/media-sound/rhythmbox/Manifest index d3f98244d90d..13f4e156587f 100644 --- a/media-sound/rhythmbox/Manifest +++ b/media-sound/rhythmbox/Manifest @@ -1,19 +1,19 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -AUX rhythmbox-0.12.5-fix-daap-plugin-linking.patch 714 RMD160 f41f995764b8ac60172b8e8e6c1a9face9d3e408 SHA1 2ebd320ef650c9fe6dd06531afc697399a071ed6 SHA256 4617073fc7e275680b8ad3334009dbcf707725294f499df4912be83c6abbb2cd -DIST rhythmbox-0.12.5.tar.bz2 5123204 RMD160 5286cda2e457d21627a8fe2392c85504bcd254b7 SHA1 b41bbb4e7e8f2dc64122ff6a0b334478a0cef42b SHA256 b26c45a715502d3b4d47bf532078bdf3dbed68c1cb68c61d8995a349dd488cd1 +AUX rhythmbox-0.12-python-initialization.patch 5167 RMD160 cacae6274841d595a0d55ed92c42815793081176 SHA1 0b306455b027f8f9c73e185acdbbb1d041ce882d SHA256 54f3f492d4c3204b93a1fed3886ca76aa42d36737e66c6424426fc0116b25d3e DIST rhythmbox-0.12.6.tar.bz2 5202025 RMD160 cf860b1a42975d4dfea09b5c265bda297d18a7b9 SHA1 f1ba375329471ec47475a4b0ce3e8bba430a537b SHA256 ddffa5b7e0e0fe81044354998fd91a58d4ff526746b17a6b638e0e8ea1ac9684 DIST rhythmbox-0.12.8.tar.bz2 5358950 RMD160 072d4fa06408ebc181b40147db1575d0ef4c99fe SHA1 5d27923cc29b81d7bfbc73d867d7976a5295f964 SHA256 1752fab135808aa78a9afde78448e992020c58c07701f43c989fbabfc6352213 -EBUILD rhythmbox-0.12.5-r2.ebuild 4811 RMD160 552c4c989441bbb0b91bbe90ceb070d4309a226f SHA1 9e53e7bf34459b064bc8a3e06ca221445262f086 SHA256 7fb752710dd1adb756800c7147f637761a00ad9949e7e92fb13847c484a76cf4 +EBUILD rhythmbox-0.12.6-r1.ebuild 4794 RMD160 74eb78faea1182d2eccac6c4f2e1a8e7e7ee4a74 SHA1 a752be3ffa2899b61c242ae6aca3a23817b28cbd SHA256 e6e048344883d390ede9c8a2a4af5cb2a183c44b2f5ecdd149ec01b83d755273 EBUILD rhythmbox-0.12.6.ebuild 4535 RMD160 3ca2e90496ec7979cf0d578bcf1f156a40fd4261 SHA1 e7fa7615f17d426b37c4fb8f6e507cbe6208267b SHA256 6e1d2e68dbaf0991050ef9abfb24a6488e9aabe144c768fdf3e4b90f192bc259 +EBUILD rhythmbox-0.12.8-r1.ebuild 5165 RMD160 0d8d1d8a4915e6983689b08da9a1f631b4da92b6 SHA1 54663f001f08f7525c5d19f6953dd8d939f38ff9 SHA256 cfb61a15ededfcff3beb635efe6cb79cb6141314481f56f142253c9a76446d78 EBUILD rhythmbox-0.12.8.ebuild 5051 RMD160 59f830255cf73bf5d6f2ac63ec438f751a328248 SHA1 b918d2650ae3828eaec5825e39571186fc3cc81a SHA256 3b5ddc1dd337bcbe70286f9fa9b9ce885471c8e53679ee542e0dbfcf2ae4a992 -MISC ChangeLog 28078 RMD160 6fee98bcb5e0a69cba0740eff8abf9747ba1da83 SHA1 2e2b2257828241964cfc2ac4416d11980cc03e59 SHA256 7b458c724dba1f13d279040210ac047868e04893f35b139d9a90af5f5397d6ed +MISC ChangeLog 28475 RMD160 9ad820c86f6a837bf88ae363e1f0c4c1dac41ca9 SHA1 a9769a3b5f65f037f433b3912270605e9a4b5813 SHA256 de9799188bfb91d947b971b1a45af6a602a827a8356190075712f316164dfdef MISC metadata.xml 693 RMD160 1694899b1ecffa452a210fa7ee7f40d49bb1dc09 SHA1 2fecdcf02f751b816f6e853d6f7f15b7b3e6c9fe SHA256 e38fecefcfb59ecb89e3cd9c0c1c1b3af2d810de058860f41edcd9d6994788c3 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) +Version: GnuPG v2.0.15 (GNU/Linux) -iEYEARECAAYFAkvPPckACgkQNQqtfCuFneOFIACgkqqAAwXphor1dQk+50ubB8wH -kTMAnR3/YGT3VUvgx365SKHOMLqglgP7 -=Z/8e +iEYEARECAAYFAkvh9jwACgkQ1fmVwcYIWAYD/gCdFOdbdd82HEHfJD18XHCwoiXb +IIgAn1Loo50FBQXrwIyYlp0biyZXgMus +=rFuC -----END PGP SIGNATURE----- diff --git a/media-sound/rhythmbox/files/rhythmbox-0.12-python-initialization.patch b/media-sound/rhythmbox/files/rhythmbox-0.12-python-initialization.patch new file mode 100644 index 000000000000..deb34c0469a4 --- /dev/null +++ b/media-sound/rhythmbox/files/rhythmbox-0.12-python-initialization.patch @@ -0,0 +1,171 @@ +From 4394826f36fad0ad36ea773b6d4525dfcfcd389b Mon Sep 17 00:00:00 2001 +From: Jonathan Matthew <jonathan@d14n.org> +Date: Wed, 05 May 2010 12:58:26 +0000 +Subject: python: fix a number of python initialization problems (bug #617587) + +- pygtk.require("2.8") doesn't work - it's only after a major version, + so we should pass in "2.0" instead +- init_pygobject() is deprecated, use pygobject_init (and pass in the + version we require) instead +- init_pygtk() is a macro that returns from the current function on + error, so we need to call it from a separate function for our error + handling to work +- if some aspect of python initialization failed, we were still using + the pygobject GIL macros, which were crashing +--- +diff --git a/shell/main.c b/shell/main.c +index 1f27fee..a4dd50a 100644 +--- a/shell/main.c ++++ b/shell/main.c +@@ -35,6 +35,7 @@ + #define NO_IMPORT_PYGOBJECT + #define NO_IMPORT_PYGTK + #include <pygobject.h> ++#include "rb-python-module.h" + + /* make sure it's defined somehow */ + #ifndef _XOPEN_SOURCE +@@ -327,11 +328,15 @@ main (int argc, char **argv) + + rb_profile_start ("mainloop"); + #ifdef ENABLE_PYTHON +- pyg_begin_allow_threads; +-#endif ++ if (rb_python_init_successful ()) { ++ pyg_begin_allow_threads; ++ gtk_main (); ++ pyg_end_allow_threads; ++ } else { ++ gtk_main (); ++ } ++#else + gtk_main (); +-#ifdef ENABLE_PYTHON +- pyg_end_allow_threads; + #endif + rb_profile_end ("mainloop"); + +diff --git a/shell/rb-python-module.c b/shell/rb-python-module.c +index 9e14731..1995a42 100644 +--- a/shell/rb-python-module.c ++++ b/shell/rb-python-module.c +@@ -84,8 +84,16 @@ extern PyMethodDef pyrb_functions[]; + /* We retreive this to check for correct class hierarchy */ + static PyTypeObject *PyRBPlugin_Type; + ++static gboolean python_init_successful; ++ + G_DEFINE_TYPE (RBPythonModule, rb_python_module, G_TYPE_TYPE_MODULE); + ++static void ++actually_init_pygtk (void) ++{ ++ init_pygtk (); ++} ++ + void + rb_python_module_init_python (void) + { +@@ -98,6 +106,7 @@ rb_python_module_init_python (void) + char *argv[] = { "rb", "rhythmdb", NULL }; + GList *paths; + ++ python_init_successful = FALSE; + if (Py_IsInitialized ()) { + g_warning ("Python Should only be initialized once, since it's in class_init"); + g_return_if_reached (); +@@ -130,7 +139,7 @@ rb_python_module_init_python (void) + + PySys_SetArgv (1, argv); + +- /* pygtk.require("2.8") */ ++ /* pygtk.require("2.0") */ + pygtk = PyImport_ImportModule ("pygtk"); + if (pygtk == NULL) { + g_warning ("Could not import pygtk"); +@@ -140,11 +149,15 @@ rb_python_module_init_python (void) + + mdict = PyModule_GetDict (pygtk); + require = PyDict_GetItemString (mdict, "require"); +- PyObject_CallObject (require, Py_BuildValue ("(S)", PyString_FromString ("2.8"))); ++ PyObject_CallObject (require, Py_BuildValue ("(S)", PyString_FromString ("2.0"))); ++ if (PyErr_Occurred ()) { ++ g_warning ("pygtk.require(2.0) failed"); ++ PyErr_Print(); ++ return; ++ } + + /* import gobject */ +- init_pygobject (); +- if (PyErr_Occurred ()) { ++ if (pygobject_init (2, 16, 0) == NULL) { + g_warning ("Could not initialize pygobject"); + PyErr_Print(); + return; +@@ -154,7 +167,7 @@ rb_python_module_init_python (void) + pyg_disable_warning_redirections (); + + /* import gtk */ +- init_pygtk (); ++ actually_init_pygtk (); + if (PyErr_Occurred ()) { + g_warning ("Could not initialize pygtk"); + PyErr_Print(); +@@ -172,7 +185,7 @@ rb_python_module_init_python (void) + + mdict = PyModule_GetDict (gtk); + pygtk_version = PyDict_GetItemString (mdict, "pygtk_version"); +- pygtk_required_version = Py_BuildValue ("(iii)", 2, 4, 0); ++ pygtk_required_version = Py_BuildValue ("(iii)", 2, 8, 0); + if (PyObject_Compare (pygtk_version, pygtk_required_version) == -1) { + g_warning("PyGTK %s required, but %s found.", + PyString_AsString (PyObject_Repr (pygtk_required_version)), +@@ -264,6 +277,8 @@ rb_python_module_init_python (void) + gettext_args = Py_BuildValue ("ss", GETTEXT_PACKAGE, GNOMELOCALEDIR); + PyObject_CallObject (install, gettext_args); + Py_DECREF (gettext_args); ++ ++ python_init_successful = TRUE; + } + + static gboolean +@@ -329,6 +344,11 @@ rb_python_module_load_with_gil (GTypeModule *module) + PyGILState_STATE state; + gboolean ret; + ++ if (python_init_successful == FALSE) { ++ g_warning ("unable to load module as python runtime could not be initialized"); ++ return FALSE; ++ } ++ + state = pyg_gil_state_ensure (); + ret = rb_python_module_load (module); + pyg_gil_state_release (state); +@@ -485,6 +505,12 @@ rb_python_module_new (const gchar *path, + return result; + } + ++gboolean ++rb_python_init_successful (void) ++{ ++ return python_init_successful; ++} ++ + /* --- these are not module methods, they are here out of convenience --- */ + + #if 0 +diff --git a/shell/rb-python-module.h b/shell/rb-python-module.h +index 5b2c152..30c1200 100644 +--- a/shell/rb-python-module.h ++++ b/shell/rb-python-module.h +@@ -60,6 +60,8 @@ GObject *rb_python_module_new_object (RBPythonModule *module); + + void rb_python_module_init_python (void); + ++gboolean rb_python_init_successful (void); ++ + void rb_python_garbage_collect (void); + + void rb_python_shutdown (void); +-- +cgit v0.8.3.1 diff --git a/media-sound/rhythmbox/files/rhythmbox-0.12.5-fix-daap-plugin-linking.patch b/media-sound/rhythmbox/files/rhythmbox-0.12.5-fix-daap-plugin-linking.patch deleted file mode 100644 index 644615c3b35b..000000000000 --- a/media-sound/rhythmbox/files/rhythmbox-0.12.5-fix-daap-plugin-linking.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 3bf2e8b95d5a2c8000a7e46b73f0b92c5319e927 Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau <cfergeau@mandriva.com> -Date: Sat, 10 Oct 2009 12:16:35 +0000 -Subject: link daap plugin with RHYTHMBOX_LIBS (bug #597899) - -The DAAP plugin uses libsoup, so it needs to link with libsoup which is -part of RHYTHMBOX_LIBS. ---- -diff --git a/plugins/daap/Makefile.am b/plugins/daap/Makefile.am -index 90935ee..dfc1058 100644 ---- a/plugins/daap/Makefile.am -+++ b/plugins/daap/Makefile.am -@@ -35,6 +35,7 @@ libdaap_la_LIBTOOLFLAGS = --tag=disable-static - libdaap_la_LIBADD = \ - $(top_builddir)/shell/librhythmbox-core.la \ - $(DBUS_LIBS) \ -+ $(RHYTHMBOX_LIBS) \ - $(MDNS_LIBS) - - INCLUDES = \ --- -cgit v0.8.2 diff --git a/media-sound/rhythmbox/rhythmbox-0.12.5-r2.ebuild b/media-sound/rhythmbox/rhythmbox-0.12.6-r1.ebuild index a076d04c30bf..c826d6c53124 100644 --- a/media-sound/rhythmbox/rhythmbox-0.12.5-r2.ebuild +++ b/media-sound/rhythmbox/rhythmbox-0.12.6-r1.ebuild @@ -1,16 +1,15 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/rhythmbox-0.12.5-r2.ebuild,v 1.8 2010/02/17 22:58:40 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/rhythmbox-0.12.6-r1.ebuild,v 1.1 2010/05/05 22:50:30 eva Exp $ EAPI="2" -WANT_AUTOMAKE="1.10" -inherit autotools eutils gnome2 python multilib virtualx +inherit eutils gnome2 python multilib virtualx DESCRIPTION="Music management and playback software for GNOME" HOMEPAGE="http://www.rhythmbox.org/" LICENSE="GPL-2" -KEYWORDS="amd64 ppc ppc64 sparc x86" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" IUSE="+brasero cdr daap doc gnome-keyring hal ipod libnotify lirc musicbrainz mtp nsplugin python test udev" # FIXME: double check what to do with fm-radio plugin @@ -18,13 +17,13 @@ IUSE="+brasero cdr daap doc gnome-keyring hal ipod libnotify lirc musicbrainz mt SLOT="0" -COMMON_DEPEND=">=dev-libs/glib-2.16.0 +COMMON_DEPEND=">=dev-libs/glib-2.16 dev-libs/libxml2 >=x11-libs/gtk+-2.16 >=dev-libs/dbus-glib-0.71 - >=dev-libs/totem-pl-parser-2.26.0 + >=dev-libs/totem-pl-parser-2.26 >=gnome-base/gconf-2 - >=gnome-extra/gnome-media-2.14.0 + >=gnome-extra/gnome-media-2.14 >=net-libs/libsoup-2.26:2.4 >=net-libs/libsoup-gnome-2.26:2.4 @@ -40,11 +39,11 @@ COMMON_DEPEND=">=dev-libs/glib-2.16.0 gnome-keyring? ( >=gnome-base/gnome-keyring-0.4.9 ) udev? ( ipod? ( >=media-libs/libgpod-0.6 ) - mtp? ( >=media-libs/libmtp-0.3.0 ) + mtp? ( >=media-libs/libmtp-0.3 ) >=sys-fs/udev-145[extras] ) hal? ( ipod? ( >=media-libs/libgpod-0.6 ) - mtp? ( >=media-libs/libmtp-0.3.0 ) + mtp? ( >=media-libs/libmtp-0.3 ) >=sys-apps/hal-0.5 ) libnotify? ( >=x11-libs/libnotify-0.4.1 ) lirc? ( app-misc/lirc ) @@ -55,9 +54,9 @@ COMMON_DEPEND=">=dev-libs/glib-2.16.0 >=dev-lang/python-2.5 dev-python/celementtree ) >=dev-python/pygtk-2.8 - >=dev-python/gnome-vfs-python-2.22.0 - >=dev-python/gconf-python-2.22.0 - >=dev-python/libgnome-python-2.22.0 + >=dev-python/gnome-vfs-python-2.22 + >=dev-python/gconf-python-2.22 + >=dev-python/libgnome-python-2.22 >=dev-python/gst-python-0.10.8 )" RDEPEND="${COMMON_DEPEND} @@ -68,15 +67,12 @@ RDEPEND="${COMMON_DEPEND} >=media-plugins/gst-plugins-cdio-0.10 ) >=media-plugins/gst-plugins-meta-0.10-r2:0.10 >=media-plugins/gst-plugins-taglib-0.10.6 - nsplugin? ( || ( - net-libs/xulrunner - www-client/seamonkey - www-client/mozilla-firefox ) )" + nsplugin? ( net-libs/xulrunner )" # gtk-doc-am needed for eautoreconf +# dev-util/gtk-doc-am DEPEND="${COMMON_DEPEND} dev-util/pkgconfig - dev-util/gtk-doc-am >=dev-util/intltool-0.40 app-text/scrollkeeper >=app-text/gnome-doc-utils-0.9.1 @@ -141,15 +137,12 @@ pkg_setup() { src_prepare() { gnome2_src_prepare - # Fix bug 291315 (patch taken from upstream repo) - # DAAP plugin load failure when built with --as-needed - epatch "${FILESDIR}/${P}-fix-daap-plugin-linking.patch" - - eautoreconf - # disable pyc compiling mv py-compile py-compile.orig ln -s $(type -P true) py-compile + + # Fix python initialization problems, bug #318333 + epatch "${FILESDIR}/${PN}-0.12-python-initialization.patch" } src_compile() { @@ -164,6 +157,13 @@ src_test() { Xemake check || die "test failed" } +src_install() { + gnome2_src_install + + find "${D}/usr/$(get_libdir)/rhythmbox/plugins" -name "*.la" -delete \ + || die "failed to remove *.la files" +} + pkg_postinst() { gnome2_pkg_postinst use python && python_mod_optimize /usr/$(get_libdir)/rhythmbox/plugins diff --git a/media-sound/rhythmbox/rhythmbox-0.12.8-r1.ebuild b/media-sound/rhythmbox/rhythmbox-0.12.8-r1.ebuild new file mode 100644 index 000000000000..c81dafeef56d --- /dev/null +++ b/media-sound/rhythmbox/rhythmbox-0.12.8-r1.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/rhythmbox/rhythmbox-0.12.8-r1.ebuild,v 1.1 2010/05/05 22:50:30 eva Exp $ + +EAPI="2" + +inherit eutils gnome2 python multilib virtualx + +DESCRIPTION="Music management and playback software for GNOME" +HOMEPAGE="http://www.rhythmbox.org/" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="+brasero cdr daap doc gnome-keyring hal ipod libnotify lirc musicbrainz mtp nsplugin python test udev upnp webkit" + +# FIXME: double check what to do with fm-radio plugin +# TODO: watchout for udev use flag changes + +SLOT="0" + +COMMON_DEPEND=">=dev-libs/glib-2.18 + dev-libs/libxml2 + >=x11-libs/gtk+-2.18 + >=dev-libs/dbus-glib-0.71 + >=dev-libs/totem-pl-parser-2.26 + >=gnome-base/gconf-2 + >=gnome-extra/gnome-media-2.14 + >=net-libs/libsoup-2.26:2.4 + >=net-libs/libsoup-gnome-2.26:2.4 + + >=media-libs/gst-plugins-base-0.10.20 + || ( + >=media-libs/gst-plugins-base-0.10.24 + >=media-libs/gst-plugins-bad-0.10.6 ) + + cdr? ( + brasero? ( >=app-cdr/brasero-0.9.1 ) + !brasero? ( >=gnome-extra/nautilus-cd-burner-2.21.6 ) ) + daap? ( >=net-dns/avahi-0.6 ) + gnome-keyring? ( >=gnome-base/gnome-keyring-0.4.9 ) + udev? ( + ipod? ( >=media-libs/libgpod-0.6 ) + mtp? ( >=media-libs/libmtp-0.3 ) + >=sys-fs/udev-145[extras] ) + hal? ( + ipod? ( >=media-libs/libgpod-0.6 ) + mtp? ( >=media-libs/libmtp-0.3 ) + >=sys-apps/hal-0.5 ) + libnotify? ( >=x11-libs/libnotify-0.4.1 ) + lirc? ( app-misc/lirc ) + musicbrainz? ( media-libs/musicbrainz:3 ) + python? ( + >=dev-lang/python-2.4.2 + || ( + >=dev-lang/python-2.5 + dev-python/celementtree ) + >=dev-python/pygtk-2.8 + >=dev-python/pygobject-2.15.4 + >=dev-python/gconf-python-2.22 + >=dev-python/libgnome-python-2.22 + >=dev-python/gnome-keyring-python-2.22 + >=dev-python/gst-python-0.10.8 + webkit? ( + dev-python/mako + dev-python/pywebkitgtk ) + upnp? ( media-video/coherence ) + )" + +RDEPEND="${COMMON_DEPEND} + >=media-plugins/gst-plugins-soup-0.10 + >=media-plugins/gst-plugins-libmms-0.10 + || ( + >=media-plugins/gst-plugins-cdparanoia-0.10 + >=media-plugins/gst-plugins-cdio-0.10 ) + >=media-plugins/gst-plugins-meta-0.10-r2:0.10 + >=media-plugins/gst-plugins-taglib-0.10.6 + nsplugin? ( net-libs/xulrunner )" + +# gtk-doc-am needed for eautoreconf +# dev-util/gtk-doc-am +DEPEND="${COMMON_DEPEND} + dev-util/pkgconfig + >=dev-util/intltool-0.40 + app-text/scrollkeeper + >=app-text/gnome-doc-utils-0.9.1 + doc? ( >=dev-util/gtk-doc-1.4 ) + test? ( dev-libs/check )" + +DOCS="AUTHORS ChangeLog DOCUMENTERS INTERNALS \ + MAINTAINERS MAINTAINERS.old NEWS README THANKS" + +pkg_setup() { + if ! use hal && ! use udev; then + if use ipod; then + ewarn "ipod support requires hal or udev support. Please" + ewarn "re-emerge with USE=udev to enable ipod support" + fi + + if use mtp; then + ewarn "MTP support requires hal or udev support. Please" + ewarn "re-emerge with USE=udev to enable MTP support" + fi + fi + + if use hal && use udev; then + einfo "udev support replaces hal support completely. You can disable" + einfo "hal on this package via /etc/portage/package.use." + fi + + if ! use cdr ; then + ewarn "You have cdr USE flag disabled." + ewarn "You will not be able to burn CDs." + fi + + if ! use python; then + if use webkit; then + ewarn "You need python support in addition to webkit to be able to use" + ewarn "the context panel plugin." + fi + + if use upnp; then + ewarn "You need python support in addition to upnp" + fi + fi + + if use brasero; then + G2CONF="${G2CONF} $(use_with cdr libbrasero-media) --without-libnautilus-burn" + else + G2CONF="${G2CONF} $(use_with cdr libnautilus-burn) --without-libbrasero-media" + fi + + G2CONF="${G2CONF} + MOZILLA_PLUGINDIR=/usr/$(get_libdir)/nsbrowser/plugins + $(use_with gnome-keyring) + $(use_with udev gudev) + $(use_with hal) + $(use_with ipod) + $(use_enable libnotify) + $(use_enable lirc) + $(use_enable musicbrainz) + $(use_with mtp) + $(use_enable nsplugin browser-plugin) + $(use_enable python) + $(use_enable daap) + $(use_with daap mdns avahi) + --enable-mmkeys + --disable-scrollkeeper + --disable-schemas-install + --disable-static + --disable-vala" + + export GST_INSPECT=/bin/true +} + +src_prepare() { + gnome2_src_prepare + + # disable pyc compiling + mv py-compile py-compile.orig + ln -s $(type -P true) py-compile + + # Fix python initialization problems, bug #318333 + epatch "${FILESDIR}/${PN}-0.12-python-initialization.patch" +} + +src_compile() { + addpredict "$(unset HOME; echo ~)/.gconf" + addpredict "$(unset HOME; echo ~)/.gconfd" + gnome2_src_compile +} + +src_test() { + unset SESSION_MANAGER + unset DBUS_SESSION_BUS_ADDRESS + Xemake check || die "test failed" +} + +src_install() { + gnome2_src_install + + find "${D}/usr/$(get_libdir)/rhythmbox/plugins" -name "*.la" -delete \ + || die "failed to remove *.la files" +} + +pkg_postinst() { + gnome2_pkg_postinst + use python && python_mod_optimize /usr/$(get_libdir)/rhythmbox/plugins + + ewarn + ewarn "If ${PN} doesn't play some music format, please check your" + ewarn "USE flags on media-plugins/gst-plugins-meta" + ewarn +} + +pkg_postrm() { + gnome2_pkg_postrm + python_mod_cleanup /usr/$(get_libdir)/rhythmbox/plugins +} |