diff options
Diffstat (limited to 'media-video/totem')
-rw-r--r-- | media-video/totem/Manifest | 1 | ||||
-rw-r--r-- | media-video/totem/files/3.38.0-gst-inspect-sandbox.patch | 42 | ||||
-rw-r--r-- | media-video/totem/totem-3.38.0.ebuild | 119 |
3 files changed, 162 insertions, 0 deletions
diff --git a/media-video/totem/Manifest b/media-video/totem/Manifest index 5b4ecf3ff768..b2ee154b2b48 100644 --- a/media-video/totem/Manifest +++ b/media-video/totem/Manifest @@ -1 +1,2 @@ DIST totem-3.34.1.tar.xz 2157160 BLAKE2B 9ae9c8f6485c7377af07803c328e8ea3cc6fa80d8e30a7045bd2b50f7bc3d5a12582e5b60d901d22683f89e994c619c26ddb8b0890e343c873d4457fa177786d SHA512 9a3556f5cf522fca29926db185c2e5d25bdb80a25e14d0ba3062a7f15fc3ec40ae9f25752763bc444d4fd82ec2098efd732da662a1b1c5923ec19fde432606db +DIST totem-3.38.0.tar.xz 2235672 BLAKE2B 31a69bce69316e06b6ba1b1c98bfc5b87cae0b30e682bb1b32bbac713fb2ff262084e76c19690eb78495969a67c2be484bc45adcd1b432a3de7a33c3dc04109c SHA512 231aca873bb53f23f81a7981177761d0bf7768baa845309b0dc0821db58377d692cf7e8a65135090dac14e856aa3e1dc0c1f11c55a7b25d694822019bfa9eecf diff --git a/media-video/totem/files/3.38.0-gst-inspect-sandbox.patch b/media-video/totem/files/3.38.0-gst-inspect-sandbox.patch new file mode 100644 index 000000000000..ef3ea1140217 --- /dev/null +++ b/media-video/totem/files/3.38.0-gst-inspect-sandbox.patch @@ -0,0 +1,42 @@ +From abb91b315f407b7e180bc00eb96f1cd6bb0ab25d Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Thu, 7 Jun 2018 23:47:48 +0200 +Subject: [PATCH] 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 7070fd5d0..678b8f588 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -3,3 +3,4 @@ option('enable-python', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'a + 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('enable-gtk-doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') + option('profile', type: 'combo', choices: ['default', 'development'], value: 'default', description: 'Build profiles') ++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 fbf74258b..1e025a5b9 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.26.3 + diff --git a/media-video/totem/totem-3.38.0.ebuild b/media-video/totem/totem-3.38.0.ebuild new file mode 100644 index 000000000000..89b5506cb674 --- /dev/null +++ b/media-video/totem/totem-3.38.0.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_REQ_USE="threads(+)" + +inherit gnome.org gnome2-utils meson virtualx xdg python-single-r1 + +DESCRIPTION="Media player for GNOME" +HOMEPAGE="https://wiki.gnome.org/Apps/Videos" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="gtk-doc +python test" +# see bug #359379 +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86" + +DEPEND=" + >=dev-libs/glib-2.56.0:2 + >=x11-libs/gtk+-3.19.4:3[introspection] + >=media-libs/gstreamer-1.6.0:1.0 + >=media-libs/gst-plugins-base-1.6.0:1.0[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.26.5: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/cairo-1.14 + x11-libs/gdk-pixbuf:2 + >=dev-libs/gobject-introspection-1.54:= + + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-2.90.3:3[${PYTHON_MULTI_USEDEP}] + ') + ) +" +RDEPEND="${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? ( + x11-libs/pango[introspection] + >=dev-libs/libpeas-1.1.0[python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] + ') + ) +" +BDEPEND=" + dev-lang/perl + gtk-doc? ( >=dev-util/gtk-doc-1.14 + app-text/docbook-xml-dtd:4.5 ) + dev-util/glib-utils + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + x11-base/xorg-proto +" +# perl for pod2man +# Prevent dev-python/pylint dep, bug #482538 + +PATCHES=( + "${FILESDIR}"/${PV}-gst-inspect-sandbox.patch # Allow disabling calls to gst-inspect (sandbox issue) +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Drop pointless samplepython plugin from build + sed -e '/samplepython/d' -i src/plugins/meson.build || die + xdg_src_prepare +} + +src_configure() { + local emesonargs=( + -Denable-easy-codec-installation=yes + -Denable-python=$(usex python yes no) + -Dwith-plugins=all # in 3.34.1 only builtin and python plugins are left, and python is extra controlled by enable-python + $(meson_use gtk-doc enable-gtk-doc) + -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_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} + +src_test() { + virtx meson_src_test +} |