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