diff options
Diffstat (limited to 'php-pear-PHP-CodeSniffer.spec')
-rw-r--r-- | php-pear-PHP-CodeSniffer.spec | 181 |
1 files changed, 117 insertions, 64 deletions
diff --git a/php-pear-PHP-CodeSniffer.spec b/php-pear-PHP-CodeSniffer.spec index a452077..e67753c 100644 --- a/php-pear-PHP-CodeSniffer.spec +++ b/php-pear-PHP-CodeSniffer.spec @@ -1,6 +1,6 @@ # spec file for php-pear-PHP-CodeSniffer # -# Copyright (c) 2013-2020 Remi Collet +# Copyright (c) 2013-2024 Remi Collet # Copyright (c) 2009-2013 Christof Damian # Copyright (c) 2006-2009 Konstantin Ryabitsev # @@ -9,52 +9,66 @@ # # Please, preserve the changelog entries # -%{!?__pear: %global __pear %{_bindir}/pear} -%global pear_name PHP_CodeSniffer + +# remirepo:2 +# For compatibility with SCL +%undefine __brp_mangle_shebangs + +%bcond_without tests + +%global gh_commit 267a4405fff1d9c847134db3a3c92f1ab7f77909 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_date 2024-03-31 +%global gh_owner PHPCSStandards +%global gh_project PHP_CodeSniffer +# keep in old PEAR tree +%global pear_phpdir %{_datadir}/pear + Name: php-pear-PHP-CodeSniffer -Version: 3.5.6 +Version: 3.9.1 Release: 1%{?dist} Summary: PHP coding standards enforcement tool -License: BSD -URL: http://pear.php.net/package/PHP_CodeSniffer -Source0: http://pear.php.net/get/%{pear_name}-%{version}.tgz +License: BSD 3-Clause +URL: https://github.com/%{gh_owner}/%{gh_project} +# git snapshot to retrieve test suite +Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz +Source1: makesrc.sh + +# RPM installation path +Patch0: %{name}-rpm.patch BuildArch: noarch BuildRequires: php(language) >= 5.4 -BuildRequires: php-pear -# to run test suite -# remirepo:1 -%if 0%{?fedora} >= 28 || 0%{?rhel} >= 8 -%global phpunit %{_bindir}/phpunit7 -# remirepo:3 -%else -%global phpunit %{_bindir}/phpunit +BuildRequires: php-tokenizer +BuildRequires: php-xmlwriter +BuildRequires: php-simplexml +BuildRequires: php-dom +BuildRequires: php-iconv +BuildRequires: php-intl +%if %{with tests} +# to run test suite, from composer.json "require-dev" +# "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" +%global phpunit %{_bindir}/phpunit9 +BuildRequires: phpunit9 >= 9.3.4 %endif -BuildRequires: %{phpunit} -Requires(post): %{__pear} -Requires(postun): %{__pear} -# From package.xml -Requires: php-pear(PEAR) +# from composer.json "require": { +# "php": ">=5.4.0", +# "ext-tokenizer": "*", +# "ext-xmlwriter": "*", +# "ext-simplexml": "*" Requires: php(language) >= 5.4 Requires: php-tokenizer Requires: php-xmlwriter Requires: php-simplexml -# From phpcompatinfo report for version 3.0.0 -Requires: php-reflection -Requires: php-ctype -Requires: php-date +# From phpcompatinfo report for version 3.8.0 Requires: php-dom -Requires: php-json Requires: php-iconv -Requires: php-pcntl -Requires: php-pcre -Requires: php-soap -Requires: php-spl +Requires: php-intl -Provides: php-pear(%{pear_name}) = %{version} +Provides: php-pear(%{gh_project}) = %{version} Provides: php-composer(squizlabs/php_codesniffer) = %{version} Provides: phpcs = %{version} Obsoletes: phpcs < %{version} @@ -66,10 +80,8 @@ certain standards, such as PEAR, or user-defined. %prep -%setup -q -c - -cd %{pear_name}-%{version} -mv ../package.xml %{pear_name}.xml +%setup -q -n %{gh_project}-%{gh_commit} +%patch -P0 -p1 -b .rpm %build @@ -77,63 +89,104 @@ mv ../package.xml %{pear_name}.xml %install -cd %{pear_name}-%{version} - -%{__pear} install --nodeps --packagingroot %{buildroot} %{pear_name}.xml +: Install the library +mkdir -p %{buildroot}%{pear_phpdir}/PHP/CodeSniffer +cp -pr src %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/src/ +cp -pr autoload.php %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ +cp -p phpcs.xml.dist %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ +cp -p phpcs.xsd %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ -# Clean up unnecessary files -rm -rf %{buildroot}%{pear_metadir}/.??* +: Cleanup +find %{buildroot}%{pear_phpdir}/PHP/CodeSniffer -depth -type d -name Tests -exec rm -r {} \; -print -# Install XML package description -mkdir -p %{buildroot}%{pear_xmldir} -install -pm 644 %{pear_name}.xml %{buildroot}%{pear_xmldir} +: Install the commands +install -Dpm 755 bin/phpcs %{buildroot}%{_bindir}/phpcs +install -Dpm 755 bin/phpcbf %{buildroot}%{_bindir}/phpcbf +%if %{with tests} %check -cd %{pear_name}-%{version} - -# fix broken pear detection (may use export PHP_CODESNIFFER_PEAR=1 if PR accepted) -# https://github.com/squizlabs/PHP_CodeSniffer/pull/2847 -sed -e '/PHP_CODESNIFFER_PEAR/s/false/true/' -i tests/AllTests.php - # fails with js: Couldn't read source file rm src/Standards/Generic/Tests/Debug/JSHintUnitTest.* -# Version 3.4.0: Tests: 364, Assertions: 419, Skipped: 3. +# Fix current date +YEAR=$(date +%Y) +sed -e "/@copyright/s/2021/${YEAR}/" \ + -i src/Standards/Squiz/Tests/Commenting/FileCommentUnitTest.1.*.fixed + +# Version 3.9.0: Tests: 2276, Assertions: 10969, Warnings: 4, Skipped: 12. ret=0 -# TODO php80 -for cmdarg in "php %{phpunit}" php71 php72 php73 php74; do +for cmdarg in "php %{phpunit}" php81 php82 php83; do if which $cmdarg; then set $cmdarg - $1 -d memory_limit=1G ${2:-%{_bindir}/phpunit7} \ - --verbose || ret=1 + $1 -d memory_limit=-1 ${2:-%{_bindir}/phpunit9} \ + || ret=1 fi done exit $ret +%endif %post -%{__pear} install --nodeps --soft --force --register-only \ - %{pear_xmldir}/%{pear_name}.xml >/dev/null || : - -%postun -if [ $1 -eq 0 ] ; then - %{__pear} uninstall --nodeps --ignore-errors --register-only \ - %{pear_name} >/dev/null || : +# no more from pear channel +if [ -x %{_bindir}/pear ]; then + %{_bindir}/pear uninstall --nodeps --ignore-errors --register-only %{gh_project} >/dev/null || : fi %files -%doc %{pear_docdir}/%{pear_name} -%{pear_xmldir}/%{pear_name}.xml -%{pear_testdir}/%{pear_name} -%{pear_datadir}/%{pear_name} +%{!?_licensedir:%global license %%doc} +%license licence.txt +%doc *.md %{pear_phpdir}/PHP %{_bindir}/phpcbf %{_bindir}/phpcs %changelog +* Tue Apr 2 2024 Remi Collet <remi@remirepo.net> - 3.9.1-1 +- update to 3.9.1 + +* Sat Feb 17 2024 Remi Collet <remi@remirepo.net> - 3.9.0-1 +- update to 3.9.0 +- drop patch merged upstream + +* Fri Jan 12 2024 Remi Collet <remi@remirepo.net> - 3.8.1-1 +- update to 3.8.1 +- add patch for test suite from + https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/256 + +* Mon Dec 11 2023 Remi Collet <remi@remirepo.net> - 3.8.0-1 +- update to 3.8.0 +- sources from github instead or pear channel + +* Thu Feb 23 2023 Remi Collet <remi@remirepo.net> - 3.7.2-1 +- update to 3.7.2 + +* Mon Jun 20 2022 Remi Collet <remi@remirepo.net> - 3.7.1-1 +- update to 3.7.1 + +* Mon Jun 13 2022 Remi Collet <remi@remirepo.net> - 3.7.0-1 +- update to 3.7.0 + +* Thu Jan 27 2022 Remi Collet <remi@remirepo.net> - 3.6.2-2 +- fix new year in test suite, FBTFS #2046828 + +* Tue Dec 14 2021 Remi Collet <remi@remirepo.net> - 3.6.2-1 +- update to 3.6.2 + +* Mon Oct 11 2021 Remi Collet <remi@remirepo.net> - 3.6.1-1 +- update to 3.6.1 + +* Fri Apr 9 2021 Remi Collet <remi@remirepo.net> - 3.6.0-1 +- update to 3.6.0 + +* Fri Feb 5 2021 Remi Collet <remi@remirepo.net> - 3.5.8-2 +- fix test relying on current year, fix FTBFS #1923570 + +* Fri Oct 23 2020 Remi Collet <remi@remirepo.net> - 3.5.8-1 +- update to 3.5.8 + * Tue Aug 11 2020 Remi Collet <remi@remirepo.net> - 3.5.6-1 - update to 3.5.6 |