meson: Add a wrap file for libgudev

And allow fallback to it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4447>
This commit is contained in:
Nicolas Dufresne 2023-04-18 15:28:30 -04:00 committed by GStreamer Marge Bot
parent bab573b59c
commit e709e2d97c
7 changed files with 15 additions and 6 deletions

View file

@ -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()

View file

@ -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()

View file

@ -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

View file

@ -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]

View file

@ -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()

View file

@ -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

View file

@ -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