All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
       [not found] ` <33c62297-f753-3c63-d409-d6ed774ace94@t-online.de>
@ 2022-01-22 19:54   ` Alexander Kanavin
  2022-01-23 12:14     ` Markus Volk
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Kanavin @ 2022-01-22 19:54 UTC (permalink / raw)
  To: Markus Volk; +Cc: OpenEmbedded Devel List

[-- Attachment #1: Type: text/plain, Size: 3535 bytes --]

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 (#95004):
> https://lists.openembedded.org/g/openembedded-devel/message/95004
> Mute This Topic: https://lists.openembedded.org/mt/88611345/1686489
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

[-- Attachment #2: Type: text/html, Size: 5617 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
  2022-01-22 19:54   ` [oe] [meta-gnome][PATCHv2] folks: initial add recipe Alexander Kanavin
@ 2022-01-23 12:14     ` Markus Volk
  2022-01-23 13:00       ` Alexander Kanavin
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Volk @ 2022-01-23 12:14 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OpenEmbedded Devel List

[-- Attachment #1: Type: text/plain, Size: 5256 bytes --]

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 
> <mailto: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/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
>     <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
>     <mailto:f_l_k@t-online.de>>
>     > ---
>     >   .../folks/folks_0.15.4.bb <http://folks_0.15.4.bb>            
>            | 24 +++++++++++++++++++
>     >   1 file changed, 24 insertions(+)
>     >   create mode 100644
>     meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>     <http://folks_0.15.4.bb>
>     >
>     > diff --git
>     a/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>     <http://folks_0.15.4.bb>
>     b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>     <http://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
>     <http://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 (#95004):
>     https://lists.openembedded.org/g/openembedded-devel/message/95004
>     <https://lists.openembedded.org/g/openembedded-devel/message/95004>
>     Mute This Topic:
>     https://lists.openembedded.org/mt/88611345/1686489
>     <https://lists.openembedded.org/mt/88611345/1686489>
>     Group Owner: openembedded-devel+owner@lists.openembedded.org
>     <mailto:openembedded-devel%2Bowner@lists.openembedded.org>
>     Unsubscribe:
>     https://lists.openembedded.org/g/openembedded-devel/unsub
>     <https://lists.openembedded.org/g/openembedded-devel/unsub>
>     [alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>]
>     -=-=-=-=-=-=-=-=-=-=-=-
>

[-- Attachment #2: Type: text/html, Size: 8336 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
  2022-01-23 12:14     ` Markus Volk
@ 2022-01-23 13:00       ` Alexander Kanavin
  2022-01-23 13:18         ` Markus Volk
       [not found]         ` <16CCE8C3AC544122.6784@lists.openembedded.org>
  0 siblings, 2 replies; 8+ messages in thread
From: Alexander Kanavin @ 2022-01-23 13:00 UTC (permalink / raw)
  To: Markus Volk; +Cc: OpenEmbedded Devel List

[-- Attachment #1: Type: text/plain, Size: 4304 bytes --]

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 (#95004):
>> https://lists.openembedded.org/g/openembedded-devel/message/95004
>> Mute This Topic: https://lists.openembedded.org/mt/88611345/1686489
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
>> alex.kanavin@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
>>

[-- Attachment #2: Type: text/html, Size: 8061 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
  2022-01-23 13:00       ` Alexander Kanavin
@ 2022-01-23 13:18         ` Markus Volk
  2022-01-23 13:28           ` Alexander Kanavin
       [not found]         ` <16CCE8C3AC544122.6784@lists.openembedded.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Markus Volk @ 2022-01-23 13:18 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OpenEmbedded Devel List

[-- Attachment #1: Type: text/plain, Size: 7848 bytes --]

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 
> <mailto: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
>     <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
>>     <mailto: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/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
>>         <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
>>         <mailto:f_l_k@t-online.de>>
>>         > ---
>>         >   .../folks/folks_0.15.4.bb <http://folks_0.15.4.bb>      
>>              | 24 +++++++++++++++++++
>>         >   1 file changed, 24 insertions(+)
>>         >   create mode 100644
>>         meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>>         <http://folks_0.15.4.bb>
>>         >
>>         > diff --git
>>         a/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>>         <http://folks_0.15.4.bb>
>>         b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>>         <http://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
>>         <http://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 (#95004):
>>         https://lists.openembedded.org/g/openembedded-devel/message/95004
>>         <https://lists.openembedded.org/g/openembedded-devel/message/95004>
>>         Mute This Topic:
>>         https://lists.openembedded.org/mt/88611345/1686489
>>         <https://lists.openembedded.org/mt/88611345/1686489>
>>         Group Owner: openembedded-devel+owner@lists.openembedded.org
>>         <mailto:openembedded-devel%2Bowner@lists.openembedded.org>
>>         Unsubscribe:
>>         https://lists.openembedded.org/g/openembedded-devel/unsub
>>         <https://lists.openembedded.org/g/openembedded-devel/unsub>
>>         [alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>]
>>         -=-=-=-=-=-=-=-=-=-=-=-
>>

[-- Attachment #2: Type: text/html, Size: 12498 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
       [not found]         ` <16CCE8C3AC544122.6784@lists.openembedded.org>
@ 2022-01-23 13:27           ` Markus Volk
  0 siblings, 0 replies; 8+ messages in thread
From: Markus Volk @ 2022-01-23 13:27 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 8008 bytes --]

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 
>> <mailto: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
>>     <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
>>>     <mailto: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/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
>>>         <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
>>>         <mailto:f_l_k@t-online.de>>
>>>         > ---
>>>         >   .../folks/folks_0.15.4.bb <http://folks_0.15.4.bb>      
>>>                | 24 +++++++++++++++++++
>>>         >   1 file changed, 24 insertions(+)
>>>         >   create mode 100644
>>>         meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>>>         <http://folks_0.15.4.bb>
>>>         >
>>>         > diff --git
>>>         a/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>>>         <http://folks_0.15.4.bb>
>>>         b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
>>>         <http://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
>>>         <http://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]
> -=-=-=-=-=-=-=-=-=-=-=-
>

[-- Attachment #2: Type: text/html, Size: 13430 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
  2022-01-23 13:18         ` Markus Volk
@ 2022-01-23 13:28           ` Alexander Kanavin
  2022-01-23 13:35             ` Markus Volk
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Kanavin @ 2022-01-23 13:28 UTC (permalink / raw)
  To: Markus Volk; +Cc: OpenEmbedded Devel List

[-- Attachment #1: Type: text/plain, Size: 6373 bytes --]

I don't think that's a design decision, just an oversight on the upstream
side. There are even more recipes that do allow disabling introspection, so
how about you make a patch, submit it upstream, explain why it is
beneficial, and see what they have to say?

Alex

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

> 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 (#95004):
>>> https://lists.openembedded.org/g/openembedded-devel/message/95004
>>> Mute This Topic: https://lists.openembedded.org/mt/88611345/1686489
>>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
>>> alex.kanavin@gmail.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>
>>>

[-- Attachment #2: Type: text/html, Size: 12092 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
  2022-01-23 13:28           ` Alexander Kanavin
@ 2022-01-23 13:35             ` Markus Volk
  2022-01-23 13:51               ` Alexander Kanavin
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Volk @ 2022-01-23 13:35 UTC (permalink / raw)
  To: openembedded-devel

What brought me to thinking this really is a design decision was this 
conversation some time back

https://gitlab.gnome.org/GNOME/gimp/-/issues/7208

Am 23.01.22 um 14:28 schrieb Alexander Kanavin:
> nd see what they have to say


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [oe] [meta-gnome][PATCHv2] folks: initial add recipe
  2022-01-23 13:35             ` Markus Volk
@ 2022-01-23 13:51               ` Alexander Kanavin
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Kanavin @ 2022-01-23 13:51 UTC (permalink / raw)
  To: Markus Volk; +Cc: OpenEmbedded Devel List

[-- Attachment #1: Type: text/plain, Size: 808 bytes --]

I added a comment there, for what it's worth.

Alex

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

> What brought me to thinking this really is a design decision was this
> conversation some time back
>
> https://gitlab.gnome.org/GNOME/gimp/-/issues/7208
>
> Am 23.01.22 um 14:28 schrieb Alexander Kanavin:
> > nd see what they have to say
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#95021):
> https://lists.openembedded.org/g/openembedded-devel/message/95021
> Mute This Topic: https://lists.openembedded.org/mt/88611345/1686489
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

[-- Attachment #2: Type: text/html, Size: 1737 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-01-23 13:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20220120203602.3833757-1-f_l_k@t-online.de>
     [not found] ` <33c62297-f753-3c63-d409-d6ed774ace94@t-online.de>
2022-01-22 19:54   ` [oe] [meta-gnome][PATCHv2] folks: initial add recipe Alexander Kanavin
2022-01-23 12:14     ` Markus Volk
2022-01-23 13:00       ` Alexander Kanavin
2022-01-23 13:18         ` Markus Volk
2022-01-23 13:28           ` Alexander Kanavin
2022-01-23 13:35             ` Markus Volk
2022-01-23 13:51               ` Alexander Kanavin
     [not found]         ` <16CCE8C3AC544122.6784@lists.openembedded.org>
2022-01-23 13:27           ` Markus Volk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.