summaryrefslogtreecommitdiffstats
path: root/php-pear-PHP-CodeSniffer.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php-pear-PHP-CodeSniffer.spec')
-rw-r--r--php-pear-PHP-CodeSniffer.spec190
1 files changed, 132 insertions, 58 deletions
diff --git a/php-pear-PHP-CodeSniffer.spec b/php-pear-PHP-CodeSniffer.spec
index f3beb9d..4038684 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-2019 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 aac1f6f347a5c5ac6bc98ad395007df00990f480
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_date 2024-04-23
+%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.3
+Version: 3.9.2
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,57 +89,119 @@ 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}
-
# 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
-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
+* 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
+
+* Fri Jan 31 2020 Remi Collet <remi@remirepo.net> - 3.5.4-1
+- update to 3.5.4
+- fix test suite from
+ https://github.com/squizlabs/PHP_CodeSniffer/pull/2846
+ https://github.com/squizlabs/PHP_CodeSniffer/pull/2847
+
* Wed Dec 4 2019 Remi Collet <remi@remirepo.net> - 3.5.3-1
- update to 3.5.3