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}"
+}
next 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