All of lore.kernel.org
 help / color / mirror / Atom feed
* [oe-core][PATCHv9 1/4] graphene: import from meta-oe
@ 2022-12-01  7:53 Markus Volk
  2022-12-01  7:53 ` [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome Markus Volk
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Markus Volk @ 2022-12-01  7:53 UTC (permalink / raw)
  To: openembedded-core; +Cc: Markus Volk

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 .../graphene/graphene_1.10.8.bb               | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 meta/recipes-graphics/graphene/graphene_1.10.8.bb

diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
new file mode 100644
index 0000000000..813ff74adf
--- /dev/null
+++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A thin layer of graphic data types"
+HOMEPAGE = "http://ebassi.github.io/graphene/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7d871d9e23c450c421a85bb2819f648"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gobject-introspection gtk-doc
+
+SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"
+
+# gtk4 & mutter 41.0 requires graphene build with introspection
+PACKAGECONFIG ?= "introspection"
+PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+EXTRA_OEMESON = "-Dinstalled_tests=false"
+
+FILES:${PN} += "${libdir}/graphene-1.0"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.34.1



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

* [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome
  2022-12-01  7:53 [oe-core][PATCHv9 1/4] graphene: import from meta-oe Markus Volk
@ 2022-12-01  7:53 ` Markus Volk
  2022-12-01 11:16   ` Alexandre Belloni
  2022-12-01  7:53 ` [oe-core][PATCHv9 3/4] gcr: add recipe for gcr-4, needed to build with gtk4 Markus Volk
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Markus Volk @ 2022-12-01  7:53 UTC (permalink / raw)
  To: openembedded-core; +Cc: Markus Volk

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 meta/recipes-gnome/gtk+/gtk4_4.8.2.bb | 130 ++++++++++++++++++++++++++
 1 file changed, 130 insertions(+)
 create mode 100644 meta/recipes-gnome/gtk+/gtk4_4.8.2.bb

diff --git a/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb b/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
new file mode 100644
index 0000000000..dc552c5c91
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
@@ -0,0 +1,130 @@
+SUMMARY = "Multi-platform toolkit for creating GUIs"
+DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "libs"
+
+DEPENDS = " \
+    atk \
+    cairo \
+    fribidi \
+    gdk-pixbuf \
+    gdk-pixbuf-native \
+    gi-docgen \
+    glib-2.0 \
+    graphene \
+    harfbuzz \
+    iso-codes \
+    jpeg \
+    libepoxy \
+    libpng \
+    librsvg \
+    libxkbcommon \
+    pango \
+    tiff \
+"
+
+LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
+    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+    file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
+"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
+SRC_URI[sha256sum] = "85b7a160b6e02eafa4e7d38f046f8720fab537d3fe73c01c864333a983a692a9"
+
+S = "${WORKDIR}/gtk-${PV}"
+
+inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features_check gobject-introspection
+
+# TBD: nativesdk
+# 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"
+
+GSETTINGS_PACKAGE:class-native = ""
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+EXTRA_OEMESON = " -Dbuild-tests=false -Ddemos=false"
+
+PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}"
+PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
+PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols virtual/egl virtual/libgles2 wayland-native"
+PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups"
+PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
+PACKAGECONFIG[ffmpeg] = "-Dmedia-ffmpeg=enabled,-Dmedia-ffmpeg=disabled,ffmpeg"
+# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
+PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
+PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker"
+PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native"
+
+PACKAGES =+ "${PN}-demo"
+LIBV = "4.0.0"
+
+FILES:${PN}:append = " \
+    ${datadir}/glib-2.0/schemas/ \
+    ${datadir}/gtk-4.0/emoji/ \
+    ${datadir}/metainfo/ \
+    ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
+    ${libdir}/gtk-4.0/${LIBV}/media \
+    ${bindir}/gtk4-update-icon-cache \
+    ${bindir}/gtk4-launch \
+"
+
+FILES:${PN}-dev += " \
+    ${datadir}/gtk-4.0/gtk4builder.rng \
+    ${datadir}/gtk-4.0/include \
+    ${datadir}/gtk-4.0/valgrind \
+    ${datadir}/gettext/its \
+    ${bindir}/gtk4-builder-tool \
+    ${bindir}/gtk4-encode-symbolic-svg \
+    ${bindir}/gtk4-query-settings \
+"
+
+GTKBASE_RRECOMMENDS ?= " \
+    liberation-fonts \
+    gdk-pixbuf-loader-png \
+    gdk-pixbuf-loader-jpeg \
+    gdk-pixbuf-loader-gif \
+    gdk-pixbuf-loader-xpm \
+    shared-mime-info \
+    adwaita-icon-theme-symbolic \
+"
+
+
+GTKBASE_RRECOMMENDS:class-native ?= ""
+
+GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
+
+RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
+RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
+RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
+
+PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
+python populate_packages:prepend () {
+    import os.path
+
+    gtk_libdir = d.expand('${libdir}/gtk-4.0/${LIBV}')
+    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
+
+    do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
+
+    if (d.getVar('DEBIAN_NAMES')):
+        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
+}
-- 
2.34.1



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

