5a18f65
# Fedora spec file for php-geos
5a18f65
# Without SCL compatibility stuff, from:
5a18f65
#
5a18f65
# remirepo spec file for php-geos
5a18f65
#
1ca0d05
# Copyright (c) 2016-2018 Remi Collet
5a18f65
# License: CC-BY-SA
5a18f65
# http://creativecommons.org/licenses/by-sa/4.0/
5a18f65
#
5a18f65
# Please, preserve the changelog entries
5a18f65
#
1ca0d05
1d3d651
%bcond_without tests
1d3d651
1ca0d05
# we don't want -z defs linker flag
1ca0d05
%undefine _strict_symbol_defs_build
1ca0d05
5a18f65
%global pecl_name  geos
5a18f65
%global with_zts   0%{!?_without_zts:%{?__ztsphp:1}}
5a18f65
%global ini_name   40-%{pecl_name}.ini
5a18f65
5a18f65
Name:           php-%{pecl_name}
5a18f65
Version:        1.0.0
669b1d8
Release:        24%{?dist}
5a18f65
5a18f65
Summary:        PHP module for GEOS
5a18f65
5a18f65
# See COPYING
5a18f65
License:        LGPLv2+ and MIT
5a18f65
URL:            http://trac.osgeo.org/geos
5a18f65
Source0:        https://git.osgeo.org/gogs/geos/php-geos/archive/%{version}%{?prever}.tar.gz
5a18f65
5fc4476
# https://git.osgeo.org/gitea/geos/php-geos/issues/20
5fc4476
Patch0:         0001-fix-test-for-7.3-int-vs-integer.patch
5fc4476
Patch1:         0002-fix-error-message-with-php-7-Wformat-warnings-raised.patch
61df568
# https://git.osgeo.org/gitea/geos/php-geos/issues/24
61df568
Patch2:         0003-add-all-arginfo-and-fix-build-with-PHP-8.patch
61df568
Patch4:         0005-fix-for-8.0.0RC1.patch
61df568
# https://git.osgeo.org/gitea/geos/php-geos/issues/25
61df568
Patch3:         0004-fix-all-zend_parse_parameters-call-to-use-zend_long.patch
5fc4476
5a18f65
BuildRequires:  php-devel
5a18f65
BuildRequires:  php-pear
5a18f65
# Test failures with 3.3 (EL-6)
5a18f65
BuildRequires:  geos-devel >= 3.4
5a18f65
5a18f65
Requires:       php(zend-abi) = %{php_zend_api}
5a18f65
Requires:       php(api) = %{php_core_api}
5a18f65
5a18f65
# Dropped from geos
5a18f65
Obsoletes:      geos-php        <= 3.5.0
5a18f65
Provides:       geos-php         = 1:%{version}-%{release}
5a18f65
Provides:       geos-php%{?_isa} = 1:%{version}-%{release}
5a18f65
5a18f65
5a18f65
%description
5a18f65
PHP module for GEOS.
5a18f65
5a18f65
5a18f65
%prep
5a18f65
%setup -q -c
5a18f65
mv %{name} NTS
5a18f65
5a18f65
cd NTS
5fc4476
%patch0 -p1 -b .test
5fc4476
%patch1 -p1 -b .wformat
61df568
%patch2 -p1 -b .arginfo
61df568
%patch3 -p1 -b .zendlong
61df568
%patch4 -p1 -b .arg
5fc4476
5a18f65
sed -e '/PHP_GEOS_VERSION/s/"0.0"/"%{version}%{?prever}"/' -i php_geos.h
5a18f65
5a18f65
# Check extension version
5a18f65
ver=$(sed -n '/define PHP_GEOS_VERSION/{s/.* "//;s/".*$//;p}' php_geos.h)
5a18f65
if test "$ver" != "%{version}%{?prever}%{?gh_date:-dev}"; then
5a18f65
   : Error: Upstream VERSION version is ${ver}, expecting %{version}%{?prever}%{?gh_date:-dev}.
