diff --git a/.gitignore b/.gitignore index 88e7291..29fac45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,16 @@ +clog /php-maxminddb-1.4.0-2f1086e.tgz /php-maxminddb-1.4.1-eb83d0e.tgz +/php-maxminddb-1.5.0-bd43609.tgz +/php-maxminddb-1.5.1-f096bbe.tgz +/php-maxminddb-1.6.0-febd492.tgz +/php-maxminddb-1.8.0-b566d42.tgz +/php-maxminddb-1.9.0-9ee9ba9.tgz +/php-maxminddb-1.10.0-07f84d9.tgz +/php-maxminddb-1.10.1-569bd44.tgz +/php-maxminddb-1.11.0-f7cc1a1.tgz +/php-maxminddb-1.11.1-1e66f73.tgz +/php-maxminddb-1.12.0-5b2d7a7.tgz +/php-maxminddb-1.12.1-815939e.tgz +/php-maxminddb-1.13.0-b298986.tgz +/php-maxminddb-1.13.1-2194f58.tgz diff --git a/php-maxminddb.spec b/php-maxminddb.spec index 5502bc4..6ada21a 100644 --- a/php-maxminddb.spec +++ b/php-maxminddb.spec @@ -3,46 +3,65 @@ # # remirepo spec file for php-maxminddb # -# Copyright (c) 2018-2019 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText: Copyright 2018-2025 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt # # Please, preserve the changelog entries # -%global gh_commit eb83d0ee1c1f9b8a340206302136bc81ee02ae74 +%global gh_commit 2194f58d0f024ce923e685cdf92af3daf9951908 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner maxmind %global gh_project MaxMind-DB-Reader-php # Extension +%global pie_vend maxmind-db +%global pie_proj reader-ext %global pecl_name maxminddb -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global ini_name 40-%{pecl_name}.ini # pure PHP library %global pk_vendor maxmind-db %global pk_project reader -%global with_tests 0%{!?_without_tests:1} +%global _configure ../ext/configure + +%if 0%{?fedora} +%bcond_without tests +%else +%bcond_with tests +%endif Summary: MaxMind DB Reader extension Name: php-maxminddb -Version: 1.4.1 +Version: 1.13.1 Release: 1%{?dist} -License: ASL 2.0 +License: Apache-2.0 URL: https://github.com/%{gh_owner}/%{gh_project} Source0: %{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh -BuildRequires: php-devel > 5.4 +ExcludeArch: %{ix86} + +BuildRequires: make +BuildRequires: gcc +BuildRequires: php-devel >= 7.2 +BuildRequires: php-pear >= 1.10 BuildRequires: pkgconfig(libmaxminddb) >= 1.0.0 Requires: php(zend-abi) = %{php_zend_api} Requires: php(api) = %{php_core_api} # Weak dependencies on databases -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Recommends: geolite2-country Suggests: geolite2-city -%endif + +# PECL +Provides: php-pecl-%{pecl_name} = %{version}-%{release} +Provides: php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} +Provides: php-pecl(%{pecl_name}) = %{version} +Provides: php-pecl(%{pecl_name})%{?_isa} = %{version} +# PIE +Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version} +Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{version} %description @@ -60,35 +79,39 @@ Summary: MaxMind DB Reader BuildArch: noarch BuildRequires: php-fedora-autoloader-devel -%if %{with_tests} +%if %{with tests} BuildRequires: php-bcmath BuildRequires: php-gmp # from composer.json "require-dev": { -# "friendsofphp/php-cs-fixer": "2.*", -# "phpunit/phpunit": "4.* || 5.*", -# "satooshi/php-coveralls": "1.0.*", +# "friendsofphp/php-cs-fixer": "*", +# "phpunit/phpunit": ">=8.0.0,<10.0.0", +# "php-coveralls/php-coveralls": "^2.1", +# "phpunit/phpcov": ">=6.0.0", # "squizlabs/php_codesniffer": "3.*" -BuildRequires: php-composer(phpunit/phpunit) +BuildRequires: phpunit8 %endif # from composer.json "require": { -# "php": ">=5.4" -Requires: php(language) >= 5.4 +# "php": ">=7.2" +Requires: php(language) >= 7.2 # from composer.json "suggest": { # "ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", # "ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", # "ext-maxminddb": "A C-based database decoder that provides significantly faster lookups" -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Recommends: php-bcmath Recommends: php-gmp Recommends: php-maxminddb +# from composer.json "conflict": { +# "ext-maxminddb": "<1.11.1,>=2.0.0" +Conflicts: php-maxminddb < %{version} # Weak dependencies on databases Recommends: geolite2-country Suggests: geolite2-city -%endif # From phpcompatifo report for 1.3.0 Requires: php-filter Requires: php-spl +# Autoloader +Requires: php-composer(fedora/autoloader) Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} @@ -114,10 +137,7 @@ Autoloader: %{_datadir}/php/MaxMind/Db/Reader/autoload.php --output src/MaxMind/Db/Reader/autoload.php \ src/MaxMind/Db -mv ext NTS - -cd NTS - +cd ext # Sanity check, really often broken extver=$(sed -n '/#define PHP_MAXMINDDB_VERSION/{s/.* "//;s/".*$//;p}' php_maxminddb.h) if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then @@ -126,11 +146,6 @@ if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then fi cd .. -%if %{with_zts} -# duplicate for ZTS build -cp -pr NTS ZTS -%endif - # Drop in the bit of configuration cat << 'EOF' | tee %{ini_name} ; Enable '%{pecl_name}' extension module @@ -139,36 +154,29 @@ EOF %build -cd NTS -%{_bindir}/phpize -%configure \ - --with-php-config=%{_bindir}/php-config \ - --with-libdir=%{_lib} \ - --with-maxminddb -make %{?_smp_mflags} +cd ext +%{__phpize} +sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize %configure \ - --with-php-config=%{_bindir}/zts-php-config \ + --with-php-config=%{__phpconfig} \ --with-libdir=%{_lib} \ --with-maxminddb -make %{?_smp_mflags} -%endif + +%make_build %install -# Install the NTS stuff -make -C NTS install INSTALL_ROOT=%{buildroot} +: Install the extension +%make_install -C ext + +: Install XML package description +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +: Install the extension install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} -%if %{with_zts} -# Install the ZTS stuff -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif - +: Install the library mkdir -p %{buildroot}%{_datadir}/php/MaxMind cp -pr src/MaxMind/Db %{buildroot}%{_datadir}/php/MaxMind/Db @@ -177,41 +185,22 @@ cp -pr src/MaxMind/Db %{buildroot}%{_datadir}/php/MaxMind/Db : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} + --modules | grep '^%{pecl_name}$' -%if %{with_zts} -: Minimal load test for ZTS extension -%{__ztsphp} --no-php-ini \ - --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} -%endif - -%if %{with_tests} ret=0 -cd NTS +cd ext : 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 +%{__php} -n run-tests.php -q --show-diff || ret=1 +%if %{with tests} cd .. : Upstream test suite for the library -for cmd in php php56 php70 php71 php72 php73; do +for cmd in php80 php81 php82 php83 php84; do if which $cmd; then - $cmd %{_bindir}/phpunit \ + $cmd %{_bindir}/phpunit8 \ --bootstrap %{buildroot}%{_datadir}/php/MaxMind/Db/Reader/autoload.php \ --verbose || ret=1 fi @@ -219,7 +208,7 @@ done : Upstream test suite for the library with the extension php --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - %{_bindir}/phpunit \ + %{_bindir}/phpunit8 \ --bootstrap %{buildroot}%{_datadir}/php/MaxMind/Db/Reader/autoload.php \ --verbose || ret=1 %endif @@ -227,18 +216,13 @@ exit $ret %files -%{!?_licensedir:%global license %%doc} %license LICENSE %doc *.md +%{pecl_xmldir}/%{name}.xml %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 - %files -n php-%{pk_vendor}-%{pk_project} %license LICENSE @@ -249,6 +233,134 @@ exit $ret %changelog +* Sat Nov 22 2025 Remi Collet - 1.13.1-1 +- update to 1.13.1 (no changes) +- add pie virtual provides + +* Fri Nov 21 2025 Remi Collet - 1.13.0-1 +- update to 1.13.0 + +* Wed Sep 17 2025 Remi Collet - 1.12.1-3 +- rebuild for https://fedoraproject.org/wiki/Changes/php85 + +* Fri Jul 25 2025 Fedora Release Engineering - 1.12.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue May 6 2025 Remi Collet - 1.12.1-1 +- update to 1.12.1 +- re-license spec file to CECILL-2.1 + +* Sat Jan 18 2025 Fedora Release Engineering - 1.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Nov 15 2024 Remi Collet - 1.12.0-1 +- update to 1.12.0 + +* Fri Oct 18 2024 Remi Collet - 1.11.1-7 +- modernize the spec file + +* Mon Oct 14 2024 Remi Collet - 1.11.1-6 +- rebuild for https://fedoraproject.org/wiki/Changes/php84 + +* Fri Jul 19 2024 Fedora Release Engineering - 1.11.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Apr 12 2024 Remi Collet - 1.11.1-4 +- drop 32-bit support + https://fedoraproject.org/wiki/Changes/php_no_32_bit + +* Thu Jan 25 2024 Fedora Release Engineering - 1.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 4 2023 Remi Collet - 1.11.1-1 +- update to 1.11.1 + +* Tue Oct 03 2023 Remi Collet - 1.11.0-11 +- rebuild for https://fedoraproject.org/wiki/Changes/php83 + +* Mon Oct 2 2023 Remi Collet - 1.11.0-10 +- add missing dependency on fedora/autoloader +- build out of sources tree + +* Fri Jul 21 2023 Fedora Release Engineering - 1.11.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Mar 31 2023 Remi Collet - 1.11.0-8 +- use SPDX license ID + +* Fri Jan 20 2023 Fedora Release Engineering - 1.11.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Oct 05 2022 Remi Collet - 1.11.0-6 +- rebuild for https://fedoraproject.org/wiki/Changes/php82 + +* Fri Jul 22 2022 Fedora Release Engineering - 1.11.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 1.11.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 10 2021 Remi Collet - 1.11.0-3 +- disable library test suite for EL build + +* Thu Oct 28 2021 Remi Collet - 1.11.0-2 +- rebuild for https://fedoraproject.org/wiki/Changes/php81 + +* Tue Oct 19 2021 Remi Collet - 1.11.0-1 +- update to 1.11.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Apr 15 2021 Remi Collet - 1.10.1-1 +- update to 1.10.1 + +* Fri Mar 5 2021 Remi Collet - 1.10.0-2 +- rebuild for https://fedoraproject.org/wiki/Changes/php80 + +* Wed Feb 10 2021 Remi Collet - 1.10.0-1 +- update to 1.10.0 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 8 2021 Remi Collet - 1.8.0-1 +- update to 1.9.0 + +* Fri Oct 2 2020 Remi Collet - 1.8.0-1 +- update to 1.8.0 +- now available on pecl +- raise dependency on PHP 7.2 +- switch to phpunit8 + +* Tue Jul 28 2020 Fedora Release Engineering - 1.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jan 30 2020 Fedora Release Engineering - 1.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 20 2019 Remi Collet - 1.6.0-1 +- update to 1.6.0 + +* Fri Dec 13 2019 Remi Collet - 1.5.1-1 +- update to 1.5.1 + +* Thu Oct 03 2019 Remi Collet - 1.5.0-2 +- rebuild for https://fedoraproject.org/wiki/Changes/php74 + +* Tue Oct 1 2019 Remi Collet - 1.5.0-1 +- update to 1.5.0 +- raise dependency on PHP 5.6 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 1.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sat Jan 5 2019 Remi Collet - 1.4.1-1 - update to 1.4.1 diff --git a/sources b/sources index 08076b8..dc1dae0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-maxminddb-1.4.1-eb83d0e.tgz) = e2f3894a6a7dcd31537736ce9370b567bb8edca5052b2de7e3dd07bd464cc17440e3a228a6a561cb78106b822ddef023150f833237f68e0ce35872a1783e51b6 +SHA512 (php-maxminddb-1.13.1-2194f58.tgz) = 4862dd4afcb899fabd91dfa6a6471aa5bf06f2a4b1c5929d68ad72774c8d83e3ea17f2e2bab557b2d27f7fe2267854c391e19443f52e3667ce04614f3e9cf8d0