summaryrefslogtreecommitdiffstats
path: root/php-doctrine-common.spec
blob: b36501c067889849a11e4f8ed082735e125dfa3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
%global github_owner     doctrine
%global github_name      common
%global github_version   2.4.1
%global github_commit    ceb18cf9b0230f3ea208b6238130fd415abda0a7

# "php": ">=5.3.2"
%global php_min_ver      5.3.2
# "doctrine/*": "1.*"
%global doctrine_min_ver 1.0
%global doctrine_max_ver 2.0

Name:          php-%{github_owner}-%{github_name}
Version:       %{github_version}
Release:       2%{?dist}
Summary:       Common library for Doctrine projects

Group:         Development/Libraries
License:       MIT
URL:           https://github.com/%{github_owner}/%{github_name}
Source0:       %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz

BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:     noarch
# For tests
BuildRequires: php(language)            >= %{php_min_ver}
BuildRequires: php-doctrine-annotations >= %{doctrine_min_ver}
BuildRequires: php-doctrine-annotations <  %{doctrine_max_ver}
BuildRequires: php-doctrine-cache       >= %{doctrine_min_ver}
BuildRequires: php-doctrine-cache       <  %{doctrine_max_ver}
BuildRequires: php-doctrine-collections >= %{doctrine_min_ver}
BuildRequires: php-doctrine-collections <  %{doctrine_max_ver}
BuildRequires: php-doctrine-inflector   >= %{doctrine_min_ver}
BuildRequires: php-doctrine-inflector   <  %{doctrine_max_ver}
BuildRequires: php-doctrine-lexer       >= %{doctrine_min_ver}
BuildRequires: php-doctrine-lexer       <  %{doctrine_max_ver}
BuildRequires: php-pear(pear.phpunit.de/PHPUnit)
# For tests: phpcompatinfo (computed from v2.4.1)
BuildRequires: php-date
BuildRequires: php-pcre
BuildRequires: php-reflection
BuildRequires: php-spl
BuildRequires: php-tokenizer

Requires:      php(language)            >= %{php_min_ver}
Requires:      php-doctrine-annotations >= %{doctrine_min_ver}
Requires:      php-doctrine-annotations <  %{doctrine_max_ver}
Requires:      php-doctrine-cache       >= %{doctrine_min_ver}
Requires:      php-doctrine-cache       <  %{doctrine_max_ver}
Requires:      php-doctrine-collections >= %{doctrine_min_ver}
Requires:      php-doctrine-collections <  %{doctrine_max_ver}
Requires:      php-doctrine-inflector   >= %{doctrine_min_ver}
Requires:      php-doctrine-inflector   <  %{doctrine_max_ver}
Requires:      php-doctrine-lexer       >= %{doctrine_min_ver}
Requires:      php-doctrine-lexer       <  %{doctrine_max_ver}
# phpcompatinfo (computed from v2.4.1)
Requires:      php-pcre
Requires:      php-reflection
Requires:      php-spl
Requires:      php-tokenizer

# PEAR
Provides:      php-pear(pear.doctrine-project.org/DoctrineCommon) = %{version}
# Rename
Obsoletes:     php-doctrine-DoctrineCommon < %{version}
Provides:      php-doctrine-DoctrineCommon = %{version}

%description
The Doctrine Common project is a library that provides extensions to core PHP
functionality.


%prep
%setup -q -n %{github_name}-%{github_commit}


%build
# Empty build section, nothing required


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/%{_datadir}/php
cp -rp lib/* %{buildroot}/%{_datadir}/php/


%check
# Create tests' init
cat > tests/Doctrine/Tests/TestInit.php <<'TESTINIT'
<?php
namespace Doctrine\Tests;

spl_autoload_register(function ($class) {
    $src = str_replace('\\', '/', str_replace('_', '/', $class)).'.php';
    @include_once $src;
});

\Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace(
    'Doctrine\Tests\Common\Annotations\Fixtures', __DIR__ . '/../../'
);
TESTINIT

# Create PHPUnit config w/ colors turned off
sed 's/colors="true"/colors="false"/' phpunit.xml.dist > phpunit.xml

%{_bindir}/phpunit --include-path ./lib:./tests -d date.timezone="UTC"


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc LICENSE *.md UPGRADE* composer.json
%{_datadir}/php/Doctrine/Common/*.php
%{_datadir}/php/Doctrine/Common/Persistence
%{_datadir}/php/Doctrine/Common/Proxy
%{_datadir}/php/Doctrine/Common/Reflection
%{_datadir}/php/Doctrine/Common/Util


%changelog
* Sat Jan 11 2014 Remi Collet <rpms@famillecollet.com> 2.4.1-2
- backport for remi repo

* Sat Jan 04 2014 Shawn Iwinski <shawn.iwinski@gmail.com> 2.4.1-2
- Conditional %%{?dist}
- Removed php-channel-doctrine obsolete

* Fri Dec 27 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 2.4.1-1
- Initial package