From 7a3c7164f8c4a5ed8fd444024090a18e83de3261 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 9 Sep 2016 16:48:28 +0200 Subject: php-cs-fixer: 1.12.1, New package --- Makefile | 4 ++ composer.json | 49 +++++++++++++ makesrc.sh | 27 +++++++ php-cs-fixer-autoload.patch | 17 +++++ php-cs-fixer-autoload.php | 20 ++++++ php-cs-fixer.spec | 172 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 289 insertions(+) create mode 100644 Makefile create mode 100644 composer.json create mode 100755 makesrc.sh create mode 100644 php-cs-fixer-autoload.patch create mode 100644 php-cs-fixer-autoload.php create mode 100644 php-cs-fixer.spec diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..91b0fd5 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../common/Makefile + diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..6cd8abc --- /dev/null +++ b/composer.json @@ -0,0 +1,49 @@ +{ + "name": "friendsofphp/php-cs-fixer", + "type": "application", + "description": "A tool to automatically fix PHP code style", + "license": "MIT", + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz RumiƄski", + "email": "dariusz.ruminski@gmail.com" + } + ], + "require": { + "php": "^5.3.6 || >=7.0 <7.2", + "ext-tokenizer": "*", + "symfony/console": "^2.3 || ^3.0", + "symfony/event-dispatcher": "^2.1 || ^3.0", + "symfony/filesystem": "^2.1 || ^3.0", + "symfony/finder": "^2.1 || ^3.0", + "symfony/process": "^2.3 || ^3.0", + "symfony/stopwatch": "^2.5 || ^3.0", + "sebastian/diff": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.5|^5", + "satooshi/php-coveralls": "^1.0" + }, + "conflict": { + "hhvm": "<3.9" + }, + "autoload": { + "psr-4": { "Symfony\\CS\\": "Symfony/CS/" } + }, + "bin": ["php-cs-fixer"], + "scripts": { + "test": [ + "phpunit" + ], + "test-ci": [ + "phpunit --verbose --coverage-clover build/logs/clover.xml" + ] + }, + "config": { + "process-timeout": 0 + } +} diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..c047df5 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +NAME=$(sed -n '/^Name:/{s/.* //;p}' *.spec) +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} + +echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + +echo "Cloning..." +git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + +echo "Getting commit..." +pushd $PROJECT-$COMMIT +git checkout $COMMIT +cp composer.json ../composer.json +popd + +echo "Archiving..." +tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + +echo "Cleaning..." +rm -rf $PROJECT-$COMMIT + +echo "Done." diff --git a/php-cs-fixer-autoload.patch b/php-cs-fixer-autoload.patch new file mode 100644 index 0000000..7552b68 --- /dev/null +++ b/php-cs-fixer-autoload.patch @@ -0,0 +1,17 @@ +diff -up ./php-cs-fixer.rpm ./php-cs-fixer +--- ./php-cs-fixer.rpm 2016-09-09 16:14:16.000000000 +0200 ++++ ./php-cs-fixer 2016-09-09 16:36:48.052810179 +0200 +@@ -31,12 +31,7 @@ set_error_handler(function ($severity, $ + } + }); + +-// installed via composer? +-if (file_exists($a = __DIR__.'/../../autoload.php')) { +- require_once $a; +-} else { +- require_once __DIR__.'/vendor/autoload.php'; +-} ++require_once '/usr/share/php/Symfony/CS/autoload.php'; + + use Symfony\CS\Console\Application; + diff --git a/php-cs-fixer-autoload.php b/php-cs-fixer-autoload.php new file mode 100644 index 0000000..dcaa350 --- /dev/null +++ b/php-cs-fixer-autoload.php @@ -0,0 +1,20 @@ +register(); +} + +$fedoraClassLoader->addPrefix('Symfony\\CS\\', dirname(dirname(__DIR__))); + +// Dependencies +require_once $vendorDir . '/Symfony/Component/autoload.php'; +require_once $vendorDir . '/SebastianBergmann/Diff/autoload.php'; + diff --git a/php-cs-fixer.spec b/php-cs-fixer.spec new file mode 100644 index 0000000..c29988b --- /dev/null +++ b/php-cs-fixer.spec @@ -0,0 +1,172 @@ +# remirepo/fedora spec file for php-cs-fixer +# +# Copyright (c) 2016 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_commit d33ee60f3d3e6152888b7f3a385f49e5c43bf1bf +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +#global gh_date 20150717 +%global gh_owner FriendsOfPHP +%global gh_project PHP-CS-Fixer +%global php_home %{_datadir}/php +%global with_tests 0%{!?_without_tests:1} + +Name: php-cs-fixer +Version: 1.12.1 +Release: 1%{?gh_date:.%{gh_date}git%{gh_short}}%{?dist} +Summary: A tool to automatically fix PHP code style + +Group: Development/Libraries +License: MIT +URL: https://github.com/%{gh_owner}/%{gh_project} +# git snapshot to get upstream test suite +Source0: %{name}-%{version}-%{gh_short}.tgz +Source1: makesrc.sh +Source2: %{name}-autoload.php + +# Use our autoloader +Patch0: %{name}-autoload.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +%if %{with_tests} +# For tests +BuildRequires: php(language) >= 5.3.6 +BuildRequires: php-tokenizer +BuildRequires: php-composer(symfony/console) >= 2.3 +BuildRequires: php-composer(symfony/event-dispatcher) >= 2.1 +BuildRequires: php-composer(symfony/filesystem) >= 2.1 +BuildRequires: php-composer(symfony/finder) >= 2.1 +BuildRequires: php-composer(symfony/process) >= 2.3 +BuildRequires: php-composer(symfony/stopwatch) >= 2.5 +BuildRequires: php-composer(sebastian/diff) >= 1.1 +BuildRequires: php-reflection +BuildRequires: php-dom +BuildRequires: php-json +BuildRequires: php-pcre +BuildRequires: php-phar +BuildRequires: php-spl +BuildRequires: php-xml +# From composer.json, "require-dev": { +# "phpunit/phpunit": "^4.5|^5", +# "satooshi/php-coveralls": "^1.0" +BuildRequires: php-composer(phpunit/phpunit) >= 4.5 +# Autoloader +BuildRequires: php-composer(symfony/class-loader) +%endif + +# From composer.json, "require": { +# "php": "^5.3.6 || >=7.0 <7.2", +# "ext-tokenizer": "*", +# "symfony/console": "^2.3 || ^3.0", +# "symfony/event-dispatcher": "^2.1 || ^3.0", +# "symfony/filesystem": "^2.1 || ^3.0", +# "symfony/finder": "^2.1 || ^3.0", +# "symfony/process": "^2.3 || ^3.0", +# "symfony/stopwatch": "^2.5 || ^3.0", +# "sebastian/diff": "^1.1" +Requires: php(language) >= 5.3.6 +Requires: php-tokenizer +Requires: php-composer(symfony/console) >= 2.3 +Requires: php-composer(symfony/event-dispatcher) >= 2.1 +Requires: php-composer(symfony/filesystem) >= 2.1 +Requires: php-composer(symfony/finder) >= 2.1 +Requires: php-composer(symfony/process) >= 2.3 +Requires: php-composer(symfony/stopwatch) >= 2.5 +Requires: php-composer(sebastian/diff) >= 1.1 +# From phpcompatinfo report for version 1.12.1 +Requires: php-cli +Requires: php-reflection +Requires: php-dom +Requires: php-json +Requires: php-pcre +Requires: php-phar +Requires: php-spl +Requires: php-xml +# Autoloader +Requires: php-composer(symfony/class-loader) + +Provides: php-composer(friendsofphp/php-cs-fixer) = %{version} + + +%description +The PHP Coding Standards Fixer tool fixes most issues in your code when you +want to follow the PHP coding standards as defined in the PSR-1 and PSR-2 +documents and many more. + +If you are already using a linter to identify coding standards problems in +your code, you know that fixing them by hand is tedious, especially on large +projects. This tool does not only detect them, but also fixes them for you. + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} +%patch0 -p1 -b .rpm + +cp %{SOURCE2} Symfony/CS/autoload.php + + +%build +# Empty build section, most likely nothing required. + + +%install +rm -rf %{buildroot} + +: Library +mkdir -p %{buildroot}%{php_home} +cp -pr Symfony %{buildroot}%{php_home}/Symfony + +: Command +install -Dpm755 %{name} %{buildroot}%{_bindir}/%{name} + + +%check +%if %{with_tests} +mkdir vendor +ln -s %{buildroot}%{php_home}/Symfony/CS/autoload.php vendor/ + +# remirepo:11 +run=0 +ret=0 +if which php56; then + php56 %{_bindir}/phpunit + run=1 +fi +if which php71; then + php71 %{_bindir}/phpunit + run=1 +fi +if [ $run -eq 0 ]; then +%{_bindir}/phpunit --verbose +# remirepo:2 +fi +exit $ret +%else +: Test suite disabled +%endif + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc composer.json +%doc *.md *.rst +%{php_home}/Symfony/CS +%exclude %{php_home}/Symfony/CS/Tests +%exclude %{php_home}/Symfony/CS/Resources +%{_bindir}/%{name} + + +%changelog +* Fri Sep 9 2016 Remi Collet - 1.12.1-1 +- initial package, version 1.12.1 + -- cgit