# remirepo spec file for php-geos # # Copyright (c) 2016-2024 Remi Collet # License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %bcond_without tests %if 0%{?scl:1} %scl_package php-geos %else %global pkg_name php-geos %endif #global prever rc3 %global pecl_name geos %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %if "%{php_version}" < "5.6" %global ini_name %{pecl_name}.ini %else %global ini_name 40-%{pecl_name}.ini %endif %global sources %{pkg_name} %global _configure ../%{sources}/configure # For PHP < 5.6 and EPEL-9 %{!?__phpize: %global __phpize %{_bindir}/phpize} %{!?__ztsphpize: %global __ztsphpize %{_bindir}/zts-phpize} %{!?__phpconfig: %global __phpconfig %{_bindir}/php-config} %{!?__ztsphpconfig:%global __ztsphpconfig %{_bindir}/zts-php-config} Name: %{?scl_prefix}php-%{pecl_name} Version: 1.0.0 Release: 31%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Summary: PHP module for GEOS Group: Development/Languages # See COPYING License: LGPL-2.1-or-later AND MIT URL: http://trac.osgeo.org/geos Source0: https://git.osgeo.org/gogs/geos/php-geos/archive/%{version}%{?prever}.tar.gz # https://git.osgeo.org/gitea/geos/php-geos/issues/20 Patch0: 0001-fix-test-for-7.3-int-vs-integer.patch Patch1: 0002-fix-error-message-with-php-7-Wformat-warnings-raised.patch # https://git.osgeo.org/gitea/geos/php-geos/issues/24 Patch2: 0003-add-all-arginfo-and-fix-build-with-PHP-8.patch Patch4: 0005-fix-for-8.0.0RC1.patch # https://git.osgeo.org/gitea/geos/php-geos/issues/25 Patch3: 0004-fix-all-zend_parse_parameters-call-to-use-zend_long.patch # https://git.osgeo.org/gitea/geos/php-geos/issues/27 Patch5: 0006-fix-__toString-with-8.2.patch # https://git.osgeo.org/gitea/geos/php-geos/issues/32 Patch6: 0001-Fix-incompatible-pointer-types.patch BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel BuildRequires: %{?scl_prefix}php-pear # Test failures with 3.3 (EL-6) BuildRequires: geos-devel >= 3.4 Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} # Dropped from geos Obsoletes: %{?scl_prefix}geos-php <= 3.5.0 Provides: %{?scl_prefix}geos-php = 1:%{version}-%{release} Provides: %{?scl_prefix}geos-php%{?_isa} = 1:%{version}-%{release} %description PHP module for GEOS. Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. %prep %setup -q -c cd %{sources} chmod -x *.c %patch -P0 -p1 -b .test %patch -P1 -p1 -b .wformat %patch -P2 -p1 -b .arginfo %patch -P3 -p1 -b .zendlong %patch -P4 -p1 -b .arg %patch -P5 -p1 -b .php82 %patch -P6 -p1 -b .pointers sed -e '/PHP_GEOS_VERSION/s/"0.0"/"%{version}%{?prever}"/' -i php_geos.h # Check extension version ver=$(sed -n '/define PHP_GEOS_VERSION/{s/.* "//;s/".*$//;p}' php_geos.h) if test "$ver" != "%{version}%{?prever}%{?gh_date:-dev}"; then : Error: Upstream VERSION version is ${ver}, expecting %{version}%{?prever}%{?gh_date:-dev}. exit 1 fi cd .. cat << 'EOF' | tee %{ini_name} ; Enable %{pecl_name} extension module extension=%{pecl_name}.so EOF mkdir NTS %if %{with_zts} # Duplicate source tree for NTS / ZTS build mkdir ZTS %endif %build %{?dtsenable} cd %{sources} %{__phpize} cd ../NTS %configure --with-php-config=%{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS %configure --with-php-config=%{__ztsphpconfig} make %{?_smp_mflags} %endif %install %{?dtsenable} make -C NTS install INSTALL_ROOT=%{buildroot} # install configuration install -Dpm 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} %if %{with_zts} make -C ZTS install INSTALL_ROOT=%{buildroot} install -Dpm 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif %check : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' %if %{with_zts} : Minimal load test for NTS extension %{__ztsphp} --no-php-ini \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' %endif %if %{with tests} cd %{sources} if pkg-config geos --atleast-version 3.12; then # See https://git.osgeo.org/gitea/geos/php-geos/issues/31 # ignore failing test with geos 3.12 rm tests/002_WKTWriter.phpt rm tests/004_WKBWriter.phpt rm tests/005_WKBReader.phpt fi if pkg-config geos --atleast-version 3.8; then # See https://git.osgeo.org/gitea/geos/php-geos/issues/23 # ignore failing test with geos 3.8 rm tests/001_Geometry.phpt fi %ifarch ppc64 ppc64le aarch64 armv7hl s390 s390x # see https://git.osgeo.org/gogs/geos/php-geos/issues/17 # ignore failing tests rm -f tests/001_Geometry.phpt rm -f tests/005_WKBReader.phpt %endif : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php -q --show-diff || ret=1 %if %{with_zts} : Upstream test suite for ZTS extension TEST_PHP_EXECUTABLE=%{__ztsphp} \ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ %{__ztsphp} -n run-tests.php -q --show-diff || ret=1 %endif exit $ret %endif %files %{!?_licensedir:%global license %%doc} %license %{sources}/{COPYING,LGPL-2,MIT-LICENSE} %doc %{sources}/{CREDITS,NEWS,README.md,TODO} %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ini_name} %{php_ztsextdir}/%{pecl_name}.so %endif %changelog * Mon Jan 29 2024 Remi Collet - 1.0.0-31 - fix incompatible pointer types using patch from https://git.osgeo.org/gitea/geos/php-geos/issues/32 * Wed Aug 30 2023 Remi Collet - 1.0.0-26 - rebuild for PHP 8.3.0RC1 * Thu Jul 20 2023 Remi Collet - 1.0.0-25 - build out of sources tree - use SPDX license ID - ignore 2 tests failing with libgeos 3.12 #2226098 * Fri Sep 9 2022 Remi Collet - 1.0.0-24 - add patch for PHP 8.2 from https://git.osgeo.org/gitea/geos/php-geos/issues/27 * Fri Nov 5 2021 Remi Collet - 1.0.0-23 - EL-9 build * Wed Sep 01 2021 Remi Collet - 1.0.0-19 - rebuild for 8.1.0RC1 * Wed Sep 30 2020 Remi Collet - 1.0.0-18 - rebuild for PHP 8.0.0RC1 * Wed Sep 2 2020 Remi Collet - 1.0.0-17 - rebuild for PHP 8.0.0beta3 * Fri Aug 28 2020 Remi Collet - 1.0.0-16 - oprn https://git.osgeo.org/gitea/geos/php-geos/issues/24 missing arginfo - open https://git.osgeo.org/gitea/geos/php-geos/issues/25 zend_long usage * Thu Aug 20 2020 Remi Collet - 1.0.0-15 - ignore 1 test failing with geos 3.8 * Thu Aug 16 2018 Remi Collet - 1.0.0-11 - rebuild for 7.3.0beta2 new ABI * Tue Jul 17 2018 Remi Collet - 1.0.0-10 - rebuld for 7.3.0alpha4 new ABI * Fri Jun 22 2018 Remi Collet - 1.0.0-9 - open https://git.osgeo.org/gitea/geos/php-geos/issues/20 fix -Wformat issues + test for PHP 7.3 * Tue Jul 18 2017 Remi Collet - 1.0.0-3 - rebuild for PHP 7.2.0beta1 new API * Sat Dec 24 2016 Remi Collet - 1.0.0-2 - update to 1.0.0 * Fri Dec 16 2016 Remi Collet - 1.0.0-0.3.rc3 - update to 1.0.0-rc3 * Mon Dec 12 2016 Remi Collet - 1.0.0-0.2.rc2 - update to 1.0.0-rc2 - open https://git.osgeo.org/gogs/geos/php-geos/pulls/13 - fix for tests * Sun Dec 11 2016 Remi Collet - 1.0.0-0.1.rc1 - Initial packaging of 1.0.0rc1