diff options
author | Remi Collet <fedora@famillecollet.com> | 2016-04-04 19:33:45 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2016-04-04 19:33:45 +0200 |
commit | 9bb22968827d26f3e760b0722077b6c0299b6254 (patch) | |
tree | fc0e6881ffe59439d4297cd52496923d61ab8e25 |
php-hoa-consistency: new package (wip)
-rw-r--r-- | LICENSE | 29 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | php-hoa-consistency-autoload.php | 22 | ||||
-rw-r--r-- | php-hoa-consistency.spec | 112 | ||||
-rw-r--r-- | test.php | 27 |
5 files changed, 194 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-consistency-autoload.php b/php-hoa-consistency-autoload.php new file mode 100644 index 0000000..379b6d5 --- /dev/null +++ b/php-hoa-consistency-autoload.php @@ -0,0 +1,22 @@ +<?php +/* Autoloader for hoa/consistency and its dependencies */ + +/* This will load the autoloader */ +require_once __DIR__ . '/Prelude.php'; + +$vendor = '/usr/share/php'; + +// Use Hoa autoloader +if (!isset($fedoraHoaLoader) || !($fedoraHoaLoader instanceof \Hoa\Consistency\Autoloader)) { + $fedoraHoaLoader = new \Hoa\Consistency\Autoloader(); + $fedoraHoaLoader->register(); + $fedoraHoaLoader->addNamespace('Hoa\\Consistency\\', __DIR__); +} + +// Dependencies +foreach ([ + $vendor . '/Hoa/Exception/autoload.php' => true, + ] as $dep => $mandatory) { + if ($mandatory || file_exists($dep)) require_once($dep); +} + diff --git a/php-hoa-consistency.spec b/php-hoa-consistency.spec new file mode 100644 index 0000000..1918e6b --- /dev/null +++ b/php-hoa-consistency.spec @@ -0,0 +1,112 @@ +# remirepo/fedora spec file for php-hoa-consistency +# +# 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 aa7e30f99aa2ae476f83800d3ad350506eec153b +#global gh_date 20150728 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner hoaproject +%global gh_project Consistency +%global php_home %{_datadir}/php +%global ns_vendor Hoa +%global ns_project Consistency +%global pk_vendor hoa +%global pk_project consistency +%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: 1.16.03.03 +%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 + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +%if %{with_tests} +BuildRequires: php(language) >= 5.5.0 +BuildRequires: php-composer(%{pk_vendor}/exception) >= 1.0 +# From composer.json, "require-dev": { +# "hoa/stream": "~1.0", +# "hoa/test" : "~2.0" +BuildRequires: php-composer(%{pk_vendor}/stream) >= 1.0 +BuildRequires: php-composer(%{pk_vendor}/test) >= 2.0 +%endif + +# from composer.json, "require": { +# "php" : ">=5.5.0", +# "hoa/exception": "~1.0" +Requires: php(language) >= 5.5.0 +Requires: php-composer(%{pk_vendor}/exception) >= 1.0 +Requires: php-composer(%{pk_vendor}/exception) < 2 +# from phpcompatinfo report for version 1.16.03.03: +Requires: php-reflection +Requires: php-pcre +Requires: php-spl + +Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} + + +%description +The %{ns_vendor}\%{ns_project} library provides a thin layer between +PHP VMs and libraries to ensure consistency accross VM versions and +library versions. + +Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}/autoload.php + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} +cp %{SOURCE1} autoload.php +cp %{SOURCE2} LICENSE + +%build +: Nothing + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project} +cp -pr *php %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/ + + +%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 +%dir %{php_home}/%{ns_vendor} + %{php_home}/%{ns_vendor}/%{ns_project} + + +%changelog +* Mon Apr 4 2016 Remi Collet <remi@fedoraproject.org> - 1.16.03.03-0 +- initial package +- bootstrap build + diff --git a/test.php b/test.php new file mode 100644 index 0000000..2af8ba4 --- /dev/null +++ b/test.php @@ -0,0 +1,27 @@ +<?php + +require '/usr/share/php/Hoa/Consistency/autoload.php'; + +$nss = [ + 'Hoa\\Consistency\\', + 'Hoa\\Event\\', + 'Hoa\\Exception\\', +]; +foreach ($nss as $ns) { + echo "$ns: "; + print_r($fedoraHoaLoader->getBaseDirectories($ns)); +} +$classes = [ + '\\Hoa\\Consistency\\Xcallable', + '\\Hoa\\Event\\Listener', + '\\Hoa\\Exception\\Group', +]; +foreach ($classes as $class) { + if (class_exists($class)) { + echo "."; + } else { + echo "\nMissing $class\n"; + } +} +echo "\nDone\n"; + |