diff --git a/geos-3.2.0-ARM.patch b/geos-3.2.0-ARM.patch deleted file mode 100644 index f564099..0000000 --- a/geos-3.2.0-ARM.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- source/inlines.cpp.orig 2009-12-29 21:08:46.400000000 +0100 -+++ source/inlines.cpp 2009-12-29 21:22:16.820000000 +0100 -@@ -59,7 +59,10 @@ - #include - #include - #include -+// see http://trac.osgeo.org/geos/ticket/222 -+#if ! defined(__ARM_EABI__) - #include -+#endif // !defined __ARM_EABI__ - #include - - #endif // defined __CYGWIN__ diff --git a/geos-3.3.2-php-5.4.patch b/geos-3.3.2-php-5.4.patch new file mode 100644 index 0000000..1699202 --- /dev/null +++ b/geos-3.3.2-php-5.4.patch @@ -0,0 +1,89 @@ +Index: php/geos.c +=================================================================== +--- php/geos.c (revision 3573) ++++ php/geos.c (working copy) +@@ -44,7 +44,11 @@ + PHP_FUNCTION(GEOSSharedPaths); + PHP_FUNCTION(GEOSRelateMatch); + ++#if PHP_VERSION_ID < 50399 + static function_entry geos_functions[] = { ++#else ++static zend_function_entry geos_functions[] = { ++#endif + PHP_FE(GEOSVersion, NULL) + PHP_FE(GEOSPolygonize, NULL) + PHP_FE(GEOSLineMerge, NULL) +@@ -161,8 +165,12 @@ + + ALLOC_HASHTABLE(obj->std.properties); + zend_hash_init(obj->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0); ++#if PHP_VERSION_ID < 50399 + zend_hash_copy(obj->std.properties, &type->default_properties, + (copy_ctor_func_t)zval_add_ref, (void *)&tmp, sizeof(zval *)); ++#else ++ object_properties_init(&(obj->std), type); ++#endif + + retval.handle = zend_objects_store_put(obj, NULL, st, NULL TSRMLS_CC); + retval.handlers = handlers; +@@ -233,7 +241,11 @@ + PHP_METHOD(Geometry, hausdorffDistance); + PHP_METHOD(Geometry, snapTo); + ++#if PHP_VERSION_ID < 50399 + static function_entry Geometry_methods[] = { ++#else ++static zend_function_entry Geometry_methods[] = { ++#endif + PHP_ME(Geometry, __construct, NULL, 0) + PHP_ME(Geometry, __toString, NULL, 0) + PHP_ME(Geometry, project, NULL, 0) +@@ -1906,7 +1918,11 @@ + PHP_METHOD(WKTReader, __construct); + PHP_METHOD(WKTReader, read); + ++#if PHP_VERSION_ID < 50399 + static function_entry WKTReader_methods[] = { ++#else ++static zend_function_entry WKTReader_methods[] = { ++#endif + PHP_ME(WKTReader, __construct, NULL, 0) + PHP_ME(WKTReader, read, NULL, 0) + {NULL, NULL, NULL} +@@ -1984,7 +2000,11 @@ + PHP_METHOD(WKTWriter, getOutputDimension); + PHP_METHOD(WKTWriter, setOld3D); + ++#if PHP_VERSION_ID < 50399 + static function_entry WKTWriter_methods[] = { ++#else ++static zend_function_entry WKTWriter_methods[] = { ++#endif + PHP_ME(WKTWriter, __construct, NULL, 0) + PHP_ME(WKTWriter, write, NULL, 0) + PHP_ME(WKTWriter, setTrim, NULL, 0) +@@ -2156,7 +2176,11 @@ + PHP_METHOD(WKBWriter, getIncludeSRID); + PHP_METHOD(WKBWriter, writeHEX); + ++#if PHP_VERSION_ID < 50399 + static function_entry WKBWriter_methods[] = { ++#else ++static zend_function_entry WKBWriter_methods[] = { ++#endif + PHP_ME(WKBWriter, __construct, NULL, 0) + PHP_ME(WKBWriter, getOutputDimension, NULL, 0) + PHP_ME(WKBWriter, setOutputDimension, NULL, 0) +@@ -2352,7 +2376,11 @@ + PHP_METHOD(WKBReader, __construct); + PHP_METHOD(WKBReader, readHEX); + ++#if PHP_VERSION_ID < 50399 + static function_entry WKBReader_methods[] = { ++#else ++static zend_function_entry WKBReader_methods[] = { ++#endif + PHP_ME(WKBReader, __construct, NULL, 0) + PHP_ME(WKBReader, readHEX, NULL, 0) + {NULL, NULL, NULL} diff --git a/geos-3.3.2-ruby-19.patch b/geos-3.3.2-ruby-19.patch new file mode 100644 index 0000000..23d50d5 --- /dev/null +++ b/geos-3.3.2-ruby-19.patch @@ -0,0 +1,13 @@ +Index: swig/ruby/ruby.i +=================================================================== +--- swig/ruby/ruby.i (revision 3104) ++++ swig/ruby/ruby.i (working copy) +@@ -75,7 +75,7 @@ + Check_Type($input, T_ARRAY); + + /* Get the length */ +- $2 = RARRAY($input)->len; ++ $2 = RARRAY_LEN($input); + + /* Allocate space for the C array. */ + $1 = (GeosLinearRing**) malloc($2*sizeof(GeosLinearRing*)); diff --git a/geos.spec b/geos.spec index 81cd38e..8d426f0 100644 --- a/geos.spec +++ b/geos.spec @@ -1,6 +1,6 @@ Name: geos Version: 3.3.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GEOS is a C++ port of the Java Topology Suite Group: Applications/Engineering @@ -10,6 +10,12 @@ Source0: http://download.osgeo.org/%{name}/%{name}-%{version}.tar.bz2 Patch0: geos-gcc43.patch # fixed in upstream revision 3000 Patch1: geos-3.2.1-swig.patch +# Fixes SWIG interface for Ruby 1.9 compatibility. +# http://trac.osgeo.org/geos/ticket/379 +Patch2: geos-3.3.2-ruby-19.patch +# Fixes PHP 5.4 build issues. +# http://trac.osgeo.org/geos/ticket/513 +Patch3: geos-3.3.2-php-5.4.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: doxygen libtool %if "%{?dist}" != ".el4" @@ -18,7 +24,6 @@ BuildRequires: python-devel ruby-devel php-devel %endif %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} %{!?php_sitearch: %define php_sitearch %{_libdir}/php/modules} %description @@ -72,6 +77,8 @@ PHP module to build applications using GEOS and PHP %prep %setup -q %patch0 -p0 -b .gcc43 +%patch2 -p0 -b .ruby19 +%patch3 -p0 -b .php54 %build @@ -85,14 +92,16 @@ for makefile in `find . -type f -name 'Makefile.in'`; do sed -i 's|@LIBTOOL@|%{_bindir}/libtool|g' $makefile done +# Use correct library placement for Ruby 1.9. +sed -i 's|sitearchdir|vendorarchdir|' configure + %configure --disable-static --disable-dependency-tracking \ %if "%{?dist}" != ".el4" --enable-python \ --enable-ruby \ --enable-php %endif - -make %{?_smp_mflags} +make %{?_smp_mflags} CPPFLAGS=-I`ruby -e 'puts File.join(RbConfig::CONFIG[%q(includedir)], RbConfig::CONFIG[%q(sitearch)])'` # Make doxygen documentation files cd doc @@ -151,9 +160,9 @@ rm -rf %{buildroot} %files ruby %defattr(-,root,root,-) -%exclude %{ruby_sitearch}/%{name}.a -%exclude %{ruby_sitearch}/%{name}.la -%{ruby_sitearch}/%{name}.so +%exclude %{ruby_vendorarchdir}/%{name}.a +%exclude %{ruby_vendorarchdir}/%{name}.la +%{ruby_vendorarchdir}/%{name}.so %files php %defattr(-,root,root,-) @@ -162,6 +171,10 @@ rm -rf %{buildroot} %endif %changelog +* Mon Feb 27 2012 Vít Ondruch - 3.3.2-2 +- Rebuilt for Ruby 1.9.3. +- Rebuilt for PHP 5.4. + * Mon Jan 09 2012 Devrim GUNDUZ - 3.3.2-1 - Update to 3.3.2