diff mbox series

librsvg: Only enable the Vala bindings if GObject Introspection is enabled

Message ID 20230118112759.3909741-1-pkj@axis.com
State Accepted, archived
Commit 31daea70b18b2b2266bf94063b655aaf142a6166
Headers show
Series librsvg: Only enable the Vala bindings if GObject Introspection is enabled | expand

Commit Message

Peter Kjellerstedt Jan. 18, 2023, 11:27 a.m. UTC
This avoids the following error:

  configure: error: Vala bindings require GObject Introspection

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 meta/recipes-gnome/librsvg/librsvg_2.54.5.bb | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Jose Quaresma Jan. 18, 2023, 12:13 p.m. UTC | #1
Hi Peter,

Peter Kjellerstedt <peter.kjellerstedt@axis.com> escreveu no dia quarta,
18/01/2023 à(s) 11:28:

> This avoids the following error:
>
>   configure: error: Vala bindings require GObject Introspection
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
>  meta/recipes-gnome/librsvg/librsvg_2.54.5.bb | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> index b2e93a2684..c55aa250e9 100644
> --- a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> +++ b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> @@ -42,8 +42,6 @@ do_configure[postfuncs] += "cargo_common_do_configure"
>
>  inherit rust-target-config
>
> -EXTRA_OECONF:class-target = "--enable-vala"
> -
>  # rust-cross writes the target linker binary into target json definition
> without any flags.
>  # This breaks here because the linker isn't going to work without at
> least knowing where
>  # the sysroot is. So copy the json to workdir, and patch in the path to
> wrapper from rust class
> @@ -57,9 +55,10 @@ CVE_CHECK_IGNORE += "CVE-2018-1000041"
>
>  CACHED_CONFIGUREVARS =
> "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
>
> -PACKAGECONFIG ??= "gdkpixbuf"
> +PACKAGECONFIG ??= "gdkpixbuf ${@bb.utils.contains('GI_DATA_ENABLED',
> 'True', 'vala', '', d)}"
>  # The gdk-pixbuf loader
>  PACKAGECONFIG[gdkpixbuf] =
> "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
> +PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"
>

This will be enabled in the native builds too and before it is only defined
for target.

Jose


>
>  do_install:append() {
>         # Loadable modules don't need .a or .la on Linux
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#176086):
> https://lists.openembedded.org/g/openembedded-core/message/176086
> Mute This Topic: https://lists.openembedded.org/mt/96351645/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Peter Kjellerstedt Jan. 18, 2023, 2:44 p.m. UTC | #2
gobject-instrospection is not enabled by default in DISTRO_FEATURES_NATIVE and DISTRO_FEATURES_NATIVESDK so unless you explicitly enable it yourself (which seems unlikely to me), it will not be enabled in the native/nativesdk cases.

//Peter

From: Jose Quaresma <quaresma.jose@gmail.com>
Sent: den 18 januari 2023 13:13
To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] librsvg: Only enable the Vala bindings if GObject Introspection is enabled

Hi Peter,

Peter Kjellerstedt <peter.kjellerstedt@axis.com<mailto:peter.kjellerstedt@axis.com>> escreveu no dia quarta, 18/01/2023 à(s) 11:28:
This avoids the following error:

  configure: error: Vala bindings require GObject Introspection

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com<mailto:peter.kjellerstedt@axis.com>>
---
 meta/recipes-gnome/librsvg/librsvg_2.54.5.bb<http://librsvg_2.54.5.bb> | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb<http://librsvg_2.54.5.bb> b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb<http://librsvg_2.54.5.bb>
index b2e93a2684..c55aa250e9 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb<http://librsvg_2.54.5.bb>
+++ b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb<http://librsvg_2.54.5.bb>
@@ -42,8 +42,6 @@ do_configure[postfuncs] += "cargo_common_do_configure"

 inherit rust-target-config

-EXTRA_OECONF:class-target = "--enable-vala"
-
 # rust-cross writes the target linker binary into target json definition without any flags.
 # This breaks here because the linker isn't going to work without at least knowing where
 # the sysroot is. So copy the json to workdir, and patch in the path to wrapper from rust class
@@ -57,9 +55,10 @@ CVE_CHECK_IGNORE += "CVE-2018-1000041"

 CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"

