diff options
| -rw-r--r-- | PHPINFO | 2 | ||||
| -rw-r--r-- | REFLECTION | 127 | ||||
| -rw-r--r-- | php-pecl-geospatial.spec | 37 | ||||
| -rw-r--r-- | tests.patch | 73 | 
4 files changed, 164 insertions, 75 deletions
@@ -2,4 +2,4 @@  geospatial  Geospatial functions => enabled -Version => 0.3.2 +Version => 0.3.3 @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #119 geospatial version 0.3.2 ] { +Extension [ <persistent> extension #83 geospatial version 0.3.3 ] {    - Constants [4] {      Constant [ float GEO_DEG_TO_RAD ] { 0.017453292519943 } @@ -8,123 +8,128 @@ Extension [ <persistent> extension #119 geospatial version 0.3.2 ] {    }    - Functions { -    Function [ <internal:geospatial> function haversine ] { - -      - Parameters [3] { -        Parameter #0 [ <required> $geoJsonPointFrom ] -        Parameter #1 [ <required> $geoJsonPointTo ] -        Parameter #2 [ <optional> $radius = <default> ] -      } -    } -    Function [ <internal:geospatial> function initial_bearing ] { +    Function [ <internal:geospatial> function dms_to_decimal ] { -      - Parameters [3] { -        Parameter #0 [ <required> $geoJsonPointFrom ] -        Parameter #1 [ <required> $geoJsonPointTo ] -        Parameter #2 [ <optional> $radius = <default> ] +      - Parameters [4] { +        Parameter #0 [ <required> float $degrees ] +        Parameter #1 [ <required> float $minutes ] +        Parameter #2 [ <required> float $seconds ] +        Parameter #3 [ <optional> string $direction = "" ]        } +      - Return [ float ]      } -    Function [ <internal:geospatial> function fraction_along_gc_line ] { +    Function [ <internal:geospatial> function decimal_to_dms ] { -      - Parameters [4] { -        Parameter #0 [ <required> $geoJsonPointFrom ] -        Parameter #1 [ <required> $geoJsonPointTo ] -        Parameter #2 [ <required> $fraction ] -        Parameter #3 [ <optional> $radius = <default> ] +      - Parameters [2] { +        Parameter #0 [ <required> float $decimal ] +        Parameter #1 [ <required> string $coordinate ]        } +      - Return [ array ]      }      Function [ <internal:geospatial> function helmert ] {        - Parameters [5] { -        Parameter #0 [ <required> $x ] -        Parameter #1 [ <required> $y ] -        Parameter #2 [ <required> $z ] -        Parameter #3 [ <optional> $from_reference_ellipsoid = <default> ] -        Parameter #4 [ <optional> $to_reference_ellipsoid = <default> ] +        Parameter #0 [ <required> float $x ] +        Parameter #1 [ <required> float $y ] +        Parameter #2 [ <required> float $z ] +        Parameter #3 [ <optional> int $from_reference_ellipsoid = 0 ] +        Parameter #4 [ <optional> int $to_reference_ellipsoid = 0 ]        } +      - Return [ array ]      }      Function [ <internal:geospatial> function polar_to_cartesian ] {        - Parameters [3] { -        Parameter #0 [ <required> $latitude ] -        Parameter #1 [ <required> $longitude ] -        Parameter #2 [ <optional> $reference_ellipsoid = <default> ] +        Parameter #0 [ <required> float $latitude ] +        Parameter #1 [ <required> float $longitude ] +        Parameter #2 [ <optional> int $reference_ellipsoid = 0 ]        } +      - Return [ array ]      }      Function [ <internal:geospatial> function cartesian_to_polar ] {        - Parameters [4] { -        Parameter #0 [ <required> $x ] -        Parameter #1 [ <required> $y ] -        Parameter #2 [ <required> $z ] -        Parameter #3 [ <optional> $reference_ellipsoid = <default> ] +        Parameter #0 [ <required> float $x ] +        Parameter #1 [ <required> float $y ] +        Parameter #2 [ <required> float $z ] +        Parameter #3 [ <optional> int $reference_ellipsoid = 0 ]        } +      - Return [ array ]      }      Function [ <internal:geospatial> function transform_datum ] {        - Parameters [3] { -        Parameter #0 [ <required> $GeoJSONPoint ] -        Parameter #1 [ <required> $from_reference_ellipsoid ] -        Parameter #2 [ <required> $to_reference_ellipsoid ] +        Parameter #0 [ <required> array $coordinates ] +        Parameter #1 [ <required> int $from_reference_ellipsoid ] +        Parameter #2 [ <required> int $to_reference_ellipsoid ]        } +      - Return [ array ]      } -    Function [ <internal:geospatial> function dms_to_decimal ] { +    Function [ <internal:geospatial> function haversine ] { -      - Parameters [4] { -        Parameter #0 [ <required> $degrees ] -        Parameter #1 [ <required> $minutes ] -        Parameter #2 [ <required> $seconds ] -        Parameter #3 [ <optional> $direction = <default> ] +      - Parameters [3] { +        Parameter #0 [ <required> array $from ] +        Parameter #1 [ <required> array $to ] +        Parameter #2 [ <optional> float $radius = GEO_EARTH_RADIUS ]        } +      - Return [ float ]      } -    Function [ <internal:geospatial> function decimal_to_dms ] { +    Function [ <internal:geospatial> function vincenty ] { -      - Parameters [2] { -        Parameter #0 [ <required> $decimal ] -        Parameter #1 [ <required> $coordinate ] +      - Parameters [3] { +        Parameter #0 [ <required> array $from ] +        Parameter #1 [ <required> array $to ] +        Parameter #2 [ <optional> float $reference_ellipsoid = GEO_WGS84 ]        } +      - Return [ float ]      } -    Function [ <internal:geospatial> function vincenty ] { +    Function [ <internal:geospatial> function fraction_along_gc_line ] {        - Parameters [3] { -        Parameter #0 [ <required> $geoJsonPointFrom ] -        Parameter #1 [ <required> $geoJsonPointTo ] -        Parameter #2 [ <optional> $reference_ellipsoid = <default> ] +        Parameter #0 [ <required> array $from ] +        Parameter #1 [ <required> array $to ] +        Parameter #2 [ <required> float $fraction ]        } +      - Return [ array ]      } -    Function [ <internal:geospatial> function rdp_simplify ] { +    Function [ <internal:geospatial> function interpolate_linestring ] {        - Parameters [2] { -        Parameter #0 [ <required> $pointsArray ] -        Parameter #1 [ <required> $epsilon ] +        Parameter #0 [ <required> array $line ] +        Parameter #1 [ <required> float $epsilon ]        } +      - Return [ array ]      } -    Function [ <internal:geospatial> function interpolate_linestring ] { +    Function [ <internal:geospatial> function initial_bearing ] {        - Parameters [2] { -        Parameter #0 [ <required> $GeoJSONLineString ] -        Parameter #1 [ <required> $epsilon ] +        Parameter #0 [ <required> array $from ] +        Parameter #1 [ <required> array $to ]        } +      - Return [ float ]      } -    Function [ <internal:geospatial> function interpolate_polygon ] { +    Function [ <internal:geospatial> function rdp_simplify ] {        - Parameters [2] { -        Parameter #0 [ <required> $GeoJSONPolygon ] -        Parameter #1 [ <required> $epsilon ] +        Parameter #0 [ <required> array $points ] +        Parameter #1 [ <required> float $epsilon ]        } +      - Return [ array ]      }      Function [ <internal:geospatial> function geohash_encode ] {        - Parameters [2] { -        Parameter #0 [ <required> $GeoJSONPoint ] -        Parameter #1 [ <required> $precision ] +        Parameter #0 [ <required> array $point ] +        Parameter #1 [ <optional> int $precision = 12 ]        } +      - Return [ string ]      }      Function [ <internal:geospatial> function geohash_decode ] {        - Parameters [1] { -        Parameter #0 [ <required> $geohash ] +        Parameter #0 [ <required> string $geohash ]        } +      - Return [ array ]      }    }  } diff --git a/php-pecl-geospatial.spec b/php-pecl-geospatial.spec index b4d0623..f3825e6 100644 --- a/php-pecl-geospatial.spec +++ b/php-pecl-geospatial.spec @@ -1,14 +1,16 @@  # remirepo spec file for php-pecl-geospatial  # -# Copyright (c) 2015-2024 Remi Collet -# License: CC-BY-SA-4.0 -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText:  Copyright 2015-2025 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt  #  # Please, preserve the changelog entries  #  %{?scl:%scl_package php-pecl-geospatial} -%global gh_commit   d3f3ab0a836f10eacb7e117c06f12ea57e1e8649 +%global pie_vend    php-geospatial +%global pie_proj    geospatial +%global gh_commit   6cd0365f9f89a22131755a6c60daa92473ecb4c3  %global gh_short    %(c=%{gh_commit}; echo ${c:0:7})  %global gh_owner    php-geospatial  %global gh_project  geospatial @@ -23,22 +25,22 @@  Summary:        PHP Extension to handle common geospatial functions  Name:           %{?scl_prefix}php-pecl-%{pecl_name} -Version:        0.3.2 +Version:        0.3.3  %if 0%{?gh_date:1}  Release:        0.11.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  %else -Release:        4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release:        1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  %endif  License:        PHP-3.01  URL:            https://pecl.php.net/package/%{pecl_name}  Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz -Patch0:         31.patch +Patch0:         tests.patch  BuildRequires:  make  BuildRequires:  %{?dtsprefix}gcc -BuildRequires:  %{?scl_prefix}php-devel >= 7.0 +BuildRequires:  %{?scl_prefix}php-devel >= 8.0  BuildRequires:  %{?scl_prefix}php-pear  BuildRequires:  %{?scl_prefix}php-json @@ -46,11 +48,13 @@ Requires:       %{?scl_prefix}php(zend-abi) = %{php_zend_api}  Requires:       %{?scl_prefix}php(api) = %{php_core_api}  # Package have be renamed -Obsoletes:      %{?scl_prefix}php-%{pecl_name}               < %{version} -Provides:       %{?scl_prefix}php-%{pecl_name}               = %{version} -Provides:       %{?scl_prefix}php-%{pecl_name}%{?_isa}       = %{version} -Provides:       %{?scl_prefix}php-pecl(%{pecl_name})         = %{version} -Provides:       %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +Obsoletes:      %{?scl_prefix}php-%{pecl_name}                 < %{version} +Provides:       %{?scl_prefix}php-%{pecl_name}                 = %{version} +Provides:       %{?scl_prefix}php-%{pecl_name}%{?_isa}         = %{version} +Provides:       %{?scl_prefix}php-pecl(%{pecl_name})           = %{version} +Provides:       %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa}   = %{version} +Provides:       %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version} +Provides:       %{?scl_prefix}php-%{pie_vend}-%{pie_proj}      = %{version}  %description @@ -195,6 +199,13 @@ REPORT_EXIT_STATUS=1 \  %changelog +* Thu Jun 19 2025 Remi Collet <remi@remirepo.net> - 0.3.3-1 +- update to 0.3.3 +- drop patch merged upstream +- re-license spec file to CECILL-2.1 +- fix test suite on aarch64 using patch from +  https://github.com/php-geospatial/geospatial/pull/33 +  * Wed Sep 25 2024 Remi Collet <remi@remirepo.net> - 0.3.2-4  - spec cleanup  - fix test suite on aarch64 using patch from diff --git a/tests.patch b/tests.patch new file mode 100644 index 0000000..42ddba7 --- /dev/null +++ b/tests.patch @@ -0,0 +1,73 @@ +From 59826af88d8e41f56dadcf9cd83af83d87698401 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Thu, 19 Jun 2025 15:55:09 +0200 +Subject: [PATCH] relax new test for aarch64 + +--- + tests/interpolate-line-string-001.phpt | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/tests/interpolate-line-string-001.phpt b/tests/interpolate-line-string-001.phpt +index 50292f3..d372595 100644 +--- a/tests/interpolate-line-string-001.phpt ++++ b/tests/interpolate-line-string-001.phpt +@@ -32,9 +32,9 @@ array(26) { +   [2]=> +   array(2) { +     [0]=> +-    float(11.000073920872426) ++    float(11.0000739208724%d) +     [1]=> +-    float(10.035925156338873) ++    float(10.0359251563388%d) +   } +   [3]=> +   array(2) { +@@ -55,7 +55,7 @@ array(26) { +     [0]=> +     float(14.431497984318062) +     [1]=> +-    float(7.0743500242581225) ++    float(7.07435002425812%d) +   } +   [6]=> +   array(2) { +@@ -74,9 +74,9 @@ array(26) { +   [8]=> +   array(2) { +     [0]=> +-    float(12.756998952507347) ++    float(12.7569989525073%d) +     [1]=> +-    float(-1.7055449208364544) ++    float(-1.70554492083645%d) +   } +   [9]=> +   array(2) { +@@ -95,9 +95,9 @@ array(26) { +   [11]=> +   array(2) { +     [0]=> +-    float(11.067030621797189) ++    float(11.0670306217971%d) +     [1]=> +-    float(-10.483970622513857) ++    float(-10.4839706225138%d) +   } +   [12]=> +   array(2) { +@@ -125,12 +125,12 @@ array(26) { +     [0]=> +     float(8.642194115015831) +     [1]=> +-    float(-22.172231059691807) ++    float(-22.1722310596918%d) +   } +   [16]=> +   array(2) { +     [0]=> +-    float(7.979717846837639) ++    float(7.9797178468376%d) +     [1]=> +     float(-25.08894018486976) +   }  | 
