commit:     57ced08826db7f27e496d8353582bbb2f89ae058
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 15 14:36:22 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Tue Jan 15 14:46:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57ced088

media-video/totem: bump to 3.30.0

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 media-video/totem/Manifest                         |   1 +
 .../totem/files/3.26-gst-inspect-sandbox.patch     |  42 +++++
 .../totem/files/3.30.0-control-plugins.patch       | 199 +++++++++++++++++++++
 media-video/totem/files/3.30.0-vala-errormsg.patch |  31 ++++
 media-video/totem/metadata.xml                     |   3 +-
 media-video/totem/totem-3.30.0.ebuild              | 135 ++++++++++++++
 6 files changed, 410 insertions(+), 1 deletion(-)

diff --git a/media-video/totem/Manifest b/media-video/totem/Manifest
index 92de57ea8c0..ada4f1ff341 100644
--- a/media-video/totem/Manifest
+++ b/media-video/totem/Manifest
@@ -1 +1,2 @@
 DIST totem-3.24.0.tar.xz 1987260 BLAKE2B 
81cb8c359b2225148a18f7a5c6ae9990cbe2e2f3b9a6a31012c9c8c0920c0cea6bad0a5d9407a79530fadf00fb845fe9e6aa8dbc84d0f8d6e84fbc144d86bc9e
 SHA512 
488db91e09b7f5947e81cb5474444c753367542820777faab561582707b012e664f232d3810d543dfbe0823adf3d8302c2fe6cc387f4225a362d15a6df8b4342
+DIST totem-3.30.0.tar.xz 3275852 BLAKE2B 
9a5f97229a8aa6f7665c6d3e79dff48cfcce3caeab69510361ef3e9e1a107f7a56c66a5ae89ba3ae0a77d4b0ae8a16ac1f61e77278c82bf768e50009420110d0
 SHA512 
9d2e0a9e89358eea03404afd9353d18fa23afee7a34612912411ef10d4fb0b26ee02db002e6f8e05f68a333202d419f1e1a35188da23f87189e3093dac655742

diff --git a/media-video/totem/files/3.26-gst-inspect-sandbox.patch 
b/media-video/totem/files/3.26-gst-inspect-sandbox.patch
new file mode 100644
index 00000000000..016368a69b9
--- /dev/null
+++ b/media-video/totem/files/3.26-gst-inspect-sandbox.patch
@@ -0,0 +1,42 @@
+From 742b64b7a74eabd67344ef1cc260427dc402588f Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <e...@gentoo.org>
+Date: Thu, 7 Jun 2018 23:47:48 +0200
+Subject: [PATCH 5/5] Make gst-inspect calls optional at build-time
+
+Crashes on Gentoo due to plugins trying to access dri nodes which are sandboxed
+---
+ meson_options.txt       | 1 +
+ src/backend/meson.build | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 6e056952..631b8cca 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -32,3 +32,4 @@ option('enable-nautilus', type: 'combo', choices: ['yes', 
'no', 'auto'], value:
+ 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')
+ option('enable-introspection', type: 'combo', choices: ['yes', 'no', 'auto'], 
value: 'auto', description: 'Enable GObject Introspection (depends on GObject)')
++option('gst-inspect', type: 'boolean', value: true, description: 'build-time 
test of available gstreamer plugins')
+diff --git a/src/backend/meson.build b/src/backend/meson.build
+index 28c8e123..55037a6a 100644
+--- a/src/backend/meson.build
++++ b/src/backend/meson.build
+@@ -1,5 +1,6 @@
+ backend_inc = include_directories('.')
+ 
++if get_option('gst-inspect')
+ gst_inspect = find_program(
+   'gst-inspect-1.0',
+   join_paths(gst_dep.get_pkgconfig_variable('toolsdir'), 'gst-inspect-1.0'),
+@@ -31,6 +32,7 @@ foreach plugin: gst_good_plugins
+   assert(r.returncode() == 0,
+          'Cannot find required GStreamer-1.0 plugin "' + plugin + '". It 
should be part of gst-plugins-good. Please install it.')
+ endforeach
++endif
+ 
+ sources = files(
+   'bacon-time-label.c',
+-- 
+2.17.0
+

diff --git a/media-video/totem/files/3.30.0-control-plugins.patch 
b/media-video/totem/files/3.30.0-control-plugins.patch
new file mode 100644
index 00000000000..4d57ad0971c
--- /dev/null
+++ b/media-video/totem/files/3.30.0-control-plugins.patch
@@ -0,0 +1,199 @@
+From 5bdfac8a4a34e3edec05439fa3cd5544e0515e24 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <r...@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
+

diff --git a/media-video/totem/files/3.30.0-vala-errormsg.patch 
b/media-video/totem/files/3.30.0-vala-errormsg.patch
new file mode 100644
index 00000000000..37816784ded
--- /dev/null
+++ b/media-video/totem/files/3.30.0-vala-errormsg.patch
@@ -0,0 +1,31 @@
+From 4fba51c82d855426ad73f8215d0ed7bfdfa4fae2 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <l...@gentoo.org>
+Date: Sat, 15 Dec 2018 20:50:34 +0200
+Subject: [PATCH] build: Fix error message with -Denable-vala without vala
+ found
+
+Fixes
+ERROR:  Unknown variable "vala_options"
+to
+ERROR:  Problem encountered: you need vala >= 0.14.1 installed to use vala 
plugins
+by correcting a typo.
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index c0679d25..5647376f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -230,7 +230,7 @@ if vala_option != 'no'
+   endif
+ 
+   if not have_vala
+-    if vala_options == 'yes' or introspection_option == 'yes'
++    if vala_option == 'yes' or introspection_option == 'yes'
+       error(str)
+     endif
+     message(str)
+-- 
+2.17.0
+

diff --git a/media-video/totem/metadata.xml b/media-video/totem/metadata.xml
index 8a1eb150fb9..1daea3f76b2 100644
--- a/media-video/totem/metadata.xml
+++ b/media-video/totem/metadata.xml
@@ -20,6 +20,7 @@ Totem is movie player for the GNOME desktop. It features a 
playlist, fullscreen
                <flag name="lirc">Enable support for controlling Totem with a 
remote control
                        using <pkg>app-misc/lirc</pkg></flag>
                <flag name="nautilus">Enable the nautilus extension</flag>
-               <flag name="python">Build support for 
<pkg>dev-lang/python</pkg> plugins</flag>
+               <flag name="python">Build <pkg>dev-lang/python</pkg> using 
plugins (dbusservice for notifications and MPRIS control, interactive python 
console and opensubtitles lookup)</flag>
+               <flag name="vala">Build the rotation plugin, which allows 
videos to be rotated if they are in the wrong orientation</flag>
        </use>
 </pkgmetadata>

diff --git a/media-video/totem/totem-3.30.0.ebuild 
b/media-video/totem/totem-3.30.0.ebuild
new file mode 100644
index 00000000000..9952813ff43
--- /dev/null
+++ b/media-video/totem/totem-3.30.0.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{3_4,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"
+# see bug #359379
+REQUIRED_USE="
+       python? ( introspection ${PYTHON_REQUIRED_USE} )
+       vala? ( introspection )
+"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+
+# 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
+       >=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
+}

Reply via email to