summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2021-09-22 10:48:43 -0400
committerBrian Evans <grknight@gentoo.org>2021-09-22 10:48:43 -0400
commitf6d3bb9bff656134a7312c9a1442e576006a7503 (patch)
tree814a88c1e555ac098f2dce1d7a66661c6dc3f224 /dev-php
parentdev-php/pecl-http: Version bump for 4.2.1 (diff)
downloadgentoo-f6d3bb9bff656134a7312c9a1442e576006a7503.tar.gz
gentoo-f6d3bb9bff656134a7312c9a1442e576006a7503.tar.bz2
gentoo-f6d3bb9bff656134a7312c9a1442e576006a7503.zip
dev-php/pecl-http: Revbump for 3.2.4-r1 to fix curl cookie issues
Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'dev-php')
-rw-r--r--dev-php/pecl-http/files/pecl-http-3.2.4-curl-cookies.patch11
-rw-r--r--dev-php/pecl-http/pecl-http-3.2.4-r1.ebuild75
2 files changed, 86 insertions, 0 deletions
diff --git a/dev-php/pecl-http/files/pecl-http-3.2.4-curl-cookies.patch b/dev-php/pecl-http/files/pecl-http-3.2.4-curl-cookies.patch
new file mode 100644
index 000000000000..3c124b4624a6
--- /dev/null
+++ b/dev-php/pecl-http/files/pecl-http-3.2.4-curl-cookies.patch
@@ -0,0 +1,11 @@
+--- a/src/php_http_client_curl.c 2021-01-13 10:34:34.000000000 -0500
++++ b/src/php_http_client_curl.c 2021-09-22 10:38:58.854615743 -0400
+@@ -834,7 +834,7 @@
+ } else {
+ storage->cookiestore = NULL;
+ }
+- if ( CURLE_OK != curl_easy_setopt(ch, CURLOPT_COOKIEFILE, storage->cookiestore)
++ if ( CURLE_OK != curl_easy_setopt(ch, CURLOPT_COOKIEFILE, storage->cookiestore ? storage->cookiestore : "")
+ || CURLE_OK != curl_easy_setopt(ch, CURLOPT_COOKIEJAR, storage->cookiestore)
+ ) {
+ return FAILURE;
diff --git a/dev-php/pecl-http/pecl-http-3.2.4-r1.ebuild b/dev-php/pecl-http/pecl-http-3.2.4-r1.ebuild
new file mode 100644
index 000000000000..94c0833cc07d
--- /dev/null
+++ b/dev-php/pecl-http/pecl-http-3.2.4-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PHP_EXT_NAME="http"
+PHP_EXT_PECL_PKG="pecl_http"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+PHP_INI_NAME="50-http"
+
+USE_PHP="php7-3 php7-4 php8-0"
+
+inherit php-ext-pecl-r3
+
+USE_PHP="php7-3 php7-4"
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="Extended HTTP Support for PHP"
+LICENSE="BSD-2 MIT"
+SLOT="7"
+IUSE="ssl curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl"
+
+# Patch gets cookies working with curl 7.77, but further interop work was done later
+# Just set min version for this short time to live branch
+COMMON_DEPEND="app-arch/brotli:=
+ dev-libs/libevent
+ dev-php/pecl-propro:7[php_targets_php7-3(-)?,php_targets_php7-4(-)?]
+ >=dev-php/pecl-raphf-2.0.1:7[php_targets_php7-3(-)?,php_targets_php7-4(-)?]
+ net-dns/libidn2
+ sys-libs/zlib
+ ssl? ( >=net-misc/curl-7.77[ssl,curl_ssl_gnutls(-)=,curl_ssl_nss(-)=,curl_ssl_openssl(-)=] )
+ !ssl? ( >=net-misc/curl-7.77[-ssl] )
+"
+DEPEND="
+ php_targets_php7-3? ( ${COMMON_DEPEND} dev-lang/php:7.3[hash(+),session(-),iconv(-)] )
+ php_targets_php7-4? ( ${COMMON_DEPEND} dev-lang/php:7.4[session(-),iconv(-)] )"
+RDEPEND="${DEPEND}
+ php_targets_php8-0? ( dev-php/pecl-http:8[php_targets_php8-0(-)] )"
+
+PHP_EXT_ECONF_ARGS=( --with-http --without-http-shared-deps --without-http-libidn-dir )
+
+PATCHES=( "${FILESDIR}/${P}-curl-cookies.patch" )
+
+src_prepare() {
+ if use php_targets_php7-3 || use php_targets_php7-4 ; then
+ php-ext-source-r3_src_prepare
+ else
+ default_src_prepare
+ fi
+}
+
+src_install() {
+ if use php_targets_php7-3 || use php_targets_php7-4 ; then
+ php-ext-pecl-r3_src_install
+ fi
+}
+
+src_test() {
+ # Cannot use eclass function due to required modules
+ # All tests SKIP otherwise
+ for slot in $(php_get_slots); do
+ php_init_slot_env "${slot}"
+ # Link in required modules for testing
+ ln -s "${EXT_DIR}/propro.so" "modules/propro.so" || die
+ ln -s "${EXT_DIR}/raphf.so" "modules/raphf.so" || die
+ sed -i \
+ 's/PHP_TEST_SHARED_EXTENSIONS)/PHP_TEST_SHARED_EXTENSIONS) -d extension=propro.so -d extension=raphf.so/' \
+ Makefile || die
+ SKIP_ONLINE_TESTS=yes NO_INTERACTION="yes" emake test
+ # Clean up testing links
+ rm modules/propro.so modules/raphf.so || die
+ done
+}