summaryrefslogtreecommitdiffstats
path: root/php-phpspec.spec
blob: c691df14c934d4d8c99a9dc3ef199f17db0ad41b (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
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