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