summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbert Mikaelyan2019-10-17 14:55:08 +0300
committerAlbert Mikaelyan2019-10-17 14:55:08 +0300
commit9986735ad27206a3a8cd02885d3fdf642f15ff6b (patch)
treef996e72667c946e335129f777019611917ab4d05
parent63f4af21c03d0fd2aabaa599979ae670b7b2c0cb (diff)
downloadaur-9986735ad27206a3a8cd02885d3fdf642f15ff6b.tar.gz
add boost 1.7 patch
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD13
-rw-r--r--boost-1.7.patch114
3 files changed, 126 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2d52a8c27d21..6ae2b87ac8b6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -14,7 +14,9 @@ pkgbase = gridcoinresearch
makedepends = qrencode
makedepends = db
source = gridcoinresearch-4.0.5.0.tar.gz::https://github.com/gridcoin/Gridcoin-Research/archive/4.0.5.0.tar.gz
+ source = boost-1.7.patch
sha256sums = e318e8f4fba09255e2d6f86314aded7c4cf344324262171ccc40b12381a935bb
+ sha256sums = 70cedaf7de1f86d5fa27fc9c150ca6291de206141742753a793f30cb98fdf1fe
pkgname = gridcoinresearch-qt
pkgdesc = A cryptocurrency that rewards users for participating on the BOINC network (Qt GUI)
diff --git a/PKGBUILD b/PKGBUILD
index e08e896b07f1..f4afb39db6ee 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgbase=gridcoinresearch
pkgname=(gridcoinresearch-qt gridcoinresearchd)
pkgver=4.0.5.0
-pkgrel=1
+pkgrel=2
pkgdesc="A cryptocurrency that rewards users for participating on the BOINC network"
makedepends=('boost' 'qt5-charts' 'qt5-tools' 'qrencode' 'db')
@@ -14,9 +14,16 @@ license=('custom:gridcoin')
_sourcename="Gridcoin-Research-$pkgver"
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/gridcoin/Gridcoin-Research/archive/$pkgver.tar.gz")
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/gridcoin/Gridcoin-Research/archive/$pkgver.tar.gz"
+ "boost-1.7.patch")
-sha256sums=('e318e8f4fba09255e2d6f86314aded7c4cf344324262171ccc40b12381a935bb')
+sha256sums=('e318e8f4fba09255e2d6f86314aded7c4cf344324262171ccc40b12381a935bb'
+ '70cedaf7de1f86d5fa27fc9c150ca6291de206141742753a793f30cb98fdf1fe')
+
+prepare() {
+ cd "$srcdir/$_sourcename"
+ patch --strip=1 --input=../boost-1.7.patch
+}
build() {
cd "$srcdir/$_sourcename"
diff --git a/boost-1.7.patch b/boost-1.7.patch
new file mode 100644
index 000000000000..813c44c43205
--- /dev/null
+++ b/boost-1.7.patch
@@ -0,0 +1,114 @@
+From 6f8098712b39ff4f7fd004759730a5a4756bd9c0 Mon Sep 17 00:00:00 2001
+From: Paul Jensen <eastendmumbles@gmail.com>
+Date: Mon, 23 Sep 2019 00:35:18 -0700
+Subject: [PATCH] Support boost 1.70 and below options as well
+
+---
+ src/rpcclient.cpp | 4 ++--
+ src/rpcprotocol.h | 18 +++++++++++++++---
+ src/rpcserver.cpp | 8 ++++----
+ 3 files changed, 21 insertions(+), 9 deletions(-)
+
+diff --git a/src/rpcclient.cpp b/src/rpcclient.cpp
+index 00559b6df..aea63ee3d 100644
+--- a/src/rpcclient.cpp
++++ b/src/rpcclient.cpp
+@@ -45,10 +45,10 @@ UniValue CallRPC(const string& strMethod, const UniValue& params)
+
+ // Connect to localhost
+ bool fUseSSL = GetBoolArg("-rpcssl");
+- asio::io_service io_service;
++ ioContext io_context;
+ ssl::context context(ssl::context::sslv23);
+ context.set_options(ssl::context::no_sslv2);
+- asio::ssl::stream<asio::ip::tcp::socket> sslStream(io_service, context);
++ asio::ssl::stream<asio::ip::tcp::socket> sslStream(io_context, context);
+ SSLIOStreamDevice<asio::ip::tcp> d(sslStream, fUseSSL);
+ iostreams::stream< SSLIOStreamDevice<asio::ip::tcp> > stream(d);
+ if (!d.connect(GetArg("-rpcconnect", "127.0.0.1"), GetArg("-rpcport", ToString(GetDefaultRPCPort()))))
+diff --git a/src/rpcprotocol.h b/src/rpcprotocol.h
+index df097ff91..bd88f6272 100644
+--- a/src/rpcprotocol.h
++++ b/src/rpcprotocol.h
+@@ -18,6 +18,18 @@
+
+ using namespace std;
+
++// Boost Support for 1.70+
++#if BOOST_VERSION >= 107000
++ #define GetIOService(s) ((boost::asio::io_context&)(s).get_executor().context())
++ #define GetIOServiceFromPtr(s) ((boost::asio::io_context&)(s->get_executor().context())) // this one
++ typedef boost::asio::io_context ioContext;
++
++#else
++ #define GetIOService(s) ((s).get_io_service())
++ #define GetIOServiceFromPtr(s) ((s)->get_io_service())
++ typedef boost::asio::io_service ioContext;
++#endif
++
+ // HTTP status codes
+ enum HTTPStatusCode
+ {
+@@ -97,7 +109,7 @@ class SSLIOStreamDevice : public boost::iostreams::device<boost::iostreams::bidi
+ }
+ bool connect(const std::string& server, const std::string& port)
+ {
+- boost::asio::ip::tcp::resolver resolver(stream.get_io_service());
++ boost::asio::ip::tcp::resolver resolver(GetIOService(stream));
+ boost::asio::ip::tcp::resolver::query query(server.c_str(), port.c_str());
+ boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
+ boost::asio::ip::tcp::resolver::iterator end;
+@@ -133,10 +145,10 @@ class AcceptedConnectionImpl : public AcceptedConnection
+ {
+ public:
+ AcceptedConnectionImpl(
+- boost::asio::io_service& io_service,
++ ioContext& io_context,
+ boost::asio::ssl::context &context,
+ bool fUseSSL) :
+- sslStream(io_service, context),
++ sslStream(io_context, context),
+ _d(sslStream, fUseSSL),
+ _stream(_d)
+ {
+diff --git a/src/rpcserver.cpp b/src/rpcserver.cpp
+index e916e62d4..7e1469512 100644
+--- a/src/rpcserver.cpp
++++ b/src/rpcserver.cpp
+@@ -36,7 +36,7 @@ void ThreadRPCServer2(void* parg);
+ static std::string strRPCUserColonPass;
+
+ // These are created by StartRPCThreads, destroyed in StopRPCThreads
+-static asio::io_service* rpc_io_service = NULL;
++static ioContext* rpc_io_service = NULL;
+ static ssl::context* rpc_ssl_context = NULL;
+ static boost::thread_group* rpc_worker_group = NULL;
+
+@@ -509,7 +509,7 @@ static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol> > accep
+ const bool fUseSSL)
+ {
+ // Accept connection
+- AcceptedConnectionImpl<Protocol>* conn = new AcceptedConnectionImpl<Protocol>(acceptor->get_io_service(), context, fUseSSL);
++ AcceptedConnectionImpl<Protocol>* conn = new AcceptedConnectionImpl<Protocol>(GetIOServiceFromPtr(acceptor), context, fUseSSL);
+
+ acceptor->async_accept(
+ conn->sslStream.lowest_layer(),
+@@ -592,7 +592,7 @@ void StartRPCThreads()
+ const bool fUseSSL = GetBoolArg("-rpcssl");
+
+ assert(rpc_io_service == NULL);
+- rpc_io_service = new asio::io_service();
++ rpc_io_service = new ioContext();
+ rpc_ssl_context = new ssl::context(ssl::context::sslv23);
+
+ if (fUseSSL)
+@@ -675,7 +675,7 @@ void StartRPCThreads()
+
+ rpc_worker_group = new boost::thread_group();
+ for (int i = 0; i < GetArg("-rpcthreads", 4); i++)
+- rpc_worker_group->create_thread(boost::bind(&asio::io_service::run, rpc_io_service));
++ rpc_worker_group->create_thread(boost::bind(&ioContext::run, rpc_io_service));
+ }
+
+ void StopRPCThreads()
+