5a18f65
   exit 1
5a18f65
fi
5a18f65
cd ..
5a18f65
5a18f65
cat  << 'EOF' | tee %{ini_name}
5a18f65
; Enable %{pecl_name} extension module
5a18f65
extension=%{pecl_name}.so
5a18f65
EOF
5a18f65
5a18f65
5a18f65
%if %{with_zts}
5a18f65
# Duplicate source tree for NTS / ZTS build
5a18f65
cp -pr NTS ZTS
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%build
5a18f65
cd NTS
5a18f65
%{_bindir}/phpize
5a18f65
%configure --with-php-config=%{_bindir}/php-config
5a18f65
make %{?_smp_mflags}
5a18f65
5a18f65
%if %{with_zts}
5a18f65
cd ../ZTS
5a18f65
%{_bindir}/zts-phpize
5a18f65
%configure --with-php-config=%{_bindir}/zts-php-config
5a18f65
make %{?_smp_mflags}
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%install
5a18f65
make -C NTS install INSTALL_ROOT=%{buildroot}
5a18f65
5a18f65
# install configuration
5a18f65
install -Dpm 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
5a18f65
5a18f65
%if %{with_zts}
5a18f65
make -C ZTS install INSTALL_ROOT=%{buildroot}
5a18f65
install -Dpm 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%check
5a18f65
: Minimal load test for NTS extension
5a18f65
%{__php} --no-php-ini \
5a18f65
    --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
5a18f65
    --modules | grep %{pecl_name}
5a18f65
5a18f65
%if %{with_zts}
5a18f65
: Minimal load test for NTS extension
5a18f65
%{__ztsphp} --no-php-ini \
5a18f65
    --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
5a18f65
    --modules | grep %{pecl_name}
