diff mbox series

vte: upgrade 2.72.2 -> 2.74.0

Message ID 20230919114941.1819808-1-f_l_k@t-online.de
State New
Headers show
Series vte: upgrade 2.72.2 -> 2.74.0 | expand

Commit Message

Markus Volk Sept. 19, 2023, 11:49 a.m. UTC
Rework recipe

- remove legacy of the autotools buildsystem
- build	vapi dependent on gi-data
- docs require gir, add	a EXTRA_OEMESON:append to avoid	fail in
  a combination	where docs=true	and gir=false
- gtk4 is enabled by default. gnome-terminal is still a	gtk3 app.
  disable gtk4 for now to fix configure	and to still be able to
  build	vte without opengl
- install systemd support files	depending on DISTRO_FEATURE
- update 0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...EXITCODE-macro-for-non-glibc-systems.patch | 35 ++++++++-----------
 .../vte/{vte_0.72.2.bb => vte_0.74.0.bb}      | 25 +++++--------
 2 files changed, 23 insertions(+), 37 deletions(-)
 rename meta/recipes-support/vte/{vte_0.72.2.bb => vte_0.74.0.bb} (69%)

Comments

Alexander Kanavin Sept. 19, 2023, 12:02 p.m. UTC | #1
On Tue, 19 Sept 2023 at 13:49, Markus Volk <f_l_k@t-online.de> wrote:
> - gtk4 is enabled by default. gnome-terminal is still a gtk3 app.
>   disable gtk4 for now to fix configure and to still be able to
>   build vte without opengl

recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb as well is
gtk+3 only, and gtk4 port for that is unlikely to happen. I guess once
gnome-terminal is ported and vte drops gtk3 support, we need to find a
different terminal (rxvt or indeed gnome-terminal).

Alex
Markus Volk Sept. 19, 2023, 12:12 p.m. UTC | #2
On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin 
<alex.kanavin@gmail.com> wrote:
> rxvt or indeed gnome-terminal)

'foot' is also a really cool terminal. Its fast and does a lot of 
things just right in my opinion. But its Wayland only and doesn't 
integrate well into Gnome. Instead it is great under wlroots.
Markus Volk Sept. 19, 2023, 12:17 p.m. UTC | #3
Under gnome, gnome-terminal is virtually without alternative ... so for 
me. it is the only terminal that has a plugin for nautilus and I want 
'open in terminal' to work in nautilus

On Tue, Sep 19 2023 at 02:12:03 PM +02:00:00, Markus Volk 
<f_l_k@t-online.de> wrote:
> On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin 
> <alex.kanavin@gmail.com> wrote:
>> rxvt or indeed gnome-terminal)
> 
> 'foot' is also a really cool terminal. Its fast and does a lot of 
> things just right in my opinion. But its Wayland only and doesn't 
> integrate well into Gnome. Instead it is great under wlroots.
Markus Volk Sept. 19, 2023, 12:34 p.m. UTC | #4
On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin 
<alex.kanavin@gmail.com> wrote:
> I guess once
> gnome-terminal is ported

I guess that won't happen. gnome will switch to
<https://gitlab.gnome.org/GNOME/console>
instead of porting
Markus Volk Sept. 19, 2023, 1:06 p.m. UTC | #5
On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin 
<alex.kanavin@gmail.com> wrote:
> we need to find a
> different terminal (rxvt or indeed gnome-terminal).

gnome-console is a simple thing. but it is necessary to build vte with 
gtk4 support (by the way, the default of vte is to build gtk3 and gtk4 
support). Maybe the problem with both gnome-console and gnome-terminal 
is that they are GPL-3.0-only.

SUMMARY = "GNOME Console"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a 
<file://copying;md5=8f0e2cd40e05189ec81232da84bd6e1a/>"

GNOMEBASEBUILDCLASS = "meson"
inherit gtk-icon-cache gnomebase pkgconfig meson gsettings gnome-help 
upstream-version-is-even

DEPENDS = " \
    desktop-file-utils-native \
    gtk4-native \
    gtk4 \
    libadwaita \
    vte \
    libgtop \
    pcre2 \
    gsettings-desktop-schemas \
"

SRC_URI[archive.sha256sum] = 
"24cbd5680e525c2c0c57ad8d8c1ad199ef5b45b1ff1c80be22a37848e46e93ac"

FILES:${PN} += "${datadir}"

