+#
+# Conditional build:
+%bcond_without php # PHP binding
+%bcond_without ruby # ruby binding
+
Summary: Geometry Engine - Open Source
-Summary(pl.UTF-8): GEOS - silnik geometryczny z otwartymi źródłami
+Summary(pl.UTF-8): GEOS - silnik geometryczny z otwartymi źródłami
Name: geos
-Version: 2.2.3
-Release: 1
-License: LGPL
+Version: 3.4.2
+Release: 5
+License: LGPL v2.1
Group: Libraries
-Source0: http://geos.refractions.net/%{name}-%{version}.tar.bz2
-# Source0-md5: 440be2b11fd3d711e950a47ea6f1b424
-Patch0: %{name}-swig.patch
-URL: http://geos.refractions.net/
+Source0: http://download.osgeo.org/geos/%{name}-%{version}.tar.bz2
+# Source0-md5: fc5df2d926eb7e67f988a43a92683bae
+Patch0: %{name}-ruby1.9.patch
+Patch1: rubydir.patch
+URL: http://trac.osgeo.org/geos/
+BuildRequires: autoconf >= 2.52
BuildRequires: automake
BuildRequires: libstdc++-devel
-BuildRequires: python >= 1:2.5
-BuildRequires: python-devel >= 1:2.5
+%{?with_php:BuildRequires: %{php_name}-devel}
+BuildRequires: python
+BuildRequires: python-devel
BuildRequires: rpm-pythonprov
-BuildRequires: ruby-devel
+BuildRequires: rpmbuild(macros) >= 1.519
+%{?with_ruby:BuildRequires: ruby-devel}
BuildRequires: swig-python >= 1.3.29
-BuildRequires: swig-ruby >= 1.3.29
+%{?with_ruby:BuildRequires: swig-ruby >= 1.3.40-3}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%package devel
Summary: Header files for GEOS library
-Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GEOS
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki GEOS
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: libstdc++-devel
%package static
Summary: Static GEOS library
-Summary(pl.UTF-8): Statyczna biblioteka GEOS
+Summary(pl.UTF-8): Statyczna biblioteka GEOS
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static -l pl.UTF-8
Statyczna biblioteka GEOS.
+%package -n %{php_name}-geos
+Summary: PHP bindings for Geometry Engine - Open Source
+Summary(pl.UTF-8): Wiązania PHP do biblioteki GEOS
+Group: Development/Languages/PHP
+Requires: %{name} = %{version}-%{release}
+%{?requires_php_extension}
+
+%description -n %{php_name}-geos
+PHP bindings for Geometry Engine - Open Source.
+
+%description -n %{php_name}-geos -l pl.UTF-8
+Wiązania PHP do biblioteki GEOS.
+
%package -n python-geos
Summary: Python bindings for Geometry Engine - Open Source
-Summary(pl.UTF-8): Wiązania Pythona do biblioteki GEOS
+Summary(pl.UTF-8): Wiązania Pythona do biblioteki GEOS
Group: Development/Languages/Python
Requires: %{name} = %{version}-%{release}
%package -n ruby-geos
Summary: Ruby bindings for Geometry Engine - Open Source
-Summary(pl.UTF-8): Wiązania języka Ruby do biblioteki GEOS
+Summary(pl.UTF-8): Wiązania języka Ruby do biblioteki GEOS
Group: Development/Languages/Python
Requires: %{name} = %{version}-%{release}
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
-cp -f /usr/share/automake/config.* .
-%configure
+%{__aclocal} -I macros
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ %{?with_php:--enable-php} \
+ --enable-python \
+ %{?with_ruby:--enable-ruby}
+
%{__make} \
pkglibdir=%{_libdir}
-cd swig/python
-swig -c++ -python -modern -o geos_wrap.cxx ../geos.i
-python setup.py build
-
-cd ../ruby
-swig -c++ -ruby -autorename -o geos_wrap.cxx ../geos.i
-%{__cxx} %{rpmcxxflags} -I../../source/headers -I%{ruby_archdir} -c geos_wrap.cxx
-%{__cxx} -shared -o geos.so geos_wrap.o -lruby -L../../source/geom/.libs -lgeos
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT \
- pkglibdir=%{_libdir}
+ DESTDIR=$RPM_BUILD_ROOT
-cd swig
-install -D ruby/geos.so $RPM_BUILD_ROOT%{ruby_archdir}/geos.so
+%if %{with php}
+install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
+cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/geos.ini
+; Enable geos extension module
+extension=geos.so
+EOF
+%endif
-cd python
-python setup.py install \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
+%{?with_ruby:%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.{la,a}}
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/geos/*.{la,a}
%py_postclean
%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog NEWS README TODO
-%attr(755,root,root) %{_libdir}/libgeos.so.*.*.*
+%attr(755,root,root) %{_libdir}/libgeos-*.so
%attr(755,root,root) %{_libdir}/libgeos_c.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgeos_c.so.1
%files devel
%defattr(644,root,root,755)
%{_libdir}/libgeos.a
%{_libdir}/libgeos_c.a
+%if %{with php}
+%files -n %{php_name}-geos
+%defattr(644,root,root,755)
+%doc php/{README,TODO}
+%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/geos.ini
+%attr(755,root,root) %{php_extensiondir}/geos.so
+%endif
+
%files -n python-geos
%defattr(644,root,root,755)
-%attr(755,root,root) %{py_sitedir}/_geos.so
-%{py_sitedir}/geos.py[co]
-%{py_sitedir}/PyGEOS-*.egg-info
+%dir %{py_sitedir}/geos
+%attr(755,root,root) %{py_sitedir}/geos/_geos.so
+%{py_sitescriptdir}/geos
+%{py_sitescriptdir}/geos.pth
+%if %{with ruby}
%files -n ruby-geos
%defattr(644,root,root,755)
-%attr(755,root,root) %{ruby_archdir}/geos.so
+%attr(755,root,root) %{ruby_vendorarchdir}/geos.so
+%endif