diff options
| author | Remi Collet <fedora@famillecollet.com> | 2016-04-06 15:14:30 +0200 | 
|---|---|---|
| committer | Remi Collet <fedora@famillecollet.com> | 2016-04-06 15:14:30 +0200 | 
| commit | 7f569f8b6f89de51be68b12bcb1e15521724ba86 (patch) | |
| tree | 9a3e9439ccb4d65fc58748a7b384bec22d63f1b3 | |
php-hoa-cli: wip
| -rw-r--r-- | LICENSE | 29 | ||||
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | php-hoa-cli-autoload.php | 19 | ||||
| -rw-r--r-- | php-hoa-cli-rpm.patch | 59 | ||||
| -rw-r--r-- | php-hoa-cli.spec | 132 | 
5 files changed, 243 insertions, 0 deletions
@@ -0,0 +1,29 @@ +                                New BSD License + + + +Copyright © 2007-2016, Hoa community. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +    * Redistributions of source code must retain the above copyright +      notice, this list of conditions and the following disclaimer. +    * Redistributions in binary form must reproduce the above copyright +      notice, this list of conditions and the following disclaimer in the +      documentation and/or other materials provided with the distribution. +    * Neither the name of the Hoa nor the names of its contributors may be +      used to endorse or promote products derived from this software without +      specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + diff --git a/php-hoa-cli-autoload.php b/php-hoa-cli-autoload.php new file mode 100644 index 0000000..8a65be9 --- /dev/null +++ b/php-hoa-cli-autoload.php @@ -0,0 +1,19 @@ +<?php +/* Autoloader for hoa/cli and its dependencies */ + +$vendor = '/usr/share/php'; + +// Dependencies +foreach ([ +	$vendor . '/Hoa/Consistency/autoload.php'    => true, +	$vendor . '/Hoa/Console/autoload.php'        => true, +	$vendor . '/Hoa/Dispatcher/autoload.php'     => true, +	$vendor . '/Hoa/Exception/autoload.php'      => true, +	$vendor . '/Hoa/Protocol/autoload.php'       => true, +	$vendor . '/Hoa/Router/autoload.php'         => true, +	] as $dep => $mandatory) { +	if ($mandatory || file_exists($dep)) require_once($dep); +} + +$fedoraHoaLoader->addNamespace('Hoa\\Cli\\', __DIR__, true); + diff --git a/php-hoa-cli-rpm.patch b/php-hoa-cli-rpm.patch new file mode 100644 index 0000000..80d9e91 --- /dev/null +++ b/php-hoa-cli-rpm.patch @@ -0,0 +1,59 @@ +diff -up ./Bin/Hoa.php.rpm ./Bin/Hoa.php +--- ./Bin/Hoa.php.rpm	2016-04-06 14:42:29.000000000 +0200 ++++ ./Bin/Hoa.php	2016-04-06 14:47:17.000000000 +0200 +@@ -42,43 +42,8 @@ use Hoa\Router; + /** +  * @copyright  Copyright © 2007-2016 Hoa community +  */ +-if (!defined('HOA')) { +-    $composer = [ +-        dirname(__DIR__) . DIRECTORY_SEPARATOR . +-        'vendor' . DIRECTORY_SEPARATOR . +-        'autoload.php', +-        dirname(__DIR__) . DIRECTORY_SEPARATOR . +-        '..' . DIRECTORY_SEPARATOR . +-        '..' . DIRECTORY_SEPARATOR . +-        'autoload.php', +-        dirname(__DIR__) . DIRECTORY_SEPARATOR . +-        '..' . DIRECTORY_SEPARATOR . +-        '..' . DIRECTORY_SEPARATOR . +-        '..' . DIRECTORY_SEPARATOR . +-        'autoload.php' +-    ]; +- +-    foreach ($composer as $path) { +-        if (file_exists($path)) { +-            require_once $path; +- +-            break; +-        } +-    } +- +-    if (!defined('HOA')) { +-        require_once +-            dirname(__DIR__) . DIRECTORY_SEPARATOR . +-            '..' . DIRECTORY_SEPARATOR . +-            'Consistency' . DIRECTORY_SEPARATOR . +-            'Prelude.php'; +- +-        require_once +-            dirname(__DIR__) . DIRECTORY_SEPARATOR . +-            '..' . DIRECTORY_SEPARATOR . +-            'Protocol' . DIRECTORY_SEPARATOR . +-            'Wrapper.php'; +-    } ++foreach (glob('/usr/share/php/Hoa/*/autoload.php') as $file) { ++	require_once ($file); + } +  + Exception\Error::enableErrorHandler(); +diff -up ./Bin/hoa.rpm ./Bin/hoa +--- ./Bin/hoa.rpm	2016-04-06 14:42:36.000000000 +0200 ++++ ./Bin/hoa	2016-04-06 14:43:06.000000000 +0200 +@@ -39,4 +39,5 @@ +  * @copyright  Copyright © 2007-2016 Hoa community +  * @license    New BSD License +  */ +-require_once __DIR__ . DIRECTORY_SEPARATOR . 'Hoa.php'; ++require_once '/usr/share/php/Hoa/Cli/Bin/Hoa.php'; ++ diff --git a/php-hoa-cli.spec b/php-hoa-cli.spec new file mode 100644 index 0000000..746d134 --- /dev/null +++ b/php-hoa-cli.spec @@ -0,0 +1,132 @@ +# remirepo/fedora spec file for php-hoa-cli +# +# Copyright (c) 2016 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global bootstrap    1 +%global gh_commit    43af0d453d85705f6711eb9c7020710a8785bcb2 +#global gh_date      20150728 +%global gh_short     %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner     hoaproject +%global gh_project   Cli +%global php_home     %{_datadir}/php +%global ns_vendor    Hoa +%global ns_project   Cli +%global pk_vendor    hoa +%global pk_project   cli +%if %{bootstrap} +%global with_tests   0%{?_with_tests:1} +%else +%global with_tests   0%{!?_without_tests:1} +%endif + +Name:           php-%{pk_vendor}-%{pk_project} +Version:        2.16.03.15 +%global specrel 0 +Release:        %{?gh_date:0.%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} +Summary:        The %{ns_vendor}\%{ns_project} library. + +Group:          Development/Libraries +License:        BSD +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 +Source1:        %{name}-autoload.php +Source2:        http://hoa-project.net/LICENSE + +# Use our autoloader +Patch0:         %{name}-rpm.patch + +BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch:      noarch +%if %{with_tests} +BuildRequires:  php-composer(%{pk_vendor}/consistency)     >= 1.0 +BuildRequires:  php-composer(%{pk_vendor}/console)         >= 3.0 +BuildRequires:  php-composer(%{pk_vendor}/dispatcher)      >= 1.0 +BuildRequires:  php-composer(%{pk_vendor}/exception)       >= 1.0 +BuildRequires:  php-composer(%{pk_vendor}/protocol)        >= 1.0 +BuildRequires:  php-composer(%{pk_vendor}/router)          >= 3.0 +%endif + +# from composer.json, "require": { +#        "hoa/consistency": "~1.0", +#        "hoa/console"    : "~3.0", +#        "hoa/dispatcher" : "~1.0", +#        "hoa/exception"  : "~1.0", +#        "hoa/protocol"   : "~1.0", +#        "hoa/router"     : "~3.0" +Requires:       php-composer(%{pk_vendor}/consistency)     >= 1.0 +Requires:       php-composer(%{pk_vendor}/consistency)     <  2 +Requires:       php-composer(%{pk_vendor}/console)         >= 3.0 +Requires:       php-composer(%{pk_vendor}/console)         <  4 +Requires:       php-composer(%{pk_vendor}/dispatcher)      >= 1.0 +Requires:       php-composer(%{pk_vendor}/dispatcher)      <  2 +Requires:       php-composer(%{pk_vendor}/exception)       >= 1.0 +Requires:       php-composer(%{pk_vendor}/exception)       <  2 +Requires:       php-composer(%{pk_vendor}/protocol)        >= 1.0 +Requires:       php-composer(%{pk_vendor}/protocol)        <  2 +Requires:       php-composer(%{pk_vendor}/router)          >= 3.0 +Requires:       php-composer(%{pk_vendor}/router)          <  4 +# from phpcompatinfo report for version 2.16.03.15 +Requires:       php-cli +Requires:       php-mbstring +Requires:       php-spl + +Provides:       php-composer(%{pk_vendor}/%{pk_project}) = %{version} + + +%description +The %{ns_vendor}\%{ns_project} meta-library provides the hoa +command line. This is a shell tool to access libraries' commands. + +Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}/autoload.php + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} +cp %{SOURCE1} autoload.php +cp %{SOURCE2} LICENSE + +%patch0 -p1 -b .rpm + + +%build +: Nothing + +%install +rm -rf          %{buildroot} +mkdir -p        %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/Bin +cp -pr *php     %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/ +cp -pr Bin/*php %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/Bin/ + +install -Dpm 0755 Bin/hoa %{buildroot}%{_bindir}/hoa + + +%check +%if %{with_tests} +%else +: bootstrap build with test suite disabled +%endif + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc composer.json +%doc *md +%{_bindir}/hoa +%{php_home}/%{ns_vendor}/%{ns_project} + + +%changelog +* Wed Apr  6 2016 Remi Collet <remi@fedoraproject.org> - 2.16.03.15-0 +- initial package +- bootstrap build +  | 
