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 |
-rw-r--r-- | .gitignore | 8 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | composer.json | 38 | ||||
-rwxr-xr-x | makesrc.sh | 28 | ||||
-rw-r--r-- | php-kdyby-strict-objects-1.0.0-ff6c82b.tgz | bin | 0 -> 5667 bytes | |||
-rw-r--r-- | php-kdyby-strict-objects.spec | 132 |
6 files changed, 210 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc9aa8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +clog +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm 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/composer.json b/composer.json new file mode 100644 index 0000000..a7d9860 --- /dev/null +++ b/composer.json @@ -0,0 +1,38 @@ +{ + "name": "kdyby/strict-objects", + "type": "library", + "description": "Simple trait to make your class strict, when calling or accessing undefined member (property or method).", + "keywords": ["kdyby", "strict", "object", "scream", "magic", "accessors", "properties", "methods", "members", "exceptions"], + "homepage": "http://kdyby.org", + "license": ["BSD-3-Clause", "GPL-2.0", "GPL-3.0"], + "authors": [ + { + "name": "Filip Procházka", + "homepage": "http://filip-prochazka.com", + "email": "filip@prochazka.su" + } + ], + "support": { + "email": "filip@prochazka.su", + "issues": "https://github.com/Kdyby/StrictObjects/issues" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "nette/tester": "~1.7" + }, + "autoload": { + "psr-4": { + "Kdyby\\StrictObjects\\": "src/" + }, + "classmap": [ + "src/exceptions.php" + ] + }, + "autoload-dev": { + "classmap": [ + "tests" + ] + } +} diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..2070e27 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME$1.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME$1.spec) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME$1.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME$1.spec) +SHORT=${COMMIT:0:7} + +echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + +echo "Cloning..." +rm -rf $PROJECT-$COMMIT +git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + +echo "Getting commit..." +pushd $PROJECT-$COMMIT +git checkout $COMMIT +cp composer.json ../composer$1.json +popd + +echo "Archiving..." +tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + +echo "Cleaning..." +rm -rf $PROJECT-$COMMIT + +echo "Done." diff --git a/php-kdyby-strict-objects-1.0.0-ff6c82b.tgz b/php-kdyby-strict-objects-1.0.0-ff6c82b.tgz Binary files differnew file mode 100644 index 0000000..8462745 --- /dev/null +++ b/php-kdyby-strict-objects-1.0.0-ff6c82b.tgz 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 |