blob: f8586dd1dce477f754e864dc45d4466d04abff3b (
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
|
%global github_owner google
%global github_name google-api-php-client
%global github_version 1.0.3
%global github_commit 2b3b475e3ee52e92fc7b649138ef4f9da3d4f9b9
%global github_release .beta
# "php": ">=5.2.1"
%global php_min_ver 5.2.1
Name: php-google-apiclient
Version: %{github_version}
Release: 0.2%{?github_release}%{?dist}
Summary: Client library for Google APIs
Group: Development/Libraries
License: ASL 2.0
URL: https://developers.google.com/api-client-library/php/
Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz
# Explicitly set '&' as separator value for http_build_query
# https://github.com/google/google-api-php-client/commit/c6949531d2399f81a5e15caf256f156dd68e00e9
# (Note: Backported from source control master branch for OwnCloud)
Patch0: https://github.com/%{github_owner}/%{github_name}/commit/c6949531d2399f81a5e15caf256f156dd68e00e9.patch
BuildArch: noarch
# For tests
BuildRequires: php(language) >= %{php_min_ver}
BuildRequires: php-pear(pear.phpunit.de/PHPUnit)
# For tests: phpcompatinfo (computed from 1.0.3-beta)
BuildRequires: php-date
BuildRequires: php-json
BuildRequires: php-openssl
BuildRequires: php-reflection
BuildRequires: php-spl
Requires: php(language) >= %{php_min_ver}
Requires: ca-certificates
# phpcompatinfo (computed from 1.0.3-beta)
Requires: php-date
Requires: php-json
Requires: php-openssl
Requires: php-reflection
Requires: php-spl
%description
Google APIs Client Library for PHP provides access to many Google APIs.
It is designed for PHP client-application developers and offers simple,
flexible, powerful API access.
Optional:
* php-pecl-apcu
* php-pecl-memcache
* php-pecl-memcached
Examples available in the %{name}-examples package.
%package examples
Summary: Client library for Google APIs: Examples
Requires: %{name} = %{version}-%{release}
%description examples
%{summary}
%prep
%setup -qn %{github_name}-%{github_commit}
# Apply patch
%patch0 -p1
# Remove bundled CA cert
rm -f src/Google/IO/cacerts.pem
sed "s#dirname(__FILE__)\s*.\s*'/cacerts.pem'#'%{_sysconfdir}/pki/tls/cert.pem'#" \
-i src/Google/IO/Stream.php
# Update examples' include path
sed -i 's#../src#%{_datadir}/php#' examples/*.php
%build
# Empty build section, nothing required
%install
mkdir -p %{buildroot}%{_datadir}/php
cp -rp src/* %{buildroot}%{_datadir}/php/
%check
# Turn off PHPUnit colors
sed 's/colors="true"/colors="false"/' -i tests/phpunit.xml
# Skip tests requiring network access
sed -e 's/function testBatchRequest/function SKIP_testBatchRequest/' \
-e 's/function testInvalidBatchRequest/function SKIP_testInvalidBatchRequest/' \
-i tests/general/ApiBatchRequestTest.php
sed 's/function testPageSpeed/function SKIP_testPageSpeed/' \
-i tests/pagespeed/PageSpeedTest.php
sed -e 's/function testGetPerson/function SKIP_testGetPerson/' \
-e 's/function testListActivities/function SKIP_testListActivities/' \
-i tests/plus/PlusTest.php
sed 's/function testMissingFieldsAreNull/function SKIP_testMissingFieldsAreNull/' \
-i tests/youtube/YouTubeTest.php
cd tests
%{_bindir}/phpunit -d date.timezone="UTC" .
# Ensure unbundled CA cert is referenced
grep '%{_sysconfdir}/pki/tls/cert.pem' --quiet \
%{buildroot}%{_datadir}/php/Google/IO/Stream.php
%files
%doc LICENSE *.md composer.json
%{_datadir}/php/Google
%files examples
%doc examples/*
%changelog
* Wed Feb 19 2014 Shawn Iwinski <shawn.iwinski@gmail.com> 1.0.3-0.2.beta
- Backported commit c6949531d2399f81a5e15caf256f156dd68e00e9 for OwnCloud
- Sub-packaged examples
* Sat Feb 08 2014 Shawn Iwinski <shawn.iwinski@gmail.com> 1.0.3-0.1.beta
- Initial package
|