[libcamera-devel] [PATCH 2/2] meson: Define python3 and python3-yaml required dependencies

Ezequiel Garcia ezequiel at collabora.com
Mon Nov 18 13:14:10 CET 2019


On Mon, 2019-11-18 at 02:26 +0200, Laurent Pinchart wrote:
> Hi Ezequiel,
> 
> Thank you for the patch.
> 
> On Fri, Nov 15, 2019 at 12:23:42PM -0300, Ezequiel Garcia wrote:
> > With this change, meson will complain specifically about missing
> > python3 and missing python3-yaml. As specified by meson
> > documentation: https://mesonbuild.com/Python-module.html,
> > this change requires meson v0.51.
> 

How about this

+# meson v0.51 is too new and not distributed
+# by major distros. Let's take advantage of it
+# optionally.
+if meson.version().version_compare('>=0.51')
+    py_mod = import('python')
+    py_inst = py_mod.find_installation('python3', modules: ['yaml'])
+endif
+

?

Just to get the thing documented, we can drop the ifs
once libcamera requires meson 0.51

Thanks,
Eze

> Neither Debian stable nor Ubuntu stable ship meson v0.51 or newer, so I
> think this is a too strict requirement. There are useful features in
> newer meson verions, but we want to keep libcamera easily buildable on
> common distributions.
> 
> > Signed-off-by: Ezequiel Garcia <ezequiel at collabora.com>
> > ---
> >  meson.build               | 2 +-
> >  src/libcamera/meson.build | 3 +++
> >  2 files changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meson.build b/meson.build
> > index 72ad7c8b493b..38c0f1d55b56 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -1,5 +1,5 @@
> >  project('libcamera', 'c', 'cpp',
> > -    meson_version : '>= 0.40',
> > +    meson_version : '>= 0.51',
> >      version : '0.0.0',
> >      default_options : [
> >          'werror=true',
> > diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
> > index afbca76968f9..509499359cdb 100644
> > --- a/src/libcamera/meson.build
> > +++ b/src/libcamera/meson.build
> > @@ -61,6 +61,9 @@ if libudev.found()
> >      ])
> >  endif
> >  
> > +py_mod = import('python')
> > +py_inst = py_mod.find_installation('python3', modules: ['yaml'])
> > +
> >  gen_controls = files('gen-controls.py')
> >  
> >  control_ids_cpp = custom_target('control_ids_cpp',




More information about the libcamera-devel mailing list