# remirepo spec file for php-geos # # Copyright (c) 2016-2022 Remi Collet # License: CC-BY-SA # 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 Name: %{?scl_prefix}php-%{pecl_name} Version: 1.0.0 Release: 24%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Summary: PHP module for GEOS Group: Development/Languages # See COPYING License: LGPLv2+ 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 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} %{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} # 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 mv %{pkg_name} NTS cd NTS chmod -x *.c %patch0 -p1 -b .test %patch1 -p1 -b .wformat %patch2 -p1 -b .arginfo %patch3 -p1 -b .zendlong %patch4 -p1 -b .arg %patch5 -p1 -b .php82 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 %if %{with_zts} # Duplicate source tree for NTS / ZTS build cp -pr NTS ZTS %endif %build %{?dtsenable} cd NTS %{_bindir}/phpize %configure --with-php-config=%{_bindir}/php-config make %{?_smp_mflags} %if %{with_zts} cd ../ZTS %{_bindir}/zts-phpize %configure --with-php-config=%{_bindir}/zts-php-config 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} %if 0%{?fedora} >= 32 || 0%{?rhel} >= 8 # See https://git.osgeo.org/gitea/geos/php-geos/issues/23 # ignore failing test with geos 3.8 rm ?TS/tests/001_Geometry.phpt %endif cd NTS : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php --show-diff || ret=1 %if %{with_zts} cd ../ZTS : Upstream test suite for ZTS extension TEST_PHP_EXECUTABLE=%{__ztsphp} \ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{__ztsphp} -n run-tests.php --show-diff || ret=1 %endif exit $ret %endif %files %{!?_licensedir:%global license %%doc} %license NTS/{COPYING,LGPL-2,MIT-LICENSE} %doc NTS/{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 * 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