diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | pecl_http-build.patch | 11 | ||||
-rw-r--r-- | pecl_http.ini | 27 | ||||
-rw-r--r-- | php-pecl-http.spec | 185 |
4 files changed, 227 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1e65467 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile + diff --git a/pecl_http-build.patch b/pecl_http-build.patch new file mode 100644 index 0000000..a2f6e38 --- /dev/null +++ b/pecl_http-build.patch @@ -0,0 +1,11 @@ +diff -up pecl_http-2.0.0dev7/php_http_message.h.ORIG pecl_http-2.0.0dev7/php_http_message.h +--- pecl_http-2.0.0dev7/php_http_message.h.ORIG 2012-03-09 16:56:03.000000000 +0100 ++++ pecl_http-2.0.0dev7/php_http_message.h 2012-03-09 16:56:09.000000000 +0100 +@@ -25,7 +25,6 @@ + } + + typedef php_http_info_type_t php_http_message_type_t; +-typedef struct php_http_message php_http_message_t; + + struct php_http_message { + PHP_HTTP_INFO_IMPL(http, type) diff --git a/pecl_http.ini b/pecl_http.ini new file mode 100644 index 0000000..87b98a4 --- /dev/null +++ b/pecl_http.ini @@ -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 + diff --git a/php-pecl-http.spec b/php-pecl-http.spec new file mode 100644 index 0000000..c4e8664 --- /dev/null +++ b/php-pecl-http.spec @@ -0,0 +1,185 @@ +%{!?__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 dev7 +%global devver dev7 + +Name: php-pecl-http +Version: 2.0.0 +Release: 0.6.%{prever}%{?dist} +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 + +# Fix RHEL build +# http://svn.php.net/viewvc?view=revision&revision=324058 +Patch0: %{proj_name}-build.patch + +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 %{_libdir}/.*\.so$} +%{?filter_setup} +# RPM 4.9 +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{_libdir}/.*\\.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 + +%patch0 -p0 -b .build + +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 +* Fri Mar 09 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.6.dev7 +- update to 2.0.0dev7 + +* Fri Mar 02 2012 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.5.dev6 +- update to 2.0.0dev6 + +* 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 + |