summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pecl_http-curl.patch27
-rw-r--r--php-pecl-http.spec16
2 files changed, 38 insertions, 5 deletions
diff --git a/pecl_http-curl.patch b/pecl_http-curl.patch
new file mode 100644
index 0000000..e10b05c
--- /dev/null
+++ b/pecl_http-curl.patch
@@ -0,0 +1,27 @@
+From 9c0294956c75fda02269432ba4f693afecea1c5b Mon Sep 17 00:00:00 2001
+From: Michael Wallner <mike@php.net>
+Date: Tue, 27 Aug 2024 19:59:56 +0200
+Subject: [PATCH] curl: add workaround for CURLOPT_INTERFACE for v8.9-8.10
+
+---
+ src/php_http_client_curl.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/php_http_client_curl.c b/src/php_http_client_curl.c
+index 4decc7a..ed778b1 100644
+--- a/src/php_http_client_curl.c
++++ b/src/php_http_client_curl.c
+@@ -1413,7 +1413,12 @@ static void php_http_curle_options_init(php_http_options_t *registry)
+ #endif
+
+ /* outgoing interface */
+- php_http_option_register(registry, ZEND_STRL("interface"), CURLOPT_INTERFACE, IS_STRING);
++ if ((opt = php_http_option_register(registry, ZEND_STRL("interface"), CURLOPT_INTERFACE, IS_STRING))) {
++#if PHP_HTTP_CURL_VERSION(8,9,0) && !PHP_HTTP_CURL_VERSION(8,10,0)
++ // NULL support lost in v8.9 and restored in libcurl v8.10
++ opt->flags |= PHP_HTTP_CURLE_OPTION_IGNORE_RC;
++#endif
++ }
+ if ((opt = php_http_option_register(registry, ZEND_STRL("portrange"), CURLOPT_LOCALPORT, IS_ARRAY))) {
+ opt->setter = php_http_curle_option_set_portrange;
+ }
diff --git a/php-pecl-http.spec b/php-pecl-http.spec
index 793b4c2..d3c8927 100644
--- a/php-pecl-http.spec
+++ b/php-pecl-http.spec
@@ -51,7 +51,7 @@ Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
Release: 0.10.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz
%else
-Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 6%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source0: https://pecl.php.net/get/%{proj_name}-%{upstream_version}%{?upstream_prever}.tgz
%endif
Summary: Extended HTTP support
@@ -64,6 +64,7 @@ Source1: %{proj_name}.ini
Patch0: %{proj_name}-build.patch
Patch1: %{proj_name}-php84.patch
+Patch2: %{proj_name}-curl.patch
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
@@ -139,6 +140,7 @@ sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml
cd %{sources}
%patch -P0 -p1
%patch -P1 -p1
+%patch -P2 -p1
extver=$(sed -n '/#define PHP_PECL_HTTP_VERSION/{s/.* "//;s/".*$//;p}' php_http.h)
if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}%{?gh_date:dev}"; then
@@ -184,22 +186,23 @@ grep IDNA config.h
cd %{sources}
%{__phpize}
+sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global
cd ../NTS
peclconf %{__phpconfig}
-make %{?_smp_mflags}
+%make_build
%if %{with_zts}
cd ../ZTS
peclconf %{__ztsphpconfig}
-make %{?_smp_mflags}
+%make_build
%endif
%install
%{?dtsenable}
-make -C NTS install INSTALL_ROOT=%{buildroot}
+%make_install -C NTS
# Install XML package description
install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
@@ -208,7 +211,7 @@ install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
install -Dpm644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
%if %{with_zts}
-make -C ZTS install INSTALL_ROOT=%{buildroot}
+%make_install -C ZTS
install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
%endif
@@ -303,6 +306,9 @@ TEST_PHP_ARGS="-n $modules -d extension=$PWD/../ZTS/modules/%{pecl_name}.so" \
%changelog
+* Mon Sep 30 2024 Remi Collet <remi@remirepo.net> - 4.2.4-6
+- add upstream patch for libcurl 8.9
+
* Tue Jul 9 2024 Remi Collet <remi@remirepo.net> - 4.2.4-5
- Fix build with PHP 8.4 using patch from
https://github.com/m6w6/ext-http/pull/135