Re: [OE-core] [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS

2023-05-18 Thread Petr Kubizňák
With the patch 2/7 applied, the gobject-introspection inherit pulls in 
gobject-introspection-native, not gobject-introspection dependency. Is this 
sufficient? Please make sure it builds with g-i disabled.

Petr


From: ross.bur...@arm.com 
Sent: Tuesday, May 16, 2023 8:40 PM
To: openembedded-core@lists.openembedded.org
Cc: alex.kana...@gmail.com; Petr Kubizňák - 2N
Subject: [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS

From: Ross Burton 

The gobject-introspection inherit does this for us.

Signed-off-by: Ross Burton 
---
 meta/recipes-gnome/gnome/gconf_3.2.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb 
b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index e712e4729c3..4930aeb9f03 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf;
 LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"

-DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib 
libxml2 intltool-native"
+DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib libxml2 intltool-native"

 inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache

--
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181519): 
https://lists.openembedded.org/g/openembedded-core/message/181519
Mute This Topic: https://lists.openembedded.org/mt/98932956/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled

2023-05-18 Thread Petr Kubizňák
The comment before the modified line does not match now.

Petr


From: ross.bur...@arm.com 
Sent: Tuesday, May 16, 2023 8:40 PM
To: openembedded-core@lists.openembedded.org
Cc: alex.kana...@gmail.com; Petr Kubizňák - 2N
Subject: [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data 
being enabled

From: Ross Burton 

The gi-docgen tool depends, as it's name suggests, on
gobject-introspection being available.

Signed-off-by: Ross Burton 
---
 meta/classes-recipe/gi-docgen.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/gi-docgen.bbclass 
b/meta/classes-recipe/gi-docgen.bbclass
index 8b7eaacea3f..eb30c6011f8 100644
--- a/meta/classes-recipe/gi-docgen.bbclass
+++ b/meta/classes-recipe/gi-docgen.bbclass
@@ -10,7 +10,8 @@

 # This variable is set to True if api-documentation is in
 # DISTRO_FEATURES, and False otherwise.
-GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 
'api-documentation', 'True', 'False', d)}"
+GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 
'api-documentation gobject-introspection-data', 'True', 'False', d)}"
+
 # When building native recipes, disable gi-docgen, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
 GIDOCGEN_ENABLED:class-native = "False"
--
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181518): 
https://lists.openembedded.org/g/openembedded-core/message/181518
Mute This Topic: https://lists.openembedded.org/mt/98932958/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE

2023-05-18 Thread Petr Kubizňák
With gobject-introspection in DEPENDS, PyGObject builds always, even if 
gobject-introspection-data is not in DISTRO_FEATURES. Is this conditional 
approach better?

Petr


From: ross.bur...@arm.com 
Sent: Tuesday, May 16, 2023 8:40 PM
To: openembedded-core@lists.openembedded.org
Cc: alex.kana...@gmail.com; Petr Kubizňák - 2N
Subject: [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data 
DISTRO_FEATURE

From: Ross Burton 

PyGObject needs gobject-introspection to function, so add a distro
features check.

Signed-off-by: Ross Burton 
---
 meta/recipes-devtools/python/python3-pygobject_3.44.1.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb 
b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
index 1132e9a9ed3..43125927cd3 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
 GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = ""

-inherit gnomebase setuptools3-base gobject-introspection 
upstream-version-is-even
+inherit gnomebase setuptools3-base gobject-introspection 
upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"

 DEPENDS += "python3 glib-2.0"

--
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181517): 
https://lists.openembedded.org/g/openembedded-core/message/181517
Mute This Topic: https://lists.openembedded.org/mt/98932959/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v5 1/6] gobject-introspection: reduce dependencies

2023-05-15 Thread Petr Kubizňák
Hi Martin and Ross,

My original intention was to only condition the dependency on 
gobject-introspection but the reviewers were convinced the -native packages 
should be handled the same, see 
https://lists.openembedded.org/g/openembedded-core/message/175475 . That 
triggered a set of patches like 
https://lists.openembedded.org/g/openembedded-core/message/179620 . The result 
is passing the builds but honestly I'm not surprised about side-effects, sorry 
for that.

The key question is whether the problematic packages have intrinsic dependency 
on g-i-native, which can (and should) be fixed by adding the package in DEPENDS 
directly, or g-i-native is always needed as Ross says, which would imply 
g-i-native should not be conditioned by GI_DATA_ENABLED in the class.

I'm not an expert on g-i so I didn't have strong arguments but feel free to 
convince Alex that g-i-native should be always in DEPENDS.

Petr


From: Ross Burton 
Sent: Monday, May 15, 2023 3:58 PM
To: martin.ja...@gmail.com
Cc: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v5 1/6] gobject-introspection: reduce dependencies

On 15 May 2023, at 12:40, Martin Jansa via lists.openembedded.org 
 wrote:
>  do_configure:prepend:class-target () {
> -# introspection.m4 pre-packaged with upstream tarballs does not yet
> -# have our fixes
> -mkdir -p ${S}/m4
> -cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> +if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = 
> "1" ] ; then
> +# introspection.m4 pre-packaged with upstream tarballs does not yet
> +# have our fixes
> +mkdir -p ${S}/m4
> +cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> +fi
>
> Was this extra .m4 file causing issues in builds without 
> gobject-introspection-data in DISTRO_FEATURES?
>
> I've noticed some maybe unexpected side-effects from this change, see:
> libblockdev: 
> https://lists.openembedded.org/g/openembedded-devel/message/102599
> glade: https://lists.openembedded.org/g/openembedded-devel/message/102601

That would be from:

-DEPENDS:append:class-target = " gobject-introspection 
gobject-introspection-native qemu-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', 'gobject-introspection gobject-introspection-native qemu-native', '', 
d)}”

As the comment below explains:

# Even though introspection is disabled on -native, gobject-introspection 
package is still
# needed for m4 macros.

g-i-native will *always* be needed as a build dependency, because packages 
built from git may not have any m4 macros in.

Ross

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181263): 
https://lists.openembedded.org/g/openembedded-core/message/181263
Mute This Topic: https://lists.openembedded.org/mt/98032505/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v4] devicetree.bbclass: Allow selection of dts files to build

2023-05-05 Thread Petr Kubizňák
Hi Richard,

Thanks for accepting the patch.

I can for sure send a doc patch, just want to make sure it is desired since the 
glossary does not list any DT_* variable at the moment, and the devicetree 
class section in this respect only refers to the class sources. So I think both 
DT_FILES and DT_FILES_PATH variables should be documented at least, right?

Cheers,
Petr


From: Richard Purdie 
Sent: Thursday, May 4, 2023 1:38 PM
To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org
Cc: Michael Opdenacker
Subject: Re: [OE-core][PATCH v4] devicetree.bbclass: Allow selection of dts 
files to build

On Wed, 2023-04-26 at 09:22 +0200, Petr Kubizňák wrote:
> Add DT_FILES variable to allow the user of the class to select specific
> dts files to build. This is useful for packages featuring dts files
> for multiple machines.
>
> To make DT_FILES consistent with KERNEL_DEVICETREE, the list works
> with both dts and dtb files.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/classes-recipe/devicetree.bbclass | 9 +++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes-recipe/devicetree.bbclass 
> b/meta/classes-recipe/devicetree.bbclass
> index ed2a92e447..bd50d7fa1d 100644
> --- a/meta/classes-recipe/devicetree.bbclass
> +++ b/meta/classes-recipe/devicetree.bbclass
> @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
>
>  DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
> compiler and preprocessor for inclusion."
>  DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
> -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select 
> dts files that are not in source (e.g. generated)."
> +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
> Defaults to source directory."
>  DT_FILES_PATH ?= "${S}"
> +DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to 
> DT_FILES_PATH) to build. If empty, all dts files are built."
> +DT_FILES ?= ""
>
>  DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as 
> extra space typically for additional properties during boot."
>  DT_PADDING_SIZE ??= "0x3000"
> @@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d):
>  subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
> stderr=subprocess.STDOUT)
>
>  python devicetree_do_compile() {
> +import re
>  includes = expand_includes("DT_INCLUDE", d)
> +dtfiles = d.getVar("DT_FILES").split()
> +dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ]
>  listpath = d.getVar("DT_FILES_PATH")
> -for dts in os.listdir(listpath):
> +for dts in dtfiles or os.listdir(listpath):
>  dtspath = os.path.join(listpath, dts)
>  try:
>  if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or 
> devicetree_source_is_overlay(dtspath)):

I've taken this but could you send a patch to the documentation to add
this variable to the glossary and to the devicetree class section
please?

Thanks,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180908): 
https://lists.openembedded.org/g/openembedded-core/message/180908
Mute This Topic: https://lists.openembedded.org/mt/98510103/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4] devicetree.bbclass: Allow selection of dts files to build

2023-04-26 Thread Petr Kubizňák
Add DT_FILES variable to allow the user of the class to select specific
dts files to build. This is useful for packages featuring dts files
for multiple machines.

To make DT_FILES consistent with KERNEL_DEVICETREE, the list works
with both dts and dtb files.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/devicetree.bbclass | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta/classes-recipe/devicetree.bbclass 
b/meta/classes-recipe/devicetree.bbclass
index ed2a92e447..bd50d7fa1d 100644
--- a/meta/classes-recipe/devicetree.bbclass
+++ b/meta/classes-recipe/devicetree.bbclass
@@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
 
 DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
compiler and preprocessor for inclusion."
 DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
-DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts 
files that are not in source (e.g. generated)."
+DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
Defaults to source directory."
 DT_FILES_PATH ?= "${S}"
+DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to 
DT_FILES_PATH) to build. If empty, all dts files are built."
+DT_FILES ?= ""
 
 DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra 
space typically for additional properties during boot."
 DT_PADDING_SIZE ??= "0x3000"
@@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d):
 subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT)
 
 python devicetree_do_compile() {
+import re
 includes = expand_includes("DT_INCLUDE", d)
+dtfiles = d.getVar("DT_FILES").split()
+dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ]
 listpath = d.getVar("DT_FILES_PATH")
-for dts in os.listdir(listpath):
+for dts in dtfiles or os.listdir(listpath):
 dtspath = os.path.join(listpath, dts)
 try:
 if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or 