5a18f65
%endif
5a18f65
1d3d651
%if %{with tests}
1d3d651
%if 0%{?fedora} >= 32
1d3d651
# See https://git.osgeo.org/gitea/geos/php-geos/issues/23
1d3d651
# ignore failing test with geos 3.8
1d3d651
rm -f ?TS/tests/001_Geometry.phpt
1d3d651
%endif
50323fe
%ifarch ppc64 ppc64le aarch64 armv7hl s390 s390x
c9b8d5f
: ignore failed test see https://git.osgeo.org/gogs/geos/php-geos/issues/17
1d3d651
rm -f ?TS/tests/001_Geometry.phpt
1d3d651
rm -f ?TS/tests/005_WKBReader.phpt
c9b8d5f
%endif
c9b8d5f
5a18f65
cd NTS
5a18f65
: Upstream test suite for NTS extension
5a18f65
TEST_PHP_EXECUTABLE=%{__php} \
5a18f65
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
5a18f65
NO_INTERACTION=1 \
5a18f65
REPORT_EXIT_STATUS=1 \
5a18f65
%{__php} -n run-tests.php --show-diff || ret=1
5a18f65
5a18f65
%if %{with_zts}
5a18f65
cd ../ZTS
5a18f65
: Upstream test suite for ZTS extension
5a18f65
TEST_PHP_EXECUTABLE=%{__ztsphp} \
5a18f65
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \
5a18f65
NO_INTERACTION=1 \
5a18f65
REPORT_EXIT_STATUS=1 \
5a18f65
%{__ztsphp} -n run-tests.php --show-diff || ret=1
5a18f65
%endif
5a18f65
5a18f65
exit $ret
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%files
5a18f65
%license NTS/{COPYING,LGPL-2,MIT-LICENSE}
5a18f65
%doc NTS/{CREDITS,NEWS,README.md,TODO}
5a18f65
5a18f65
%config(noreplace) %{php_inidir}/%{ini_name}
5a18f65
%{php_extdir}/%{pecl_name}.so
5a18f65
5a18f65
%if %{with_zts}
5a18f65
%config(noreplace) %{php_ztsinidir}/%{ini_name}
5a18f65
%{php_ztsextdir}/%{pecl_name}.so
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%changelog
669b1d8
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-24
669b1d8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
669b1d8
498a477
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-23
498a477
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
498a477
1505c47
* Thu Oct 28 2021 Remi Collet <remi@remirepo.net> - 1.0.0-22
1505c47
- rebuild for https://fedoraproject.org/wiki/Changes/php81
1505c47
1e42901
* Thu Oct 21 2021 Sandro Mani <manisandro@gmail.com> - 1.0.0-21
1e42901
- Rebuild (geos)
1e42901
5a26f1f
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-20
5a26f1f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
5a26f1f
b67cc2b
* Tue Mar 23 2021 Sandro Mani <manisandro@gmail.com> - 1.0.0-19
b67cc2b
- Rebuild (geos)
b67cc2b
61df568
* Thu Mar  4 2021 Remi Collet <remi@remirepo.net> - 1.0.0-18
61df568
- rebuild for https://fedoraproject.org/wiki/Changes/php80
61df568
- open https://git.osgeo.org/gitea/geos/php-geos/issues/24 missing arginfo
61df568
- open https://git.osgeo.org/gitea/geos/php-geos/issues/25 zend_long usage
61df568
9da5946
* Sat Feb 13 2021 Sandro Mani <manisandro@gmail.com> - 1.0.0-17
9da5946
- Rebuild (geos)
9da5946
ea071af
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-16
ea071af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
ea071af
1d3d651
* Thu Aug 13 2020 Remi Collet <remi@remirepo.net> - 1.0.0-15
1d3d651
- ignore 1 test failing with geos 3.8, FTBFS #1865218
abf6317
e112b31
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-14
e112b31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
e112b31
3156db3
* Thu Oct 03 2019 Remi Collet <remi@remirepo.net> - 1.0.0-13
3156db3
- rebuild for https://fedoraproject.org/wiki/Changes/php74
3156db3
559f1a8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-12
559f1a8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
559f1a8
029e39f
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-11
029e39f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
029e39f
5fc4476
* Thu Oct 11 2018 Remi Collet <remi@remirepo.net> - 1.0.0-10
5fc4476
- Rebuild for https://fedoraproject.org/wiki/Changes/php73
5fc4476
- open https://git.osgeo.org/gitea/geos/php-geos/issues/20
5fc4476
  fix -Wformat issues + test for PHP 7.3
5fc4476
8025215
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-9
8025215
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
8025215
7c300c7
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-8
7c300c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
7c300c7
1ca0d05
* Fri Jan 26 2018 Remi Collet <remi@remirepo.net> - 1.0.0-7
1ca0d05
- undefine _strict_symbol_defs_build
1ca0d05
9e8d037
* Tue Oct 03 2017 Remi Collet <remi@fedoraproject.org> - 1.0.0-6
9e8d037
- rebuild for https://fedoraproject.org/wiki/Changes/php72
9e8d037
5e2d9f5
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-5
5e2d9f5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
5e2d9f5
900c3c6
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-4
900c3c6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
900c3c6
832afa4
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
832afa4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
832afa4
50323fe
* Mon Jan 02 2017 Dan HorĂ¡k <dan[at]danny.cz> - 1.0.0-2
50323fe
- ignore failed tests also on s390(x)
50323fe
5a18f65
* Sat Dec 24 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-1
5a18f65
- update to 1.0.0
5a18f65
5a18f65
* Fri Dec 16 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.4.rc3
5a18f65
- cleanup for Fedora review
5a18f65
5a18f65
* Fri Dec 16 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.3.rc3
5a18f65
- update to 1.0.0-rc3
5a18f65
5a18f65
* Mon Dec 12 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.2.rc2
5a18f65
- update to 1.0.0-rc2
5a18f65
- open https://git.osgeo.org/gogs/geos/php-geos/pulls/13 - fix for tests
5a18f65
5a18f65
* Sun Dec 11 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.1.rc1
5a18f65
- Initial packaging of 1.0.0rc1
5a18f65