summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/finance.scm3
-rw-r--r--gnu/packages/patches/bitcoin-core-python-compat.patch28
2 files changed, 30 insertions, 1 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index dfc89cae1e..6b34845441 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -110,7 +110,8 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
- "1h3w7brc18145np920vy7j5ms5hym59hvr40swdjx34fbdaisngj"))))
+ "1h3w7brc18145np920vy7j5ms5hym59hvr40swdjx34fbdaisngj"))
+ (patches (search-patches "bitcoin-core-python-compat.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/patches/bitcoin-core-python-compat.patch b/gnu/packages/patches/bitcoin-core-python-compat.patch
new file mode 100644
index 0000000000..6bf744124d
--- /dev/null
+++ b/gnu/packages/patches/bitcoin-core-python-compat.patch
@@ -0,0 +1,28 @@
+Get rid of deprecation warning emitted by Python 3.8, which causes a test failure(!).
+
+https://github.com/bitcoin/bitcoin/pull/17931
+
+Taken from upstream:
+
+https://github.com/bitcoin/bitcoin/commit/f117fb00da747147cddfb071c1427a2754c278cd
+
+diff --git a/test/functional/p2p_invalid_messages.py b/test/functional/p2p_invalid_messages.py
+index 20864881c165..07eacf410d88 100755
+--- a/test/functional/p2p_invalid_messages.py
++++ b/test/functional/p2p_invalid_messages.py
+@@ -145,13 +145,13 @@ def run_test(self):
+ def test_magic_bytes(self):
+ conn = self.nodes[0].add_p2p_connection(P2PDataStore())
+
+- def swap_magic_bytes():
++ async def swap_magic_bytes():
+ conn._on_data = lambda: None # Need to ignore all incoming messages from now, since they come with "invalid" magic bytes
+ conn.magic_bytes = b'\x00\x11\x22\x32'
+
+ # Call .result() to block until the atomic swap is complete, otherwise
+ # we might run into races later on
+- asyncio.run_coroutine_threadsafe(asyncio.coroutine(swap_magic_bytes)(), NetworkThread.network_event_loop).result()
++ asyncio.run_coroutine_threadsafe(swap_magic_bytes(), NetworkThread.network_event_loop).result()
+
+ with self.nodes[0].assert_debug_log(['PROCESSMESSAGE: INVALID MESSAGESTART ping']):
+ conn.send_message(messages.msg_ping(nonce=0xff))