diff mbox series

[PATCHv3] vte: upgrade 2.72.2 -> 2.74.0

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

Commit Message

Markus Volk Sept. 20, 2023, 9:03 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
- gtk+3 and gtk4 are requested by default-> add gtk4 dependency
- allow to build gtk4-nativesdk
- 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>
---
 meta/recipes-gnome/gtk+/gtk4_4.12.1.bb        |  2 +-
 .../xorg-lib/libxkbcommon_1.5.0.bb            |  2 +-
 .../xorg-lib/xkeyboard-config_2.39.bb         |  2 +-
 ...EXITCODE-macro-for-non-glibc-systems.patch | 35 ++++++++-----------
 .../vte/{vte_0.72.2.bb => vte_0.74.0.bb}      | 24 ++++---------
 5 files changed, 24 insertions(+), 41 deletions(-)
 rename meta/recipes-support/vte/{vte_0.72.2.bb => vte_0.74.0.bb} (64%)

Comments

Alexander Kanavin Sept. 20, 2023, 9:09 a.m. UTC | #1
nativesdk variants are only enabled when there is a particular need
for it, and in this case it would be better to drop nativesdk option
from vte.

Alex

On Wed, 20 Sept 2023 at 11:03, Markus Volk <f_l_k@t-online.de> wrote:
>
> 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
> - gtk+3 and gtk4 are requested by default-> add gtk4 dependency
> - allow to build gtk4-nativesdk
> - 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>
> ---
>  meta/recipes-gnome/gtk+/gtk4_4.12.1.bb        |  2 +-
>  .../xorg-lib/libxkbcommon_1.5.0.bb            |  2 +-
>  .../xorg-lib/xkeyboard-config_2.39.bb         |  2 +-
>  ...EXITCODE-macro-for-non-glibc-systems.patch | 35 ++++++++-----------
>  .../vte/{vte_0.72.2.bb => vte_0.74.0.bb}      | 24 ++++---------
>  5 files changed, 24 insertions(+), 41 deletions(-)
>  rename meta/recipes-support/vte/{vte_0.72.2.bb => vte_0.74.0.bb} (64%)
>
> diff --git a/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb b/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
> index aa7115b11e..29adee4adf 100644
> --- a/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
> +++ b/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
> @@ -47,7 +47,7 @@ inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features
>  # gobject-introspection.bbclass pins introspection off for nativesk. As long as
>  # we do not remove this wisdom or hack gtk4, it is not possible to build
>  # nativesdk-gtk4
> -BBCLASSEXTEND = "native"
> +BBCLASSEXTEND = "native nativesdk"
>
>  GSETTINGS_PACKAGE:class-native = ""
>
> diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
> index 62e9b158e4..09da677de4 100644
> --- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
> +++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
> @@ -35,6 +35,6 @@ python populate_packages:prepend () {
>  # xkbcommon: ERROR: couldn't find a Compose file for locale "C"
>  RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
>
> -BBCLASSEXTEND += "native"
> +BBCLASSEXTEND += "native nativesdk"
>
>  CVE_PRODUCT += "xkbcommon:libxkbcommon"
> diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb
> index 4795464ac0..8a87d49399 100644
> --- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb
> +++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb
> @@ -29,4 +29,4 @@ do_install:append () {
>      cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
>  }
>
> -BBCLASSEXTEND += "native"
> +BBCLASSEXTEND += "native nativesdk"
> 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 64%
> rename from meta/recipes-support/vte/vte_0.72.2.bb
> rename to meta/recipes-support/vte/vte_0.74.0.bb
> index 4249b75ac0..74574d3684 100644
> --- a/meta/recipes-support/vte/vte_0.72.2.bb
> +++ b/meta/recipes-support/vte/vte_0.74.0.bb
> @@ -11,38 +11,28 @@ LIC_FILES_CHKSUM = " \
>      file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
>  "
>
> -DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
> +DEPENDS = "glib-2.0 glib-2.0-native gtk+3 gtk4 libpcre2 libxml2-native gperf-native icu"
>
>  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"
> -}
> +EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
> +EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
>
> -# Package additional files
> -FILES:${PN}-dev += "${datadir}/vala/vapi/*"
> -
> -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 \
> --
> 2.42.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#187899): https://lists.openembedded.org/g/openembedded-core/message/187899
> Mute This Topic: https://lists.openembedded.org/mt/101474702/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Sept. 20, 2023, 9:14 a.m. UTC | #2
On Wed, Sep 20 2023 at 11:09:26 AM +02:00:00, Alexander Kanavin 
<alex.kanavin@gmail.com> wrote:
> in this case it would be better to drop nativesdk option
> from vte

