summaryrefslogtreecommitdiff
path: root/www/php-http
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2015-04-08 19:57:23 +0000
committerfhajny <fhajny@pkgsrc.org>2015-04-08 19:57:23 +0000
commit7cc7de88f157ac6405967d8697e424aa9acd6e66 (patch)
treeded80ec213c6a92090e09e13679e019688645891 /www/php-http
parent4d47c23f37486ae0d88fdae0d5273a0f9f25b81d (diff)
downloadpkgsrc-7cc7de88f157ac6405967d8697e424aa9acd6e66.tar.gz
Update php-http to 2.4.3, based on patches provided by rodent@NetBSD.org.
Not backwards compatible with 1.x. Now depends on php-propro and php-raphf. Upstream changelog: 2.4.3 * Fixed bug #69357 (HTTP/1.1 100 Continue overriding subsequent 200 response code with PUT request) 2.4.2 * Fixed bug 69076 (http\Url throws Exception on empty querystring) * Fixed bug 69313 (http\Client doesn't send GET body) + Added libidn2 and UIDNA as fallbacks for IDN support - Deferred warnings/exceptions of the client, so callbacks for the currently failing requests will still be called 2.4.1 * Fixed build with PHP <= 5.4 (Remi) 2.4.0 * Split off pecl/apfd and pecl/json_post 2.3.2 * Fixed bug with http\QueryString::offsetSet() resetting the complete query string 2.3.1 * Fixed build on platforms that need stddef.h to define ptrdiff_t (e.g. CentOS 7.5) 2.3.0 + Preliminiary HTTP2 support for http\Client (libcurl with nghttp2 support) + Improved performance of HTTP info parser (request/response line) + Improved performance of updating client observers + Improved performance of http\Env\Response output to streams + Improved the error messages of the header parser + Added http\Header\Parser class + Added http\Client::configure() method accepting an array with the following options for libcurl: . maxconnects (int, size of the connection cache) . max_host_connections (int, max number of connections to a single host, libcurl >= 7.30.0) . max_pipeline_length (int, max number of requests in a pipeline, libcurl >= 7.30.0) . max_total_connections (int, max number of simultaneous open connections of this client, libcurl >= 7.30.0) . pipelining (bool, whether to enable HTTP/1.1 pipelining) . chunk_length_penalty_size (int, chunk length threshold for pipelining, libcurl >= 7.30.0) . content_length_penalty_size (int, size threshold for pipelining, libcurl >= 7.30.0) . pipelining_server_bl (array, list of server software names to blacklist for pipelining, libcurl >= 7.30.0) . pipelining_site_bl (array, list of server host names to blacklist for pipelining, libcurl >= 7.30.0) . use_eventloop (bool, whether to use libevent, libcurl+libevent) + Added http\Client::getAvailableOptions() and http\Client::getAvailableConfiguration() methods + Added support for HTTP2 if libcurl was built with nghttp2 support. + Added http\Client\Curl\HTTP_VERSION_2_0 constant (libcurl >= 7.33.0) + Added http\Client\Curl\TLS_AUTH_SRP constant (libcurl >= 7.21.4) + Added pinned_publickey SSL request option (libcurl >= 7.39.0) + Added tlsauthtype, tlsauthuser and tlsauthpass SSL request option (libcurl >= 7.21.4) + Added verifystatus (a.k.a OCSP) SSL request option (libcurl >= 7.41.0) + Added proxyheader request option (libcurl >= 7.37.0) + Added unix_socket_path request option (libcurl >= 7.40.0) * Fixed compress request option * Fixed parsing authorities of CONNECT messages * Fixed parsing Content-Range messages * Fixed http\Env\Response to default to chunked encoding over streams * Fixed superfluous output of Content-Length:0 headers * Fixed persistent easy handles to be only created for persistent multi handles * Fixed the header parser to accept not-yet-complete header lines * Fixed http\Message::toStream() crash in ZTS mode * Fixed the message stream parser to handle intermediary data bigger than 4k * Fixed the message stream parser to handle single header lines without EOL * Fixed http\Message\Body to not generate stat based etags for temporary streams - Deprecated http\Client::enablePipelining(), use http\Client::configure(["pipelining" => true]) instead - Deprecated http\Client::enableEvents(), use http\Client::configure(["use_eventloop" => true]) instead - Removed the cookies entry from the transfer info, wich was very slow and generated a Netscape formatted list of cookies - Changed the header parser to reject illegal characters 2.2.1 * Fixed Bug #69000 (http\Url breaks down with very long URL query strings) 2.2.0 - var_dump(http\Message) no longer automatically creates an empty body + Added http\Message\Parser class + Made http\Client::once() and http\Client::wait() available when using events + Added http\Url::PARSE_MBLOC, http\Url::PARSE_MBUTF8, http\Url::PARSE_TOIDN and http\Url::PARSE_TOPCT constants + Added http\Env\Response::setCookie() + Added http\Env\Request::getCookie() 2.1.4 * Fixed bug #68353 (QsoSSL support removed in libcurl 7.39) * Fixed bug #68149 (duplicate content-length with libcurl < 7.23) * Fixed bug #66891 (Unexpected HTTP 401 after NTLM authentication) 2.1.3 * Fix build with libcurl < 7.26 (Remi) 2.1.2 + Added missing request option constants: POSTREDIR_303, AUTH_SPNEGO (libcurl >= 7.38.0), SSL_VERSION_TLSv1_{0,1,2} (libcurl >= 7.34) * Fixed bug #68083 (PUT method not working after DELETE) * Fixed bug #68009 (Segmentation fault after calling exit(0) after a request) * Fixed bug #68000 (Extension does not build on FreeBSD) 2.1.1 * Fix httpVersion retrieval on bigendian (Remi) * Fix etag/crc32b on bigendian (Remi) 2.1.0 - Removed port and scheme guessing of http\Url for portability * Fixed PHP-5.3 compatibility * Fixed PHP-5.4 compatibility * Fixed possible bus error on shutdown when using events * Fixed sovereignty of clients when using events * Fixed a possible crash with http\Encoding\Stream\Dechunk::decode($unencoded) * Fixed a leak in http\Client\Curl options * Fixed bug #67733 (Compile error with libevent 2.x) + Added RFC5987 support in http\Params + Improved synthetic HTTP message parsing performace for ~20% + Added request options if libcurl has builtin c-ares support: dns_interface, dns_local_ip4, dns_local_ip6 (all libcurl >= 7.33.0) + Added request options: expect_100_timeout (libcurl >= 7.36.0), tcp_nodelay + Added transfer info: curlcode, tls_session (libcurl >= 7.34.0), only available during transfer 2.0.7 * General improvements to the test suite * Fixed http\Env\Response::send() ignoring some write errors * Fixed bug #67528 (RFC compliant default user agent) * Fixed a garbage collector issue with JSON POSTs * Fixed refcount issue and double free of message bodies * Fixed use after free if the http\Client::enqueue() closure returns TRUE * Fixed bug #67584 (http\Client\Response not initialized as response on failure) 2.0.6 + Added "uploaded" progress state * Fixed bug #67089 (Segmentaion fault with ZTS) * Fixed compatibility with PHP-5.6+ * Fixed re-use of request messages which content length remained untouched when the body was reset 2.0.5 * Fix rare crash with uninitialized CURLOPT_HTTPHEADER * Fix build with -Werror=format-security (Remi) * Fix build with extenal libs needed by libcurl 2.0.4 * Removed the pecl/event conflict * Fixed bug #66388 (Crash on POST with Content-Length:0 and untouched body) 2.0.3 * Fixed typo 2.0.2 * Fixed bug #66250 (shutdown crash as shared extension) 2.0.1 * Fixed a bug with multiple ob_start(http\Env\Response) while replacing the body * Fixed build on Windows with libevent2 2.0.0 Extended HTTP support. Again. Keep in mind that it's got the major version 2, because it's incompatible with pecl_http v1. * Introduces the http namespace. * Message bodies have been remodeled to use PHP temporary streams instead of in-memory buffers. * The utterly misunderstood HttpResponse class has been reimplemented as http\Env\Response inheriting http\Message. * Currently, there's only one Exception class left, http\Exception. * Errors triggered by the extension can be configured statically by http\Object::$defaultErrorHandling or inherited http\Object->errorHandling. * The request ecosystem has been modularized to support different libraries, though for the moment only libcurl is supported.
Diffstat (limited to 'www/php-http')
-rw-r--r--www/php-http/Makefile37
-rw-r--r--www/php-http/distinfo8
2 files changed, 31 insertions, 14 deletions
diff --git a/www/php-http/Makefile b/www/php-http/Makefile
index 436f420e4fa..1c3ce2954c4 100644
--- a/www/php-http/Makefile
+++ b/www/php-http/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.2 2014/02/12 23:18:46 tron Exp $
+# $NetBSD: Makefile,v 1.3 2015/04/08 19:57:23 fhajny Exp $
MODNAME= http
-PKGREVISION= 1
-PECL_VERSION= 1.7.6
+PECL_VERSION= 2.4.3
CATEGORIES+= www
PECL_DISTNAME= pecl_http-${PECL_VERSION}
@@ -14,14 +13,32 @@ LICENSE= 2-clause-bsd AND isc
CONFLICTS= php-http-[0-9]*
-CONFIGURE_ARGS+= --with-http-curl-requests=${BUILDLINK_PREFIX.curl}
-CONFIGURE_ARGS+= --with-http-curl-libevent=${BUILDLINK_PREFIX.libevent}
-CONFIGURE_ARGS+= --with-http-magic-mime=${BUILDLINK_PREFIX.file}
-CONFIGURE_ARGS+= --with-http-zlib-compression=${BUILDLINK_PREFIX.zlib}
+USE_LANGUAGES= c c++
+USE_LIBTOOL= yes
+
+CONFIGURE_ARGS+= --with-http
+CONFIGURE_ARGS+= --with-http-libcurl-dir=${BUILDLINK_PREFIX.curl}
+CONFIGURE_ARGS+= --with-http-libevent-dir=${BUILDLINK_PREFIX.libevent}
+CONFIGURE_ARGS+= --with-http-libidn-dir=${BUILDLINK_PREFIX.libidn}
+CONFIGURE_ARGS+= --with-http-zlib-dir=${BUILDLINK_PREFIX.zlib}
+
+SUBST_CLASSES+= ini
+SUBST_STAGE.ini= pre-patch
+SUBST_MESSAGE.ini= Redirecting to temporary php.ini file
+SUBST_FILES.ini= config9.m4
+SUBST_SED.ini= -e 's,PHP_EXECUTABLE -m,PHP_EXECUTABLE -c ${WRKDIR} -m,'
+
+post-extract:
+ (${ECHO} "[PHP]" ;\
+ ${ECHO} "extension=propro.so" ; ${ECHO} "extension=raphf.so" \
+ ) > ${WRKDIR}/php.ini
-.include "../../lang/php/ext.mk"
-.include "../../www/curl/buildlink3.mk"
.include "../../devel/libevent/buildlink3.mk"
-.include "../../sysutils/file/buildlink3.mk"
+.include "../../devel/libidn/buildlink3.mk"
+.include "../../devel/php-raphf/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
+.include "../../sysutils/file/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../www/php-propro/buildlink3.mk"
+.include "../../lang/php/ext.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/www/php-http/distinfo b/www/php-http/distinfo
index 2040c3e3d36..8e21ea786df 100644
--- a/www/php-http/distinfo
+++ b/www/php-http/distinfo
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.1 2013/09/13 08:28:18 fhajny Exp $
+$NetBSD: distinfo,v 1.2 2015/04/08 19:57:23 fhajny Exp $
-SHA1 (php-http/pecl_http-1.7.6.tgz) = 44e28b6d2d9d352c5b949f14bc4dd612e4365c85
-RMD160 (php-http/pecl_http-1.7.6.tgz) = bd873c720f36944b219eac8c3b44fa4b9164c21a
-Size (php-http/pecl_http-1.7.6.tgz) = 174722 bytes
+SHA1 (php-http/pecl_http-2.4.3.tgz) = 0c9b8da25be833cd2f0bc7cb8b8b82f5acc21c62
+RMD160 (php-http/pecl_http-2.4.3.tgz) = 7de8495e55295139ef93d2b93a636e68e1b22354
+Size (php-http/pecl_http-2.4.3.tgz) = 188540 bytes