# # Fedora spec file for php-symfony-polyfill # # Copyright (c) 2015-2017 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT # # Please preserve changelog entries # %global github_owner symfony %global github_name polyfill %global github_version 1.4.0 %global github_commit a80c6de45ebd2a041415ba17879ff7309ead51f6 %global composer_vendor symfony %global composer_project polyfill # "php": ">=5.3.3" %global php_min_ver 5.3.3 # "paragonie/random_compat": "~1.0|~2.0" %global paragonie_random_compat_min_ver 1.0 %global paragonie_random_compat_max_ver 3.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} %{!?phpdir: %global phpdir %{_datadir}/php} Name: php-%{composer_vendor}-%{composer_project} Version: %{github_version} Release: 1%{?github_release}%{?dist} Summary: Symfony polyfills backporting features to lower PHP versions Group: Development/Libraries License: MIT URL: https://github.com/%{github_owner}/%{github_name} Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz BuildArch: noarch # Autoloader BuildRequires: php-fedora-autoloader-devel # Tests %if %{with_tests} BuildRequires: php-composer(phpunit/phpunit) ## composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(ircmaxell/password-compat) BuildRequires: php-composer(paragonie/random_compat) >= %{paragonie_random_compat_min_ver} ## phpcompatinfo (computed from version 1.3.0) BuildRequires: php-hash BuildRequires: php-json BuildRequires: php-ldap BuildRequires: php-mbstring BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-spl %endif # composer.json Requires: php(language) >= %{php_min_ver} Requires: php-composer(ircmaxell/password-compat) Requires: php-composer(paragonie/random_compat) >= %{paragonie_random_compat_min_ver} Requires: php-composer(paragonie/random_compat) < %{paragonie_random_compat_max_ver} # phpcompatinfo (computed from version 1.3.0) Requires: php-hash Requires: php-json Requires: php-mbstring Requires: php-pcre Requires: php-reflection Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-util) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-php54) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-php55) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-php56) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-php70) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-php71) = %{version} Provides: php-composer(%{composer_vendor}/%{composer_project}-php72) = %{version} %description %{summary}. Autoloader: %{phpdir}/Symfony/Polyfill/autoload.php %prep %setup -qn %{github_name}-%{github_commit} : Docs mkdir -p docs/{Php54,Php55,Php56,Php70,Php71,Php72,Util} mv *.md composer.json docs/ mv src/Php54/{*.md,composer.json} docs/Php54/ mv src/Php55/{*.md,composer.json} docs/Php55/ mv src/Php56/{*.md,composer.json} docs/Php56/ mv src/Php70/{*.md,composer.json} docs/Php70/ mv src/Php71/{*.md,composer.json} docs/Php71/ mv src/Php72/{*.md,composer.json} docs/Php72/ mv src/Util/{*.md,composer.json} docs/Util/ : Remove unneeded polyfills rm -rf {src,tests}/{Apcu,Iconv,Intl,Mbstring,Xml} %build : Create autoloader classmap %{_bindir}/phpab --template fedora --tolerant --output src/autoload.php src/ cat src/autoload.php : Create autoloader cat <<'AUTOLOAD' | tee -a src/autoload.php \Fedora\Autoloader\Dependencies::required(array( __DIR__ . '/Php54/bootstrap.php', __DIR__ . '/Php55/bootstrap.php', __DIR__ . '/Php56/bootstrap.php', __DIR__ . '/Php70/bootstrap.php', __DIR__ . '/Php71/bootstrap.php', __DIR__ . '/Php72/bootstrap.php', '%{phpdir}/password_compat/password.php', '%{phpdir}/random_compat/autoload.php', )); AUTOLOAD %install : Library mkdir -p %{buildroot}%{phpdir}/Symfony/Polyfill cp -rp src/* %{buildroot}%{phpdir}/Symfony/Polyfill/ %check %if %{with_tests} : Upstream tests RETURN_CODE=0 PHPUNIT=$(which phpunit) for PHP_EXEC in "" %{?rhel:php54 php55} php56 php70 php71 php72; do if [ -z "$PHP_EXEC" ] || which $PHP_EXEC; then $PHP_EXEC $PHPUNIT --verbose \ --bootstrap %{buildroot}%{phpdir}/Symfony/Polyfill/autoload.php \ || RETURN_CODE=1 fi done exit $RETURN_CODE %else : Tests skipped %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc docs/* %dir %{phpdir}/Symfony %{phpdir}/Symfony/Polyfill %exclude %{phpdir}/Symfony/Polyfill/*/LICENSE %changelog * Sun Jul 09 2017 Shawn Iwinski - 1.4.0-1 - Updated to 1.4.0 (RHBZ #1460473) - Provide php-composer(symfony/polyfill-php72) - Test with SCLs if available * Sat Feb 11 2017 Fedora Release Engineering - 1.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Nov 14 2016 Remi Collet - 1.3.0-1 - Updated to 1.3.0 - provide php-composer(symfony/polyfill-php71) - switch to fedora/autoloader * Thu Jun 16 2016 Shawn Iwinski - 1.2.0-1 - Updated to 1.2.0 (RHBZ #1301791) * Tue Apr 12 2016 Shawn Iwinski - 1.1.1-1 - Updated to 1.1.1 (RHBZ #1301791) * Thu Feb 04 2016 Fedora Release Engineering - 1.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Sun Jan 03 2016 Shawn Iwinski - 1.0.1-1 - Updated to 1.0.1 (RHBZ #1294916) * Mon Dec 07 2015 Shawn Iwinski - 1.0.0-3 - Fixed Util docs - Added "%%dir %%{phpdir}/Symfony" to %%files * Sun Dec 06 2015 Shawn Iwinski - 1.0.0-2 - Always include ALL polyfills * Wed Nov 25 2015 Shawn Iwinski - 1.0.0-1 - Initial package