[Buildroot] [PATCH 1/1] package/wireplumber: fix introspection build

Fabrice Fontaine fontaine.fabrice at gmail.com
Fri Mar 18 21:58:42 UTC 2022


Yann,

Le ven. 18 mars 2022 à 22:50, Yann E. MORIN <yann.morin.1998 at free.fr> a écrit :
>
> Fabrice, All,
>
> On 2022-03-18 20:33 +0100, Fabrice Fontaine spake thusly:
> > introspection needs host-doxygen and host-python-lxml since the addition
> > of the package in commit c9a3c10417aadce9ee4922e30235776409ce8eb3 and
> > https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/2e5b13f970fe3dd28a4ce75868d46403034c6822
>
> As per that diff, it seems doxygen is only needed when actually building
> the documentation:
>
>     https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/2e5b13f970fe3dd28a4ce75868d46403034c6822#0cc1139e3347f573ae1feee5b73dbc8a8a21fcfa

As written in the commit title, wireplumber "build gobject
introspection from xml files generated by Doxygen"

>
>     doxygen_p = find_program('doxygen', required: get_option('doc'))

Indeed, this is what is done in this commit.
But the next one (i.e.
https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/93c2e7d686ba678991185e711533ce29826b5374)
adds the following:

if get_option('doc').enabled() or get_option('introspection').enabled()
  doxygen_p = find_program('doxygen', version: '>= 1.9.0', required: true)
elif get_option('doc').auto() or get_option('introspection').auto()
  doxygen_p = find_program('doxygen', version: '>= 1.9.0', required: false)
else
  doxygen_p = disabler()

>
> But we are alredy passing -Ddoc=disabled, so why is it still trying to
> build the documentation?

It's not building the "full" documentation (which depends on sphinx,
etc.), only the file that is needed for gobject-introspection.

>
> That's because the option is only a hint to not care when doxygen is
> missing, but if doxygen is present, then the documentation is still
> built.
>
> -Ddoc=disabled should really disable building the documentation, e.g.
> in ./meson.build:
>
>     if get_option('doc')
>       subdir('doc')
>     endif
>
> or, at the top of ./doc/meson.build:
>
>     if not get_option('doc')
>       subdir_done()
>     fi
>
> I think the former is better, as they already have conditional subdir()
> in the top-level meson.build.
>
> Regards,
> Yann E. MORIN.
>
> > ../output-1/build/wireplumber-0.4.8/docs/meson.build:14:0: ERROR: python3 is missing modules: lxml
> >
> > Fixes:
> >  - http://autobuild.buildroot.org/results/24c524d86a3e2e67305f698644be9b15d4562488
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> > ---
> >  package/wireplumber/wireplumber.mk | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/package/wireplumber/wireplumber.mk b/package/wireplumber/wireplumber.mk
> > index 3bf7cece45..327138391d 100644
> > --- a/package/wireplumber/wireplumber.mk
> > +++ b/package/wireplumber/wireplumber.mk
> > @@ -17,7 +17,7 @@ WIREPLUMBER_CONF_OPTS = \
> >       -Dsystem-lua-version=
> >
> >  ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
> > -WIREPLUMBER_DEPENDENCIES += gobject-introspection
> > +WIREPLUMBER_DEPENDENCIES += host-doxygen host-python-lxml gobject-introspection
> >  WIREPLUMBER_CONF_OPTS += -Dintrospection=enabled
> >  else
> >  WIREPLUMBER_CONF_OPTS += -Dintrospection=disabled
> > --
> > 2.35.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
Best Regards,

Fabrice



More information about the buildroot mailing list