~alpine/aports

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[alpine-aports] [PATCH] testing/geos: new aport

Details
Message ID
<1461085134-8031-1-git-send-email-git@randomhacks.net>
Sender timestamp
1461085134
DKIM signature
missing
Download raw message
Patch: +175 -0
http://trac.osgeo.org/geos/
GEOS is a library providing OpenGIS and JTS spatial operations in C++.
---
 testing/geos/10-isnan.patch | 108 ++++++++++++++++++++++++++++++++++++++++++++
 testing/geos/APKBUILD       |  67 +++++++++++++++++++++++++++
 2 files changed, 175 insertions(+)
 create mode 100644 testing/geos/10-isnan.patch
 create mode 100644 testing/geos/APKBUILD

diff --git a/testing/geos/10-isnan.patch b/testing/geos/10-isnan.patch
new file mode 100644
index 0000000..f3415af
--- /dev/null
+++ b/testing/geos/10-isnan.patch
@@ -0,0 +1,108 @@
diff -urp geos-3.5.0-old/configure geos-3.5.0/configure
--- geos-3.5.0-old/configure	2015-08-16 18:22:07.000000000 -0400
+++ geos-3.5.0/configure	2016-04-18 09:03:56.912678918 -0400
@@ -17822,6 +17822,39 @@ if test x"$ac_cv_isnan" = x"yes"; then
 
 $as_echo "#define HAVE_ISNAN 1" >>confdefs.h
 
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for std::isnan" >&5
+$as_echo_n "checking for std::isnan... " >&6; }
+if ${ac_cv_std_isnan+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <cmath>
+int
+main ()
+{
+double x; int y; y = std::isnan(x);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_std_isnan=yes
+else
+  ac_cv_std_isnan=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_std_isnan" >&5
+$as_echo "$ac_cv_std_isnan" >&6; }
+  if test x"$ac_cv_std_isnan" = x"yes"; then
+
+$as_echo "#define HAVE_STD_ISNAN 1" >>confdefs.h
+
+  fi
 fi
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
diff -urp geos-3.5.0-old/configure.ac geos-3.5.0/configure.ac
--- geos-3.5.0-old/configure.ac	2015-08-14 14:31:26.000000000 -0400
+++ geos-3.5.0/configure.ac	2016-04-18 09:03:37.064679323 -0400
@@ -192,7 +192,7 @@ fi
 dnl --------------------------------------------------------------------
 dnl Test for presence of isnan function when using C++ and <cmath>
 dnl This is for a particular bug in OS/X where <cmath> drops the definition
-dnl of isnan().
+dnl of isnan().  A number of other systems appear to do the same thing.
 
 AC_LANG_PUSH([C++])
 AC_CACHE_CHECK([for isnan], ac_cv_isnan,
@@ -203,6 +203,16 @@ AC_CACHE_CHECK([for isnan], ac_cv_isnan,
 )])
 if test x"$ac_cv_isnan" = x"yes"; then
   AC_DEFINE(HAVE_ISNAN, [1], [Has isnan])
