[packages/bitcoin] - updated to 27.0 + patch for miniupnpc API 18

qboosh qboosh at pld-linux.org
Sun Sep 22 21:38:46 CEST 2024


commit b649d3ae98308e91ad2366b75b604ff817aa2cb7
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Sep 22 21:41:36 2024 +0200

    - updated to 27.0 + patch for miniupnpc API 18

 bitcoin-miniupnpc.patch | 14 ++++++++++++++
 bitcoin.spec            | 38 +++++++++++++++++++++++---------------
 includes.patch          | 30 ------------------------------
 univalue.patch          | 19 -------------------
 4 files changed, 37 insertions(+), 64 deletions(-)
---
diff --git a/bitcoin.spec b/bitcoin.spec
index f2e4348..c99d1a1 100644
--- a/bitcoin.spec
+++ b/bitcoin.spec
@@ -1,18 +1,21 @@
 # TODO: Readd missing icons/*.destktop deleted from contrib/debian during 0.14.0 -> 0.14.2
 # TODO: Consider running as system-wide service (check contrib/init) with own user/group
+#
+# Conditional build:
+%bcond_with	ccache	# ccache for build speedup
+
 Summary:	Bitcoin is a peer-to-peer currency
 Summary(pl.UTF-8):	Bitcoin - waluta peer-to-peer
 Name:		bitcoin
-Version:	22.0
-Release:	4
+Version:	27.0
+Release:	1
 License:	MIT
 Group:		X11/Applications
 # Source0:	https://github.com/bitcoin/bitcoin/archive/v%{version}/%{name}-%{version}.tar.gz
 Source0:	https://bitcoin.org/bin/bitcoin-core-%{version}/bitcoin-%{version}.tar.gz
-# Source0-md5:	f822f7e798fbdc36e8fc18b355ab446d
-Patch0:		includes.patch
-Patch1:		univalue.patch
-URL:		http://www.bitcoin.org/
+# Source0-md5:	0850dc36e811ad780123f12083974a5f
+Patch0:		%{name}-miniupnpc.patch
+URL:		https://bitcoin.org/
 BuildRequires:	Qt5Core-devel >= 5.0
 BuildRequires:	Qt5DBus-devel >= 5.0
 BuildRequires:	Qt5Gui-devel >= 5.0
@@ -21,21 +24,28 @@ BuildRequires:	Qt5Widgets-devel >= 5.0
 BuildRequires:	autoconf >= 2.69
 BuildRequires:	automake >= 1:1.13
 BuildRequires:	boost-devel >= 1.49
+%{?with_ccache:BuildRequires:	ccache}
 BuildRequires:	db-cxx-devel >= 4.8
 BuildRequires:	gettext-tools
-BuildRequires:	libevent-devel >= 2
+BuildRequires:	libevent-devel >= 2.1.8
+BuildRequires:	libmultiprocess-devel
+BuildRequires:	libnatpmp-devel
 # -std=c++11
 BuildRequires:	libstdc++-devel >= 6:4.7
 BuildRequires:	libtool >= 2:2
-BuildRequires:	libunivalue-devel >= 1.0.4
-BuildRequires:	miniupnpc-devel >= 1.5
+# bundled library is used as of 27.x
+#BuildRequires:	libunivalue-devel >= 1.0.4
+# API >= 17
+BuildRequires:	miniupnpc-devel >= 2.1
 BuildRequires:	openssl-devel
 BuildRequires:	pkgconfig
 BuildRequires:	protobuf-devel
 BuildRequires:	python3 >= 1:3.5
 BuildRequires:	qrencode-devel
+BuildRequires:	sqlite3-devel >= 3.7.17
 BuildRequires:	zeromq-devel >= 4
-Requires:	libunivalue >= 1.0.4
+Requires:	libevent >= 2.1.8
+#Requires:	libunivalue >= 1.0.4
 Requires:	perl-base
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -89,7 +99,6 @@ Portfel na bitcoiny oparty na Qt.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
 
 %build
 %{__libtoolize}
