# remirepo/fedora spec file for php-bartlett-php-compatinfo-db # # Copyright (c) 2015-2019 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # # See https://github.com/llaville/php-compatinfo-db/releases %global gh_commit f243bc5d42fc073d3056c4772dee17a066e67a5c %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) #global gh_date 20151031 %global gh_owner llaville %global gh_project php-compatinfo-db #global prever alpha1 # Namespace %global ns_vendor Bartlett %global ns_project CompatInfoDb # Composer %global c_vendor bartlett %global c_project php-compatinfo-db %if 0%{?fedora} < 30 && 0%{?rhel} < 8 %global with_tests 0%{!?_without_tests:1} %else # See https://github.com/llaville/php-compatinfo-db/issues/22 PHP 7.3 %global with_tests 0%{?_with_tests:1} %endif Name: php-%{c_vendor}-%{c_project} Version: 1.42.0 %global specrel 1 Release: %{?gh_date:1%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} Summary: Reference Database to be used with php-compatinfo library License: BSD URL: https://github.com/%{gh_owner}/%{gh_project} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}%{?prever}-%{gh_short}.tar.gz # Autoloader for RPM Source1: %{name}-1.2.0-autoload.php # Autoload and sqlite database path Patch0: %{name}-1.19.0-rpm.patch # CURL_SSLVERSION constants have been backported Patch1: %{name}-curltls.patch BuildArch: noarch # Needed to build the database from sources BuildRequires: php(language) >= 5.5 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) %else BuildRequires: php-composer(composer/semver) < 2 BuildRequires: php-composer(composer/semver) >= 1.0 %endif BuildRequires: php-curl BuildRequires: php-intl BuildRequires: php-libxml BuildRequires: php-openssl BuildRequires: php-pcre BuildRequires: php-spl BuildRequires: php-json BuildRequires: php-pdo_sqlite # For our patch / autoloader BuildRequires: php-composer(fedora/autoloader) # From composer.json, "require-dev": { # "symfony/console": "^2.5||^3.0||^4.0", # "psr/log": "^1.0", # "monolog/monolog": "^1.10", # "bartlett/phpunit-loggertestlistener": "^1.5" # "phpunit/php-timer": "^1.0||^2.0" BuildRequires: php-cli BuildRequires: php-symfony3-console %if %{with_tests} BuildRequires: php-composer(phpunit/phpunit) %endif # From composer.json, "require" # "php": "^5.5|^7.0", # "composer/semver": "^1.0", # "ext-curl": "*", # "ext-intl": "*", # "ext-libxml": "*", # "ext-openssl": "*", # "ext-pcre": "*", # "ext-spl": "*", # "ext-json": "*", # "ext-pdo_sqlite": "*" Requires: php(language) >= 5.5 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) %else Requires: php-composer(composer/semver) < 2 Requires: php-composer(composer/semver) >= 1.0 %endif Requires: php-curl Requires: php-intl Requires: php-libxml Requires: php-openssl Requires: php-pcre Requires: php-spl Requires: php-json Requires: php-pdo_sqlite # Required by autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{c_vendor}/%{c_project}) = %{version} # Extracted from bartlett/php-compatinfo 4 Conflicts: php-bartlett-PHP-CompatInfo < 5 %description %{summary}. %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm %patch1 -p0 -b .curltls cp %{SOURCE1} src/%{ns_vendor}/%{ns_project}/autoload.php # Use package version sed -e 's/@VERSION@/%{version}/' -i data/handleDB.php # Cleanup patched files find src -name \*rpm -delete -print %build : Ensure current version is known by reference OPT=$(php -r ' require "src/%{ns_vendor}/%{ns_project}/autoload.php"; switch (PHP_MAJOR_VERSION . PHP_MINOR_VERSION) { case "54": $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_5_4; break; case "55": $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_5_5; break; case "56": $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_5_6; break; case "70": $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_0; break; case "71": $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_1; break; case "72": $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_2; break; default: exit(0); } if (version_compare(PHP_VERSION, $max, ">")) { fputs(STDERR, "Current: " . PHP_VERSION . " > Known: $max\n\n"); echo "/LATEST_PHP_" . PHP_MAJOR_VERSION . "_" . PHP_MINOR_VERSION . "/s/" . PHP_MAJOR_VERSION . "\." .PHP_MINOR_VERSION . "\.[0-9]*/" . PHP_VERSION . "/"; } else { fputs(STDERR, "Current: " . PHP_VERSION . " = Known: $max\n\n"); } ') if [ -n "$OPT" ]; then sed -e "$OPT" -i src/Bartlett/CompatInfoDb/ExtensionFactory.php fi grep " LATEST" src/Bartlett/CompatInfoDb/ExtensionFactory.php : Fix references database %{_bindir}/php -d date.timezone=Europe/Paris data/handleDB.php db:release:php : Generate the references database %{_bindir}/php -d date.timezone=Europe/Paris data/handleDB.php db:init %install mkdir -p %{buildroot}%{_datadir}/php cp -pr src/%{ns_vendor} %{buildroot}%{_datadir}/php/%{ns_vendor} install -D -p -m 644 data/compatinfo.sqlite %{buildroot}%{_datadir}/%{name}/compatinfo.sqlite %if %{with_tests} %check export BARTLETT_COMPATINFO_DB=%{buildroot}%{_datadir}/%{name}/compatinfo.sqlite # remirepo:6 VER=$(php -r "echo PHP_MAJOR_VERSION . PHP_MINOR_VERSION;") if [ $VER -lt 72 ]; then # because of polyfill rm tests/Reference/Extension/CoreExtensionTest.php rm tests/Reference/Extension/StandardExtensionTest.php fi # See https://github.com/llaville/php-compatinfo-db/issues/28 rm tests/Reference/Extension/Sqlite3ExtensionTest.php rm tests/Reference/Extension/MemcacheExtensionTest.php %{_bindir}/phpunit \ --include-path %{buildroot}%{_datadir}/php \ -d memory_limit=1G %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json %doc *.md %dir %{_datadir}/php/%{ns_vendor} %{_datadir}/php/%{ns_vendor}/%{ns_project} %{_datadir}/%{name} %changelog * Thu Apr 11 2019 Remi Collet - 1.42.0-1 - update to 1.42.0 - open https://github.com/llaville/php-compatinfo-db/issues/28 missing new reference for memcache 4.0.3 and sqlite3 * Mon Mar 11 2019 Remi Collet - 1.41.0-1 - update to 1.41.0 * Mon Feb 25 2019 Remi Collet - 1.40.1-1 - update to 1.40.1 * Sat Feb 23 2019 Remi Collet - 1.40.0-1 - update to 1.14.0 * Tue Dec 18 2018 Remi Collet - 1.39.0-1 - update to 1.39.0 * Mon Nov 19 2018 Remi Collet - 1.38.1-1 - update to 1.38.1 (no change) * Tue Nov 13 2018 Remi Collet - 1.38.0-1 - update to 1.38.0 * Fri Oct 12 2018 Remi Collet - 1.37.0-1 - update to 1.37.0 - use symfony3 - ignore test failing because of symfony/polyfill * Sun Oct 7 2018 Remi Collet - 1.36.0-2 - update to 1.36.0 - raise dependency on PHP 5.5 - open https://github.com/llaville/php-compatinfo-db/issues/14 zip - open https://github.com/llaville/php-compatinfo-db/issues/15 http - open https://github.com/llaville/php-compatinfo-db/issues/16 redis - open https://github.com/llaville/php-compatinfo-db/issues/17 uopz - open https://github.com/llaville/php-compatinfo-db/issues/18 varnish * Wed Aug 29 2018 Remi Collet - 1.35.0-2 - update to 1.35.0 * Mon Jul 23 2018 Remi Collet - 1.34.0-1 - update to 1.34.0 * Fri Jul 6 2018 Remi Collet - 1.33.0-1 - update to 1.33.0 * Fri Apr 27 2018 Remi Collet - 1.32.0-1 - update to 1.32.0 * Thu Apr 5 2018 Remi Collet - 1.31.0-1 - update to 1.31.0 * Fri Mar 2 2018 Remi Collet - 1.30.0-1 - Update to 1.30.0 * Fri Feb 2 2018 Remi Collet - 1.29.0-1 - Update to 1.29.0 - use range dependency on F27+ * Tue Jan 9 2018 Remi Collet - 1.28.0-1 - Update to 1.28.0 * Fri Jan 5 2018 Remi Collet - 1.27.0-2 - enable test suite with 7.1 * Fri Jan 5 2018 Remi Collet - 1.27.0-1 - Update to 1.27.0 * Fri Nov 24 2017 Remi Collet - 1.26.0-1 - Update to 1.26.0 * Tue Oct 31 2017 Remi Collet - 1.25.0-1 - Update to 1.25.0 * Tue Oct 3 2017 Remi Collet - 1.24.0-1 - Update to 1.24.0 * Thu Sep 28 2017 Remi Collet - 1.24.0~RC1-1 - Update to 1.24.0RC1 * Mon Jul 17 2017 Remi Collet - 1.23.0-1 - Update to 1.23.0 * Sat Jun 10 2017 Remi Collet - 1.22.0-1 - Update to 1.22.0 * Fri Jun 9 2017 Remi Collet - 1.21.0-1 - Update to 1.21.0 * Fri Apr 14 2017 Remi Collet - 1.20.0-1 - Update to 1.20.0 * Fri Mar 17 2017 Remi Collet - 1.19.0-1 - Update to 1.19.0 - adapt patch fixing DB location * Fri Feb 24 2017 Remi Collet - 1.18.0-1 - update to 1.18.0 * Tue Jan 24 2017 Remi Collet - 1.17.0-1 - update to 1.17.0 * Fri Dec 16 2016 Remi Collet - 1.16.0-1 - update to 1.16.0 * Wed Nov 23 2016 Remi Collet - 1.15.0-1 - update to 1.15.0 - disable test suite with PHP 7.1, not yet supported https://github.com/llaville/php-compatinfo-db/issues/8 * Mon Oct 31 2016 Remi Collet - 1.14.0-2 - switch to fedora/autoloader * Sat Oct 15 2016 Remi Collet - 1.14.0-1 - update to 1.14.0 * Tue Oct 4 2016 Remi Collet - 1.13.0-1 - update to 1.13.0 * Tue Sep 27 2016 Remi Collet - 1.12.0-1 - update to 1.12.0 * Tue Jul 26 2016 Remi Collet - 1.11.0-1 - update to 1.11.0 * Tue Jul 5 2016 Remi Collet - 1.10.0-1 - update to 1.10.0 * Sat May 28 2016 Remi Collet - 1.9.0-1 - update to 1.9.0 * Tue May 3 2016 Remi Collet - 1.8.1-1 - update to 1.8.1 * Tue May 3 2016 Remi Collet - 1.8.0-1 - update to 1.8.0 - fix broken imagick references https://github.com/llaville/php-compatinfo-db/issues/4 * Tue Apr 12 2016 Remi Collet - 1.7.0-1 - update to 1.7.0 * Sat Mar 5 2016 Remi Collet - 1.6.0-1 - update to 1.6.0 - use package version as version in database instead of date * Sat Feb 6 2016 Remi Collet - 1.5.0-1 - update to 1.5.0 * Sat Jan 9 2016 Remi Collet - 1.4.0-1 - update to 1.4.0 * Tue Dec 29 2015 Remi Collet - 1.3.0-1 - update to 1.3.0 * Thu Dec 10 2015 Remi Collet - 1.2.0-2 - fix reference to ensure current version is known as we usually build RC version in rawhide. * Sat Dec 5 2015 Remi Collet - 1.2.0-1 - update to 1.2.0 - add dependency on composer/semver * Wed Nov 4 2015 Remi Collet - 1.0.0-0.1.alpha1 - Initial package