diff mbox series

[PATCHv4] gcr3: update 3.40.0 -> 3.41.1

Message ID 20230107035002.1701343-1-f_l_k@t-online.de
State Accepted, archived
Commit 9d66a3e9b9908592050ad706a950d76b6499a49e
Headers show
Series [PATCHv4] gcr3: update 3.40.0 -> 3.41.1 | expand

Commit Message

Markus Volk Jan. 7, 2023, 3:50 a.m. UTC
- remove unneded backport patches
 - partly import the patch to fix ssh_agent option from gcr4 recipe
 - convert from gtk-doc to gi-docgen

gcr 3.41.1:
- meson: Fix unknown kw argument in gnome.generate_gir [GNOME/gcr!68]
- gcr: Add G_SPAWN_CLOEXEC_PIPES flag to all the g_spawn commands
- docs: Port from gtk-doc to gi-docgen [GNOME/gcr!76]
- Unbreak build without systemd [GNOME/gcr!75]
- Several CI fixes
- Updated translations

gcr 3.41.0:
- Port ssh-agent from gnome-keyring [GNOME/gcr!67]
- build: Fix parallel build failure due to missing marshal dependency [GNOME/gcr!68]
- Fix warnings by dropping `volatile` for g_once_init_inter locations [GNOME/gcr!69]
- tests: More robust against GTask unref race condition [GNOME/gcr!72,GNOME/gcr#84]
- Updated translations

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...build-fix-one-parallel-build-failure.patch | 37 -----------
 ...ectly-handle-disabled-ssh_agent-opti.patch | 36 +++++++++++
 ...1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch | 61 -------------------
 .../gcr/{gcr3_3.40.0.bb => gcr3_3.41.1.bb}    | 19 +++---
 4 files changed, 48 insertions(+), 105 deletions(-)
 delete mode 100644 meta/recipes-gnome/gcr/gcr3/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
 create mode 100644 meta/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
 delete mode 100644 meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
 rename meta/recipes-gnome/gcr/{gcr3_3.40.0.bb => gcr3_3.41.1.bb} (63%)
diff mbox series

Patch

diff --git a/meta/recipes-gnome/gcr/gcr3/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
deleted file mode 100644
index 81c4bdbbcc..0000000000
--- a/meta/recipes-gnome/gcr/gcr3/0001-gcr-meson.build-fix-one-parallel-build-failure.patch
+++ /dev/null
@@ -1,37 +0,0 @@ 
-From cb3708bad88e713e4ccf705cb8c14c5996cd9d06 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 23 Apr 2021 16:32:38 +0800
-Subject: [PATCH] gcr/meson.build: fix one parallel build failure
-
-ui/gcr-live-search.c includes gcr/gcr-marshal.h. Because missing
-dependency, following error occurred intermittently during doing parallel
-build:
-
- -o ui/libgcr-ui-3.so.1.0.0.p/gcr-live-search.c.o -c ../gcr-3.38.1/ui/gcr-live-search.c
-../gcr-3.38.1/ui/gcr-live-search.c:32:10: fatal error: gcr/gcr-marshal.h: No such file or directory
-   32 | #include "gcr/gcr-marshal.h"
-      |          ^~~~~~~~~~~~~~~~~~~
-compilation terminated.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/68/diffs]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- gcr/meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcr/meson.build b/gcr/meson.build
-index 06c3a63..d9d4b8f 100644
---- a/gcr/meson.build
-+++ b/gcr/meson.build
-@@ -181,6 +181,7 @@ gcr_base_dep = declare_dependency(
-   sources: [
-     gcr_enums_gen[1],
-     gcr_oids[1],
-+    gcr_marshal_gen[1],
-   ],
- )
- 
--- 
-2.17.1
-
diff --git a/meta/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch b/meta/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
new file mode 100644
index 0000000000..d3c26d97ae
--- /dev/null
+++ b/meta/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
@@ -0,0 +1,36 @@ 
+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
+@@ -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/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch b/meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
deleted file mode 100644
index ae4e2ac1eb..0000000000
--- a/meta/recipes-gnome/gcr/gcr3/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
+++ /dev/null
@@ -1,61 +0,0 @@ 
-From b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8 Mon Sep 17 00:00:00 2001
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Wed, 12 Jan 2022 00:24:20 +0100
-Subject: [PATCH] meson: Fix unknown kw argument in gnome.generate_gir
-
-This argument has been removed in Meson 0.61.0:
-
-    gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages"
-
-https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de:
-
-> The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it.
-
-Fixes #89
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gck/meson.build | 1 -
- gcr/meson.build | 1 -
- ui/meson.build  | 1 -
- 3 files changed, 3 deletions(-)
-
-diff --git a/gck/meson.build b/gck/meson.build
-index 756b486..a21a1e9 100644
---- a/gck/meson.build
-+++ b/gck/meson.build
-@@ -131,7 +131,6 @@ if get_option('introspection')
-     sources: gck_gir_sources,
-     namespace: 'Gck',
-     nsversion: '@0@'.format(gck_major_version),
--    packages: gck_deps,
-     export_packages: 'gck-@0@'.format(gck_major_version),
-     includes: [ 'GObject-2.0', 'Gio-2.0' ],
-     header: 'gck/gck.h',
-diff --git a/gcr/meson.build b/gcr/meson.build
-index 2233a44..c83641b 100644
---- a/gcr/meson.build
-+++ b/gcr/meson.build
-@@ -190,7 +190,6 @@ if get_option('introspection')
-     sources: [ gcr_base_public_sources, gcr_base_headers ],
-     namespace: 'Gcr',
-     nsversion: '@0@'.format(gcr_major_version),
--    packages: gcr_base_deps,
-     export_packages: 'gcr-base-@0@'.format(gcr_major_version),
-     includes: [
-       'GObject-2.0',
-diff --git a/ui/meson.build b/ui/meson.build
-index e656ea2..32ee057 100644
---- a/ui/meson.build
-+++ b/ui/meson.build
-@@ -152,7 +152,6 @@ if get_option('introspection')
-     export_packages: 'gcr-ui-@0@'.format(gcr_major_version),
-     identifier_prefix: 'Gcr',
-     symbol_prefix: 'gcr',
--    packages: gcr_ui_deps,
-     includes: [
-       'GObject-2.0',
-       'Gio-2.0',
--- 
-GitLab
-
diff --git a/meta/recipes-gnome/gcr/gcr3_3.40.0.bb b/meta/recipes-gnome/gcr/gcr3_3.41.1.bb
similarity index 63%
rename from meta/recipes-gnome/gcr/gcr3_3.40.0.bb
rename to meta/recipes-gnome/gcr/gcr3_3.41.1.bb
index 8d0f1e972a..ba5660a5ed 100644
--- a/meta/recipes-gnome/gcr/gcr3_3.40.0.bb
+++ b/meta/recipes-gnome/gcr/gcr3_3.41.1.bb
@@ -17,27 +17,30 @@  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
+inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
 UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3.(?!9\d+)\d+(\.\d+)+)\.tar"
 
-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"
+SRC_URI = "https://download.gnome.org/sources/gcr/3.41/gcr-${PV}.tar.xz;name=archive"
+SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch"
+SRC_URI[archive.sha256sum] = "bb7128a3c2febbfee9c03b90d77d498d0ceb237b0789802d60185c71c4bea24f"
 
 S = "${WORKDIR}/gcr-${PV}"
 
 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] = "-Dgtk=true,-Dgtk=false,gtk+3"
+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-3 \
+    ${systemd_user_unitdir}/gcr-ssh-agent.socket \
+    ${systemd_user_unitdir}/gcr-ssh-agent.service \
 "
 
 # http://errors.yoctoproject.org/Errors/Details/20229/
@@ -50,5 +53,7 @@  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
 }