From e709e2d97c27910b6b3f6bf7c24f84d1cc7c0da2 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Tue, 18 Apr 2023 15:28:30 -0400 Subject: [PATCH] meson: Add a wrap file for libgudev And allow fallback to it. Part-of: --- subprojects/gst-plugins-bad/sys/msdk/meson.build | 2 +- subprojects/gst-plugins-bad/sys/uvch264/meson.build | 2 +- subprojects/gst-plugins-bad/sys/v4l2codecs/meson.build | 2 +- subprojects/gst-plugins-bad/sys/va/meson.build | 2 +- subprojects/gst-plugins-base/gst-libs/gst/gl/meson.build | 2 +- subprojects/gst-plugins-good/sys/v4l2/meson.build | 2 +- subprojects/libgudev.wrap | 9 +++++++++ 7 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 subprojects/libgudev.wrap diff --git a/subprojects/gst-plugins-bad/sys/msdk/meson.build b/subprojects/gst-plugins-bad/sys/msdk/meson.build index f1710f3fba..aaf3bdab7f 100644 --- a/subprojects/gst-plugins-bad/sys/msdk/meson.build +++ b/subprojects/gst-plugins-bad/sys/msdk/meson.build @@ -182,7 +182,7 @@ if host_machine.system() == 'windows' msdk_deps_found = gstd3d11_dep.found() and legacy_stdio_dep.found() and cc.get_id() == 'msvc' else libdl_dep = cc.find_library('dl', required: get_option('msdk')) - libgudev_dep = dependency('gudev-1.0', required: get_option('msdk')) + libgudev_dep = dependency('gudev-1.0', required: get_option('msdk'), allow_fallback: true) libdrm_dep = dependency('libdrm', required: get_option('msdk')) msdk_deps = declare_dependency(dependencies: [gstva_dep, libdl_dep, libgudev_dep, libdrm_dep]) msdk_deps_found = gstva_dep.found() and libdl_dep.found() and libgudev_dep.found() and libdrm_dep.found() diff --git a/subprojects/gst-plugins-bad/sys/uvch264/meson.build b/subprojects/gst-plugins-bad/sys/uvch264/meson.build index 8968f965f8..69d4bb1f30 100644 --- a/subprojects/gst-plugins-bad/sys/uvch264/meson.build +++ b/subprojects/gst-plugins-bad/sys/uvch264/meson.build @@ -6,7 +6,7 @@ uvch264_sources = [ 'uvc_h264.c', ] -libgudev_dep = dependency('gudev-1.0', required : get_option('uvch264')) +libgudev_dep = dependency('gudev-1.0', required : get_option('uvch264'), allow_fallback: true) libusb_dep = dependency('libusb-1.0', required : get_option('uvch264')) has_uvcvideo_h = cc.has_header('linux/uvcvideo.h') if not has_uvcvideo_h and get_option('uvch264').enabled() diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/meson.build b/subprojects/gst-plugins-bad/sys/v4l2codecs/meson.build index 836dc53122..bd678bf76d 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/meson.build +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/meson.build @@ -13,7 +13,7 @@ v4l2codecs_sources = [ 'gstv4l2codecalphadecodebin.c', ] -libgudev_dep = dependency('gudev-1.0', required: get_option('v4l2codecs')) +libgudev_dep = dependency('gudev-1.0', required: get_option('v4l2codecs'), allow_fallback: true) if get_option('v4l2codecs').disabled() have_v4l2 = false diff --git a/subprojects/gst-plugins-bad/sys/va/meson.build b/subprojects/gst-plugins-bad/sys/va/meson.build index 6315217a1f..7227b39fb4 100644 --- a/subprojects/gst-plugins-bad/sys/va/meson.build +++ b/subprojects/gst-plugins-bad/sys/va/meson.build @@ -54,7 +54,7 @@ extra_dep = [] c_std_arg = ['c_std=c99'] if host_system == 'linux' - libgudev_dep = dependency('gudev-1.0', required: false) + libgudev_dep = dependency('gudev-1.0', required: false, allow_fallback: true) if libgudev_dep.found() extra_args += ['-DHAVE_GUDEV'] extra_dep += [libgudev_dep] diff --git a/subprojects/gst-plugins-base/gst-libs/gst/gl/meson.build b/subprojects/gst-plugins-base/gst-libs/gst/gl/meson.build index 1080b5dff4..fdd1b8cfa8 100644 --- a/subprojects/gst-plugins-base/gst-libs/gst/gl/meson.build +++ b/subprojects/gst-plugins-base/gst-libs/gst/gl/meson.build @@ -896,7 +896,7 @@ if need_win_gbm != 'no' endif endif - gbm_gudev_dep = dependency('gudev-1.0', version : '>=147', required : false) + gbm_gudev_dep = dependency('gudev-1.0', version : '>=147', required : false, allow_fallback: true) gbm_libdrm_dep = dependency('libdrm', version : '>= 2.4.55', required : false) gbm_dep = dependency('gbm', required : false) if egl_dep.found() and gbm_gudev_dep.found() and gbm_libdrm_dep.found() and gbm_dep.found() diff --git a/subprojects/gst-plugins-good/sys/v4l2/meson.build b/subprojects/gst-plugins-good/sys/v4l2/meson.build index 6ece251b5e..026d3920fc 100644 --- a/subprojects/gst-plugins-good/sys/v4l2/meson.build +++ b/subprojects/gst-plugins-good/sys/v4l2/meson.build @@ -52,7 +52,7 @@ cdata.set('GST_V4L2_ENABLE_PROBE', get_option('v4l2-probe')) if have_v4l2 message('building v4l2 plugin') cdata.set('HAVE_GST_V4L2', true) - gudev_dep = dependency('gudev-1.0', version : '>=147', required : get_option('v4l2-gudev')) + gudev_dep = dependency('gudev-1.0', version : '>=147', required : get_option('v4l2-gudev'), allow_fallback: true) cdata.set('HAVE_GUDEV', gudev_dep.found()) # libv4l2 is only needed for converting some obscure formats diff --git a/subprojects/libgudev.wrap b/subprojects/libgudev.wrap new file mode 100644 index 0000000000..cea99d09e7 --- /dev/null +++ b/subprojects/libgudev.wrap @@ -0,0 +1,9 @@ +[wrap-file] +directory = libgudev-237 +source_url = https://download.gnome.org/sources/libgudev/237/libgudev-237.tar.xz +source_fallback_url = https://ftp.acc.umu.se/pub/gnome/sources/libgudev/237/libgudev-237.tar.xz +source_filename = libgudev-237.tar.xz +source_hash = 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa + +[provide] +gudev-1.0 = libgudev_dep