| # 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 |
| } |