devicetree_source_is_overlay(dtspath)):
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180407): 
https://lists.openembedded.org/g/openembedded-core/message/180407
Mute This Topic: https://lists.openembedded.org/mt/98510103/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v3] devicetree.bbclass: Allow selection of dts files to build

2023-04-24 Thread Petr Kubizňák
Hi Denys,

> Any examples of this being used? Not really clear from the description what's
> this really used for...

I'm not sure what is unclear to you - just the commit message, or the patch 
itself?

An example could be beaglebone-yocto.conf. If someone decides to move the 
device tree files from kernel to a standalone repository, then it is enough 
(e.g.) to rename KERNEL_DEVICETREE to EXTERNAL_DEVICETREE in the machine conf, 
and make an assignment DT_FILES = "${EXTERNAL_DEVICETREE}" in the devicetree 
recipe.

So how about to replace the unclear sentence by:
To make DT_FILES consistent with KERNEL_DEVICETREE, the list works with both 
dts and dtb files.

Would that make more sense to you? Or do you think the example should be part 
of that commit message, too?

Cheers,
Petr


From: Denys Dmytriyenko 
Sent: Sunday, April 23, 2023 12:07 AM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v3] devicetree.bbclass: Allow selection of dts 
files to build

On Fri, Apr 21, 2023 at 05:23:25PM +0200, Petr Kubizňák wrote:
> Add DT_FILES variable to allow the user of the class to select specific
> dts files to build. This is useful for packages featuring dts files
> for multiple machines.
>
> Since many machine configs contain a list of dtb files
> (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files.

Any examples of this being used? Not really clear from the description what's
this really used for...


> Signed-off-by: Petr Kubizňák 
> ---
>  meta/classes-recipe/devicetree.bbclass | 9 +++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes-recipe/devicetree.bbclass 
> b/meta/classes-recipe/devicetree.bbclass
> index ed2a92e447..bd50d7fa1d 100644
> --- a/meta/classes-recipe/devicetree.bbclass
> +++ b/meta/classes-recipe/devicetree.bbclass
> @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
>
>  DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
> compiler and preprocessor for inclusion."
>  DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
> -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select 
> dts files that are not in source (e.g. generated)."
> +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
> Defaults to source directory."
>  DT_FILES_PATH ?= "${S}"
> +DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to 
> DT_FILES_PATH) to build. If empty, all dts files are built."
> +DT_FILES ?= ""
>
>  DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as 
> extra space typically for additional properties during boot."
>  DT_PADDING_SIZE ??= "0x3000"
> @@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d):
>  subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
> stderr=subprocess.STDOUT)
>
>  python devicetree_do_compile() {
> +import re
>  includes = expand_includes("DT_INCLUDE", d)
> +dtfiles = d.getVar("DT_FILES").split()
> +dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ]
>  listpath = d.getVar("DT_FILES_PATH")
> -for dts in os.listdir(listpath):
> +for dts in dtfiles or os.listdir(listpath):
>  dtspath = os.path.join(listpath, dts)
>  try:
>  if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or 
> devicetree_source_is_overlay(dtspath)):
> --
> 2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180344): 
https://lists.openembedded.org/g/openembedded-core/message/180344
Mute This Topic: https://lists.openembedded.org/mt/98413143/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3] devicetree.bbclass: Allow selection of dts files to build

2023-04-21 Thread Petr Kubizňák
Add DT_FILES variable to allow the user of the class to select specific
dts files to build. This is useful for packages featuring dts files
for multiple machines.

Since many machine configs contain a list of dtb files
(e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/devicetree.bbclass | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta/classes-recipe/devicetree.bbclass 
b/meta/classes-recipe/devicetree.bbclass
index ed2a92e447..bd50d7fa1d 100644
--- a/meta/classes-recipe/devicetree.bbclass
+++ b/meta/classes-recipe/devicetree.bbclass
@@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
 
 DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
compiler and preprocessor for inclusion."
 DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
-DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts 
files that are not in source (e.g. generated)."
+DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
Defaults to source directory."
 DT_FILES_PATH ?= "${S}"
+DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to 
DT_FILES_PATH) to build. If empty, all dts files are built."
+DT_FILES ?= ""
 
 DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra 
space typically for additional properties during boot."
 DT_PADDING_SIZE ??= "0x3000"
@@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d):
 subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT)
 
 python devicetree_do_compile() {
+import re
 includes = expand_includes("DT_INCLUDE", d)
+dtfiles = d.getVar("DT_FILES").split()
+dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ]
 listpath = d.getVar("DT_FILES_PATH")
-for dts in os.listdir(listpath):
+for dts in dtfiles or os.listdir(listpath):
 dtspath = os.path.join(listpath, dts)
 try:
 if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or 
devicetree_source_is_overlay(dtspath)):
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180288): 
https://lists.openembedded.org/g/openembedded-core/message/180288
Mute This Topic: https://lists.openembedded.org/mt/98413143/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build

2023-04-21 Thread Petr Kubizňák
> kernel-devicetree.bbclass does the same translation dtb->dts

I mean dts->dtb, of course. The point is dtb's are expected on the input.

Petr

____
From: Petr Kubizňák - 2N 
Sent: Friday, April 21, 2023 2:30 PM
To: Nathan Rossi
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts 
files to build

Hi Nathan,

Thank you for great suggestions. All of them are valid and I will update the 
patch once we discuss the .dtb -> .dts mapping.

> I am also curious why you need to handle this mapping of .dtb -> .dts.
> Do you have an example recipe that is using this class in this way?
> Because the ".dtb" in KERNEL_DEVICETREE is specifically because the
> KERNEL_DEVICETREE variable is pointing at kernel makefile targets.

I don't have an example of a particular recipe, but how about 
EXTERNAL_KERNEL_DEVICETREE variable, used in kernel-fitimage.bbclass? Albeit I 
don't use this variable in my recipes, I believe it could be used for both 
classes now with simple assignment DT_FILES = EXTERNAL_KERNEL_DEVICETREE.

And if for whatever reason someone uses a custom variable (like me), they would 
still expect dtb's rather than dts's. I didn't find any example of using lists 
of dts files. Contrary, kernel-devicetree.bbclass does the same translation 
dtb->dts and it even warns about dts being provided (see normalize_dtb()). I 
didn't want to be that strict here (if someone has a list of dts files, while 
not to use it directly) but in general, I expect a list of dtb files will be 
much more common.

Kind Regards,
Petr


From: Nathan Rossi 
Sent: Friday, April 21, 2023 1:44 PM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts 
files to build

On Fri, 21 Apr 2023 at 18:41, Petr Kubizňák  wrote:
>
> Add DT_FILES variable to allow the user of the class to select specific
> dts files to build. This is useful for packages featuring dts files
> for multiple machines.
>
> Since many machine configs contain a list of dtb files
> (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/classes-recipe/devicetree.bbclass | 10 +-
>  1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes-recipe/devicetree.bbclass 
> b/meta/classes-recipe/devicetree.bbclass
> index ed2a92e447..8f348f1370 100644
> --- a/meta/classes-recipe/devicetree.bbclass
> +++ b/meta/classes-recipe/devicetree.bbclass
> @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
>
>  DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
> compiler and preprocessor for inclusion."
>  DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
> -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select 
> dts files that are not in source (e.g. generated)."
> +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
> Defaults to source directory."
>  DT_FILES_PATH ?= "${S}"
> +DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If 
> empty, all dts files are built."

Worth noting in the doc string that DT_FILES paths are relative to
DT_FILES_PATH.

> +DT_FILES ?= ""
>
>  DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as 
> extra space typically for additional properties during boot."
>  DT_PADDING_SIZE ??= "0x3000"
> @@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d):
>  subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
> stderr=subprocess.STDOUT)
>
>  python devicetree_do_compile() {
> +import re
>  includes = expand_includes("DT_INCLUDE", d)
> +dtfiles = d.getVar("DT_FILES")

If this populates the variable dtfiles with DT_FILES already split it
can fall back to os.listdir if empty, this avoids the need for the "if
filter..." logic within the loop:

dtfiles = d.getVar("DT_FILES").split()
dtfiles = [ for dtfiles in dtfiles]
for dts in dtfiles or os.listdir(listpath):

> +filter = [ re.sub("dtbo?", "dts", dtfile) for dtfile in dtfiles.split() ]

This regex is a bit problematic, it will substitute any part of the
filename and not just the extension suffix. E.g. "test-dtbo.dts" ->
"test-dts.dts". The expression might need to be something similar to
"\.dtbo?$".

I am also curious why you need to handle this mapping of .dtb -> .dts.
Do you have an example recipe that is using this class in this way?
Because the ".dtb" in KERNEL_DEVICETREE is specifically b

Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build

2023-04-21 Thread Petr Kubizňák
Hi Nathan,

Thank you for great suggestions. All of them are valid and I will update the 
patch once we discuss the .dtb -> .dts mapping.

> I am also curious why you need to handle this mapping of .dtb -> .dts.
> Do you have an example recipe that is using this class in this way?
> Because the ".dtb" in KERNEL_DEVICETREE is specifically because the
> KERNEL_DEVICETREE variable is pointing at kernel makefile targets.

I don't have an example of a particular recipe, but how about 
EXTERNAL_KERNEL_DEVICETREE variable, used in kernel-fitimage.bbclass? Albeit I 
don't use this variable in my recipes, I believe it could be used for both 
classes now with simple assignment DT_FILES = EXTERNAL_KERNEL_DEVICETREE.

And if for whatever reason someone uses a custom variable (like me), they would 
still expect dtb's rather than dts's. I didn't find any example of using lists 
of dts files. Contrary, kernel-devicetree.bbclass does the same translation 
dtb->dts and it even warns about dts being provided (see normalize_dtb()). I 
didn't want to be that strict here (if someone has a list of dts files, while 
not to use it directly) but in general, I expect a list of dtb files will be 
much more common.

Kind Regards,
Petr


From: Nathan Rossi 
Sent: Friday, April 21, 2023 1:44 PM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts 
files to build

