diff --git a/media-video/totem/Manifest b/media-video/totem/Manifest new file mode 100644 index 0000000..a7edde0 --- /dev/null +++ b/media-video/totem/Manifest @@ -0,0 +1 @@ +DIST totem-3.38.0.tar.xz 2235672 BLAKE2B 31a69bce69316e06b6ba1b1c98bfc5b87cae0b30e682bb1b32bbac713fb2ff262084e76c19690eb78495969a67c2be484bc45adcd1b432a3de7a33c3dc04109c SHA512 231aca873bb53f23f81a7981177761d0bf7768baa845309b0dc0821db58377d692cf7e8a65135090dac14e856aa3e1dc0c1f11c55a7b25d694822019bfa9eecf diff --git a/media-video/totem/files/3.34.1-gst-inspect-sandbox.patch b/media-video/totem/files/3.34.1-gst-inspect-sandbox.patch new file mode 100644 index 0000000..01ee15f --- /dev/null +++ b/media-video/totem/files/3.34.1-gst-inspect-sandbox.patch @@ -0,0 +1,42 @@ +From 2108ed8d025499fbf11dfe750ebc7617bdbb795a Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue +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 d6f8b4290..c8db92335 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -2,3 +2,4 @@ option('enable-easy-codec-installation', type: 'combo', choices: ['yes', 'no', ' + option('enable-python', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'Enable python support') + 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('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 7a63bab1b..5c4ebb996 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.20.1 + 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 0000000..afdbd33 --- /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,8,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.43.4: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.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/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 +}