diff options
Diffstat (limited to 'php-pear-PHP-CodeSniffer.spec')
| -rw-r--r-- | php-pear-PHP-CodeSniffer.spec | 259 | 
1 files changed, 186 insertions, 73 deletions
| diff --git a/php-pear-PHP-CodeSniffer.spec b/php-pear-PHP-CodeSniffer.spec index 17eac3d..4754ca4 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-2025 Remi Collet  # Copyright (c) 2009-2013 Christof Damian  # Copyright (c) 2006-2009 Konstantin Ryabitsev  # @@ -9,52 +9,70 @@  #  # 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    06113cfdaf117fc2165f9cd040bd0f17fcd5242d +%global gh_short     %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_date      2025-06-17 +%global gh_owner     PHPCSStandards +%global gh_project   PHP_CodeSniffer +# keep in old PEAR tree +%global pear_phpdir  %{_datadir}/pear + +%global upstream_version 4.0.0 +#global upstream_prever  rc1  Name:           php-pear-PHP-CodeSniffer -Version:        3.5.5 +Version:        %{upstream_version}%{?upstream_prever:~%{upstream_prever}}  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:        %{name}-%{upstream_version}%{?upstream_prever}-%{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 +# 8.1 because of phpunit10 +BuildRequires:  php(language) >= 8.1 +BuildRequires:  php-tokenizer +BuildRequires:  php-xmlwriter +BuildRequires:  php-simplexml +BuildRequires:  php-dom +BuildRequires:  php-iconv +BuildRequires:  php-intl +%if %{with tests} +BuildRequires:  php-bcmath +# to run test suite, from composer.json "require-dev" +#        "phpunit/phpunit": "^8.0 || ^9.3.4 || ^10.5.32 || ^11.3.3" +%global phpunit %{_bindir}/phpunit10 +BuildRequires:  phpunit10 >= 10.5.32  %endif -BuildRequires:  %{phpunit} -Requires(post): %{__pear} -Requires(postun): %{__pear} -# From package.xml -Requires:       php-pear(PEAR) -Requires:       php(language) >= 5.4 +# from composer.json "require": { +#        "php": ">=7.2.0", +#        "ext-tokenizer": "*", +#        "ext-xmlwriter": "*", +#        "ext-simplexml": "*" +Requires:       php(language) >= 7.2  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 +84,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,62 +93,159 @@ mv ../package.xml %{pear_name}.xml  %install -cd %{pear_name}-%{version} +: 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 -pr requirements.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/ -%{__pear} install --nodeps --packagingroot %{buildroot} %{pear_name}.xml +: Cleanup +find %{buildroot}%{pear_phpdir}/PHP/CodeSniffer -depth -type d -name Tests -exec rm -r {} \; -print -# Clean up unnecessary files -rm -rf %{buildroot}%{pear_metadir}/.??* - -# 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) +PREV=$(expr $YEAR - 1) +sed -e "/@copyright/s/${PREV}/${YEAR}/" \ +    -i src/Standards/Squiz/Tests/Commenting/FileCommentUnitTest.1.*.fixed + +# Version 4.0.0beta1: Tests: 3871, Assertions: 23018, PHPUnit Deprecations: 777, Skipped: 16. +# testBrokenRulesetMultiError failing reported as https://github.com/PHPCSStandards/PHP_CodeSniffer/issues/767  ret=0 -for cmdarg in "php %{phpunit}" php71 php72 php73 php74; do -  if which $cmdarg; then +for cmdarg in \ +    "php   %{phpunit}" \ +    "php81 %{_bindir}/phpunit10" \ +    "php82 %{_bindir}/phpunit11" \ +    "php83 %{_bindir}/phpunit11" \ +    "php84 %{_bindir}/phpunit11" \ +    "php85 %{_bindir}/phpunit11" +  do if which $cmdarg; then      set $cmdarg -    $1 -d memory_limit=1G ${2:-%{_bindir}/phpunit7} \ -       --verbose || ret=1 +    $1 -d memory_limit=-1 $2 \ +       --filter '^((?!(testBrokenRulesetMultiError)).)*$' \ +       --no-coverage || ret=1    fi  done  exit $ret - - -%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 || : -fi +%endif  %files -%doc %{pear_docdir}/%{pear_name} -%{pear_xmldir}/%{pear_name}.xml -%{pear_testdir}/%{pear_name} -%{pear_datadir}/%{pear_name} +%license licence.txt +%doc *.md  %{pear_phpdir}/PHP  %{_bindir}/phpcbf  %{_bindir}/phpcs  %changelog +* Mon Sep 15 2025 Remi Collet <remi@remirepo.net> - 4.0.0-1 +- update to 4.0.0 + +* Wed Jun 18 2025 Remi Collet <remi@remirepo.net> - 4.0.0~rc1-1 +- update to 4.0.0-RC1 + +* Thu May 15 2025 Remi Collet <remi@remirepo.net> - 4.0.0~beta1-1 +- update to 4.0.0beta1 +- raise dependency on PHP 7.2 +- switch to phpunit10 + +* Thu May 15 2025 Remi Collet <remi@remirepo.net> - 3.13.0-1 +- update to 3.13.0 + +* Mon Apr 14 2025 Remi Collet <remi@remirepo.net> - 3.12.2-1 +- update to 3.12.2 + +* Mon Apr  7 2025 Remi Collet <remi@remirepo.net> - 3.12.1-1 +- update to 3.12.1 + +* Tue Mar 18 2025 Remi Collet <remi@remirepo.net> - 3.12.0-1 +- update to 3.12.0 + +* Fri Jan 24 2025 Remi Collet <remi@remirepo.net> - 3.11.3-1 +- update to 3.11.3 + +* Wed Jan 22 2025 Remi Collet <remi@remirepo.net> - 3.11.2-2 +- fix tests failing because of new year + +* Thu Dec 12 2024 Remi Collet <remi@remirepo.net> - 3.11.2-1 +- update to 3.11.2 + +* Mon Nov 18 2024 Remi Collet <remi@remirepo.net> - 3.11.1-1 +- update to 3.11.1 + +* Tue Nov 12 2024 Remi Collet <remi@remirepo.net> - 3.11.0-1 +- update to 3.11.0 + +* Wed Sep 18 2024 Remi Collet <remi@remirepo.net> - 3.10.3-1 +- update to 3.10.3 + +* Mon Jul 22 2024 Remi Collet <remi@remirepo.net> - 3.10.2-1 +- update to 3.10.2 + +* Thu May 23 2024 Remi Collet <remi@remirepo.net> - 3.10.1-1 +- update to 3.10.1 + +* Wed May 22 2024 Remi Collet <remi@remirepo.net> - 3.10.0-1 +- update to 3.10.0 + +* Wed Apr 24 2024 Remi Collet <remi@remirepo.net> - 3.9.2-1 +- update to 3.9.2 + +* 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 +  * Mon Apr 20 2020 Remi Collet <remi@remirepo.net> - 3.5.5-1  - update to 3.5.5 | 