-PACKAGECONFIG ??= "gdkpixbuf"
+PACKAGECONFIG ??= "gdkpixbuf ${@bb.utils.contains('GI_DATA_ENABLED<mailto:$%7b@bb.utils.contains('GI_DATA_ENABLED>', 'True', 'vala', '', d)}"
 # The gdk-pixbuf loader
 PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
+PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"

This will be enabled in the native builds too and before it is only defined for target.

Jose


 do_install:append() {
        # Loadable modules don't need .a or .la on Linux

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176086): https://lists.openembedded.org/g/openembedded-core/message/176086
Mute This Topic: https://lists.openembedded.org/mt/96351645/5052612
Group Owner: openembedded-core+owner@lists.openembedded.org<mailto:openembedded-core%2Bowner@lists.openembedded.org>
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [quaresma.jose@gmail.com<mailto:quaresma.jose@gmail.com>]
-=-=-=-=-=-=-=-=-=-=-=-


--
Best regards,

José Quaresma
Jose Quaresma Jan. 18, 2023, 2:55 p.m. UTC | #3
Peter Kjellerstedt <peter.kjellerstedt@axis.com> escreveu no dia quarta,
18/01/2023 à(s) 14:44:

> gobject-instrospection is not enabled by default in DISTRO_FEATURES_NATIVE
> and DISTRO_FEATURES_NATIVESDK so unless you explicitly enable it yourself
> (which seems unlikely to me), it will not be enabled in the
> native/nativesdk cases.
>

Right, makes sense.
Thanks for explaining.

Jose


