initial import from review

This commit is contained in:
remi 2012-03-02 19:03:26 +01:00
parent a2ed2aa72e
commit 9c4f069a3a
2 changed files with 205 additions and 0 deletions

27
pecl_http.ini Normal file
View File

@ -0,0 +1,27 @@
; Enable HTTP extension module
extension=http.so
; http://www.php.net/manual/en/http.configuration.php
; The hashing algorithm used to generate the ETag. MD5, SHA1, and CRC32 are always
; available. If the hash extension is enabled, any hashing algorithms this extension
; provides are available, too.
;http.etag.mode = "md5"
; The maximum amount of persistent handles to keep alive.
;http.persistent_handle.limit = -1
; Whether the global HttpRequestDataShare should by default share connect information.
; This is not yet implemented in libcurl.
;http.request_datashare.connect = 0
; Whether the global HttpRequestDataShare should by default share cookie information.
;http.request_datashare.cookie = 0
; Whether the global HttpRequestDataShare should by default share name lookup information.
;http.request_datashare.dns = 1
; Whether the global HttpRequestDataShare should by default share SSL session information.
; This is not yet implemented in libcurl.
;http.request_datashare.ssl = 0

178
php-pecl-http.spec Normal file
View File

@ -0,0 +1,178 @@
%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}}
# The project is pecl_http but the extension is only http
%global proj_name pecl_http
%global pecl_name http
%global prever dev5
%global devver dev
Name: php-pecl-http
Version: 2.0.0
Release: 0.4.%{prever}%{?dist}
Summary: Extended HTTP support
License: BSD
Group: Development/Languages
URL: http://pecl.php.net/package/pecl_http
# upstream tarball is broken, regenerated using
# star -x -f pecl_http-2.0.0dev5.tgz
# tar czf pecl_http-2.0.0dev5.tgz package.xml pecl_http-2.0.0dev5
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
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: php-devel >= 5.4.0
BuildRequires: php-pear
BuildRequires: pcre-devel
BuildRequires: zlib-devel >= 1.2.0.4
BuildRequires: libevent-devel >= 1.4
BuildRequires: curl-devel >= 7.18.2
# No yet available on fedora: BuildRequires: libserf-devel
Requires(post): %{__pecl}
Requires(postun): %{__pecl}
Provides: php-pecl(%{proj_name}) = %{version}%{devver}
Provides: php-pecl(%{pecl_name}) = %{version}%{devver}
Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_core_api}
# RPM 4.8
%{?filter_provides_in: %filter_provides_in %{php_extdir}/.*\.so$}
%{?filter_provides_in: %filter_provides_in %{php_ztsextdir}/.*\.so$}
%{?filter_setup}
# RPM 4.9
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{php_extdir}/.*\\.so$
%global __provides_exclude_from %__provides_exclude_from|%{php_ztsextdir}/.*\\.so$
%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.
Documentation : http://php.net/http
%package devel
Summary: Extended HTTP support developer files (header)
Group: Development/Libraries
Requires: php-pecl-http%{?_isa} = %{version}-%{release}
Requires: php-devel%{?_isa} >= 5.4.0
%description devel
These are the files needed to compile programs using HTTP extension.
%prep
%setup -c -q
extver=$(sed -n '/#define PHP_HTTP_EXT_VERSION/{s/.* "//;s/".*$//;p}' %{proj_name}-%{version}%{?prever}/php_http.h)
if test "x${extver}" != "x%{version}%{?devver}"; then
: Error: Upstream HTTP version is now ${extver}, expecting %{version}%{?devver}.
: Update the pdover macro and rebuild.
exit 1
fi
cp %{SOURCE1} %{pecl_name}.ini
cp -pr %{proj_name}-%{version}%{?prever} %{proj_name}-zts
%build
cd %{proj_name}-%{version}%{?prever}
%{_bindir}/phpize
%configure --with-php-config=%{_bindir}/php-config
make %{?_smp_mflags}
cd ../%{proj_name}-zts
%{_bindir}/zts-phpize
%configure --with-php-config=%{_bindir}/zts-php-config
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make -C %{proj_name}-%{version}%{?prever} \
install INSTALL_ROOT=%{buildroot}
make -C %{proj_name}-zts \
install INSTALL_ROOT=%{buildroot}
# Install XML package description
install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
# install config file
install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_inidir}/%{pecl_name}.ini
install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini
%check
# Minimal load test for NTS extension
%{__php} --no-php-ini \
--define extension_dir=%{proj_name}-%{version}%{?prever}/modules \
--define extension=%{pecl_name}.so \
--modules | grep %{pecl_name}
# Minimal load test for ZTS extension
%{__ztsphp} --no-php-ini \
--define extension_dir=%{proj_name}-zts/modules \
--define extension=%{pecl_name}.so \
--modules | grep %{pecl_name}
%post
%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
%postun
if [ $1 -eq 0 ] ; then
%{pecl_uninstall} %{proj_name} >/dev/null || :
fi
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc %{proj_name}-%{version}%{?prever}/{CREDITS,LICENSE,ThanksTo.txt}
%config(noreplace) %{php_inidir}/%{pecl_name}.ini
%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini
%{php_extdir}/%{pecl_name}.so
%{php_ztsextdir}/%{pecl_name}.so
%{pecl_xmldir}/%{name}.xml
%files devel
%defattr(-,root,root,-)
%{php_incldir}/ext/%{pecl_name}
%{php_ztsincldir}/ext/%{pecl_name}
%changelog
* 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