From 6b999a498626b021fb3d3c3764833516cec4a248 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Thu, 23 Sep 2021 18:00:51 +0530 Subject: recipes: Add patches to fix UWP build 1.19.2 is tagged and released, so we need to add these patches by hand. Will be removed once they've been merged upstream. Part-of: --- recipes/gst-plugins-bad-1.0.recipe | 2 ++ ...1-meson-Fix-build-with-Dopenjpeg-disabled.patch | 35 ++++++++++++++++++++++ recipes/gstreamer-1.0.recipe | 2 ++ .../0001-meson-Fix-gst-launch-build-on-UWP.patch | 28 +++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 recipes/gst-plugins-bad-1.0/0001-meson-Fix-build-with-Dopenjpeg-disabled.patch create mode 100644 recipes/gstreamer-1.0/0001-meson-Fix-gst-launch-build-on-UWP.patch diff --git a/recipes/gst-plugins-bad-1.0.recipe b/recipes/gst-plugins-bad-1.0.recipe index 2676d1d9..aecd4738 100644 --- a/recipes/gst-plugins-bad-1.0.recipe +++ b/recipes/gst-plugins-bad-1.0.recipe @@ -543,6 +543,8 @@ class Recipe(custom.GStreamer): self.disable_plugin('ladspa', 'effects', dep='ladspa') self.disable_plugin('mms', 'net_restricted', option='libmms', dep='libmms') self.disable_plugin('openjpeg', 'codecs', dep='openjpeg') + # https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2545 + self.patches = [self.name + '/0001-meson-Fix-build-with-Dopenjpeg-disabled.patch'] self.disable_plugin('rtmp', 'net_restricted', option='rtmp', dep='librtmp') self.disable_plugin('sbc', 'codecs', dep='sbc') self.disable_plugin('spandsp', 'codecs', dep='spandsp') diff --git a/recipes/gst-plugins-bad-1.0/0001-meson-Fix-build-with-Dopenjpeg-disabled.patch b/recipes/gst-plugins-bad-1.0/0001-meson-Fix-build-with-Dopenjpeg-disabled.patch new file mode 100644 index 00000000..354bc867 --- /dev/null +++ b/recipes/gst-plugins-bad-1.0/0001-meson-Fix-build-with-Dopenjpeg-disabled.patch @@ -0,0 +1,35 @@ +From cdd8b377a9f5817228b4cf507a8f40f4032a8d9c Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan +Date: Thu, 23 Sep 2021 17:36:20 +0530 +Subject: [PATCH] meson: Fix build with -Dopenjpeg=disabled + +tests/check/meson.build uses the openjpeg_dep variable +unconditionally, and the subdir_done() is useless anyway, since the +plugin is only built if openjpeg_dep.found() is true. Fixes: + +..\tests\check\meson.build:23:0: ERROR: Unknown variable "openjpeg_dep". + +In particular, this fixes the build on UWP since we disable openjpeg +explicitly in Cerbero when building for UWP. +--- + ext/openjpeg/meson.build | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/ext/openjpeg/meson.build b/ext/openjpeg/meson.build +index 822f2c94f..94597fb16 100644 +--- a/ext/openjpeg/meson.build ++++ b/ext/openjpeg/meson.build +@@ -6,10 +6,6 @@ openjpeg_sources = [ + + openjpeg_cargs = [] + +-if get_option('openjpeg').disabled() +- subdir_done() +-endif +- + openjpeg_dep = dependency('libopenjp2', version : '>=2.2', + fallback : ['libopenjp2', 'libopenjp2_dep'], + required : get_option('openjpeg')) +-- +2.33.0.windows.2 + diff --git a/recipes/gstreamer-1.0.recipe b/recipes/gstreamer-1.0.recipe index 14982dee..bf13fec3 100644 --- a/recipes/gstreamer-1.0.recipe +++ b/recipes/gstreamer-1.0.recipe @@ -72,6 +72,8 @@ class Recipe(custom.GStreamer): if self.using_msvc(): if self.config.variants.uwp: + # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/890 + self.patches = [self.name + '/0001-meson-Fix-gst-launch-build-on-UWP.patch'] # Most symbols in DbgHelp.h are not allowed for UWP self.meson_options['dbghelp'] = 'disabled' else: diff --git a/recipes/gstreamer-1.0/0001-meson-Fix-gst-launch-build-on-UWP.patch b/recipes/gstreamer-1.0/0001-meson-Fix-gst-launch-build-on-UWP.patch new file mode 100644 index 00000000..e3dce3e2 --- /dev/null +++ b/recipes/gstreamer-1.0/0001-meson-Fix-gst-launch-build-on-UWP.patch @@ -0,0 +1,28 @@ +From c68bfffa1aaa813763e1eb5b1ffced6ebf66a817 Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan +Date: Thu, 23 Sep 2021 17:07:09 +0530 +Subject: [PATCH] meson: Fix gst-launch build on UWP + +The APIs we need from WinMM for higher timer resolution are only +available for non-UWP apps. The winmm library itself is still +available, so we need to disable the check. +--- + tools/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/meson.build b/tools/meson.build +index e22721d9d..c5bf4f9a0 100644 +--- a/tools/meson.build ++++ b/tools/meson.build +@@ -4,7 +4,7 @@ extra_launch_dep = [] + extra_launch_arg = [] + + if gst_parse +- if host_system == 'windows' ++ if host_system == 'windows' and not building_for_uwp + winmm_lib = cc.find_library('winmm', required: false) + if winmm_lib.found() and cc.has_header('timeapi.h') + extra_launch_dep += [winmm_lib] +-- +2.33.0.windows.2 + -- cgit v1.2.3