* [oe-core][PATCHv9 3/4] gcr: add recipe for gcr-4, needed to build with gtk4
  2022-12-01  7:53 [oe-core][PATCHv9 1/4] graphene: import from meta-oe Markus Volk
  2022-12-01  7:53 ` [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome Markus Volk
@ 2022-12-01  7:53 ` Markus Volk
  2022-12-08 22:21   ` Alexandre Belloni
  2022-12-01  7:53 ` [oe-core][PATCHv9 4/4] Add entries for the newly added recipes to maintainers.inc Markus Volk
  2022-12-01 12:34 ` [oe-core][PATCHv9 1/4] graphene: import from meta-oe Ross Burton
  3 siblings, 1 reply; 15+ messages in thread
From: Markus Volk @ 2022-12-01  7:53 UTC (permalink / raw)
  To: openembedded-core; +Cc: Markus Volk

gcr-3 recipe is still needed for gnome projects that stick to gtk+3, rename to gcr3.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...ectly-handle-disabled-ssh_agent-opti.patch | 49 ++++++++++++++++
 ...build-fix-one-parallel-build-failure.patch |  0
 ...1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch |  0
 .../gcr/{gcr_3.40.0.bb => gcr3_3.40.0.bb}     |  8 ++-
 meta/recipes-gnome/gcr/gcr_4.0.0.bb           | 57 +++++++++++++++++++
 5 files changed, 112 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
 rename meta/recipes-gnome/gcr/{gcr => gcr3}/0001-gcr-meson.build-fix-one-parallel-build-failure.patch (100%)
 rename meta/recipes-gnome/gcr/{gcr => gcr3}/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch (100%)
 rename meta/recipes-gnome/gcr/{gcr_3.40.0.bb => gcr3_3.40.0.bb} (87%)
 create mode 100644 meta/recipes-gnome/gcr/gcr_4.0.0.bb

diff --git a/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch b/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
new file mode 100644
index 0000000000..940f78ebab
--- /dev/null
+++ b/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
@@ -0,0 +1,49 @@
+From 9b67bb18d8409e0e693cc6000507acbd73a30eab Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 16 Nov 2022 11:27:24 +0100
+Subject: [PATCH 1/2] meson.build: correctly handle disabled ssh_agent option
+
+Existing code produces these errors:
+| gcr/meson.build:61:0: ERROR: Unable to get the path of a not-found external program
+| gcr/meson.build:101:5: ERROR: Unknown variable "ssh_add_path".
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+Upstream-Status: Backport [ https://gitlab.gnome.org/GNOME/gcr/-/commit/9b67bb18d8409e0e693cc6000507acbd73a30eab ]
+---
+ meson.build | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 3f35173..11d7fa7 100644
+--- a/meson.build
++++ b/meson.build
+@@ -58,8 +58,10 @@ if p11_system_config_modules == ''
+   error('Couldn\'t find location for pkcs11 module config')
+ endif
+ libsecret_dep = dependency('libsecret-1', version: '>= 0.20', required: get_option('ssh_agent'))
+-ssh_add_path = find_program('ssh-add', required: get_option('ssh_agent')).full_path()
+-ssh_agent_path = find_program('ssh-agent', required: get_option('ssh_agent')).full_path()
++if get_option('ssh_agent')
++  ssh_add_path = find_program('ssh-add').full_path()
++  ssh_agent_path = find_program('ssh-agent').full_path()
++endif
+ 
+ with_systemd = false
+ libsystemd_deps = []
+@@ -96,8 +98,10 @@ conf.set('HAVE_TIMEGM', cc.has_function('timegm'))
+ conf.set('HAVE_MLOCK', cc.has_function('mlock'))
+ conf.set_quoted('GPG_EXECUTABLE', gpg_path)
+ conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version())
+-conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
+-conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
++if get_option('ssh_agent')
++  conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
++  conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
++endif
+ conf.set10('WITH_SYSTEMD', with_systemd)
+ config_file = configure_file(
+   output: 'config.h',
+-- 
+2.34.1
+
diff --git a/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch b/meta/recipes-gnome/gcr/gcr3/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
similarity index 100%
rename from meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
rename to meta/recipes-gnome/gcr/gcr3/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
diff --git a/meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch b/meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
similarity index 100%
rename from meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
rename to meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
diff --git a/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/meta/recipes-gnome/gcr/gcr3_3.40.0.bb
similarity index 87%
rename from meta/recipes-gnome/gcr/gcr_3.40.0.bb
rename to meta/recipes-gnome/gcr/gcr3_3.40.0.bb
index 917be5938b..5318768db6 100644
--- a/meta/recipes-gnome/gcr/gcr_3.40.0.bb
+++ b/meta/recipes-gnome/gcr/gcr3_3.40.0.bb
@@ -20,11 +20,15 @@ GTKDOC_MESON_OPTION = "gtk_doc"
 inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
 UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>\d+\.(?!9\d+)(\d*[02468])+(\.\d+)+)\.tar"
 
-SRC_URI += "file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \ 
-            file://b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch"
+SRC_URI = " \
+	https://download.gnome.org/sources/gcr/3.40/gcr-${PV}.tar.xz;name=archive \
+	file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \
+	file://b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch"
 
 SRC_URI[archive.sha256sum] = "b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5"
 
+S = "${WORKDIR}/gcr-${PV}"
+
 PACKAGECONFIG ??= " \
 	${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
 	${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
diff --git a/meta/recipes-gnome/gcr/gcr_4.0.0.bb b/meta/recipes-gnome/gcr/gcr_4.0.0.bb
new file mode 100644
index 0000000000..c702184c74
--- /dev/null
+++ b/meta/recipes-gnome/gcr/gcr_4.0.0.bb
@@ -0,0 +1,57 @@
+SUMMARY = "A library for bits of crypto UI and parsing etc"
+DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
+accessing key stores. It also provides the viewer for crypto files on the \
+GNOME desktop."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
+
+DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
+           ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
+UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
+
+SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch"
+SRC_URI[archive.sha256sum] = "c45855924f0ee7bab43e2dd38bfafd2ac815c6e9864341c0161e171173dcec7c"
+
+PACKAGECONFIG ??= " \
+	${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
+"
+PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4"
+PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
+#'Use systemd socket activation for server programs'
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+
+FILES:${PN} += " \
+    ${datadir}/dbus-1 \
+    ${datadir}/gcr-4 \
+    ${systemd_user_unitdir}/gcr-ssh-agent.socket \
+    ${systemd_user_unitdir}/gcr-ssh-agent.service \
+"
+
+# http://errors.yoctoproject.org/Errors/Details/20229/
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
+
+EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross"
+
+do_write_config:append() {
+    cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+gpg2 = '${bindir}/gpg2'
+ssh-add = '${bindir}/ssh-add'
+ssh-agent = '${bindir}/ssh-agent'
+EOF
+}
-- 
2.34.1



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

* [oe-core][PATCHv9 4/4] Add entries for the newly added recipes to maintainers.inc
  2022-12-01  7:53 [oe-core][PATCHv9 1/4] graphene: import from meta-oe Markus Volk
  2022-12-01  7:53 ` [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome Markus Volk
  2022-12-01  7:53 ` [oe-core][PATCHv9 3/4] gcr: add recipe for gcr-4, needed to build with gtk4 Markus Volk
@ 2022-12-01  7:53 ` Markus Volk
  2022-12-01 10:05   ` Alexander Kanavin
  2022-12-01 12:34 ` [oe-core][PATCHv9 1/4] graphene: import from meta-oe Ross Burton
  3 siblings, 1 reply; 15+ messages in thread
From: Markus Volk @ 2022-12-01  7:53 UTC (permalink / raw)
  To: openembedded-core; +Cc: Markus Volk

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 meta/conf/distro/include/maintainers.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 03db94824d..1bd0993eec 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -188,6 +188,7 @@ RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gcc-source-12.2.0 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-gcr3 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
@@ -229,6 +230,7 @@ RECIPE_MAINTAINER:pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER:pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-graphene = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-grep = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER:pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -249,6 +251,7 @@ RECIPE_MAINTAINER:pn-gstreamer1.0-python = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-gstreamer1.0-rtsp-server = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-gstreamer1.0-vaapi = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-gtk+3 = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-gtk4 = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-gtk-doc = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-gzip = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-harfbuzz = "Anuj Mittal <anuj.mittal@intel.com>"
-- 
2.34.1



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

* Re: [oe-core][PATCHv9 4/4] Add entries for the newly added recipes to maintainers.inc
  2022-12-01  7:53 ` [oe-core][PATCHv9 4/4] Add entries for the newly added recipes to maintainers.inc Markus Volk
@ 2022-12-01 10:05   ` Alexander Kanavin
  0 siblings, 0 replies; 15+ messages in thread
From: Alexander Kanavin @ 2022-12-01 10:05 UTC (permalink / raw)
  To: Markus Volk; +Cc: openembedded-core

Not unassigned please. Why not add yourself?

Alex

On Thu, 1 Dec 2022 at 08:53, Markus Volk <f_l_k@t-online.de> wrote:
>
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  meta/conf/distro/include/maintainers.inc | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
> index 03db94824d..1bd0993eec 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -188,6 +188,7 @@ RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
>  RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
>  RECIPE_MAINTAINER:pn-gcc-source-12.2.0 = "Khem Raj <raj.khem@gmail.com>"
>  RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
> +RECIPE_MAINTAINER:pn-gcr3 = "Unassigned <unassigned@yoctoproject.org>"
>  RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
>  RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
>  RECIPE_MAINTAINER:pn-gdb-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
> @@ -229,6 +230,7 @@ RECIPE_MAINTAINER:pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
>  RECIPE_MAINTAINER:pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
>  RECIPE_MAINTAINER:pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
>  RECIPE_MAINTAINER:pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
> +RECIPE_MAINTAINER:pn-graphene = "Unassigned <unassigned@yoctoproject.org>"
>  RECIPE_MAINTAINER:pn-grep = "Denys Dmytriyenko <denis@denix.org>"
>  RECIPE_MAINTAINER:pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
>  RECIPE_MAINTAINER:pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
> @@ -249,6 +251,7 @@ RECIPE_MAINTAINER:pn-gstreamer1.0-python = "Anuj Mittal <anuj.mittal@intel.com>"
>  RECIPE_MAINTAINER:pn-gstreamer1.0-rtsp-server = "Anuj Mittal <anuj.mittal@intel.com>"
>  RECIPE_MAINTAINER:pn-gstreamer1.0-vaapi = "Anuj Mittal <anuj.mittal@intel.com>"
>  RECIPE_MAINTAINER:pn-gtk+3 = "Ross Burton <ross.burton@arm.com>"
> +RECIPE_MAINTAINER:pn-gtk4 = "Unassigned <unassigned@yoctoproject.org>"
>  RECIPE_MAINTAINER:pn-gtk-doc = "Alexander Kanavin <alex.kanavin@gmail.com>"
>  RECIPE_MAINTAINER:pn-gzip = "Denys Dmytriyenko <denis@denix.org>"
>  RECIPE_MAINTAINER:pn-harfbuzz = "Anuj Mittal <anuj.mittal@intel.com>"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#174040): https://lists.openembedded.org/g/openembedded-core/message/174040
> Mute This Topic: https://lists.openembedded.org/mt/95377614/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome
  2022-12-01  7:53 ` [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome Markus Volk
@ 2022-12-01 11:16   ` Alexandre Belloni
  2022-12-01 15:12     ` Alexandre Belloni
  0 siblings, 1 reply; 15+ messages in thread
From: Alexandre Belloni @ 2022-12-01 11:16 UTC (permalink / raw)
  To: Markus Volk; +Cc: openembedded-core

This is still building but I already have:
stdio: WARNING: Nothing PROVIDES 'iso-codes-native' (but virtual:native:/home/pokybuild/yocto-worker/build-appliance/build/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb DEPENDS on or otherwise requires it). Close matches:
stdio: WARNING: Nothing PROVIDES 'libxkbcommon-native' (but virtual:native:/home/pokybuild/yocto-worker/build-appliance/build/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb DEPENDS on or otherwise requires it). Close matches:

On 01/12/2022 08:53:22+0100, Markus Volk wrote:
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  meta/recipes-gnome/gtk+/gtk4_4.8.2.bb | 130 ++++++++++++++++++++++++++
>  1 file changed, 130 insertions(+)
>  create mode 100644 meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
> 
> diff --git a/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb b/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
> new file mode 100644
> index 0000000000..dc552c5c91
> --- /dev/null
> +++ b/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
> @@ -0,0 +1,130 @@
> +SUMMARY = "Multi-platform toolkit for creating GUIs"
> +DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
> +set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
> +HOMEPAGE = "http://www.gtk.org"
> +BUGTRACKER = "https://bugzilla.gnome.org/"
> +SECTION = "libs"
> +
> +DEPENDS = " \
> +    atk \
> +    cairo \
> +    fribidi \
> +    gdk-pixbuf \
> +    gdk-pixbuf-native \
> +    gi-docgen \
> +    glib-2.0 \
> +    graphene \
> +    harfbuzz \
> +    iso-codes \
> +    jpeg \
> +    libepoxy \
> +    libpng \
> +    librsvg \
> +    libxkbcommon \
> +    pango \
> +    tiff \
> +"
> +
> +LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
> +LIC_FILES_CHKSUM = " \
> +    file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
> +    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
> +    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
> +    file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
> +"
> +
> +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
> +
> +UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
> +
> +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
> +SRC_URI[sha256sum] = "85b7a160b6e02eafa4e7d38f046f8720fab537d3fe73c01c864333a983a692a9"
> +
> +S = "${WORKDIR}/gtk-${PV}"
> +
> +inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features_check gobject-introspection
> +
> +# TBD: nativesdk
> +# 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"
> +
> +GSETTINGS_PACKAGE:class-native = ""
> +
> +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
> +REQUIRED_DISTRO_FEATURES = "opengl"
> +
> +GIR_MESON_ENABLE_FLAG = 'enabled'
> +GIR_MESON_DISABLE_FLAG = 'disabled'
> +
> +EXTRA_OEMESON = " -Dbuild-tests=false -Ddemos=false"
> +
> +PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}"
> +PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
> +PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
> +
> +PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
> +PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols virtual/egl virtual/libgles2 wayland-native"
> +PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups"
> +PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
> +PACKAGECONFIG[ffmpeg] = "-Dmedia-ffmpeg=enabled,-Dmedia-ffmpeg=disabled,ffmpeg"
> +# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
> +PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
> +PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker"
> +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native"
> +
> +PACKAGES =+ "${PN}-demo"
> +LIBV = "4.0.0"
> +
> +FILES:${PN}:append = " \
> +    ${datadir}/glib-2.0/schemas/ \
> +    ${datadir}/gtk-4.0/emoji/ \
> +    ${datadir}/metainfo/ \
> +    ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
> +    ${libdir}/gtk-4.0/${LIBV}/media \
> +    ${bindir}/gtk4-update-icon-cache \
> +    ${bindir}/gtk4-launch \
> +"
> +
> +FILES:${PN}-dev += " \
> +    ${datadir}/gtk-4.0/gtk4builder.rng \
> +    ${datadir}/gtk-4.0/include \
> +    ${datadir}/gtk-4.0/valgrind \
> +    ${datadir}/gettext/its \
> +    ${bindir}/gtk4-builder-tool \
> +    ${bindir}/gtk4-encode-symbolic-svg \
> +    ${bindir}/gtk4-query-settings \
> +"
> +
> +GTKBASE_RRECOMMENDS ?= " \
> +    liberation-fonts \
> +    gdk-pixbuf-loader-png \
> +    gdk-pixbuf-loader-jpeg \
> +    gdk-pixbuf-loader-gif \
> +    gdk-pixbuf-loader-xpm \
> +    shared-mime-info \
> +    adwaita-icon-theme-symbolic \
> +"
> +
> +
> +GTKBASE_RRECOMMENDS:class-native ?= ""
> +
> +GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
> +
> +RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
> +RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
> +RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
> +
> +PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
> +python populate_packages:prepend () {
> +    import os.path
> +
> +    gtk_libdir = d.expand('${libdir}/gtk-4.0/${LIBV}')
> +    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
> +
> +    do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
> +
> +    if (d.getVar('DEBIAN_NAMES')):
> +        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
> +}
> -- 
> 2.34.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#174041): https://lists.openembedded.org/g/openembedded-core/message/174041
> Mute This Topic: https://lists.openembedded.org/mt/95377615/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


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

* Re: [oe-core][PATCHv9 1/4] graphene: import from meta-oe
  2022-12-01  7:53 [oe-core][PATCHv9 1/4] graphene: import from meta-oe Markus Volk
                   ` (2 preceding siblings ...)
  2022-12-01  7:53 ` [oe-core][PATCHv9 4/4] Add entries for the newly added recipes to maintainers.inc Markus Volk
@ 2022-12-01 12:34 ` Ross Burton
  2022-12-01 12:45   ` Alexander Kanavin
  2022-12-01 13:14   ` Richard Purdie
  3 siblings, 2 replies; 15+ messages in thread
From: Ross Burton @ 2022-12-01 12:34 UTC (permalink / raw)
  To: f_l_k; +Cc: openembedded-core

I’m a big GNOME fan[1] but I wonder if moving pieces of the GTK4/GNOME4 stack into oe-core because we want to upgrade epiphany is the right thing to do.

It’s not the full GNOME stack as we’re just picking the build dependencies for Epiphany, so anyone who wants to use the GNOME stack will need meta-gnome. It’s not really a proper test of GTK4 because epiphany isn’t in any images, so will only get built in the few world builds on the autobuilder.  Because it is in no images there is no runtime QA for it, we could carry a GTK4 in oe-core that crashes on startup for a long time before anyone noticed.

WebKit supports both GTK3 and GTK4[2], so it’s easy enough for oe-core to either have one recipe with  PACKAGECONFIGs, or a well written flexible recipe that has a GTK3 variation in core and a GTK4 variation in meta-gnome.  I believe webkitgtk also ships a dumb-browser application that would be enough to verify that webkitgtk actually works, because in production use the choice of browser will be based on more than just what is in core: maybe a custom shell using webkit, maybe chromium, maybe something else entirely.

I’d even go as far as saying that maybe the meta-gnome maintainers should talk to the autobuilder maintainers and get meta-gnome added to the autobuilder test matrix.  GNOME has strong support for installed tests so we can execute the ptests on the autobuilder, and have some basic runtime tests to verify that GNOME starts.

Ross

[1] ex-gnome-games maintainer, wrote and maintained sound-juicer, attended several GUADECs, was active in the GNOME Mobile working group. Yes, this is historic, but working on GNOME 3 is what took me from proprietary software to working on open source full-time.

[2] https://github.com/WebKit/WebKit/blob/ab46c3ebb92d1134614f4f98918927d338062d74/Source/cmake/OptionsGTK.cmake#L184

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

* Re: [oe-core][PATCHv9 1/4] graphene: import from meta-oe
  2022-12-01 12:34 ` [oe-core][PATCHv9 1/4] graphene: import from meta-oe Ross Burton
@ 2022-12-01 12:45   ` Alexander Kanavin
  2022-12-01 12:51     ` Ross Burton
  2022-12-01 13:14   ` Richard Purdie
  1 sibling, 1 reply; 15+ messages in thread
From: Alexander Kanavin @ 2022-12-01 12:45 UTC (permalink / raw)
  To: Ross Burton; +Cc: f_l_k, openembedded-core

How much longer before webkit, too, drops gtk3 support, or gtk3 itself
starts to bitrot in significant ways? If we want webkit in core, then
we better figure out how to build (and test) it with gtk4, and rather
now, than later.

I also don't like the idea that core should be using less-than-latest
options when latest options are 'complicated'.

Alex

On Thu, 1 Dec 2022 at 13:34, Ross Burton <ross.burton@arm.com> wrote:
>
> I’m a big GNOME fan[1] but I wonder if moving pieces of the GTK4/GNOME4 stack into oe-core because we want to upgrade epiphany is the right thing to do.
>
> It’s not the full GNOME stack as we’re just picking the build dependencies for Epiphany, so anyone who wants to use the GNOME stack will need meta-gnome. It’s not really a proper test of GTK4 because epiphany isn’t in any images, so will only get built in the few world builds on the autobuilder.  Because it is in no images there is no runtime QA for it, we could carry a GTK4 in oe-core that crashes on startup for a long time before anyone noticed.
>
> WebKit supports both GTK3 and GTK4[2], so it’s easy enough for oe-core to either have one recipe with  PACKAGECONFIGs, or a well written flexible recipe that has a GTK3 variation in core and a GTK4 variation in meta-gnome.  I believe webkitgtk also ships a dumb-browser application that would be enough to verify that webkitgtk actually works, because in production use the choice of browser will be based on more than just what is in core: maybe a custom shell using webkit, maybe chromium, maybe something else entirely.
>
> I’d even go as far as saying that maybe the meta-gnome maintainers should talk to the autobuilder maintainers and get meta-gnome added to the autobuilder test matrix.  GNOME has strong support for installed tests so we can execute the ptests on the autobuilder, and have some basic runtime tests to verify that GNOME starts.
>
> Ross
>
> [1] ex-gnome-games maintainer, wrote and maintained sound-juicer, attended several GUADECs, was active in the GNOME Mobile working group. Yes, this is historic, but working on GNOME 3 is what took me from proprietary software to working on open source full-time.
>
> [2] https://github.com/WebKit/WebKit/blob/ab46c3ebb92d1134614f4f98918927d338062d74/Source/cmake/OptionsGTK.cmake#L184
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#174054): https://lists.openembedded.org/g/openembedded-core/message/174054
> Mute This Topic: https://lists.openembedded.org/mt/95377611/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


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

* Re: [oe-core][PATCHv9 1/4] graphene: import from meta-oe
  2022-12-01 12:45   ` Alexander Kanavin
@ 2022-12-01 12:51     ` Ross Burton
  2022-12-01 12:57       ` Alexander Kanavin
  0 siblings, 1 reply; 15+ messages in thread
From: Ross Burton @ 2022-12-01 12:51 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: f_l_k, openembedded-core

On 1 Dec 2022, at 12:45, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> 
> How much longer before webkit, too, drops gtk3 support, or gtk3 itself
> starts to bitrot in significant ways? If we want webkit in core, then
> we better figure out how to build (and test) it with gtk4, and rather
> now, than later.

I might be putting a different emphasis to you on that “if we want webkit in core”.

If webkit ditches gtk3 support *and* oe-core is still shipping a gtk3 based UI then I’ll repeat my suggestion that the autobuilder should exercise a GTK4 stack properly, and ephy/webkitgtk4 can live in meta-gnome.  Ephy is a GNOME project, meta-gnome is where it belongs.

> I also don't like the idea that core should be using less-than-latest
> options when latest options are ‘complicated’.

Adding recipes isn’t complicated, that’s not the problem.

Ross



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

* Re: [oe-core][PATCHv9 1/4] graphene: import from meta-oe
  2022-12-01 12:51     ` Ross Burton
@ 2022-12-01 12:57       ` Alexander Kanavin
  0 siblings, 0 replies; 15+ messages in thread
From: Alexander Kanavin @ 2022-12-01 12:57 UTC (permalink / raw)
  To: Ross Burton; +Cc: f_l_k, openembedded-core

On Thu, 1 Dec 2022 at 13:51, Ross Burton <Ross.Burton@arm.com> wrote:
> I might be putting a different emphasis to you on that “if we want webkit in core”.
>
> If webkit ditches gtk3 support *and* oe-core is still shipping a gtk3 based UI then I’ll repeat my suggestion that the autobuilder should exercise a GTK4 stack properly, and ephy/webkitgtk4 can live in meta-gnome.  Ephy is a GNOME project, meta-gnome is where it belongs.

Yes, I'd rather keep webkit/ephy in core. For one thing, we can add it
to core-image-weston, and instantly have a useful graphical UI that
way that also exercises a lot of things across the stack -
terminal+browser.

Alex


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

* Re: [oe-core][PATCHv9 1/4] graphene: import from meta-oe
  2022-12-01 12:34 ` [oe-core][PATCHv9 1/4] graphene: import from meta-oe Ross Burton
  2022-12-01 12:45   ` Alexander Kanavin
@ 2022-12-01 13:14   ` Richard Purdie
  2022-12-01 15:24     ` Alexander Kanavin
  1 sibling, 1 reply; 15+ messages in thread
From: Richard Purdie @ 2022-12-01 13:14 UTC (permalink / raw)
  To: Ross Burton, f_l_k; +Cc: openembedded-core

On Thu, 2022-12-01 at 12:34 +0000, Ross Burton wrote:
> I’m a big GNOME fan[1] but I wonder if moving pieces of the
> GTK4/GNOME4 stack into oe-core because we want to upgrade epiphany is
> the right thing to do.
> 
> It’s not the full GNOME stack as we’re just picking the build
> dependencies for Epiphany, so anyone who wants to use the GNOME stack
> will need meta-gnome. It’s not really a proper test of GTK4 because
> epiphany isn’t in any images, so will only get built in the few world
> builds on the autobuilder.  Because it is in no images there is no
> runtime QA for it, we could carry a GTK4 in oe-core that crashes on
> startup for a long time before anyone noticed.

There are a variety of pressures which say "lets move X or Y out of
core". It would be less work for me and for anyone else working on OE-
Core so there are advantages.

The downside to doing that is that we lose "real world" testing of
larger components and integration of them. webkit is a pain but in some
ways having large painful C++ code in core helps stress test that. By
real world I don't just mean someone using the end browser but even
just building it, enduring we don't have leakage of build paths into
C++ libraries, ensuring such things remain reproducible and so on. I've
said before that we do need a graphics stack somewhere in our tests
since in general graphics is important.

I think it partly depends on where we go with OE-Core. If sato stays on
gtk3+, we have a problem since that is a bit of a dead end. There is
still value there since it pulls together so many pieces of software
but as you say, gtk4 mixed with gtk3 like that isn't great.

If over time we see some pieces of sato using gtk4, that changes the
equation, this move could be a start of changes which put us in a
better position in the future.

Should we get rid of sato? I'm reluctant as we don't have a good
replacement plan. Ideas have been proposed but nobody is willing to
step up, propose and maintain something. We have a number of areas
where we could spend time and there are probably higher priority
issues. How much work is gtk4 in sato? No idea to be honest.

I do think OE-Core needs to have enough variety and represent enough of
the software ecosystem that it is useful in it's own right and is able
to test a good cross section of the software world people work with.

> WebKit supports both GTK3 and GTK4[2], so it’s easy enough for oe-
> core to either have one recipe with  PACKAGECONFIGs, or a well
> written flexible recipe that has a GTK3 variation in core and a GTK4
> variation in meta-gnome.  I believe webkitgtk also ships a dumb-
> browser application that would be enough to verify that webkitgtk
> actually works, because in production use the choice of browser will
> be based on more than just what is in core: maybe a custom shell
> using webkit, maybe chromium, maybe something else entirely.
> 
> I’d even go as far as saying that maybe the meta-gnome maintainers
> should talk to the autobuilder maintainers and get meta-gnome added
> to the autobuilder test matrix.  GNOME has strong support for
> installed tests so we can execute the ptests on the autobuilder, and
> have some basic runtime tests to verify that GNOME starts.

I would like to see more testing other layers on the autobuilder. There
are some potential points of contention:

a) OE-Core's test matrix often isn't what some other layer maintainer
wish to maintain (e.g. ppc or mips?).

b) the layers can influence the tests, for example would we need
reproducible builds tests with and without the layer?

c) What level of response can we expect to failures or issues?

d) Would those layers want to match the "quality" metrics we've been
aiming for in core (e.g. all recipes have MAINTAINER/HOMEPAGE etc.)?

We've had quite a bit of success putting a high quality bar on core and
we're trying to lead by example to other areas of the ecosystem but I
can see this creating tensions depending on how we set things up with
the autobuilder.

Cheers,

Richard


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

* Re: [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome
  2022-12-01 11:16   ` Alexandre Belloni
@ 2022-12-01 15:12     ` Alexandre Belloni
  2022-12-01 16:08       ` Markus Volk
  0 siblings, 1 reply; 15+ messages in thread
From: Alexandre Belloni @ 2022-12-01 15:12 UTC (permalink / raw)
  To: Markus Volk; +Cc: openembedded-core

Build ended, there is also this one:

| 
| ../gcr-4.0.0/docs/meson.build:1:0: ERROR: Program 'gi-docgen' not found or not executable
| 
| A full log can be found at /home/pokybuild/yocto-worker/qemux86-world-alt/build/build/tmp/work/core2-64-poky-linux/gcr/4.0.0-r0/build/meson-logs/meson-log.txt
| WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
| ERROR: meson failed
| WARNING: exit code 1 from a shell command.
NOTE: recipe gcr-4.0.0-r0: task do_configure: Failed

https://autobuilder.yoctoproject.org/typhoon/#/builders/108/builds/3821/steps/11/logs/stdio

On 01/12/2022 12:16:59+0100, Alexandre Belloni wrote:
> This is still building but I already have:
> stdio: WARNING: Nothing PROVIDES 'iso-codes-native' (but virtual:native:/home/pokybuild/yocto-worker/build-appliance/build/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb DEPENDS on or otherwise requires it). Close matches:
> stdio: WARNING: Nothing PROVIDES 'libxkbcommon-native' (but virtual:native:/home/pokybuild/yocto-worker/build-appliance/build/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb DEPENDS on or otherwise requires it). Close matches:
> 
> On 01/12/2022 08:53:22+0100, Markus Volk wrote:
> > Signed-off-by: Markus Volk <f_l_k@t-online.de>
> > ---
> >  meta/recipes-gnome/gtk+/gtk4_4.8.2.bb | 130 ++++++++++++++++++++++++++
> >  1 file changed, 130 insertions(+)
> >  create mode 100644 meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
> > 
> > diff --git a/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb b/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
> > new file mode 100644
> > index 0000000000..dc552c5c91
> > --- /dev/null
> > +++ b/meta/recipes-gnome/gtk+/gtk4_4.8.2.bb
> > @@ -0,0 +1,130 @@
> > +SUMMARY = "Multi-platform toolkit for creating GUIs"
> > +DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
> > +set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites."
> > +HOMEPAGE = "http://www.gtk.org"
> > +BUGTRACKER = "https://bugzilla.gnome.org/"
> > +SECTION = "libs"
> > +
> > +DEPENDS = " \
> > +    atk \
> > +    cairo \
> > +    fribidi \
> > +    gdk-pixbuf \
> > +    gdk-pixbuf-native \
> > +    gi-docgen \
> > +    glib-2.0 \
> > +    graphene \
> > +    harfbuzz \
> > +    iso-codes \
> > +    jpeg \
> > +    libepoxy \
> > +    libpng \
> > +    librsvg \
> > +    libxkbcommon \
> > +    pango \
> > +    tiff \
> > +"
> > +
> > +LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
> > +LIC_FILES_CHKSUM = " \
> > +    file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
> > +    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
> > +    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
> > +    file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
> > +"
> > +
> > +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
> > +
> > +UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
> > +
> > +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
> > +SRC_URI[sha256sum] = "85b7a160b6e02eafa4e7d38f046f8720fab537d3fe73c01c864333a983a692a9"
> > +
> > +S = "${WORKDIR}/gtk-${PV}"
> > +
> > +inherit meson gettext pkgconfig gi-docgen update-alternatives gsettings features_check gobject-introspection
> > +
> > +# TBD: nativesdk
> > +# 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"
> > +
> > +GSETTINGS_PACKAGE:class-native = ""
> > +
> > +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
> > +REQUIRED_DISTRO_FEATURES = "opengl"
> > +
> > +GIR_MESON_ENABLE_FLAG = 'enabled'
> > +GIR_MESON_DISABLE_FLAG = 'disabled'
> > +
> > +EXTRA_OEMESON = " -Dbuild-tests=false -Ddemos=false"
> > +
> > +PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}"
> > +PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
> > +PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
> > +
> > +PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama"
> > +PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols virtual/egl virtual/libgles2 wayland-native"
> > +PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups"
> > +PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
> > +PACKAGECONFIG[ffmpeg] = "-Dmedia-ffmpeg=enabled,-Dmedia-ffmpeg=disabled,ffmpeg"
> > +# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
> > +PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
> > +PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker"
> > +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native"
> > +
> > +PACKAGES =+ "${PN}-demo"
> > +LIBV = "4.0.0"
> > +
> > +FILES:${PN}:append = " \
> > +    ${datadir}/glib-2.0/schemas/ \
> > +    ${datadir}/gtk-4.0/emoji/ \
> > +    ${datadir}/metainfo/ \
> > +    ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \
> > +    ${libdir}/gtk-4.0/${LIBV}/media \
> > +    ${bindir}/gtk4-update-icon-cache \
> > +    ${bindir}/gtk4-launch \
> > +"
> > +
> > +FILES:${PN}-dev += " \
> > +    ${datadir}/gtk-4.0/gtk4builder.rng \
> > +    ${datadir}/gtk-4.0/include \
> > +    ${datadir}/gtk-4.0/valgrind \
> > +    ${datadir}/gettext/its \
> > +    ${bindir}/gtk4-builder-tool \
> > +    ${bindir}/gtk4-encode-symbolic-svg \
> > +    ${bindir}/gtk4-query-settings \
> > +"
> > +
> > +GTKBASE_RRECOMMENDS ?= " \
> > +    liberation-fonts \
> > +    gdk-pixbuf-loader-png \
> > +    gdk-pixbuf-loader-jpeg \
> > +    gdk-pixbuf-loader-gif \
> > +    gdk-pixbuf-loader-xpm \
> > +    shared-mime-info \
> > +    adwaita-icon-theme-symbolic \
> > +"
> > +
> > +
> > +GTKBASE_RRECOMMENDS:class-native ?= ""
> > +
> > +GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
> > +
> > +RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
> > +RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
> > +RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}"
> > +
> > +PACKAGES_DYNAMIC += "^gtk4-printbackend-.*"
> > +python populate_packages:prepend () {
> > +    import os.path
> > +
> > +    gtk_libdir = d.expand('${libdir}/gtk-4.0/${LIBV}')
> > +    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
> > +
> > +    do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s')
> > +
> > +    if (d.getVar('DEBIAN_NAMES')):
> > +        d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0')
> > +}
> > -- 
> > 2.34.1
> > 
> 
> > 
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#174041): https://lists.openembedded.org/g/openembedded-core/message/174041
> > Mute This Topic: https://lists.openembedded.org/mt/95377615/3617179
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> > 
> 
> 
> -- 
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


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

