+++ /dev/null
-From 5bdfac8a4a34e3edec05439fa3cd5544e0515e24 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
-Date: Sun, 10 Jun 2018 10:09:16 +0200
-Subject: [PATCH] Allow full control over which plugins are built
-
----
- meson.build | 2 +-
- meson_options.txt | 28 ++++++++++++++++++++-
- src/plugins/meson.build | 56 ++++++++++++++++++++++++++++++-----------
- 3 files changed, 69 insertions(+), 17 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 9c4797dd..aa91ae10 100644
---- a/meson.build
-+++ b/meson.build
-@@ -3,7 +3,7 @@ project(
- version: '3.30.0',
- license: 'GPL2+ with exception',
- default_options: 'buildtype=debugoptimized',
-- meson_version: '>= 0.43.0'
-+ meson_version: '>= 0.44.0'
- )
-
- totem_version = meson.project_version()
-diff --git a/meson_options.txt b/meson_options.txt
-index 3b6ff67b..6e056952 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,7 +1,33 @@
- option('enable-easy-codec-installation', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Whether to enable easy codec installation support for GStreamer')
- option('enable-python', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Enable python support')
- option('enable-vala', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'whether Vala plugin support is requested')
--option('with-plugins', type: 'combo', choices: ['all', 'none', 'auto'], value: 'auto', description: 'Which Totem plugins to compile (default: auto; "all", "none" and "auto" are valid)')
-+option('with-plugins', type: 'array', choices: [
-+ 'all',
-+ 'auto',
-+ 'apple-trailers',
-+ 'autoload-subtitles',
-+ 'brasero-disc-recorder',
-+ 'dbusservice',
-+ 'gromit',
-+ 'im-status',
-+ 'lirc',
-+ 'media-player-keys',
-+ 'ontop',
-+ 'opensubtitles',
-+ 'properties',
-+ 'pythonconsole',
-+ 'recent',
-+ 'rotation',
-+ 'sample-vala',
-+ 'samplepython',
-+ 'save-file',
-+ 'screensaver',
-+ 'screenshot',
-+ 'skipto',
-+ 'variable-rate',
-+ 'vimeo',
-+ 'zeitgeist-dp'
-+], value: ['auto'], description: 'Which Totem plugins to compile (default: auto; "all", "none" and "auto" are valid)')
- option('enable-nautilus', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'compile the nautilus plugin')
- option('with-nautilusdir', type: 'string', value: '', description: 'Installation path for Nautilus extension')
- option('enable-gtk-doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
-diff --git a/src/plugins/meson.build b/src/plugins/meson.build
-index 95af6485..289ba811 100644
---- a/src/plugins/meson.build
-+++ b/src/plugins/meson.build
-@@ -41,8 +41,8 @@ allowed_plugins = [
- plugins = []
-
- plugins_option = get_option('with-plugins')
--if plugins_option != 'none'
-- plugins += [
-+if plugins_option.length() > 0
-+ foreach plugin: [
- 'apple-trailers',
- 'autoload-subtitles',
- 'im-status',
-@@ -56,26 +56,38 @@ if plugins_option != 'none'
- 'variable-rate',
- 'vimeo'
- ]
-+ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains(plugin)
-+ plugins += plugin
-+ endif
-+ endforeach
-
-- plugin_error = (plugins_option == 'all')
-+ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('gromit')
-+ gdk_targets = gtk_dep.get_pkgconfig_variable('targets')
-+ else
-+ gdk_targets = []
-+ endif
-
-- gdk_targets = gtk_dep.get_pkgconfig_variable('targets')
- if gdk_targets.contains('x11')
- plugins += 'gromit'
- else
- str = 'the gromit plugin is not supported on non-X11 targets'
-- if plugin_error
-+ if plugins_option.contains('all') or plugins_option.contains('gromit')
- error(str)
- endif
- message(str)
- endif
-
-- lirc_dep = dependency('lirc', required: false)
-+ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('lirc')
-+ lirc_dep = dependency('lirc', required: false)
-+ else
-+ lirc_dep = disabler()
-+ endif
-+
- if lirc_dep.found() and cc.has_function('lirc_init', dependencies: lirc_dep) and cc.has_header('lirc/lirc_client.h')
- plugins += 'lirc'
- else
- str = 'you need lirc_client installed for the lirc plugin'
-- if plugin_error
-+ if plugins_option.contains('all') or plugins_option.contains('lirc')
- error(str)
- endif
- message(str)
-@@ -84,33 +96,38 @@ if plugins_option != 'none'
- libxml_req_version = '>= 2.6.0'
- libxml_dep = dependency('libxml-2.0', version: libxml_req_version, required: false)
- gtk_x11_dep = dependency('gtk+-x11-3.0', version: gtk_req_version, required: false)
-- if libxml_dep.found() and gtk_x11_dep.found()
-+
-+ if libxml_dep.found() and gtk_x11_dep.found() and (plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('brasero-disc-recorder'))
- plugins += 'brasero-disc-recorder'
- else
- str = 'you need libxml-2.0 ' + libxml_req_version + ' and gtk+-x11-3.0 to use the brasero-disc-recorder plugin'
-- if plugin_error
-+ if plugins_option.contains('all') or plugins_option.contains('brasero-disc-recorder')
- error(str)
- endif
- message(str)
- endif
-
-- if have_nautilus
-+ if have_nautilus and (plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('save-file'))
- plugins += 'save-file'
- else
- str = 'you need libnautilus-extension to use the save-file plugin'
-- if plugin_error
-+ if plugins_option.contains('all') or plugins_option.contains('save-file')
- error(str)
- endif
- message(str)
- endif
-
- if have_python
-- plugins += [
-+ foreach plugin: [
- 'dbusservice',
- 'opensubtitles',
- 'pythonconsole',
- 'samplepython'
- ]
-+ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains(plugin)
-+ plugins += plugin
-+ endif
-+ endforeach
- endif
-
- if have_vala
-@@ -129,17 +146,26 @@ if plugins_option != 'none'
- '--pkg=@0@-@1@'.format(totem_gir_ns, totem_api_version)
- ]
-
-- plugins += [
-+ foreach plugin: [
- 'rotation',
- 'sample-vala'
- ]
-+ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains(plugin)
-+ plugins += plugin
-+ endif
-+ endforeach
-+
-+ if plugins_option.contains('all') or plugins_option.contains('auto') or plugins_option.contains('zeitgeist-dp')
-+ zeitgeist_dep = dependency('zeitgeist-2.0', version: '>= 0.9.12', required: false)
-+ else
-+ zeitgeist_dep = disabler()
-+ endif
-
-- zeitgeist_dep = dependency('zeitgeist-2.0', version: '>= 0.9.12', required: false)
- if zeitgeist_dep.found()
- plugins += 'zeitgeist-dp'
- else
- str = 'you need zeitgeist-2.0 >= 0.9.12 to use the zeitgeist-dp plugin'
-- if plugin_error
-+ if plugins_option.contains('all') or plugins_option.contains('zeitgeist-dp')
- error(str)
- endif
- message(str)
---
-2.17.1
-
+++ /dev/null
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{3_5,3_6} )
-PYTHON_REQ_USE="threads"
-
-inherit gnome.org gnome2-utils meson vala xdg python-single-r1
-
-DESCRIPTION="Media player for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Videos"
-
-LICENSE="GPL-2+ LGPL-2+"
-SLOT="0"
-IUSE="cdr gtk-doc +introspection lirc nautilus +python test vala"
-RESTRICT="!test? ( test )"
-# see bug #359379
-REQUIRED_USE="
- python? ( introspection ${PYTHON_REQUIRED_USE} )
- vala? ( introspection )
-"
-
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86"
-
-# FIXME:
-# Runtime dependency on gnome-session-2.91
-COMMON_DEPEND="
- >=dev-libs/glib-2.43.4:2
- >=x11-libs/gtk+-3.19.4:3[X,introspection?]
- >=media-libs/gstreamer-1.6.0:1.0
- >=media-libs/gst-plugins-base-1.6.0:1.0[X,pango]
- >=media-libs/gst-plugins-good-1.6.0:1.0
- >=media-libs/grilo-0.3.0:0.3[playlist]
- >=dev-libs/libpeas-1.1.0[gtk]
- >=dev-libs/totem-pl-parser-3.10.1:0=[introspection?]
- >=media-libs/clutter-1.17.3:1.0[gtk]
- >=media-libs/clutter-gst-2.99.2:3.0
- >=media-libs/clutter-gtk-1.8.1:1.0
- gnome-base/gnome-desktop:3=
- gnome-base/gsettings-desktop-schemas
- x11-libs/libX11
- >=x11-libs/cairo-1.14
- x11-libs/gdk-pixbuf:2
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-
- cdr? ( >=dev-libs/libxml2-2.6:2 )
- lirc? ( app-misc/lirc )
- nautilus? ( >=gnome-base/nautilus-2.91.3 )
- python? (
- ${PYTHON_DEPS}
- >=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}] )
-"
-RDEPEND="${COMMON_DEPEND}
- media-plugins/grilo-plugins:0.3
- media-plugins/gst-plugins-meta:1.0
- media-plugins/gst-plugins-taglib:1.0
- x11-themes/adwaita-icon-theme
- python? (
- >=dev-libs/libpeas-1.1.0[python,${PYTHON_USEDEP}]
- dev-python/dbus-python[${PYTHON_USEDEP}] )
-"
-DEPEND="${COMMON_DEPEND}
- dev-lang/perl
- app-text/docbook-xml-dtd:4.5
- gtk-doc? ( >=dev-util/gtk-doc-1.14 )
- dev-util/glib-utils
- dev-util/itstool
- >=dev-util/intltool-0.50.1
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- x11-base/xorg-proto
- vala? ( $(vala_depend) )
-"
-# perl for pod2man
-# docbook-xml-dtd is needed for user doc
-# Prevent dev-python/pylint dep, bug #482538
-
-PATCHES=(
- "${FILESDIR}"/${PV}-vala-errormsg.patch
- "${FILESDIR}"/${PV}-control-plugins.patch # Do not force all plugins
- "${FILESDIR}"/3.26-gst-inspect-sandbox.patch # Allow disabling calls to gst-inspect (sandbox issue)
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
-}
-
-src_configure() {
- # Disabled: sample-python, sample-vala, zeitgeist-dp
- # brasero-disc-recorder and gromit require gtk+[X], but totem itself does
- # for now still too, so no point in optionality based on that yet.
- local plugins="apple-trailers,autoload-subtitles"
- plugins+=",im-status,gromit,media-player-keys,ontop"
- plugins+=",properties,recent,screensaver,screenshot"
- plugins+=",skipto,variable-rate,vimeo"
- use cdr && plugins+=",brasero-disc-recorder"
- use lirc && plugins+=",lirc"
- use nautilus && plugins+=",save-file"
- use python && plugins+=",dbusservice,pythonconsole,opensubtitles"
- use vala && plugins+=",rotation"
-
- local emesonargs=(
- -Denable-easy-codec-installation=yes
- -Denable-python=$(usex python yes no)
- -Denable-vala=$(usex vala yes no)
- -Dwith-plugins=${plugins}
- -Denable-nautilus=$(usex nautilus yes no)
- $(meson_use gtk-doc enable-gtk-doc)
- -Denable-introspection=$(usex introspection yes no)
- -Dgst-inspect=false
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use python ; then
- python_optimize "${ED}"usr/$(get_libdir)/totem/plugins/
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_icon_cache_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_icon_cache_update
- gnome2_schemas_update
-}