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
+}