From 10e233ca635d202ec8262df1e878e1647fcffa84 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 30 Sep 2024 09:26:52 +0200 Subject: add upstream patch for libcurl 8.9 --- pecl_http-curl.patch | 27 +++++++++++++++++++++++++++ php-pecl-http.spec | 16 +++++++++++----- 2 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 pecl_http-curl.patch 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 +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 - 4.2.4-6 +- add upstream patch for libcurl 8.9 + * Tue Jul 9 2024 Remi Collet - 4.2.4-5 - Fix build with PHP 8.4 using patch from https://github.com/m6w6/ext-http/pull/135 -- cgit