blob: 717de13ef8c7325fa16b3f695b1c4959aedf4903 (
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
# remirepo spec file for php-pecl-xdiff
#
# SPDX-FileCopyrightText: Copyright 2016-2026 Remi Collet
# SPDX-License-Identifier: CECILL-2.1
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
%{?scl:%scl_package php-pecl-xdiff}
%global pecl_name xdiff
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
%global ini_name 40-%{pecl_name}.ini
%global pie_vend pecl
%global pie_proj %{pecl_name}
%global _configure ../configure
# Github forge
%global gh_vend php
%global gh_proj pecl-text-%{pecl_name}
%global forgeurl https://github.com/%{gh_vend}/%{gh_proj}
%global tag %{version}
# See http://www.xmailserver.org/xdiff-lib.html
%global libxdiff_version 0.23
Name: %{?scl_prefix}php-pecl-%{pecl_name}
Summary: File differences/patches
# libxdiff is LGPLv2+, xdiff extension is PHP
License: PHP-3.01 AND LGPL-2.0-or-later
Version: 2.2.0
Release: 1%{?dist}
%forgemeta
URL: %{forgeurl}
Source0: %{forgesource}
# bundles the lib, as libxdiff from spot is not compatible
Source1: http://www.xmailserver.org/libxdiff-%{libxdiff_version}.tar.gz
Source2: config.m4
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 7.0
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
Provides: bundled(libxdiff) = %{libxdiff_version}
# Extension
Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
# PECL
Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
# PIE
Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}
Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{version}
%description
This extension creates and applies patches to both text and binary files.
Documentation: http://php.net/xdiff
Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}.
%prep
%setup -q -n %{gh_proj}-%{version} -a1
# Bundles libxdiff
mv libxdiff-%{libxdiff_version}/xdiff libxdiff
sed -e 's/PACKAGE_VERSION/"%{libxdiff_version}"/' -i libxdiff/xversion.c
cp -p %{SOURCE2} config.m4
cp -p libxdiff-%{libxdiff_version}/COPYING libxdiff_COPYING
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_XDIFF_VERSION/{s/.* "//;s/".*$//;p}' php_xdiff.h)
if test "x${extver}" != "x%{version}"; then
: Error: Upstream extension version is ${extver}, expecting %{version}.
exit 1
fi
cat >%{ini_name} << 'EOF'
; Enable %{pecl_name} extension module
extension=%{pecl_name}.so
EOF
mkdir NTS ZTS
%build
%{?dtsenable}
%{__phpize}
[ -f Makefile.global ] && GLOBAL=Makefile.global || GLOBAL=build/Makefile.global
sed -e 's/INSTALL_ROOT/DESTDIR/' -i $GLOBAL
cd NTS
%configure --with-php-config=%{__phpconfig}
%make_build
%if %{with_zts}
cd ../ZTS
%configure --with-php-config=%{__ztsphpconfig}
%make_build
%endif
%install
%{?dtsenable}
%make_install -C NTS
# Drop in the bit of configuration
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
%if %{with_zts}
%make_install -C ZTS
install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
%endif
%check
: Minimal load test for NTS extension
%{__php} -n \
-d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
--modules | grep '^%{pecl_name}$'
: Upstream test suite for NTS extension
TEST_PHP_EXECUTABLE=%{__php} \
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
NO_INTERACTION=1 \
REPORT_EXIT_STATUS=1 \
%{__php} -n run-tests.php
%if %{with_zts}
: Minimal load test for ZTS extension
%{__ztsphp} -n \
-d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
--modules | grep '^%{pecl_name}$'
%endif
%files
%license LICENSE
%license libxdiff_COPYING
%doc composer.json
%doc *.md
%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{pecl_name}.so
%if %{with_zts}
%config(noreplace) %{php_ztsinidir}/%{ini_name}
%{php_ztsextdir}/%{pecl_name}.so
%endif
%changelog
* Tue Apr 7 2026 Remi Collet <remi@remirepo.net> - 2.2.0-1
- update to 2.2.0
- re-license spec file to CECILL-2.1
- add pie virtual provides
- drop pear/pecl dependency
- sources from github
* Wed Aug 30 2023 Remi Collet <remi@remirepo.net> - 2.1.1-3
- rebuild for PHP 8.3.0RC1
* Thu Sep 1 2022 Remi Collet <remi@remirepo.net> - 2.1.1-2
- rebuild for PHP 8.2.0RC1
* Tue May 24 2022 Remi Collet <remi@remirepo.net> - 2.1.1-1
- update to 2.1.1
* Tue May 18 2021 Remi Collet <remi@remirepo.net> - 2.1.0-1
- update to 2.1.0
* Wed Sep 30 2020 Remi Collet <remi@remirepo.net> - 2.0.1-8
- add patch for PHP 8 from
https://github.com/php/pecl-text-xdiff/pull/5
* Tue Sep 03 2019 Remi Collet <remi@remirepo.net> - 2.0.1-7
- rebuild for 7.4.0RC1
* Thu Jun 6 2019 Remi Collet <remi@remirepo.net> - 2.0.1-6
- Fix build with PHP 7.4
* Thu Aug 16 2018 Remi Collet <remi@remirepo.net> - 2.0.1-5
- rebuild for 7.3.0beta2 new ABI
* Wed Jul 18 2018 Remi Collet <remi@remirepo.net> - 2.0.1-4
- rebuild for 7.3.0alpha4 new ABI
* Tue Jul 18 2017 Remi Collet <remi@remirepo.net> - 2.0.1-3
- rebuild for PHP 7.2.0beta1 new API
* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 2.0.1-2
- rebuild with PHP 7.1.0 GA
* Wed Oct 12 2016 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
- initial package, version 2.0.2 with bundled libxdiff 0.23
|