Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
litecoin: fix build with boost 1.87
To:
ports@openbsd.org
Cc:
rsadowski@openbsd.org
Date:
Sun, 20 Apr 2025 18:57:27 +0200

Download raw body.

Thread
  • Theo Buehler:

    litecoin: fix build with boost 1.87

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