summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2021-06-29 17:35:01 +0100
committerSam James <sam@gentoo.org>2021-06-29 17:35:23 +0100
commit3b87d7706edd693335b44919b6d03d40dbb0bd7d (patch)
tree6821f2c662983aef0604313ef5c21c2163793e07 /media-libs/gst-plugins-base
parentx11-misc/xwallpaper: add 0.7.1, drop 0.7.0 (diff)
downloadgentoo-3b87d7706edd693335b44919b6d03d40dbb0bd7d.tar.gz
gentoo-3b87d7706edd693335b44919b6d03d40dbb0bd7d.tar.bz2
gentoo-3b87d7706edd693335b44919b6d03d40dbb0bd7d.zip
media-libs/gst-plugins-base: 1.18 backported fixes for >=meson-0.58 and wayland
Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/gst-plugins-base')
-rw-r--r--media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_meson-0.58.0.patch48
-rw-r--r--media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_wayland_registry_remove.patch55
-rw-r--r--media-libs/gst-plugins-base/gst-plugins-base-1.18.4.ebuild6
3 files changed, 109 insertions, 0 deletions
diff --git a/media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_meson-0.58.0.patch b/media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_meson-0.58.0.patch
new file mode 100644
index 000000000000..9cb2dafb3d7d
--- /dev/null
+++ b/media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_meson-0.58.0.patch
@@ -0,0 +1,48 @@
+From 90903917a8185e0f9add7af8153ae2fc9875fdcb Mon Sep 17 00:00:00 2001
+From: Xavier Claessens <xavier.claessens@collabora.com>
+Date: Mon, 26 Apr 2021 14:25:03 -0400
+Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1
+
+"implicit_include_directories: false" now also means that current build
+directory is not added to include paths by default any more. We have to
+add it manually because we have some custom_target() that generate
+headers in current build directory.
+
+See https://github.com/mesonbuild/meson/issues/8700.
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1127>
+---
+ gst-libs/gst/gl/meson.build | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
+index db11c5e89..731ee9f5e 100644
+--- a/gst-libs/gst/gl/meson.build
++++ b/gst-libs/gst/gl/meson.build
+@@ -989,11 +989,20 @@ if build_gstgl
+ command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
+ gen_sources = [gl_enumtypes_h]
+
++ common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL']
++
++ # We have custom_target() that generate headers in the current build dir,
++ # but with implicit_include_directories: false, meson >= 0.58.0 won't include
++ # it by default. We cannot use include_directories('.') here because it would
++ # also include current source dir which is what we want to avoid because
++ # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h.
++ common_args += '-I@0@'.format(meson.current_build_dir())
++
+ gstgl = library('gstgl-' + api_version,
+ gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h,
+- c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
+- cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
+- objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'],
++ c_args : common_args,
++ cpp_args : common_args,
++ objc_args : common_args + gl_objc_args,
+ include_directories : [configinc, libsinc, gl_includes],
+ version : libversion,
+ soversion : soversion,
+--
+GitLab
+
diff --git a/media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_wayland_registry_remove.patch b/media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_wayland_registry_remove.patch
new file mode 100644
index 000000000000..0bf004350f02
--- /dev/null
+++ b/media-libs/gst-plugins-base/files/gst-plugins-base-1.18.4_wayland_registry_remove.patch
@@ -0,0 +1,55 @@
+From dc1fe07687747f11be6bb0eb944d53efa82ef86c Mon Sep 17 00:00:00 2001
+From: Matthew Waters <matthew@centricular.com>
+Date: Mon, 22 Mar 2021 13:59:39 +1100
+Subject: [PATCH] gl/wayland: provide a dummy global_remove function
+
+Even if we don't care about any global objects being removed, wayland
+will still error if globals are removed without a corresponding listener
+set up for them. e.g. wl_output hotplugging
+
+Discovered by: Matthias Clasen
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1085>
+---
+ .../gst/gl/wayland/gstglwindow_wayland_egl.c | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
+index 6b06632a7..bb8be2756 100644
+--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
++++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
+@@ -494,7 +494,8 @@ registry_handle_global (void *data, struct wl_registry *registry,
+ GstGLWindowWaylandEGL *window_wayland = data;
+
+ GST_TRACE_OBJECT (window_wayland, "registry_handle_global with registry %p, "
+- "interface %s, version %u", registry, interface, version);
++ "name %" G_GUINT32_FORMAT ", interface %s, version %u", registry, name,
++ interface, version);
+
+ if (g_strcmp0 (interface, "wl_compositor") == 0) {
+ window_wayland->display.compositor =
+@@ -518,8 +519,20 @@ registry_handle_global (void *data, struct wl_registry *registry,
+ }
+ }
+
++static void
++registry_handle_global_remove (void *data, struct wl_registry *registry,
++ uint32_t name)
++{
++ GstGLWindowWaylandEGL *window_wayland = data;
++
++ /* TODO: deal with any registry objects that may be removed */
++ GST_TRACE_OBJECT (window_wayland, "wl_registry %p global_remove %"
++ G_GUINT32_FORMAT, registry, name);
++}
++
+ static const struct wl_registry_listener registry_listener = {
+- registry_handle_global
++ registry_handle_global,
++ registry_handle_global_remove,
+ };
+
+ static gboolean
+--
+GitLab
+
diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.18.4.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.18.4.ebuild
index 0f426cd99d04..a158631adf0a 100644
--- a/media-libs/gst-plugins-base/gst-plugins-base-1.18.4.ebuild
+++ b/media-libs/gst-plugins-base/gst-plugins-base-1.18.4.ebuild
@@ -92,6 +92,12 @@ DEPEND="${RDEPEND}
DOCS="AUTHORS NEWS README RELEASE"
+# Fixes backported to 1.18.x, to be removed in 1.18.5
+PATCHES=(
+ "${FILESDIR}/gst-plugins-base-1.18.4_meson-0.58.0.patch"
+ "${FILESDIR}/gst-plugins-base-1.18.4_wayland_registry_remove.patch"
+)
+
multilib_src_configure() {
filter-flags -mno-sse -mno-sse2 -mno-sse4.1 #610340