summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/seahorse')
-rw-r--r--app-crypt/seahorse/Manifest2
-rw-r--r--app-crypt/seahorse/files/seahorse-40.0-fix-segfault-with-ldap-disabled.patch29
-rw-r--r--app-crypt/seahorse/files/seahorse-43.0-clang16.patch35
-rw-r--r--app-crypt/seahorse/files/seahorse-43.0-gnupg-2.4.patch20
-rw-r--r--app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch85
-rw-r--r--app-crypt/seahorse/metadata.xml30
-rw-r--r--app-crypt/seahorse/seahorse-43.0-r3.ebuild (renamed from app-crypt/seahorse/seahorse-40.0-r1.ebuild)35
7 files changed, 178 insertions, 58 deletions
diff --git a/app-crypt/seahorse/Manifest b/app-crypt/seahorse/Manifest
index 1493076949f5..a34a2741571a 100644
--- a/app-crypt/seahorse/Manifest
+++ b/app-crypt/seahorse/Manifest
@@ -1 +1 @@
-DIST seahorse-40.0.tar.xz 1309064 BLAKE2B dd179ef13c79454b30571959b33c02a523591fa9d59957e0c30ec5d75a52bd8e9a5b420214f85d5feac0849d69a51ddcee808ab47e4bf97d7ac99094f853bc9a SHA512 c389420fb1b3d54c1b9a1004f2c8b9e50118a1ffcba02aa8cfdd2223d1bc117368c9a1ad875c59abd319d95eb93ec3de2e9cedadbfc1d6a0997d613c8256c60b
+DIST seahorse-43.0.tar.xz 1392460 BLAKE2B b7ae8b42042ad8e07eaf2633583b566f9757f83bd066eb8b0786d5e89353901f5526ed925bb6152820a5b2a36defb0c0f38dea634c3ae78ebf8d29ab07ff9cfb SHA512 168fdfc829134915f513028b1d35b647aa18a0390786cbf512f7ddb7b125b239f3f3d880a847119a5aa22580354f0b594e553fe3940a3afbda5861e69dd88e5d
diff --git a/app-crypt/seahorse/files/seahorse-40.0-fix-segfault-with-ldap-disabled.patch b/app-crypt/seahorse/files/seahorse-40.0-fix-segfault-with-ldap-disabled.patch
deleted file mode 100644
index 8454a0388ea0..000000000000
--- a/app-crypt/seahorse/files/seahorse-40.0-fix-segfault-with-ldap-disabled.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6fc0e3e321cdf0bf7e047234561fe8a8084a93f9 Mon Sep 17 00:00:00 2001
-From: Xi Ruoyao <xry111@mengyan1223.wang>
-Date: Wed, 14 Apr 2021 23:18:06 +0800
-Subject: [PATCH] Fix segfault when built with ldap disabled
-
-Fixes #321.
----
- pgp/seahorse-pgp-backend.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/pgp/seahorse-pgp-backend.c b/pgp/seahorse-pgp-backend.c
-index 25febf31..8c10e7e3 100644
---- a/pgp/seahorse-pgp-backend.c
-+++ b/pgp/seahorse-pgp-backend.c
-@@ -445,7 +445,10 @@ seahorse_pgp_backend_add_remote (SeahorsePgpBackend *self,
- /* Don't persist, so just immediately create a ServerSource */
- g_autoptr(SeahorseServerSource) ssrc = NULL;
- ssrc = seahorse_server_category_create_server (uri);
-- g_list_store_append (G_LIST_STORE (self->remotes), ssrc);
-+ /* If the scheme of the uri is ldap, but ldap support is disabled
-+ * in the build, ssrc will be NULL. */
-+ if (ssrc)
-+ g_list_store_append (G_LIST_STORE (self->remotes), ssrc);
- }
- }
-
---
-GitLab
-
diff --git a/app-crypt/seahorse/files/seahorse-43.0-clang16.patch b/app-crypt/seahorse/files/seahorse-43.0-clang16.patch
new file mode 100644
index 000000000000..c31fc42709e1
--- /dev/null
+++ b/app-crypt/seahorse/files/seahorse-43.0-clang16.patch
@@ -0,0 +1,35 @@
+https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/214
+
+From 3887ba07ccab4aa970c24a22a183b97e255e6ece Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Fri, 14 Apr 2023 14:37:23 +0200
+Subject: [PATCH] Avoid C99 incompatibility around
+ seahorse_pkcs11_backend_initialize
+
+Move the prototype for seahorse_pkcs11_backend_initialize into the
+header file, so C code generated from Vala sources will use it.
+This avoids an implicit function declaration during the C-build
+of src/application.vala, and resulting build failures with future
+compilers.
+--- a/pkcs11/seahorse-pkcs11-backend.c
++++ b/pkcs11/seahorse-pkcs11-backend.c
+@@ -43,8 +43,6 @@ enum {
+ PROP_LOADED,
+ };
+
+-void seahorse_pkcs11_backend_initialize (void);
+-
+ static SeahorsePkcs11Backend *pkcs11_backend = NULL;
+
+ struct _SeahorsePkcs11Backend {
+--- a/pkcs11/seahorse-pkcs11-backend.h
++++ b/pkcs11/seahorse-pkcs11-backend.h
+@@ -43,4 +43,6 @@ SeahorsePkcs11Backend * seahorse_pkcs11_backend_get (void);
+ GcrCollection * seahorse_pkcs11_backend_get_writable_tokens (SeahorsePkcs11Backend *self,
+ gulong with_mechanism);
+
++void seahorse_pkcs11_backend_initialize (void);
++
+ #endif /* SEAHORSE_PKCS11_BACKEND_H_ */
+--
+GitLab
diff --git a/app-crypt/seahorse/files/seahorse-43.0-gnupg-2.4.patch b/app-crypt/seahorse/files/seahorse-43.0-gnupg-2.4.patch
new file mode 100644
index 000000000000..034da78fb284
--- /dev/null
+++ b/app-crypt/seahorse/files/seahorse-43.0-gnupg-2.4.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/889362
+https://gitlab.gnome.org/GNOME/seahorse/-/commit/9260c74779be3d7a378db0671af862ffa3573d42
+
+From: Xi Ruoyao <xry111@xry111.site>
+Date: Wed, 21 Dec 2022 20:58:26 +0800
+Subject: [PATCH] Allow building with GnuPG-2.4.x
+
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,7 @@ endif
+ # Dependencies
+ min_glib_version = '2.66'
+ min_gcr_version = '3.38'
+-accepted_gpg_versions = [ '2.2.0', '2.3.0' ]
++accepted_gpg_versions = [ '2.2.0', '2.3.0', '2.4.0' ]
+ gpg_check_version = find_program('build-aux' / 'gpg_check_version.py')
+
+ glib_deps = [
+--
+GitLab
diff --git a/app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch b/app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch
new file mode 100644
index 000000000000..2a6873134e27
--- /dev/null
+++ b/app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch
@@ -0,0 +1,85 @@
+https://gitlab.gnome.org/GNOME/seahorse/-/commit/6d673637d90066f4756568ce1b2f1f3c89a37c74
+
+From 6d673637d90066f4756568ce1b2f1f3c89a37c74 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= <ablocorrea@hotmail.com>
+Date: Thu, 20 Oct 2022 18:35:33 +0200
+Subject: [PATCH] ssh: avoid stdout and stderr variable names
+
+In Alpine Linux, the compiler:
+
+C compiler for the host machine: gcc (gcc 12.2.1 "gcc (Alpine 12.2.1_git20220924-r3) 12.2.1 20220924")
+C linker for the host machine: gcc ld.bfd 2.39
+Vala compiler for the host machine: valac (valac 0.56.3)
+
+ended up including stdio.h into the C code generated from Vala.
+This produced the following (and similar) errors due to
+stderr and stdout being #define in stdio.h:
+
+ninja: job failed: gcc -Issh/libseahorse-ssh.a.p -Issh -I../ssh -Icommon -I../common -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/gcr-3 -I/usr/include/gck-1 -I/usr/include/p11-kit-1 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libhandy-1 -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -w -O0 -DGCR_API_SUBJECT_TO_CHANGE -DGCK_API_SUBJECT_TO_CHANGE -DSECRET_WITH_UNSTABLE -include config.h -Wno-unused-parameter -Wno-missing-field-initializers -Os -fomit-frame-pointer -Os -fomit-frame-pointer -fPIC -pthread -MD -MQ ssh/libseahorse-ssh.a.p/meson-generated_operation.c.o -MF ssh/libseahorse-ssh.a.p/meson-generated_operation.c.o.d -o ssh/libseahorse-ssh.a.p/meson-generated_operation.c.o -c ssh/libseahorse-ssh.a.p/operation.c
+In file included from /usr/include/fortify/stdio.h:22,
+ from /usr/include/pango-1.0/pango/pango-utils.h:25,
+ from /usr/include/pango-1.0/pango/pango.h:51,
+ from /usr/include/gtk-3.0/gdk/gdktypes.h:35,
+ from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30,
+ from /usr/include/gtk-3.0/gdk/gdk.h:32,
+ from /usr/include/gtk-3.0/gtk/gtk.h:30,
+ from common/seahorse-common.h:11,
+ from ssh/seahorse-ssh.h:6,
+ from ssh/libseahorse-ssh.a.p/operation.c:25:
+ssh/libseahorse-ssh.a.p/operation.c: In function 'seahorse_ssh_operation_operation_async_co':
+ssh/libseahorse-ssh.a.p/operation.c:621:17: error: expected identifier before '(' token
+ 621 | _data_->stdout = NULL;
+ | ^~~~~~
+ssh/libseahorse-ssh.a.p/operation.c:622:17: error: expected identifier before '(' token
+ 622 | _data_->stderr = NULL;
+ | ^~~~~~
+
+Fix the problem by naming the variables std_out and std_err, as it
+was before commit e60e5fd4b1545053e99758b894e8ef981de08c3e
+
+Fixes e60e5fd4b1545053e99758b894e8ef981de08c3e
+
+Coauthored-by: psykose <alice@ayaya.dev>
+--- a/ssh/operation.vala
++++ b/ssh/operation.vala
+@@ -84,12 +84,12 @@ public abstract class Operation : GLib.Object {
+
+ // And off we go to run the program
+ var subprocess = launcher.spawnv(args);
+- string? stdout = null, stderr = null;
++ string? std_out = null, std_err = null;
+ try {
+- yield subprocess.communicate_utf8_async(input, cancellable, out stdout, out stderr);
+- return stdout;
++ yield subprocess.communicate_utf8_async(input, cancellable, out std_out, out std_err);
++ return std_out;
+ } catch (GLib.Error e) {
+- Seahorse.Util.show_error(null, this.prompt_title, stderr);
++ Seahorse.Util.show_error(null, this.prompt_title, std_err);
+ throw e;
+ }
+ }
+@@ -221,10 +221,10 @@ public class PrivateImportOperation : Operation {
+
+ // Start command to generate public key
+ string cmd = "%s -y -f '%s'".printf(Config.SSH_KEYGEN_PATH, file);
+- string stdout = yield operation_async(cmd, null, cancellable);
++ string std_out = yield operation_async(cmd, null, cancellable);
+
+ // We'll build the key string from the output
+- var key_str = new StringBuilder(stdout);
++ var key_str = new StringBuilder(std_out);
+
+ // Only use the first line of the output
+ int pos = int.max(key_str.str.index_of_char('\n'), key_str.str.index_of_char('\r'));
+@@ -232,7 +232,7 @@ public class PrivateImportOperation : Operation {
+ key_str.erase(pos);
+
+ // Parse the data so we can get the fingerprint
+- KeyData? keydata = KeyData.parse_line(stdout);
++ KeyData? keydata = KeyData.parse_line(std_out);
+
+ // Add the comment to the output
+ if (data.comment != null) {
+--
+GitLab
diff --git a/app-crypt/seahorse/metadata.xml b/app-crypt/seahorse/metadata.xml
index 10379b458c7f..e641ba504704 100644
--- a/app-crypt/seahorse/metadata.xml
+++ b/app-crypt/seahorse/metadata.xml
@@ -1,18 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<use>
- <flag name="ldap">Enable seahorse to manipulate GPG keys on a LDAP server.</flag>
-</use>
-<longdescription>Seahorse is a GNOME application for managing encryption keys.
-It also integrates with nautilus, gedit and other places for encryption operations.
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="ldap">Enable seahorse to manipulate GPG keys on a LDAP server.</flag>
+ </use>
+ <longdescription>
+ Seahorse is a GNOME application for managing encryption keys.
+ It also integrates with nautilus, gedit and other places for encryption operations.
-With seahorse you can create and manage PGP keys, create and manage SSH keys,
-publish and retrieve keys from key servers, cache your passphrase so you
-don't have to keep typing it and backup your keys and keyring.
-</longdescription>
+ With seahorse you can create and manage PGP keys, create and manage SSH keys,
+ publish and retrieve keys from key servers, cache your passphrase so you
+ don't have to keep typing it and backup your keys and keyring.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/seahorse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-crypt/seahorse/seahorse-40.0-r1.ebuild b/app-crypt/seahorse/seahorse-43.0-r3.ebuild
index 935f5b5b2e62..c4e9d6c84fea 100644
--- a/app-crypt/seahorse/seahorse-40.0-r1.ebuild
+++ b/app-crypt/seahorse/seahorse-43.0-r3.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit gnome.org gnome2-utils meson xdg vala
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
DESCRIPTION="Manage your passwords and encryption keys"
HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
@@ -10,30 +11,31 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
LICENSE="GPL-2+ FDL-1.1+"
SLOT="0"
IUSE="ldap zeroconf"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
RDEPEND="
- >=dev-libs/glib-2.58:2
- >=app-crypt/gcr-3.38:=
- >=app-crypt/gpgme-1.14.0
+ >=dev-libs/glib-2.66:2
+ >=app-crypt/gcr-3.38:0=
+ >=app-crypt/gpgme-1.14.0:=
>=x11-libs/gtk+-3.24.0:3
>=app-crypt/gnupg-2.2
- >=gui-libs/libhandy-1.1:1=
+ >=gui-libs/libhandy-1.6.0:1
>=app-crypt/libsecret-0.16
dev-libs/libpwquality
- net-misc/openssh
+ virtual/openssh
ldap? ( net-nds/openldap:= )
- >=net-libs/libsoup-2.33.92:2.4
- zeroconf? ( >=net-dns/avahi-0.6:=[dbus] )
+ net-libs/libsoup:3.0
+ zeroconf? ( >=net-dns/avahi-0.6[dbus] )
"
DEPEND="${RDEPEND}
$(vala_depend)
dev-libs/libxml2:2
- app-crypt/gcr[vala]
+ app-crypt/gcr:0[vala]
app-crypt/libsecret[vala]
gui-libs/libhandy:1[vala]
"
BDEPEND="
+ ${PYTHON_DEPS}
app-text/docbook-xml-dtd:4.2
app-text/docbook-xsl-stylesheets
dev-libs/appstream-glib
@@ -46,12 +48,15 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}"/${P}-fix-segfault-with-ldap-disabled.patch
+ "${FILESDIR}"/${P}-gnupg-2.4.patch
+ "${FILESDIR}"/${P}-musl-stdout.patch
+ "${FILESDIR}"/${P}-clang16.patch
)
src_prepare() {
- xdg_src_prepare
- vala_src_prepare
+ default
+ vala_setup
+ gnome2_environment_reset
}
src_configure() {