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++