diff --git a/community/seahorse/APKBUILD b/community/seahorse/APKBUILD
index 0154fc770a5e5fcf5f85cf9c82edd7449fd1a705..6ae2d148626f34c49b5ad05213819d8d57505f1a 100644
--- a/community/seahorse/APKBUILD
+++ b/community/seahorse/APKBUILD
@@ -1,8 +1,8 @@
 # Contributor: Francesco Colista <fcolista@alpinelinux.org>
 # Maintainer: Francesco Colista <fcolista@alpinelinux.org>
 pkgname=seahorse
-pkgver=43.0
-pkgrel=5
+pkgver=47.0.1
+pkgrel=0
 pkgdesc="GNOME application for managing PGP keys."
 url="https://projects.gnome.org/seahorse/"
 arch="all"
@@ -30,12 +30,7 @@ makedepends="
 	"
 checkdepends="appstream-glib"
 subpackages="$pkgname-lang $pkgname-doc"
-source="https://download.gnome.org/sources/seahorse/${pkgver%.*}/seahorse-$pkgver.tar.xz
-	gnupg-2.4.patch
-	stdout.patch
-	avoid-c99-incompatibility.patch
-	fix-werror-int-conversion.patch
-	"
+source="https://download.gnome.org/sources/seahorse/${pkgver%.*.*}/seahorse-$pkgver.tar.xz"
 
 build() {
 	abuild-meson \
@@ -53,9 +48,5 @@ package() {
 }
 
 sha512sums="
-168fdfc829134915f513028b1d35b647aa18a0390786cbf512f7ddb7b125b239f3f3d880a847119a5aa22580354f0b594e553fe3940a3afbda5861e69dd88e5d  seahorse-43.0.tar.xz
-6e4f80ce8282fa462b72a69933beb92d88148888d15d9ed3eee6c4261b0844a4b353679358f122a630e39ead54fe439779c6c98d14d0bbb72b84935b382b050f  gnupg-2.4.patch
-7ae7fecb2319333c9ad07b89453977e4a2bae9cc775b1f030bf70e35f6a57b0d93e818bcb4b51ce959fd6411d4015606c172cc487cddd04834bad643195ee6d5  stdout.patch
-1ff1332843924ca9d4fca6f3b8c24207c83064f152f499c5a90a9cd74af3fa5ed95c8c10c935728d43f9867586b5af45aeae5d2a131110a4dd145d74ddf1abfa  avoid-c99-incompatibility.patch
-443d70d09b24b4c3bfcf001d559b2d71c80600174db4f146180dbf8ac9186d85ceccc7d0db6bbb32183a21ea97d16471936643e8f22c4f402809a681472fdc5f  fix-werror-int-conversion.patch
+ac2a20f4d9106f26932c77dc11b4fbd18c8a83d15991f31ae89223a487fa1b4d97cb19de858cc6f53435b7ebcc1dd0f16148d0d1d3080436f0b541de5a56bfcb  seahorse-47.0.1.tar.xz
 "
diff --git a/community/seahorse/avoid-c99-incompatibility.patch b/community/seahorse/avoid-c99-incompatibility.patch
deleted file mode 100644
index fbc76956b32d7c9022ad573da1ccf461401d7c24..0000000000000000000000000000000000000000
--- a/community/seahorse/avoid-c99-incompatibility.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Source: https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/214/diffs
-
-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.
----
- pkcs11/seahorse-pkcs11-backend.c | 2 --
- pkcs11/seahorse-pkcs11-backend.h | 2 ++
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/pkcs11/seahorse-pkcs11-backend.c b/pkcs11/seahorse-pkcs11-backend.c
-index b7ea21e1f..31d7cb815 100644
---- 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 {
-diff --git a/pkcs11/seahorse-pkcs11-backend.h b/pkcs11/seahorse-pkcs11-backend.h
-index ddcfd2fcc..65efbd0a0 100644
---- 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/community/seahorse/fix-werror-int-conversion.patch b/community/seahorse/fix-werror-int-conversion.patch
deleted file mode 100644
index ea00b43b6780b4ffaebf8a9a6eaa833572ebdb4e..0000000000000000000000000000000000000000
--- a/community/seahorse/fix-werror-int-conversion.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Source: https://bugs.gentoo.org/882805#c8
-Upstream: https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/220/diffs
-
-diff --git a/ssh/key.vala b/ssh/key.vala
-index e2ebc30..2ce2a0c 100644
---- a/ssh/key.vala
-+++ b/ssh/key.vala
-@@ -230,7 +230,7 @@ public class Seahorse.Ssh.Key : Seahorse.Object, Seahorse.Exportable, Seahorse.D
-      */
-     public static async KeyParseResult parse(string data,
-                                              Cancellable? cancellable = null) throws GLib.Error {
--        return_if_fail (data != null || data != "");
-+        return_val_if_fail (data != null || data != "", true);
- 
-         var pubkeys = new GenericArray<KeyData>();
-         var seckeys = new GenericArray<SecData>();
-diff --git a/ssh/operation.vala b/ssh/operation.vala
-index 4743d0a..48a525c 100644
---- a/ssh/operation.vala
-+++ b/ssh/operation.vala
-@@ -49,7 +49,7 @@ public abstract class Operation : GLib.Object {
-     protected async string? operation_async(string command,
-                                             string? input,
-                                             Cancellable? cancellable) throws GLib.Error {
--        return_val_if_fail (command != null && command != "", null);
-+        return_val_if_fail (command != null && command != "", false);
- 
-         // Strip the command name for logging purposes
-         string[] args;
diff --git a/community/seahorse/gnupg-2.4.patch b/community/seahorse/gnupg-2.4.patch
deleted file mode 100644
index 88115e5a7f695ce235d969be654a638caa39fe72..0000000000000000000000000000000000000000
--- a/community/seahorse/gnupg-2.4.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/meson.build b/meson.build
-index e29b532..23d0b54 100644
---- 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 = [
diff --git a/community/seahorse/stdout.patch b/community/seahorse/stdout.patch
deleted file mode 100644
index 242e25bba48ff762b40d1ed32a076bec8e4d92dc..0000000000000000000000000000000000000000
--- a/community/seahorse/stdout.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-these keywords are reserved in C..?
-diff --git a/ssh/operation.vala b/ssh/operation.vala
-index afa161c..b6e5926 100644
---- 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? stdo = null, stde = null;
-         try {
--            yield subprocess.communicate_utf8_async(input, cancellable, out stdout, out stderr);
--            return stdout;
-+            yield subprocess.communicate_utf8_async(input, cancellable, out stdo, out stde);
-+            return stdo;
-         } catch (GLib.Error e) {
--            Seahorse.Util.show_error(null, this.prompt_title, stderr);
-+            Seahorse.Util.show_error(null, this.prompt_title, stde);
-             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 stdo = 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(stdo);
- 
-         // 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(stdo);
- 
-         // Add the comment to the output
-         if (data.comment != null) {