5a18f65
# Fedora spec file for php-geos
5a18f65
# Without SCL compatibility stuff, from:
5a18f65
#
5a18f65
# remirepo spec file for php-geos
5a18f65
#
002a3f4
# Copyright (c) 2016-2024 Remi Collet
4541706
# License: CC-BY-SA-4.0
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
8e7950f
%global sources    %{name}
8e7950f
%global _configure ../%{sources}/configure
5a18f65
5a18f65
Name:           php-%{pecl_name}
5a18f65
Version:        1.0.0
49bf059
Release:        32%{?dist}
5a18f65
5a18f65
Summary:        PHP module for GEOS
5a18f65
5a18f65
# See COPYING
4541706
License:        LGPL-2.1-or-later 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
dc928ca
# https://git.osgeo.org/gitea/geos/php-geos/issues/27
dc928ca
Patch5:         0006-fix-__toString-with-8.2.patch
002a3f4
# https://git.osgeo.org/gitea/geos/php-geos/issues/32
002a3f4
Patch6:         0001-Fix-incompatible-pointer-types.patch
5fc4476
49bf059
ExcludeArch:    %{ix86}
49bf059
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
8e7950f
cd %{sources}
4541706
%patch -P0 -p1 -b .test
4541706
%patch -P1 -p1 -b .wformat
4541706
%patch -P2 -p1 -b .arginfo
4541706
%patch -P3 -p1 -b .zendlong
4541706
%patch -P4 -p1 -b .arg
4541706
%patch -P5 -p1 -b .php82
002a3f4
%patch -P6 -p1 -b .pointers
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
8e7950f
mkdir NTS
5a18f65
%if %{with_zts}
8e7950f
mkdir ZTS
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%build
8e7950f
cd %{sources}
8e7950f
%{__phpize}
8e7950f
8e7950f
cd ../NTS
8e7950f
%configure --with-php-config=%{__phpconfig}
5a18f65
make %{?_smp_mflags}
5a18f65
5a18f65
%if %{with_zts}
5a18f65
cd ../ZTS
8e7950f
%configure --with-php-config=%{__ztsphpconfig}
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 \
8e7950f
    --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 \
8e7950f
    --modules | grep '^%{pecl_name}$'
5a18f65
%endif
5a18f65
1d3d651
%if %{with tests}
8e7950f
cd %{sources}
8e7950f
if pkg-config geos --atleast-version 3.12; then
8e7950f
# See https://git.osgeo.org/gitea/geos/php-geos/issues/31
8e7950f
# ignore failing test with geos 3.12
8e7950f
rm tests/002_WKTWriter.phpt
8e7950f
rm tests/004_WKBWriter.phpt
35aef3f
rm tests/005_WKBReader.phpt
8e7950f
fi
8e7950f
if pkg-config geos --atleast-version 3.8; then
1d3d651
# See https://git.osgeo.org/gitea/geos/php-geos/issues/23
1d3d651
# ignore failing test with geos 3.8
8e7950f
rm tests/001_Geometry.phpt
8e7950f
fi
50323fe
%ifarch ppc64 ppc64le aarch64 armv7hl s390 s390x
8e7950f
# see https://git.osgeo.org/gogs/geos/php-geos/issues/17
8e7950f
# ignore failing tests
8e7950f
rm -f tests/001_Geometry.phpt
8e7950f
rm -f tests/005_WKBReader.phpt
c9b8d5f
%endif
c9b8d5f
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
REPORT_EXIT_STATUS=1 \
8e7950f
%{__php} -n run-tests.php -q --show-diff || ret=1
5a18f65
5a18f65
%if %{with_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
REPORT_EXIT_STATUS=1 \
8e7950f
%{__ztsphp} -n run-tests.php -q --show-diff || ret=1
5a18f65
%endif
5a18f65
5a18f65
exit $ret
5a18f65
%endif
5a18f65
5a18f65
5a18f65
%files
8e7950f
%license %{sources}/{COPYING,LGPL-2,MIT-LICENSE}
8e7950f
%doc %{sources}/{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
49bf059
* Fri Apr 12 2024 Remi Collet <remi@remirepo.net> - 1.0.0-32
49bf059
- drop 32-bit support
49bf059
  https://fedoraproject.org/wiki/Changes/php_no_32_bit
49bf059
002a3f4
* Mon Jan 29 2024 Remi Collet <remi@remirepo.net> - 1.0.0-31
002a3f4
- fix incompatible pointer types
002a3f4
  using patch from https://git.osgeo.org/gitea/geos/php-geos/issues/32
002a3f4
9cdefa3
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-30
9cdefa3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
9cdefa3
6ade297
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-29
6ade297
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
6ade297
6c1eedf
* Tue Oct 03 2023 Remi Collet <remi@remirepo.net> - 1.0.0-28
6c1eedf
- rebuild for https://fedoraproject.org/wiki/Changes/php83
6c1eedf
8e7950f
* Wed Jul 26 2023 Remi Collet <remi@remirepo.net> - 1.0.0-27
8e7950f
- build out of sources tree
35aef3f
- ignore 3 tests failing with libgeos 3.12 #2226098
8e7950f
f2acefb
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-27
f2acefb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
f2acefb
4541706
* Fri Mar 31 2023 Remi Collet <remi@remirepo.net> - 1.0.0-27
4541706
- use SPDX license ID
4541706
bb5983b
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-26
bb5983b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
bb5983b
dc928ca
* Wed Oct 05 2022 Remi Collet <remi@remirepo.net> - 1.0.0-25
dc928ca
- rebuild for https://fedoraproject.org/wiki/Changes/php82
dc928ca
- add patch for PHP 8.2 from
dc928ca
  https://git.osgeo.org/gitea/geos/php-geos/issues/27
dc928ca
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