diff options
Diffstat (limited to 'meta')
-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 @@ | |||
1 | From 9b67bb18d8409e0e693cc6000507acbd73a30eab Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex@linutronix.de> | ||
3 | Date: Wed, 16 Nov 2022 11:27:24 +0100 | ||
4 | Subject: [PATCH 1/2] meson.build: correctly handle disabled ssh_agent option | ||
5 | |||
6 | Existing 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 | |||
10 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
11 | |||
12 | Upstream-Status: Backport [ https://gitlab.gnome.org/GNOME/gcr/-/commit/9b67bb18d8409e0e693cc6000507acbd73a30eab ] | ||
13 | --- | ||
14 | meson.build | 12 ++++++++---- | ||
15 | 1 file changed, 8 insertions(+), 4 deletions(-) | ||
16 | |||
17 | diff --git a/meson.build b/meson.build | ||
18 | index 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 | -- | ||
48 | 2.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 @@ | |||
1 | SUMMARY = "A library for bits of crypto UI and parsing etc" | ||
2 | DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \ | ||
3 | accessing key stores. It also provides the viewer for crypto files on the \ | ||
4 | GNOME desktop." | ||
5 | HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr" | ||
6 | BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues" | ||
7 | |||
8 | LICENSE = "GPL-2.0-only" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" | ||
10 | |||
11 | DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \ | ||
12 | ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}" | ||
13 | |||
14 | CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'" | ||
15 | |||
16 | CFLAGS += "-D_GNU_SOURCE" | ||
17 | |||
18 | GNOMEBASEBUILDCLASS = "meson" | ||
19 | GTKDOC_MESON_OPTION = "gtk_doc" | ||
20 | inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg | ||
21 | UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" | ||
22 | |||
23 | SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch" | ||
24 | SRC_URI[archive.sha256sum] = "c45855924f0ee7bab43e2dd38bfafd2ac815c6e9864341c0161e171173dcec7c" | ||
25 | |||
26 | PACKAGECONFIG ??= " \ | ||
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 | " | ||
31 | PACKAGECONFIG[gtk] = "-Dgtk4=true,-Dgtk4=false,gtk4" | ||
32 | PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh" | ||
33 | #'Use systemd socket activation for server programs' | ||
34 | PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" | ||
35 | |||
36 | FILES:${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/ | ||
44 | ARM_INSTRUCTION_SET:armv4 = "arm" | ||
45 | ARM_INSTRUCTION_SET:armv5 = "arm" | ||
46 | ARM_INSTRUCTION_SET:armv6 = "arm" | ||
47 | |||
48 | EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross" | ||
49 | |||
50 | do_write_config:append() { | ||
51 | cat >${WORKDIR}/meson-${PN}.cross <<EOF | ||
52 | [binaries] | ||
53 | gpg2 = '${bindir}/gpg2' | ||
54 | ssh-add = '${bindir}/ssh-add' | ||
55 | ssh-agent = '${bindir}/ssh-agent' | ||
56 | EOF | ||
57 | } | ||