commit: 60cb9ac2e5e2b0b201c6f50c6941ee5f34df61f4
Author: Luke Dashjr <luke-jr+git <AT> utopios <DOT> org>
AuthorDate: Sat Nov 6 17:23:22 2021 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Nov 18 06:52:21 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60cb9ac2
net-p2p/bitcoin-qt: Add patch for boost 1.77 compatibility
Signed-off-by: Luke Dashjr <luke-jr+git <AT> utopios.org>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
net-p2p/bitcoin-qt/bitcoin-qt-0.20.1.ebuild | 2 +
net-p2p/bitcoin-qt/bitcoin-qt-0.21.0.ebuild | 2 +
net-p2p/bitcoin-qt/bitcoin-qt-0.21.1.ebuild | 2 +
.../bitcoin-qt-0.20.1-boost-1.77-compat.patch | 56 ++++++++++++++++++++++
4 files changed, 62 insertions(+)
diff --git a/net-p2p/bitcoin-qt/bitcoin-qt-0.20.1.ebuild
b/net-p2p/bitcoin-qt/bitcoin-qt-0.20.1.ebuild
index 3644f4d6d0ca..c05e4213cd0f 100644
--- a/net-p2p/bitcoin-qt/bitcoin-qt-0.20.1.ebuild
+++ b/net-p2p/bitcoin-qt/bitcoin-qt-0.20.1.ebuild
@@ -99,6 +99,8 @@ src_prepare() {
eapply "${knots_patchdir}/${KNOTS_P}.ts.patch"
fi
+ eapply "${FILESDIR}/${P}-boost-1.77-compat.patch"
+
eapply_user
echo '#!/bin/true' >share/genbuild.sh || die
diff --git a/net-p2p/bitcoin-qt/bitcoin-qt-0.21.0.ebuild
b/net-p2p/bitcoin-qt/bitcoin-qt-0.21.0.ebuild
index 7f9d109b04a4..33e07afa9afe 100644
--- a/net-p2p/bitcoin-qt/bitcoin-qt-0.21.0.ebuild
+++ b/net-p2p/bitcoin-qt/bitcoin-qt-0.21.0.ebuild
@@ -100,6 +100,8 @@ src_prepare() {
eapply "${knots_patchdir}/${KNOTS_P}.ts.patch"
fi
+ eapply "${FILESDIR}/${PN}-0.20.1-boost-1.77-compat.patch"
+
eapply_user
echo '#!/bin/true' >share/genbuild.sh || die
diff --git a/net-p2p/bitcoin-qt/bitcoin-qt-0.21.1.ebuild
b/net-p2p/bitcoin-qt/bitcoin-qt-0.21.1.ebuild
index 71f88ca3d981..eebd7ff2f4de 100644
--- a/net-p2p/bitcoin-qt/bitcoin-qt-0.21.1.ebuild
+++ b/net-p2p/bitcoin-qt/bitcoin-qt-0.21.1.ebuild
@@ -116,6 +116,8 @@ src_prepare() {
eapply "${knots_patchdir}/${KNOTS_P}.ts.patch"
fi
+ eapply "${FILESDIR}/${PN}-0.20.1-boost-1.77-compat.patch"
+
eapply_user
echo '#!/bin/true' >share/genbuild.sh || die
diff --git a/net-p2p/bitcoin-qt/files/bitcoin-qt-0.20.1-boost-1.77-compat.patch
b/net-p2p/bitcoin-qt/files/bitcoin-qt-0.20.1-boost-1.77-compat.patch
new file mode 100644
index 000000000000..53b5563cb662
--- /dev/null
+++ b/net-p2p/bitcoin-qt/files/bitcoin-qt-0.20.1-boost-1.77-compat.patch
@@ -0,0 +1,56 @@
+commit acb7aad27ec8a184808aa7905887e3b2c5d54e9c
+Author: Rafael Sadowski <[email protected]>
+Date: Mon Aug 16 06:34:02 2021 +0200
+
+ Fix build with Boost 1.77.0
+
+ BOOST_FILESYSTEM_C_STR changed to accept the path as an argument
+
+diff --git a/src/fs.cpp b/src/fs.cpp
+index 4f20ca4d28f..89c7ad27dc4 100644
+--- a/src/fs.cpp
++++ b/src/fs.cpp
+@@ -242,7 +242,11 @@ void ofstream::close()
+ }
+ #else // __GLIBCXX__
+
++#if BOOST_VERSION >= 107700
++static_assert(sizeof(*BOOST_FILESYSTEM_C_STR(fs::path())) == sizeof(wchar_t),
++#else
+ static_assert(sizeof(*fs::path().BOOST_FILESYSTEM_C_STR) == sizeof(wchar_t),
++#endif // BOOST_VERSION >= 107700
+ "Warning: This build is using boost::filesystem ofstream and ifstream "
+ "implementations which will fail to open paths containing multibyte "
+ "characters. You should delete this static_assert to ignore this warning,
"
+diff --git a/src/wallet/test/db_tests.cpp b/src/wallet/test/db_tests.cpp
+index 17f5264b459..16cb7e0baf0 100644
+--- a/src/wallet/test/db_tests.cpp
++++ b/src/wallet/test/db_tests.cpp
+@@ -25,7 +25,11 @@ BOOST_AUTO_TEST_CASE(getwalletenv_file)
+ std::string test_name = "test_name.dat";
+ const fs::path datadir = gArgs.GetDataDirNet();
+ fs::path file_path = datadir / test_name;
++#if BOOST_VERSION >= 107700
++ std::ofstream f(BOOST_FILESYSTEM_C_STR(file_path));
++#else
+ std::ofstream f(file_path.BOOST_FILESYSTEM_C_STR);
++#endif // BOOST_VERSION >= 107700
+ f.close();
+
+ std::string filename;
+diff --git a/src/wallet/test/init_test_fixture.cpp
b/src/wallet/test/init_test_fixture.cpp
+index dd9354848d7..53c972c46d3 100644
+--- a/src/wallet/test/init_test_fixture.cpp
++++ b/src/wallet/test/init_test_fixture.cpp
+@@ -32,7 +32,11 @@ InitWalletDirTestingSetup::InitWalletDirTestingSetup(const
std::string& chainNam
+ fs::create_directories(m_walletdir_path_cases["default"]);
+ fs::create_directories(m_walletdir_path_cases["custom"]);
+ fs::create_directories(m_walletdir_path_cases["relative"]);
++#if BOOST_VERSION >= 107700
++ std::ofstream f(BOOST_FILESYSTEM_C_STR(m_walletdir_path_cases["file"]));
++#else
+ std::ofstream f(m_walletdir_path_cases["file"].BOOST_FILESYSTEM_C_STR);
++#endif // BOOST_VERSION >= 107700
+ f.close();
+ }
+