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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
# spec file for php-phpspec
#
# 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 66a1df93099282b1514e9e001fcf6e9393f7783d
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner phpspec
%global gh_project phpspec
Name: php-phpspec
Version: 2.1.1
Release: 1%{?dist}
Summary: Specification-oriented BDD framework for PHP 5.3+
Group: Development/Libraries
License: MIT
URL: https://github.com/%{gh_owner}/%{gh_project}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}.tar.gz
Source1: %{gh_project}-autoload.php
# Use our autoloader
Patch0: %{gh_project}-rpm.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: %{_bindir}/phpunit
BuildRequires: php-composer(phpspec/prophecy) >= 1.1
BuildRequires: php-composer(phpspec/php-diff) >= 1.0.0
BuildRequires: php-composer(sebastian/exporter) >= 1.0
BuildRequires: php-composer(symfony/console) >= 2.3.0
BuildRequires: php-composer(symfony/event-dispatcher) >= 2.1
BuildRequires: php-composer(symfony/finder) >= 2.1
BuildRequires: php-composer(symfony/process) >= 2.1
BuildRequires: php-composer(symfony/yaml) >= 2.1
BuildRequires: php-composer(doctrine/instantiator) >= 1.0.1
BuildRequires: php-composer(symfony/class-loader)
# From composer.json, require-dev
BuildRequires: php-composer(symfony/filesystem) >= 2.1
# From composer.json, require
# "php": ">=5.3.3",
# "phpspec/prophecy": "~1.1",
# "phpspec/php-diff": "~1.0.0",
# "sebastian/exporter": "~1.0",
# "symfony/console": "~2.3",
# "symfony/event-dispatcher": "~2.1",
# "symfony/finder": "~2.1",
# "symfony/process": "~2.1",
# "symfony/yaml": "~2.1",
# "doctrine/instantiator": "~1.0,>=1.0.1"
Requires: php(language) >= 5.3.3
Requires: php-composer(phpspec/prophecy) >= 1.1
Requires: php-composer(phpspec/prophecy) < 2
Requires: php-composer(phpspec/php-diff) >= 1.0.0
Requires: php-composer(phpspec/php-diff) < 2
Requires: php-composer(sebastian/exporter) >= 1.0
Requires: php-composer(sebastian/exporter) < 2
Requires: php-composer(symfony/console) >= 2.3.0
Requires: php-composer(symfony/console) < 3
Requires: php-composer(symfony/event-dispatcher) >= 2.1
Requires: php-composer(symfony/event-dispatcher) < 3
Requires: php-composer(symfony/finder) >= 2.1
Requires: php-composer(symfony/finder) < 3
Requires: php-composer(symfony/process) >= 2.1
Requires: php-composer(symfony/process) < 3
Requires: php-composer(symfony/yaml) >= 2.1
Requires: php-composer(symfony/yaml) < 3
Requires: php-composer(doctrine/instantiator) >= 1.0.1
Requires: php-composer(doctrine/instantiator) < 2
# For our autoloader
Requires: php-composer(symfony/class-loader)
# From phpcompatinfo report
Requires: php-pcntl
Requires: php-pcre
Requires: php-reflection
Requires: php-spl
Requires: php-tokenizer
# Composer
Provides: php-composer(phpspec/phpspec) = %{version}
# The application
Provides: phpspec = %{version}
%description
phpspec is a tool which can help you write clean and working PHP code
using behaviour driven development or BDD. BDD is a technique derived
from test-first development.
BDD is a technique used at story level and spec level. phpspec is a tool
for use at the spec level or SpecBDD. The technique is to first use a tool
like phpspec to describe the behaviour of an object you are about to write.
Next you write just enough code to meet that specification and finally you
refactor this code.
%prep
%setup -q -n %{gh_project}-%{gh_commit}
%patch0 -p0 -b .rpm
cp %{SOURCE1} src/PhpSpec/autoload.php
%build
# Nothing
%install
# No namespace, so use a package specific dir
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_datadir}/php
cp -pr src/PhpSpec %{buildroot}%{_datadir}/php/PhpSpec
install -Dpm755 bin/phpspec %{buildroot}%{_bindir}/phpspec
%check
%{_bindir}/php \
-d include_path=.:%{buildroot}%{_datadir}/php:/usr/share/php \
bin/phpspec \
run --format pretty --verbose --no-ansi
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc README.* CHANGES.*
%doc composer.json
%{_bindir}/phpspec
%{_datadir}/php/PhpSpec
%changelog
* Tue Feb 17 2015 Remi Collet <remi@fedoraproject.org> - 2.1.1-1
- initial package
|