Would it help to add geary to the gnome-apps-packagegroup only if introspection is enabled ? Its already  done like this e.g. for colord:

https://github.com/openembedded/meta-openembedded/blob/a558d51fecda3e66ace21d02b57ab61bf122fdc1/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb#L738


Am 23.01.22 um 14:18 schrieb Markus Volk:

But what you want is literally fighting against upstream design decision. This always brings with it additional maintenance burden and i don't see the big win of this.

Theres already plenty of gnome  recipes that require introspection to be enabled:

./meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gdm/gdm_41.0.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/amtk/amtk_5.3.1.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_41.2.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gnome-shell/gnome-shell_41.2.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gjs/gjs_1.70.0.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/gedit/gedit_40.1.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb:GIR_MESON_OPTION = ""
./meta-gnome/recipes-support/colord-gtk/colord-gtk_0.2.0.bb:GIR_MESON_OPTION = ""
./meta-oe/recipes-support/colord/colord.bb:GIR_MESON_OPTION = ""

And they all just set

REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"

Am 23.01.22 um 14:00 schrieb Alexander Kanavin:
You need to add a patch that guards introspection with a meson option, submit the patch upstream, and then add the patch to the recipe, with a link (in the patch file) to the upstream submission.

Alex

On Sun, 23 Jan 2022 at 13:14, Markus Volk <f_l_k@t-online.de> wrote:

yes, but folks is one of that gnome projects that made introspection mandatory. I can't find an option to disable it with the meson buildsystem:

https://gitlab.gnome.org/GNOME/folks/-/blob/master/meson_options.txt

So i'm really unsure what to do here.

But i have added some more usable PACKAGECONFIG options and sent a patchv3

Am 22.01.22 um 20:54 schrieb Alexander Kanavin:
Gobject introspection is inherently hostile to cross compilation environments as it requires running a cross-compiled binary with the qemu emulator. That does not always work, and if it does not, your build will break. So there must be a way to turn it off when it happens.

Alex

On Sat, 22 Jan 2022 at 20:29, Markus Volk <f_l_k@t-online.de> wrote:
I tried to make the 'folks' backends buildable and it turned out, that
there are some more places where vala introspection is missing.

https://github.com/openembedded/meta-openembedded/blob/461c04657c3151629b503fe134e9d672520aacbb/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb#L34

https://github.com/openembedded/meta-openembedded/blob/566049b4f1ddc049c1f89a5838d1a71bb429faa3/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb#L17


Most gnome projects meanwhile make gobject-introspection mandatory and i
can really feel why they are doing so for two important reasons.

First it is just mandatory if you want to be able to build the whole
gnome universe and second it is in my option one of the greatest
features of gtk to be able to write code for it in almost every language
available. This should not be an optional feature so people could rely
on it.

In both recipes introspection is disabled by default and dependent on
'GI_DATA_ENABLED=true'. Wouldn't it be a good idea to just enable
Introspection by default? We already inherit gobject-introspection anyway.

There are also some more issues in libgdata and libical with
introspection i was able to fix locally. Will send patches for it if
it'll be ok making introspection mandatory.

Am 20.01.22 um 21:36 schrieb Markus Volk:
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>   .../folks/folks_0.15.4.bb                     | 24 +++++++++++++++++++
>   1 file changed, 24 insertions(+)
>   create mode 100644 meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>
> diff --git a/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
> new file mode 100644
> index 000000000..b4ca551c8
> --- /dev/null
> +++ b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
> @@ -0,0 +1,24 @@
> +SUMMARY = "Folks is a contact aggregation library."
> +LICENSE = "LGPLv2.1"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
> +
> +DEPENDS = " \
> +    glib-2.0 \
> +    libgee \
> +    libxml2 \
> +    dbus-glib \
> +    telepathy-glib \
> +"
> +
> +GNOMEBASEBUILDCLASS = "meson"
> +
> +# gobject-introspection is mandatory and cannot be configured
> +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
> +GIR_MESON_OPTION = ""
> +
> +EXTRA_OEMESON = "-Deds_backend=false -Dbluez_backend=false -Dofono_backend=false -Dtelepathy_backend=false"
> +
> +inherit gnomebase gettext gobject-introspection vala features_check
> +
> +SRC_URI[archive.sha256sum] = "e71099afc9e88fad4e757ae134bc3fd63e12b901ad62b0ed5536afb79124af5f"
> +




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#95018): https://lists.openembedded.org/g/openembedded-devel/message/95018
Mute This Topic: https://lists.openembedded.org/mt/88611345/3618223
Group Owner: openembedded-devel+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [f_l_k@t-online.de]
-=-=-=-=-=-=-=-=-=-=-=-