summaryrefslogtreecommitdiffstats
path: root/php-onelogin-php-saml.spec
blob: afe6bb0327119760d03d9c9ee82e4a8bfed6f855 (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
%global gh_commit    17bfafe301bf21be1827c72f90e33a9c29d58553
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner     onelogin
%global gh_project   php-saml
%global php_vendor   OneLogin

%global php_minver 5.3.2

Name:           php-%{gh_owner}-%{gh_project}
Version:        2.9.1
Release:        3%{?dist}
Summary:        SAML support for PHP

License:        MIT
URL:            https://github.com/%{gh_owner}/%{gh_project}
Source0:        %{url}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz

# Patch the test bootstrap for our autoload.php rather than adjust in %%check to simplify spec
Patch0:         php-saml-bootstrap-autoloader.patch

BuildArch:      noarch

BuildRequires:  php(language) >= %{php_minver}
BuildRequires:  %{_bindir}/phpab
BuildRequires:  %{_bindir}/phpunit
BuildRequires:  php-mcrypt

# For %%check testing
BuildRequires:  php-composer(robrichards/xmlseclibs) >= 1.4.1
BuildRequires:  php-composer(robrichards/xmlseclibs) < 2.0.0

# From composer.json, "require": {
#        "php": ">=5.3.2"
Requires:       php(language) >= %{php_minver}
Requires: php-openssl
Requires: php-dom

# From manual unbundling, needs 1.4 contrary to the bundled 2.0 due to namespace issues
Requires:       php-composer(robrichards/xmlseclibs) >= 1.4.1
Requires:       php-composer(robrichards/xmlseclibs) < 2.0.0

# From phpci analysis
Requires: php-date
Requires: php-filter
Requires: php-hash
Requires: php-libxml
Requires: php-pcre
Requires: php-session
Requires: php-zlib

%if 0%{?rhel}
Requires: php-gettext
%else
Suggests: php-gettext
%endif

# Uses the mcrypt algorithms which is a suggests in xmlseclibs
Requires:       php-mcrypt

Provides:       php-composer(%{gh_owner}/%{gh_project}) = %{version}


%description
OneLogin's SAML PHP toolkit let you build a SP (Service Provider) over 
your PHP application and connect it to any IdP (Identity Provider).

Autoloader: %{_datadir}/php/%{php_vendor}/Saml2/autoload.php


%prep
%autosetup -n %{gh_project}-%{gh_commit} -p1


%build
rm -rf extlib
: Generate autoloader
%{_bindir}/phpab -n --output lib/Saml2/autoload.php lib
# Append the xmlseclibs requirement not in composer
cat >> lib/Saml2/autoload.php <<EOF
require_once "%{_datadir}/php/robrichards-xmlseclibs/autoload.php";
EOF


%install
mkdir -p   %{buildroot}%{_datadir}/php/%{php_vendor}
cp -pr lib/* %{buildroot}%{_datadir}/php/%{php_vendor}/


%check
: Run upstream phpunit tests in dev mode
%{_bindir}/php -c %{_docdir}/php/php.ini-development %{_bindir}/phpunit --verbose --debug --bootstrap tests/bootstrap.php --configuration tests/phpunit.xml
: Run upstream phpunit tests in system settings mode
%{_bindir}/php %{_bindir}/phpunit --verbose --debug --bootstrap tests/bootstrap.php --configuration tests/phpunit.xml





%files
%license LICENSE
%doc advanced_settings_example.php settings_example.php README.md composer.json CHANGELOG
%{_datadir}/php/%{php_vendor}


%changelog
* Mon Jul 25 2016 James Hogarth <james.hogarth@gmail.com> - 2.9.1-3
- Switch to a single autoloader after feedback

* Mon Jul 25 2016 James Hogarth <james.hogarth@gmail.com> - 2.9.1-2
- Update spec with comments from review

* Wed Jul 20 2016 James Hogarth <james.hogarth@gmail.com> - 2.9.1-1
- update to 2.9.1

* Wed Jul 13 2016 James Hogarth <james.hogarth@gmail.com> - 2.9.0-1
- initial package