>
>
> //Peter
>
>
>
> *From:* Jose Quaresma <quaresma.jose@gmail.com>
> *Sent:* den 18 januari 2023 13:13
> *To:* Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> *Cc:* openembedded-core@lists.openembedded.org
> *Subject:* Re: [OE-core] [PATCH] librsvg: Only enable the Vala bindings
> if GObject Introspection is enabled
>
>
>
> Hi Peter,
>
>
>
> Peter Kjellerstedt <peter.kjellerstedt@axis.com> escreveu no dia quarta,
> 18/01/2023 à(s) 11:28:
>
> This avoids the following error:
>
>   configure: error: Vala bindings require GObject Introspection
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
>  meta/recipes-gnome/librsvg/librsvg_2.54.5.bb | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> index b2e93a2684..c55aa250e9 100644
> --- a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> +++ b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
> @@ -42,8 +42,6 @@ do_configure[postfuncs] += "cargo_common_do_configure"
>
>  inherit rust-target-config
>
> -EXTRA_OECONF:class-target = "--enable-vala"
> -
>  # rust-cross writes the target linker binary into target json definition
> without any flags.
>  # This breaks here because the linker isn't going to work without at
> least knowing where
>  # the sysroot is. So copy the json to workdir, and patch in the path to
> wrapper from rust class
> @@ -57,9 +55,10 @@ CVE_CHECK_IGNORE += "CVE-2018-1000041"
>
>  CACHED_CONFIGUREVARS =
> "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
>
> -PACKAGECONFIG ??= "gdkpixbuf"
> +PACKAGECONFIG ??= "gdkpixbuf ${@bb.utils.contains('GI_DATA_ENABLED',
> 'True', 'vala', '', d)}"
>  # The gdk-pixbuf loader
>  PACKAGECONFIG[gdkpixbuf] =
> "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
> +PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"
>
>
>
> This will be enabled in the native builds too and before it is only
> defined for target.
>
>
>
> Jose
>
>
>
>
>  do_install:append() {
>         # Loadable modules don't need .a or .la on Linux
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#176086):
> https://lists.openembedded.org/g/openembedded-core/message/176086
> Mute This Topic: https://lists.openembedded.org/mt/96351645/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
>
>
> --
>
> Best regards,
>
>
> José Quaresma
>
Luca Ceresoli Jan. 18, 2023, 4:22 p.m. UTC | #4
Hello Peter,

On Wed, 18 Jan 2023 12:27:59 +0100
"Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:

> This avoids the following error:
> 
>   configure: error: Vala bindings require GObject Introspection
> 
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>

A different patch [0] to address the same bug is already in my testing
branch and is possibly being merged soon on master by Richard. Can you
please check whether your think your patch is better and let us know?

[0]
https://git.openembedded.org/openembedded-core-contrib/commit/?h=lucaceresoli/master-next-success&id=e9e761146b52658c06aae150332db666ce2f25a8
Peter Kjellerstedt Jan. 18, 2023, 10:22 p.m. UTC | #5
> -----Original Message-----
> From: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Sent: den 18 januari 2023 17:22
> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> Cc: openembedded-core@lists.openembedded.org; Richard Purdie
> <richard.purdie@linuxfoundation.org>
> Subject: Re: [OE-core] [PATCH] librsvg: Only enable the Vala bindings if
> GObject Introspection is enabled
> 
> Hello Peter,
> 
> On Wed, 18 Jan 2023 12:27:59 +0100
> "Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:
> 
> > This avoids the following error:
> >
> >   configure: error: Vala bindings require GObject Introspection
> >
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> 
> A different patch [0] to address the same bug is already in my testing
> branch and is possibly being merged soon on master by Richard. Can you
> please check whether your think your patch is better and let us know?

I had not seen that patch when I sent mine. I think mine is a little better 
since it defines and uses a PACKAGECONFIG for the vala support, which should 
make it easier for anyone wanting to, e.g., disable the vala support even if 
it is enabled by default.

> 
> [0] https://git.openembedded.org/openembedded-core-contrib/commit/?h=lucaceresoli/master-next-success&id=e9e761146b52658c06aae150332db666ce2f25a8
> 
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

//Peter
Luca Ceresoli Jan. 19, 2023, 9:29 a.m. UTC | #6
Hello Peter,

On Wed, 18 Jan 2023 22:22:22 +0000
"Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:

> > -----Original Message-----
> > From: Luca Ceresoli <luca.ceresoli@bootlin.com>
> > Sent: den 18 januari 2023 17:22
> > To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > Cc: openembedded-core@lists.openembedded.org; Richard Purdie
> > <richard.purdie@linuxfoundation.org>
> > Subject: Re: [OE-core] [PATCH] librsvg: Only enable the Vala bindings if
> > GObject Introspection is enabled
> > 
> > Hello Peter,
> > 
> > On Wed, 18 Jan 2023 12:27:59 +0100
> > "Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:
> >   
> > > This avoids the following error:
> > >
> > >   configure: error: Vala bindings require GObject Introspection
> > >
> > > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>  
> > 
> > A different patch [0] to address the same bug is already in my testing
> > branch and is possibly being merged soon on master by Richard. Can you
> > please check whether your think your patch is better and let us know?  
> 
> I had not seen that patch when I sent mine. I think mine is a little better 
> since it defines and uses a PACKAGECONFIG for the vala support, which should 
> make it easier for anyone wanting to, e.g., disable the vala support even if 
> it is enabled by default.

Indeed. I'm replacing Alex's patch with yours in my testing branch in
order to have both tested. None is on master at the moment.
Luca Ceresoli Jan. 19, 2023, 11:09 p.m. UTC | #7
Hi Peter,

On Thu, 19 Jan 2023 10:29:26 +0100
"Luca Ceresoli via lists.openembedded.org"
<luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:

> Hello Peter,
> 
> On Wed, 18 Jan 2023 22:22:22 +0000
> "Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:
> 
> > > -----Original Message-----
> > > From: Luca Ceresoli <luca.ceresoli@bootlin.com>
> > > Sent: den 18 januari 2023 17:22
> > > To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > > Cc: openembedded-core@lists.openembedded.org; Richard Purdie
> > > <richard.purdie@linuxfoundation.org>
> > > Subject: Re: [OE-core] [PATCH] librsvg: Only enable the Vala bindings if
> > > GObject Introspection is enabled
> > > 
> > > Hello Peter,
> > > 
> > > On Wed, 18 Jan 2023 12:27:59 +0100
> > > "Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:
> > >     
> > > > This avoids the following error:
> > > >
> > > >   configure: error: Vala bindings require GObject Introspection
> > > >
> > > > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>    
> > > 
> > > A different patch [0] to address the same bug is already in my testing
> > > branch and is possibly being merged soon on master by Richard. Can you
> > > please check whether your think your patch is better and let us know?    
> > 
> > I had not seen that patch when I sent mine. I think mine is a little better 
> > since it defines and uses a PACKAGECONFIG for the vala support, which should 
> > make it easier for anyone wanting to, e.g., disable the vala support even if 
> > it is enabled by default.  
> 
> Indeed. I'm replacing Alex's patch with yours in my testing branch in
> order to have both tested. None is on master at the moment.
> 

I'm afraid testing with this patch applied caused lots of autobuilder
failures:

https://autobuilder.yoctoproject.org/typhoon/#/builders/62/builds/6553/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/72/builds/6551/steps/11/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/52/builds/6443/steps/12/logs/stdio
...and more

So I removed it from my testing branch and got the patch by Alex again.
You'd be welcome to send a fixed version of your patch.
Peter Kjellerstedt Jan. 20, 2023, 12:53 p.m. UTC | #8
> -----Original Message-----
> From: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Sent: den 20 januari 2023 00:09
> To: Luca Ceresoli via lists.openembedded.org
> <luca.ceresoli=bootlin.com@lists.openembedded.org>
> Cc: luca.ceresoli@bootlin.com; Peter Kjellerstedt
> <peter.kjellerstedt@axis.com>; openembedded-core@lists.openembedded.org;
> Richard Purdie <richard.purdie@linuxfoundation.org>
> Subject: Re: [OE-core] [PATCH] librsvg: Only enable the Vala bindings if
> GObject Introspection is enabled
> 
> Hi Peter,
> 
> On Thu, 19 Jan 2023 10:29:26 +0100
> "Luca Ceresoli via lists.openembedded.org"
> <luca.ceresoli=bootlin.com@lists.openembedded.org> wrote:
> 
> > Hello Peter,
> >
> > On Wed, 18 Jan 2023 22:22:22 +0000
> > "Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:
> >
> > > > -----Original Message-----
> > > > From: Luca Ceresoli <luca.ceresoli@bootlin.com>
> > > > Sent: den 18 januari 2023 17:22
> > > > To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > > > Cc: openembedded-core@lists.openembedded.org; Richard Purdie
> > > > <richard.purdie@linuxfoundation.org>
> > > > Subject: Re: [OE-core] [PATCH] librsvg: Only enable the Vala
> bindings if
> > > > GObject Introspection is enabled
> > > >
> > > > Hello Peter,
> > > >
> > > > On Wed, 18 Jan 2023 12:27:59 +0100
> > > > "Peter Kjellerstedt" <peter.kjellerstedt@axis.com> wrote:
> > > >
> > > > > This avoids the following error:
> > > > >
> > > > >   configure: error: Vala bindings require GObject Introspection
> > > > >
> > > > > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > > >
> > > > A different patch [0] to address the same bug is already in my testing
> > > > branch and is possibly being merged soon on master by Richard. Can you
> > > > please check whether your think your patch is better and let us know?
> > >
> > > I had not seen that patch when I sent mine. I think mine is a little better
> > > since it defines and uses a PACKAGECONFIG for the vala support, which should
> > > make it easier for anyone wanting to, e.g., disable the vala support even if
> > > it is enabled by default.
> >
> > Indeed. I'm replacing Alex's patch with yours in my testing branch in
> > order to have both tested. None is on master at the moment.
> 
> I'm afraid testing with this patch applied caused lots of autobuilder
> failures:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/62/builds/6553/steps/12/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/72/builds/6551/steps/11/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/52/builds/6443/steps/12/logs/stdio
> ...and more
> 
> So I removed it from my testing branch and got the patch by Alex again.
> You'd be welcome to send a fixed version of your patch.

Meh. After having taken a closer look at gobject-introspection.bbclass, 
it appears it only adds --enable-introspection for target, so my patch 
needs to do the same. I'll send a v2.

> 
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
index b2e93a2684..c55aa250e9 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
@@ -42,8 +42,6 @@  do_configure[postfuncs] += "cargo_common_do_configure"
 
 inherit rust-target-config
 
-EXTRA_OECONF:class-target = "--enable-vala"
-
 # rust-cross writes the target linker binary into target json definition without any flags.
 # This breaks here because the linker isn't going to work without at least knowing where
 # the sysroot is. So copy the json to workdir, and patch in the path to wrapper from rust class
@@ -57,9 +55,10 @@  CVE_CHECK_IGNORE += "CVE-2018-1000041"
 
 CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
 
-PACKAGECONFIG ??= "gdkpixbuf"
+PACKAGECONFIG ??= "gdkpixbuf ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}"
 # The gdk-pixbuf loader
 PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
+PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"
 
 do_install:append() {
 	# Loadable modules don't need .a or .la on Linux