* Re: [oe-core][PATCHv9 1/4] graphene: import from meta-oe
  2022-12-01 13:14   ` Richard Purdie
@ 2022-12-01 15:24     ` Alexander Kanavin
  0 siblings, 0 replies; 15+ messages in thread
From: Alexander Kanavin @ 2022-12-01 15:24 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Ross Burton, f_l_k, openembedded-core

On Thu, 1 Dec 2022 at 14:15, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> Should we get rid of sato? I'm reluctant as we don't have a good
> replacement plan. Ideas have been proposed but nobody is willing to
> step up, propose and maintain something. We have a number of areas
> where we could spend time and there are probably higher priority
> issues. How much work is gtk4 in sato? No idea to be honest.

Here's mine. It may not be good, but I believe it's still ok. And good
may simply never show up, while gtk3/sato/x11 continue their slow but
steady slide into obsolescence.

- core-image-weston[-*] replaces core-image-sato[-*] as the
'workhorse' of the test matrix. The patchset for that is ready, with
additional provisions to ensure sato/x11 continues to get testing.
- epiphany is added to core-image-weston, and visible in its app launcher.
- as many tests for the browser and web engine are run at runtime as possible

Alex


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

* Re: [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome
  2022-12-01 15:12     ` Alexandre Belloni
@ 2022-12-01 16:08       ` Markus Volk
  0 siblings, 0 replies; 15+ messages in thread
From: Markus Volk @ 2022-12-01 16:08 UTC (permalink / raw)
  To: alexandre.belloni; +Cc: openembedded-core

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

Am Do, 1. Dez 2022 um 16:12:04 +0100 schrieb Alexandre Belloni via 
lists.openembedded.org 
<alexandre.belloni=bootlin.com@lists.openembedded.org>:
> ../gcr-4.0.0/docs/meson.build:1:0: ERROR: Program 'gi-docgen' not 
> found or not executable

Added a PACKAGECONFIG for iso-codes install and made sure i was able to 
create doc for gcr


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

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

* Re: [oe-core][PATCHv9 3/4] gcr: add recipe for gcr-4, needed to build with gtk4
  2022-12-01  7:53 ` [oe-core][PATCHv9 3/4] gcr: add recipe for gcr-4, needed to build with gtk4 Markus Volk
@ 2022-12-08 22:21   ` Alexandre Belloni
  0 siblings, 0 replies; 15+ messages in thread
From: Alexandre Belloni @ 2022-12-08 22:21 UTC (permalink / raw)
  To: Markus Volk; +Cc: openembedded-core

Could you split this patch in two parts so we can move epiphany to gcr3
and fix meta-oe?


On 01/12/2022 08:53:23+0100, Markus Volk wrote:
> gcr-3 recipe is still needed for gnome projects that stick to gtk+3, rename to gcr3.
> 
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  ...ectly-handle-disabled-ssh_agent-opti.patch | 49 ++++++++++++++++
>  ...build-fix-one-parallel-build-failure.patch |  0
>  ...1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch |  0
>  .../gcr/{gcr_3.40.0.bb => gcr3_3.40.0.bb}     |  8 ++-
>  meta/recipes-gnome/gcr/gcr_4.0.0.bb           | 57 +++++++++++++++++++
>  5 files changed, 112 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
>  rename meta/recipes-gnome/gcr/{gcr => gcr3}/0001-gcr-meson.build-fix-one-parallel-build-failure.patch (100%)
>  rename meta/recipes-gnome/gcr/{gcr => gcr3}/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch (100%)
>  rename meta/recipes-gnome/gcr/{gcr_3.40.0.bb => gcr3_3.40.0.bb} (87%)
>  create mode 100644 meta/recipes-gnome/gcr/gcr_4.0.0.bb
> 
> diff --git a/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch b/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
> new file mode 100644
> index 0000000000..940f78ebab
> --- /dev/null
> +++ b/meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
> @@ -0,0 +1,49 @@
> +From 9b67bb18d8409e0e693cc6000507acbd73a30eab Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex@linutronix.de>
> +Date: Wed, 16 Nov 2022 11:27:24 +0100
> +Subject: [PATCH 1/2] meson.build: correctly handle disabled ssh_agent option
> +
> +Existing code produces these errors:
> +| gcr/meson.build:61:0: ERROR: Unable to get the path of a not-found external program
> +| gcr/meson.build:101:5: ERROR: Unknown variable "ssh_add_path".
> +
> +Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> +
> +Upstream-Status: Backport [ https://gitlab.gnome.org/GNOME/gcr/-/commit/9b67bb18d8409e0e693cc6000507acbd73a30eab ]
> +---
> + meson.build | 12 ++++++++----
> + 1 file changed, 8 insertions(+), 4 deletions(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 3f35173..11d7fa7 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -58,8 +58,10 @@ if p11_system_config_modules == ''
> +   error('Couldn\'t find location for pkcs11 module config')
> + endif
> + libsecret_dep = dependency('libsecret-1', version: '>= 0.20', required: get_option('ssh_agent'))
> +-ssh_add_path = find_program('ssh-add', required: get_option('ssh_agent')).full_path()
> +-ssh_agent_path = find_program('ssh-agent', required: get_option('ssh_agent')).full_path()
> ++if get_option('ssh_agent')
> ++  ssh_add_path = find_program('ssh-add').full_path()
> ++  ssh_agent_path = find_program('ssh-agent').full_path()
> ++endif
> + 
> + with_systemd = false
> + libsystemd_deps = []
> +@@ -96,8 +98,10 @@ conf.set('HAVE_TIMEGM', cc.has_function('timegm'))
> + conf.set('HAVE_MLOCK', cc.has_function('mlock'))
> + conf.set_quoted('GPG_EXECUTABLE', gpg_path)
> + conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version())
> +-conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
> +-conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
> ++if get_option('ssh_agent')
> ++  conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
> ++  conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
> ++endif
> + conf.set10('WITH_SYSTEMD', with_systemd)
> + config_file = configure_file(
> +   output: 'config.h',
> +-- 
> +2.34.1
> +
> diff --git a/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch b/meta/recipes-gnome/gcr/gcr3/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
> similarity index 100%
> rename from meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
> rename to meta/recipes-gnome/gcr/gcr3/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
> diff --git a/meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch b/meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
> similarity index 100%
> rename from meta/recipes-gnome/gcr/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
> rename to meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
> diff --git a/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/meta/recipes-gnome/gcr/gcr3_3.40.0.bb
> similarity index 87%
> rename from meta/recipes-gnome/gcr/gcr_3.40.0.bb
> rename to meta/recipes-gnome/gcr/gcr3_3.40.0.bb
> index 917be5938b..5318768db6 100644
> --- a/meta/recipes-gnome/gcr/gcr_3.40.0.bb
> +++ b/meta/recipes-gnome/gcr/gcr3_3.40.0.bb
> @@ -20,11 +20,15 @@ GTKDOC_MESON_OPTION = "gtk_doc"
>  inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
>  UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>\d+\.(?!9\d+)(\d*[02468])+(\.\d+)+)\.tar"
>  
> -SRC_URI += "file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \ 
> -            file://b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch"
> +SRC_URI = " \
> +	https://download.gnome.org/sources/gcr/3.40/gcr-${PV}.tar.xz;name=archive \
> +	file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \
> +	file://b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch"
>  
>  SRC_URI[archive.sha256sum] = "b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5"
>  
> +S = "${WORKDIR}/gcr-${PV}"
> +
>  PACKAGECONFIG ??= " \
>  	${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
>  	${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
> diff --git a/meta/recipes-gnome/gcr/gcr_4.0.0.bb b/meta/recipes-gnome/gcr/gcr_4.0.0.bb
> new file mode 100644
> index 0000000000..c702184c74
> --- /dev/null
> +++ b/meta/recipes-gnome/gcr/gcr_4.0.0.bb
> @@ -0,0 +1,57 @@
> +SUMMARY = "A library for bits of crypto UI and parsing etc"
> +DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
> +accessing key stores. It also provides the viewer for crypto files on the \
> +GNOME desktop."
> +HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
> +BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
> +
> +LICENSE = "GPL-2.0-only"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
> +
> +DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
> +           ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
> +
> +CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
> +
> +CFLAGS += "-D_GNU_SOURCE"
> +
> +GNOMEBASEBUILDCLASS = "meson"
> +GTKDOC_MESON_OPTION = "gtk_doc"
> +inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
> +UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
> +
> +SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch"
> +SRC_URI[archive.sha256sum] = "c45855924f0ee7bab43e2dd38bfafd2ac815c6e9864341c0161e171173dcec7c"
> +
> +PACKAGECONFIG ??= " \
> +	${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
> +	${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
> +	${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
> +"
> +PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4"
> +PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
> +#'Use systemd socket activation for server programs'
> +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
> +
> +FILES:${PN} += " \
> +    ${datadir}/dbus-1 \
> +    ${datadir}/gcr-4 \
> +    ${systemd_user_unitdir}/gcr-ssh-agent.socket \
> +    ${systemd_user_unitdir}/gcr-ssh-agent.service \
> +"
> +
> +# http://errors.yoctoproject.org/Errors/Details/20229/
> +ARM_INSTRUCTION_SET:armv4 = "arm"
> +ARM_INSTRUCTION_SET:armv5 = "arm"
> +ARM_INSTRUCTION_SET:armv6 = "arm"
> +
> +EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross"
> +
> +do_write_config:append() {
> +    cat >${WORKDIR}/meson-${PN}.cross <<EOF
> +[binaries]
> +gpg2 = '${bindir}/gpg2'
> +ssh-add = '${bindir}/ssh-add'
> +ssh-agent = '${bindir}/ssh-agent'
> +EOF
> +}
> -- 
> 2.34.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#174039): https://lists.openembedded.org/g/openembedded-core/message/174039
> Mute This Topic: https://lists.openembedded.org/mt/95377613/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


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

end of thread, other threads:[~2022-12-08 22:21 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-01  7:53 [oe-core][PATCHv9 1/4] graphene: import from meta-oe Markus Volk
2022-12-01  7:53 ` [oe-core][PATCHv9 2/4] gtk4: import recipe from meta-gnome Markus Volk
2022-12-01 11:16   ` Alexandre Belloni
2022-12-01 15:12     ` Alexandre Belloni
2022-12-01 16:08       ` Markus Volk
2022-12-01  7:53 ` [oe-core][PATCHv9 3/4] gcr: add recipe for gcr-4, needed to build with gtk4 Markus Volk
2022-12-08 22:21   ` Alexandre Belloni
2022-12-01  7:53 ` [oe-core][PATCHv9 4/4] Add entries for the newly added recipes to maintainers.inc Markus Volk
2022-12-01 10:05   ` Alexander Kanavin
2022-12-01 12:34 ` [oe-core][PATCHv9 1/4] graphene: import from meta-oe Ross Burton
2022-12-01 12:45   ` Alexander Kanavin
2022-12-01 12:51     ` Ross Burton
2022-12-01 12:57       ` Alexander Kanavin
2022-12-01 13:14   ` Richard Purdie
2022-12-01 15:24     ` Alexander Kanavin

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.