305 lines
8.3 KiB
Plaintext
305 lines
8.3 KiB
Plaintext
# Fedora spec file for php-zstd
|
|
# without SCL compatibility from:
|
|
#
|
|
# remirepo spec file for php-zstd
|
|
#
|
|
# Copyright (c) 2018-2023 Remi Collet
|
|
# License: CC-BY-SA-4.0
|
|
# http://creativecommons.org/licenses/by-sa/4.0/
|
|
#
|
|
# Please, preserve the changelog entries
|
|
#
|
|
|
|
# For EPEL-9
|
|
%{!?__phpize: %global __phpize %{_bindir}/phpize}
|
|
%{!?__ztsphpize: %global __ztsphpize %{_bindir}/zts-phpize}
|
|
%{!?__phpconfig: %global __phpconfig %{_bindir}/php-config}
|
|
%{!?__ztsphpconfig:%global __ztsphpconfig %{_bindir}/zts-php-config}
|
|
|
|
%global pecl_name zstd
|
|
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
|
|
%global ini_name 40-%{pecl_name}.ini
|
|
%global sources %{pecl_name}-%{version}
|
|
%global _configure ../%{sources}/configure
|
|
|
|
Summary: Zstandard extension
|
|
Name: php-%{pecl_name}
|
|
Version: 0.14.0
|
|
Release: 1%{?dist}
|
|
License: MIT
|
|
URL: https://pecl.php.net/package/%{pecl_name}
|
|
Source0: https://pecl.php.net/get/%{sources}.tgz
|
|
|
|
BuildRequires: make
|
|
BuildRequires: gcc
|
|
BuildRequires: php-devel >= 7.0
|
|
BuildRequires: php-pecl-apcu-devel
|
|
BuildRequires: php-pear
|
|
BuildRequires: pkgconfig(libzstd)
|
|
|
|
Requires: php(zend-abi) = %{php_zend_api}
|
|
Requires: php(api) = %{php_core_api}
|
|
|
|
Provides: php-pecl-%{pecl_name} = %{version}
|
|
Provides: php-pecl-%{pecl_name}%{?_isa} = %{version}
|
|
Provides: php-pecl(%{pecl_name}) = %{version}
|
|
Provides: php-pecl(%{pecl_name})%{?_isa} = %{version}
|
|
|
|
|
|
%description
|
|
PHP extension for compression and decompression with Zstandard library.
|
|
|
|
|
|
%package devel
|
|
Summary: %{name} developer files (header)
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Requires: php-devel%{?_isa}
|
|
|
|
%description devel
|
|
These are the files needed to compile programs using %{name}.
|
|
|
|
|
|
%prep
|
|
%setup -qc
|
|
|
|
sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml
|
|
sed -e '\:"zstd/:d' -i package.xml
|
|
|
|
cd %{sources}
|
|
# Use the system library
|
|
rm -r zstd
|
|
|
|
# Sanity check, really often broken
|
|
extver=$(sed -n '/#define PHP_ZSTD_VERSION/{s/.* "//;s/".*$//;p}' php_zstd.h)
|
|
if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then
|
|
: Error: Upstream extension version is ${extver}, expecting %{version}%{?gh_date:-dev}.
|
|
exit 1
|
|
fi
|
|
cd ..
|
|
|
|
mkdir NTS
|
|
%if %{with_zts}
|
|
mkdir ZTS
|
|
%endif
|
|
|
|
# Drop in the bit of configuration
|
|
cat << 'EOF' | tee %{ini_name}
|
|
; Enable '%{summary}' extension module
|
|
extension = %{pecl_name}.so
|
|
EOF
|
|
|
|
|
|
%build
|
|
%{?dtsenable}
|
|
|
|
cd %{sources}
|
|
%{__phpize}
|
|
|
|
cd ../NTS
|
|
%configure \
|
|
--with-php-config=%{__phpconfig} \
|
|
--with-libzstd \
|
|
--with-libdir=%{_lib} \
|
|
--enable-zstd
|
|
make %{?_smp_mflags}
|
|
|
|
%if %{with_zts}
|
|
cd ../ZTS
|
|
%configure \
|
|
--with-php-config=%{__ztsphpconfig} \
|
|
--with-libzstd \
|
|
--with-libdir=%{_lib} \
|
|
--enable-zstd
|
|
make %{?_smp_mflags}
|
|
%endif
|
|
|
|
|
|
%install
|
|
%{?dtsenable}
|
|
|
|
# Install the NTS stuff
|
|
make -C NTS install INSTALL_ROOT=%{buildroot}
|
|
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
|
|
|
|
# Install XML package description
|
|
install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
|
|
|
|
%if %{with_zts}
|
|
# Install the ZTS stuff
|
|
make -C ZTS install INSTALL_ROOT=%{buildroot}
|
|
install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
|
|
%endif
|
|
|
|
# Test & Documentation
|
|
cd %{sources}
|
|
for i in $(grep 'role="test"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
|
|
do install -Dpm 644 $i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i
|
|
done
|
|
for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
|
|
do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
|
|
done
|
|
|
|
|
|
%check
|
|
cd %{sources}
|
|
|
|
export REPORT_EXIT_STATUS=1
|
|
%ifarch s390x
|
|
: ignore test with erratic results
|
|
rm tests/streams_*phpt
|
|
%endif
|
|
|
|
: Minimal load test for NTS extension
|
|
%{__php} --no-php-ini \
|
|
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
|
|
--modules | grep %{pecl_name}
|
|
|
|
: Check that apcu is aware of zstd serializer
|
|
%{__php} --no-php-ini \
|
|
--define extension=apcu.so \
|
|
--define apc.enabled=1 \
|
|
--define apc.enable_cli=1 \
|
|
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
|
|
--ri apcu | 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" \
|
|
%{__php} -n run-tests.php -q --offline --show-diff
|
|
|
|
%if %{with_zts}
|
|
: Minimal load test for ZTS extension
|
|
%{__ztsphp} --no-php-ini \
|
|
--define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
|
|
--modules | grep %{pecl_name}
|
|
|
|
: Upstream test suite for ZTS extension
|
|
TEST_PHP_EXECUTABLE=%{__ztsphp} \
|
|
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \
|
|
%{__ztsphp} -n run-tests.php -q --offline --show-diff
|
|
%endif
|
|
|
|
|
|
%files
|
|
%license %{sources}/LICENSE
|
|
%doc %{pecl_docdir}/%{pecl_name}
|
|
%{pecl_xmldir}/%{name}.xml
|
|
|
|
%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
|
|
|
|
|
|
%files devel
|
|
%doc %{pecl_testdir}/%{pecl_name}
|
|
%{php_incldir}/ext/%{pecl_name}
|
|
|
|
%if %{with_zts}
|
|
%{php_ztsincldir}/ext/%{pecl_name}
|
|
%endif
|
|
|
|
|
|
%changelog
|
|
* Wed Nov 6 2024 Remi Collet <remi@remirepo.net> - 0.14.0-1
|
|
- update to 0.14.0
|
|
|
|
* Wed Sep 6 2023 Remi Collet <remi@remirepo.net> - 0.13.0-1
|
|
- update to 0.13.0
|
|
- fix tests installation path
|
|
- build out of sources tree
|
|
|
|
* Tue Nov 22 2022 Remi Collet <remi@remirepo.net> - 0.12.0-1
|
|
- update to 0.12.0
|
|
|
|
* Mon Oct 4 2021 Remi Collet <remi@remirepo.net> - 0.11.0-1
|
|
- update to 0.11.0
|
|
|
|
* Tue Jul 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-4
|
|
- Second attempt - Rebuilt for
|
|
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
|
|
* Thu Mar 4 2021 Remi Collet <remi@remirepo.net> - 0.10.0-3
|
|
- rebuild for https://fedoraproject.org/wiki/Changes/php80
|
|
|
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
* Fri Jan 22 2021 Remi Collet <remi@remirepo.net> - 0.10.0-1
|
|
- update to 0.10.0
|
|
- enable apcu serializer
|
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
* Thu Jun 4 2020 Remi Collet <remi@remirepo.net> - 0.9.0-1
|
|
- update to 0.9.0 (stable)
|
|
|
|
* Fri Feb 7 2020 Remi Collet <remi@remirepo.net> - 0.8.0-1
|
|
- update to 0.8.0
|
|
- sources from pecl
|
|
|
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
* Fri Oct 04 2019 Remi Collet <remi@remirepo.net> - 0.7.3-3
|
|
- rebuild for https://fedoraproject.org/wiki/Changes/php74
|
|
|
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.3-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
* Wed Apr 24 2019 Remi Collet <remi@remirepo.net> - 0.7.3-1
|
|
- cleanup for Fedora review
|
|
|
|
* Wed Apr 24 2019 Remi Collet <remi@remirepo.net> - 0.7.3-1
|
|
- update to 0.7.3
|
|
|
|
* Tue Apr 23 2019 Remi Collet <remi@remirepo.net> - 0.7.2-1
|
|
- update to 0.7.2
|
|
- use bundled libzstd 1.4.0
|
|
|
|
* Fri Apr 19 2019 Remi Collet <remi@remirepo.net> - 0.7.1-1
|
|
- update to 0.7.1
|
|
|
|
* Tue Apr 16 2019 Remi Collet <remi@remirepo.net> - 0.7.0-1
|
|
- update to 0.7.0
|
|
|
|
* Mon Apr 15 2019 Remi Collet <remi@remirepo.net> - 0.6.1-2
|
|
- test build for Stream implementation, from
|
|
https://github.com/kjdev/php-ext-zstd/pull/17
|
|
|
|
* Thu Apr 4 2019 Remi Collet <remi@remirepo.net> - 0.6.1-1
|
|
- update to 0.6.1
|
|
|
|
* Tue Mar 26 2019 Remi Collet <remi@remirepo.net> - 0.6.0-1
|
|
- update to 0.6.0
|
|
|
|
* Mon Jan 7 2019 Remi Collet <remi@remirepo.net> - 0.5.0-1
|
|
- update to 0.5.0
|
|
|
|
* Thu Aug 16 2018 Remi Collet <remi@remirepo.net> - 0.4.14-4
|
|
- ignore test suite results with newer system library
|
|
|
|
* Thu Aug 16 2018 Remi Collet <remi@remirepo.net> - 0.4.14-3
|
|
- rebuild for 7.3.0beta2 new ABI
|
|
|
|
* Wed Jul 18 2018 Remi Collet <remi@remirepo.net> - 0.4.14-2
|
|
- rebuild for 7.3.0alpha4 new ABI
|
|
|
|
* Tue Jun 19 2018 Remi Collet <remi@remirepo.net> - 0.4.14-1
|
|
- update to 0.4.14
|
|
|
|
* Mon Apr 9 2018 Remi Collet <remi@remirepo.net> - 0.4.13-1
|
|
- update to 0.4.13
|
|
|
|
* Wed Jan 31 2018 Remi Collet <remi@remirepo.net> - 0.4.12-1
|
|
- update to 0.4.12 (no change, PR merged upstream)
|
|
|
|
* Tue Jan 30 2018 Remi Collet <remi@remirepo.net> - 0.4.11-1
|
|
- new package, version 0.4.11
|
|
- add patch to build with system libzstd from
|
|
https://github.com/kjdev/php-ext-zstd/pull/7
|