RRECOMMENDS:${PN} += "gsettings-desktop-schemas hicolor-icon-theme"
Alexander Kanavin Sept. 19, 2023, 1:20 p.m. UTC | #6
Having gpl3-only recipes in core is not a problem. Ability to build
basic images without gpl3 items is tested, since that kind of thing is
important to certain industries, but otherwise there are no hard
feelings towards gpl3. It is open source, and products do ship with
gpl3, with all gpl3 license obligations fulfilled.

Alex

On Tue, 19 Sept 2023 at 15:06, Markus Volk <f_l_k@t-online.de> wrote:
>
> On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> we need to find a different terminal (rxvt or indeed gnome-terminal).
>
>
> gnome-console is a simple thing. but it is necessary to build vte with gtk4 support (by the way, the default of vte is to build gtk3 and gtk4 support). Maybe the problem with both gnome-console and gnome-terminal is that they are GPL-3.0-only.
>
> SUMMARY = "GNOME Console"
> LICENSE = "GPL-3.0-only"
> LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
>
> GNOMEBASEBUILDCLASS = "meson"
> inherit gtk-icon-cache gnomebase pkgconfig meson gsettings gnome-help upstream-version-is-even
>
> DEPENDS = " \
>     desktop-file-utils-native \
>     gtk4-native \
>     gtk4 \
>     libadwaita \
>     vte \
>     libgtop \
>     pcre2 \
>     gsettings-desktop-schemas \
> "
>
> SRC_URI[archive.sha256sum] = "24cbd5680e525c2c0c57ad8d8c1ad199ef5b45b1ff1c80be22a37848e46e93ac"
>
> FILES:${PN} += "${datadir}"
>
> RRECOMMENDS:${PN} += "gsettings-desktop-schemas hicolor-icon-theme"
Markus Volk Sept. 19, 2023, 1:23 p.m. UTC | #7
would it be desirable to additionally activate gtk4 in vte to support 
gnome-console?

On Tue, Sep 19 2023 at 03:20:59 PM +02:00:00, Alexander Kanavin 
<alex.kanavin@gmail.com> wrote:
> Having gpl3-only recipes in core is not a problem. Ability to build
> basic images without gpl3 items is tested, since that kind of thing is
> important to certain industries, but otherwise there are no hard
> feelings towards gpl3. It is open source, and products do ship with
> gpl3, with all gpl3 license obligations fulfilled.
> 
> Alex
> 
> On Tue, 19 Sept 2023 at 15:06, Markus Volk <f_l_k@t-online.de 
> <mailto:f_l_k@t-online.de>> wrote:
>> 
>>  On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin 
>> <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>> wrote:
>> 
>>  we need to find a different terminal (rxvt or indeed 
>> gnome-terminal).
>> 
>> 
>>  gnome-console is a simple thing. but it is necessary to build vte 
>> with gtk4 support (by the way, the default of vte is to build gtk3 
>> and gtk4 support). Maybe the problem with both gnome-console and 
>> gnome-terminal is that they are GPL-3.0-only.
>> 
>>  SUMMARY = "GNOME Console"
>>  LICENSE = "GPL-3.0-only"
>>  LIC_FILES_CHKSUM = 
>> "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" 
>> <file://copying;md5=8f0e2cd40e05189ec81232da84bd6e1a/>
>> 
>>  GNOMEBASEBUILDCLASS = "meson"
>>  inherit gtk-icon-cache gnomebase pkgconfig meson gsettings 
>> gnome-help upstream-version-is-even
>> 
>>  DEPENDS = " \
>>      desktop-file-utils-native \
>>      gtk4-native \
>>      gtk4 \
>>      libadwaita \
>>      vte \
>>      libgtop \
>>      pcre2 \
>>      gsettings-desktop-schemas \
>>  "
>> 
>>  SRC_URI[archive.sha256sum] = 
>> "24cbd5680e525c2c0c57ad8d8c1ad199ef5b45b1ff1c80be22a37848e46e93ac"
>> 
>>  FILES:${PN} += "${datadir}"
>> 
>>  RRECOMMENDS:${PN} += "gsettings-desktop-schemas hicolor-icon-theme"
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#187865): 
> <https://lists.openembedded.org/g/openembedded-core/message/187865>
> Mute This Topic: <https://lists.openembedded.org/mt/101454079/3618223>
> Group Owner: openembedded-core+owner@lists.openembedded.org 
> <mailto:openembedded-core+owner@lists.openembedded.org>
> Unsubscribe: 
> <https://lists.openembedded.org/g/openembedded-core/unsub> 
> [f_l_k@t-online.de <mailto:f_l_k@t-online.de>]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Sept. 19, 2023, 1:24 p.m. UTC | #8
Yes. gtk4 is the current version of gtk, so when support for that can
be enabled, it should be.

