sci-libs/geos: Allow for compiling with GCC 6
authorDavid Seifert <soap@gentoo.org>
Sat, 17 Sep 2016 13:46:29 +0000 (15:46 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 17 Sep 2016 14:11:35 +0000 (16:11 +0200)
Gentoo-bug: 593934
* Patches taken from Upstream trunk

Package-Manager: portage-2.3.0

sci-libs/geos/files/geos-3.5.0-autoconf-detect-isnan.patch [new file with mode: 0644]
sci-libs/geos/files/geos-3.5.0-std-isnan.patch [new file with mode: 0644]
sci-libs/geos/geos-3.5.0-r2.ebuild

diff --git a/sci-libs/geos/files/geos-3.5.0-autoconf-detect-isnan.patch b/sci-libs/geos/files/geos-3.5.0-autoconf-detect-isnan.patch
new file mode 100644 (file)
index 0000000..79e319d
--- /dev/null
@@ -0,0 +1,25 @@
+From edbeee650287a4a36837e090eafed90a760bad83 Mon Sep 17 00:00:00 2001
+From: Sandro Santilli <strk@keybit.net>
+Date: Mon, 7 Mar 2016 10:21:33 +0000
+Subject: [PATCH] Look for isnan in std:: namespace
+
+Tested with gcc 4.8.4
+
+git-svn-id: http://svn.osgeo.org/geos/trunk@4169 5242fede-7e19-0410-aef8-94bd7d2200fb
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7fdc579..8976a6a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -197,7 +197,7 @@ dnl of isnan().
+ AC_LANG_PUSH([C++])
+ AC_CACHE_CHECK([for isnan], ac_cv_isnan,
+  [AC_TRY_LINK([#include <cmath>],
+- [double x; int y; y = isnan(x);],
++ [double x; int y; y = std::isnan(x);],
+  ac_cv_isnan=yes,
+  ac_cv_isnan=no
+ )])
diff --git a/sci-libs/geos/files/geos-3.5.0-std-isnan.patch b/sci-libs/geos/files/geos-3.5.0-std-isnan.patch
new file mode 100644 (file)
index 0000000..c2b6a99
--- /dev/null
@@ -0,0 +1,26 @@
+From a9bb3ed34e71f5f9d1d1b0bc3044555a0b3b932c Mon Sep 17 00:00:00 2001
+From: Sandro Santilli <strk@keybit.net>
+Date: Thu, 14 Jul 2016 10:38:35 +0000
+Subject: [PATCH] Fully qualify isnan call when HAVE_ISNAN is defined
+
+Fixes build with GCC-5.3.0 and higher.
+Closes #784
+
+git-svn-id: http://svn.osgeo.org/geos/trunk@4224 5242fede-7e19-0410-aef8-94bd7d2200fb
+---
+ include/geos/platform.h.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/geos/platform.h.in b/include/geos/platform.h.in
+index d8d4558..c3bc9c8 100644
+--- a/include/geos/platform.h.in
++++ b/include/geos/platform.h.in
+@@ -86,7 +86,7 @@ extern "C"
+ #endif
+ 
+ #if defined(HAVE_ISNAN)
+-# define ISNAN(x) (isnan(x))
++# define ISNAN(x) (std::isnan(x))
+ #else
+ # if defined(_MSC_VER)
+ #  define ISNAN(x) _isnan(x)
index e7d6e01600f14a33bccb42c5cc6ab5e7e936bb5b..79b1c943da1717d4df7b47bdde0ad1cc5740c235 100644 (file)
@@ -37,6 +37,8 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}"/3.4.2-solaris-isnan.patch
+       "${FILESDIR}"/${PN}-3.5.0-std-isnan.patch
+       "${FILESDIR}"/${PN}-3.5.0-autoconf-detect-isnan.patch
        "${FILESDIR}"/${P}-phpconfig-path.patch
 )