On Fri, 21 Apr 2023 at 18:41, Petr Kubizňák  wrote:
>
> Add DT_FILES variable to allow the user of the class to select specific
> dts files to build. This is useful for packages featuring dts files
> for multiple machines.
>
> Since many machine configs contain a list of dtb files
> (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/classes-recipe/devicetree.bbclass | 10 +-
>  1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes-recipe/devicetree.bbclass 
> b/meta/classes-recipe/devicetree.bbclass
> index ed2a92e447..8f348f1370 100644
> --- a/meta/classes-recipe/devicetree.bbclass
> +++ b/meta/classes-recipe/devicetree.bbclass
> @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
>
>  DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
> compiler and preprocessor for inclusion."
>  DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
> -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select 
> dts files that are not in source (e.g. generated)."
> +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
> Defaults to source directory."
>  DT_FILES_PATH ?= "${S}"
> +DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If 
> empty, all dts files are built."

Worth noting in the doc string that DT_FILES paths are relative to
DT_FILES_PATH.

> +DT_FILES ?= ""
>
>  DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as 
> extra space typically for additional properties during boot."
>  DT_PADDING_SIZE ??= "0x3000"
> @@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d):
>  subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
> stderr=subprocess.STDOUT)
>
>  python devicetree_do_compile() {
> +import re
>  includes = expand_includes("DT_INCLUDE", d)
> +dtfiles = d.getVar("DT_FILES")

If this populates the variable dtfiles with DT_FILES already split it
can fall back to os.listdir if empty, this avoids the need for the "if
filter..." logic within the loop:

dtfiles = d.getVar("DT_FILES").split()
dtfiles = [ for dtfiles in dtfiles]
for dts in dtfiles or os.listdir(listpath):

> +filter = [ re.sub("dtbo?", "dts", dtfile) for dtfile in dtfiles.split() ]

This regex is a bit problematic, it will substitute any part of the
filename and not just the extension suffix. E.g. "test-dtbo.dts" ->
"test-dts.dts". The expression might need to be something similar to
"\.dtbo?$".

I am also curious why you need to handle this mapping of .dtb -> .dts.
Do you have an example recipe that is using this class in this way?
Because the ".dtb" in KERNEL_DEVICETREE is specifically because the
KERNEL_DEVICETREE variable is pointing at kernel makefile targets.

Regards,
Nathan

>  listpath = d.getVar("DT_FILES_PATH")
>  for dts in os.listdir(listpath):
>  dtspath = os.path.join(listpath, dts)
> @@ -134,6 +139,9 @@ python devicetree_do_compile() {
>  continue # skip non-.dts files and non-overlay files
>  except:
>  

[OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build

2023-04-21 Thread Petr Kubizňák
Add DT_FILES variable to allow the user of the class to select specific
dts files to build. This is useful for packages featuring dts files
for multiple machines.

Since many machine configs contain a list of dtb files
(e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/devicetree.bbclass | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/devicetree.bbclass 
b/meta/classes-recipe/devicetree.bbclass
index ed2a92e447..8f348f1370 100644
--- a/meta/classes-recipe/devicetree.bbclass
+++ b/meta/classes-recipe/devicetree.bbclass
@@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
 
 DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
compiler and preprocessor for inclusion."
 DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
-DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts 
files that are not in source (e.g. generated)."
+DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
Defaults to source directory."
 DT_FILES_PATH ?= "${S}"
+DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If empty, 
all dts files are built."
+DT_FILES ?= ""
 
 DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra 
space typically for additional properties during boot."
 DT_PADDING_SIZE ??= "0x3000"
@@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d):
 subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT)
 
 python devicetree_do_compile() {
+import re
 includes = expand_includes("DT_INCLUDE", d)
+dtfiles = d.getVar("DT_FILES")
+filter = [ re.sub("dtbo?", "dts", dtfile) for dtfile in dtfiles.split() ]
 listpath = d.getVar("DT_FILES_PATH")
 for dts in os.listdir(listpath):
 dtspath = os.path.join(listpath, dts)
@@ -134,6 +139,9 @@ python devicetree_do_compile() {
 continue # skip non-.dts files and non-overlay files
 except:
 continue # skip if can't determine if overlay
+if filter:
+if not(dts in filter):
+continue # skip if dts not in defined filter
 devicetree_compile(dtspath, includes, d)
 }
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180281): 
https://lists.openembedded.org/g/openembedded-core/message/180281
Mute This Topic: https://lists.openembedded.org/mt/98406619/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH] devicetree.bbclass: Allow selection of dts files to build

2023-04-20 Thread Petr Kubizňák
Add DT_FILES variable to allow the user of the class to select specific
dts files to build. This is useful for packages featuring dts files
for multiple machines.

Since many machine configs contain a list of dtb files
(e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/devicetree.bbclass | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/devicetree.bbclass 
b/meta/classes-recipe/devicetree.bbclass
index ed2a92e447..fb73c44e22 100644
--- a/meta/classes-recipe/devicetree.bbclass
+++ b/meta/classes-recipe/devicetree.bbclass
@@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \
 
 DT_INCLUDE[doc] = "Search paths to be made available to both the device tree 
compiler and preprocessor for inclusion."
 DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}"
-DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts 
files that are not in source (e.g. generated)."
+DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. 
Defaults to source directory."
 DT_FILES_PATH ?= "${S}"
+DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If empty, 
all dts files are built."
+DT_FILES ?= ""
 
 DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra 
space typically for additional properties during boot."
 DT_PADDING_SIZE ??= "0x3000"
@@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d):
 subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, 
stderr=subprocess.STDOUT)
 
 python devicetree_do_compile() {
+import re
 includes = expand_includes("DT_INCLUDE", d)
+dtfiles = d.getVar("DT_FILES")
+filter = [ re.sub('dtb[o]?', 'dts', dtfile) for dtfile in dtfiles.split() ]
 listpath = d.getVar("DT_FILES_PATH")
 for dts in os.listdir(listpath):
 dtspath = os.path.join(listpath, dts)
@@ -134,6 +139,9 @@ python devicetree_do_compile() {
 continue # skip non-.dts files and non-overlay files
 except:
 continue # skip if can't determine if overlay
+if filter:
+if not(dts in filter):
+continue # skip if dts not in defined filter
 devicetree_compile(dtspath, includes, d)
 }
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180248): 
https://lists.openembedded.org/g/openembedded-core/message/180248
Mute This Topic: https://lists.openembedded.org/mt/98386654/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies

2023-04-05 Thread Petr Kubizňák
Hi Richard,

Thanks for merging the vte patch. I'd like to confirm that the build succeeded 
on my side yesterday so that should be all prerequisites needed for the 
"gobject-introspection: reduce dependencies" which has not been merged yet. 
I've seen that patch was already in master-next but was removed from there. So 
I just want to make sure it is still somewhere in the queue, not being 
forgotten.

Thanks,
Petr

____
From: Petr Kubizňák - 2N 
Sent: Tuesday, April 4, 2023 9:07 AM
To: Richard Purdie; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce 
dependencies

Yes, that's the problem.

