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

Reply via email to