blob: e16d989035c6a752fb6bdb84725f2fa0427a6479 (
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
|
# remirepo spec file for php-girgias-csv
#
# SPDX-FileCopyrightText: Copyright 2025 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-girgias-csv}
%bcond_without tests
# Extension
%global ext_name csv
%global ini_name 40-%{ext_name}.ini
%global upstream_version 0.4.4
#global upstream_prever RC1
# PIE / packagist
%global pie_vend girgias
%global pie_proj csv
# Github forge
%global gh_vend Girgias
%global gh_proj csv-php-extension
%global forgeurl https://gitlab.com/%{gh_vend}/%{gh_proj}
%global tag %{upstream_version}%{?upstream_prever}
# Mandatory for gitlab on EL-8
%global commit 37e466bfdd1c8b178fd839b6d7593b435d411113
%global archivename %{gh_proj}-%{upstream_version}%{?upstream_prever}
Summary: CSV PHP extension
Name: %{?scl_prefix}php-%{pie_vend}-%{pie_proj}
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
%forgemeta
Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
License: PHP-3.01
URL: %{forgeurl}
Source0: %{forgesource}
BuildRequires: make
BuildRequires: gcc
BuildRequires: (%{?scl_prefix}php-devel >= 8.0 with %{?scl_prefix}php-devel < 8.6)
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
# PECL/PIE
Provides: %{?scl_prefix}php-%{ext_name} = %{version}
Provides: %{?scl_prefix}php-%{ext_name}%{?_isa} = %{version}
Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}
# Package have been renamed
Obsoletes: %{?scl_prefix}php-pecl-%{ext_name} < 0.4.4
Provides: %{?scl_prefix}php-pecl-%{ext_name} = %{version}
Provides: %{?scl_prefix}php-pecl-%{ext_name}%{?_isa} = %{version}
%description
A small PHP extension to add/improve the handling of CSV strings which follows
RFC 4180.
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
%forgesetup
# see https://gitlab.com/Girgias/csv-php-extension/-/issues/13
sed -e '/PHP_CSV_VERSION/s/0.5.0/%{upstream_version}%{?upstream_prever}/' -i php_csv.h
: Sanity check, really often broken
extver=$(sed -n '/# define PHP_CSV_VERSION/{s/.* "//;s/".*$//;p}' php_csv.h)
if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then
: Error: Upstream extension version is ${extver}, expecting %{version}.
exit 1
fi
: Create configuration file
cat << 'EOF' | tee %{ini_name}
; Enable the %{summary}
extension=%{ext_name}
EOF
%build
%{__phpize}
sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global
%configure \
--enable-csv \
--with-libdir=%{_lib} \
--with-php-config=%{__phpconfig}
%make_build
%install
%make_install
# install config file
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
%check
: Minimal load test for the extension
%{__php} --no-php-ini \
--define extension=%{buildroot}/%{php_extdir}/%{ext_name}.so \
--modules | grep '^%{ext_name}$'
%if %{with tests}
# see https://gitlab.com/Girgias/csv-php-extension/-/issues/12
sed -e 's/new/@new/' -i tests/collection_to_buffer/basic_with_iterator_aggregate.phpt
: Upstream test suite for the extension
TEST_PHP_ARGS="-n -d extension=%{buildroot}/%{php_extdir}/%{ext_name}.so" \
%{__php} -n run-tests.php -q --show-diff %{?_smp_mflags}
%endif
%files
%license LICENSE
%doc composer.json
%doc *.md
%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{ext_name}.so
%changelog
* Thu Sep 4 2025 Remi Collet <remi@remirepo.net> - 0.4.4-1
- initial package
- obsoletes php-pecl-csv
- open https://gitlab.com/Girgias/csv-php-extension/-/issues/13
Version 0.4.4 reports as 0.5.0
- open https://gitlab.com/Girgias/csv-php-extension/-/issues/12
Deprecation message with 8.5.0beta2
|