From 850b566b1b89c2ec7f056db4c130b9790c587ebb Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 20 May 2025 16:48:18 +0530 Subject: [PATCH] meson, cargo: don't build skia plugin by default for now Fails to build in some/many cases: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/692 https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1804 In addition to the git-sync-deps issue, the skia-safe project uses cargo to invoke gn, and in the process it loses the ability to pick up dependencies from the system. This means it cannot integrate as a meson subproject. Co-authored-by: L. E. Segovia Part-of: --- Cargo.toml | 1 - ci/utils.py | 4 ++++ meson.build | 7 ++++++- meson_options.txt | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bdc1391fd..ccab07d7c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -117,7 +117,6 @@ default-members = [ "video/hsv", "video/png", "video/rav1e", - "video/skia", ] [profile.release] diff --git a/ci/utils.py b/ci/utils.py index d2944db85..24a2b730a 100644 --- a/ci/utils.py +++ b/ci/utils.py @@ -1,4 +1,5 @@ import os +from warnings import warn DIRS = [ 'audio', @@ -37,6 +38,9 @@ OVERRIDE = { def iterate_plugins(): for d in DIRS: for name in os.listdir(d): + if 'skia' in name: + warn('Skipping skia, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/692') + continue if name in RS_PREFIXED: name = "rs{}".format(name) else: diff --git a/meson.build b/meson.build index 7b37dcbe2..d00500563 100644 --- a/meson.build +++ b/meson.build @@ -222,7 +222,6 @@ plugins = { 'quic_roq', ], }, - 'skia': {'library': 'libgstskia'}, 'speechmatics': {'library': 'libgstspeechmatics'}, 'vvdec': { 'library': 'libgstvvdec', @@ -351,6 +350,12 @@ else } endif +if get_option('skia').allowed() + plugins += { + 'skia': {'library': 'libgstskia'}, + } +endif + # Process plugins list default_library = get_option('default_library') diff --git a/meson_options.txt b/meson_options.txt index 8e09d6e34..95349ca45 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -66,7 +66,7 @@ option('gtk4', type: 'feature', value: 'auto', description: 'Build GTK4 plugin') option('hsv', type: 'feature', value: 'auto', description: 'Build hsv plugin') option('png', type: 'feature', value: 'auto', description: 'Build png plugin') option('rav1e', type: 'feature', value: 'auto', description: 'Build rav1e plugin') -option('skia', type: 'feature', value: 'auto', description: 'Build skia plugin') +option('skia', type: 'feature', value: 'disabled', description: 'Build skia plugin') option('videofx', type: 'feature', value: 'auto', description: 'Build videofx plugin') option('vvdec', type: 'feature', value: 'auto', description: 'Build vvdec plugin') option('webp', type: 'feature', value: 'auto', description: 'Build webp plugin')