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(); + } + } +