commit:     f6d3bb9bff656134a7312c9a1442e576006a7503
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 22 14:48:43 2021 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Wed Sep 22 14:48:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6d3bb9b

dev-php/pecl-http: Revbump for 3.2.4-r1 to fix curl cookie issues

Signed-off-by: Brian Evans <grknight <AT> gentoo.org>

 .../files/pecl-http-3.2.4-curl-cookies.patch       | 11 ++++
 dev-php/pecl-http/pecl-http-3.2.4-r1.ebuild        | 75 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)

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 00000000000..3c124b4624a
--- /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 00000000000..94c0833cc07
--- /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
+}

Reply via email to