summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>2022-02-19 12:49:30 +0300
committerSam James <sam@gentoo.org>2022-03-08 13:32:19 +0000
commit93b6417f1b55aefc05b91fec7b67eadd32b1f733 (patch)
tree2aa4e2a88378a5d76295ee10fc7b91f2ac40c259 /media-libs/gst-plugins-bad
parentmedia-libs/libfreeaptx: Change to multilib build (diff)
downloadgentoo-93b6417f1b55aefc05b91fec7b67eadd32b1f733.tar.gz
gentoo-93b6417f1b55aefc05b91fec7b67eadd32b1f733.tar.bz2
gentoo-93b6417f1b55aefc05b91fec7b67eadd32b1f733.zip
media-libs/gstreamer: Bump to 1.20.0
Gstreamer 1.20.0 version bump, includes - all existing 1.18.4 plugins except for two dropped upstream (gst-plugins-libmms and gst-plugins-ofa) - libnice-0.1.18 version bump required by gst-plugins-webrtc in 1.20.0 - required multilib change for libldac for new plugin gst-plugins-ldac - required multilib change for libopenaptx and libfreeaptx for new plugin gst-plugins-openaptx As discussed, this change adds a LICENSE to each of gstreamer modules which now require explicit opt-in for (A)GPL plugins for (A)GPL plugins we will not perform explicit license acceptance for affected gstreamer plugin, instead we will rely on a user accepting the license of dependency: - gstreamer change added explicit opt-in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084 - I looked at affected gstreamer plugins and looks like all are correctly license-compatible according to compatibility matrix https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility - if a user is not willing to accept the license of corresponding (A)GPL dependency, such dependency will not be available and affected gstreamer plugin will not be built - Upstream gstreamer team will look into updating/fixing plugin license display available via gst-inspect-1.0 <plugin name> | grep License as currently it is just "GPL" which is not specific enough (should be GPL-2, GPL-2+, GPL-3 etc.) Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/gst-plugins-bad')
-rw-r--r--media-libs/gst-plugins-bad/Manifest1
-rw-r--r--media-libs/gst-plugins-bad/files/gst-plugins-bad-1.20.0-move-qroverlay-to-external-deps.patch26
-rw-r--r--media-libs/gst-plugins-bad/gst-plugins-bad-1.20.0.ebuild88
3 files changed, 115 insertions, 0 deletions
diff --git a/media-libs/gst-plugins-bad/Manifest b/media-libs/gst-plugins-bad/Manifest
index 58d6f817bb83..04556c3ce5a8 100644
--- a/media-libs/gst-plugins-bad/Manifest
+++ b/media-libs/gst-plugins-bad/Manifest
@@ -1,3 +1,4 @@
DIST gst-plugins-bad-1.16.3.tar.xz 4900188 BLAKE2B 7d8280a434adb1cb65b065dcdabdb37aad000802c011bb27779c109978d8b75aa4e2fa47043dde95464bb0c34a0d7466dc1f6216f29f0f4911f7a6fe1fb04b25 SHA512 378d8813ba2fd61ea2cab512d5c1fa81e0a4ac4f4ca756547d9b8742e56024c1bc5d6cd332798de66ecfe2b69485c860e181a6c2090398b0e2ad8c4b3fe95d04
DIST gst-plugins-bad-1.18.4-glib-volatile.patch.bz2 8492 BLAKE2B 7a6e4a3fc1d68c39ae08cb052eed1fcef9c5507c655525bcb48ab789f20027632136fb195643dc5d2e04728b4c3ac94b1dcbf9a14343333fb80d65c64244e1c8 SHA512 0d9e04b883a803cec518469f46dbcf47bfef614694cad6b2bb6e8cb31c3fcc80b0f3d81633b16cd05ca0516f49893aa67f4745dc22e80192ed385fb97ee8b97c
DIST gst-plugins-bad-1.18.4.tar.xz 5640292 BLAKE2B 5385abe635a35f61c6780e6cfa1189835877b8c0a12145de6890708a097fc453b1abfb14a3497cae4e6961f71fc2c6e01759fe19386cd30a64c4069704ddf77a SHA512 02123e054419f5ce6ca2ebe0bdf23572269ea4120bf463b4d672efbe5d9e5d417d4d711cc80094be974c4569f754d8b2ad93f59b827e3b018d450582834cb125
+DIST gst-plugins-bad-1.20.0.tar.xz 6203880 BLAKE2B 3c2bcbd5e3af56497415ac9e32b91bf0f9ed0668d6992c8d14b2b56c86be2178ea93409e505d438b56fe87bf75a4c96554fd3cbf9ea5b204b2a520fccb6894fe SHA512 d79fedba96517c25d2ba3925405933671fa05e350b8e133277a7c1d509e08a49ceeb50c016e23e798667fa0b09783105914f06538bdcaae969fdba8ac385a51b
diff --git a/media-libs/gst-plugins-bad/files/gst-plugins-bad-1.20.0-move-qroverlay-to-external-deps.patch b/media-libs/gst-plugins-bad/files/gst-plugins-bad-1.20.0-move-qroverlay-to-external-deps.patch
new file mode 100644
index 000000000000..7ac5d68d7f74
--- /dev/null
+++ b/media-libs/gst-plugins-bad/files/gst-plugins-bad-1.20.0-move-qroverlay-to-external-deps.patch
@@ -0,0 +1,26 @@
+commit e30ce28b1f4b0373390499f49317f8fa12b02155
+Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+Date: Sat Feb 5 17:36:41 2022 +0300
+
+ gst-plugins-bad-1.20.0-move-qroverlay-to-external-deps
+
+diff --git a/subprojects/gst-plugins-bad/meson_options.txt b/subprojects/gst-plugins-bad/meson_options.txt
+index 4686492244..b347dcb27b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -48,7 +48,6 @@ option('onvif', type : 'feature', value : 'auto')
+ option('pcapparse', type : 'feature', value : 'auto')
+ option('pnm', type : 'feature', value : 'auto')
+ option('proxy', type : 'feature', value : 'auto')
+-option('qroverlay', type : 'feature', value : 'auto')
+ option('rawparse', type : 'feature', value : 'auto')
+ option('removesilence', type : 'feature', value : 'auto')
+ option('rist', type : 'feature', value : 'auto')
+@@ -140,6 +139,7 @@ option('openmpt', type : 'feature', value : 'auto', description : 'OpenMPT modul
+ option('openni2', type : 'feature', value : 'auto', description : 'OpenNI2 library plugin')
+ option('opensles', type : 'feature', value : 'auto', description : 'OpenSL ES audio source/sink plugin')
+ option('opus', type : 'feature', value : 'auto', description : 'OPUS audio parser plugin')
++option('qroverlay', type : 'feature', value : 'auto', description : 'Element to set random data on a qroverlay')
+ option('resindvd', type : 'feature', value : 'auto', description : 'Resin DVD playback plugin (GPL - only built if gpl option is also enabled!)')
+ option('rsvg', type : 'feature', value : 'auto', description : 'SVG overlayer and image decoder plugin')
+ option('rtmp', type : 'feature', value : 'auto', description : 'RTMP video network source and sink plugin')
diff --git a/media-libs/gst-plugins-bad/gst-plugins-bad-1.20.0.ebuild b/media-libs/gst-plugins-bad/gst-plugins-bad-1.20.0.ebuild
new file mode 100644
index 000000000000..d35110a72c16
--- /dev/null
+++ b/media-libs/gst-plugins-bad/gst-plugins-bad-1.20.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GST_ORG_MODULE="gst-plugins-bad"
+PYTHON_COMPAT=( python3_{8,9,10} )
+inherit flag-o-matic gstreamer-meson python-any-r1
+
+DESCRIPTION="Less plugins for GStreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+
+LICENSE="LGPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# TODO: egl and gtk IUSE only for transition
+IUSE="X bzip2 +egl gles2 gtk +introspection +opengl +orc vnc wayland" # Keep default IUSE mirrored with gst-plugins-base where relevant
+
+# X11 is automagic for now, upstream #709530 - only used by librfb USE=vnc plugin
+# We mirror opengl/gles2 from -base to ensure no automagic openglmixers plugin (with "opengl?" it'd still get built with USE=-opengl here)
+# FIXME gtk? ( >=media-plugins/gst-plugins-gtk-${PV}:${SLOT}[${MULTILIB_USEDEP}] )
+RDEPEND="
+ !media-plugins/gst-transcoder
+ >=media-libs/gstreamer-${PV}:${SLOT}[${MULTILIB_USEDEP},introspection?]
+ >=media-libs/gst-plugins-base-${PV}:${SLOT}[${MULTILIB_USEDEP},egl?,introspection?,gles2=,opengl=]
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1:= )
+
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ vnc? ( X? ( x11-libs/libX11[${MULTILIB_USEDEP}] ) )
+ wayland? (
+ >=dev-libs/wayland-1.4.0[${MULTILIB_USEDEP}]
+ >=x11-libs/libdrm-2.4.55[${MULTILIB_USEDEP}]
+ >=dev-libs/wayland-protocols-1.4
+ )
+
+ orc? ( >=dev-lang/orc-0.4.17[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.12
+"
+
+# FIXME: gstharness.c:889:gst_harness_new_with_padnames: assertion failed: (element != NULL)
+RESTRICT="test"
+
+# Fixes backported to 1.20.0, to be removed in 1.20.1
+PATCHES=(
+ "${FILESDIR}/gst-plugins-bad-1.20.0-move-qroverlay-to-external-deps.patch"
+)
+
+src_prepare() {
+ default
+ addpredict /dev # Prevent sandbox violations bug #570624
+}
+
+multilib_src_configure() {
+ GST_PLUGINS_NOAUTO="shm ipcpipeline librfb hls"
+ local emesonargs=(
+ -Dshm=enabled
+ -Dipcpipeline=enabled
+ -Dhls=disabled
+ $(meson_feature vnc librfb)
+
+ $(meson_feature wayland)
+ )
+
+ if use opengl || use gles2; then
+ myconf+=( -Dgl=enabled )
+ else
+ myconf+=( -Dgl=disabled )
+ fi
+
+ gstreamer_multilib_src_configure
+}
+
+multilib_src_test() {
+ # Tests are slower than upstream expects
+ CK_DEFAULT_TIMEOUT=300 gstreamer_multilib_src_test
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog NEWS README RELEASE"
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}