Taken from FreeBSD. Compile tested against boost 1.87 and 1.84.

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/litecoin/Makefile,v
diff -u -p -r1.20 Makefile
--- Makefile    21 Nov 2024 10:04:38 -0000      1.20
+++ Makefile    20 Apr 2025 16:45:26 -0000
@@ -5,6 +5,7 @@ COMMENT =               P2P payment system
 GH_ACCOUNT =           litecoin-project
 GH_PROJECT =           litecoin
 GH_TAGNAME =           v0.21.4
+REVISION =             0
 
 SHARED_LIBS +=  bitcoinconsensus          3.0 # 0.0
 SHARED_LIBS +=  secp256k1                 0.0 # 0.0
Index: patches/patch-src_wallet_bdb_cpp
===================================================================
RCS file: /cvs/ports/net/litecoin/patches/patch-src_wallet_bdb_cpp,v
diff -u -p -r1.1 patch-src_wallet_bdb_cpp
--- patches/patch-src_wallet_bdb_cpp    18 Aug 2023 20:00:49 -0000      1.1
+++ patches/patch-src_wallet_bdb_cpp    20 Apr 2025 16:45:26 -0000
@@ -1,3 +1,6 @@
+Last hunk: build fix for boost 1.87 from FreeBSD
+https://github.com/freebsd/freebsd-ports/commit/880b364108f5a935b6e62264a5b6a62428476d99
+
 Index: src/wallet/bdb.cpp
 --- src/wallet/bdb.cpp.orig
 +++ src/wallet/bdb.cpp
@@ -21,3 +24,12 @@ Index: src/wallet/bdb.cpp
      int ret = dbenv->open(nullptr,
                           DB_CREATE |
                               DB_INIT_LOCK |
+@@ -627,7 +631,7 @@ bool BerkeleyDatabase::Backup(const std::string& strDe
+                         return false;
+                     }
+ 
+-                    fs::copy_file(pathSrc, pathDest, 
fs::copy_option::overwrite_if_exists);
++                    fs::copy_file(pathSrc, pathDest, 
fs::copy_options::overwrite_existing);
+                     LogPrintf("copied %s to %s\n", strFile, 
pathDest.string());
+                     return true;
+                 } catch (const fs::filesystem_error& e) {
Index: patches/patch-src_wallet_walletutil_cpp
===================================================================
RCS file: patches/patch-src_wallet_walletutil_cpp
diff -N patches/patch-src_wallet_walletutil_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_wallet_walletutil_cpp     20 Apr 2025 16:45:26 -0000
@@ -0,0 +1,23 @@
+Fix build with newer Boost
+
+Index: src/wallet/walletutil.cpp
+--- src/wallet/walletutil.cpp.orig
++++ src/wallet/walletutil.cpp
+@@ -58,7 +58,7 @@ std::vector<fs::path> ListWalletDir()
+                 (ExistsBerkeleyDatabase(it->path()) || 
ExistsSQLiteDatabase(it->path()))) {
+                 // Found a directory which contains wallet.dat btree file, 
add it as a wallet.
+                 paths.emplace_back(path);
+-            } else if (it.level() == 0 && it->symlink_status().type() == 
fs::regular_file && ExistsBerkeleyDatabase(it->path())) {
++            } else if (it.depth() == 0 && it->symlink_status().type() == 
fs::regular_file && ExistsBerkeleyDatabase(it->path())) {
+                 if (it->path().filename() == "wallet.dat") {
+                     // Found top-level wallet.dat btree file, add top level 
directory ""
+                     // as a wallet.
+@@ -73,7 +73,7 @@ std::vector<fs::path> ListWalletDir()
+             }
+         } catch (const std::exception& e) {
+             LogPrintf("%s: Error scanning %s: %s\n", __func__, 
it->path().string(), e.what());
+-            it.no_push();
++            it.disable_recursion_pending();
+         }
+     }
+ 

Reply via email to