Alex

On Tue, 19 Sept 2023 at 15:23, Markus Volk <f_l_k@t-online.de> wrote:
>
> would it be desirable to additionally activate gtk4 in vte to support gnome-console?
>
> On Tue, Sep 19 2023 at 03:20:59 PM +02:00:00, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> Having gpl3-only recipes in core is not a problem. Ability to build basic images without gpl3 items is tested, since that kind of thing is important to certain industries, but otherwise there are no hard feelings towards gpl3. It is open source, and products do ship with gpl3, with all gpl3 license obligations fulfilled. Alex On Tue, 19 Sept 2023 at 15:06, Markus Volk <f_l_k@t-online.de> wrote:
>
> On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin <alex.kanavin@gmail.com> wrote: we need to find a different terminal (rxvt or indeed gnome-terminal). gnome-console is a simple thing. but it is necessary to build vte with gtk4 support (by the way, the default of vte is to build gtk3 and gtk4 support). Maybe the problem with both gnome-console and gnome-terminal is that they are GPL-3.0-only. SUMMARY = "GNOME Console" LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" GNOMEBASEBUILDCLASS = "meson" inherit gtk-icon-cache gnomebase pkgconfig meson gsettings gnome-help upstream-version-is-even DEPENDS = " \ desktop-file-utils-native \ gtk4-native \ gtk4 \ libadwaita \ vte \ libgtop \ pcre2 \ gsettings-desktop-schemas \ " SRC_URI[archive.sha256sum] = "24cbd5680e525c2c0c57ad8d8c1ad199ef5b45b1ff1c80be22a37848e46e93ac" FILES:${PN} += "${datadir}" RRECOMMENDS:${PN} += "gsettings-desktop-schemas hicolor-icon-theme"
>
> -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#187865): https://lists.openembedded.org/g/openembedded-core/message/187865 Mute This Topic: https://lists.openembedded.org/mt/101454079/3618223 Group Owner: openembedded-core+owner@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [f_l_k@t-online.de] -=-=-=-=-=-=-=-=-=-=-=-
Alexandre Belloni Sept. 19, 2023, 3:59 p.m. UTC | #9
On 19/09/2023 15:20:59+0200, Alexander Kanavin wrote:
> Having gpl3-only recipes in core is not a problem. Ability to build
> basic images without gpl3 items is tested, since that kind of thing is

I don't think we test this anymore.

> important to certain industries, but otherwise there are no hard
> feelings towards gpl3. It is open source, and products do ship with
> gpl3, with all gpl3 license obligations fulfilled.
> 
> Alex
> 
> On Tue, 19 Sept 2023 at 15:06, Markus Volk <f_l_k@t-online.de> wrote:
> >
> > On Tue, Sep 19 2023 at 02:02:48 PM +02:00:00, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > we need to find a different terminal (rxvt or indeed gnome-terminal).
> >
> >
> > gnome-console is a simple thing. but it is necessary to build vte with gtk4 support (by the way, the default of vte is to build gtk3 and gtk4 support). Maybe the problem with both gnome-console and gnome-terminal is that they are GPL-3.0-only.
> >
> > SUMMARY = "GNOME Console"
> > LICENSE = "GPL-3.0-only"
> > LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
> >
> > GNOMEBASEBUILDCLASS = "meson"
> > inherit gtk-icon-cache gnomebase pkgconfig meson gsettings gnome-help upstream-version-is-even
> >
> > DEPENDS = " \
> >     desktop-file-utils-native \
> >     gtk4-native \
> >     gtk4 \
> >     libadwaita \
> >     vte \
> >     libgtop \
> >     pcre2 \
> >     gsettings-desktop-schemas \
> > "
> >
> > SRC_URI[archive.sha256sum] = "24cbd5680e525c2c0c57ad8d8c1ad199ef5b45b1ff1c80be22a37848e46e93ac"
> >
> > FILES:${PN} += "${datadir}"
> >
> > RRECOMMENDS:${PN} += "gsettings-desktop-schemas hicolor-icon-theme"

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#187865): https://lists.openembedded.org/g/openembedded-core/message/187865
> Mute This Topic: https://lists.openembedded.org/mt/101454079/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Sept. 19, 2023, 4:30 p.m. UTC | #10
On Tue, 19 Sept 2023 at 17:59, Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
> > Having gpl3-only recipes in core is not a problem. Ability to build
> > basic images without gpl3 items is tested, since that kind of thing is
>
> I don't think we test this anymore.

