From dee604d281a9f241b8a325b0dbf8e2c87fdecf2d Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Sat, 25 Jan 2020 22:59:04 +0000 Subject: net-p2p/dogecoin: fix build on gcc-9.2.0 See: https://github.com/dogecoin/dogecoin/pull/1626 Package-Manager: Portage-2.3.84, Repoman-2.3.20 --- net-p2p/dogecoin/dogecoin-1.14.2.ebuild | 2 + .../files/1.14.2-httpserver-include-deque.patch | 57 ++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 net-p2p/dogecoin/files/1.14.2-httpserver-include-deque.patch (limited to 'net-p2p/dogecoin') diff --git a/net-p2p/dogecoin/dogecoin-1.14.2.ebuild b/net-p2p/dogecoin/dogecoin-1.14.2.ebuild index 88d8b2f4..a328f307 100644 --- a/net-p2p/dogecoin/dogecoin-1.14.2.ebuild +++ b/net-p2p/dogecoin/dogecoin-1.14.2.ebuild @@ -36,6 +36,8 @@ RDEPEND=" DEPEND="${RDEPEND} qt5? ( dev-qt/linguist-tools:5 )" +PATCHES=( "${FILESDIR}/${PV}-httpserver-include-deque.patch" ) + src_prepare () { default diff --git a/net-p2p/dogecoin/files/1.14.2-httpserver-include-deque.patch b/net-p2p/dogecoin/files/1.14.2-httpserver-include-deque.patch new file mode 100644 index 00000000..2bcc7d24 --- /dev/null +++ b/net-p2p/dogecoin/files/1.14.2-httpserver-include-deque.patch @@ -0,0 +1,57 @@ +From d53a3bebee798e54a83fa49e8abd7e0e3f719e03 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +Date: Fri, 24 Jan 2020 20:16:27 +0000 +Subject: [PATCH] httpserver: include deque +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It seems gcc 9.2.0 requires deque to be included: + + x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../src/config -I. -I./obj -I/usr/include/db5.1/ -pthread -I/usr/include -I./leveldb/include -I./leveldb/helpers/memenv -I./secp256k1/include -pthread -I/usr/include/db5.1 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -march=native -O2 -pipe -fomit-frame-pointer -c -o libdogecoin_server_a-httpserver.o `test -f 'httpserver.cpp' || echo './'`httpserver.cpp + httpserver.cpp:71:10: error: ‘deque’ in namespace ‘std’ does not name a template type + 71 | std::deque> queue; + | ^~~~~ + httpserver.cpp:30:1: note: ‘std::deque’ is defined in header ‘’; did you forget to ‘#include ’? + 29 | #include + +++ |+#include + 30 | + httpserver.cpp: In member function ‘bool WorkQueue::Enqueue(WorkItem*)’: + httpserver.cpp:110:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? + 110 | if (queue.size() >= maxDepth) { + | ^~~~~ + | Enqueue + httpserver.cpp:113:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? + 113 | queue.emplace_back(std::unique_ptr(item)); + | ^~~~~ + | Enqueue + httpserver.cpp: In member function ‘void WorkQueue::Run()’: + httpserver.cpp:125:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? + 125 | while (running && queue.empty()) + | ^~~~~ + | Enqueue + httpserver.cpp:129:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? + 129 | i = std::move(queue.front()); + | ^~~~~ + | Enqueue + httpserver.cpp: In member function ‘size_t WorkQueue::Depth()’: + httpserver.cpp:154:16: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’? + 154 | return queue.size(); + | ^~~~~ + | Enqueue +--- + src/httpserver.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/httpserver.cpp b/src/httpserver.cpp +index dba95273053b..5c08e676df2a 100644 +--- a/src/httpserver.cpp ++++ b/src/httpserver.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + + #include -- cgit v1.2.3