+else
+  AC_CACHE_CHECK([for std::isnan], ac_cv_std_isnan,
+   [AC_TRY_LINK([#include <cmath>],
+   [double x; int y; y = std::isnan(x);],
+   ac_cv_std_isnan=yes,
+   ac_cv_std_isnan=no
+  )])
+  if test x"$ac_cv_std_isnan" = x"yes"; then
+     AC_DEFINE(HAVE_STD_ISNAN, [1], [Has std::isnan])
+  fi
 fi
 AC_LANG_POP([C++])
 
diff -urp geos-3.5.0-old/include/geos/platform.h.in geos-3.5.0/include/geos/platform.h.in
--- geos-3.5.0-old/include/geos/platform.h.in	2015-08-14 14:23:18.000000000 -0400
+++ geos-3.5.0/include/geos/platform.h.in	2016-04-18 08:52:50.480692517 -0400
@@ -22,6 +22,9 @@
 /* Has isnan */
 #undef HAVE_ISNAN
 
+/* Has std::isnan */
+#undef HAVE_STD_ISNAN
+
 #ifdef HAVE_IEEEFP_H
 extern "C"
 {
@@ -87,18 +90,16 @@ extern "C"
 
 #if defined(HAVE_ISNAN)
 # define ISNAN(x) (isnan(x))
+#elif defined(HAVE_STD_ISNAN)
+  // Hack for OS/X <cmath> incorrectly re-defining isnan() into oblivion.
+  // It does leave a version in std.
+# define ISNAN(x) (std::isnan(x))
 #else
 # if defined(_MSC_VER)
 #  define ISNAN(x) _isnan(x)
 # elif defined(__MINGW32__) || defined(__CYGWIN__)
 // sandro furieri: sanitizing MinGW32
 #  define ISNAN(x) (std::isnan(x))
-# elif defined(__OSX__) || defined(__APPLE__) || \
-       defined(__NetBSD__) || defined(__DragonFly__) || defined (__OpenBSD__) || \
-       (defined(__sun) && defined(__GNUC__))
-   // Hack for OS/X <cmath> incorrectly re-defining isnan() into oblivion.
-   // It does leave a version in std.
-#  define ISNAN(x) (std::isnan(x))
 # elif (defined(__sun) || defined(__sun__)) && defined(__SUNPRO_CC)
 #  include <math.h>
 #  define ISNAN(x) (::isnan(x))
diff --git a/testing/geos/APKBUILD b/testing/geos/APKBUILD
new file mode 100644
index 0000000..238f715
--- /dev/null
+++ b/testing/geos/APKBUILD
@@ -0,0 +1,67 @@
# Contributor: Eric Kidd <git@randomhacks.net>
# Maintainer:
pkgname=geos
pkgver=3.5.0
pkgrel=0
pkgdesc="GEOS is a library providing OpenGIS and JTS spatial operations in C++."
url="http://trac.osgeo.org/geos/"
arch="all"
license="LGPL2.1"
depends=""
depends_dev=""
makedepends="swig python-dev $depends_dev"
install=""
subpackages="py-$pkgname:py $pkgname-dev"
source="http://download.osgeo.org/geos/geos-$pkgver.tar.bz2 10-isnan.patch"

builddir="$srcdir/$pkgname-$pkgver"
prepare() {
	cd "$builddir"
	for i in "$srcdir"/*.patch; do
		msg "Applying ${i}"
		patch -p1 -i $i || return 1
	done
}

build() {
	cd "$builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--enable-python \
		|| return 1

	# --enable-ruby produces a gem which crashes, and which seems to
	# mostly ignored in favor of the rgeo and ffi-geos modules, anyway.

	make || return 1

	# This is a complex library that does lots of complicated numeric
	# stuff, and the unit tests are fast, so let's run them just to be
	# safe.
	make check || return 1
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" install || return 1
	install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}

py() {
	cd "$builddir"
	pkgdesc="$pkgname Python bindings"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
}

md5sums="136842690be7f504fba46b3c539438dd  geos-3.5.0.tar.bz2
05cb0ecb132c4d20b5444a7ec926d68c  10-isnan.patch"
sha256sums="49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02  geos-3.5.0.tar.bz2
1bce38b84d5ba67bc0f4725cc13d69b89654b3cd37e4189090691e8abe008040  10-isnan.patch"
sha512sums="cd9c008c19213eb90959f950b03958e6abd9c22d83e6eb5f5a9020263ad8b0045dd5c5af60417c548fc130a57756ae1ef706710086cc277498b9ba6a0a6256b7  geos-3.5.0.tar.bz2
3bb8a11e56f9f03138e46b96c31c57f7f080a7115d5d64a3d84c1dbd077ab61e32e7c8b441d5d167ba0f9b87ac6b978291b507ab0ef7d9f27f3fb282766a3db6  10-isnan.patch"
-- 
2.8.1



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Reply to thread Export thread (mbox)