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 |
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] > -=-=-=-=-=-=-=-=-=-=-=- >
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.
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
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 --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 \
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%)