diff options
author | Remi Collet <fedora@famillecollet.com> | 2013-11-22 12:10:12 +0100 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2013-11-22 12:10:12 +0100 |
commit | 93a066dc631c7b4f0d394315e97dfe4c115f1c74 (patch) | |
tree | 61552e0dec6974d4f4e0ebec26ac27e9d1c96928 | |
parent | 13a651bcadde21a020cc0d2688ba60c53642729e (diff) |
php-pecl-http: 2.0.0 (stable)
-rw-r--r-- | php-pecl-http.spec | 88 |
1 files changed, 66 insertions, 22 deletions
diff --git a/php-pecl-http.spec b/php-pecl-http.spec index 3c03fba..1aeefdc 100644 --- a/php-pecl-http.spec +++ b/php-pecl-http.spec @@ -6,16 +6,19 @@ # # Please, preserve the changelog entries # -%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?php_incldir: %global php_incldir %{_includedir}/php} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} # The project is pecl_http but the extension is only http %global proj_name pecl_http %global pecl_name http -%global prever beta5 +%global with_zts 0%{?__ztsphp:1} Name: php-pecl-http Version: 2.0.0 -Release: 0.18.%{prever}%{?dist}.1 +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} Summary: Extended HTTP support License: BSD @@ -44,10 +47,16 @@ Requires(post): %{__pecl} Requires(postun): %{__pecl} Requires: php(zend-abi) = %{php_zend_api} Requires: php(api) = %{php_core_api} +%if "%{php_version}" < "5.4" +# php 5.3.3 in EL-6 don't use arched virtual provides +# so only requires real packages instead +Requires: php-common%{?_isa} +%else Requires: php-hash%{?_isa} Requires: php-iconv%{?_isa} Requires: php-json%{?_isa} Requires: php-spl%{?_isa} +%endif Requires: php-pecl(propro)%{?_isa} Requires: php-pecl(raphf)%{?_isa} Conflicts: php-event @@ -64,12 +73,14 @@ Obsoletes: php53-pecl-http Obsoletes: php53u-pecl-http Obsoletes: php54-pecl-http %if "%{php_version}" > "5.5" -Obsoletes: php55-pecl-http +Obsoletes: php55u-pecl-http %endif +%if 0%{?fedora} < 20 # Filter shared private %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} %{?filter_setup} +%endif %description @@ -86,6 +97,10 @@ Also provided is a powerful request and parallel interface. Version 2 is completely incompatible to previous version. +Note: +. php-pecl-http1 provides API version 1 +. php-pecl-http provides API version 2 + Documentation : http://php.net/http @@ -102,9 +117,10 @@ These are the files needed to compile programs using HTTP extension. %prep %setup -c -q -cd %{proj_name}-%{version}%{?prever} +mv %{proj_name}-%{version}%{?prever} NTS +cd NTS -extver=$(sed -n '/#define PHP_HTTP_EXT_VERSION/{s/.* "//;s/".*$//;p}' php_http.h) +extver=$(sed -n '/#define PHP_PECL_HTTP_VERSION/{s/.* "//;s/".*$//;p}' php_http.h) if test "x${extver}" != "x%{version}%{?prever}"; then : Error: Upstream HTTP version is now ${extver}, expecting %{version}%{?prever}. : Update the pdover macro and rebuild. @@ -114,40 +130,54 @@ cd .. cp %{SOURCE1} %{pecl_name}.ini -cp -pr %{proj_name}-%{version}%{?prever} %{proj_name}-zts +%if %{with_zts} +# Duplicate source tree for NTS / ZTS build +cp -pr NTS ZTS +%endif %build -cd %{proj_name}-%{version}%{?prever} +cd NTS %{_bindir}/phpize %configure --with-php-config=%{_bindir}/php-config make %{?_smp_mflags} -cd ../%{proj_name}-zts +%if %{with_zts} +cd ../ZTS %{_bindir}/zts-phpize %configure --with-php-config=%{_bindir}/zts-php-config make %{?_smp_mflags} +%endif %install rm -rf %{buildroot} -make -C %{proj_name}-%{version}%{?prever} \ - install INSTALL_ROOT=%{buildroot} - -make -C %{proj_name}-zts \ - install INSTALL_ROOT=%{buildroot} +make -C NTS install INSTALL_ROOT=%{buildroot} # Install XML package description install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml # install config file (z-http.ini to be loaded after json) install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_inidir}/z-%{pecl_name}.ini + +%if %{with_zts} +make -C ZTS install INSTALL_ROOT=%{buildroot} install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/z-%{pecl_name}.ini +%endif + +# Test & Documentation +cd NTS +for i in $(grep 'role="test"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 $i %{buildroot}%{pecl_testdir}/%{proj_name}/$i +done +for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{proj_name}/$i +done %check -# Install needed extensions +# Shared needed extensions modules="" for mod in json hash iconv propro raphf; do if [ -f %{php_extdir}/${mod}.so ]; then @@ -155,17 +185,19 @@ for mod in json hash iconv propro raphf; do fi done -# Minimal load test for NTS extension +: Minimal load test for NTS extension %{__php} --no-php-ini \ $modules \ - --define extension=$PWD/%{proj_name}-%{version}%{?prever}/modules/%{pecl_name}.so \ + --define extension=$PWD/NTS/modules/%{pecl_name}.so \ --modules | grep %{pecl_name} -# Minimal load test for ZTS extension +%if %{with_zts} +: Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ $modules \ - --define extension=$PWD/%{proj_name}-zts/modules/%{pecl_name}.so \ + --define extension=$PWD/ZTS/modules/%{pecl_name}.so \ --modules | grep %{pecl_name} +%endif %post @@ -184,20 +216,32 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) -%doc %{proj_name}-%{version}%{?prever}/{CREDITS,LICENSE,ThanksTo.txt} +%doc %{pecl_docdir}/%{proj_name} %config(noreplace) %{php_inidir}/z-%{pecl_name}.ini -%config(noreplace) %{php_ztsinidir}/z-%{pecl_name}.ini %{php_extdir}/%{pecl_name}.so -%{php_ztsextdir}/%{pecl_name}.so %{pecl_xmldir}/%{name}.xml +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/z-%{pecl_name}.ini +%{php_ztsextdir}/%{pecl_name}.so +%endif + %files devel %defattr(-,root,root,-) +%doc %{pecl_testdir}/%{proj_name} %{php_incldir}/ext/%{pecl_name} + +%if %{with_zts} %{php_ztsincldir}/ext/%{pecl_name} +%endif %changelog +* Fri Nov 22 2013 Remi Collet <remi@fedoraproject.org> - 2.0.0-1 +- update to 2.0.0 (stable) +- install doc in pecl doc_dir +- install tests in pecl test_dir (in devel) + * Tue Aug 20 2013 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.18.beta5 - update to 2.0.0 beta5 - requires propro and raphf extensions |