# remirepo/fedora spec file for php-nette-reflection # # Copyright (c) 2015 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global gh_commit 9c2ed2a29f1f58125a0f19ffc987812d6b17d3e6 #global gh_date 20150728 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner nette %global gh_project reflection %global ns_vendor Nette %global ns_project Reflection %global php_home %{_datadir}/php %global with_tests 0%{!?_without_tests:1} Name: php-%{gh_owner}-%{gh_project} Version: 2.3.1 %global specrel 1 Release: %{?gh_date:0.%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} Summary: Nette PHP Reflection Component 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 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php-composer(theseer/autoload) %if %{with_tests} BuildRequires: php(language) >= 5.3.1 BuildRequires: php-tokenizer BuildRequires: php-pcre BuildRequires: php-reflection BuildRequires: php-composer(%{gh_owner}/caching) >= 2.2 BuildRequires: php-composer(%{gh_owner}/utils) >= 2.2 # From composer.json, "require-dev": { # "nette/di": "~2.3", # "nette/tester": "~1.4" BuildRequires: php-composer(%{gh_owner}/di) >= 2.3 BuildRequires: php-composer(%{gh_owner}/tester) >= 1.4 %endif # from composer.json, "require": { # "php": ">=5.3.1" # "ext-tokenizer": "*", # "nette/caching": "~2.2", # "nette/utils": "~2.2" Requires: php(language) >= 5.3.1 Requires: php-tokenizer Requires: php-composer(%{gh_owner}/caching) >= 2.2 Requires: php-composer(%{gh_owner}/caching) < 3 Requires: php-composer(%{gh_owner}/utils) >= 2.2 Requires: php-composer(%{gh_owner}/utils) < 3 # from phpcompatinfo report for version 2.3.1 Requires: php-reflection Requires: php-pcre Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} %description If you need to find every information about any class, reflection is the right tool to do it. You can easily find out which methods does any class have, what parameters do those methods accept, etc. Nette\Object simplifies access to class' self-reflection with method getReflection(), returning a Nette\Reflection\ClassType object. To use this library, you just have to add, in your project: require_once '%{php_home}/%{ns_vendor}/%{ns_project}/autoload.php'; %prep %setup -q -n %{gh_project}-%{gh_commit} %build : Generate a classmap autoloader phpab --output src/%{ns_project}/autoload.php src cat << 'EOF' | tee -a src/%{ns_project}/autoload.php // Dependencies require_once '%{php_home}/%{ns_vendor}/Caching/autoload.php'; require_once '%{php_home}/%{ns_vendor}/Utils/autoload.php'; EOF %install rm -rf %{buildroot} mkdir -p %{buildroot}%{php_home}/%{ns_vendor} cp -pr src/* %{buildroot}%{php_home}/%{ns_vendor}/ %check %if %{with_tests} : Generate configuration cat /etc/php.ini /etc/php.d/*ini >php.ini export LANG=fr_FR.utf8 : Generate autoloader mkdir vendor cat << 'EOF' | tee vendor/autoload.php - 2.3.1-1 - initial package