geos/geos.spec
Martin Pluskal 9120b4d38d Accepting request 445094 from home:bruno_friedmann:branches:Application:Geo
- Updated to 3.5.1 Bug fixes / improvements
  + Fix CMake configuration to allow build from released sources 
    package (#753)
  + Fix memory leaks in single-sided buffers (#747), PlanarGraph 
    and tests
  + Fix GeometryEditor to correctly update factory of empty 
    geometries (#749)
  + Fix snapping of last segment of a closed linestring (#758)
  + Fix memory exhaustion case in isvalid (#757)
  + Fix Windows build with Visual Studio 2008 (#766)
  + Fix incorrect return from prepared multipoint intersects (#764)
  + Fix build against GCC 3.5.0+ (#784)

OBS-URL: https://build.opensuse.org/request/show/445094
OBS-URL: https://build.opensuse.org/package/show/Application:Geo/geos?expand=0&rev=15
2016-12-09 14:55:54 +00:00

270 lines
8.4 KiB
RPMSpec

#
# spec file for package geos
#
# Copyright (c) 2016 SUSE LINUX 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/
#
%define uver 3_5_1
Name: geos
Version: 3.5.1
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: doxygen
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: python-devel
BuildRequires: swig
Provides: libgeos = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1210
BuildRequires: ruby
BuildRequires: ruby-devel
%endif
# Dependencies for opensuse but not for SLE-12
%if 0%{?suse_version} >= 1210 && 0%{?suse_version} != 1315
BuildRequires: chrpath
BuildRequires: php-devel
BuildRequires: php5-pear-phpunit
%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 libgeos-%{uver}
Summary: Geometry Engine library
Group: System/Libraries
%description -n libgeos-%{uver}
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 libgeos_c1
Summary: C language interface for the GEOS library
Group: System/Libraries
Provides: geos = %{version}-%{release}
Obsoletes: geos < %{version}-%{release}
%description -n libgeos_c1
This subpackage contains a shared library providing a C linkage
interface for the (C++) GEOS library.
%package -n python-%{name}
Summary: Python bindings for Geometry Engine
Group: Development/Languages/Python
%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 python bindings for Geometry Engine.
%if 0%{?suse_version} >= 1210 && 0%{?suse_version} != 1315
%package -n php5-%{name}
Summary: PHP bindings for Geometry Engine
Group: Development/Languages/Other
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/Languages/Ruby
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: libgeos-%{uver} = %{version}
Requires: libgeos_c1 = %{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: Documentation/HTML
%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
# isnan is in math.h, std::isnan is in cmath
sed -i -e 's|= isnan(|= std::isnan(|g' configure
sed -i -e 's|(isnan(|(std::isnan(|g' include/geos/platform.h.in
%configure \
--disable-static \
%if 0%{?suse_version} > 1210
--enable-ruby \
%endif
%if 0%{?suse_version} >= 1210 && 0%{?suse_version} != 1315
--enable-php \
%endif
--enable-python
make %{?_smp_mflags}
# Make doxygen documentation files
cd doc
make %{?_smp_mflags} doxygen-html
# tests fail with older releases and non-intel architectures
# while this was reported to upstream, there has been no reply
%if 0%{?suse_version} > 1210
%ifarch %{ix86} x86_64
%check
make %{?_smp_mflags} check
%endif
%endif
%install
make %{?_smp_mflags} DESTDIR=%{buildroot} install
install -d -m 0755 %{buildroot}%{_mandir}/man1
install -D -m 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/
%if 0%{?suse_version} >= 1210 && 0%{?suse_version} != 1315
install -d -m 0755 %{buildroot}%{_sysconfdir}/php.d
install -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/php.d/
%endif
# do not ship static libraries or la files
rm -rf %{buildroot}/%{_libdir}/*.a
find %{buildroot} -type f -name "*.la" -delete -print
rm -rf %{buildroot}/%{python_sitearch}/%{name}/*.a
rm -rf %{buildroot}/%{python_sitearch}/%{name}/*.la
rm -rf %{buildroot}/%{rb_vendorarchdir}/*.a
rm -rf %{buildroot}/%{rb_vendorarchdir}/*.la
%if 0%{?suse_version} >= 1210 && 0%{?suse_version} != 1315
chrpath --delete %{buildroot}%{_libdir}/php5/extensions/%{name}.so
%endif
%post -n libgeos-%{uver} -p /sbin/ldconfig
%postun -n libgeos-%{uver} -p /sbin/ldconfig
%post -n libgeos_c1 -p /sbin/ldconfig
%postun -n libgeos_c1 -p /sbin/ldconfig
%files -n libgeos-%{uver}
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libgeos-%{version}.so*
%files -n libgeos_c1
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libgeos_c.so.*
%files -n python-%{name}
%defattr(-,root,root)
%doc COPYING
%{python_sitelib}/*
%{python_sitearch}/*
%if 0%{?suse_version} >= 1210 && 0%{?suse_version} != 1315
%files -n php5-%{name}
%defattr(-,root,root)
%doc COPYING
%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 COPYING
%{rb_vendorarchdir}/%{name}.so
%endif
%files devel
%defattr(-,root,root)
%doc AUTHORS COPYING NEWS README TODO
%{_mandir}/man1/%{name}-config.1%{ext_man}
%{_bindir}/%{name}-config
%{_includedir}/*
%{_libdir}/lib%{name}.so
%{_libdir}/lib%{name}_c.so
%files doc
%defattr(-,root,root)
%doc doc/doxygen_docs
%changelog