From c9ac4aa729c790e9d0c0360a19dddf70147d8ab0 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 26 Feb 2019 11:15:52 +0100 Subject: import from Fedora --- phpdoc-adjust-templates-dir.patch | 49 +++ phpdoc-adjust-vendor-dir.patch | 55 +++ phpdoc-get-source.sh | 73 ++++ phpdoc-php-warning-count-fix.patch | 13 + phpdoc.spec | 791 +++++++++++++++++++++++++++++++++++++ 5 files changed, 981 insertions(+) create mode 100644 phpdoc-adjust-templates-dir.patch create mode 100644 phpdoc-adjust-vendor-dir.patch create mode 100755 phpdoc-get-source.sh create mode 100644 phpdoc-php-warning-count-fix.patch create mode 100644 phpdoc.spec diff --git a/phpdoc-adjust-templates-dir.patch b/phpdoc-adjust-templates-dir.patch new file mode 100644 index 0000000..36fc866 --- /dev/null +++ b/phpdoc-adjust-templates-dir.patch @@ -0,0 +1,49 @@ +diff --git a/src/phpDocumentor/Transformer/ServiceProvider.php b/src/phpDocumentor/Transformer/ServiceProvider.php +index 28db8d1f..1d853dfc 100644 +--- a/src/phpDocumentor/Transformer/ServiceProvider.php ++++ b/src/phpDocumentor/Transformer/ServiceProvider.php +@@ -206,16 +206,8 @@ class ServiceProvider extends \stdClass implements ServiceProviderInterface + */ + protected function provideTemplatingSystem(Application $app) + { +- $templateDir = __DIR__ . '/../../../data/templates'; +- +- // when installed using composer the templates are in a different folder +- $composerTemplatePath = __DIR__ . '/../../../../templates'; +- if (file_exists($composerTemplatePath)) { +- $templateDir = $composerTemplatePath; +- } +- + // parameters +- $app['transformer.template.location'] = $templateDir; ++ $app['transformer.template.location'] = __DIR__ . '/../data/templates'; + + // services + $app['transformer.template.path_resolver'] = $app->share( +diff --git a/src/phpDocumentor/Transformer/Transformation.php b/src/phpDocumentor/Transformer/Transformation.php +index 3bd153c4..ee716b18 100644 +--- a/src/phpDocumentor/Transformer/Transformation.php ++++ b/src/phpDocumentor/Transformer/Transformation.php +@@ -182,21 +182,11 @@ class Transformation + ); + } + +- // check whether the file exists in the phpDocumentor project directory. +- if (file_exists(__DIR__.'/../../../'.$this->source)) { +- return __DIR__ . '/../../../' .$this->source; +- } +- +- // in case of a composer installation +- if (file_exists(__DIR__ . '/../../../../templates')) { +- return __DIR__ . '/../../../../' . $this->source; +- } +- + // TODO: replace this as it breaks the component stuff + // we should ditch the idea of a global set of files to fetch and have + // a variable / injection for the global templates folder and inject + // that here. +- $file = __DIR__.'/../../../data/'.$this->source; ++ $file = __DIR__.'/../data/'.$this->source; + + if (!file_exists($file)) { + throw new Exception('The source path does not exist: ' . $file); diff --git a/phpdoc-adjust-vendor-dir.patch b/phpdoc-adjust-vendor-dir.patch new file mode 100644 index 0000000..00be231 --- /dev/null +++ b/phpdoc-adjust-vendor-dir.patch @@ -0,0 +1,55 @@ +diff --git a/bin/phpdoc b/bin/phpdoc +index 48f862ad..909705cf 100755 +--- a/bin/phpdoc ++++ b/bin/phpdoc +@@ -10,13 +10,7 @@ + * @link http://phpdoc.org + */ + +-// determine base include folder, if @php_dir@ contains @php_dir then +-// we did not install via PEAR +-$bootstrap_folder = (strpos('@php_dir@', '@php_dir') === 0) +- ? __DIR__ . '/../src' +- : '@php_dir@/phpDocumentor/src'; +- +-include $bootstrap_folder . '/phpDocumentor/Bootstrap.php'; ++include '__PHPDIR__/phpDocumentor/Bootstrap.php'; + + $app = \phpDocumentor\Bootstrap::createInstance() + ->registerProfiler() +diff --git a/src/Cilex/Provider/JmsSerializerServiceProvider.php b/src/Cilex/Provider/JmsSerializerServiceProvider.php +index fa3dd0a8..656969ad 100644 +--- a/src/Cilex/Provider/JmsSerializerServiceProvider.php ++++ b/src/Cilex/Provider/JmsSerializerServiceProvider.php +@@ -28,17 +28,8 @@ class JmsSerializerServiceProvider implements ServiceProviderInterface + */ + public function register(Application $app) + { +- $vendorPath = isset($app['composer.vendor_path']) +- ? $app['composer.vendor_path'] +- : __DIR__ . '/../../../vendor'; +- +- $serializerPath = $vendorPath . '/jms/serializer/src'; +- if (!file_exists($serializerPath)) { +- $serializerPath = __DIR__ . '/../../../../../jms/serializer/src'; +- } +- + $app['serializer.annotations'] = array( +- array('namespace' => 'JMS\Serializer\Annotation', 'path' => $serializerPath) ++ array('namespace' => 'JMS\Serializer\Annotation', 'path' => '__PHPDIR__') + ); + + $app['serializer'] = $app->share( +diff --git a/src/phpDocumentor/Bootstrap.php b/src/phpDocumentor/Bootstrap.php +index cd0920a7..6a8ffcfb 100644 +--- a/src/phpDocumentor/Bootstrap.php ++++ b/src/phpDocumentor/Bootstrap.php +@@ -93,7 +93,7 @@ class Bootstrap + public function createAutoloader($vendorDir = null) + { + if (! $vendorDir) { +- $vendorDir = __DIR__ . '/../../vendor'; ++ $vendorDir = __DIR__ . '/vendor'; + } + + $autoloader_location = $vendorDir . '/autoload.php'; diff --git a/phpdoc-get-source.sh b/phpdoc-get-source.sh new file mode 100755 index 0000000..b2ac62b --- /dev/null +++ b/phpdoc-get-source.sh @@ -0,0 +1,73 @@ +#/bin/sh + +GIT=`which git` +RPM=`which rpm` + +if [ -z "$GIT" ] +then + echo "ERROR: 'git' command not found" 1>&2 + exit 1 +elif [ -z "$RPM" ] +then + echo "ERROR: 'rpm' command not found" 1>&2 + exit 1 +fi + +function print { + echo -e "\e[0;33m>>>>> ${1}\e[0m" +} + +if [ -x "$1" ] +then + SPEC=$1 +else + SPEC=`ls *.spec | head -1` +fi + +SPEC_DIR=`pwd` + +print "SPEC_DIR = $SPEC_DIR" + +NAME=`echo $SPEC | sed 's#\.spec##'` +VERSION=`egrep '%global\s*github_version' $SPEC | awk '{print $3}'` + +print "SPEC = $SPEC" +print "NAME = $NAME" + +GIT_OWNER=`egrep '%global\s*github_owner' $SPEC | awk '{print $3}'` +GIT_NAME=`egrep '%global\s*github_name' $SPEC | awk '{print $3}'` +GIT_COMMIT=`egrep '%global\s*github_commit' $SPEC | awk '{print $3}'` +GIT_REPO=https://github.com/${GIT_OWNER}/${GIT_NAME} +GIT_DIR=`echo $GIT_REPO | sed 's#.*/##'` + +print "GIT_OWNER = $GIT_OWNER" +print "GIT_NAME = $GIT_NAME" +print "GIT_COMMIT = $GIT_COMMIT" +print "GIT_REPO = $GIT_REPO" +print "GIT_DIR = $GIT_DIR" + +TEMP_DIR=$(mktemp --dir) + +pushd $TEMP_DIR + print "Cloning git repo..." + $GIT clone $GIT_REPO + + pushd $GIT_DIR + print "Checking out commit..." + $GIT checkout $GIT_COMMIT + popd + + TAR_DIR=${GIT_NAME}-${GIT_COMMIT} + print "TAR_DIR = $TAR_DIR" + + mv $GIT_DIR $TAR_DIR + + TAR_FILE=${SPEC_DIR}/${NAME}-${VERSION}-${GIT_COMMIT}.tar.gz + print "TAR_FILE = $TAR_FILE" + + [ -e $TAR_FILE ] && rm -f $TAR_FILE + tar --exclude-vcs -czf $TAR_FILE $TAR_DIR + chmod 0644 $TAR_FILE +popd + +rm -rf $TEMP_DIR diff --git a/phpdoc-php-warning-count-fix.patch b/phpdoc-php-warning-count-fix.patch new file mode 100644 index 0000000..a307863 --- /dev/null +++ b/phpdoc-php-warning-count-fix.patch @@ -0,0 +1,13 @@ +diff --git a/src/phpDocumentor/Plugin/Core/Descriptor/Validator/Constraints/Functions/IsArgumentInDocBlockValidator.php b/src/phpDocumentor/Plugin/Core/Descriptor/Validator/Constraints/Functions/IsArgumentInDocBlockValidator.php +index 1e31c932..4baf2fb4 100644 +--- a/src/phpDocumentor/Plugin/Core/Descriptor/Validator/Constraints/Functions/IsArgumentInDocBlockValidator.php ++++ b/src/phpDocumentor/Plugin/Core/Descriptor/Validator/Constraints/Functions/IsArgumentInDocBlockValidator.php +@@ -30,7 +30,7 @@ class IsArgumentInDocBlockValidator extends ConstraintValidator + */ + public function validate($value, Constraint $constraint) + { +- if ($value instanceof ValidationValueObject && count($value->argument) > 0) { ++ if ($value instanceof ValidationValueObject && $value->argument instanceof Countable && count($value->argument) > 0) { + $argument = $value->argument; + /* @var $params \phpDocumentor\Descriptor\Collection */ + $params = $value->parameters; diff --git a/phpdoc.spec b/phpdoc.spec new file mode 100644 index 0000000..a244227 --- /dev/null +++ b/phpdoc.spec @@ -0,0 +1,791 @@ +# +# Fedora spec file for phpdoc +# +# Copyright (c) 2017-2019 Shawn Iwinski +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please preserve changelog entries +# + +%global github_owner phpDocumentor +%global github_name phpDocumentor2 +%global github_version 2.9.0 +%global github_commit be607da0eef9b9249c43c5b4820d25d631c73667 + +%global composer_vendor phpdocumentor +%global composer_project phpdocumentor + +# "php": ">=5.3.3" +%global php_min_ver 5.3.3 +# "cilex/cilex": "~1.0" +%global cilex_min_ver 1.0 +%global cilex_max_ver 2.0 +# "erusev/parsedown": "~1.0" +%global erusev_parsedown_min_ver 1.0 +%global erusev_parsedown_max_ver 2.0 +# "jms/serializer": ">=0.12" +# NOTE: Max version added +%global jms_serializer_min_ver 0.12 +%global jms_serializer_max_ver 2.0 +# "mikey179/vfsStream": "~1.2" +%global mikey179_vfsstream_min_ver 1.2 +%global mikey179_vfsstream_max_ver 2.0 +# "mockery/mockery": "~0.9@dev" +%global mockery_min_ver 0.9 +%global mockery_max_ver 1.0 +# "monolog/monolog": "~1.6" +%global monolog_min_ver 1.6 +%global monolog_max_ver 2.0 +# "phpdocumentor/fileset": "~1.0" +%global phpdocumentor_fileset_min_ver 1.0 +%global phpdocumentor_fileset_max_ver 2.0 +# "phpdocumentor/graphviz": "~1.0" +%global phpdocumentor_graphviz_min_ver 1.0 +%global phpdocumentor_graphviz_max_ver 2.0 +# "phpdocumentor/reflection": "^3.0" +%global phpdocumentor_reflection_min_ver 3.0 +%global phpdocumentor_reflection_max_ver 4.0 +# "phpdocumentor/reflection-docblock": "~2.0" +%global phpdocumentor_reflection_docblock_min_ver 2.0 +%global phpdocumentor_reflection_docblock_max_ver 3.0 +# "symfony/config": "~2.3" +# "symfony/console": "~2.3" +# "symfony/event-dispatcher": "~2.1" +# "symfony/expression-language": "~2.4" +# "symfony/process": "~2.0" +# "symfony/stopwatch": "~2.3" +# "symfony/validator": "~2.2" +# NOTE: Min version not 2.4 because autoloader required +%global symfony_min_ver 2.7.1 +%global symfony_max_ver 3.0 +# "twig/twig": "~1.3" +%global twig_min_ver 1.3 +%global twig_max_ver 2.0 +# "zendframework/zend-cache": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_cache_min_ver 2.1 +%global zendframework_cache_max_ver 4.0 +# "zendframework/zend-config": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_config_min_ver 2.1 +%global zendframework_config_max_ver 4.0 +# "zendframework/zend-filter": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_filter_min_ver 2.1 +%global zendframework_filter_max_ver 4.0 +# "zendframework/zend-i18n": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_i18n_min_ver 2.1 +%global zendframework_i18n_max_ver 4.0 +# "zendframework/zend-serializer": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_serializer_min_ver 2.1 +%global zendframework_serializer_max_ver 4.0 +# "zendframework/zend-servicemanager": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_servicemanager_min_ver 2.1 +%global zendframework_servicemanager_max_ver 4.0 +# "zendframework/zend-stdlib": "~2.1" +# NOTE: Max version not 3.0 because tests pass +%global zendframework_stdlib_min_ver 2.1 +%global zendframework_stdlib_max_ver 4.0 +# "zetacomponents/document": ">=1.3.1" +# NOTE: Max version to restrict to one major version +%global zetacomponents_document_min_ver 1.3.1 +%global zetacomponents_document_max_ver 2.0 + +# Build using "--without tests" to disable tests +%global with_tests 0%{!?_without_tests:1} + +%{!?phpdir: %global phpdir %{_datadir}/php} + +Name: phpdoc +Version: %{github_version} +Release: 7%{?github_release}%{?dist} +Summary: Documentation generator for PHP + +# License breakdown: +# * MIT +# * phpdoc +# * data/templates/abstract/css/sen.full.min.css +# * data/templates/clean/css/font-awesome.min.css +# * data/templates/clean/css/prism.css +# * data/templates/clean/js/jquery-1.11.0.min.js +# * data/templates/clean/js/jquery.mousewheel.js +# * data/templates/clean/js/prism.min.js +# * data/templates/clean/js/ui/1.10.4/jquery-ui.min.js +# * data/templates/responsive/img/iviewer/* +# * data/templates/responsive/js/jquery.mousewheel.min.js +# * data/templates/responsive/js/jquery.xml2json.js +# * ASL 2.0 +# * data/templates/clean/css/bootstrap-combined.no-icons.min.css +# * data/templates/clean/js/bootstrap.min.js +# * data/templates/responsive/css/bootstrap-responsive.css +# * data/templates/responsive/css/bootstrap-responsive.min.css +# * data/templates/responsive/css/bootstrap.css +# * data/templates/responsive/css/bootstrap.min.css +# * data/templates/responsive/js/bootstrap.js +# * data/templates/responsive/js/bootstrap.min.js +# * data/templates/responsive/js/prettify/* +# * data/templates/responsive/js/prettify/lang-clj.js +# * docs/.static/css/bootstrap-responsive.css +# * docs/.static/css/bootstrap.min.css +# * docs/.static/css/prettify.css +# * docs/.static/js/bootstrap.js +# * docs/.static/js/prettify/prettify.min.js +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap-responsive.css +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap-responsive.min.css +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap.css +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap.min.css +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/prettify.css +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/bootstrap.min.js +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/prettify/* +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/prettify/lang-clj.js +# * BSD +# * data/templates/old-ocean/js/SVGPan.js +# * data/templates/responsive/js/SVGPan.js +# * docs/.exts/__init__.py +# * docs/.exts/plantuml.py +# * docs/.exts/plantuml.pyc +# * docs/.static/default.css +# * CC-BY +# * data/templates/responsive/img/glyphicons-halflings-white.png +# * data/templates/responsive/img/glyphicons-halflings.png +# * docs/.static/img/glyphicons-halflings-white.png +# * docs/.static/img/glyphicons-halflings.png +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/img/glyphicons-halflings-white.png +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/img/glyphicons-halflings.png +# * DWPL and MIT +# * data/templates/abstract/js/jquery.tools.min.js +# * data/templates/old-ocean/js/jquery.tools.min.js +# * data/templates/responsive/js/jquery.tools.min.js +# * MIT and GPLv2 +# * data/templates/clean/js/html5.js +# * MIT and GPLv2 and Public Domain and CC-BY +# * data/templates/responsive/js/jqplot/* +# * MIT and GPLv3 +# * data/templates/abstract/js/jquery-ui-1.8.2.custom.min.js +# * data/templates/abstract/js/jquery.cookie.js +# * data/templates/abstract/js/jquery.panzoom.js +# * data/templates/abstract/js/jquery.treeview.js +# * data/templates/clean/js/jquery.dotdotdot-1.5.9.js +# * data/templates/clean/js/jquery.dotdotdot-1.5.9.min.js +# * data/templates/clean/js/jquery.iviewer.js +# * data/templates/clean/js/jquery.iviewer.min.js +# * data/templates/old-ocean/css/black-tie/jquery-ui-1.8.2.custom.css +# * data/templates/old-ocean/js/jquery-ui-1.8.2.custom.min.js +# * data/templates/old-ocean/js/jquery.cookie.js +# * data/templates/old-ocean/js/jquery.panzoom.js +# * data/templates/old-ocean/js/jquery.splitter.js +# * data/templates/old-ocean/js/jquery.treeview.js +# * data/templates/responsive/js/jquery-ui-1.8.2.custom.min.js +# * data/templates/responsive/js/jquery.cookie.js +# * data/templates/responsive/js/jquery.iviewer.js +# * data/templates/responsive/js/jquery.iviewer.min.js +# * data/templates/responsive/js/jquery.panzoom.js +# * data/templates/responsive/js/jquery.splitter.js +# * data/templates/responsive/js/jquery.treeview.js +# * data/templates/zend/css/black-tie/jquery-ui-1.8.2.custom.css +# * data/templates/zend/js/jquery.splitter.js +# * docs/.static/js/jquery-ui-1.8.2.custom.min.js +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/jquery-ui-1.8.2.custom.min.js +# * MIT or GPLv2 +# * data/templates/abstract/js/jquery-1.4.2.min.js +# * data/templates/new-black/css/jquery-ui.css +# * data/templates/new-black/css/phpdoc/jquery-ui-1.8.16.custom.css +# * data/templates/old-ocean/js/jquery-1.4.2.min.js +# * data/templates/old-ocean/js/jquery-1.7.1.min.js +# * data/templates/responsive/js/jquery-1.4.2.min.js +# * data/templates/responsive/js/jquery-1.7.1.min.js +# * docs/.static/js/jquery-1.7.1.min.js +# * src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/jquery-1.7.1.min.js +# * OFL +# * data/templates/clean/font/fontawesome-webfont.eot +# * data/templates/clean/font/fontawesome-webfont.svg +# * data/templates/clean/font/fontawesome-webfont.ttf +# * data/templates/clean/font/fontawesome-webfont.woff +# * data/templates/clean/font/FontAwesome.otf +License: MIT and ASL 2.0 and BSD and CC-BY and (DWPL and MIT) and (MIT and GPLv2) and (MIT and GPLv2 and Public Domain and CC-BY) and (MIT and GPLv3) and (MIT or GPLv2) and OFL +URL: http://www.phpdoc.org + +# GitHub export does not include tests. +# Run phpdoc-get-source.sh to create full source. +Source0: %{name}-%{github_version}-%{github_commit}.tar.gz +Source1: %{name}-get-source.sh + +# Adjust vendor dir +Patch0: %{name}-adjust-vendor-dir.patch +# Adjust templates dir +Patch1: %{name}-adjust-templates-dir.patch +# Fix "PHP Warning: count(): Parameter must be an array or an object that implements Countable" +Patch2: %{name}-php-warning-count-fix.patch + +BuildArch: noarch +# Composer autoloader generation +BuildRequires: composer +# Tests +BuildRequires: php-cli +%if %{with_tests} +## composer.json +BuildRequires: php(language) >= %{php_min_ver} +BuildRequires: php-composer(phpunit/phpunit) +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(cilex/cilex) < %{cilex_max_ver} with php-composer(cilex/cilex) >= %{cilex_min_ver}) +BuildRequires: (php-composer(erusev/parsedown) < %{erusev_parsedown_max_ver} with php-composer(erusev/parsedown) >= %{erusev_parsedown_min_ver}) +BuildRequires: (php-composer(jms/serializer) < %{jms_serializer_max_ver} with php-composer(jms/serializer) >= %{jms_serializer_min_ver}) +BuildRequires: (php-composer(mikey179/vfsStream) < %{mikey179_vfsstream_max_ver} with php-composer(mikey179/vfsStream) >= %{mikey179_vfsstream_min_ver}) +BuildRequires: (php-composer(mockery/mockery) < %{mockery_max_ver} with php-composer(mockery/mockery) >= %{mockery_min_ver}) +BuildRequires: (php-composer(monolog/monolog) < %{monolog_max_ver} with php-composer(monolog/monolog) >= %{monolog_min_ver}) +BuildRequires: (php-composer(phpdocumentor/fileset) < %{phpdocumentor_fileset_max_ver} with php-composer(phpdocumentor/fileset) >= %{phpdocumentor_fileset_min_ver}) +BuildRequires: (php-composer(phpdocumentor/graphviz) < %{phpdocumentor_graphviz_max_ver} with php-composer(phpdocumentor/graphviz) >= %{phpdocumentor_graphviz_min_ver}) +BuildRequires: (php-composer(phpdocumentor/reflection-docblock) < %{phpdocumentor_reflection_docblock_max_ver} with php-composer(phpdocumentor/reflection-docblock) >= %{phpdocumentor_reflection_docblock_min_ver}) +BuildRequires: (php-composer(phpdocumentor/reflection) < %{phpdocumentor_reflection_max_ver} with php-composer(phpdocumentor/reflection) >= %{phpdocumentor_reflection_min_ver}) +BuildRequires: (php-composer(symfony/config) < %{symfony_max_ver} with php-composer(symfony/config) >= %{symfony_min_ver}) +BuildRequires: (php-composer(symfony/console) < %{symfony_max_ver} with php-composer(symfony/console) >= %{symfony_min_ver}) +BuildRequires: (php-composer(symfony/event-dispatcher) < %{symfony_max_ver} with php-composer(symfony/event-dispatcher) >= %{symfony_min_ver}) +BuildRequires: (php-composer(symfony/expression-language) < %{symfony_max_ver} with php-composer(symfony/expression-language) >= %{symfony_min_ver}) +BuildRequires: (php-composer(symfony/process) < %{symfony_max_ver} with php-composer(symfony/process) >= %{symfony_min_ver}) +BuildRequires: (php-composer(symfony/stopwatch) < %{symfony_max_ver} with php-composer(symfony/stopwatch) >= %{symfony_min_ver}) +BuildRequires: (php-composer(symfony/validator) < %{symfony_max_ver} with php-composer(symfony/validator) >= %{symfony_min_ver}) +BuildRequires: (php-composer(twig/twig) < %{twig_max_ver} with php-composer(twig/twig) >= %{twig_min_ver}) +BuildRequires: (php-composer(zendframework/zend-cache) < %{zendframework_cache_max_ver} with php-composer(zendframework/zend-cache) >= %{zendframework_cache_min_ver}) +BuildRequires: (php-composer(zendframework/zend-config) < %{zendframework_config_max_ver} with php-composer(zendframework/zend-config) >= %{zendframework_config_min_ver}) +BuildRequires: (php-composer(zendframework/zend-filter) < %{zendframework_filter_max_ver} with php-composer(zendframework/zend-filter) >= %{zendframework_filter_min_ver}) +BuildRequires: (php-composer(zendframework/zend-i18n) < %{zendframework_i18n_max_ver} with php-composer(zendframework/zend-i18n) >= %{zendframework_i18n_min_ver}) +BuildRequires: (php-composer(zendframework/zend-serializer) < %{zendframework_serializer_max_ver} with php-composer(zendframework/zend-serializer) >= %{zendframework_serializer_min_ver}) +BuildRequires: (php-composer(zendframework/zend-servicemanager) < %{zendframework_servicemanager_max_ver} with php-composer(zendframework/zend-servicemanager) >= %{zendframework_servicemanager_min_ver}) +BuildRequires: (php-composer(zendframework/zend-stdlib) < %{zendframework_stdlib_max_ver} with php-composer(zendframework/zend-stdlib) >= %{zendframework_stdlib_min_ver}) +BuildRequires: (php-composer(zetacomponents/document) < %{zetacomponents_document_max_ver} with php-composer(zetacomponents/document) >= %{zetacomponents_document_min_ver}) +%else +BuildRequires: php-composer(cilex/cilex) < %{cilex_max_ver} +BuildRequires: php-composer(cilex/cilex) >= %{cilex_min_ver} +BuildRequires: php-composer(erusev/parsedown) < %{erusev_parsedown_max_ver} +BuildRequires: php-composer(erusev/parsedown) >= %{erusev_parsedown_min_ver} +BuildRequires: php-composer(jms/serializer) < %{jms_serializer_max_ver} +BuildRequires: php-composer(jms/serializer) >= %{jms_serializer_min_ver} +BuildRequires: php-composer(mikey179/vfsStream) < %{mikey179_vfsstream_max_ver} +BuildRequires: php-composer(mikey179/vfsStream) >= %{mikey179_vfsstream_min_ver} +BuildRequires: php-composer(mockery/mockery) < %{mockery_max_ver} +BuildRequires: php-composer(mockery/mockery) >= %{mockery_min_ver} +BuildRequires: php-composer(monolog/monolog) < %{monolog_max_ver} +BuildRequires: php-composer(monolog/monolog) >= %{monolog_min_ver} +BuildRequires: php-composer(phpdocumentor/fileset) < %{phpdocumentor_fileset_max_ver} +BuildRequires: php-composer(phpdocumentor/fileset) >= %{phpdocumentor_fileset_min_ver} +BuildRequires: php-composer(phpdocumentor/graphviz) < %{phpdocumentor_graphviz_max_ver} +BuildRequires: php-composer(phpdocumentor/graphviz) >= %{phpdocumentor_graphviz_min_ver} +BuildRequires: php-composer(phpdocumentor/reflection-docblock) < %{phpdocumentor_reflection_docblock_max_ver} +BuildRequires: php-composer(phpdocumentor/reflection-docblock) >= %{phpdocumentor_reflection_docblock_min_ver} +BuildRequires: php-composer(phpdocumentor/reflection) < %{phpdocumentor_reflection_max_ver} +BuildRequires: php-composer(phpdocumentor/reflection) >= %{phpdocumentor_reflection_min_ver} +BuildRequires: php-composer(symfony/config) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/config) >= %{symfony_min_ver} +BuildRequires: php-composer(symfony/console) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/console) >= %{symfony_min_ver} +BuildRequires: php-composer(symfony/event-dispatcher) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/event-dispatcher) >= %{symfony_min_ver} +BuildRequires: php-composer(symfony/expression-language) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/expression-language) >= %{symfony_min_ver} +BuildRequires: php-composer(symfony/process) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/process) >= %{symfony_min_ver} +BuildRequires: php-composer(symfony/stopwatch) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/stopwatch) >= %{symfony_min_ver} +BuildRequires: php-composer(symfony/validator) < %{symfony_max_ver} +BuildRequires: php-composer(symfony/validator) >= %{symfony_min_ver} +BuildRequires: php-composer(twig/twig) < %{twig_max_ver} +BuildRequires: php-composer(twig/twig) >= %{twig_min_ver} +BuildRequires: php-composer(zendframework/zend-cache) < %{zendframework_cache_max_ver} +BuildRequires: php-composer(zendframework/zend-cache) >= %{zendframework_cache_min_ver} +BuildRequires: php-composer(zendframework/zend-config) < %{zendframework_config_max_ver} +BuildRequires: php-composer(zendframework/zend-config) >= %{zendframework_config_min_ver} +BuildRequires: php-composer(zendframework/zend-filter) < %{zendframework_filter_max_ver} +BuildRequires: php-composer(zendframework/zend-filter) >= %{zendframework_filter_min_ver} +BuildRequires: php-composer(zendframework/zend-i18n) < %{zendframework_i18n_max_ver} +BuildRequires: php-composer(zendframework/zend-i18n) >= %{zendframework_i18n_min_ver} +BuildRequires: php-composer(zendframework/zend-serializer) < %{zendframework_serializer_max_ver} +BuildRequires: php-composer(zendframework/zend-serializer) >= %{zendframework_serializer_min_ver} +BuildRequires: php-composer(zendframework/zend-servicemanager) < %{zendframework_servicemanager_max_ver} +BuildRequires: php-composer(zendframework/zend-servicemanager) >= %{zendframework_servicemanager_min_ver} +BuildRequires: php-composer(zendframework/zend-stdlib) < %{zendframework_stdlib_max_ver} +BuildRequires: php-composer(zendframework/zend-stdlib) >= %{zendframework_stdlib_min_ver} +BuildRequires: php-composer(zetacomponents/document) < %{zetacomponents_document_max_ver} +BuildRequires: php-composer(zetacomponents/document) >= %{zetacomponents_document_min_ver} +%endif +## phpcompatinfo (computed from version 2.9.0) +BuildRequires: php-date +BuildRequires: php-dom +BuildRequires: php-iconv +BuildRequires: php-igbinary +BuildRequires: php-json +BuildRequires: php-libxml +BuildRequires: php-pcre +BuildRequires: php-reflection +BuildRequires: php-simplexml +BuildRequires: php-spl +BuildRequires: php-xsl +BuildRequires: php-zlib +## Autoloader +BuildRequires: php-composer(fedora/autoloader) +%endif + +Requires: php-cli +# composer.json +Requires: php(language) >= %{php_min_ver} +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires: (php-composer(cilex/cilex) < %{cilex_max_ver} with php-composer(cilex/cilex) >= %{cilex_min_ver}) +Requires: (php-composer(erusev/parsedown) < %{erusev_parsedown_max_ver} with php-composer(erusev/parsedown) >= %{erusev_parsedown_min_ver}) +Requires: (php-composer(jms/serializer) < %{jms_serializer_max_ver} with php-composer(jms/serializer) >= %{jms_serializer_min_ver}) +Requires: (php-composer(monolog/monolog) < %{monolog_max_ver} with php-composer(monolog/monolog) >= %{monolog_min_ver}) +Requires: (php-composer(phpdocumentor/fileset) < %{phpdocumentor_fileset_max_ver} with php-composer(phpdocumentor/fileset) >= %{phpdocumentor_fileset_min_ver}) +Requires: (php-composer(phpdocumentor/graphviz) < %{phpdocumentor_graphviz_max_ver} with php-composer(phpdocumentor/graphviz) >= %{phpdocumentor_graphviz_min_ver}) +Requires: (php-composer(phpdocumentor/reflection) < %{phpdocumentor_reflection_max_ver} with php-composer(phpdocumentor/reflection) >= %{phpdocumentor_reflection_min_ver}) +Requires: (php-composer(phpdocumentor/reflection-docblock) < %{phpdocumentor_reflection_docblock_max_ver} with php-composer(phpdocumentor/reflection-docblock) >= %{phpdocumentor_reflection_docblock_min_ver}) +Requires: (php-composer(symfony/config) < %{symfony_max_ver} with php-composer(symfony/config) >= %{symfony_min_ver}) +Requires: (php-composer(symfony/console) < %{symfony_max_ver} with php-composer(symfony/console) >= %{symfony_min_ver}) +Requires: (php-composer(symfony/event-dispatcher) < %{symfony_max_ver} with php-composer(symfony/event-dispatcher) >= %{symfony_min_ver}) +Requires: (php-composer(symfony/process) < %{symfony_max_ver} with php-composer(symfony/process) >= %{symfony_min_ver}) +Requires: (php-composer(symfony/stopwatch) < %{symfony_max_ver} with php-composer(symfony/stopwatch) >= %{symfony_min_ver}) +Requires: (php-composer(symfony/validator) < %{symfony_max_ver} with php-composer(symfony/validator) >= %{symfony_min_ver}) +Requires: (php-composer(twig/twig) < %{twig_max_ver} with php-composer(twig/twig) >= %{twig_min_ver}) +Requires: (php-composer(zendframework/zend-cache) < %{zendframework_cache_max_ver} with php-composer(zendframework/zend-cache) >= %{zendframework_cache_min_ver}) +Requires: (php-composer(zendframework/zend-config) < %{zendframework_config_max_ver} with php-composer(zendframework/zend-config) >= %{zendframework_config_min_ver}) +Requires: (php-composer(zendframework/zend-filter) < %{zendframework_filter_max_ver} with php-composer(zendframework/zend-filter) >= %{zendframework_filter_min_ver}) +Requires: (php-composer(zendframework/zend-i18n) < %{zendframework_i18n_max_ver} with php-composer(zendframework/zend-i18n) >= %{zendframework_i18n_min_ver}) +Requires: (php-composer(zendframework/zend-serializer) < %{zendframework_serializer_max_ver} with php-composer(zendframework/zend-serializer) >= %{zendframework_serializer_min_ver}) +Requires: (php-composer(zendframework/zend-servicemanager) < %{zendframework_servicemanager_max_ver} with php-composer(zendframework/zend-servicemanager) >= %{zendframework_servicemanager_min_ver}) +Requires: (php-composer(zendframework/zend-stdlib) < %{zendframework_stdlib_max_ver} with php-composer(zendframework/zend-stdlib) >= %{zendframework_stdlib_min_ver}) +Requires: (php-composer(zetacomponents/document) < %{zetacomponents_document_max_ver} with php-composer(zetacomponents/document) >= %{zetacomponents_document_min_ver}) +%else +Requires: php-composer(cilex/cilex) < %{cilex_max_ver} +Requires: php-composer(cilex/cilex) >= %{cilex_min_ver} +Requires: php-composer(erusev/parsedown) < %{erusev_parsedown_max_ver} +Requires: php-composer(erusev/parsedown) >= %{erusev_parsedown_min_ver} +Requires: php-composer(jms/serializer) < %{jms_serializer_max_ver} +Requires: php-composer(jms/serializer) >= %{jms_serializer_min_ver} +Requires: php-composer(monolog/monolog) < %{monolog_max_ver} +Requires: php-composer(monolog/monolog) >= %{monolog_min_ver} +Requires: php-composer(phpdocumentor/fileset) < %{phpdocumentor_fileset_max_ver} +Requires: php-composer(phpdocumentor/fileset) >= %{phpdocumentor_fileset_min_ver} +Requires: php-composer(phpdocumentor/graphviz) < %{phpdocumentor_graphviz_max_ver} +Requires: php-composer(phpdocumentor/graphviz) >= %{phpdocumentor_graphviz_min_ver} +Requires: php-composer(phpdocumentor/reflection) < %{phpdocumentor_reflection_max_ver} +Requires: php-composer(phpdocumentor/reflection) >= %{phpdocumentor_reflection_min_ver} +Requires: php-composer(phpdocumentor/reflection-docblock) < %{phpdocumentor_reflection_docblock_max_ver} +Requires: php-composer(phpdocumentor/reflection-docblock) >= %{phpdocumentor_reflection_docblock_min_ver} +Requires: php-composer(symfony/config) < %{symfony_max_ver} +Requires: php-composer(symfony/config) >= %{symfony_min_ver} +Requires: php-composer(symfony/console) < %{symfony_max_ver} +Requires: php-composer(symfony/console) >= %{symfony_min_ver} +Requires: php-composer(symfony/event-dispatcher) < %{symfony_max_ver} +Requires: php-composer(symfony/event-dispatcher) >= %{symfony_min_ver} +Requires: php-composer(symfony/process) < %{symfony_max_ver} +Requires: php-composer(symfony/process) >= %{symfony_min_ver} +Requires: php-composer(symfony/stopwatch) < %{symfony_max_ver} +Requires: php-composer(symfony/stopwatch) >= %{symfony_min_ver} +Requires: php-composer(symfony/validator) < %{symfony_max_ver} +Requires: php-composer(symfony/validator) >= %{symfony_min_ver} +Requires: php-composer(twig/twig) < %{twig_max_ver} +Requires: php-composer(twig/twig) >= %{twig_min_ver} +Requires: php-composer(zendframework/zend-cache) < %{zendframework_cache_max_ver} +Requires: php-composer(zendframework/zend-cache) >= %{zendframework_cache_min_ver} +Requires: php-composer(zendframework/zend-config) < %{zendframework_config_max_ver} +Requires: php-composer(zendframework/zend-config) >= %{zendframework_config_min_ver} +Requires: php-composer(zendframework/zend-filter) < %{zendframework_filter_max_ver} +Requires: php-composer(zendframework/zend-filter) >= %{zendframework_filter_min_ver} +Requires: php-composer(zendframework/zend-i18n) < %{zendframework_i18n_max_ver} +Requires: php-composer(zendframework/zend-i18n) >= %{zendframework_i18n_min_ver} +Requires: php-composer(zendframework/zend-serializer) < %{zendframework_serializer_max_ver} +Requires: php-composer(zendframework/zend-serializer) >= %{zendframework_serializer_min_ver} +Requires: php-composer(zendframework/zend-servicemanager) < %{zendframework_servicemanager_max_ver} +Requires: php-composer(zendframework/zend-servicemanager) >= %{zendframework_servicemanager_min_ver} +Requires: php-composer(zendframework/zend-stdlib) < %{zendframework_stdlib_max_ver} +Requires: php-composer(zendframework/zend-stdlib) >= %{zendframework_stdlib_min_ver} +Requires: php-composer(zetacomponents/document) < %{zetacomponents_document_max_ver} +Requires: php-composer(zetacomponents/document) >= %{zetacomponents_document_min_ver} +%endif +# phpcompatinfo (computed from version 2.9.0) +Requires: php-date +Requires: php-dom +Requires: php-iconv +Requires: php-igbinary +Requires: php-json +Requires: php-libxml +Requires: php-pcre +Requires: php-reflection +Requires: php-spl +Requires: php-xsl +Requires: php-zlib +# Autoloader +Requires: php-composer(fedora/autoloader) + +# Composer +Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} +# Standard "php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT}" naming +Provides: php-%{composer_vendor}-%{composer_project} = %{version}-%{release} +Provides: php-%{composer_project} = %{version}-%{release} +# Rename +Obsoletes: php-pear-PhpDocumentor < 2.9.0-1 +Provides: php-pear-PhpDocumentor = %{version}-%{release} +Provides: php-pear(PhpDocumentor) = %{version} +## This pkg was the only one in this channel so the channel is no longer needed +Obsoletes: php-channel-phpdoc + +# Bundled +## data/templates/abstract/js/jquery-1.4.2.min.js +## data/templates/old-ocean/js/jquery-1.4.2.min.js +## data/templates/responsive/js/jquery-1.4.2.min.js +Provides: bundled(js-jquery) = 1.4.2 +## data/templates/old-ocean/js/jquery-1.7.1.min.js +## data/templates/responsive/js/jquery-1.7.1.min.js +## docs/.static/js/jquery-1.7.1.min.js +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/jquery-1.7.1.min.js +Provides: bundled(js-jquery) = 1.7.1 +## data/templates/clean/js/jquery-1.11.0.min.js +Provides: bundled(js-jquery) = 1.11.0 +## data/templates/abstract/js/jquery-ui-1.8.2.custom.min.js +## data/templates/old-ocean/js/jquery-ui-1.8.2.custom.min.js +## data/templates/old-ocean/css/black-tie/jquery-ui-1.8.2.custom.css +## docs/.static/js/jquery-ui-1.8.2.custom.min.js +## data/templates/zend/css/black-tie/jquery-ui-1.8.2.custom.css +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/jquery-ui-1.8.2.custom.min.js +## data/templates/responsive/js/jquery-ui-1.8.2.custom.min.js +Provides: bundled(js-jquery-ui) = 1.8.2 +## data/templates/new-black/css/phpdoc/jquery-ui-1.8.16.custom.css +## data/templates/new-black/css/jquery-ui.css +Provides: bundled(js-jquery-ui) = 1.8.16 +## data/templates/clean/js/ui/1.10.4/jquery-ui.min.js +Provides: bundled(js-jquery-ui) = 1.10.4 +## data/templates/abstract/js/jquery.cookie.js +## data/templates/old-ocean/js/jquery.cookie.js +## data/templates/responsive/js/jquery.cookie.js +Provides: bundled(js-jquery-cookie) +## data/templates/abstract/js/jquery.panzoom.js +## data/templates/old-ocean/js/jquery.panzoom.js +## data/templates/responsive/js/jquery.panzoom.js +Provides: bundled(js-jquery-panzoom) = 0.9.0 +## data/templates/abstract/js/jquery.tools.min.js +## data/templates/old-ocean/js/jquery.tools.min.js +## data/templates/responsive/js/jquery.tools.min.js +Provides: bundled(js-jquery-tools) = 1.2.5 +Provides: bundled(js-jquery-event-wheel) = 1 +## data/templates/abstract/js/jquery.treeview.js +## data/templates/old-ocean/js/jquery.treeview.js +## data/templates/responsive/js/jquery.treeview.js +Provides: bundled(js-jquery-treeview) = 1.5 +## data/templates/responsive/js/jquery.iviewer.js +## data/templates/responsive/js/jquery.iviewer.min.js +## data/templates/responsive/img/iviewer/* +Provides: bundled(js-jquery-iviewer) = 0.7 +## data/templates/clean/js/jquery.iviewer.js +## data/templates/clean/js/jquery.iviewer.min.js +Provides: bundled(js-jquery-iviewer) = 0.7.7 +## data/templates/clean/js/jquery.dotdotdot-1.5.9.js +## data/templates/clean/js/jquery.dotdotdot-1.5.9.min.js +Provides: bundled(js-jquery-dotdotdot) = 1.5.9 +## data/templates/responsive/js/jquery.mousewheel.min.js +Provides: bundled(js-jquery-mousewheel) = 3.0.6 +## data/templates/clean/js/jquery.mousewheel.js +Provides: bundled(js-jquery-mousewheel) = 3.1.9 +## data/templates/old-ocean/js/jquery.splitter.js +## data/templates/responsive/js/jquery.splitter.js +## data/templates/zend/js/jquery.splitter.js +Provides: bundled(js-jquery-splitter) = 1.51 +## data/templates/responsive/js/jquery.xml2json.js +Provides: bundled(js-jquery-xml2json) = 1.3 +## data/templates/responsive/js/jqplot/* +Provides: bundled(js-jqplot) = 1.0.8 +## data/templates/abstract/css/sen.full.min.css +Provides: bundled(css-sencss) +## data/templates/clean/js/prism.min.js +## data/templates/clean/css/prism.css +Provides: bundled(js-prism) +## data/templates/clean/css/font-awesome.min.css +## data/templates/clean/font/fontawesome-webfont.eot +## data/templates/clean/font/fontawesome-webfont.svg +## data/templates/clean/font/fontawesome-webfont.ttf +## data/templates/clean/font/fontawesome-webfont.woff +## data/templates/clean/font/FontAwesome.otf +Provides: bundled(fontawesome) = 3.2.1 +## data/templates/responsive/css/bootstrap.css +## data/templates/responsive/css/bootstrap.min.css +## data/templates/responsive/js/bootstrap.js +## data/templates/responsive/js/bootstrap.min.js +## docs/.static/css/bootstrap.min.css +## docs/.static/js/bootstrap.js +Provides: bundled(js-bootstrap) = 2.0.0 +## data/templates/clean/css/bootstrap-combined.no-icons.min.css +## data/templates/clean/js/bootstrap.min.js +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap.css +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap-responsive.min.css +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap.min.css +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/bootstrap.min.js +Provides: bundled(js-bootstrap) = 2.3.2 +## data/templates/responsive/css/bootstrap-responsive.css +## data/templates/responsive/css/bootstrap-responsive.min.css +## docs/.static/css/bootstrap-responsive.css +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/bootstrap-responsive.css +Provides: bundled(js-bootstrap-responsive) = 2.0.0 +## data/templates/responsive/js/prettify/* +## docs/.static/css/prettify.css +## docs/.static/js/prettify/prettify.min.js +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/css/prettify.css +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/js/prettify/* +Provides: bundled(js-prettify) +## data/templates/clean/js/html5.js +Provides: bundled(js-html5) = 3.7.0 +## data/templates/responsive/img/glyphicons-halflings-white.png +## data/templates/responsive/img/glyphicons-halflings.png +## docs/.static/img/glyphicons-halflings-white.png +## docs/.static/img/glyphicons-halflings.png +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/img/glyphicons-halflings-white.png +## src/phpDocumentor/Plugin/Scrybe/data/templates/default/img/glyphicons-halflings.png +Provides: bundled(glyphicons-halflings) +## data/templates/old-ocean/js/SVGPan.js +## data/templates/responsive/js/SVGPan.js +Provides: bundled(js-svgpan) = 1.2 + +%description +phpDocumentor is an application that is capable of analyzing your PHP source +code and DocBlock comments to generate a complete set of API Documentation. + +Inspired by phpDocumentor 1 and JavaDoc it continues to innovate and is up to +date with the latest technologies and PHP language features. + +Features: phpDocumentor supports the following: +* PHP 5.3 compatible, full support for Namespaces, Closures and more is provided +* Shows any tag, some tags add additional functionality to phpDocumentor + (such as @link) +* Processing speed, Zend Framework experienced a significant reduction in + processing time compared to phpDocumentor 1 +* Low memory usage, peak memory usage for small projects is less than 20MB, + medium projects 40MB and large frameworks 100MB +* Incremental parsing, if you kept the Structure file from a previous run you + get an additional performance boost of up to 80% on top of the mentioned + processing speed above +* Easy template building, if you want to make a branding you only have to call + 1 task and edit 3 files +* Command-line compatibility with phpDocumentor 1, phpDocumentor 2 is an + application in its own right but the basic phpDocumentor 1 arguments, + such as --directory, --file and --target, have been adopted +* Two-step process, phpDocumentor first generates a cache with your application + structure before creating the output. If you'd like you can use that to power + your own tools or formatters! + + +%prep +%setup -qn %{github_name}-%{github_commit} + +sed -i 's#@package_version@#%{version}#' src/phpDocumentor/Application.php +echo -n "%{version}" > VERSION + +: Adjust vendor dir +%patch0 -p1 +sed -i 's#__PHPDIR__#%{phpdir}#' \ + bin/phpdoc \ + src/Cilex/Provider/JmsSerializerServiceProvider.php + +: Adjust templates dir +%patch1 -p1 + +: Fix "PHP Warning: count(): Parameter must be an array or an object that implements Countable" +%patch2 -p1 + +: E: zero-length +find . -type f -size 0 -delete -print + +: E: script-without-shebang +chmod a-x src/phpDocumentor/Parser/File.php + + +%build +pushd src/phpDocumentor + +: Create Fedora autoloader +cat <<'AUTOLOAD' | tee autoload-fedora.php + phpunit.xml + +: Upstream tests +RETURN_CODE=0 +PHPUNIT=$(which phpunit) +for PHP_EXEC in php %{?rhel:php54 php55} php56 php70 php71 php72; do + if [ "php" = "$PHP_EXEC" ] || which $PHP_EXEC; then + # count(): Parameter must be an array or an object that implements Countable + if [ $($PHP_EXEC -r 'echo PHP_VERSION_ID;') -ge 70200 ]; then + sed 's/function testTypeIsInheritedWhenNoneIsPresent/function SKIP_testTypeIsInheritedWhenNoneIsPresent/' \ + -i tests/unit/phpDocumentor/Descriptor/ArgumentDescriptorTest.php + fi + + $PHP_EXEC -d auto_prepend_file=%{buildroot}%{phpdir}/phpDocumentor/autoload-fedora.php \ + $PHPUNIT --verbose --bootstrap bootstrap.php || RETURN_CODE=1 + fi +done +exit $RETURN_CODE +%else +: Tests skipped +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license .rpm/licenses/* +%doc .rpm/docs/* +# Library +%{phpdir}/phpDocumentor/Application.php +%{phpdir}/phpDocumentor/Bootstrap.php +%{phpdir}/phpDocumentor/Cilex +%{phpdir}/phpDocumentor/Command +%{phpdir}/phpDocumentor/Compiler +%{phpdir}/phpDocumentor/Configuration +%{phpdir}/phpDocumentor/Configuration.php +%{phpdir}/phpDocumentor/Console +%{phpdir}/phpDocumentor/Descriptor +%{phpdir}/phpDocumentor/Event +%{phpdir}/phpDocumentor/Parser +%{phpdir}/phpDocumentor/Partials +%{phpdir}/phpDocumentor/Plugin +%{phpdir}/phpDocumentor/Transformer +%{phpdir}/phpDocumentor/Translator +%exclude %{phpdir}/phpDocumentor/Plugin/Scrybe/tests +# Data +%{phpdir}/phpDocumentor/data +## Autoloaders +%{phpdir}/phpDocumentor/autoload-fedora.php +%{phpdir}/phpDocumentor/autoload.php +%{phpdir}/phpDocumentor/vendor +# Bin +%{_bindir}/%{name} + + +%changelog +* Sun Feb 24 2019 Shawn Iwinski - 2.9.0-7 +- Use range dependencies +- Fix "PHP Warning: count(): Parameter must be an array or an object that + implements Countable" +- Fix autoloader + +* Wed Dec 27 2017 Shawn Iwinski - 2.9.0-6 +- Add bundled provides + +* Wed Nov 29 2017 Shawn Iwinski - 2.9.0-5 +- Update license and add license breakdown + +* Mon Nov 13 2017 Shawn Iwinski - 2.9.0-4 +- Fix bin issues + +* Sun Oct 01 2017 Shawn Iwinski - 2.9.0-3 +- Fix BuildRequires +- Add php-cli dependencies +- Fix phpdocumentor/reflection-docblock autoload require + +* Sun Sep 24 2017 Shawn Iwinski - 2.9.0-2 +- Add missing virtual provide php-pear(PhpDocumentor) +- Fix rpmlint errors + +* Sat Aug 19 2017 Shawn Iwinski - 2.9.0-1 +- Initial package -- cgit