Add new version for Gnome 2.30
authorPacho Ramos <pacho@gentoo.org>
Sun, 13 Jun 2010 20:36:55 +0000 (20:36 +0000)
committerPacho Ramos <pacho@gentoo.org>
Sun, 13 Jun 2010 20:36:55 +0000 (20:36 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

media-video/totem/ChangeLog
media-video/totem/Manifest
media-video/totem/files/totem-2.30.1-fix-constant-buffering.patch [new file with mode: 0644]
media-video/totem/files/totem-2.30.1-fix-gmp-plugin.patch [new file with mode: 0644]
media-video/totem/files/totem-2.30.1-fix-pygtk-include.patch [new file with mode: 0644]
media-video/totem/files/totem-2.30.1-fix-qt-eos.patch [new file with mode: 0644]
media-video/totem/totem-2.30.0-r1.ebuild [new file with mode: 0644]

index dfcd4efe873c8b6c5deee8cb4f4148180ec34d0b..12dac4c905ec8c50c40c055725026e6d464a7c80 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for media-video/totem
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/totem/ChangeLog,v 1.287 2010/06/11 12:23:09 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/totem/ChangeLog,v 1.288 2010/06/13 20:36:55 pacho Exp $
+
+*totem-2.30.0-r1 (13 Jun 2010)
+
+  13 Jun 2010; Pacho Ramos <pacho@gentoo.org> +totem-2.30.0-r1.ebuild,
+  +files/totem-2.30.1-fix-constant-buffering.patch,
+  +files/totem-2.30.1-fix-gmp-plugin.patch,
+  +files/totem-2.30.1-fix-pygtk-include.patch,
+  +files/totem-2.30.1-fix-qt-eos.patch:
+  Add new version for Gnome 2.30.
 
   11 Jun 2010; Pacho Ramos <pacho@gentoo.org> totem-2.26.3-r1.ebuild,
   totem-2.26.5-r1.ebuild, totem-2.28.5-r3.ebuild, -totem-2.28.5-r4.ebuild,
index fc8e6ffecd8fcb7899f4a382366c3c841017d7c4..4fe6e5ff6396dd91b27a8917ae20e59b045f7bb9 100644 (file)
@@ -5,21 +5,27 @@ AUX totem-2.26.1-smclient-target-detection.patch 1420 RMD160 4808f108ff486f5dc99
 AUX totem-2.26.3-youtube-plugin-404-error.patch 1050 RMD160 4c570c8d9a8479cb483826cee7e638cb857d6004 SHA1 038aa80f3ab24130987e8d329dca931147e931c9 SHA256 c9e3e054c3e220281e457c39e1a5b0a4f352b4bd9baac557c5c5d5f5c4e3cb6a
 AUX totem-2.26.4-youtube-plug-play-vids.patch 888 RMD160 b4e28b2818aa588e257cf5b6ddfb4955e22fad69 SHA1 18148eaaef258e57d7327a538bb3320cf530b09a SHA256 c123f6d9693ad2ace3154771e2e935b361ed7d43b5139a9748754f0782a118b7
 AUX totem-2.26.5-firefox-plugin-apple-trailers.patch 2690 RMD160 647f88df1373c20b1034caa746b456f910afd34f SHA1 a925115dcc1c33b397c0cb2ea561c5a48f402471 SHA256 e89197f6c20c6a525f3c60ade071b918efeaba4fb9178f859a733a72e8bd6e85
+AUX totem-2.30.1-fix-constant-buffering.patch 3505 RMD160 18fb37136caba330089fa93ee8fdda4c2deb210a SHA1 615a9575f78f9b33712cc0d15e77ac5a35ee9310 SHA256 e338bb7de097452b5a78ecd74ea94a9d81c4f82eb914ca761c1b76cc452421a9
+AUX totem-2.30.1-fix-gmp-plugin.patch 2659 RMD160 98ea3e484960fb15edc2df76842427bfd70d0a5b SHA1 d4d69b338aa476cc77ec802530376b42ca9ef3f9 SHA256 21dde71ce2807841f369d600f5d0e1369af9ad580e9396c66d4d0fd3d922ccd0
+AUX totem-2.30.1-fix-pygtk-include.patch 1426 RMD160 e4a186bafe7b00340f82937c145e6412021e485e SHA1 10464e94e1b77c2489d6ff5a667f80cdf6dc1d4b SHA256 b72260c8993860d6639e5524445b653b41bc4b756378b66a06e343c65f700345
+AUX totem-2.30.1-fix-qt-eos.patch 1199 RMD160 1d4e0d09ea5581a2c0670eca85a2b7a8e10743b3 SHA1 a0d7fcd8fbed625b31458b65cc63710dbe810ed0 SHA256 eb5bf9646e12b980e2fc0ab44338cddf1bd7be6058c4afe6d2413907f708de1a
 DIST totem-2.26.3.tar.bz2 3193956 RMD160 f265ec3997c130f28bf5e5455c0aef6921e71ece SHA1 ea6fa7244eb993a3038bc76f5e561c8a0661466c SHA256 ae1bd6682385ad401effda4a856f4ba8150b5ef4eab113a288b29e9335170d70
 DIST totem-2.26.5.tar.bz2 3198042 RMD160 174e91dad2f51c908e4b777e93003c6888fd2829 SHA1 34c4a701f1cee440b397ead761de56e08ce97da1 SHA256 33c69497eff649d86b0a710aee7a3b3cbc7cb79c55267bac88a591d62a6ffb3c
 DIST totem-2.28.5-patches.tar.bz2 11640 RMD160 aad39ff2ae08afef567150c9f1500083de9972c6 SHA1 e59c0f614a24741e7b0095cee7a5e5563b4db3c4 SHA256 e2fb840164b2be1bbcf18d97e52e5606cf280306373305b58d128e899367eaf0
 DIST totem-2.28.5.tar.bz2 3083946 RMD160 20fa09187a82380d7b7d19c2fb5e8a5a4475307e SHA1 1653528d66a1f11da4bc8f66746828c4a31343d6 SHA256 c788bb314addbeeb2b27a2af0f7448752db22dcfaf8b0a4e704463ba9a9dc063
 DIST totem-2.28.6.tar.bz2 3086945 RMD160 cae977bf11f512855ab4abbeb055edc149035eb9 SHA1 94037b3b55c241ae7471a746ed9713f714211088 SHA256 224608c9340f7b3839641327feaa41c4941970f085d5cbec5020d968555d06cb
+DIST totem-2.30.0.tar.bz2 3212210 RMD160 4444cbd39ba448a392c089c36d47d865410e5206 SHA1 d8456c879e5858464cf81a5ac973e44c19ade863 SHA256 9d8edd266bd2546e4c8034de1196b79855e24a3634d05cc4f8a07fd3edc7b1af
 EBUILD totem-2.26.3-r1.ebuild 4526 RMD160 adc07f7fb932fdb1c6e1d9c46ad145c2004c8fe0 SHA1 b9b3bda2050aa01d4a8abfcfc4b95f6c9ca467c6 SHA256 c52ab14961cf2a49d3cae179f539cf176c4038534ceab4ee0c329e438cde64c1
 EBUILD totem-2.26.5-r1.ebuild 4659 RMD160 87790d120a5f81a24a34c8e6f80cc4f2d6e6a380 SHA1 0dca91ebc9ad6468226becfe761714ead196f3b4 SHA256 5d8ac56ae2f28bdce99d265eb811f0ff8ffa203d48ade009ece961552775b4a0
 EBUILD totem-2.28.5-r3.ebuild 4856 RMD160 2908f0ee033f190db6668b9b2ce433090b4adf98 SHA1 2a27a4b6c440afd92637c3b5566bb4ae9ab869cd SHA256 84f1ac6a9d42f8cf1caa8598ce0a71fdf1fa6f004ba1285f747e6cf6947b6c50
 EBUILD totem-2.28.6.ebuild 4874 RMD160 2301c05a4540d02339480a5a33cab0a0e267f795 SHA1 229897430c405f86dde04639ec4f11fa903864a3 SHA256 507b98f41a3c48e41703f5a967b0cad1fe38afb6cee50c53112f1a38e7630465
-MISC ChangeLog 41389 RMD160 60acb527346d0ec6a76c9a6e1d0cf213fe6b2566 SHA1 0ee8b734fb028256d42286c749f2a2a5a2322a9b SHA256 9312d6672398328a1a3c6e5e73aa5617945fc623c21e7d700a7d62468b080cf6
+EBUILD totem-2.30.0-r1.ebuild 5135 RMD160 560832970507db9c126f1a8dfb2e309bb4075a5b SHA1 cc552687629d4180bae34cb9d56255355b1a4f7c SHA256 d9c1a948802ef26d08d3f3758982c0379817fd9a4a1d8cba635fd98bc4ccfa31
+MISC ChangeLog 41710 RMD160 e2e13bd24f4f513579c8fffe42da5fab2888c0fb SHA1 ff8fd5fb8b7ad1adaee1b0e5f4c7ce1ed99142cf SHA256 16e8f097a9745221f6096117a0b255abf539fddeaac7576ca2a338e52b078384
 MISC metadata.xml 1476 RMD160 fbee6439fe2b0f2af87ab4c727213c7c24a768a5 SHA1 941eb1253660067ddd9d5bd3d2282f131d652a48 SHA256 46516740003dded53eb5a259a4068cb7e50044f2727c42a5a9f22bc0f6f6b1f1
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.15 (GNU/Linux)
 
-iEYEARECAAYFAkwSKrkACgkQCaWpQKGI+9RbKQCfVmXWT5UIcsy9f8F+7Hg7nHQ0
-PiMAniG4/fOptdudEkO2ngrgEM/H7mn+
-=/JzT
+iEYEARECAAYFAkwVQW0ACgkQCaWpQKGI+9QrogCeIsT2iRmTgoY2SdRPxKoET35/
+YrcAnjyhv6CwI0uRQNjJOf0ANaGO3ePI
+=HkK0
 -----END PGP SIGNATURE-----
diff --git a/media-video/totem/files/totem-2.30.1-fix-constant-buffering.patch b/media-video/totem/files/totem-2.30.1-fix-constant-buffering.patch
new file mode 100644 (file)
index 0000000..c4f9d6d
--- /dev/null
@@ -0,0 +1,83 @@
+From 261b53120fea3ba2e1959ce56533e7a4d207ae45 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 06 May 2010 09:43:34 +0000
+Subject: Fix constant buffering when playing live streams
+
+When playing Ogg Theora live streams, we should wait until the
+buffer reaches 100% before we start the actual playback.
+Otherwise the buffer will be consumed as it is downloaded, and
+we'll be constantly buffering, which is problematic visually,
+and could cause hiccups during playback.
+
+Fixes constant buffering with the streams at:
+http://dir.xiph.org/by_format/Ogg_Theora
+
+https://bugzilla.gnome.org/show_bug.cgi?id=617791
+---
+diff --git a/src/backend/bacon-video-widget-gst-0.10.c b/src/backend/bacon-video-widget-gst-0.10.c
+index 96b841e..ebd6e8f 100644
+--- a/src/backend/bacon-video-widget-gst-0.10.c
++++ b/src/backend/bacon-video-widget-gst-0.10.c
+@@ -1956,7 +1956,7 @@ text_tags_changed_cb (GstElement *playbin2, gint stream_id, gpointer user_data)
+ }
+ 
+ static gboolean
+-bvw_buffering_done (BaconVideoWidget *bvw)
++bvw_download_buffering_done (BaconVideoWidget *bvw)
+ {
+   /* When we set buffering left to 0, that means it's ready to play */
+   if (bvw->priv->buffering_left == 0) {
+@@ -2021,20 +2021,17 @@ bvw_handle_buffering_message (GstMessage * message, BaconVideoWidget *bvw)
+     /* if the desired state is playing, go back */
+     if (bvw->priv->target_state == GST_STATE_PLAYING) {
+       GST_DEBUG ("Buffering done, setting pipeline back to PLAYING");
+-      gst_element_set_state (bvw->priv->play, GST_STATE_PLAYING);
++      bacon_video_widget_play (bvw, NULL);
+     } else {
+       GST_DEBUG ("Buffering done, keeping pipeline PAUSED");
+     }
+-  } else if (bvw->priv->buffering == FALSE &&
+-           bvw->priv->target_state == GST_STATE_PLAYING) {
++  } else if (bvw->priv->target_state == GST_STATE_PLAYING) {
+     GstState cur_state;
+ 
+     gst_element_get_state (bvw->priv->play, &cur_state, NULL, 0);
+-    if (cur_state == GST_STATE_PLAYING) {
++    if (cur_state != GST_STATE_PAUSED) {
+       GST_DEBUG ("Buffering ... temporarily pausing playback");
+       gst_element_set_state (bvw->priv->play, GST_STATE_PAUSED);
+-    } else {
+-      GST_DEBUG ("Buffering ... prerolling, not doing anything");
+     }
+     bvw->priv->buffering = TRUE;
+   } else {
+@@ -2503,7 +2500,7 @@ bvw_query_buffering_timeout (BaconVideoWidget *bvw)
+       bvw->priv->buffering_left = 0;
+ 
+     /* Start playing when we've downloaded enough */
+-    if (bvw_buffering_done (bvw) != FALSE &&
++    if (bvw_download_buffering_done (bvw) != FALSE &&
+       bvw->priv->target_state == GST_STATE_PLAYING) {
+       GST_DEBUG ("Starting playback because the download buffer is filled enough");
+       bacon_video_widget_play (bvw, NULL);
+@@ -3848,11 +3845,17 @@ bacon_video_widget_play (BaconVideoWidget * bvw, GError ** error)
+ 
+   /* Lie when trying to play a file whilst we're download buffering */
+   if (bvw->priv->download_buffering != FALSE &&
+-      bvw_buffering_done (bvw) == FALSE) {
++      bvw_download_buffering_done (bvw) == FALSE) {
+     GST_DEBUG ("download buffering in progress, not playing");
+     return TRUE;
+   }
+ 
++  /* Or when we're buffering */
++  if (bvw->priv->buffering != FALSE) {
++    GST_DEBUG ("buffering in progress, not playing");
++    return TRUE;
++  }
++
+   /* just lie and do nothing in this case */
+   if (bvw->priv->plugin_install_in_progress && cur_state != GST_STATE_PAUSED) {
+     GST_DEBUG ("plugin install in progress and nothing to play, not playing");
+--
+cgit v0.8.3.1
diff --git a/media-video/totem/files/totem-2.30.1-fix-gmp-plugin.patch b/media-video/totem/files/totem-2.30.1-fix-gmp-plugin.patch
new file mode 100644 (file)
index 0000000..df13ef1
--- /dev/null
@@ -0,0 +1,87 @@
+From d3b494595f7be012c400a4426bc89dcca1528f66 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 05 May 2010 16:50:52 +0000
+Subject: Fix URL parameter usage in GMP plugin
+
+The URL parameter is never the baseURI, it's the same as the SRC
+parameter, so some websites use both.
+
+Add support for the actual "baseURL" parameter instead.
+
+Fixes playback at:
+http://www.ta3.com/sk/relacie/23_hlavne-spravy/9167_hlavne-spravy-z-27-aprila
+
+https://bugzilla.gnome.org/show_bug.cgi?id=617639
+---
+diff --git a/browser-plugin/totemPlugin.cpp b/browser-plugin/totemPlugin.cpp
+index a30ffcc..25cf7ff 100644
+--- a/browser-plugin/totemPlugin.cpp
++++ b/browser-plugin/totemPlugin.cpp
+@@ -1042,7 +1042,6 @@ totemPlugin::RequestStream (bool aForceViewer)
+       /* Prefer filename over src */
+       if (mURLURI) {
+               requestURI = mURLURI;
+-              baseURI = mSrcURI; /* FIXME: that correct? */
+       }
+ #endif /* TOTEM_GMP_PLUGIN */
+ 
+@@ -1655,7 +1654,23 @@ totemPlugin::SetURL (const char* aURL)
+ 
+         mURLURI = g_strdup (aURL);
+ 
+-      /* FIXME: what is the correct base for the URL param? mSrcURI or mBaseURI? */
++      /* FIXME: security checks? */
++        /* FIXMEchpe: resolve the URI here? */
++}
++
++void
++totemPlugin::SetBaseURL (const char *aBaseURL)
++{
++        g_free (mBaseURI);
++
++      /* Don't allow empty URL */
++        if (!aBaseURL || !aBaseURL[0]) {
++                mBaseURI = NULL;
++              return;
++        }
++
++        mBaseURI = g_strdup (aBaseURL);
++
+       /* FIXME: security checks? */
+         /* FIXMEchpe: resolve the URI here? */
+ }
+@@ -2006,6 +2021,12 @@ totemPlugin::Init (NPMIMEType mimetype,
+         if (filename) {
+                 SetURL (filename);
+         }
++
++        /* http://msdn.microsoft.com/en-us/library/dd564090(v=VS.85).aspx */
++        const char *base = (const char *) g_hash_table_lookup (args, "baseurl");
++        if (base)
++              SetBaseURL (base);
++
+ #endif /* TOTEM_GMP_PLUGIN */
+ 
+ #ifdef TOTEM_NARROWSPACE_PLUGIN
+@@ -2141,6 +2162,7 @@ totemPlugin::Init (NPMIMEType mimetype,
+ 
+       /* Dump some disagnostics */
+       D ("mSrcURI: %s", mSrcURI ? mSrcURI : "");
++      D ("mBaseURI: %s", mBaseURI ? mBaseURI : "");
+       D ("mCache: %d", mCache);
+       D ("mControllerHidden: %d", mControllerHidden);
+       D ("mShowStatusbar: %d", mShowStatusbar);
+diff --git a/browser-plugin/totemPlugin.h b/browser-plugin/totemPlugin.h
+index 1cd33d1..d42b9e1 100644
+--- a/browser-plugin/totemPlugin.h
++++ b/browser-plugin/totemPlugin.h
+@@ -284,6 +284,7 @@ class totemPlugin {
+ #ifdef TOTEM_GMP_PLUGIN
+   public:
+     void SetURL (const char* aURL);
++    void SetBaseURL (const char* aBaseURL);
+     const char* URL() const { return mURLURI; }
+ 
+   private:
+--
+cgit v0.8.3.1
diff --git a/media-video/totem/files/totem-2.30.1-fix-pygtk-include.patch b/media-video/totem/files/totem-2.30.1-fix-pygtk-include.patch
new file mode 100644 (file)
index 0000000..8980dad
--- /dev/null
@@ -0,0 +1,41 @@
+From aeeb165117a80080b044d54d5dc8b64df3128c26 Mon Sep 17 00:00:00 2001
+From: Jonathan Matthew <jonathan@kaolin.wh9.net>
+Date: Fri, 07 May 2010 12:23:17 +0000
+Subject: Fix version requirements for PyGTK
+
+pygtk.require() actually needs the major GTK+ version, and
+doesn't use the minor version in the require.
+
+Also make sure to check for the return value to avoid surprises.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=617821
+---
+diff --git a/src/plugins/totem-python-module.c b/src/plugins/totem-python-module.c
+index 5db787d..7eee97c 100644
+--- a/src/plugins/totem-python-module.c
++++ b/src/plugins/totem-python-module.c
+@@ -151,7 +151,7 @@ totem_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, check your installation");
+@@ -161,7 +161,12 @@ totem_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 ("Could not get required pygtk version, check your installation");
++              PyErr_Print();
++              return;
++      }
+ 
+       /* import gobject */
+       init_pygobject ();
+--
+cgit v0.8.3.1
diff --git a/media-video/totem/files/totem-2.30.1-fix-qt-eos.patch b/media-video/totem/files/totem-2.30.1-fix-qt-eos.patch
new file mode 100644 (file)
index 0000000..36147aa
--- /dev/null
@@ -0,0 +1,30 @@
+From f6fa6e869330bb2e64b67f966f6873412c3ca081 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Fri, 07 May 2010 09:10:55 +0000
+Subject: Fix position when QT gets to EOS
+
+When QuickTime reaches the end of a stream, the expected behaviour
+is for the position to stay at the end of the file, rather than
+back at 0.
+---
+diff --git a/browser-plugin/totemPlugin.cpp b/browser-plugin/totemPlugin.cpp
+index 25cf7ff..5382bb2 100644
+--- a/browser-plugin/totemPlugin.cpp
++++ b/browser-plugin/totemPlugin.cpp
+@@ -1276,9 +1276,12 @@ totemPlugin::TickCallback (DBusGProxy *proxy,
+                       scriptable->mPluginState = totemNarrowSpacePlayer::eState_Playable;
+                       break;
+               case TOTEM_STATE_STOPPED:
+-                      if (scriptable->mPluginState == totemNarrowSpacePlayer::eState_Playable)
++                      if (scriptable->mPluginState == totemNarrowSpacePlayer::eState_Playable) {
+                               scriptable->mPluginState = totemNarrowSpacePlayer::eState_Complete;
+-                      else
++                              /* The QuickTime plugin expects the duration to be the
++                               * length of the file on EOS */
++                              plugin->mTime = plugin->mDuration;
++                      } else
+                               scriptable->mPluginState = totemNarrowSpacePlayer::eState_Waiting;
+                       break;
+               default:
+--
+cgit v0.8.3.1
diff --git a/media-video/totem/totem-2.30.0-r1.ebuild b/media-video/totem/totem-2.30.0-r1.ebuild
new file mode 100644 (file)
index 0000000..8e677aa
--- /dev/null
@@ -0,0 +1,181 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/totem/totem-2.30.0-r1.ebuild,v 1.1 2010/06/13 20:36:55 pacho Exp $
+
+EAPI="2"
+
+inherit autotools eutils gnome2 multilib python
+
+DESCRIPTION="Media player for GNOME"
+HOMEPAGE="http://gnome.org/projects/totem/"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+# FIXME: Enable for now python USE flag per bug #316409
+# this change should only be noticed by people not following current
+# current linux profiles default
+IUSE="bluetooth debug doc galago iplayer lirc nautilus nsplugin +python tracker +youtube" #zeroconf
+
+# TODO:
+# Cone (VLC) plugin needs someone with the right setup (remi ?)
+# check gmyth requirement ? -> waiting for updates in tree
+# coherence plugin not enabled until we have deps in tree
+# vala ( dev-lang/vala ) requires 0.7.5
+RDEPEND=">=dev-libs/glib-2.22
+       >=x11-libs/gtk+-2.19.5
+       >=gnome-base/gconf-2.0
+       >=dev-libs/totem-pl-parser-2.29.1
+       >=x11-themes/gnome-icon-theme-2.16
+       x11-libs/cairo
+       app-text/iso-codes
+       >=dev-libs/libxml2-2.6
+       >=dev-libs/dbus-glib-0.71
+       >=media-libs/gstreamer-0.10.26
+       >=media-libs/gst-plugins-good-0.10
+       >=media-libs/gst-plugins-base-0.10.26
+       >=media-plugins/gst-plugins-gconf-0.10
+
+       >=media-plugins/gst-plugins-taglib-0.10
+       >=media-plugins/gst-plugins-gio-0.10
+       >=media-plugins/gst-plugins-pango-0.10
+       >=media-plugins/gst-plugins-x-0.10
+       >=media-plugins/gst-plugins-meta-0.10-r2
+
+       dev-libs/libunique
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXtst
+       >=x11-libs/libXrandr-1.1.1
+       >=x11-libs/libXxf86vm-1.0.1
+
+       bluetooth? ( || (
+               net-wireless/bluez
+               net-wireless/bluez-libs ) )
+       galago? ( >=dev-libs/libgalago-0.5.2 )
+       iplayer? (
+               dev-python/pygobject
+               dev-python/pygtk
+               dev-python/httplib2
+               dev-python/feedparser
+               dev-python/beautifulsoup )
+       lirc? ( app-misc/lirc )
+       nautilus? ( >=gnome-base/nautilus-2.10 )
+       python? (
+               dev-lang/python[threads]
+               >=dev-python/pygtk-2.12
+               dev-python/pyxdg
+               dev-python/gst-python
+               dev-python/dbus-python
+               dev-python/gconf-python )
+       tracker? ( >=app-misc/tracker-0.7.1 )
+       youtube? (
+               >=dev-libs/libgdata-0.4.0
+               media-plugins/gst-plugins-soup )"
+# FIXME: freezes totem
+#      zeroconf? ( >=net-libs/libepc-0.3 )
+DEPEND="${RDEPEND}
+       x11-proto/xproto
+       x11-proto/xextproto
+       x11-proto/xf86vidmodeproto
+       app-text/scrollkeeper
+       gnome-base/gnome-common
+       app-text/gnome-doc-utils
+       >=dev-util/intltool-0.40
+       >=dev-util/pkgconfig-0.20
+       dev-util/gtk-doc-am
+       doc? ( >=dev-util/gtk-doc-1.11 )
+       app-text/docbook-xml-dtd:4.5"
+# docbook-xml-dtd is needed for user doc
+
+DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+pkg_setup() {
+       G2CONF="${G2CONF}
+               --disable-scrollkeeper
+               --disable-schemas-install
+               --disable-static
+               --disable-vala
+               --with-dbus
+               --with-smclient
+               --enable-easy-codec-installation
+               $(use_enable nsplugin browser-plugins)"
+
+       # Plugin configuration
+       G2CONF="${G2CONF}
+               BROWSER_PLUGIN_DIR=/usr/$(get_libdir)/nsbrowser/plugins
+               PLUGINDIR=/usr/$(get_libdir)/totem/plugins"
+
+       local plugins="properties,thumbnail,screensaver,ontop,gromit,media-player-keys,skipto,brasero-disc-recorder,screenshot"
+       use bluetooth && plugins="${plugins},bemused"
+       use galago && plugins="${plugins},galago"
+       use iplayer && plugins="${plugins},iplayer"
+       use lirc && plugins="${plugins},lirc"
+       use python && plugins="${plugins},opensubtitles,jamendo,pythonconsole,dbus-service"
+       use tracker && plugins="${plugins},tracker"
+       use youtube && plugins="${plugins},youtube"
+       #use zeroconf && plugins="${plugins},publish"
+
+       G2CONF="${G2CONF} --with-plugins=${plugins}"
+
+       G2CONF="${G2CONF}
+               $(use_enable debug)
+               $(use_enable nautilus)
+               $(use_enable python)"
+}
+
+src_prepare() {
+       gnome2_src_prepare
+
+       # Fix broken smclient option passing
+       epatch "${FILESDIR}/${PN}-2.26.1-smclient-target-detection.patch"
+
+#      epatch "${FILESDIR}/${PN}-2.30.1-fix-constant-buffering.patch"
+       epatch "${FILESDIR}/${PN}-2.30.1-fix-gmp-plugin.patch"
+       epatch "${FILESDIR}/${PN}-2.30.1-fix-pygtk-include.patch"
+       epatch "${FILESDIR}/${PN}-2.30.1-fix-qt-eos.patch"
+
+       intltoolize --force --copy --automake || die "intltoolize failed"
+       eautoreconf
+
+       # disable pyc compiling
+       mv py-compile py-compile.orig
+       ln -s $(type -P true) py-compile
+}
+
+src_configure() {
+       # FIXME: why does it need write access here, probably need to set up a fake
+       # home in /var/tmp like other pkgs do
+
+       addpredict "$(unset HOME; echo ~)/.gconf"
+       addpredict "$(unset HOME; echo ~)/.gconfd"
+       addpredict "$(unset HOME; echo ~)/.gnome2"
+
+       gnome2_src_configure
+}
+
+src_install() {
+       gnome2_src_install
+       # Installed for plugins, but they're dlopen()-ed
+       # firefox, totem as well as nautilus
+       find "${D}" -name "*.la" -delete || die "remove of la files failed"
+}
+
+pkg_postinst() {
+       gnome2_pkg_postinst
+       if use python; then
+               python_need_rebuild
+               python_mod_optimize /usr/$(get_libdir)/totem/plugins
+       fi
+
+       ewarn
+       ewarn "If totem doesn't play some video 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)/totem/plugins
+}