We do:
https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/selftest/cases/incompatible_lic.py?h=master-next#n135
(the test in NoGPL3InImagesTests class)

You were probably thinking of meta-gplv2 tests.

Alex
Alexandre Belloni Sept. 19, 2023, 5:57 p.m. UTC | #11
On 19/09/2023 18:30:23+0200, Alexander Kanavin wrote:
> On Tue, 19 Sept 2023 at 17:59, Alexandre Belloni
> <alexandre.belloni@bootlin.com> wrote:
> > > Having gpl3-only recipes in core is not a problem. Ability to build
> > > basic images without gpl3 items is tested, since that kind of thing is
> >
> > I don't think we test this anymore.
> 
> We do:
> https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/selftest/cases/incompatible_lic.py?h=master-next#n135
> (the test in NoGPL3InImagesTests class)
> 
> You were probably thinking of meta-gplv2 tests.

Yeah, I thought we dropped both at the same time.
diff mbox series

Patch

diff --git a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
index b4100fc381..8934d5f80a 100644
--- a/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
+++ b/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -11,32 +11,25 @@  Upstream-Status: Submitted [1]
 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
 
 [1] https://gitlab.gnome.org/GNOME/vte/issues/72
-
 ---
- src/missing.hh | 4 ++++
- src/widget.cc  | 1 +
- 2 files changed, 5 insertions(+)
+ src/widget.cc  | 4 +++
+ 1 files changed, 4 insertions(+)
 
---- a/src/missing.hh
-+++ b/src/missing.hh
-@@ -24,6 +24,10 @@
- #define NSIG (8 * sizeof(sigset_t))
- #endif
+diff --git a/src/widget.cc b/src/widget.cc
+index 07f7cabf..31a77f68 100644
+--- a/src/widget.cc
++++ b/src/widget.cc
+@@ -16,6 +16,10 @@
+  * along with this library.  If not, see <https://www.gnu.org/licenses/>.
+  */
  
 +#ifndef W_EXITCODE
 +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
 +#endif
 +
- #ifndef HAVE_FDWALK
- int fdwalk(int (*cb)(void* data, int fd),
-            void* data);
---- a/src/widget.cc
-+++ b/src/widget.cc
-@@ -21,6 +21,7 @@
- #include "widget.hh"
- 
- #include <sys/wait.h> // for W_EXITCODE
-+#include "missing.hh" // for W_EXITCODE on non-glibc systems
+ #include "config.h"
  
- #include <exception>
- #include <new>
+ #include "widget.hh"
+-- 
+2.42.0
+
diff --git a/meta/recipes-support/vte/vte_0.72.2.bb b/meta/recipes-support/vte/vte_0.74.0.bb
similarity index 69%
rename from meta/recipes-support/vte/vte_0.72.2.bb
rename to meta/recipes-support/vte/vte_0.74.0.bb
index 4249b75ac0..2b39031dfc 100644
--- a/meta/recipes-support/vte/vte_0.72.2.bb
+++ b/meta/recipes-support/vte/vte_0.74.0.bb
@@ -17,32 +17,25 @@  GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = 'gir'
 GIDOCGEN_MESON_OPTION = "docs"
 
-inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection
+inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection vala
 
-# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.sha256sum] = "f7966fd185a6981f53964162b71cfef7e606495155d6f5827b72aa0dd6741c9e"
+SRC_URI[archive.sha256sum] = "9ae08f777952ba793221152d360550451580f42d3b570e3341ebb6841984c76b"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-# Help g-ir-scanner find the .so for linking
-do_compile:prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
-}
-
-# Package additional files
-FILES:${PN}-dev += "${datadir}/vala/vapi/*"
+EXTRA_OEMESON += " \
+	${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)} \
+	-Dgtk4=false \
+"
+EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
 
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala"
+PACKAGECONFIG ??= "gnutls ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
 PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd"
-# vala requires gir
-PACKAGECONFIG:remove:class-native = "vala"
-
-CFLAGS += "-D_GNU_SOURCE"
 
 PACKAGES =+ "libvte ${PN}-prompt"
+FILES:${PN} +="${systemd_user_unitdir}"
 FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
 FILES:${PN}-prompt = " \
     ${sysconfdir}/profile.d \