summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-gnome/gcr/gcr/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch49
-rw-r--r--meta/recipes-gnome/gcr/gcr_4.0.0.bb57
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 @@
1From 9b67bb18d8409e0e693cc6000507acbd73a30eab Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Wed, 16 Nov 2022 11:27:24 +0100
4Subject: [PATCH 1/2] meson.build: correctly handle disabled ssh_agent option
5
6Existing code produces these errors:
7| gcr/meson.build:61:0: ERROR: Unable to get the path of a not-found external program
8| gcr/meson.build:101:5: ERROR: Unknown variable "ssh_add_path".
9
10Signed-off-by: Alexander Kanavin <alex@linutronix.de>
11
12Upstream-Status: Backport [ https://gitlab.gnome.org/GNOME/gcr/-/commit/9b67bb18d8409e0e693cc6000507acbd73a30eab ]
13---
14 meson.build | 12 ++++++++----
15 1 file changed, 8 insertions(+), 4 deletions(-)
16
17diff --git a/meson.build b/meson.build
18index 3f35173..11d7fa7 100644
19--- a/meson.build
20+++ b/meson.build
21@@ -58,8 +58,10 @@ if p11_system_config_modules == ''
22 error('Couldn\'t find location for pkcs11 module config')
23 endif
24 libsecret_dep = dependency('libsecret-1', version: '>= 0.20', required: get_option('ssh_agent'))
25-ssh_add_path = find_program('ssh-add', required: get_option('ssh_agent')).full_path()
26-ssh_agent_path = find_program('ssh-agent', required: get_option('ssh_agent')).full_path()
27+if get_option('ssh_agent')
28+ ssh_add_path = find_program('ssh-add').full_path()
29+ ssh_agent_path = find_program('ssh-agent').full_path()
30+endif
31
32 with_systemd = false
33 libsystemd_deps = []
34@@ -96,8 +98,10 @@ conf.set('HAVE_TIMEGM', cc.has_function('timegm'))
35 conf.set('HAVE_MLOCK', cc.has_function('mlock'))
36 conf.set_quoted('GPG_EXECUTABLE', gpg_path)
37 conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version())
38-conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
39-conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
40+if get_option('ssh_agent')
41+ conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
42+ conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
43+endif
44 conf.set10('WITH_SYSTEMD', with_systemd)
45 config_file = configure_file(
46 output: 'config.h',
47--
482.34.1
49
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 @@
1SUMMARY = "A library for bits of crypto UI and parsing etc"
2DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
3accessing key stores. It also provides the viewer for crypto files on the \
4GNOME desktop."
5HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
6BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
7
8LICENSE = "GPL-2.0-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
10
11DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
12 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
13
14CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
15
16CFLAGS += "-D_GNU_SOURCE"
17
18GNOMEBASEBUILDCLASS = "meson"
19GTKDOC_MESON_OPTION = "gtk_doc"
20inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
21UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
22
23SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch"
24SRC_URI[archive.sha256sum] = "c45855924f0ee7bab43e2dd38bfafd2ac815c6e9864341c0161e171173dcec7c"
25
26PACKAGECONFIG ??= " \
27 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
28 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
29 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
30"
31PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4"
32PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
33#'Use systemd socket activation for server programs'
34PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
35
36FILES:${PN} += " \
37 ${datadir}/dbus-1 \
38 ${datadir}/gcr-4 \
39 ${systemd_user_unitdir}/gcr-ssh-agent.socket \
40 ${systemd_user_unitdir}/gcr-ssh-agent.service \
41"
42
43# http://errors.yoctoproject.org/Errors/Details/20229/
44ARM_INSTRUCTION_SET:armv4 = "arm"
45ARM_INSTRUCTION_SET:armv5 = "arm"
46ARM_INSTRUCTION_SET:armv6 = "arm"
47
48EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross"
49
50do_write_config:append() {
51 cat >${WORKDIR}/meson-${PN}.cross <<EOF
52[binaries]
53gpg2 = '${bindir}/gpg2'
54ssh-add = '${bindir}/ssh-add'
55ssh-agent = '${bindir}/ssh-agent'
56EOF
57}