The challange I guess would be to not build nativesdk for gtk+3/gtk4. 
As long as we allow to build them for nativesdk, vte will also depend 
on it.
Alexander Kanavin Sept. 20, 2023, 9:16 a.m. UTC | #3
On Wed, 20 Sept 2023 at 11:14, Markus Volk <f_l_k@t-online.de> wrote:
> in this case it would be better to drop nativesdk option from vte
> The challange I guess would be to not build nativesdk for gtk+3/gtk4. As long as we allow to build them for nativesdk, vte will also depend on it.

Not at all. If X depends on Y, and Y is enabled for nativesdk, that
doesn't mean that X needs that as well. matchbox-terminal depends on
vte, but isn't enabled for nativesdk.

Alex
Markus Volk Sept. 20, 2023, 9:28 a.m. UTC | #4
On Wed, Sep 20 2023 at 11:16:21 AM +02:00:00, Alexander Kanavin 
<alex.kanavin@gmail.com> wrote:
> Not at all. If X depends on Y, and Y is enabled for nativesdk, that
> doesn't mean that X needs that as well. matchbox-terminal depends on
> vte, but isn't enabled for nativesdk.

Of course, you are right.
I'll do a  'bitbake core-image-sato -c do_populate_sdk' and if nothing 
fails I'll send a v4
diff mbox series

Patch

diff --git a/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb b/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
index aa7115b11e..29adee4adf 100644
--- a/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
+++ b/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
@@ -47,7 +47,7 @@  inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features
 # gobject-introspection.bbclass pins introspection off for nativesk. As long as
 # we do not remove this wisdom or hack gtk4, it is not possible to build
 # nativesdk-gtk4
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
 
 GSETTINGS_PACKAGE:class-native = ""
 
diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
index 62e9b158e4..09da677de4 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
@@ -35,6 +35,6 @@  python populate_packages:prepend () {
 # xkbcommon: ERROR: couldn't find a Compose file for locale "C"
 RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
 
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND += "native nativesdk"
 
 CVE_PRODUCT += "xkbcommon:libxkbcommon"
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb
index 4795464ac0..8a87d49399 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.39.bb
@@ -29,4 +29,4 @@  do_install:append () {
     cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg
 }
 
-BBCLASSEXTEND += "native"
+BBCLASSEXTEND += "native nativesdk"
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 64%
rename from meta/recipes-support/vte/vte_0.72.2.bb
rename to meta/recipes-support/vte/vte_0.74.0.bb
index 4249b75ac0..74574d3684 100644
--- a/meta/recipes-support/vte/vte_0.72.2.bb
+++ b/meta/recipes-support/vte/vte_0.74.0.bb
@@ -11,38 +11,28 @@  LIC_FILES_CHKSUM = " \
     file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \
 "
 
-DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu"
+DEPENDS = "glib-2.0 glib-2.0-native gtk+3 gtk4 libpcre2 libxml2-native gperf-native icu"
 
 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"
-}
+EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
+EXTRA_OEMESON:append = " ${@bb.utils.contains('GI_DATA_ENABLED', 'False', '-Ddocs=false', '', d)}"
 
-# Package additional files
-FILES:${PN}-dev += "${datadir}/vala/vapi/*"
-
-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 \