@@ -101,18 +110,17 @@ cd src/secp256k1
 %{__libtoolize}
 %{__aclocal} -I build-aux/m4
 %{__autoconf}
-%{__autoheader}
 %{__automake}
 cd ../..
 %configure \
+	%{!?with_ccache:--disable-ccache} \
 	--disable-silent-rules \
 	--with-boost \
-	--with-gui=qt4 \
+	--with-gui=qt5 \
 	--with-incompatible-bdb \
 	--with-miniupnpc \
 	--with-qrencode \
-	--with-qtdbus \
-	--with-system-univalue
+	--with-qtdbus
 
 %{__make}
 
diff --git a/bitcoin-miniupnpc.patch b/bitcoin-miniupnpc.patch
new file mode 100644
index 0000000..61296f2
--- /dev/null
+++ b/bitcoin-miniupnpc.patch
@@ -0,0 +1,14 @@
+--- bitcoin-27.0/src/mapport.cpp.orig	2024-09-22 19:47:34.086129582 +0200
++++ bitcoin-27.0/src/mapport.cpp	2024-09-22 19:47:36.999480228 +0200
+@@ -164,7 +164,11 @@ static bool ProcessUpnp()
+     struct IGDdatas data;
+     int r;
+ 
++#if MINIUPNPC_API_VERSION < 18
+     r = UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, sizeof(lanaddr));
++#else
++    r = UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, sizeof(lanaddr), NULL, 0);
++#endif
+     if (r == 1)
+     {
+         if (fDiscover) {
diff --git a/includes.patch b/includes.patch
deleted file mode 100644
index 110760c..0000000
--- a/includes.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- bitcoin-22.0/src/support/lockedpool.cpp.orig	2021-09-08 20:16:07.000000000 +0200
-+++ bitcoin-22.0/src/support/lockedpool.cpp	2023-07-04 11:29:13.358676698 +0200
-@@ -26,6 +26,7 @@
- #include <iomanip>
- #include <iostream>
- #endif
-+#include <stdexcept>
- 
- LockedPoolManager* LockedPoolManager::_instance = nullptr;
- 
---- bitcoin-22.0/src/util/bip32.h.orig	2021-09-08 20:16:07.000000000 +0200
-+++ bitcoin-22.0/src/util/bip32.h	2023-07-04 11:31:38.309474568 +0200
-@@ -6,6 +6,7 @@
- #define BITCOIN_UTIL_BIP32_H
- 
- #include <attributes.h>
-+#include <cstdint>
- #include <string>
- #include <vector>
- 
---- bitcoin-22.0/src/util/string.h.orig	2021-09-08 20:16:07.000000000 +0200
-+++ bitcoin-22.0/src/util/string.h	2023-07-04 11:34:16.117022848 +0200
-@@ -9,6 +9,7 @@
- 
- #include <algorithm>
- #include <array>
-+#include <cstdint>
- #include <cstring>
- #include <locale>
- #include <sstream>
diff --git a/univalue.patch b/univalue.patch
deleted file mode 100644
index d0928c0..0000000
--- a/univalue.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Description: fix convert atomic to non-atomic integer for UniValue
- Fixes Bitcoin 0.20.1 build failure when linked with mainline UniValue:
- rpc/blockchain.cpp:2077:35: error: cannot convert 'std::atomic<int>' to 'const UniValue&'
-Author: Jonas Smedegaard <dr at jones.dk>
-License: Expat
-Last-Update: 2020-11-26
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/rpc/blockchain.cpp
-+++ b/src/rpc/blockchain.cpp
-@@ -2187,7 +2187,7 @@
-             // no scan in progress
-             return NullUniValue;
-         }
--        result.pushKV("progress", g_scan_progress);
-+        result.pushKV("progress", (int)g_scan_progress);
-         return result;
-     } else if (request.params[0].get_str() == "abort") {
-         CoinsViewScanReserver reserver;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/bitcoin.git/commitdiff/b649d3ae98308e91ad2366b75b604ff817aa2cb7



More information about the pld-cvs-commit mailing list