diff options
author | Remi Collet <remi@remirepo.net> | 2018-01-22 08:55:05 +0100 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2018-01-22 08:55:05 +0100 |
commit | fb7eaf1b504c609380385aad04e07caf7f89f535 (patch) | |
tree | ab0ae85b54ddfe938b8de35fe7b2ee96900356dd /php-felixfbecker-advanced-json-rpc3.spec |
duplicate php-felixfbecker-advanced-json-rpc
Diffstat (limited to 'php-felixfbecker-advanced-json-rpc3.spec')
-rw-r--r-- | php-felixfbecker-advanced-json-rpc3.spec | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/php-felixfbecker-advanced-json-rpc3.spec b/php-felixfbecker-advanced-json-rpc3.spec new file mode 100644 index 0000000..1a02106 --- /dev/null +++ b/php-felixfbecker-advanced-json-rpc3.spec @@ -0,0 +1,142 @@ +# remirepo/fedora spec file php-felixfbecker-advanced-json-rpc +# +# Copyright (c) 2017 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_commit 543ffb38b9af47f16404ab2daec5aaf225dcb531 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner felixfbecker +%global gh_project php-advanced-json-rpc + +%global pk_vendor %{gh_owner} +%global pk_project advanced-json-rpc + +%global ns_vendor %nil +%global ns_project AdvancedJsonRpc +%global php_home %{_datadir}/php +%global with_tests 0%{!?_without_tests:1} + +Name: php-%{pk_vendor}-%{pk_project} +Version: 2.0.3 +Release: 1%{?dist} +Summary: A more advanced JSONRPC implementation + +Group: Development/Libraries +License: ISC +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz + +BuildArch: noarch +%if %{with_tests} +# For tests +BuildRequires: php(language) >= 7.0 +BuildRequires: php-reflection +BuildRequires: php-json +BuildRequires: php-composer(netresearch/jsonmapper) < 2 +BuildRequires: php-composer(netresearch/jsonmapper) >= 1.0 +BuildRequires: php-composer(phpdocumentor/reflection-docblock) < 4 +BuildRequires: php-composer(phpdocumentor/reflection-docblock) >= 3.1 +# From composer.json, "require-dev": { +# "phpunit/phpunit": "^5.5" +BuildRequires: php-composer(phpunit/phpunit) >= 5.5 +# Required by autoloader +BuildRequires: php-composer(fedora/autoloader) +%endif + +# From composer.json, "require": { +# "php": ">=7.0", +# "netresearch/jsonmapper": "^1.0", +# "phpdocumentor/reflection-docblock": "^3.1" +Requires: php(language) >= 7.0 +Requires: php-composer(netresearch/jsonmapper) < 2 +Requires: php-composer(netresearch/jsonmapper) >= 1.0 +Requires: php-composer(phpdocumentor/reflection-docblock) < 4 +Requires: php-composer(phpdocumentor/reflection-docblock) >= 3.1 +# From phpcompatinfo report for version 2.0.3 +Requires: php-reflection +Requires: php-json +# Required by autoloader +Requires: php-composer(fedora/autoloader) + +Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} + + +%description +Advanced JSONRPC + +Provides basic classes for requests and responses in JSONRPC and a +Dispatcher class that can decode a JSONRPC request and call appropiate +methods on a target, coercing types of parameters by type-hints and +@param tags. + +Supports nested targets: +If the method is something like myNestedTarget->theMethod, the dispatcher +will look for a myNestedTarget property on the target and call theMethod +on it. + +The delimiter is configurable and defaults to the PHP object operator ->. + +Autoloader: %{php_home}/%{ns_project}/autoload.php + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + +cat << 'EOF' | tee lib/autoload.php +<?php +/* Autoloader for %{name} and its dependencies */ +require_once '/usr/share/php/Fedora/Autoloader/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('%{ns_project}\\', __DIR__); +\Fedora\Autoloader\Dependencies::required([ + '%{php_home}/phpDocumentor/Reflection/DocBlock/autoload.php', + '%{php_home}/netresearch/jsonmapper/autoload.php', +]); +EOF + + +%build +# Empty build section, most likely nothing required. + + +%install +: Library +mkdir -p %{buildroot}%{php_home} +cp -pr lib %{buildroot}%{php_home}/%{ns_project} + + +%check +%if %{with_tests} +cat << 'EOF' | tee bootstrap.php +<?php +require '%{buildroot}%{php_home}/%{ns_project}/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('%{ns_project}\\Tests\\', __DIR__ . '/tests'); +EOF + +ret=0 +for cmd in php php70 php71 php72; do + if which $cmd; then + $cmd %{_bindir}/phpunit --bootstrap bootstrap.php --verbose tests || ret=1 + fi +done +exit $ret +%else +: Test suite disabled +%endif + + +%files +%{!?_licensedir:%global license %%doc} +# https://github.com/felixfbecker/php-advanced-json-rpc/issues/11 +#license LICENSE +%doc composer.json +%doc README.md +%{php_home}/%{ns_project} + + +%changelog +* Sat Oct 21 2017 Remi Collet <remi@remirepo.net> - 2.0.3-1 +- initial package, version 2.0.3 +- open https://github.com/felixfbecker/php-advanced-json-rpc/issues/11 - LICENSE |