blob: 0bfc68b3ce734ba6462ca2074778fef907c38e12 [file] [log] [blame]
# 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.26.3-r1.ebuild,v 1.8 2010/01/18 01:14:50 jer 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 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
IUSE="bluetooth debug doc galago lirc nautilus nsplugin python tracker"
# TODO:
# easy-publish-and-consume is not in tree (epc)
# 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
# youtube plugin depends on gst-plugins-soup
RDEPEND=">=dev-libs/glib-2.15
>=x11-libs/gtk+-2.13.0
>=gnome-base/gconf-2.0
>=dev-libs/totem-pl-parser-2.23.91
>=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.16
>=media-libs/gst-plugins-good-0.10
>=media-libs/gst-plugins-base-0.10.12
>=media-plugins/gst-plugins-gconf-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
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 )
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/gdata
dev-python/gst-python
dev-python/gconf-python
media-plugins/gst-plugins-soup )
tracker? ( >=app-misc/tracker-0.5.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 )"
DOCS="AUTHORS ChangeLog NEWS README TODO"
# FIXME: tests broken with USE="-doc" upstream bug #577774
RESTRICT="test"
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 lirc && plugins="${plugins},lirc"
use python && plugins="${plugins},youtube,opensubtitles,jamendo,pythonconsole"
use tracker && plugins="${plugins},tracker"
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"
# Fix playing youtube videos results in 404 in gst_soup_http_src_parse_status(),
# patch import from upstream bug #594320.
epatch "${FILESDIR}/${P}-youtube-plugin-404-error.patch"
# FIXME: tarball generated with broken gtk-doc, revisit me.
if use doc; then
sed "/^TARGET_DIR/i \GTKDOC_REBASE=/usr/bin/gtkdoc-rebase" \
-i gtk-doc.make || die "sed 1 failed"
else
sed "/^TARGET_DIR/i \GTKDOC_REBASE=$(type -P true)" \
-i gtk-doc.make || die "sed 2 failed"
fi
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
}
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
}