commit:     10e0e9358b88632b1cd64ecda26606d8f0565747
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 09:48:30 2019 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 09:48:30 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10e0e935

dev-cpp/commoncpp2: Fix building against GCC 9

Closes: https://bugs.gentoo.org/686012
Package-Manager: Portage-2.3.67, Repoman-2.3.15
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild |  1 +
 dev-cpp/commoncpp2/files/1.8.1-fix-gcc9.patch | 28 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild 
b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
index 0db41ca0b79..d8c63727a4e 100644
--- a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
+++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
@@ -39,6 +39,7 @@ PATCHES=(
        "${FILESDIR}/1.8.1-fix-c++14.patch"
        "${FILESDIR}/1.8.1-gnutls-3.4.patch"
        "${FILESDIR}/1.8.1-libressl.patch" # bug 674416
+       "${FILESDIR}/1.8.1-fix-gcc9.patch" # bug 686012
 )
 
 src_prepare() {

diff --git a/dev-cpp/commoncpp2/files/1.8.1-fix-gcc9.patch 
b/dev-cpp/commoncpp2/files/1.8.1-fix-gcc9.patch
new file mode 100644
index 00000000000..795e44178c6
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-fix-gcc9.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/686012
+In file included from ../inc/cc++/thread.h:50,
+                 from thread.cpp:41:
+../inc/cc++/string.h:734:35: error: friend declaration of ‘std::istream& 
getline(std::istream&, ost::String&, char, size_t)’ specifies default arguments 
and isn’t a definition [-fpermissive]
+  734 |     friend __EXPORT std::istream &getline(std::istream &is, String 
&str, char delim = '\n', size_t size = 0);
+      |                                   ^~~~~~~
+
+--- a/inc/cc++/string.h
++++ b/inc/cc++/string.h
+@@ -58,6 +58,9 @@
+ 
+ class MemPager;
+ 
++class String;
++__EXPORT std::istream &getline(std::istream &is, String &str, char delim = 
'\n', size_t size = 0);
++
+ /**
+  * This is a generic and portable string class.  It uses optimized
+  * memory allocation strategies to efficiently handle smaller string
+@@ -731,7 +734,7 @@
+      * @param delim deliminator to use.
+      * @param size optional size limitor.
+      */
+-    friend __EXPORT std::istream &getline(std::istream &is, String &str, char 
delim = '\n', size_t size = 0);
++    friend std::istream &getline(std::istream &is, String &str, char delim, 
size_t size);
+ 
+     /**
+      * Stream the content of our string variable directly to a C++

Reply via email to