diff options
| -rw-r--r-- | php-maxminddb.spec | 114 | 
1 files changed, 109 insertions, 5 deletions
| diff --git a/php-maxminddb.spec b/php-maxminddb.spec index 4b3e7b5..a9c229f 100644 --- a/php-maxminddb.spec +++ b/php-maxminddb.spec @@ -9,8 +9,16 @@  %if 0%{?scl:1}  %global sub_prefix  %{scl_prefix}  %scl_package        php-maxminddb +%global with_lib    0  %else  %global pkg_name    %{name} +%global with_lib    1 +%endif +# for the pure PHP library - disabled on EL < 8 because of PHPUnit dependency +%if 0%{?fedora} >= 20 || 0%{?rhel} >= 8 +%global with_tests   0%{!?_without_tests:1} +%else +%global with_tests   0%{?_with_tests:1}  %endif @@ -21,11 +29,15 @@  %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  Summary:       MaxMind DB Reader extension  Name:          %{?sub_prefix}php-maxminddb  Version:       1.3.0 -Release:       2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +%global rpmrel 3 +Release:       %{rpmrel}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  License:       ASL 2.0  URL:           https://github.com/%{gh_owner}/%{gh_project} @@ -90,6 +102,53 @@ MaxMind\Db\Reader.  Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. +%if %{with_lib} +%package -n php-%{pk_vendor}-%{pk_project} +Summary:       MaxMind DB Reader +Release:       %{rpmrel}%{?dist} + +BuildArch:     noarch +BuildRequires: php-fedora-autoloader-devel +%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.*", +#        "squizlabs/php_codesniffer": "3.*" +BuildRequires: php-composer(phpunit/phpunit) +%endif + +# from composer.json "require": { +#        "php": ">=5.4" +Requires:      php(language) >= 5.4 +# 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 +%endif +# From phpcompatifo report for 1.3.0 +Requires:      php-filter +Requires:      php-spl + +Provides:      php-composer(%{pk_vendor}/%{pk_project}) = %{version} + + +%description -n php-%{pk_vendor}-%{pk_project} +MaxMind DB Reader PHP API. + +MaxMind DB is a binary file format that stores data indexed by +IP address subnets (IPv4 or IPv6). + +Autoloader: %{_datadir}/php/MaxMind/Db/Reader/autoload.php +%endif + +  %prep  %setup -q -n %{gh_project}-%{gh_commit}  %patch0 -p1 -b up0 @@ -97,6 +156,13 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO  %patch2 -p1 -b up2  %patch3 -p1 -b up3 +%if %{with_lib} +%{_bindir}/phpab \ +    --template fedora \ +    --output src/MaxMind/Db/Reader/autoload.php \ +    src/MaxMind/Db +%endif +  mv ext NTS  cd NTS @@ -156,21 +222,27 @@ make -C ZTS install INSTALL_ROOT=%{buildroot}  install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}  %endif +%if %{with_lib} +mkdir -p                %{buildroot}%{_datadir}/php/MaxMind +cp -pr src/MaxMind/Db   %{buildroot}%{_datadir}/php/MaxMind/Db +%endif  %check +ret=0 +  cd NTS  : Minimal load test for NTS extension  %{__php} --no-php-ini \      --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \      --modules | grep %{pecl_name} -: Upstream test suite  for NTS extension +: 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 || : ignore +%{__php} -n run-tests.php --show-diff || ret=1  %if %{with_zts}  cd ../ZTS @@ -179,14 +251,31 @@ cd ../ZTS      --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \      --modules | grep %{pecl_name} -: Upstream test suite  for ZTS extension +: 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 +%{__ztsphp} -n run-tests.php --show-diff || ret=1  %endif +%if %{with_lib} && %{with_tests} +cd .. +: Upstream test suite for the library +for cmd in php php56 php70 php71 php72 php73; do +  if which $cmd; then +    $cmd %{_bindir}/phpunit \ +      --bootstrap %{buildroot}%{_datadir}/php/MaxMind/Db/Reader/autoload.php \ +%if %{__isa_bits} == 64 +      --verbose || ret=1 +%else +      --verbose || : ignore per https://github.com/maxmind/MaxMind-DB-Reader-php/issues/77 +%endif +  fi +done +%endif +exit $ret +  %files  %{!?_licensedir:%global license %%doc} @@ -202,7 +291,22 @@ REPORT_EXIT_STATUS=1 \  %endif +%if %{with_lib} +%files -n php-%{pk_vendor}-%{pk_project} +%license LICENSE +%doc composer.json +%doc *.md +%dir %{_datadir}/php/MaxMind +     %{_datadir}/php/MaxMind/Db +%endif + +  %changelog +* Wed Nov 14 2018 Remi Collet <remi@remirepo.net> - 1.3.0-3 +- add php-maxmind-db-reader sub-package providing the library +- open https://github.com/maxmind/MaxMind-DB-Reader-php/issues/77 +  to report test failures on 32-bit +  * Thu Nov  8 2018 Remi Collet <remi@remirepo.net> - 1.3.0-2  - add upstream patches from merged PRs  - add weak dependencies on geolite2 databases | 
