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  | 
