diff options
author | Remi Collet <remi@remirepo.net> | 2017-12-04 11:45:48 +0100 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2017-12-04 11:45:48 +0100 |
commit | aa9a1fae5b7c7c16a65473c455d111b5cca89acc (patch) | |
tree | bde0f38c334a8815d6be28ecbe022745aa765187 /php-kdyby-strict-objects.spec |
Diffstat (limited to 'php-kdyby-strict-objects.spec')
-rw-r--r-- | php-kdyby-strict-objects.spec | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/php-kdyby-strict-objects.spec b/php-kdyby-strict-objects.spec new file mode 100644 index 0000000..8e8c84c --- /dev/null +++ b/php-kdyby-strict-objects.spec @@ -0,0 +1,132 @@ +# remirepo/fedora spec file for php-kdyby-strict-objects +# +# 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 ff6c82b54d8bea0d3f43dc5fce890ebe126e95c7 +#global gh_date 20150728 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner Kdyby +%global gh_project StrictObjects +%global ns_vendor %{gh_owner} +%global ns_project %{gh_project} +%global pk_vendor kdyby +%global pk_project strict-objects +%global php_home %{_datadir}/php +%global with_tests 0%{!?_without_tests:1} + +Name: php-%{pk_vendor}-%{pk_project} +Version: 1.0.0 +%global specrel 1 +Release: %{?gh_date:1%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} +Summary: Simple trait to make your class strict + +Group: Development/Libraries +License: BSD or GPLv2 or GPLv3 +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: %{name}-%{version}-%{gh_short}.tgz +# pull a git snapshot to get test sutie +Source1: makesrc.sh + +BuildArch: noarch +BuildRequires: php-fedora-autoloader-devel +%if %{with_tests} +BuildRequires: php(language) >= 5.4 +BuildRequires: php-reflection +BuildRequires: php-pcre +BuildRequires: php-spl +# From composer.json, "require-dev": { +# "nette/tester": "~1.7" +BuildRequires: php-composer(nette/tester) >= 1.7 +%endif + +# from composer.json, "require": { +# "php": ">=5.4" +Requires: php(language) >= 5.4 +# For autoloader +Requires: php-composer(fedora/autoloader) +# from phpcompatinfo report for version 1.0.0 +Requires: php-reflection +Requires: php-pcre +Requires: php-spl + +Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version} + + +%description +Simple trait to make your class strict, when calling or accessing undefined +member (property or method). + +Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}/autoload.php + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + +cat << 'EOF' | tee src/autoload.php +<?php +/* Autoloader for %{name} and its dependencies */ +require_once '%{php_home}/Fedora/Autoloader/autoload.php'; + +\Fedora\Autoloader\Autoload::addPsr4('%{ns_vendor}\\%{ns_project}\\', __DIR__); +\Fedora\Autoloader\Dependencies::required([ + __DIR__ . '/exceptions.php', +]); +EOF + +chmod -x *.md + + +%build +# Nothing + + +%install +mkdir -p %{buildroot}%{php_home}/%{ns_vendor} +cp -pr src %{buildroot}%{php_home}/%{ns_vendor}/%{ns_project} + + +%check +%if %{with_tests} +export LANG=fr_FR.utf8 + +: Generate autoloader +mkdir vendor +phpab -o vendor/autoload.php tests +cat << 'EOF' | tee -a vendor/autoload.php +require_once '%{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/autoload.php'; +\Fedora\Autoloader\Dependencies::required([ + '%{php_home}/Tester/autoload.php', +]); +EOF + +php -r 'require "%{buildroot}%{php_home}/%{ns_vendor}/%{ns_project}/autoload.php";' +php -r 'require "vendor/autoload.php";' + +: Run test suite in sources tree +ret=0 +for cmd in php php56 php70 php71 php72; do + if which $cmd; then + $cmd %{_bindir}/nette-tester --colors 0 -p $cmd -C tests -s || ret=1 + fi +done +exit $ret +%else +: Test suite disabled +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license license.md +%doc README.md +%doc composer.json +%{php_home}/%{ns_vendor} + + +%changelog +* Mon Dec 4 2017 Remi Collet <remi@remirepo.net> - 1.0.0-1 +- initial package |