diff --git a/mac/gexiv2-libtool.patch b/mac/gexiv2-libtool.patch
deleted file mode 100644
index 2523e9e82ed..00000000000
--- a/mac/gexiv2-libtool.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -c /Users/john/Development/Gramps-Build/gramps-40/src/libgexiv2-0.5.0/Makefile\~ /Users/john/Development/Gramps-Build/gramps-40/src/libgexiv2-0.5.0/Makefile
-*** a/Makefile Mon Oct 1 12:19:33 2012
---- b/Makefile Thu Mar 7 10:46:43 2013
-***************
-*** 150,155 ****
---- 150,156 ----
- $(EXPANDED_INSTALLED_HEADER_FILES) \
- $(EXPANDED_SRC_FILES) \
- --library $(LIBRARY_BIN) \
-+ --libtool=libtool \
- --pkg=gobject-2.0
-
- clean:
-
-Diff finished. Thu Mar 7 10:47:48 2013
diff --git a/mac/gramps.modules b/mac/gramps.modules
index d8b43eb62de..910f9f95671 100644
--- a/mac/gramps.modules
+++ b/mac/gramps.modules
@@ -19,35 +19,13 @@
href="http://www.exiv2.org/releases/"/>
-
-
-
-
+
+
@@ -116,7 +94,7 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
-https://files.pythonhosted.org/packages/
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/mac/patches/berkeleydb-4.8-atomic.patch b/mac/patches/berkeleydb-4.8-atomic.patch
deleted file mode 100644
index 3e74c558b00..00000000000
--- a/mac/patches/berkeleydb-4.8-atomic.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/dist/configure 2010-04-12 13:25:23.000000000 -0700
-+++ b/dist/configure 2021-04-11 11:27:32.000000000 -0700
-@@ -19158,7 +19158,7 @@
- # x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
--
-+#include
- int
- main ()
- {
-@@ -20197,7 +20197,7 @@
- if test "$db_cv_atomic" = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
--
-+#include
- int
- main ()
- {
---- a/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
-+++ b/dbinc/atomic.h 2013-03-12 14:06:35.000000000 -0400
-@@ -144,7 +144,7 @@
- #define atomic_inc(env, p) __atomic_inc(p)
- #define atomic_dec(env, p) __atomic_dec(p)
- #define atomic_compare_exchange(env, p, o, n) \
-- __atomic_compare_exchange((p), (o), (n))
-+ __atomic_compare_exchange_db((p), (o), (n))
- static inline int __atomic_inc(db_atomic_t *p)
- {
- int temp;
-@@ -176,7 +176,7 @@
- * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
- * which configure could be changed to use.
- */
--static inline int __atomic_compare_exchange(
-+static inline int __atomic_compare_exchange_db(
- db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
- {
- atomic_value_t was;
diff --git a/mac/patches/berkeleydb-4.8-mutex.patch b/mac/patches/berkeleydb-4.8-mutex.patch
deleted file mode 100644
index bb31dd23f1b..00000000000
--- a/mac/patches/berkeleydb-4.8-mutex.patch
+++ /dev/null
@@ -1,115 +0,0 @@
---- a/dist/configure 2022-12-26 13:46:24.000000000 -0800
-+++ b/dist/configure 2022-12-27 11:35:26.000000000 -0800
-@@ -18756,6 +18756,7 @@
- /* end confdefs.h. */
-
- #include
-+#include
- int
- main ()
- {
-@@ -18792,7 +18793,8 @@
- /* end confdefs.h. */
-
- #include
--main() {
-+#include
-+int main() {
- pthread_cond_t cond;
- pthread_mutex_t mutex;
- pthread_condattr_t condattr;
-@@ -18828,6 +18830,7 @@
- /* end confdefs.h. */
-
- #include
-+#include
- int
- main ()
- {
-@@ -18864,7 +18867,7 @@
- /* end confdefs.h. */
-
- #include
--main() {
-+int main() {
- pthread_cond_t cond;
- pthread_mutex_t mutex;
- pthread_condattr_t condattr;
-@@ -18899,6 +18902,7 @@
- /* end confdefs.h. */
-
- #include
-+#include
- int
- main ()
- {
-@@ -18933,7 +18937,8 @@
- /* end confdefs.h. */
-
- #include
--main() {
-+#include
-+int main() {
- pthread_cond_t cond;
- pthread_mutex_t mutex;
- pthread_condattr_t condattr;
-@@ -18967,6 +18972,7 @@
- /* end confdefs.h. */
-
- #include
-+#include
- int
- main ()
- {
-@@ -19001,7 +19007,8 @@
- /* end confdefs.h. */
-
- #include
--main() {
-+#include
-+int main() {
- pthread_cond_t cond;
- pthread_mutex_t mutex;
- pthread_condattr_t condattr;
-@@ -19038,6 +19045,7 @@
- /* end confdefs.h. */
-
- #include
-+#include
- int
- main ()
- {
-@@ -19069,6 +19077,7 @@
-
- #include
- #include
-+#include
- int
- main ()
- {
-@@ -19099,6 +19108,7 @@
-
- #include
- #include
-+#include
- int
- main ()
- {
-@@ -20743,7 +20753,7 @@
- /* end confdefs.h. */
-
- #include
--main() {
-+int main() {
- struct timespec t;
- return (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
- }
-@@ -21634,7 +21644,7 @@
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-- main() {
-+ int main() {
- $db_cv_seq_type l;
- unsigned $db_cv_seq_type u;
- char buf[100];
diff --git a/mac/patches/gramps-berkeleydb.patch b/mac/patches/gramps-berkeleydb.patch
deleted file mode 100644
index 29b8716739b..00000000000
--- a/mac/patches/gramps-berkeleydb.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-From 9ea0164f1f84f92deea7a0bde0343e2f0e485525 Mon Sep 17 00:00:00 2001
-From: John Ralls
-Date: Tue, 27 Dec 2022 12:50:14 -0800
-Subject: [PATCH] Try to import berkeleydb if bsddb3 isn't found.
-
-berkelydb is usable for python >= 3.6 and required for
-python >= 3.10. See https://www.jcea.es/programacion/pybsddb.htm.
----
- gramps/grampsapp.py | 13 ++++++++++---
- gramps/gui/aboutdialog.py | 6 +++++-
- gramps/gui/logger/_errorreportassistant.py | 6 +++++-
- gramps/plugins/db/bsddb/bsddbtxn.py | 5 ++++-
- gramps/plugins/db/bsddb/cursor.py | 17 ++++++++++-------
- gramps/plugins/db/bsddb/read.py | 15 +++++++++------
- gramps/plugins/db/bsddb/summary.py | 6 ++++--
- gramps/plugins/db/bsddb/test/cursor_test.py | 6 ++++--
- gramps/plugins/db/bsddb/undoredo.py | 13 ++++++++-----
- gramps/plugins/db/bsddb/upgrade.py | 6 ++++--
- gramps/plugins/db/bsddb/write.py | 10 ++++++++--
- gramps/plugins/gramplet/leak.py | 11 +++++++----
- 12 files changed, 78 insertions(+), 36 deletions(-)
-
-diff --git a/gramps/grampsapp.py b/gramps/grampsapp.py
-index 2163edc8a..fed06207d 100644
---- a/gramps/grampsapp.py
-+++ b/gramps/grampsapp.py
-@@ -325,9 +325,16 @@ def show_settings():
- .replace('(', '').replace(')', '')
- bsddb_location_str = bsddb.__file__
- except:
-- bsddb_str = 'not found'
-- bsddb_db_str = 'not found'
-- bsddb_location_str = 'not found'
-+ try:
-+ import berkeleydb as bsddb
-+ bsddb_str = bsddb.__version__
-+ bsddb_db_str = str(bsddb.db.version()).replace(', ', '.')\
-+ .replace('(', '').replace(')', '')
-+ bsddb_location_str = bsddb.__file__
-+ except:
-+ bsddb_str = 'not found'
-+ bsddb_db_str = 'not found'
-+ bsddb_location_str = 'not found'
-
- try:
- import sqlite3
-diff --git a/gramps/gui/aboutdialog.py b/gramps/gui/aboutdialog.py
-index f2b28a036..2afb77816 100644
---- a/gramps/gui/aboutdialog.py
-+++ b/gramps/gui/aboutdialog.py
-@@ -68,7 +68,11 @@ try:
- import bsddb3 as bsddb ## ok, in try/except
- BSDDB_STR = ellipses(str(bsddb.__version__) + " " + str(bsddb.db.version()))
- except:
-- BSDDB_STR = 'not found'
-+ try:
-+ import berkeleydb as bsddb
-+ BSDDB_STR = ellipses(str(bsddb.__version__) + " " + str(bsddb.db.version()))
-+ except:
-+ BSDDB_STR = 'not found'
-
- try:
- import sqlite3
-diff --git a/gramps/gui/logger/_errorreportassistant.py b/gramps/gui/logger/_errorreportassistant.py
-index af9979693..1924701e2 100644
---- a/gramps/gui/logger/_errorreportassistant.py
-+++ b/gramps/gui/logger/_errorreportassistant.py
-@@ -37,7 +37,11 @@ try:
- import bsddb3 as bsddb # ok, in try/except
- BSDDB_STR = str(bsddb.__version__) + " " + str(bsddb.db.version())
- except:
-- BSDDB_STR = 'not found'
-+ try:
-+ import berkeleydb as bsddb
-+ BSDDB_STR = str(bsddb.__version__) + " " + str(bsddb.db.version())
-+ except:
-+ BSDDB_STR = 'not found'
-
- try:
- import sqlite3
-diff --git a/gramps/plugins/db/bsddb/bsddbtxn.py b/gramps/plugins/db/bsddb/bsddbtxn.py
-index 7af99494e..0f3fe0de4 100644
---- a/gramps/plugins/db/bsddb/bsddbtxn.py
-+++ b/gramps/plugins/db/bsddb/bsddbtxn.py
-@@ -218,7 +218,10 @@ class BSDDBTxn:
- # test code
- if __name__ == "__main__":
- print("1")
-- from bsddb3 import db, dbshelve
-+ try:
-+ from bsddb3 import db, dbshelve
-+ except:
-+ from berkeleydb import db, dbshelve
- print("2")
- x = db.DBEnv()
- print("3")
-diff --git a/gramps/plugins/db/bsddb/cursor.py b/gramps/plugins/db/bsddb/cursor.py
-index 1eecffc03..4ddd9a64c 100644
---- a/gramps/plugins/db/bsddb/cursor.py
-+++ b/gramps/plugins/db/bsddb/cursor.py
-@@ -29,14 +29,17 @@ from pickle import dumps, loads
- try:
- from bsddb3 import db
- except:
-+ try:
-+ from berkeleydb import db
-+ except:
- # FIXME: make this more abstract to deal with other backends
-- class db:
-- DB_RMW = 0
-- DB_FIRST = 0
-- DB_LAST = 0
-- DB_CURRENT = 0
-- DB_PREV = 0
-- DB_NEXT = 0
-+ class db:
-+ DB_RMW = 0
-+ DB_FIRST = 0
-+ DB_LAST = 0
-+ DB_CURRENT = 0
-+ DB_PREV = 0
-+ DB_NEXT = 0
-
- #-------------------------------------------------------------------------
- #
-diff --git a/gramps/plugins/db/bsddb/read.py b/gramps/plugins/db/bsddb/read.py
-index 57906b795..6b0b6a7a8 100644
---- a/gramps/plugins/db/bsddb/read.py
-+++ b/gramps/plugins/db/bsddb/read.py
-@@ -41,12 +41,15 @@ from functools import partial
- try:
- from bsddb3 import db
- except:
-- # FIXME: make this more abstract to deal with other backends
-- class db:
-- DBRunRecoveryError = 0
-- DBAccessError = 0
-- DBPageNotFoundError = 0
-- DBInvalidArgError = 0
-+ try:
-+ from berkeleydb import db
-+ except:
-+ # FIXME: make this more abstract to deal with other backends
-+ class db:
-+ DBRunRecoveryError = 0
-+ DBAccessError = 0
-+ DBPageNotFoundError = 0
-+ DBInvalidArgError = 0
-
- import re
- import logging
-diff --git a/gramps/plugins/db/bsddb/summary.py b/gramps/plugins/db/bsddb/summary.py
-index e73908128..a911d666f 100644
---- a/gramps/plugins/db/bsddb/summary.py
-+++ b/gramps/plugins/db/bsddb/summary.py
-@@ -22,8 +22,10 @@
- ## specific to bsddb
-
- import os
--from bsddb3 import dbshelve, db
--
-+try:
-+ from bsddb3 import dbshelve, db
-+except:
-+ from berkeleydb import db, dbshelve
- from gramps.gen.db import META, PERSON_TBL
- from gramps.gen.db.dbconst import BDBVERSFN
-
-diff --git a/gramps/plugins/db/bsddb/test/cursor_test.py b/gramps/plugins/db/bsddb/test/cursor_test.py
-index e90e16fd4..1411aca43 100644
---- a/gramps/plugins/db/bsddb/test/cursor_test.py
-+++ b/gramps/plugins/db/bsddb/test/cursor_test.py
-@@ -23,8 +23,10 @@ import os
- import tempfile
- import shutil
-
--from bsddb3 import dbshelve, db
--
-+try:
-+ from bsddb3 import dbshelve, db
-+except:
-+ from berkeleydb import db, dbshelve
- from ..read import DbBsddbTreeCursor
-
- class Data:
-diff --git a/gramps/plugins/db/bsddb/undoredo.py b/gramps/plugins/db/bsddb/undoredo.py
-index 53ab39a60..729f21eb9 100644
---- a/gramps/plugins/db/bsddb/undoredo.py
-+++ b/gramps/plugins/db/bsddb/undoredo.py
-@@ -36,12 +36,15 @@ from collections import deque
- try:
- from bsddb3 import db
- except:
-+ try:
-+ from berkeleydb import db
-+ except:
- # FIXME: make this more abstract to deal with other backends
-- class db:
-- DBRunRecoveryError = 0
-- DBAccessError = 0
-- DBPageNotFoundError = 0
-- DBInvalidArgError = 0
-+ class db:
-+ DBRunRecoveryError = 0
-+ DBAccessError = 0
-+ DBPageNotFoundError = 0
-+ DBInvalidArgError = 0
-
- from gramps.gen.const import GRAMPS_LOCALE as glocale
- _ = glocale.translation.gettext
-diff --git a/gramps/plugins/db/bsddb/upgrade.py b/gramps/plugins/db/bsddb/upgrade.py
-index 48fd189dd..6861fcd5c 100644
---- a/gramps/plugins/db/bsddb/upgrade.py
-+++ b/gramps/plugins/db/bsddb/upgrade.py
-@@ -32,8 +32,10 @@ import os
- import re
- import time
- import logging
--from bsddb3 import db
--
-+try:
-+ from bsddb3 import db
-+except:
-+ from berkeleydb import db
- #-------------------------------------------------------------------------
- #
- # Gramps modules
-diff --git a/gramps/plugins/db/bsddb/write.py b/gramps/plugins/db/bsddb/write.py
-index f1743fd21..809b77383 100644
---- a/gramps/plugins/db/bsddb/write.py
-+++ b/gramps/plugins/db/bsddb/write.py
-@@ -40,8 +40,14 @@ import logging
- from sys import maxsize, getfilesystemencoding, version_info
- from ast import literal_eval as safe_eval
-
--from bsddb3 import dbshelve, db
--from bsddb3.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
-+try:
-+ from bsddb3 import dbshelve, db
-+except:
-+ from berkeleydb import db, dbshelve
-+try:
-+ from bsddb3.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
-+except:
-+ from berkeleydb.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
-
- DBFLAGS_O = DB_CREATE | DB_AUTO_COMMIT # Default flags for database open
- DBFLAGS_R = DB_RDONLY # Flags to open a database read-only
-diff --git a/gramps/plugins/gramplet/leak.py b/gramps/plugins/gramplet/leak.py
-index 949531cf7..0c09c0c4e 100644
---- a/gramps/plugins/gramplet/leak.py
-+++ b/gramps/plugins/gramplet/leak.py
-@@ -184,10 +184,13 @@ class Leak(Gramplet):
- try:
- from bsddb3.db import DBError
- except:
-- class DBError(Exception):
-- """
-- Dummy.
-- """
-+ try:
-+ from berkeleydb.db import DBError
-+ except:
-+ class DBError(Exception):
-+ """
-+ Dummy.
-+ """
- self.parent = self.top.get_toplevel()
- progress = ProgressMeter(
- _('Updating display...'), '', parent=self.parent, can_cancel=True)
---
-2.37.1 (Apple Git-137.1)
-