summaryrefslogtreecommitdiffstats
path: root/php-horde-Horde-Serialize.spec
blob: 3f33cfbcdddf69df1bac02f40ae82ca760c1e033 (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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# remirepo/fedora spec file for php-horde-Horde-Serialize
#
# Copyright (c) 2012-2019 Nick Bebout, Remi Collet
#
# License: MIT
# https://fedoraproject.org/wiki/Licensing:MIT#Modern_Style_with_sublicense
#
# Please, preserve the changelog entries
#
%{!?__pear:       %global __pear       %{_bindir}/pear}
%global pear_name    Horde_Serialize
%global pear_channel pear.horde.org

Name:           php-horde-Horde-Serialize
Version:        2.0.5
Release:        7%{?dist}
Summary:        Data Encapulation API

License:        LGPLv2
URL:            http://pear.horde.org
Source0:        http://%{pear_channel}/get/%{pear_name}-%{version}.tgz

BuildArch:      noarch
BuildRequires:  php(language) >= 5.3.0
BuildRequires:  php-pear
BuildRequires:  php-channel(%{pear_channel})
# To run unit tests
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
BuildRequires: (php-pear(%{pear_channel}/Horde_Test)        >= 2.1.0  with php-pear(%{pear_channel}/Horde_Test)        < 3)
%else
BuildRequires:  php-pear(%{pear_channel}/Horde_Test) >= 2.1.0
%endif

Requires(post): %{__pear}
Requires(postun): %{__pear}
Requires:       php(language) >= 5.3.0
Requires:       php-channel(%{pear_channel})
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
Requires:      (php-pear(%{pear_channel}/Horde_Exception)   >= 2.0.0  with php-pear(%{pear_channel}/Horde_Exception)   <  3)
Requires:      (php-pear(%{pear_channel}/Horde_Util)        >= 2.0.0  with php-pear(%{pear_channel}/Horde_Util)        <  3)
Recommends:    (php-pear(%{pear_channel}/Horde_Imap_Client) >= 2.0.0  with php-pear(%{pear_channel}/Horde_Imap_Client) <  3)
Recommends:    (php-pear(%{pear_channel}/Horde_Mime)        >= 2.0.0  with php-pear(%{pear_channel}/Horde_Mime)        <  3)
# Always there
Recommends:     php-bz2
Recommends:     php-json
Recommends:     php-zlib
# only suggested as removed in 7.4
Suggests:       php-wddx
Suggests:       php-lzf
%else
Requires:       php-pear(%{pear_channel}/Horde_Exception) >= 2.0.0
Requires:       php-pear(%{pear_channel}/Horde_Exception) <  3.0.0
Requires:       php-pear(%{pear_channel}/Horde_Util) >= 2.0.0
Requires:       php-pear(%{pear_channel}/Horde_Util) <  3.0.0
Requires:       php-bz2
Requires:       php-json
Requires:       php-wddx
Requires:       php-zlib
Requires:       php-pecl(LZF)
# Optional and skipped for build order: Horde_Imap_Client, Horde_Mime
%endif

Provides:       php-pear(%{pear_channel}/%{pear_name}) = %{version}
Provides:       php-composer(horde/horde-serialize) = %{version}


%description
The Horde_Serialize library provides various methods of encapsulating data.


%prep
%setup -q -c

cd %{pear_name}-%{version}
cp ../package.xml %{name}.xml


%build
cd %{pear_name}-%{version}
# Empty build section, most likely nothing required.


%install
cd %{pear_name}-%{version}
%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml

# Clean up unnecessary files
rm -rf %{buildroot}%{pear_metadir}/.??*

# Install XML package description
mkdir -p %{buildroot}%{pear_xmldir}
install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir}


%check
cd %{pear_name}-%{version}/test/$(echo %{pear_name} | sed -e s:_:/:g)

ret=0
for cmd in php php70 php71 php72 php73; do
  if which $cmd; then
    if %{_bindir}/phpunit --atleast-version 4.8; then
      $cmd %{_bindir}/phpunit --verbose . || ret=1
    else
     : PHPUnit is too old for this package
    fi
  fi
done
exit $ret


%post
%{__pear} install --nodeps --soft --force --register-only \
    %{pear_xmldir}/%{name}.xml >/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    %{__pear} uninstall --nodeps --ignore-errors --register-only \
        %{pear_channel}/%{pear_name} >/dev/null || :
fi


%files
%doc %{pear_docdir}/%{pear_name}
%{pear_xmldir}/%{name}.xml
%{pear_phpdir}/Horde/Serialize
%{pear_phpdir}/Horde/Serialize.php
%doc %{pear_testdir}/%{pear_name}


%changelog
* Wed Mar 20 2019 Remi Collet <remi@fedoraproject.org> - 2.0.5-7
- use range dependencies
- use weak dependencies, drop dependency on wddx

* Tue Feb 02 2016 Remi Collet <remi@fedoraproject.org> - 2.0.5-1
- Update to 2.0.5
- PHP 7 compatible version
- run test suite with both PHP 5 and 7 when available

* Fri Jul 31 2015 Remi Collet <remi@fedoraproject.org> - 2.0.4-1
- Update to 2.0.4 (no change)

* Fri Jan 09 2015 Remi Collet <remi@fedoraproject.org> - 2.0.3-1
- Update to 2.0.3
- add provides php-composer(horde/horde-serialize)

* Wed Mar 06 2013 Remi Collet <remi@fedoraproject.org> - 2.0.2-1
- Update to 2.0.2

* Wed Feb 6 2013 Nick Bebout <nb@fedoraproject.org> - 2.0.1-3
- Update for review

* Mon Nov 19 2012 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
- Update to 2.0.1

* Thu Nov  1 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-1
- Update to 2.0.0

* Sat Jan 28 2012 Nick Bebout <nb@fedoraproject.org> - 1.0.2-1
- Initial package