From 7ec7cdc19c28c49a43cfa4bfc864995f3e118dd2 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 23 Dec 2024 09:14:54 +0100 Subject: [PATCH] import from review #2188329 --- .gitignore | 1 + makesrc.sh | 34 +++++ php-phpstan-phpdoc-parser.spec | 231 +++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 267 insertions(+) create mode 100644 .gitignore create mode 100755 makesrc.sh create mode 100644 php-phpstan-phpdoc-parser.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9fae12e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/php-phpstan-phpdoc-parser-1.33.0-82a311f.tgz diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..a68df44 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo Skip $NAME-$VERSION-$SHORT.tgz +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + + echo "Cloning..." + rm -rf $PROJECT-$COMMIT + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer.json + rm build-abnfgen.sh + rm tests/abnfgen-0.20.tar.gz + popd + + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT + + echo "Done." +fi diff --git a/php-phpstan-phpdoc-parser.spec b/php-phpstan-phpdoc-parser.spec new file mode 100644 index 0000000..2f4e744 --- /dev/null +++ b/php-phpstan-phpdoc-parser.spec @@ -0,0 +1,231 @@ +# remirepo/Fedora spec file for php-phpstan-phpdoc-parser +# +# SPDX-FileCopyrightText: Copyright 2024 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +# +# Please, preserve the changelog entries +# + +%bcond_without tests + +%global gh_commit 82a311fd3690fb2bf7b64d5c98f912b3dd746140 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner phpstan +%global gh_project phpdoc-parser +%global php_home %{_datadir}/php +%global namespace PHPStan +%global library PhpDocParser +%global major %nil + +Name: php-%{gh_owner}-%{gh_project}%{major} +Version: 1.33.0 +Release: 2%{?dist} +Summary: PHPDoc parser with support for nullable, intersection and generic types + +License: MIT +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 + +BuildArch: noarch +# Tests +%if %{with tests} +BuildRequires: php(language) >= 7.2 +BuildRequires: php-json +BuildRequires: php-pcre +# From composer, "require-dev": { +# "doctrine/annotations": "^2.0", +# "nikic/php-parser": "^4.15", +# "php-parallel-lint/php-parallel-lint": "^1.2", +# "phpstan/extension-installer": "^1.0", +# "phpstan/phpstan": "^1.5", +# "phpstan/phpstan-phpunit": "^1.1", +# "phpstan/phpstan-strict-rules": "^1.0", +# "phpunit/phpunit": "^9.5", +# "symfony/process": "^5.2" +%global phpunit %{_bindir}/phpunit9 +BuildRequires: phpunit9 >= 9.5 +%endif +BuildRequires: (php-composer(nikic/php-parser) >= 4.15 with php-composer(nikic/php-parser) < 5) +# Autoloader +BuildRequires: php-fedora-autoloader-devel + +# From composer, "require": { +# "php": "^7.2 || ^8.0" +Requires: php(language) >= 7.2 +# Autoloader +Requires: php-composer(fedora/autoloader) +# From phpcompatinfo report for version 2.4.2 +Requires: php-json +Requires: php-pcre + +Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} + + +%description +Next generation phpDoc parser with support for intersection types and generics. + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + + +%build +phpab --template fedora --output src/autoload.php src + + +%install +: library +mkdir -p %{buildroot}%{php_home}/%{namespace}/ +cp -pr src %{buildroot}%{php_home}/%{namespace}/%{library}%{major} + + +%check +%if %{with tests} +mkdir vendor +cat << 'EOF' | tee vendor/autoload.php + - 1.33.0-2 +- drop abnfgen from archive +- re-license spec file to CECILL-2.1 + +* Mon Oct 14 2024 Remi Collet - 1.33.0-1 +- update to 1.33.0 + +* Thu Sep 26 2024 Remi Collet - 1.32.0-1 +- update to 1.32.0 + +* Mon Sep 23 2024 Remi Collet - 1.31.0-1 +- update to 1.31.0 + +* Mon Sep 9 2024 Remi Collet - 1.30.1-1 +- update to 1.30.1 + +* Thu Aug 29 2024 Remi Collet - 1.30.0-1 +- update to 1.30.0 + +* Fri May 31 2024 Remi Collet - 1.29.1-1 +- update to 1.29.1 + +* Mon May 13 2024 Remi Collet - 1.29.0-1 +- update to 1.29.0 + +* Thu Apr 4 2024 Remi Collet - 1.28.0-1 +- update to 1.28.0 + +* Thu Mar 21 2024 Remi Collet - 1.27.0-1 +- update to 1.27.0 + +* Mon Feb 26 2024 Remi Collet - 1.26.0-1 +- update to 1.26.0 + +* Fri Jan 5 2024 Remi Collet - 1.25.0-1 +- update to 1.25.0 + +* Mon Dec 18 2023 Remi Collet - 1.24.5-1 +- update to 1.24.5 + +* Mon Nov 27 2023 Remi Collet - 1.24.4-1 +- update to 1.24.4 + +* Mon Nov 20 2023 Remi Collet - 1.24.3-1 +- update to 1.24.3 + +* Wed Sep 27 2023 Remi Collet - 1.24.2-1 +- update to 1.24.2 + +* Tue Sep 19 2023 Remi Collet - 1.24.1-1 +- update to 1.24.1 + +* Fri Sep 8 2023 Remi Collet - 1.24.0-1 +- update to 1.24.0 + +* Fri Aug 4 2023 Remi Collet - 1.23.1-1 +- update to 1.23.1 + +* Mon Jul 24 2023 Remi Collet - 1.23.0-1 +- update to 1.23.0 + +* Mon Jul 3 2023 Remi Collet - 1.22.1-1 +- update to 1.22.1 + +* Fri Jun 2 2023 Remi Collet - 1.22.0-1 +- update to 1.22.0 + +* Tue May 30 2023 Remi Collet - 1.21.3-1 +- update to 1.21.3 + +* Wed May 17 2023 Remi Collet - 1.21.0-1 +- update to 1.21.0 + +* Wed May 3 2023 Remi Collet - 1.20.4-1 +- update to 1.20.4 + +* Tue Apr 25 2023 Remi Collet - 1.20.3-1 +- update to 1.20.3 + +* Tue Apr 25 2023 Remi Collet - 1.20.2-1 +- update to 1.20.2 + +* Sun Apr 23 2023 Remi Collet - 1.20.1-1 +- update to 1.20.1 + +* Thu Apr 20 2023 Remi Collet - 1.20.0-1 +- update to 1.20.0 + +* Wed Apr 19 2023 Remi Collet - 1.19.1-1 +- update to 1.19.1 + +* Fri Apr 7 2023 Remi Collet - 1.18.1-1 +- update to 1.18.1 + +* Thu Apr 6 2023 Remi Collet - 1.18.0-1 +- update to 1.18.0 + +* Tue Apr 4 2023 Remi Collet - 1.17.1-1 +- update to 1.17.1 + +* Mon Mar 20 2023 Remi Collet - 1.16.1-1 +- initial package diff --git a/sources b/sources new file mode 100644 index 0000000..396f381 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (php-phpstan-phpdoc-parser-1.33.0-82a311f.tgz) = 7a3d145c308ef6ad1ff3665e2711d044490402ecbc3b74418275ed1f613b7cf9f4cba5212fae6f42ae887130e5c820e65fc3a5ce6deffbf0054cf6857312d799