diff options
author | Markus Volk <f_l_k@t-online.de> | 2022-12-09 15:11:15 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-12-17 11:06:31 +0000 |
commit | 2dd272956f8a0450c998b584e27b75cfec00de22 (patch) | |
tree | f06c6090ead4af73d346638b82a6a3b24111dd76 /meta/recipes-gnome | |
parent | d0ebe63698470fb3336cc02db698cafacedbd070 (diff) | |
download | openembedded-core-2dd272956f8a0450c998b584e27b75cfec00de22.tar.gz |
gcr: add recipe for gcr-4, needed to build with gtk4
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'meta/recipes-gnome')
-rw-r--r-- | meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch | 49 | ||||
-rw-r--r-- | meta/recipes-gnome/gcr/gcr_4.0.0.bb | 57 |
2 files changed, 106 insertions, 0 deletions
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_4.0.0.bb b/meta/recipes-gnome/gcr/gcr_4.0.0.bb new file mode 100644 index 0000000000..264069ffd1 --- /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 gi-docgen 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 +} |