php-pecl-http/php-pecl-http.spec

401 lines
12 KiB
RPMSpec
Raw Normal View History

# spec file for php-pecl-http
#
# Copyright (c) 2012-2014 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/3.0/
#
# Please, preserve the changelog entries
#
2014-04-04 14:34:34 +00:00
%{!?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}
2012-03-02 18:03:26 +00:00
# The project is pecl_http but the extension is only http
%global proj_name pecl_http
%global pecl_name http
%global with_zts 0%{?__ztsphp:1}
%if "%{php_version}" < "5.6"
# after json hash iconv propro raphf
%global ini_name z-%{pecl_name}.ini
%else
# after 40-json 20-iconv 40-propro 40-raphf
%global ini_name 50-%{pecl_name}.ini
%endif
%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
2012-03-02 18:03:26 +00:00
Name: php-pecl-http
Version: 2.1.0
2014-09-03 13:58:33 +00:00
Release: 2%{?dist}
2012-03-02 18:03:26 +00:00
Summary: Extended HTTP support
License: BSD
Group: Development/Languages
URL: http://pecl.php.net/package/pecl_http
Source0: http://pecl.php.net/get/%{proj_name}-%{version}%{?prever}.tgz
# From http://www.php.net/manual/en/http.configuration.php
Source1: %{proj_name}.ini
2014-09-03 13:58:33 +00:00
Patch0: %{proj_name}-upstream.patch
2014-09-01 11:54:14 +00:00
BuildRequires: php-devel >= 5.3.0
2012-12-13 18:43:51 +00:00
BuildRequires: php-hash
BuildRequires: php-iconv
BuildRequires: php-json
2012-12-13 18:43:51 +00:00
BuildRequires: php-spl
2012-03-02 18:03:26 +00:00
BuildRequires: php-pear
BuildRequires: pcre-devel
BuildRequires: zlib-devel >= 1.2.0.4
BuildRequires: curl-devel >= 7.18.2
BuildRequires: php-pecl-propro-devel
BuildRequires: php-pecl-raphf-devel
2014-04-04 14:34:34 +00:00
BuildRequires: libevent-devel >= 1.4
2012-03-02 18:03:26 +00:00
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}
2014-07-11 13:57:50 +00:00
%if "%{php_version}" > "5.6"
# V1 don't support PHP 5.6 https://bugs.php.net/66879
Obsoletes: php-pecl-http1 < 2
%else
# Can't install both versions of the same extension
Conflicts: php-pecl-http1
%endif
2012-03-02 18:03:26 +00:00
Provides: php-pecl(%{proj_name}) = %{version}%{?prever}
Provides: php-pecl(%{proj_name})%{?_isa} = %{version}%{?prever}
Provides: php-pecl(%{pecl_name}) = %{version}%{?prever}
Provides: php-pecl(%{pecl_name})%{?_isa} = %{version}%{?prever}
Provides: php-%{pecl_name} = %{version}%{?prever}
Provides: php-%{pecl_name}%{?_isa} = %{version}%{?prever}
2014-04-04 14:34:34 +00:00
%if 0%{?fedora} < 20 && 0%{?rhel} < 7
# Filter shared private
2012-03-09 15:16:15 +00:00
%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}
%endif
2014-04-04 14:34:34 +00:00
%{?filter_setup}
2012-03-02 18:03:26 +00:00
%description
The HTTP extension aims to provide a convenient and powerful set of
functionality for major applications.
The HTTP extension eases handling of HTTP URLs, dates, redirects, headers
and messages in a HTTP context (both incoming and outgoing). It also provides
means for client negotiation of preferred language and charset, as well as
a convenient way to exchange arbitrary data with caching and resuming
capabilities.
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://devel-m6w6.rhcloud.com/mdref/http
2012-03-02 18:03:26 +00:00
%package devel
Summary: Extended HTTP support developer files (header)
Group: Development/Libraries
Requires: php-pecl-http%{?_isa} = %{version}-%{release}
Requires: php-devel%{?_isa} >= 5.3.0
2014-07-11 13:57:50 +00:00
%if "%{php_version}" > "5.6"
Obsoletes: php-pecl-http1-devel < 2
%else
Conflicts: php-pecl-http1-devel
%endif
2012-03-02 18:03:26 +00:00
%description devel
These are the files needed to compile programs using HTTP extension.
%prep
%setup -c -q
mv %{proj_name}-%{version}%{?prever} NTS
cd NTS
2014-09-01 11:54:14 +00:00
%patch0 -p1 -b .offline
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}.
2012-03-02 18:03:26 +00:00
: Update the pdover macro and rebuild.
exit 1
fi
2012-12-13 18:43:51 +00:00
cd ..
2012-03-02 18:03:26 +00:00
cp %{SOURCE1} %{ini_name}
2012-03-02 18:03:26 +00:00
%if %{with_zts}
# Duplicate source tree for NTS / ZTS build
cp -pr NTS ZTS
%endif
2012-03-02 18:03:26 +00:00
%build
2014-04-04 14:34:34 +00:00
peclconf() {
%configure \
--with-http \
--with-http-zlib-dir=%{_prefix} \
--with-http-libcurl-dir=%{_prefix} \
--with-http-libevent-dir=%{_prefix} \
--with-libdir=%{_lib} \
--with-php-config=$1
}
cd NTS
2012-03-02 18:03:26 +00:00
%{_bindir}/phpize
2014-04-04 14:34:34 +00:00
peclconf %{_bindir}/php-config
2012-03-02 18:03:26 +00:00
make %{?_smp_mflags}
%if %{with_zts}
cd ../ZTS
2012-03-02 18:03:26 +00:00
%{_bindir}/zts-phpize
2014-04-04 14:34:34 +00:00
peclconf %{_bindir}/zts-php-config
2012-03-02 18:03:26 +00:00
make %{?_smp_mflags}
%endif
2012-03-02 18:03:26 +00:00
%install
make -C NTS install INSTALL_ROOT=%{buildroot}
2012-03-02 18:03:26 +00:00
# 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 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
%if %{with_zts}
make -C ZTS install INSTALL_ROOT=%{buildroot}
install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
%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
2012-03-02 18:03:26 +00:00
%check
%if "%{php_version}" < "5.4"
# Known failed test with 5.3.3 (need investigations)
rm ?TS/tests/envrequestbody001.phpt \
?TS/tests/envrequestbody002.phpt \
?TS/tests/envrequestbody003.phpt \
?TS/tests/envrequestjson002.phpt \
?TS/tests/envresponse015.phpt
%endif
export REPORT_EXIT_STATUS=1
# Shared needed extensions
2012-12-13 18:43:51 +00:00
modules=""
for mod in json hash iconv propro raphf; do
2012-12-13 18:43:51 +00:00
if [ -f %{php_extdir}/${mod}.so ]; then
modules="$modules -d extension=${mod}.so"
2012-12-13 18:43:51 +00:00
fi
done
: Minimal load test for NTS extension
2012-03-02 18:03:26 +00:00
%{__php} --no-php-ini \
2012-12-13 18:43:51 +00:00
$modules \
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
2012-03-02 18:03:26 +00:00
--modules | grep %{pecl_name}
%if %{with_tests}
: Upstream test suite NTS extension
cd NTS
SKIP_ONLINE_TESTS=1 \
TEST_PHP_EXECUTABLE=%{__php} \
TEST_PHP_ARGS="-n $modules -d extension=$PWD/modules/%{pecl_name}.so" \
NO_INTERACTION=1 \
%{__php} -n run-tests.php --show-diff
%endif
%if %{with_zts}
: Minimal load test for ZTS extension
2012-03-02 18:03:26 +00:00
%{__ztsphp} --no-php-ini \
2012-12-13 18:43:51 +00:00
$modules \
--define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
2012-03-02 18:03:26 +00:00
--modules | grep %{pecl_name}
%if %{with_tests}
: Upstream test suite ZTS extension
cd ../ZTS
SKIP_ONLINE_TESTS=1 \
TEST_PHP_EXECUTABLE=%{__ztsphp} \
TEST_PHP_ARGS="-n $modules -d extension=$PWD/modules/%{pecl_name}.so" \
NO_INTERACTION=1 \
%{__ztsphp} -n run-tests.php --show-diff
%endif
%endif
2012-03-02 18:03:26 +00:00
%post
%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
%postun
if [ $1 -eq 0 ] ; then
%{pecl_uninstall} %{proj_name} >/dev/null || :
fi
%files
%doc %{pecl_docdir}/%{proj_name}
%config(noreplace) %{php_inidir}/%{ini_name}
2012-03-02 18:03:26 +00:00
%{php_extdir}/%{pecl_name}.so
%{pecl_xmldir}/%{name}.xml
%if %{with_zts}
%config(noreplace) %{php_ztsinidir}/%{ini_name}
%{php_ztsextdir}/%{pecl_name}.so
%endif
2012-03-02 18:03:26 +00:00
%files devel
%doc %{pecl_testdir}/%{proj_name}
2012-03-02 18:03:26 +00:00
%{php_incldir}/ext/%{pecl_name}
%if %{with_zts}
2012-03-02 18:03:26 +00:00
%{php_ztsincldir}/ext/%{pecl_name}
%endif
2012-03-02 18:03:26 +00:00
%changelog
2014-09-03 13:58:33 +00:00
* Wed Sep 3 2014 Remi Collet <remi@fedoraproject.org> - 2.1.0-2
- more upstream patch, fix for arm/ppc64
* Mon Sep 1 2014 Remi Collet <remi@fedoraproject.org> - 2.1.0-1
- Update to 2.1.0
- ignore known failed tests with PHP 5.3.3
- run test suite during build
2014-09-01 11:54:14 +00:00
- add upstream patch to skip online test
- temporarily ignore test suite result on arm
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
2014-07-11 13:57:50 +00:00
* Fri Jul 11 2014 Remi Collet <remi@fedoraproject.org> - 2.0.7-1
- Update to 2.0.7
* Thu Jun 19 2014 Remi Collet <rcollet@redhat.com> - 2.0.6-4
- rebuild for https://fedoraproject.org/wiki/Changes/Php56
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 14 2014 Remi Collet <remi@fedoraproject.org> - 2.0.6-2
- obsoletes php-pecl-http1 (dropped in fedora 21)
2014-04-24 14:36:07 +00:00
* Thu Apr 24 2014 Remi Collet <remi@fedoraproject.org> - 2.0.6-1
- Update to 2.0.6
* Thu Apr 24 2014 Remi Collet <rcollet@redhat.com> - 2.0.5-2
- add numerical prefix to extension configuration file
2014-04-04 14:34:34 +00:00
* Fri Apr 04 2014 Remi Collet <remi@fedoraproject.org> - 2.0.5-1
- Update to 2.0.5
* Thu Jan 02 2014 Remi Collet <remi@fedoraproject.org> - 2.0.4-1
- Update to 2.0.4
- fix link to documentation
- update provided configuration
- add upstream patch for -Werror=format-security
2013-12-11 15:17:08 +00:00
* Tue Dec 10 2013 Remi Collet <remi@fedoraproject.org> - 2.0.3-1
- Update to 2.0.3 (stable)
- drop Conflicts with pecl/event
2013-11-26 13:00:40 +00:00
* Tue Nov 26 2013 Remi Collet <remi@fedoraproject.org> - 2.0.1-1
- Update to 2.0.1 (stable)
* 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)
- spec cleanups, and EPEL-6 compatibility
* 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
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-0.17.beta4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Mar 22 2013 Remi Collet <rcollet@redhat.com> - 2.0.0-0.16.beta4
- rebuild for http://fedoraproject.org/wiki/Features/Php55
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-0.15.beta4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sun Dec 30 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.14.beta4
2012-12-31 14:22:45 +00:00
- update to 2.0.0beta4
2012-12-13 18:43:51 +00:00
* Thu Dec 13 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.13.beta3
- update to 2.0.0beta3
- fix requires
* Thu Nov 29 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.12.beta2
- update to 2.0.0beta2
- also provides php-http
- remove old directives from configuration file
* Fri Oct 12 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.11.beta1
- update to 2.0.0beta1
- must be load after json, to rename config to z-http.ini
- spec cleanups
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-0.10.alpha1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-04-21 06:30:01 +00:00
* Sat Apr 21 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.9.alpha1
- update to 2.0.0alpha1
2012-03-31 15:14:55 +00:00
* Sat Mar 31 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.8.dev10
- update to 2.0.0dev10
2012-03-16 18:22:30 +00:00
* Fri Mar 16 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.7.dev8
- update to 2.0.0dev8
2012-03-09 15:16:15 +00:00
* Fri Mar 09 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.6.dev7
- update to 2.0.0dev7
2012-03-02 18:07:01 +00:00
* Fri Mar 02 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.5.dev6
- update to 2.0.0dev6
2012-03-02 18:03:26 +00:00
* Sat Feb 18 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.4.dev5
- update to 2.0.0dev5
- fix filters
* Wed Jan 25 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.3.dev4
- zts binary in /usr/bin with zts prefix
* Mon Jan 23 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.2.dev4
- update to 2.0.0dev4
- fix missing file https://bugs.php.net/60839
* Sun Jan 22 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.1.dev3
- initial package