From 8b2eec740bcdba5c254b2ecafd41c2f8bb4dd9d0 Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Sat, 21 Aug 2021 23:32:26 +0100 Subject: net-p2p/dogecoin: version bump Package-Manager: Portage-3.0.20, Repoman-3.0.3 --- net-p2p/dogecoin/Manifest | 2 +- net-p2p/dogecoin/dogecoin-1.14.3.ebuild | 76 ---- net-p2p/dogecoin/dogecoin-1.14.4.ebuild | 79 ++++ .../files/0001-Update-to-Berkeley-DB-5.3.patch | 443 +++++++++++++++++++++ 4 files changed, 523 insertions(+), 77 deletions(-) delete mode 100644 net-p2p/dogecoin/dogecoin-1.14.3.ebuild create mode 100644 net-p2p/dogecoin/dogecoin-1.14.4.ebuild create mode 100644 net-p2p/dogecoin/files/0001-Update-to-Berkeley-DB-5.3.patch (limited to 'net-p2p/dogecoin') diff --git a/net-p2p/dogecoin/Manifest b/net-p2p/dogecoin/Manifest index e73f7442..fa641bad 100644 --- a/net-p2p/dogecoin/Manifest +++ b/net-p2p/dogecoin/Manifest @@ -1 +1 @@ -DIST dogecoin-1.14.3.tar.gz 7204900 BLAKE2B bc479a288d107dd9cca8aa05475800a4b6a4fe6cdc696b6d2c8864594d49939cf336ab7a91b408f7af0c919467fc0e9ccde959dfc385644b7dd21fce99ef332d SHA512 c97720d52d457227b707e869d7a5f96606592acdd9f1606724b81e2936b725b92af4627740e10e107ff98b5fb7e2ffb7d8bea00f45e50344b5cea621ea10686c +DIST dogecoin-1.14.4.tar.gz 7223113 BLAKE2B a8eb4067b3b34060bb2142e25bb3a593a7f6fbaba9c05eeaaef9a0ec071ba028de1fc6ab0d26e22003eedb453bd56beee1b5506fb9191d898e4cefde2e9a5b9c SHA512 5d7e4c4e6fc86d8ba55af78a59ec7eed2ce90a7980f392cba90ab66f53649da3b2d701d2644469c38f964da3a146ec22cbf69bcd2f74bdf8613493e534777347 diff --git a/net-p2p/dogecoin/dogecoin-1.14.3.ebuild b/net-p2p/dogecoin/dogecoin-1.14.3.ebuild deleted file mode 100644 index a53c6b8b..00000000 --- a/net-p2p/dogecoin/dogecoin-1.14.3.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -DB_VER="5.1" -inherit db-use flag-o-matic bash-completion-r1 autotools - -DESCRIPTION="P2P Internet currency favored by Shiba Inus worldwide" -HOMEPAGE="http://www.dogecoin.com" -SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+dbus libressl +qrcode +qt5 +upnp +utils +wallet" - -RDEPEND=" - !libressl? ( dev-libs/openssl:0[-bindist] ) - libressl? ( dev-libs/libressl ) - >=dev-libs/boost-1.20.0[threads(+)] - qrcode? ( media-gfx/qrencode ) - qt5? ( - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtwidgets:5 - dev-qt/qtprintsupport:5 - dbus? ( dev-qt/qtdbus:5 ) - ) - upnp? ( net-libs/miniupnpc:0 ) - wallet? ( sys-libs/db:$(db_ver_to_slot ${DB_VER})[cxx] ) - dev-libs/protobuf:= - dev-libs/libevent:=[threads] - net-libs/cppzmq:= - dev-libs/univalue:= -" -DEPEND="${RDEPEND} - qt5? ( dev-qt/linguist-tools:5 )" - -src_prepare () { - default - - append-cppflags "-I$(db_includedir ${DB_VER})" - eautoreconf -} - -src_configure() { - local my_econf=( - --with-daemon - --with-zmq - --with-system-univalue - --enable-man - --disable-hardening - --disable-bench - --disable-extended-rpc-tests - --disable-gui-tests - $(use_with utils) - $(use_enable wallet) - $(use_enable upnp miniupnpc) $(use_with upnp miniupnpc) - $(use_with qrcode qrencode) - ) - - if use qt5 ; then - my_econf+=( --with-gui=qt5 ) - else - my_econf+=( --with-gui=no ) - fi - - econf \ - "${my_econf[@]}" -} - -src_install() { - default - - newbashcomp contrib/dogecoind.bash-completion dogecoind -} diff --git a/net-p2p/dogecoin/dogecoin-1.14.4.ebuild b/net-p2p/dogecoin/dogecoin-1.14.4.ebuild new file mode 100644 index 00000000..ca229438 --- /dev/null +++ b/net-p2p/dogecoin/dogecoin-1.14.4.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +DB_VER="5.3" +inherit db-use flag-o-matic bash-completion-r1 autotools + +DESCRIPTION="P2P Internet currency favored by Shiba Inus worldwide" +HOMEPAGE="http://www.dogecoin.com" +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+dbus +qrcode +qt5 +upnp +utils +wallet" + +RDEPEND=" + dev-libs/openssl:0[-bindist] + >=dev-libs/boost-1.20.0[threads(+)] + qrcode? ( media-gfx/qrencode ) + qt5? ( + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + dev-qt/qtprintsupport:5 + dbus? ( dev-qt/qtdbus:5 ) + ) + upnp? ( net-libs/miniupnpc:0 ) + wallet? ( sys-libs/db:$(db_ver_to_slot ${DB_VER})[cxx] ) + dev-libs/protobuf:= + dev-libs/libevent:=[threads] + net-libs/cppzmq:= + dev-libs/univalue:= +" +DEPEND="${RDEPEND} + qt5? ( dev-qt/linguist-tools:5 )" + +PATCHES=( + "${FILESDIR}/0001-Update-to-Berkeley-DB-5.3.patch" +) + +src_prepare () { + default + + append-cppflags "-I$(db_includedir ${DB_VER})" + eautoreconf +} + +src_configure() { + local my_econf=( + --with-daemon + --with-zmq + --with-system-univalue + --enable-man + --disable-hardening + --disable-bench + --disable-extended-rpc-tests + --disable-gui-tests + $(use_with utils) + $(use_enable wallet) + $(use_enable upnp miniupnpc) $(use_with upnp miniupnpc) + $(use_with qrcode qrencode) + ) + + if use qt5 ; then + my_econf+=( --with-gui=qt5 ) + else + my_econf+=( --with-gui=no ) + fi + + econf \ + "${my_econf[@]}" +} + +src_install() { + default + + newbashcomp contrib/dogecoind.bash-completion dogecoind +} diff --git a/net-p2p/dogecoin/files/0001-Update-to-Berkeley-DB-5.3.patch b/net-p2p/dogecoin/files/0001-Update-to-Berkeley-DB-5.3.patch new file mode 100644 index 00000000..0897e148 --- /dev/null +++ b/net-p2p/dogecoin/files/0001-Update-to-Berkeley-DB-5.3.patch @@ -0,0 +1,443 @@ +From 1a6738f920f8334efdc4c811ccbf1855d81e8384 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +Date: Sat, 21 Aug 2021 23:45:41 +0100 +Subject: [PATCH] Update to Berkeley DB 5.3 + +Old BerkeleyDB version such as 5.1 are being removed from most Linux +distribution. + +See: https://bugs.gentoo.org/792222 +See: https://fedoraproject.org/wiki/Changes/Libdb_deprecated +--- + ...n_find_bdb51.m4 => dogecoin_find_bdb53.m4} | 28 +++++++------- + configure.ac | 2 +- + depends/packages/bdb.mk | 6 +-- + .../patches/bdb-5.1.29-clang-osx/README.md | 4 -- + .../bdb-5.1.29-clang-osx/atomic.h.patch | 38 ------------------- + .../bdb-5.1.29-clang-osx/mp_fget.c.patch | 20 ---------- + .../bdb-5.1.29-clang-osx/mp_mvcc.c.patch | 20 ---------- + .../bdb-5.1.29-clang-osx/mp_region.c.patch | 20 ---------- + .../bdb-5.1.29-clang-osx/mut_method.c.patch | 11 ------ + .../bdb-5.1.29-clang-osx/mut_tas.c.patch | 20 ---------- + doc/Building-Dogecoin-1.14-for-Mac.md | 37 ++++++------------ + doc/build-osx.md | 2 +- + doc/build-unix.md | 14 +++---- + 13 files changed, 37 insertions(+), 185 deletions(-) + rename build-aux/m4/{dogecoin_find_bdb51.m4 => dogecoin_find_bdb53.m4} (73%) + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/README.md + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/atomic.h.patch + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/mp_fget.c.patch + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/mp_mvcc.c.patch + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/mp_region.c.patch + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/mut_method.c.patch + delete mode 100644 depends/patches/bdb-5.1.29-clang-osx/mut_tas.c.patch + +diff --git a/build-aux/m4/dogecoin_find_bdb51.m4 b/build-aux/m4/dogecoin_find_bdb53.m4 +similarity index 73% +rename from build-aux/m4/dogecoin_find_bdb51.m4 +rename to build-aux/m4/dogecoin_find_bdb53.m4 +index 22d71dfd3511..c04c434632d0 100644 +--- a/build-aux/m4/dogecoin_find_bdb51.m4 ++++ b/build-aux/m4/dogecoin_find_bdb53.m4 +@@ -1,11 +1,11 @@ +-AC_DEFUN([BITCOIN_FIND_BDB51],[ ++AC_DEFUN([BITCOIN_FIND_BDB53],[ + AC_MSG_CHECKING([for Berkeley DB C++ headers]) + BDB_CPPFLAGS= + BDB_LIBS= + bdbpath=X +- bdb51path=X ++ bdb53path=X + bdbdirlist= +- for _vn in 5.1 51 5 ''; do ++ for _vn in 5.3 53 5 ''; do + for _pfx in b lib ''; do + bdbdirlist="$bdbdirlist ${_pfx}db${_vn}" + done +@@ -15,8 +15,8 @@ AC_DEFUN([BITCOIN_FIND_BDB51],[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <${searchpath}db_cxx.h> + ]],[[ +- #if !((DB_VERSION_MAJOR == 5 && DB_VERSION_MINOR >= 1) || DB_VERSION_MAJOR > 5) +- #error "failed to find bdb 5.1+" ++ #if !((DB_VERSION_MAJOR == 5 && DB_VERSION_MINOR >= 3) || DB_VERSION_MAJOR > 5) ++ #error "failed to find bdb 5.3+" + #endif + ]])],[ + if test "x$bdbpath" = "xX"; then +@@ -28,32 +28,32 @@ AC_DEFUN([BITCOIN_FIND_BDB51],[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <${searchpath}db_cxx.h> + ]],[[ +- #if !(DB_VERSION_MAJOR == 5 && DB_VERSION_MINOR == 1) +- #error "failed to find bdb 5.1" ++ #if !(DB_VERSION_MAJOR == 5 && DB_VERSION_MINOR == 3) ++ #error "failed to find bdb 5.3" + #endif + ]])],[ +- bdb51path="${searchpath}" ++ bdb53path="${searchpath}" + break + ],[]) + done + if test "x$bdbpath" = "xX"; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([libdb_cxx headers missing, Dogecoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) +- elif test "x$bdb51path" = "xX"; then ++ elif test "x$bdb53path" = "xX"; then + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) + AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ +- AC_MSG_WARN([Found Berkeley DB other than 5.1; wallets opened by this build will not be portable!]) ++ AC_MSG_WARN([Found Berkeley DB other than 5.3; wallets opened by this build will not be portable!]) + ],[ +- AC_MSG_ERROR([Found Berkeley DB other than 5.1, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) ++ AC_MSG_ERROR([Found Berkeley DB other than 5.3, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) + ]) + else +- BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb51path}],db_cxx) +- bdbpath="${bdb51path}" ++ BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb53path}],db_cxx) ++ bdbpath="${bdb53path}" + fi + AC_SUBST(BDB_CPPFLAGS) + + # TODO: Ideally this could find the library version and make sure it matches the headers being used +- for searchlib in db_cxx-5.1 db_cxx; do ++ for searchlib in db_cxx-5.3 db_cxx; do + AC_CHECK_LIB([$searchlib],[main],[ + BDB_LIBS="-l${searchlib}" + break +diff --git a/configure.ac b/configure.ac +index b96febce8519..25723142d1d5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -597,7 +597,7 @@ AC_SUBST(LIBMEMENV) + + if test x$enable_wallet != xno; then + dnl Check for libdb_cxx only if wallet enabled +- BITCOIN_FIND_BDB51 ++ BITCOIN_FIND_BDB53 + fi + + dnl Check for libminiupnpc (optional) +diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk +index 0b7142d9a65d..52bdbca6e2f8 100644 +--- a/depends/packages/bdb.mk ++++ b/depends/packages/bdb.mk +@@ -1,8 +1,8 @@ + package=bdb +-$(package)_version=5.1.29 ++$(package)_version=5.3.28 + $(package)_download_path=http://download.oracle.com/berkeley-db + $(package)_file_name=db-$($(package)_version).NC.tar.gz +-$(package)_sha256_hash=08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c ++$(package)_sha256_hash=76a25560d9e52a198d37a31440fd07632b5f1f8f9f2b6d5438f4bc3e7c9013ef + $(package)_build_subdir=build_unix + + define $(package)_set_vars +@@ -24,7 +24,7 @@ define $(package)_config_cmds + endef + + define $(package)_build_cmds +- $(MAKE) libdb_cxx-5.1.a libdb-5.1.a ++ $(MAKE) libdb_cxx-5.3.a libdb-5.3.a + endef + + define $(package)_stage_cmds +diff --git a/depends/patches/bdb-5.1.29-clang-osx/README.md b/depends/patches/bdb-5.1.29-clang-osx/README.md +deleted file mode 100644 +index 4af7cffb7aa3..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/README.md ++++ /dev/null +@@ -1,4 +0,0 @@ +-These patches are to allow bdb-5.1.29 to compile using clang / c++11 under later MacOSX versions (Sierra+). +-These patches must be applied to the bdb-5.1.29 source from Oracle, and then compiled, for the Mac client to build. +- +-Note some of these exist in bdb.mk but we don't want to use the -stdlib=libstd++ flag that's indicated in there on OSX. +diff --git a/depends/patches/bdb-5.1.29-clang-osx/atomic.h.patch b/depends/patches/bdb-5.1.29-clang-osx/atomic.h.patch +deleted file mode 100644 +index c702e2b5313d..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/atomic.h.patch ++++ /dev/null +@@ -1,38 +0,0 @@ +---- old-bdb/src/dbinc/atomic.h 2011-10-25 14:39:34.000000000 -0600 +-+++ new-bdb/src/dbinc/atomic.h 2018-06-01 19:59:37.000000000 -0600 +-@@ -70,7 +70,7 @@ +- * These have no memory barriers; the caller must include them when necessary. +- */ +- #define atomic_read(p) ((p)->value) +--#define atomic_init(p, val) ((p)->value = (val)) +-+#define atomic_init_db(p, val) ((p)->value = (val)) +- +- #ifdef HAVE_ATOMIC_SUPPORT +- +-@@ -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; +-@@ -206,7 +206,7 @@ +- #define atomic_dec(env, p) (--(p)->value) +- #define atomic_compare_exchange(env, p, oldval, newval) \ +- (DB_ASSERT(env, atomic_read(p) == (oldval)), \ +-- atomic_init(p, (newval)), 1) +-+ atomic_init_db(p, (newval)), 1) +- #else +- #define atomic_inc(env, p) __atomic_inc(env, p) +- #define atomic_dec(env, p) __atomic_dec(env, p) +diff --git a/depends/patches/bdb-5.1.29-clang-osx/mp_fget.c.patch b/depends/patches/bdb-5.1.29-clang-osx/mp_fget.c.patch +deleted file mode 100644 +index a524da7ac02a..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/mp_fget.c.patch ++++ /dev/null +@@ -1,20 +0,0 @@ +---- old-bdb/src/mp/mp_fget.c 2011-10-25 14:39:35.000000000 -0600 +-+++ new-bdb/src/mp/mp_fget.c 2018-06-01 20:01:48.000000000 -0600 +-@@ -629,7 +629,7 @@ +- +- /* Initialize enough so we can call __memp_bhfree. */ +- alloc_bhp->flags = 0; +-- atomic_init(&alloc_bhp->ref, 1); +-+ atomic_init_db(&alloc_bhp->ref, 1); +- #ifdef DIAGNOSTIC +- if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) { +- __db_errx(env, +-@@ -931,7 +931,7 @@ +- MVCC_MPROTECT(bhp->buf, mfp->pagesize, +- PROT_READ); +- +-- atomic_init(&alloc_bhp->ref, 1); +-+ atomic_init_db(&alloc_bhp->ref, 1); +- MUTEX_LOCK(env, alloc_bhp->mtx_buf); +- alloc_bhp->priority = bhp->priority; +- alloc_bhp->pgno = bhp->pgno; +diff --git a/depends/patches/bdb-5.1.29-clang-osx/mp_mvcc.c.patch b/depends/patches/bdb-5.1.29-clang-osx/mp_mvcc.c.patch +deleted file mode 100644 +index a12084208bbe..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/mp_mvcc.c.patch ++++ /dev/null +@@ -1,20 +0,0 @@ +---- old-bdb/src/mp/mp_mvcc.c 2011-10-25 14:39:35.000000000 -0600 +-+++ new-bdb/src/mp/mp_mvcc.c 2018-06-01 20:02:45.000000000 -0600 +-@@ -276,7 +276,7 @@ +- #else +- memcpy(frozen_bhp, bhp, SSZA(BH, buf)); +- #endif +-- atomic_init(&frozen_bhp->ref, 0); +-+ atomic_init_db(&frozen_bhp->ref, 0); +- if (mutex != MUTEX_INVALID) +- frozen_bhp->mtx_buf = mutex; +- else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH, +-@@ -428,7 +428,7 @@ +- #endif +- alloc_bhp->mtx_buf = mutex; +- MUTEX_LOCK(env, alloc_bhp->mtx_buf); +-- atomic_init(&alloc_bhp->ref, 1); +-+ atomic_init_db(&alloc_bhp->ref, 1); +- F_CLR(alloc_bhp, BH_FROZEN); +- } +- +diff --git a/depends/patches/bdb-5.1.29-clang-osx/mp_region.c.patch b/depends/patches/bdb-5.1.29-clang-osx/mp_region.c.patch +deleted file mode 100644 +index 713d9ca6991e..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/mp_region.c.patch ++++ /dev/null +@@ -1,20 +0,0 @@ +---- old-bdb/src/mp/mp_region.c 2011-10-25 14:39:35.000000000 -0600 +-+++ new-bdb/src/mp/mp_region.c 2018-06-01 20:03:28.000000000 -0600 +-@@ -229,7 +229,7 @@ +- MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0) +- return (ret); +- SH_TAILQ_INIT(&htab[i].hash_bucket); +-- atomic_init(&htab[i].hash_page_dirty, 0); +-+ atomic_init_db(&htab[i].hash_page_dirty, 0); +- } +- +- /* +-@@ -275,7 +275,7 @@ +- hp->mtx_hash = (mtx_base == MUTEX_INVALID) ? MUTEX_INVALID : +- mtx_base + (i % dbenv->mp_mtxcount); +- SH_TAILQ_INIT(&hp->hash_bucket); +-- atomic_init(&hp->hash_page_dirty, 0); +-+ atomic_init_db(&hp->hash_page_dirty, 0); +- #ifdef HAVE_STATISTICS +- hp->hash_io_wait = 0; +- hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0; +diff --git a/depends/patches/bdb-5.1.29-clang-osx/mut_method.c.patch b/depends/patches/bdb-5.1.29-clang-osx/mut_method.c.patch +deleted file mode 100644 +index 95efc8dadc05..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/mut_method.c.patch ++++ /dev/null +@@ -1,11 +0,0 @@ +---- old-bdb/src/mutex/mut_method.c 2011-10-25 14:39:35.000000000 -0600 +-+++ new-bdb/src/mutex/mut_method.c 2018-06-01 20:04:05.000000000 -0600 +-@@ -428,7 +428,7 @@ +- MUTEX_LOCK(env, mtx); +- ret = atomic_read(v) == oldval; +- if (ret) +-- atomic_init(v, newval); +-+ atomic_init_db(v, newval); +- MUTEX_UNLOCK(env, mtx); +- +- return (ret); +diff --git a/depends/patches/bdb-5.1.29-clang-osx/mut_tas.c.patch b/depends/patches/bdb-5.1.29-clang-osx/mut_tas.c.patch +deleted file mode 100644 +index 5f9ed1398d8e..000000000000 +--- a/depends/patches/bdb-5.1.29-clang-osx/mut_tas.c.patch ++++ /dev/null +@@ -1,20 +0,0 @@ +---- old-bdb/src/mutex/mut_tas.c 2011-10-25 14:39:35.000000000 -0600 +-+++ new-bdb/src/mutex/mut_tas.c 2018-06-01 20:04:25.000000000 -0600 +-@@ -48,7 +48,7 @@ +- +- #ifdef HAVE_SHARED_LATCHES +- if (F_ISSET(mutexp, DB_MUTEX_SHARED)) +-- atomic_init(&mutexp->sharecount, 0); +-+ atomic_init_db(&mutexp->sharecount, 0); +- else +- #endif +- if (MUTEX_INIT(&mutexp->tas)) { +-@@ -521,7 +521,7 @@ +- F_CLR(mutexp, DB_MUTEX_LOCKED); +- /* Flush flag update before zeroing count */ +- MEMBAR_EXIT(); +-- atomic_init(&mutexp->sharecount, 0); +-+ atomic_init_db(&mutexp->sharecount, 0); +- } else { +- DB_ASSERT(env, sharecount > 0); +- MEMBAR_EXIT(); +diff --git a/doc/Building-Dogecoin-1.14-for-Mac.md b/doc/Building-Dogecoin-1.14-for-Mac.md +index 22e2b0fe9759..242e9e875da8 100644 +--- a/doc/Building-Dogecoin-1.14-for-Mac.md ++++ b/doc/Building-Dogecoin-1.14-for-Mac.md +@@ -40,49 +40,34 @@ Install Boost lib via Brew from source, and link it to be sure: + $brew install boost --build-from-source --HEAD + $brew link boost167 + +-### Get, Patch And Compile BDB 5.1 ### ++### Get, Patch And Compile BDB 5.3 ### + +-Download bdb 5.1.29 source from Oracle. ++Download bdb 5.3.28 source from Oracle. + +- $curl -o db-5.1.29.tar.gz http://download.oracle.com/berkeley-db/db-5.1.29.tar.gz +- $tar xvfz db-5.1.29.tar.gz +- $cd db-5.1.29 ++ $curl -o db-5.3.28.tar.gz http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz ++ $tar xvfz db-5.3.28.tar.gz ++ $cd db-5.3.28 + +-Patch bdb 5.1.29 from our patchfiles +- +- $cd src +- $cd dbinc +- $patch -b atomic.h ~/dogecoin/depends/patches/bdb-5.1.29-clang-osx/atomic.h.patch +- $cd .. +- $cd mp +- $patch -b mp_fget.c ~/dogecoin/depends/patches/bdb-5.1.29-clang-osx/mp_fget.c.patch +- $patch -b mp_mvcc.c ~/dogecoin/depends/patches/bdb-5.1.29-clang-osx/mp_mvcc.c.patch +- $patch -b mp_region.c ~/dogecoin/depends/patches/bdb-5.1.29-clang-osx/mp_region.c.patch +- $cd .. +- $cd mutex +- $patch -b mut_method.c ~/dogecoin/depends/patches/bdb-5.1.29-clang-osx/mut_method.c.patch +- $patch -b mut_tas.c ~/dogecoin/depends/patches/bdb-5.1.29-clang-osx/mut_tas.c.patch +- +-Build BDB 5.1.29 ++Build BDB 5.3.28 + + $cd ../.. + $cd build_unix + $../dist/configure CXX=clang++ --enable-cxx + $make +- $sudo mkdir /usr/local/BerkeleyDB.5.1 +- $sudo chown $(whoami):admin /usr/local/BerkeleyDB.5.1 ++ $sudo mkdir /usr/local/BerkeleyDB.5.3 ++ $sudo chown $(whoami):admin /usr/local/BerkeleyDB.5.3 + $sudo make install + + ### Set some environment variables and links for bdb and openssl ### + +- $export LDFLAGS=-L/usr/local/BerkeleyDB.5.1/lib +- $export CPPFLAGS=-I/usr/local/BerkeleyDB.5.1/include ++ $export LDFLAGS=-L/usr/local/BerkeleyDB.5.3/lib ++ $export CPPFLAGS=-I/usr/local/BerkeleyDB.5.3/include + + _**NOTE:** for MacOS BigSur (11.1) or later, and possibly Catalina (10.15) you will also have to include the "OBJC_OLD_DISPATCH_PROTOTYPES=1" flag._ + + _So in this case you want the above export to be:_ + +- $export CPPFLAGS="-I/usr/local/BerkeleyDB.5.1/include -DOBJC_OLD_DISPATCH_PROTOTYPES=1" ++ $export CPPFLAGS="-I/usr/local/BerkeleyDB.5.3/include -DOBJC_OLD_DISPATCH_PROTOTYPES=1" + + _(Note that the quotes are required.)_ + +diff --git a/doc/build-osx.md b/doc/build-osx.md +index 97536bbea3d0..d00aac366b49 100644 +--- a/doc/build-osx.md ++++ b/doc/build-osx.md +@@ -17,7 +17,7 @@ Dependencies + ---------------------- + + brew install automake libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent +- brew install berkeley-db # You need to make sure you install a version >= 5.1.29, but as close to 5.1.29 as possible. Check the homebrew docs to find out how to install older versions. ++ brew install berkeley-db # You need to make sure you install a version >= 5.3.28, but as close to 5.3.28 as possible. Check the homebrew docs to find out how to install older versions. + + If you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG + +diff --git a/doc/build-unix.md b/doc/build-unix.md +index 21927e149b81..4821cade0171 100644 +--- a/doc/build-unix.md ++++ b/doc/build-unix.md +@@ -43,7 +43,7 @@ Wallet is optional to run a node, see [Wallet](#wallet) section to enable them. + Library | Purpose | Description + ------------|------------------|---------------------- + miniupnpc | UPnP Support | Firewall-jumping support +- libdb5.1 | Berkeley DB | Wallet storage (only needed when wallet enabled) ++ libdb5.3 | Berkeley DB | Wallet storage (only needed when wallet enabled) + qt | GUI | GUI toolkit (only needed when GUI enabled) + protobuf | Payments in GUI | Data interchange format used for payment protocol (only needed when GUI enabled) + libqrencode | QR codes in GUI | Optional for generating QR codes (only needed when GUI enabled) +@@ -108,24 +108,24 @@ Create `dogecoin-qt`, the core wallet GUI. + #### Wallet + BerkeleyDB is required for wallet functionality and use the `wallet.dat` file. + +-By default, **Dogecoin Core expect BerkeleyDB 5.1**. ++By default, **Dogecoin Core expect BerkeleyDB 5.3**. + You can use a different version by specifying `--with-incompatible-bdb` flag. + + If no package is available for your distribution in optional dependencies, you can build BerkeleyDB from source : + ```bash +-# Install script for BerkeleyDB 5.1 ++# Install script for BerkeleyDB 5.3 + + # BerkeleyDB installation directory + BDB_PREFIX=$(pwd)/bdb + mkdir $BDB_PREFIX + + # Fetch the source and verify shasum +-wget 'http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz' +-echo '08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz' | sha256sum -c ++wget 'http://download.oracle.com/berkeley-db/db-5.3.28.NC.tar.gz' ++echo '76a25560d9e52a198d37a31440fd07632b5f1f8f9f2b6d5438f4bc3e7c9013efdb-5.3.28.NC.tar.gz' | sha256sum -c + + # Extract sources +-tar -xzvf db-5.1.29.NC.tar.gz +-cd db-5.1.29.NC/build_unix/ ++tar -xzvf db-5.3.28.NC.tar.gz ++cd db-5.3.28.NC/build_unix/ + + # Apply patch (see https://gist.github.com/danieldk/5700533) + sed -i 's/__atomic_compare_exchange/__atomic_compare_exchange_db/g' ../src/dbinc/atomic.h -- cgit v1.2.3