I realized `bitbake -k world` cannot succeed for the x32 architecture so I 
didn't know how to test it. Now I see I should have executed `bitbake 
core-image-minimal core-image-sato -k`. I will send the patch once this command 
passes on my side.

Best Regards,
Petr


From: Richard Purdie 
Sent: Monday, April 3, 2023 10:14 PM
To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce 
dependencies

On Fri, 2023-03-31 at 13:46 +0200, Petr Kubizňák wrote:
> When GI_DATA_ENABLED is 'False' (e.g. because
> 'gobject-introspection-data' is not in DISTRO_FEATURES),
> gobject-introspection, gobject-introspection-native and qemu-native
> should not be added to DEPENDS. This is to reduce dependency chain
> when g-i is disabled.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/classes-recipe/gobject-introspection.bbclass | 12 +++-
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
> b/meta/classes-recipe/gobject-introspection.bbclass
> index 0c7b7d200a..98edb93761 100644
> --- a/meta/classes-recipe/gobject-introspection.bbclass
> +++ b/meta/classes-recipe/gobject-introspection.bbclass
> @@ -35,7 +35,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
> '${GIRMESONBUILD}'][d.getVar('G
>
>  # Generating introspection data depends on a combination of native and target
>  # introspection tools, and qemu to run the target tools.
> -DEPENDS:append:class-target = " gobject-introspection 
> gobject-introspection-native qemu-native"
> +DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
> 'True', 'gobject-introspection gobject-introspection-native qemu-native', '', 
> d)}"
>
>  # Even though introspection is disabled on -native, gobject-introspection 
> package is still
>  # needed for m4 macros.
> @@ -46,10 +46,12 @@ DEPENDS:append:class-nativesdk = " 
> gobject-introspection-native"
>  export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
>
>  do_configure:prepend:class-target () {
> -# introspection.m4 pre-packaged with upstream tarballs does not yet
> -# have our fixes
> -mkdir -p ${S}/m4
> -cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> +if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = 
> "1" ] ; then
> +# introspection.m4 pre-packaged with upstream tarballs does not yet
> +# have our fixes
> +mkdir -p ${S}/m4
> +cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> +fi
>  }

Automated testing picked up this issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/6802

which looks like a missing glib2.0-native dependency for vte?

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179724): 
https://lists.openembedded.org/g/openembedded-core/message/179724
Mute This Topic: https://lists.openembedded.org/mt/97971464/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH] vte: depend on glib-2.0-native

2023-04-04 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in but vte has a hard dependency on it
(do_configure fails due to missing glib-mkenums).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-support/vte/vte_0.72.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-support/vte/vte_0.72.0.bb 
b/meta/recipes-support/vte/vte_0.72.0.bb
index c08ac879e1..5eaff99159 100644
--- a/meta/recipes-support/vte/vte_0.72.0.bb
+++ b/meta/recipes-support/vte/vte_0.72.0.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = " \
 file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
 "
 
-DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu"
+DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native 
icu"
 
 GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = 'gir'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179684): 
https://lists.openembedded.org/g/openembedded-core/message/179684
Mute This Topic: https://lists.openembedded.org/mt/98057145/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies

2023-04-04 Thread Petr Kubizňák
Yes, that's the problem.

I realized `bitbake -k world` cannot succeed for the x32 architecture so I 
didn't know how to test it. Now I see I should have executed `bitbake 
core-image-minimal core-image-sato -k`. I will send the patch once this command 
passes on my side.

Best Regards,
Petr


From: Richard Purdie 
Sent: Monday, April 3, 2023 10:14 PM
To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce 
dependencies

On Fri, 2023-03-31 at 13:46 +0200, Petr Kubizňák wrote:
> When GI_DATA_ENABLED is 'False' (e.g. because
> 'gobject-introspection-data' is not in DISTRO_FEATURES),
> gobject-introspection, gobject-introspection-native and qemu-native
> should not be added to DEPENDS. This is to reduce dependency chain
> when g-i is disabled.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/classes-recipe/gobject-introspection.bbclass | 12 +++-
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
> b/meta/classes-recipe/gobject-introspection.bbclass
> index 0c7b7d200a..98edb93761 100644
> --- a/meta/classes-recipe/gobject-introspection.bbclass
> +++ b/meta/classes-recipe/gobject-introspection.bbclass
> @@ -35,7 +35,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
> '${GIRMESONBUILD}'][d.getVar('G
>
>  # Generating introspection data depends on a combination of native and target
>  # introspection tools, and qemu to run the target tools.
> -DEPENDS:append:class-target = " gobject-introspection 
> gobject-introspection-native qemu-native"
> +DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
> 'True', 'gobject-introspection gobject-introspection-native qemu-native', '', 
> d)}"
>
>  # Even though introspection is disabled on -native, gobject-introspection 
> package is still
>  # needed for m4 macros.
> @@ -46,10 +46,12 @@ DEPENDS:append:class-nativesdk = " 
> gobject-introspection-native"
>  export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
>
>  do_configure:prepend:class-target () {
> -# introspection.m4 pre-packaged with upstream tarballs does not yet
> -# have our fixes
> -mkdir -p ${S}/m4
> -cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> +if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = 
> "1" ] ; then
> +# introspection.m4 pre-packaged with upstream tarballs does not yet
> +# have our fixes
> +mkdir -p ${S}/m4
> +cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> +fi
>  }

Automated testing picked up this issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/6802

which looks like a missing glib2.0-native dependency for vte?

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179673): 
https://lists.openembedded.org/g/openembedded-core/message/179673
Mute This Topic: https://lists.openembedded.org/mt/97971464/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v5 6/6] libnotify: depend on glib-2.0-native

2023-04-03 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in but libnotify has a hard dependency on it
(do_configure fails due to missing glib-mkenums).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-gnome/libnotify/libnotify_0.8.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb 
b/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb
index bbfc217df1..b1656fe0fe 100644
--- a/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb
+++ b/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb
@@ -9,7 +9,7 @@ SECTION = "libs"
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
-DEPENDS = "dbus glib-2.0 gdk-pixbuf"
+DEPENDS = "dbus glib-2.0 glib-2.0-native gdk-pixbuf"
 
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179622): 
https://lists.openembedded.org/g/openembedded-core/message/179622
Mute This Topic: https://lists.openembedded.org/mt/98032510/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v5 2/6] graphene: add gobject-types PACKAGECONFIG

2023-04-03 Thread Petr Kubizňák
Add an option to enable/disable build of graphene-gobject. When
enabled, add glib dependency (not pulled in implicitly if
the gobject-introspection feature is disabled).

Default is to enable gobject-types so that graphene-gobject is built
(dependency of gtk4).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 120ee80b17..9f5b4d0e2d 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = 
"a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3
 
 # Disable neon support by default on ARM-32 platforms because of the
 # following upstream bug: https://github.com/ebassi/graphene/issues/215
-PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', 
d)}"
+PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 
'aarch64', 'neon', '', d)}"
 
+PACKAGECONFIG[gobject-types] = 
"-Dgobject_types=true,-Dgobject_types=false,glib-2.0"
 PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179619): 
https://lists.openembedded.org/g/openembedded-core/message/179619
Mute This Topic: https://lists.openembedded.org/mt/98032507/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v5 3/6] python3-pygobject: depend on gobject-introspection

2023-04-03 Thread Petr Kubizňák
When g-i feature is disabled, the gobject-introspection package
dependency is not pulled in but pygobject has a hard dependency on it.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb 
b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
index cc7b07e804..f54f4ce784 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
@@ -10,7 +10,7 @@ GIR_MESON_OPTION = ""
 
 inherit gnomebase setuptools3-base gobject-introspection 
upstream-version-is-even
 
-DEPENDS += "python3 glib-2.0"
+DEPENDS += "python3 glib-2.0 gobject-introspection"
 
 SRCNAME="pygobject"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179618): 
https://lists.openembedded.org/g/openembedded-core/message/179618
Mute This Topic: https://lists.openembedded.org/mt/98032506/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v5 5/6] webkitgtk: add missing dependencies

2023-04-03 Thread Petr Kubizňák
When gobject-introspection feature is disabled, gettext-native and
glib-2.0-native dependencies are not pulled in, which causes failures
in do_compile due to missing xgettext and gdbus-codegen.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb 
b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
index 832c8327dd..36c6233b33 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
@@ -38,6 +38,8 @@ DEPENDS += " \
   libnotify \
   gstreamer1.0 \
   gstreamer1.0-plugins-base \
+  glib-2.0-native \
+  gettext-native \
   "
 
 PACKAGECONFIG_SOUP ?= "soup3"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179621): 
https://lists.openembedded.org/g/openembedded-core/message/179621
Mute This Topic: https://lists.openembedded.org/mt/98032509/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v5 1/6] gobject-introspection: reduce dependencies

2023-04-03 Thread Petr Kubizňák
When GI_DATA_ENABLED is 'False' (e.g. because
'gobject-introspection-data' is not in DISTRO_FEATURES),
gobject-introspection, gobject-introspection-native and qemu-native
should not be added to DEPENDS. This is to reduce dependency chain
when g-i is disabled.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/gobject-introspection.bbclass | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
b/meta/classes-recipe/gobject-introspection.bbclass
index 0c7b7d200a..98edb93761 100644
--- a/meta/classes-recipe/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -35,7 +35,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
'${GIRMESONBUILD}'][d.getVar('G
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
-DEPENDS:append:class-target = " gobject-introspection 
gobject-introspection-native qemu-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', 'gobject-introspection gobject-introspection-native qemu-native', '', 
d)}"
 
 # Even though introspection is disabled on -native, gobject-introspection 
package is still
 # needed for m4 macros.
@@ -46,10 +46,12 @@ DEPENDS:append:class-nativesdk = " 
gobject-introspection-native"
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 do_configure:prepend:class-target () {
-# introspection.m4 pre-packaged with upstream tarballs does not yet
-# have our fixes
-mkdir -p ${S}/m4
-cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = "1" 
] ; then
+# introspection.m4 pre-packaged with upstream tarballs does not yet
+# have our fixes
+mkdir -p ${S}/m4
+cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+fi
 }
 
 # .typelib files are needed at runtime and so they go to the main package (so
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179617): 
https://lists.openembedded.org/g/openembedded-core/message/179617
Mute This Topic: https://lists.openembedded.org/mt/98032505/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v5 4/6] gconf: add missing dependencies

2023-04-03 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native
and gobject-introspection package dependencies are not pulled in
but gconf has a hard dependency on them (do_configure fails due to
missing introspection.m4 file and glib-gettextize).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-gnome/gnome/gconf_3.2.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb 
b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index 776f6091aa..e712e4729c 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf;
 LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
-DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native"
+DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib 
libxml2 intltool-native"
 
 inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179620): 
https://lists.openembedded.org/g/openembedded-core/message/179620
Mute This Topic: https://lists.openembedded.org/mt/98032508/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v4 06/10] webkitgtk: add missing dependencies

2023-04-03 Thread Petr Kubizňák
Hi Richard,

Yes, that is sufficient. I've prepared an updated patch. In the meantime, I've 
noticed some of the patches from the series had been merged into master-next, 
but not to the master yet. Should I now resend the whole series, or filter out 
these patches, i.e. rebase to master or master-next?

Thanks,
Petr


From: Richard Purdie 
Sent: Friday, March 31, 2023 2:06 PM
To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH v4 06/10] webkitgtk: add missing dependencies

On Fri, 2023-03-31 at 13:46 +0200, Petr Kubizňák wrote:
> When gobject-introspection feature is disabled, gettext and
> glib-2.0-native dependencies are not pulled in, which causes failures
> in do_compile due to missing xgettext and gdbus-codegen.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb 
> b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
> index e52920883a..b49ecf2a31 100644
> --- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
> +++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
> @@ -17,7 +17,7 @@ SRC_URI = 
> "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
> "
>  SRC_URI[sha256sum] = 
> "40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7"
>
> -inherit cmake pkgconfig gobject-introspection perlnative features_check 
> upstream-version-is-even gi-docgen
> +inherit cmake pkgconfig gobject-introspection perlnative features_check 
> upstream-version-is-even gi-docgen gettext
>
>  ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
>  REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 
> 'wayland', 'opengl', '', d)}"
> @@ -38,6 +38,7 @@ DEPENDS += " \
>libnotify \
>gstreamer1.0 \
>gstreamer1.0-plugins-base \
> +  glib-2.0-native \
>"
>
>  PACKAGECONFIG_SOUP ?= "soup3"

If the dependency is just xgettext then it may just be a DEPENDS +=
"gettext-native"  which is a lower requirement than the full gettext
target code?

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179606): 
https://lists.openembedded.org/g/openembedded-core/message/179606
Mute This Topic: https://lists.openembedded.org/mt/97971478/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 07/10] harfbuzz: depend on glib-2.0-native

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in but harfbuzz has a hard dependency on it
(do_configure fails due to missing glib-mkenums).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb 
b/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb
index 4406e15df4..71c92c64ef 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb
@@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
 SRC_URI[sha256sum] = 
"f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b"
 
+DEPENDS += "glib-2.0-native"
+
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection 
github-releases
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179438): 
https://lists.openembedded.org/g/openembedded-core/message/179438
Mute This Topic: https://lists.openembedded.org/mt/97971483/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 09/10] libgudev: depend on glib-2.0-native

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in but libgudev has a hard dependency on it
(do_configure fails due to missing glib-mkenums).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-gnome/libgudev/libgudev_237.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/libgudev/libgudev_237.bb 
b/meta/recipes-gnome/libgudev/libgudev_237.bb
index 9ce43ce34b..5aa94e58f5 100644
--- a/meta/recipes-gnome/libgudev/libgudev_237.bb
+++ b/meta/recipes-gnome/libgudev/libgudev_237.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev;
 BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues;
 SRC_URI[archive.sha256sum] = 
"0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa"
 
-DEPENDS = "glib-2.0 udev"
+DEPENDS = "glib-2.0 glib-2.0-native udev"
 
 RCONFLICTS:${PN} = "systemd (<= 220)"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179436): 
https://lists.openembedded.org/g/openembedded-core/message/179436
Mute This Topic: https://lists.openembedded.org/mt/97971481/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 10/10] at-spi2-core: depend on glib-2.0-native

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in but at-spi2-core has a hard dependency on it
(do_configure fails due to missing glib-genmarshal).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-support/atk/at-spi2-core_2.46.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-support/atk/at-spi2-core_2.46.0.bb 
b/meta/recipes-support/atk/at-spi2-core_2.46.0.bb
index d9161e1acb..90313467d0 100644
--- a/meta/recipes-support/atk/at-spi2-core_2.46.0.bb
+++ b/meta/recipes-support/atk/at-spi2-core_2.46.0.bb
@@ -13,7 +13,7 @@ SRC_URI = 
"${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
 
 SRC_URI[sha256sum] = 
"aa0c86c79f7a8d67bae49a5b7a5ab08430c608cffe6e33bf47a72f41ab03c3d0"
 
-DEPENDS = "dbus glib-2.0 libxml2"
+DEPENDS = "dbus glib-2.0 glib-2.0-native libxml2"
 
 # For backwards compatibility
 PROVIDES += "atk at-spi2-atk"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179437): 
https://lists.openembedded.org/g/openembedded-core/message/179437
Mute This Topic: https://lists.openembedded.org/mt/97971482/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 05/10] avahi: add missing dependencies

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native
and gobject-introspection package dependencies are not pulled in
but avahi has a hard dependency on them (do_configure fails due
to missing introspection.m4 file, do_compile fails due to missing
glib-mkenums).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-connectivity/avahi/avahi_0.8.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb 
b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index a830385352..bf6835e0d6 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -35,7 +35,7 @@ SRC_URI[sha256sum] = 
"060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de79
 # Issue only affects Debian/SUSE, not us
 CVE_CHECK_IGNORE += "CVE-2021-26720"
 
-DEPENDS = "expat libcap libdaemon glib-2.0"
+DEPENDS = "expat libcap libdaemon glib-2.0 glib-2.0-native 
gobject-introspection"
 
 # For gtk related PACKAGECONFIGs: gtk, gtk3
 AVAHI_GTK ?= ""
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179435): 
https://lists.openembedded.org/g/openembedded-core/message/179435
Mute This Topic: https://lists.openembedded.org/mt/97971480/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 04/10] gconf: add missing dependencies

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native
and gobject-introspection package dependencies are not pulled in
but gconf has a hard dependency on them (do_configure fails due to
missing introspection.m4 file and glib-gettextize).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-gnome/gnome/gconf_3.2.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb 
b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index 776f6091aa..e712e4729c 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf;
 LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
-DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native"
+DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib 
libxml2 intltool-native"
 
 inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179432): 
https://lists.openembedded.org/g/openembedded-core/message/179432
Mute This Topic: https://lists.openembedded.org/mt/97971477/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 03/10] python3-pygobject: depend on gobject-introspection

2023-03-31 Thread Petr Kubizňák
When g-i feature is disabled, the gobject-introspection package
dependency is not pulled in but pygobject has a hard dependency on it.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb 
b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
index cc7b07e804..f54f4ce784 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
@@ -10,7 +10,7 @@ GIR_MESON_OPTION = ""
 
 inherit gnomebase setuptools3-base gobject-introspection 
upstream-version-is-even
 
-DEPENDS += "python3 glib-2.0"
+DEPENDS += "python3 glib-2.0 gobject-introspection"
 
 SRCNAME="pygobject"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179431): 
https://lists.openembedded.org/g/openembedded-core/message/179431
Mute This Topic: https://lists.openembedded.org/mt/97971476/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 06/10] webkitgtk: add missing dependencies

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, gettext and
glib-2.0-native dependencies are not pulled in, which causes failures
in do_compile due to missing xgettext and gdbus-codegen.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb 
b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
index e52920883a..b49ecf2a31 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
@@ -17,7 +17,7 @@ SRC_URI = 
"https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
"
 SRC_URI[sha256sum] = 
"40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7"
 
-inherit cmake pkgconfig gobject-introspection perlnative features_check 
upstream-version-is-even gi-docgen
+inherit cmake pkgconfig gobject-introspection perlnative features_check 
upstream-version-is-even gi-docgen gettext
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 
'opengl', '', d)}"
@@ -38,6 +38,7 @@ DEPENDS += " \
   libnotify \
   gstreamer1.0 \
   gstreamer1.0-plugins-base \
+  glib-2.0-native \
   "
 
 PACKAGECONFIG_SOUP ?= "soup3"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179433): 
https://lists.openembedded.org/g/openembedded-core/message/179433
Mute This Topic: https://lists.openembedded.org/mt/97971478/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 08/10] json-glib: depend on glib-2.0-native

2023-03-31 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in but json-glib has a hard dependency on it
(do_configure fails due to missing glib-mkenums).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-gnome/json-glib/json-glib_1.6.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb 
b/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb
index 627f389536..9c34fb7f40 100644
--- a/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb
+++ b/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb
@@ -9,7 +9,7 @@ BUGTRACKER = "https://gitlab.gnome.org/GNOME/json-glib/issues;
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
-DEPENDS = "glib-2.0"
+DEPENDS = "glib-2.0 glib-2.0-native"
 
 GNOMEBASEBUILDCLASS = "meson"
 inherit gnomebase lib_package gobject-introspection gi-docgen gettext 
ptest-gnome manpages upstream-version-is-even
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179434): 
https://lists.openembedded.org/g/openembedded-core/message/179434
Mute This Topic: https://lists.openembedded.org/mt/97971479/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 02/10] graphene: add gobject-types PACKAGECONFIG

2023-03-31 Thread Petr Kubizňák
Add an option to enable/disable build of graphene-gobject. When
enabled, add glib dependency (not pulled in implicitly if
the gobject-introspection feature is disabled).

Default is to enable gobject-types so that graphene-gobject is built
(dependency of gtk4).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 120ee80b17..9f5b4d0e2d 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = 
"a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3
 
 # Disable neon support by default on ARM-32 platforms because of the
 # following upstream bug: https://github.com/ebassi/graphene/issues/215
-PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', 
d)}"
+PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 
'aarch64', 'neon', '', d)}"
 
+PACKAGECONFIG[gobject-types] = 
"-Dgobject_types=true,-Dgobject_types=false,glib-2.0"
 PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179430): 
https://lists.openembedded.org/g/openembedded-core/message/179430
Mute This Topic: https://lists.openembedded.org/mt/97971474/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies

2023-03-31 Thread Petr Kubizňák
When GI_DATA_ENABLED is 'False' (e.g. because
'gobject-introspection-data' is not in DISTRO_FEATURES),
gobject-introspection, gobject-introspection-native and qemu-native
should not be added to DEPENDS. This is to reduce dependency chain
when g-i is disabled.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/gobject-introspection.bbclass | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
b/meta/classes-recipe/gobject-introspection.bbclass
index 0c7b7d200a..98edb93761 100644
--- a/meta/classes-recipe/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -35,7 +35,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
'${GIRMESONBUILD}'][d.getVar('G
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
-DEPENDS:append:class-target = " gobject-introspection 
gobject-introspection-native qemu-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', 'gobject-introspection gobject-introspection-native qemu-native', '', 
d)}"
 
 # Even though introspection is disabled on -native, gobject-introspection 
package is still
 # needed for m4 macros.
@@ -46,10 +46,12 @@ DEPENDS:append:class-nativesdk = " 
gobject-introspection-native"
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 do_configure:prepend:class-target () {
-# introspection.m4 pre-packaged with upstream tarballs does not yet
-# have our fixes
-mkdir -p ${S}/m4
-cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = "1" 
] ; then
+# introspection.m4 pre-packaged with upstream tarballs does not yet
+# have our fixes
+mkdir -p ${S}/m4
+cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+fi
 }
 
 # .typelib files are needed at runtime and so they go to the main package (so
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179429): 
https://lists.openembedded.org/g/openembedded-core/message/179429
Mute This Topic: https://lists.openembedded.org/mt/97971464/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3 3/6] python3-pygobject: depend on gobject-introspection

2023-03-24 Thread Petr Kubizňák
When g-i feature is disabled, the gobject-introspection package
dependency is not pulled in but pygobject has a hard dependency on it.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb 
b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
index cc7b07e804..f54f4ce784 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
@@ -10,7 +10,7 @@ GIR_MESON_OPTION = ""
 
 inherit gnomebase setuptools3-base gobject-introspection 
upstream-version-is-even
 
-DEPENDS += "python3 glib-2.0"
+DEPENDS += "python3 glib-2.0 gobject-introspection"
 
 SRCNAME="pygobject"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179064): 
https://lists.openembedded.org/g/openembedded-core/message/179064
Mute This Topic: https://lists.openembedded.org/mt/97825895/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3 6/6] webkitgtk: add missing dependencies

2023-03-24 Thread Petr Kubizňák
When gobject-introspection feature is disabled, gettext and
glib-2.0-native dependencies are not pulled in, which causes failures
in do_compile due to missing xgettext and gdbus-codegen.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb 
b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
index e52920883a..b49ecf2a31 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb
@@ -17,7 +17,7 @@ SRC_URI = 
"https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
"
 SRC_URI[sha256sum] = 
"40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7"
 
-inherit cmake pkgconfig gobject-introspection perlnative features_check 
upstream-version-is-even gi-docgen
+inherit cmake pkgconfig gobject-introspection perlnative features_check 
upstream-version-is-even gi-docgen gettext
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 
'opengl', '', d)}"
@@ -38,6 +38,7 @@ DEPENDS += " \
   libnotify \
   gstreamer1.0 \
   gstreamer1.0-plugins-base \
+  glib-2.0-native \
   "
 
 PACKAGECONFIG_SOUP ?= "soup3"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179067): 
https://lists.openembedded.org/g/openembedded-core/message/179067
Mute This Topic: https://lists.openembedded.org/mt/97825898/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3 4/6] gconf: depend on glib-2.0-native

2023-03-24 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in, which causes a failure in do_configure
due to missing glib-gettextize.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-gnome/gnome/gconf_3.2.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb 
b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index 776f6091aa..4930aeb9f0 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf;
 LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
-DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native"
+DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib libxml2 intltool-native"
 
 inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179065): 
https://lists.openembedded.org/g/openembedded-core/message/179065
Mute This Topic: https://lists.openembedded.org/mt/97825896/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3 5/6] avahi: depend on glib-2.0-native

2023-03-24 Thread Petr Kubizňák
When gobject-introspection feature is disabled, glib-2.0-native package
dependency is not pulled in, which causes a failure in do_compile
due to missing glib-mkenums.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-connectivity/avahi/avahi_0.8.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb 
b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index a830385352..e8aebe500e 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -35,7 +35,7 @@ SRC_URI[sha256sum] = 
"060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de79
 # Issue only affects Debian/SUSE, not us
 CVE_CHECK_IGNORE += "CVE-2021-26720"
 
-DEPENDS = "expat libcap libdaemon glib-2.0"
+DEPENDS = "expat libcap libdaemon glib-2.0 glib-2.0-native"
 
 # For gtk related PACKAGECONFIGs: gtk, gtk3
 AVAHI_GTK ?= ""
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179066): 
https://lists.openembedded.org/g/openembedded-core/message/179066
Mute This Topic: https://lists.openembedded.org/mt/97825897/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3 2/6] graphene: add gobject-types PACKAGECONFIG

2023-03-24 Thread Petr Kubizňák
Add an option to enable/disable build of graphene-gobject. When
enabled, add glib dependency (not pulled in implicitly if
the gobject-introspection feature is disabled).

Default is to enable gobject-types so that graphene-gobject is built
(dependency of gtk4).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 120ee80b17..9f5b4d0e2d 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = 
"a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3
 
 # Disable neon support by default on ARM-32 platforms because of the
 # following upstream bug: https://github.com/ebassi/graphene/issues/215
-PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', 
d)}"
+PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 
'aarch64', 'neon', '', d)}"
 
+PACKAGECONFIG[gobject-types] = 
"-Dgobject_types=true,-Dgobject_types=false,glib-2.0"
 PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179063): 
https://lists.openembedded.org/g/openembedded-core/message/179063
Mute This Topic: https://lists.openembedded.org/mt/97825894/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v3 1/6] gobject-introspection: reduce dependencies

2023-03-24 Thread Petr Kubizňák
When GI_DATA_ENABLED is 'False' (e.g. because
'gobject-introspection-data' is not in DISTRO_FEATURES),
gobject-introspection, gobject-introspection-native and qemu-native
should not be added to DEPENDS. This is to reduce dependency chain
when g-i is disabled.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/gobject-introspection.bbclass | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
b/meta/classes-recipe/gobject-introspection.bbclass
index 0c7b7d200a..98edb93761 100644
--- a/meta/classes-recipe/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -35,7 +35,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
'${GIRMESONBUILD}'][d.getVar('G
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
-DEPENDS:append:class-target = " gobject-introspection 
gobject-introspection-native qemu-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', 'gobject-introspection gobject-introspection-native qemu-native', '', 
d)}"
 
 # Even though introspection is disabled on -native, gobject-introspection 
package is still
 # needed for m4 macros.
@@ -46,10 +46,12 @@ DEPENDS:append:class-nativesdk = " 
gobject-introspection-native"
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 do_configure:prepend:class-target () {
-# introspection.m4 pre-packaged with upstream tarballs does not yet
-# have our fixes
-mkdir -p ${S}/m4
-cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = "1" 
] ; then
+# introspection.m4 pre-packaged with upstream tarballs does not yet
+# have our fixes
+mkdir -p ${S}/m4
+cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+fi
 }
 
 # .typelib files are needed at runtime and so they go to the main package (so
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179062): 
https://lists.openembedded.org/g/openembedded-core/message/179062
Mute This Topic: https://lists.openembedded.org/mt/97825893/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v2 3/3] python3-pygobject: depend on gobject-introspection

2023-03-24 Thread Petr Kubizňák
When g-i feature is disabled, the gobject-introspection package
dependency is not pulled in but pygobject has a hard dependency on it.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb 
b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
index cc7b07e804..f54f4ce784 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
@@ -10,7 +10,7 @@ GIR_MESON_OPTION = ""
 
 inherit gnomebase setuptools3-base gobject-introspection 
upstream-version-is-even
 
-DEPENDS += "python3 glib-2.0"
+DEPENDS += "python3 glib-2.0 gobject-introspection"
 
 SRCNAME="pygobject"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179025): 
https://lists.openembedded.org/g/openembedded-core/message/179025
Mute This Topic: https://lists.openembedded.org/mt/97820023/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v2 2/3] graphene: add glib PACKAGECONFIG

2023-03-24 Thread Petr Kubizňák
When gobject-introspection is enabled, glib dependency is pulled in
automatically. When it is disabled, glib dependency should be optional
via PACKAGECONFIG.

Default is to enable glib so that graphene-gobject is built
(dependency of gtk4).

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 120ee80b17..5c870147d0 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = 
"a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3
 
 # Disable neon support by default on ARM-32 platforms because of the
 # following upstream bug: https://github.com/ebassi/graphene/issues/215
-PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', 
d)}"
+PACKAGECONFIG ?= "glib ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 
'neon', '', d)}"
 
+PACKAGECONFIG[glib] = ",,glib-2.0"
 PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179024): 
https://lists.openembedded.org/g/openembedded-core/message/179024
Mute This Topic: https://lists.openembedded.org/mt/97820022/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH v2 1/3] gobject-introspection: check for GI_DATA_ENABLED

2023-03-24 Thread Petr Kubizňák
When GI_DATA_ENABLED is 'False' (e.g. because
'gobject-introspection-data' is not in DISTRO_FEATURES),
gobject-introspection and gobject-introspection-native
should not be added to DEPENDS. This is to reduce dependency chain
when g-i is disabled.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/gobject-introspection.bbclass | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
b/meta/classes-recipe/gobject-introspection.bbclass
index 0c7b7d200a..eb55e7c5e8 100644
--- a/meta/classes-recipe/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -35,7 +35,8 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
'${GIRMESONBUILD}'][d.getVar('G
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
-DEPENDS:append:class-target = " gobject-introspection 
gobject-introspection-native qemu-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', 'gobject-introspection gobject-introspection-native', '', d)}"
+DEPENDS:append:class-target = " qemu-native"
 
 # Even though introspection is disabled on -native, gobject-introspection 
package is still
 # needed for m4 macros.
@@ -46,10 +47,12 @@ DEPENDS:append:class-nativesdk = " 
gobject-introspection-native"
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 do_configure:prepend:class-target () {
-# introspection.m4 pre-packaged with upstream tarballs does not yet
-# have our fixes
-mkdir -p ${S}/m4
-cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = "1" 
] ; then
+# introspection.m4 pre-packaged with upstream tarballs does not yet
+# have our fixes
+mkdir -p ${S}/m4
+cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+fi
 }
 
 # .typelib files are needed at runtime and so they go to the main package (so
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179023): 
https://lists.openembedded.org/g/openembedded-core/message/179023
Mute This Topic: https://lists.openembedded.org/mt/97820019/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] Reduce dependency chain when gobject-introspection disabled

2023-03-24 Thread Petr Kubizňák
I have extended the patch reducing the dependency chain when g-i is
disabled. It was possible to also condition the dependency on
gobject-introspection-native. I did not manage to condition the
dependency on qemu-native, as that leads to too many failures that
I did not manage to resolve. Anyway, I believe that removing a part
of dependencies is better than nothing. The main goal of this patch
is to remove undesired packages from the target image, which is
accomplished. I don't think qemu-native affects the image at all.



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#179022): 
https://lists.openembedded.org/g/openembedded-core/message/179022
Mute This Topic: https://lists.openembedded.org/mt/97820018/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG

2023-03-07 Thread Petr Kubizňák
I see, sorry. I expected some kind of "merged" response in this thread.

Cheers,
Petr


From: Alexander Kanavin 
Sent: Tuesday, March 7, 2023 10:31 AM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG

Has been merged long time ago. Pls rebase to master, then ask.

Alex

On Tue, 7 Mar 2023 at 10:23, Petr Kubizňák  wrote:
>
> Could anyone have a look at this patch, please?
>
> Thank you,
> Petr
>
> 
> From: openembedded-core@lists.openembedded.org 
>  on behalf of Petr Kubizňák - 2N 
> 
> Sent: Friday, February 17, 2023 8:47 AM
> To: openembedded-core@lists.openembedded.org
> Cc: Petr Kubizňák - 2N
> Subject: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG
>
> Assignment of "introspection" as default PACKAGECONFIG value does not
> reflect gobject-introspection being globally enabled or disabled.
> As a result, graphene compilation used to fail when g-i was disabled.
>
> Use standard means to enable or disable introspection based on machine
> and distro features, as implemented by gobject-introspection class.
>
> Signed-off-by: Petr Kubizňák 
> ---
>  meta/recipes-graphics/graphene/graphene_1.10.8.bb | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
> b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
> index 75c8258d99..120ee80b17 100644
> --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
> +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
> @@ -9,14 +9,15 @@ inherit gnomebase gobject-introspection gtk-doc
>
>  SRC_URI[archive.sha256sum] = 
> "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"
>
> -# gtk4 & mutter 41.0 requires graphene build with introspection
>  # Disable neon support by default on ARM-32 platforms because of the
>  # following upstream bug: https://github.com/ebassi/graphene/issues/215
> -PACKAGECONFIG ?= "introspection ${@bb.utils.contains('TUNE_FEATURES', 
> 'aarch64', 'neon', '', d)}"
> +PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', 
> '', d)}"
>
> -PACKAGECONFIG[introspection] = 
> "-Dintrospection=enabled,-Dintrospection=disabled,"
>  PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
>
> +GIR_MESON_ENABLE_FLAG = 'enabled'
> +GIR_MESON_DISABLE_FLAG = 'disabled'
> +
>  GTKDOC_MESON_OPTION = "gtk_doc"
>
>  EXTRA_OEMESON = "-Dinstalled_tests=false"
> --
> 2.30.2
>
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#178098): 
https://lists.openembedded.org/g/openembedded-core/message/178098
Mute This Topic: https://lists.openembedded.org/mt/97024165/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG

2023-03-07 Thread Petr Kubizňák
Could anyone have a look at this patch, please?

Thank you,
Petr


From: openembedded-core@lists.openembedded.org 
 on behalf of Petr Kubizňák - 2N 

Sent: Friday, February 17, 2023 8:47 AM
To: openembedded-core@lists.openembedded.org
Cc: Petr Kubizňák - 2N
Subject: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG

Assignment of "introspection" as default PACKAGECONFIG value does not
reflect gobject-introspection being globally enabled or disabled.
As a result, graphene compilation used to fail when g-i was disabled.

Use standard means to enable or disable introspection based on machine
and distro features, as implemented by gobject-introspection class.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/graphene/graphene_1.10.8.bb | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 75c8258d99..120ee80b17 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -9,14 +9,15 @@ inherit gnomebase gobject-introspection gtk-doc

 SRC_URI[archive.sha256sum] = 
"a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"

-# gtk4 & mutter 41.0 requires graphene build with introspection
 # Disable neon support by default on ARM-32 platforms because of the
 # following upstream bug: https://github.com/ebassi/graphene/issues/215
-PACKAGECONFIG ?= "introspection ${@bb.utils.contains('TUNE_FEATURES', 
'aarch64', 'neon', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', 
d)}"

-PACKAGECONFIG[introspection] = 
"-Dintrospection=enabled,-Dintrospection=disabled,"
 PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"

+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
 GTKDOC_MESON_OPTION = "gtk_doc"

 EXTRA_OEMESON = "-Dinstalled_tests=false"
--
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#178095): 
https://lists.openembedded.org/g/openembedded-core/message/178095
Mute This Topic: https://lists.openembedded.org/mt/97024165/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG

2023-02-16 Thread Petr Kubizňák
Assignment of "introspection" as default PACKAGECONFIG value does not
reflect gobject-introspection being globally enabled or disabled.
As a result, graphene compilation used to fail when g-i was disabled.

Use standard means to enable or disable introspection based on machine
and distro features, as implemented by gobject-introspection class.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/graphene/graphene_1.10.8.bb | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb 
b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 75c8258d99..120ee80b17 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -9,14 +9,15 @@ inherit gnomebase gobject-introspection gtk-doc
 
 SRC_URI[archive.sha256sum] = 
"a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"
 
-# gtk4 & mutter 41.0 requires graphene build with introspection
 # Disable neon support by default on ARM-32 platforms because of the
 # following upstream bug: https://github.com/ebassi/graphene/issues/215
-PACKAGECONFIG ?= "introspection ${@bb.utils.contains('TUNE_FEATURES', 
'aarch64', 'neon', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', 
d)}"
 
-PACKAGECONFIG[introspection] = 
"-Dintrospection=enabled,-Dintrospection=disabled,"
 PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false,"
 
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
 GTKDOC_MESON_OPTION = "gtk_doc"
 
 EXTRA_OEMESON = "-Dinstalled_tests=false"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#177305): 
https://lists.openembedded.org/g/openembedded-core/message/177305
Mute This Topic: https://lists.openembedded.org/mt/97024165/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-02-15 Thread Petr Kubizňák
Hi Alex,

May I kindly ask you for your opinion?

Thank you,
Petr


From: openembedded-core@lists.openembedded.org 
 on behalf of Petr Kubizňák - 2N 

Sent: Wednesday, February 1, 2023 5:04 PM
To: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED


From: Alexander Kanavin 
Sent: Tuesday, January 17, 2023 5:50 PM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED

> The way I read gtk4 and graphene source code, what the recipe claims
> is not true: you can disable introspection in graphene, and it would
> still build and install graphene-gobject.pc which is what gtk4 is
> looking for. If the needed piece is not installed, then you need to
> get to the bottom of why, e.g. specific source code lines where that
> decision is made.

That's not really true. If no patches are applied and g-i is disabled, graphene 
fails in do_compile:

[75/75] 
/home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper
 src/Graphene-1.0.gir --output src/Graphene-1.0.typelib 
--includedir=/usr/share/gir-1.0
FAILED: src/Graphene-1.0.typelib
/home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper
 src/Graphene-1.0.gir --output src/Graphene-1.0.typelib 
--includedir=/usr/share/gir-1.0
Could not find GIR file 'GObject-2.0.gir'; check XDG_DATA_DIRS or use 
--includedir
error parsing file src/Graphene-1.0.gir: Failed to parse included gir 
GObject-2.0

If the attached patch is applied, graphene builds and yes, 
graphene-gobject-1.0.pc is then created, too. (Maybe this is the first patch to 
send individually?) In that case, gtk4 builds fine. Anyway, webkitgtk fails in 
do_compile, with a failure which I worry I'm not able to resolve (see the 
attached tail of the log, full log is ~50MiB).

Petr

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#177182): 
https://lists.openembedded.org/g/openembedded-core/message/177182
Mute This Topic: https://lists.openembedded.org/mt/96048399/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-02-01 Thread Petr Kubizňák

From: Alexander Kanavin 
Sent: Tuesday, January 17, 2023 5:50 PM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED

> The way I read gtk4 and graphene source code, what the recipe claims
> is not true: you can disable introspection in graphene, and it would
> still build and install graphene-gobject.pc which is what gtk4 is
> looking for. If the needed piece is not installed, then you need to
> get to the bottom of why, e.g. specific source code lines where that
> decision is made.

That's not really true. If no patches are applied and g-i is disabled, graphene 
fails in do_compile:

[75/75] 
/home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper
 src/Graphene-1.0.gir --output src/Graphene-1.0.typelib 
--includedir=/usr/share/gir-1.0
FAILED: src/Graphene-1.0.typelib
/home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper
 src/Graphene-1.0.gir --output src/Graphene-1.0.typelib 
--includedir=/usr/share/gir-1.0
Could not find GIR file 'GObject-2.0.gir'; check XDG_DATA_DIRS or use 
--includedir
error parsing file src/Graphene-1.0.gir: Failed to parse included gir 
GObject-2.0

If the attached patch is applied, graphene builds and yes, 
graphene-gobject-1.0.pc is then created, too. (Maybe this is the first patch to 
send individually?) In that case, gtk4 builds fine. Anyway, webkitgtk fails in 
do_compile, with a failure which I worry I'm not able to resolve (see the 
attached tail of the log, full log is ~50MiB).

Petrdiff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 813ff74adf..7fc9765309 100644
--- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -9,9 +9,8 @@ inherit gnomebase gobject-introspection gtk-doc
 
 SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"
 
-# gtk4 & mutter 41.0 requires graphene build with introspection
-PACKAGECONFIG ?= "introspection"
-PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 


webkitgtk_log.do_compile
Description: webkitgtk_log.do_compile

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176558): 
https://lists.openembedded.org/g/openembedded-core/message/176558
Mute This Topic: https://lists.openembedded.org/mt/96048399/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-01-17 Thread Petr Kubizňák
This issue was actually caused by missing host dependencies. Shame on me...

From: Alex Kiernan 
Sent: Tuesday, January 17, 2023 1:52 PM
To: Petr Kubizňák - 2N 
Cc: openembedded-core@lists.openembedded.org 

Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED

On Thu, Jan 5, 2023 at 2:13 PM Petr Kubizňák  wrote:
>
> Is the `bitbake world` command guaranteed to succeed for every commit in the 
> repository? In my case, I end up with failures even with _default_ setup. My 
> point is whether this has to be an issue on my machine (e.g. native tools?), 
> or I should just try a different commit.
>
>
> Build Configuration:
> BB_VERSION   = "2.2.0"
> BUILD_SYS= "x86_64-linux"
> NATIVELSBSTRING  = "universal"
> TARGET_SYS   = "x86_64-poky-linux"
> MACHINE  = "qemux86-64"
> DISTRO   = "poky"
> DISTRO_VERSION   = "4.1"
> TUNE_FEATURES= "m64 core2"
> TARGET_FPU   = ""
> meta
> meta-poky
> meta-yocto-bsp   = "HEAD:2c6f0b9228b47459dd1b67d578792cd017006128"
> ...
> ERROR: rust-1.66.0-r0 do_compile: 
> ExecutionError('/home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/run.do_compile.1080378',
>  1, None, None)
> ERROR: Logfile of failure stored in: 
> /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/log.do_compile.1080378
> NOTE: recipe rust-1.66.0-r0: task do_compile: Failed
> ERROR: Task 
> (/home/kubiznak/projects/poky/meta/recipes-devtools/rust/rust_1.66.0.bb:do_compile)
>  failed with exit code '1'
>
> The first error in rust log:
>
> error: 
> /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps/libunic_langid_macros_impl-09018f99e8b09dcb.so:
>  undefined symbol: _Ungind_Resume
>  --> 
> /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/vendor/unic-langid-macros/src/lib.rs:5:9
>   |
> 5 | pub use unic_langid_macros_impl::langid;
>   | ^^^
>

Are you building with `DEBUG_BUILD = "1"`? There seem to be a number
of tickets out there for this failure if the optimiser isn't running.

> Full logs attached.
>
>
> Petr
>
> 
> From: Alexander Kanavin 
> Sent: Wednesday, January 4, 2023 1:36:27 PM
> To: Petr Kubizňák - 2N
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
> GI_DATA_ENABLED
>
> On Wed, 4 Jan 2023 at 13:24, Petr Kubizňák  wrote:
> > Yes, that's exactly the reason. I'm particularly concerned about dependency 
> > on glib, but other dependencies are unnecessary, too.
> >
> >
> > This change was sufficient to remove the dependency from the target. I am 
> > not aware of potential consequences of removing the -native dependencies, 
> > but if you think it should also be done, I'm happy to update the patch. 
> > Please let me know.
>
> I'd suggest that you remove all three, then set up a plain poky master
> build with gobject-introspection-data disabled, and issue bitbake
> world.
>
> Component upstreams generally only test the gi-enabled configuration,
> so this may reveal incorrect upstream logic when g-i is disabled.
>
> Alex
>
> 
>


--
Alex Kiernan

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176036): 
https://lists.openembedded.org/g/openembedded-core/message/176036
Mute This Topic: https://lists.openembedded.org/mt/96048399/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-01-17 Thread Petr Kubizňák
If you have a bit of time, I'd suggest that you check the failures one
by one. Some of it, like missing glib-* executables seems like a
trivial missing dependency which was previously pulled in indirectly.
Others, like python3-pygobject probably have a hard dependency on g-i.
I'm slowly progressing with the patch but always end up at the principal issue 
of hard dependency on g-i being enabled.

For example, graphene recipe does not reflect on "gobject-introspection-data" 
being/not being in distro features, claiming gtk4 requires build with 
introspection. Graphene can be patched to be buildable under both circumstances 
but gtk4 then (unsurprisingly) fails in do_configure step due to missing 
graphene-gobject-1.0 if g-i is disabled.

I don't think gtk4 can be patched to build with g-i disabled, do you?

If you agree with me, how can we proceed with the fact that some packages 
(namely gtk4) basically cannot be built without the feature, while still 
allowing to disable that feature? Is it really necessary to have everything 
buildable with g-i disabled? Apparently, it's not buildable now.

Petr



From: openembedded-core@lists.openembedded.org 
 on behalf of Alexander Kanavin 

Sent: Monday, January 9, 2023 10:20 AM
To: Petr Kubizňák - 2N 
Cc: openembedded-core@lists.openembedded.org 

Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED

On Fri, 6 Jan 2023 at 19:52, Petr Kubizňák  wrote:
> When the patch is _applied_ and g-i is _disabled_, graphene does build, but 
> some other packages don't:

...

> This shows that these packages depend on gobject-introspection and/or its 
> dependencies no matter whether introspection is enabled or disabled. I don't 
> know these packages so I don't think I'm able to patch them properly. On the 
> other hand, I still believe it is incorrect to pull in the unnecessary 
> dependencies when g-i is disabled. What do you think?
>

This is what I was worried about. It uncovers a whole list of
failures, and creates a new maintenance burden going forward, as
fixing them will be an ongoing activity in the absence of an
unconditional g-i dependecy..

If you have a bit of time, I'd suggest that you check the failures one
by one. Some of it, like missing glib-* executables seems like a
trivial missing dependency which was previously pulled in indirectly.
Others, like python3-pygobject probably have a hard dependency on g-i.

It does require navigating your way around unfamiliar source code,
which is a useful skill in yocto regardless.

Alex

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176030): 
https://lists.openembedded.org/g/openembedded-core/message/176030
Mute This Topic: https://lists.openembedded.org/mt/96048399/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-01-06 Thread Petr Kubizňák
rust_1.66.0 and webkitgtk_2.38.2 keep failing to build in any setup (including 
g-i enabled and no patch applied) on my side.


What's more interesting, with no patch applied and g-i disabled, 
graphene_1.10.8 fails to build ("Failed to parse included gir GObject-2.0").


When the patch is _applied_ and g-i is _disabled_, graphene does build, but 
some other packages don't:


gconf_3.2.6.bb:do_configure:
/home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/gconf/3.2.6-r0/temp/run.do_configure.2180034:
 225: glib-gettextize: not found


python3-pygobject_3.42.2.bb:do_configure:

Run-time dependency gobject-introspection-1.0 found: NO (tried pkgconfig and 
cmake)

Looking for a fallback subproject for the dependency gobject-introspection-1.0
../pygobject-3.42.2/meson.build:29:0: ERROR: Automatic wrap-based subproject 
downloading is disabled

avahi_0.8.bb:do_compile:
/bin/bash: line 2: glib-mkenums: command not found

gtk4_4.8.2.bb:do_configure:
Run-time dependency graphene-gobject-1.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency graphene-gobject-1.0
../gtk-4.8.2/meson.build:440:0: ERROR: Automatic wrap-based subproject 
downloading is disabled


This shows that these packages depend on gobject-introspection and/or its 
dependencies no matter whether introspection is enabled or disabled. I don't 
know these packages so I don't think I'm able to patch them properly. On the 
other hand, I still believe it is incorrect to pull in the unnecessary 
dependencies when g-i is disabled. What do you think?


Petr



From: Alexander Kanavin 
Sent: Thursday, January 5, 2023 3:17:16 PM
To: Petr Kubizňák - 2N
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED

We do run world on every master tip, so yes it should succeed. It
doesn't seem to be related to disabling introspection, but you might
want to retry with it enabled to be sure.

If target rust continues to fail no matter what you try, then 'bitbake
-k world' will continue building what it can when fails occur.

Alex

On Thu, 5 Jan 2023 at 15:13, Petr Kubizňák  wrote:
>
> Is the `bitbake world` command guaranteed to succeed for every commit in the 
> repository? In my case, I end up with failures even with _default_ setup. My 
> point is whether this has to be an issue on my machine (e.g. native tools?), 
> or I should just try a different commit.
>
>
> Build Configuration:
> BB_VERSION   = "2.2.0"
> BUILD_SYS= "x86_64-linux"
> NATIVELSBSTRING  = "universal"
> TARGET_SYS   = "x86_64-poky-linux"
> MACHINE  = "qemux86-64"
> DISTRO   = "poky"
> DISTRO_VERSION   = "4.1"
> TUNE_FEATURES= "m64 core2"
> TARGET_FPU   = ""
> meta
> meta-poky
> meta-yocto-bsp   = "HEAD:2c6f0b9228b47459dd1b67d578792cd017006128"
> ...
> ERROR: rust-1.66.0-r0 do_compile: 
> ExecutionError('/home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/run.do_compile.1080378',
>  1, None, None)
> ERROR: Logfile of failure stored in: 
> /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/log.do_compile.1080378
> NOTE: recipe rust-1.66.0-r0: task do_compile: Failed
> ERROR: Task 
> (/home/kubiznak/projects/poky/meta/recipes-devtools/rust/rust_1.66.0.bb:do_compile)
>  failed with exit code '1'
>
> The first error in rust log:
>
> error: 
> /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps/libunic_langid_macros_impl-09018f99e8b09dcb.so:
>  undefined symbol: _Ungind_Resume
>  --> 
> /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/vendor/unic-langid-macros/src/lib.rs:5:9
>   |
> 5 | pub use unic_langid_macros_impl::langid;
>   | ^^^
>
> Full logs attached.
>
>
> Petr
>
> 
> From: Alexander Kanavin 
> Sent: Wednesday, January 4, 2023 1:36:27 PM
> To: Petr Kubizňák - 2N
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
> GI_DATA_ENABLED
>
> On Wed, 4 Jan 2023 at 13:24, Petr Kubizňák  wrote:
> > Yes, that's exactly the reason. I'm particularly concerned about dependency 
> > on glib, but other dependencies are unnecessary, too.
> >
> >
> > This change was sufficient to remove the dependency from the target. I am 
> > not aware of potential consequences of removing the -native d

Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-01-04 Thread Petr Kubizňák
Hi Alex,


Yes, that's exactly the reason. I'm particularly concerned about dependency on 
glib, but other dependencies are unnecessary, too.


This change was sufficient to remove the dependency from the target. I am not 
aware of potential consequences of removing the -native dependencies, but if 
you think it should also be done, I'm happy to update the patch. Please let me 
know.


Petr


From: Alexander Kanavin 
Sent: Wednesday, January 4, 2023 12:59:58 PM
To: alex.kana...@gmail.com
Cc: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for 
GI_DATA_ENABLED

I mean, if you want to do this to reduce dependency chains, then
depending on qemu-native and g-i-native isn't necessary either. But
the patch as it is seems like going halfway.

Alex

On Wed, 4 Jan 2023 at 12:54, Alexander Kanavin via
lists.openembedded.org 
wrote:
>
> On Wed, 4 Jan 2023 at 12:46, Petr Kubizňák  wrote:
> > When GI_DATA_ENABLED is 'False' (e.g. because
> > 'gobject-introspection-data' is not in DISTRO_FEATURES),
> > gobject-introspection should not be added to DEPENDS.
>
> Why?
>
> Alex
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#175472): 
https://lists.openembedded.org/g/openembedded-core/message/175472
Mute This Topic: https://lists.openembedded.org/mt/96048399/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH 2/2] harfbuzz: remove bindir only if it exists

2023-01-04 Thread Petr Kubizňák
In some scenarios (e.g. when "glib" removed from PACKAGECONFIG),
"${D}${bindir}" might not exist which caused `rmdir` to fail.

Signed-off-by: Petr Kubizňák 
---
 meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb 
b/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb
index f56403d428..26692d4e13 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb
@@ -30,9 +30,9 @@ PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset"
 LEAD_SONAME = "libharfbuzz.so"
 
 do_install:append() {
-# If no tools are installed due to PACKAGECONFIG then this directory is
-#still installed, so remove it to stop packaging wanings.
-rmdir --ignore-fail-on-non-empty ${D}${bindir}
+# If no tools are installed due to PACKAGECONFIG then this directory might
+# still be installed, so remove it to stop packaging warnings.
+[ ! -d ${D}${bindir} ] || rmdir --ignore-fail-on-non-empty ${D}${bindir}
 }
 
 FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#175466): 
https://lists.openembedded.org/g/openembedded-core/message/175466
Mute This Topic: https://lists.openembedded.org/mt/96048411/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED

2023-01-04 Thread Petr Kubizňák
From: Petr Kubizňák - 2N 

When GI_DATA_ENABLED is 'False' (e.g. because
'gobject-introspection-data' is not in DISTRO_FEATURES),
gobject-introspection should not be added to DEPENDS.

Signed-off-by: Petr Kubizňák 
---
 meta/classes-recipe/gobject-introspection.bbclass | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/meta/classes-recipe/gobject-introspection.bbclass 
b/meta/classes-recipe/gobject-introspection.bbclass
index 0c7b7d200a..10cf79508f 100644
--- a/meta/classes-recipe/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -35,7 +35,8 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', 
'${GIRMESONBUILD}'][d.getVar('G
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
-DEPENDS:append:class-target = " gobject-introspection 
gobject-introspection-native qemu-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 
'True', 'gobject-introspection', '', d)}"
+DEPENDS:append:class-target = " gobject-introspection-native qemu-native"
 
 # Even though introspection is disabled on -native, gobject-introspection 
package is still
 # needed for m4 macros.
@@ -46,10 +47,12 @@ DEPENDS:append:class-nativesdk = " 
gobject-introspection-native"
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 do_configure:prepend:class-target () {
-# introspection.m4 pre-packaged with upstream tarballs does not yet
-# have our fixes
-mkdir -p ${S}/m4
-cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = "1" 
] ; then
+# introspection.m4 pre-packaged with upstream tarballs does not yet
+# have our fixes
+mkdir -p ${S}/m4
+cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
+fi
 }
 
 # .typelib files are needed at runtime and so they go to the main package (so
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#175465): 
https://lists.openembedded.org/g/openembedded-core/message/175465
Mute This Topic: https://lists.openembedded.org/mt/96048399/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-