commit 4fcba649ce9de538bf6e447aa5848cb948eb68ada97c324e3718d05ab9e33408 Author: Angelos Tzotsos Date: Tue Feb 3 12:24:59 2015 +0000 Accepting request 283870 from home:pluskalm:branches:Application:Geo Rename package OBS-URL: https://build.opensuse.org/request/show/283870 OBS-URL: https://build.opensuse.org/package/show/Application:Geo/geos?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/geos-3.4.2.tar.bz2 b/geos-3.4.2.tar.bz2 new file mode 100644 index 0000000..c479727 --- /dev/null +++ b/geos-3.4.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15e8bfdf7e29087a957b56ac543ea9a80321481cef4d4f63a7b268953ad26c53 +size 1813726 diff --git a/geos-config.1 b/geos-config.1 new file mode 100644 index 0000000..ea39c11 --- /dev/null +++ b/geos-config.1 @@ -0,0 +1,31 @@ +.TH "geos-config" "1" "October 25, 2004" "geos-config" "User Commands" +.SH "NAME" +geos\-config \- returns information about installed GEOS libraries and binaries +.SH "SYNOPSIS" +.PP +.B geos\-config +[OPTIONS] +.SH "DESCRIPTION" +.PP +The \fIgeos\-config\fP shell script displays configuration information for installed GEOS libraries and binaries. + +.SH "OPTIONS" +.TP +\fB\-\-prefix\fR +print the prefix used by geos +.TP +\fB\-\-version\fR +print the GEOS version +.TP +\fB\-\-libs\fR +print the linker flags that are necessary to link to GEOS +.TP +\fB\-\-cflags\fR +print the compiler flags that are necessary to compile a +plug\-in +.TP +\fB\-\-includes\fR +show location of C++ header files +.TP +\fB\-\-jtsport\fR +show the version of the Java Topology Suite this version of GEOS was ported from diff --git a/geos.changes b/geos.changes new file mode 100644 index 0000000..a1d73d0 --- /dev/null +++ b/geos.changes @@ -0,0 +1,200 @@ +------------------------------------------------------------------- +Sat Jan 31 17:06:22 UTC 2015 - mpluskal@suse.com + +- Rename spec file +- Clean spec file with spec-cleaner +- Disable building of static libraries +- Remove unnecessary rpmlintrc +- Execute unit tests during build +- Build python, ruby and php bindings + +------------------------------------------------------------------- +Thu Oct 3 17:10:13 UTC 2013 - tzotsos@opensuse.org + +- Update to new release 3.4.2 +- Bug fixes / improvements since 3.3.8 + - Use a double for PrecisionModel scale, avoiding overflows + should fix 32-bit regression failures (#652) + - isnan workaround OS detection missing NetBSD, DragonFly, Sun nuance (#650) + - Do not distribute platform.h and version.h, but install both (#601) + - Non-standard ChangeLog file in 3.4.0 and 3.4.1 releases (#654) + - Assertion failure snapping line to points of rectangle + smaller than tolerance (#649) + - Can't build using cmake with tar ball (#644) + - Delaunay Triangulation API (#487, #565, #570, #567) + - Interruptibility API (C and C++) + - CAPI: GEOSNode (#496) - PHP: Geometry->node + - GeometryPrecisionReducer class (#496, #526) + - BufferInputLineSimplifier header exposed (#548) + - New Centroid class supporting mixed geometry components (#612) + - io::Writer::reserve() method + - CAPI: GEOSNearestPoints + - Add --cclibs, --static-clibs and --static-cclibs to geos-config (#497) + - Early bail out of overlay exception if input is invalidation + - New noding::GeometryNoder class + - Added BufferOp::setSingleSided + - Signature of most functions taking a Label changed to take it + by reference rather than pointer. + - Signature of most functions taking an IntersectionMatrix changed + to take it by reference rather than pointer. + - GraphComponent::label is now a Label value (from a pointer) + - NodedSegmentString takes ownership of CoordinateSenuence now + - io::Writer's toString() returns by const ref, write() takes a const ref + - Unify prototypes of WKTReader and WKBReader constructor (#310) + - GeometryCollection::computeEnvelopInternal and + GeometryCollection::compareToSameClass are marked virtual (#478) + - A point interpolated from a line does not always intersect + the same line (#323) + - Port ConvexHull robustness fix from JTS-1.13 (#457) + - Improve Overlay robustness by reducing input precision on topology + exception and by refusing to accept unnoded output (#459) + - Improve Buffer robustness by reducing input precision on topology + exception (#605) + - Mismatch segment sides in OffsetCurveBuilder (#633 ) + - Fixed Linear Referencing API to handle MultiLineStrings consistently + by always using the lowest possible index value, and by trimming + zero-length components from results (#323) + - Fixed CMake configuration to set correct SOVERSION (current - age) + - Fix EMPTY return from single-point lines and zero-length polygons (#612) + - CMakeLists.txt, tools/geos_svn_revision_cmake.h.in: Add + geos_svn_revision.h generator to CMake config (#643) + - Makefile.vc 'clean' step leaks obj files (#607) + - IsValidOp: throw proper error on nested shells (#608) + - Fix header guards (#617, #618, #619) + - WKTWriter::appendCoordinate optimisation + - Fix centroid computation for collections with empty components (#582) + +------------------------------------------------------------------- +Thu Feb 28 19:02:31 UTC 2013 - tzotsos@opensuse.org + +All changes since 3.3.7: + - IsValidOp: throw proper error on nested shells (#608) + - Fix header guards (#617, #618, #619) + - WKTWriter::appendCoordinate optimisation + - Fix centroid computation for collections with empty components (#582) + +------------------------------------------------------------------- +Tue Jan 22 22:20:40 UTC 2013 - tzotsos@opensuse.org + +- Bug fixes / improvements + - Fix abort in RightmostEdgeFinder (#605) + - Do not force precision reduction below 6 significant digits + while trying to obtain a valid Buffer output (#605) + - Fix GEOSPointOnSurface with zero-length linestring (#609) + - Fix EMPTY return from zero-area polygon (#613) + - Segfault from symdifference (#615) + +------------------------------------------------------------------- +Mon Nov 26 23:36:40 UTC 2012 - tzotsos@opensuse.org + +- Update to new release 3.3.6 +- Bug fixes / improvements + - Add support for testing with phpunit 3.6 (not loosing support for 3.4) + - Segfault from intersection (#586, #598, #599) + +------------------------------------------------------------------- +Mon Jun 25 14:44:10 UTC 2012 - dassau@gbd-consult.de + +- Update to new release 3.3.5 +- Bug fixes / improvements + - Correctly increment CAPI lib version from 3.3.3 (#558) + - Port robustness fix to CentroidArea (#559) + - Always return POINT from GEOSGetCentroid, even for EMPTY (#560) + - Always return POINT from GEOSPointOnSurface, even for EMPTY (#561) + +------------------------------------------------------------------- +Fri Jun 8 14:35:51 UTC 2012 - dassau@gbd-consult.de + +- Update to new release 3.3.4 +- Bug fixes / improvementa + - Do not abort on NaN overlay input (#530) + - Reduce CommonBitsRemover harmful effects during overlay op (#527) + - Better cross-compiler support (#534) + - Enable overlay ops short-circuits (#542) + - Envelope-based short-circuit for symDifference (#543) + - Fix support for PHP 5.4 (#513) + - Fix TopologyPreservingSimplifier invalid output on closed line (#508) + - Reduce calls to ptNotInList, greatly speeding up Polygonizer (#545) + +------------------------------------------------------------------- +Fri Jan 6 09:12:00 UTC 2012 - otto.dassau@gmx.de + +- Update to version 3.3.2 +- Bug fixes / improvements + - Fix CMAKE_CXX_FLAGS overriding -std=gnu++0x (#489) + - Missing versions update in CMake configuration (#490) + - Fix noding of self-intersecting lines through UnaryUnion (#482) + - Fix handling of collapsed edges skipping in BufferOp (#494) + - Print up to 18 digits of precision for TopologyException points + - Fix noding with reduced precision in Buffer operation (#473) + - Fix HotPixel original point invalidation (#498) + - Fix CascadedPolygonUnion to discard non-polygonal components (#499) + - Improve buffer robustness by reverting to non-snaprounding noder (#495) + - Fix C++11 build by avoiding std::pair (#491) + - Add --clibs to geos-config and GEOS_C_LIBS to geos.m4 (#497) + - Apply shoelace formula for area calculation (#485) + - Fix default initialization issue for clang (#500) + - Improve overlay robustness by fixing areal validity on snapping (#488) + +------------------------------------------------------------------- +Thu Jan 5 10:53:17 UTC 2012 - otto.dassau@gmx.de + +- Update to version 3.3.1 + +------------------------------------------------------------------- +Wed Aug 17 06:50:28 UTC 2011 - dassau@gbd-consult.de + +- added changes file +- version update to 3.3.0 + +------------------------------------------------------------------- +Tue Nov 9 00:00:00 UTC 2010 - Otto Dassau 3.2.2 + +- version update + +------------------------------------------------------------------- +Thu Feb 11 00:00:00 UTC 2010 - Otto Dassau 3.2.0 + +- version update + +------------------------------------------------------------------- +Thu Jul 30 00:00:00 UTC 2009 - Otto Dassau 3.1.1 + +- version update + +------------------------------------------------------------------- +Mon May 18 00:00:00 UTC 2009 - Otto Dassau 3.1.0 + +- version update + +------------------------------------------------------------------- +Sat Oct 18 00:00:00 UTC 2008 - Otto Dassau 3.0.2 + +- updated geos to version 3.0.2 +- extended patch to fix CLocalizer.cpp gcc problem + +------------------------------------------------------------------- +Thu Dec 20 00:00:00 UTC 2007 - Otto Dassau 3.0.0 + +- updated geos to version 3.0.0 + +------------------------------------------------------------------- +Tue Aug 14 00:00:00 UTC 2007 - Dirk Stöcker 2.2.3 + +- adapted to openSUSE BuildService + +------------------------------------------------------------------- +Tue Dec 19 00:00:00 UTC 2006 - Otto Dassau 2.2.3 + +- adapted to SuSE 10.2 + +------------------------------------------------------------------- +Wed Jan 25 00:00:00 UTC 2006 - Otto Dassau 2.2.1-1 + +- adapted to SuSE 10.0 + +------------------------------------------------------------------- +Fri Dec 30 00:00:00 UTC 2005 - Shawn McCann 2.2.1-1 + +- Initial release for fedora fc4 + diff --git a/geos.ini b/geos.ini new file mode 100644 index 0000000..f8fa338 --- /dev/null +++ b/geos.ini @@ -0,0 +1 @@ +extension=geos.so diff --git a/geos.spec b/geos.spec new file mode 100644 index 0000000..2a2dd84 --- /dev/null +++ b/geos.spec @@ -0,0 +1,231 @@ +# +# spec file for package geos +# +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: geos +Version: 3.4.2 +Release: 0 +Summary: Geometry Engine - Open Source +License: LGPL-2.1+ +Group: Development/Libraries/C and C++ +Url: http://trac.osgeo.org/geos/ +Source0: http://download.osgeo.org/%{name}/%{name}-%{version}.tar.bz2 +Source1: %{name}-config.1 +Source2: %{name}.ini +Patch0: libruby.patch +BuildRequires: chrpath +BuildRequires: doxygen +BuildRequires: gcc-c++ +BuildRequires: python-devel +BuildRequires: swig +Provides: libgeos = %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?suse_version} > 1210 +BuildRequires: php-devel +BuildRequires: php5-pear-phpunit +BuildRequires: ruby +BuildRequires: ruby-devel +%endif + +%description +GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology +Suite (JTS). As such, it aims to contain the complete functionality of JTS +in C++. This includes all the OpenGIS "Simple Features for SQL" spatial +predicate functions and spatial operators, as well as specific JTS topology +functions such as IsValid(). + +%package -n python-%{name} +Summary: Python bindings for Geometry Engine +Group: Development/Libraries/Python +Requires: %{name} = %{version} +%if 0%{?suse_version} > 1210 +%py_requires +%endif + +%description -n python-%{name} +GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology +Suite (JTS). As such, it aims to contain the complete functionality of +JTS in C++. This includes all the OpenGIS "Simple Features for SQL" spatial +predicate functions and spatial operators, as well as specific JTS topology +functions such as IsValid() + +This package contains php bindings for Geometry Engine. + +%if 0%{?suse_version} > 1210 +%package -n php5-%{name} +Summary: PHP bindings for Geometry Engine +Group: Development/Libraries/Other +Requires: %{name} = %{version} +Requires: php5 => %{phpversion} + +%description -n php5-%{name} +GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology +Suite (JTS). As such, it aims to contain the complete functionality of +JTS in C++. This includes all the OpenGIS "Simple Features for SQL" spatial +predicate functions and spatial operators, as well as specific JTS topology +functions such as IsValid() + +This package contains php bindings for Geometry Engine. +%endif + +%if 0%{?suse_version} > 1210 +%package -n ruby-%{name} +Summary: Ruby bindings for Geometry Engine +Group: Development/Libraries/Other +Requires: %{name} = %{version} +Requires: ruby(abi) >= %{rb_ver} + +%description -n ruby-%{name} +GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology +Suite (JTS). As such, it aims to contain the complete functionality of +JTS in C++. This includes all the OpenGIS "Simple Features for SQL" spatial +predicate functions and spatial operators, as well as specific JTS topology +functions such as IsValid() + +This package contains ruby bindings for Geometry Engine. +%endif + +%package devel +Summary: Development files for GEOS +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Provides: lib%{name}-devel = %{version} + +%description devel +GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology +Suite (JTS). As such, it aims to contain the complete functionality of +JTS in C++. This includes all the OpenGIS "Simple Features for SQL" spatial +predicate functions and spatial operators, as well as specific JTS topology +functions such as IsValid() + +This package contains the development files to build applications that +use GEOS. + +%package doc +Summary: Development documentation for GEOS +Group: Development/Libraries/C and C++ +%if 0%{?suse_version} > 1210 +BuildArch: noarch +%endif + +%description doc +GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology +Suite (JTS). As such, it aims to contain the complete functionality of +JTS in C++. This includes all the OpenGIS "Simple Features for SQL" spatial +predicate functions and spatial operators, as well as specific JTS topology +functions such as IsValid() + +This package contains the development documentation for GEOS. + +%prep +%setup -q +%patch0 -p1 + +%build +# disable internal libtool to avoid hardcoded r-path +%if 0%{?suse_version} > 1210 +for makefile in `find . -type f -name 'Makefile.in'`; do +sed -i 's|@LIBTOOL@|%{_bindir}/libtool|g' $makefile +done +%endif + +%configure --disable-static \ + %if 0%{?suse_version} > 1210 + --enable-ruby \ + --enable-php \ + %endif + --enable-python + +make %{?_smp_mflags} + +# Make doxygen documentation files +cd doc +make %{?_smp_mflags} doxygen-html + +%if 0%{?suse_version} > 1210 +%check +make %{?_smp_mflags} check +%endif + +%install +make DESTDIR=%{buildroot} install %{?_smp_mflags} + +install -d -m 0755 %{buildroot}%{_mandir}/man1 +install -D -m 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/ + +%if 0%{?suse_version} > 1210 +install -d -m 0755 %{buildroot}%{_sysconfdir}/php.d +install -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/php.d/ +%endif + +rm -rf %{buildroot}/%{_libdir}/*.a +rm -rf %{buildroot}/%{python_sitearch}/%{name}/*.a +rm -rf %{buildroot}/%{rb_vendorarchdir}/*.a + +%if 0%{?suse_version} > 1210 +chrpath --delete %{buildroot}%{_libdir}/php5/extensions/%{name}.so +%endif + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%doc AUTHORS COPYING NEWS README TODO +%{_libdir}/lib%{name}-%{version}.so* +%{_libdir}/lib%{name}_c.so.* + +%files -n python-%{name} +%defattr(-,root,root) +%doc AUTHORS COPYING NEWS README TODO +%{python_sitelib}/* +%{python_sitearch}/* + +%if 0%{?suse_version} > 1210 +%files -n php5-%{name} +%defattr(-,root,root) +%doc AUTHORS COPYING NEWS README TODO +%dir %{_sysconfdir}/php.d +%config %{_sysconfdir}/php.d/%{name}.ini +%{_libdir}/php5/extensions/%{name}.so +%endif + +%if 0%{?suse_version} > 1210 +%files -n ruby-%{name} +%defattr(-,root,root) +%doc AUTHORS COPYING NEWS README TODO +%{rb_vendorarchdir}/%{name}.so +%{rb_vendorarchdir}/%{name}.la +%endif + +%files -n %{name}-devel +%defattr(-,root,root) +%doc AUTHORS COPYING NEWS README TODO +%doc %{_mandir}/man1/%{name}-config.1.gz +%{_bindir}/%{name}-config +%{_includedir}/* +%{_libdir}/*.la +%{_libdir}/lib%{name}.so +%{_libdir}/lib%{name}_c.so + +%files -n %{name}-doc +%defattr(-,root,root) +%doc AUTHORS COPYING NEWS README TODO +%doc doc/doxygen_docs + +%changelog diff --git a/libruby.patch b/libruby.patch new file mode 100644 index 0000000..505a5c4 --- /dev/null +++ b/libruby.patch @@ -0,0 +1,48 @@ +Description: Fix libtool in order to avoid a FTBFS. + RUBY_EXTENSION_DIR fix by Christian Hofstaedtler . +Author: Francesco Paolo Lovergine +Bug-Debian: https://bugs.debian.org/735652 +--- a/swig/ruby/Makefile.am ++++ b/swig/ruby/Makefile.am +@@ -22,7 +22,7 @@ INCLUDES = -I$(RUBY_INCLUDE_DIR) -I$(RUB + # Build Ruby module as shared library + rubyextensiondir_LTLIBRARIES = geos.la + geos_la_SOURCES = geos_wrap.cxx +-geos_la_LIBADD = $(top_builddir)/capi/libgeos_c.la -l$(RUBY_SO_NAME) ++geos_la_LIBADD = $(top_builddir)/capi/libgeos_c.la /usr/lib/$(RUBY_SO_NAME) + + # Only need to grab the capi header files + geos_la_CPPFLAGS = -I$(top_builddir)/capi +--- a/swig/ruby/Makefile.in ++++ b/swig/ruby/Makefile.in +@@ -334,7 +334,7 @@ MAINTAINERCLEANFILES = geos_wrap.cxx + # Build Ruby module as shared library + @ENABLE_RUBY_TRUE@rubyextensiondir_LTLIBRARIES = geos.la + @ENABLE_RUBY_TRUE@geos_la_SOURCES = geos_wrap.cxx +-@ENABLE_RUBY_TRUE@geos_la_LIBADD = $(top_builddir)/capi/libgeos_c.la -l$(RUBY_SO_NAME) ++@ENABLE_RUBY_TRUE@geos_la_LIBADD = $(top_builddir)/capi/libgeos_c.la /usr/lib/$(RUBY_SO_NAME) + + # Only need to grab the capi header files + @ENABLE_RUBY_TRUE@geos_la_CPPFLAGS = -I$(top_builddir)/capi +--- a/configure ++++ b/configure +@@ -17097,7 +17097,7 @@ fi + + RUBY_LIB_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["libdir"] || Config::CONFIG["libdir"]'` + +- RUBY_EXTENSION_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["sitearchdir"] || Config::CONFIG["sitearchdir"]'` ++ RUBY_EXTENSION_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["vendorarchdir"] || Config::CONFIG["vendorarchdir"]'` + + RUBY_SO_NAME=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG["LIBRUBY_SO"] || Config::CONFIG["RUBY_SO_NAME"]'` + +--- a/macros/ruby.m4 ++++ b/macros/ruby.m4 +@@ -35,7 +35,7 @@ AC_DEFUN([AC_RUBY_DEVEL], + RUBY_LIB_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["libdir"]] || Config::CONFIG[["libdir"]]'` + + dnl Get Ruby extensions directory +- RUBY_EXTENSION_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["sitearchdir"]] || Config::CONFIG[["sitearchdir"]]'` ++ RUBY_EXTENSION_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["vendorarchdir"]] || Config::CONFIG[["vendorarchdir"]]'` + + dnl Get Ruby shared library name, this does not include the lib prefix or extension name + RUBY_SO_NAME=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBY_SO"]] || Config::CONFIG[["RUBY_SO_NAME"]]'`