webbuilder_pel7x64builder0
6 years ago
1 changed files with 226 additions and 0 deletions
@ -0,0 +1,226 @@
@@ -0,0 +1,226 @@
|
||||
# Fedora spec file for php-phpiredis |
||||
# Without SCL compatibility stuff, from: |
||||
# |
||||
# remirepo spec file for php-phpiredis |
||||
# |
||||
# Copyright (c) 2016-2018 Remi Collet |
||||
# License: CC-BY-SA |
||||
# http://creativecommons.org/licenses/by-sa/4.0/ |
||||
# |
||||
# Please, preserve the changelog entries |
||||
# |
||||
|
||||
# we don't want -z defs linker flag |
||||
%undefine _strict_symbol_defs_build |
||||
|
||||
%global gh_commit 981d455034a48bb19db39c578e9c16d889289b99 |
||||
%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) |
||||
%global gh_owner nrk |
||||
%global gh_project phpiredis |
||||
|
||||
%global pecl_name phpiredis |
||||
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} |
||||
%if "%{php_version}" < "5.6" |
||||
%global ini_name %{pecl_name}.ini |
||||
%else |
||||
%global ini_name 40-%{pecl_name}.ini |
||||
%endif |
||||
%global with_tests 0%{!?_without_tests:1} |
||||
|
||||
Name: php-%{pecl_name} |
||||
Version: 1.0.0 |
||||
Release: 12%{?dist} |
||||
|
||||
Summary: Client extension for Redis |
||||
|
||||
License: BSD |
||||
URL: https://github.com/%{gh_owner}/%{gh_project} |
||||
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz |
||||
|
||||
BuildRequires: php-devel |
||||
BuildRequires: php-pear |
||||
BuildRequires: hiredis-devel |
||||
%if %{with_tests} |
||||
BuildRequires: redis |
||||
%endif |
||||
|
||||
Requires: php(zend-abi) = %{php_zend_api} |
||||
Requires: php(api) = %{php_core_api} |
||||
|
||||
%if 0%{?fedora} < 20 && 0%{?rhel} < 7 |
||||
# Filter private shared |
||||
%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} |
||||
%{?filter_setup} |
||||
%endif |
||||
|
||||
|
||||
%description |
||||
Phpiredis is an extension for PHP 5.x and 7.x based on hiredis |
||||
that provides a simple and efficient client for Redis and a fast |
||||
incremental parser / serializer for the RESP protocol. |
||||
|
||||
|
||||
%prep |
||||
%setup -q -c |
||||
mv %{gh_project}-%{gh_commit} NTS |
||||
|
||||
cd NTS |
||||
# Check extension version |
||||
ver=$(sed -n '/define PHP_PHPIREDIS_VERSION/{s/.* "//;s/".*$//;p}' php_phpiredis.h) |
||||
if test "$ver" != "%{version}%{?prever}%{?gh_date:-dev}"; then |
||||
: Error: Upstream VERSION version is ${ver}, expecting %{version}%{?prever}%{?gh_date:-dev}. |
||||
exit 1 |
||||
fi |
||||
cd .. |
||||
|
||||
cat << 'EOF' | tee %{ini_name} |
||||
; Enable %{pecl_name} extension module |
||||
extension=%{pecl_name}.so |
||||
EOF |
||||
|
||||
|
||||
%if %{with_zts} |
||||
# Duplicate source tree for NTS / ZTS build |
||||
cp -pr NTS ZTS |
||||
%endif |
||||
|
||||
|
||||
%build |
||||
cd NTS |
||||
%{_bindir}/phpize |
||||
%configure --with-php-config=%{_bindir}/php-config |
||||
make %{?_smp_mflags} |
||||
|
||||
%if %{with_zts} |
||||
cd ../ZTS |
||||
%{_bindir}/zts-phpize |
||||
%configure --with-php-config=%{_bindir}/zts-php-config |
||||
make %{?_smp_mflags} |
||||
%endif |
||||
|
||||
|
||||
%install |
||||
make -C NTS install INSTALL_ROOT=%{buildroot} |
||||
|
||||
# install configuration |
||||
install -Dpm 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} |
||||
|
||||
%if %{with_zts} |
||||
make -C ZTS install INSTALL_ROOT=%{buildroot} |
||||
install -Dpm 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} |
||||
%endif |
||||
|
||||
|
||||
%check |
||||
: Minimal load test for NTS extension |
||||
%{__php} --no-php-ini \ |
||||
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ |
||||
--modules | grep %{pecl_name} |
||||
|
||||
%if %{with_zts} |
||||
: Minimal load test for NTS extension |
||||
%{__ztsphp} --no-php-ini \ |
||||
--define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ |
||||
--modules | grep %{pecl_name} |
||||
%endif |
||||
|
||||
%if %{with_tests} |
||||
: Upstream test suite for NTS extension |
||||
pidfile=$PWD/redis.pid |
||||
port=$(%{__php} -r 'echo 9000 + PHP_MAJOR_VERSION*100 + PHP_MINOR_VERSION*10 + PHP_INT_SIZE;') |
||||
sed -e "/REDIS_PORT/s/6379/$port/" -i ?TS/tests/testsuite_configuration.inc |
||||
mkdir -p data |
||||
|
||||
redis-server \ |
||||
--bind 127.0.0.1 \ |
||||
--port $port \ |
||||
--daemonize yes \ |
||||
--logfile $PWD/redis.log \ |
||||
--dir $PWD/data \ |
||||
--pidfile $pidfile |
||||
|
||||
cd NTS |
||||
: 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 --show-diff || ret=1 |
||||
|
||||
%if %{with_zts} |
||||
cd ../ZTS |
||||
: Upstream test suite for ZTS extension |
||||
TEST_PHP_EXECUTABLE=%{__ztsphp} \ |
||||
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ |
||||
NO_INTERACTION=1 \ |
||||
REPORT_EXIT_STATUS=1 \ |
||||
%{__ztsphp} -n run-tests.php --show-diff || ret=1 |
||||
%endif |
||||
|
||||
: Cleanup |
||||
if [ -s $pidfile ]; then |
||||
kill $(cat $pidfile) |
||||
sleep 1 |
||||
fi |
||||
|
||||
exit $ret |
||||
%endif |
||||
|
||||
|
||||
%files |
||||
%license NTS/LICENSE |
||||
%doc NTS/README.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 |
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-12 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild |
||||
|
||||
* Thu Oct 11 2018 Remi Collet <remi@remirepo.net> - 1.0.0-11 |
||||
- Rebuild for https://fedoraproject.org/wiki/Changes/php73 |
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-10 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild |
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-9 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
||||
|
||||
* Mon Jan 29 2018 Remi Collet <remi@remirepo.net> - 1.0.0-8 |
||||
- undefine _strict_symbol_defs_build |
||||
|
||||
* Tue Oct 03 2017 Remi Collet <remi@fedoraproject.org> - 1.0.0-7 |
||||
- rebuild for https://fedoraproject.org/wiki/Changes/php72 |
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-6 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-5 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
||||
|
||||
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.0.0-4 |
||||
- Rebuild due to bug in RPM (RHBZ #1468476) |
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||
|
||||
* Sat Nov 26 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-2 |
||||
- cleanup for fedora review |
||||
|
||||
* Thu Nov 24 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-1 |
||||
- update to 1.0.0 release |
||||
|
||||
* Sun Nov 13 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.2.20160715gita64e3bf |
||||
- add minor fix for portability |
||||
- add full reflection for all functions |
||||
- open https://github.com/nrk/phpiredis/pull/53 |
||||
|
||||
* Sat Nov 12 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.1.20160715gita64e3bf |
||||
- Initial packaging of 1.0.0-dev |
Loading…
Reference in new issue