public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/pitivi/, media-video/pitivi/files/
Date: Tue, 28 Dec 2021 01:24:50 +0000 (UTC)	[thread overview]
Message-ID: <1640654679.9ada748e8e0dff302c0f528e44915349e8d8a851.sam@gentoo> (raw)

commit:     9ada748e8e0dff302c0f528e44915349e8d8a851
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 28 01:20:35 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 28 01:24:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ada748e

media-video/pitivi: allow building with newer GStreamer (1.18+)

- Package bundled/bundles parts of gst-transcoder. We now
  forcefully disable building of that copy and remove
  the bundled version/subproject as a safety measure.

  (Not that it should be needed now; it shouldn't
  try to use that version anymore, because...)

- ... patch the build system (upstream patch, long in a release)
  to allow gst 1.18+ / recognise the version of transcoder that
  gst 1.18 has (it's now in gst-plugins-bad).

This actually fixes the sandbox failure too in addition to the
collision with gst-plugins-bad because we're no longer building
a copy of gst-transcoder w/o needed workarounds.

(Wasn't able to reproduce the sandbox failure at first:
ended up installing all gst-* packages, then temporarily
restoring the bundled copy to hit it. leio did suggest
gst-plugins-v4l2 may be enough but I only realised I needed
the bundled copy of gst-transcoder to trigger the failure
after I'd installed everything and it's irrelevant now anyway.)

Closes: https://bugs.gentoo.org/804945
Closes: https://bugs.gentoo.org/830123
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pitivi/files/pitivi-0.999-gst-0.18.patch       |  39 +++++++
 media-video/pitivi/pitivi-0.999-r5.ebuild          | 121 +++++++++++++++++++++
 2 files changed, 160 insertions(+)

diff --git a/media-video/pitivi/files/pitivi-0.999-gst-0.18.patch b/media-video/pitivi/files/pitivi-0.999-gst-0.18.patch
new file mode 100644
index 000000000000..13d375f3a4e5
--- /dev/null
+++ b/media-video/pitivi/files/pitivi-0.999-gst-0.18.patch
@@ -0,0 +1,39 @@
+https://gitlab.gnome.org/GNOME/pitivi/-/commit/51ae6533ee26ffd47e453eb5f5ad8cd46f57d15e.patch (rebased)
+https://bugs.gentoo.org/804945
+
+--- a/meson.build
++++ b/meson.build
+@@ -22,7 +22,6 @@ if get_option('build-gst')
+         'gst-plugins-base:disable_gtkdoc=true',
+         'gstreamer:disable_gtkdoc=true',
+         ])
+-    subproject('gst-transcoder')
+ endif
+ 
+ gst_dep = dependency('gstreamer-1.0', version : '>= 1.14.2',
+@@ -30,9 +29,6 @@ gst_dep = dependency('gstreamer-1.0', version : '>= 1.14.2',
+ cairo_dep = dependency('cairo')
+ pycairo_dep = dependency('py3cairo')
+ 
+-gst_transcoder_dep = dependency('gst-transcoder-1.0', version : '>= 1.8.1',
+-    fallback : ['gst-transcoder', 'gst_transcoder_dep'])
+-
+ pkgdatadir = join_paths(get_option('datadir'), meson.project_name())
+ 
+ git = find_program('git', required : false)
+--- a/tests/__init__.py
++++ b/tests/__init__.py
+@@ -59,12 +59,7 @@ def setup():
+ 
+     # Make available the compiled C code.
+     sys.path.append(configure.BUILDDIR)
+-    subproject_paths = os.path.join(configure.BUILDDIR, "subprojects", "gst-transcoder")
+-
+-    _prepend_env_paths(LD_LIBRARY_PATH=subproject_paths,
+-                       GST_PLUGIN_PATH=subproject_paths,
+-                       GI_TYPELIB_PATH=subproject_paths,
+-                       GST_PRESET_PATH=[os.path.join(pitivi_dir, "data", "videopresets"),
++    _prepend_env_paths(GST_PRESET_PATH=[os.path.join(pitivi_dir, "data", "videopresets"),
+                                         os.path.join(pitivi_dir, "data", "audiopresets")],
+                        GST_ENCODING_TARGET_PATH=[os.path.join(pitivi_dir, "tests", "test-encoding-targets"),
+                                                  os.path.join(pitivi_dir, "data", "encoding-profiles")])

diff --git a/media-video/pitivi/pitivi-0.999-r5.ebuild b/media-video/pitivi/pitivi-0.999-r5.ebuild
new file mode 100644
index 000000000000..8e55460d1868
--- /dev/null
+++ b/media-video/pitivi/pitivi-0.999-r5.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{8..9} )
+PYTHON_REQ_USE="sqlite"
+
+inherit gnome.org meson python-single-r1 virtualx xdg
+
+DESCRIPTION="A non-linear video editor using the GStreamer multimedia framework"
+HOMEPAGE="http://www.pitivi.org"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="v4l test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# XXX: recommends gst-plugins-libav and frei0r-plugins
+
+# Do not forget to check pitivi/check.py for dependencies!!!
+# pycanberra, libav, libnotify and liwnck are optional
+GST_VER="1.14.2"
+
+COMMON_DEPEND="
+	${PYTHON_DEPS}
+	$(python_gen_cond_dep '
+		>=dev-python/pycairo-1.10[${PYTHON_USEDEP}]
+	')
+	>=x11-libs/cairo-1.10
+
+	>=media-libs/gstreamer-${GST_VER}:1.0[introspection]
+	>media-libs/gst-plugins-bad-1.18
+"
+RDEPEND="${COMMON_DEPEND}
+	>=dev-libs/glib-2.30.0:2
+
+	>=dev-libs/gobject-introspection-1.34:=
+	$(python_gen_cond_dep '
+		dev-python/dbus-python[${PYTHON_USEDEP}]
+		>=dev-python/gst-python-1.4:1.0[${PYTHON_USEDEP}]
+		dev-python/matplotlib[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		>=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+	')
+
+	gnome-base/librsvg:=
+	>=media-libs/gsound-1.0
+
+	>=media-libs/gstreamer-editing-services-${GST_VER}:1.0[introspection]
+	>=media-libs/gst-plugins-base-${GST_VER}:1.0[introspection,theora]
+	>=media-libs/gst-plugins-bad-${GST_VER}:1.0
+	>=media-plugins/gst-plugins-gtk-${GST_VER}:1.0
+	>=media-libs/gst-plugins-good-${GST_VER}:1.0
+	>=media-plugins/gst-plugins-libav-${GST_VER}:1.0
+	>=media-plugins/gst-plugins-gdkpixbuf-${GST_VER}:1.0
+
+	>=x11-libs/libnotify-0.7[introspection]
+	x11-libs/libwnck:3[introspection]
+	>=x11-libs/gtk+-3.20.0:3[introspection]
+
+	v4l? ( >=media-plugins/gst-plugins-v4l2-${GST_VER}:1.0 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	app-text/yelp-tools
+	dev-python/setuptools
+	>=dev-util/intltool-0.35.5
+	dev-util/itstool
+	sys-devel/gettext
+	virtual/pkgconfig
+	test? (
+		$(python_gen_cond_dep '
+			dev-python/nose2[${PYTHON_USEDEP}]
+		')
+	)
+"
+
+PATCHES=(
+	# https://gitlab.gnome.org/GNOME/pitivi/-/merge_requests/245
+	# support python 3.8
+	"${FILESDIR}"/${P}-python38.patch
+
+	# use /usr/share/metainfo
+	"${FILESDIR}"/${P}-metainfo.patch
+
+	# Make tests optional, bug #594096
+	# https://gitlab.gnome.org/GNOME/pitivi/issues/2303
+	"${FILESDIR}"/${P}-optional-tests.patch
+
+	# Backport upstream commit to allow building w/ newer gst
+	# bug #804945 and bug #830123
+	"${FILESDIR}"/${P}-gst-0.18.patch
+)
+
+src_prepare() {
+	default
+
+	# Drop bundled gst, just in case
+	rm -r "${S}"/subprojects/gst-transcoder || die
+}
+
+src_configure() {
+	local emesonargs=(
+		-Denable-tests=$(usex test true false)
+		-Dbuild-gst=false
+	)
+	meson_src_configure
+}
+
+src_test() {
+	export PITIVI_TOP_LEVEL_DIR="${S}"
+	virtx meson_src_test
+}
+
+src_install() {
+	meson_src_install
+	python_fix_shebang "${D}"
+}


             reply	other threads:[~2021-12-28  1:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-28  1:24 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-10-10  2:34 [gentoo-commits] repo/gentoo:master commit in: media-video/pitivi/, media-video/pitivi/files/ Matt Turner
2022-05-31  4:46 Sam James
2021-04-28 15:36 Michał Górny
2016-10-15 15:42 Gilles Dartiguelongue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1640654679.9ada748e8e0dff302c0f528e44915349e8d8a851.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox