From 1500b570eea1246d2ca17103ce4c51991d275949 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 5 May 2017 08:26:11 +0200 Subject: import from Fedora --- LICENSE | 21 ++++ php-phpdocumentor-reflection1.spec | 217 +++++++++++++++++++++++++++++++++++++ 2 files changed, 238 insertions(+) create mode 100644 LICENSE create mode 100644 php-phpdocumentor-reflection1.spec diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..792e404 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2010 Mike van Riel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/php-phpdocumentor-reflection1.spec b/php-phpdocumentor-reflection1.spec new file mode 100644 index 0000000..9c6a9cc --- /dev/null +++ b/php-phpdocumentor-reflection1.spec @@ -0,0 +1,217 @@ +# spec file for php-phpdocumentor-reflection1 +# +# Copyright (c) 2016 Remi Collet +# 2017 Remi Collet, Shawn Iwinski +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_commit fc40c3f604ac2287eb5c314174d5109b2c699372 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner phpDocumentor +%global gh_project Reflection +%global with_tests 0%{!?_without_tests:1} + +%global with_php_parser 1 + +Name: php-phpdocumentor-reflection1 +Version: 1.0.7 +Release: 5%{?dist} +Summary: Reflection library to do Static Analysis for PHP Projects (Version 1) + +Group: Development/Libraries +License: MIT +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}.tar.gz + +%if %{with_php_parser} +# Temporary, bundled nikik/php-parser 0.9.4 +%global php_parser_owner nikic +%global php_parser_project PHP-Parser +%global php_parser_commit 1e5e280ae88a27effa2ae4aa2bd088494ed8594f +%global php_parser_version 0.9.4 +Source1: https://github.com/%{php_parser_owner}/%{php_parser_project}/archive/%{php_parser_commit}/%{php_parser_project}-%{php_parser_version}.tar.gz +Provides: bundled(nikic/php-parser) = %{php_parser_version} +%endif + +# Temporary, missing in old versions +Source2: https://raw.githubusercontent.com/phpDocumentor/Reflection/develop/LICENSE + +BuildArch: noarch +# Autoloader +BuildRequires: php-fedora-autoloader-devel +# For tests +%if %{with_tests} +BuildRequires: php(language) >= 5.3.3 +BuildRequires: php-composer(psr/log) >= 1.0 +BuildRequires: php-composer(psr/log) < 2 +%if ! %{with_php_parser} +BuildRequires: php-composer(nikic/php-parser) >= 0.9.4 +BuildRequires: php-composer(nikic/php-parser) < 0.10 +%endif +BuildRequires: php-composer(phpdocumentor/reflection-docblock) >= 2.0 +BuildRequires: php-composer(phpdocumentor/reflection-docblock) < 3 +# From composer.json, "require-dev": { +# "behat/behat": "~2.4", +# "phpunit/phpunit": "~4.0", +# "mockery/mockery": "~0.8" +BuildRequires: php-composer(phpunit/phpunit) >= 4.0 +BuildRequires: php-composer(mockery/mockery) >= 0.8 +BuildRequires: php-composer(mockery/mockery) < 1 +%endif + +# From composer.json, require +# "php": ">=5.3.3", +# "psr/log": "~1.0", +# "nikic/php-parser": "~0.9.4", +# "phpdocumentor/reflection-docblock": "~2.0" +Requires: php(language) >= 5.3.3 +# For autoloader +Requires: php-composer(psr/log) >= 1.0.1 +Requires: php-composer(psr/log) < 2 +%if ! %{with_php_parser} +Requires: php-composer(nikic/php-parser) >= 0.9.4 +Requires: php-composer(nikic/php-parser) < 0.10 +%endif +Requires: php-composer(phpdocumentor/reflection-docblock) >= 2.0 +Requires: php-composer(phpdocumentor/reflection-docblock) < 3 +# From phpcompatinfo report for 1.0.7 +Requires: php-pcre +Requires: php-spl +# Autoloader +Requires: php-composer(fedora/autoloader) + +Provides: php-composer(phpdocumentor/reflection) = %{version} + +# Package rename (php-phpdocumentor-reflection => php-phpdocumentor-reflection1) +Obsoletes: php-phpdocumentor-reflection < 1.0.7-5 +Provides: php-phpdocumentor-reflection = %{version}-%{release} +Conflicts: php-symfony-property-info < 2.8.19-2 + + +%description +Using this library it is possible to statically reflect one or more files +and create an object graph representing your application's structure, +including accompanying in-source documentation using DocBlocks. + +The information that this library provides is similar to what the (built-in) +Reflection extension of PHP provides; there are however several advantages +to using this library: + +* Due to its Static nature it does not execute procedural code in your + reflected files where Dynamic Reflection does. +* Because the none of the code is interpreted by PHP (and executed) + Static Reflection uses less memory. +* Can reflect complete files +* Can reflect a whole project by reflecting multiple files. +* Reflects the contents of a DocBlock instead of just mentioning there is one. +* Is capable of analyzing code written for any PHP version (starting at 5.2) + up to and including your installed PHP version. + +Features +* [Creates an object graph] containing the structure of your application much + like a site map shows the structure of a website. +* Can read and interpret code of any PHP version starting with 5.2 up to and + including your currently installed version of PHP. +* Due it's clean interface it can be in any application without a complex setup. + +Autoloader: %{_datadir}/php/phpDocumentor/Reflection1/autoload.php + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} -a 1 + +mv src/phpDocumentor/Reflection src/phpDocumentor/Reflection1 + +%if %{with_php_parser} +# Include PHPParser in this library, as old deprecated version required +mv %{php_parser_project}-%{php_parser_commit}/lib/PHPParser \ + src/phpDocumentor/Reflection1/PHPParser +mv %{php_parser_project}-%{php_parser_commit}/LICENSE LICENSE-PHPParser +%endif + +cp %{SOURCE2} LICENSE + + +%build +: Generate library autoloader +%{_bindir}/phpab \ + --template fedora \ + --output src/phpDocumentor/Reflection1/autoload.php \ + src/phpDocumentor/Reflection1 + +cat << 'EOF' | tee -a src/phpDocumentor/Reflection1/autoload.php + +\Fedora\Autoloader\Dependencies::required(array( + '%{_datadir}/php/Psr/Log/autoload.php', + array( + '%{_datadir}/php/phpDocumentor/Reflection/DocBlock2/autoload.php', + '%{_datadir}/php/phpDocumentor/Reflection/DocBlock/autoload.php', + ), +%if ! %{with_php_parser} + '%{_datadir}/php/PhpParser/autoload.php', +%endif +)); +EOF + + +%install +mkdir -p %{buildroot}%{_datadir}/php +cp -pr src/* %{buildroot}%{_datadir}/php + + +%check +%if %{with_tests} +: Fix path to Mockery +sed -e 's:vendor/mockery/mockery/library:/usr/share/php:' \ + phpunit.xml.dist > phpunit.xml + +: Create tests autoloader +mkdir vendor +%{_bindir}/phpab --template fedora --output vendor/autoload.php tests + +cat << 'EOF' | tee -a vendor/autoload.php +require_once '%{_datadir}/php/Mockery/autoload.php'; +require_once '%{buildroot}%{_datadir}/php/phpDocumentor/Reflection1/autoload.php'; +EOF + +: Upstream tests +RETURN_CODE=0 +for PHP_EXEC in %{_bindir}/php %{?rhel:php54 php55} php56 php70 php71; do + if [ "%{_bindir}/php" == "$PHP_EXEC" ] || which $PHP_EXEC; then + $PHP_EXEC %{_bindir}/phpunit --verbose || RETURN_CODE=1 + fi +done +%else +: Test suite disabled +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE* +%doc *.md +%doc composer.json +%{_datadir}/php/phpDocumentor/Reflection1 + + +%changelog +* Mon May 01 2017 Shawn Iwinski - 1.0.7-5 +- Fix obsolete + +* Thu Apr 13 2017 Shawn Iwinski - 1.0.7-4 +- Package rename (php-phpdocumentor-reflection => php-phpdocumentor-reflection1) +- Switch autoloader to php-composer(fedora/autoloader) + +* Thu Apr 13 2017 Shawn Iwinski - 1.0.7-3 +- Add max versions to BuildRequires +- Prepare for php-phpdocumentor-reflection-docblock => + php-phpdocumentor-reflection-docblock2 dependency rename + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Apr 14 2016 Remi Collet - 1.0.7-1 +- initial package, version 1.0.7 +- bundle nikic/php-parser 0.9.4 -- cgit