diff options
| author | Remi Collet <remi@remirepo.net> | 2025-07-30 12:35:10 +0200 | 
|---|---|---|
| committer | Remi Collet <remi@php.net> | 2025-07-30 12:35:10 +0200 | 
| commit | b07ad47d99b775cbdf050c46aea16b9356b2276c (patch) | |
| tree | fe04714e0b7a15c67163e39daec0b47eaf22f160 | |
| parent | 594703812b11c22c7fd9069f4050aaa15eb04605 (diff) | |
fix for PHP 8.5.0alpha3 using patch from upstream
| -rw-r--r-- | php-pecl-mailparse.spec | 20 | ||||
| -rw-r--r-- | upstream.patch | 241 | 
2 files changed, 256 insertions, 5 deletions
| diff --git a/php-pecl-mailparse.spec b/php-pecl-mailparse.spec index fac1767..d1aa912 100644 --- a/php-pecl-mailparse.spec +++ b/php-pecl-mailparse.spec @@ -16,6 +16,8 @@  %bcond_without     tests +%global pie_vend   pecl +%global pie_proj   mailparse  %global pecl_name  mailparse  %global with_zts   0%{!?_without_zts:%{?__ztsphp:1}}  %global ini_name   40-%{pecl_name}.ini @@ -25,11 +27,13 @@  Summary:   PHP PECL package for parsing and working with email messages  Name:      %{?scl_prefix}php-pecl-mailparse  Version:   3.1.8 -Release:   1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release:   2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  License:   PHP-3.01  URL:       https://pecl.php.net/package/mailparse  Source0:   https://pecl.php.net/get/%{sources}.tgz +Patch0:    upstream.patch +  BuildRequires: make  BuildRequires: %{?dtsprefix}gcc  BuildRequires: %{?scl_prefix}php-devel >= 7.3 @@ -45,10 +49,11 @@ Requires: %{?scl_prefix}php-mbstring%{?_isa}  Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}  Requires: %{?scl_prefix}php(api) = %{php_core_api} -Provides:       %{?scl_prefix}php-%{pecl_name}               = %{version} -Provides:       %{?scl_prefix}php-%{pecl_name}%{?_isa}       = %{version} -Provides:       %{?scl_prefix}php-pecl(%{pecl_name})         = %{version} -Provides:       %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +Provides:       %{?scl_prefix}php-%{pecl_name}                 = %{version} +Provides:       %{?scl_prefix}php-%{pecl_name}%{?_isa}         = %{version} +Provides:       %{?scl_prefix}php-pecl(%{pecl_name})           = %{version} +Provides:       %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa}   = %{version} +Provides:       %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}  %description @@ -67,6 +72,8 @@ sed -e 's/role="test"/role="src"/' \      -i package.xml  cd %{sources} +%patch -P0 -p1 -b .up +  extver=$(sed -n '/#define PHP_MAILPARSE_VERSION/{s/.* "//;s/".*$//;p}' php_mailparse.h)  if test "x${extver}" != "x%{version}"; then     : Error: Upstream version is ${extver}, expecting %{version}. @@ -171,6 +178,9 @@ TEST_PHP_EXECUTABLE=%{__php} \  %changelog +* Wed Jul 30 2025 Remi Collet <remi@remirepo.net> - 3.1.8-2 +- fix for PHP 8.5.0alpha3 using patch from upstream +  * Fri Oct  4 2024 Remi Collet <remi@remirepo.net> - 3.1.8-1  - update to 3.1.8 diff --git a/upstream.patch b/upstream.patch new file mode 100644 index 0000000..5a99f80 --- /dev/null +++ b/upstream.patch @@ -0,0 +1,241 @@ +From 385f248446a63a8e3d2e8417f4e9ee95f6c32a91 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@php.net> +Date: Wed, 30 Jul 2025 12:31:36 +0200 +Subject: [PATCH] use Zend/zend_smart_string.h + +--- + php_mailparse_mime.h    |  2 +- + php_mailparse_rfc822.c  | 92 ++++++++++++++++++++--------------------- + php_mailparse_rfc822.re |  2 +- + 3 files changed, 48 insertions(+), 48 deletions(-) + +diff --git a/php_mailparse_mime.h b/php_mailparse_mime.h +index 8c3747f..38c5d40 100644 +--- a/php_mailparse_mime.h ++++ b/php_mailparse_mime.h +@@ -17,7 +17,7 @@ + #ifndef php_mailparse_mime_h + #define php_mailparse_mime_h +  +-#include "ext/standard/php_smart_string.h" ++#include "Zend/zend_smart_string.h" +  + typedef struct _php_mimepart php_mimepart; +  +diff --git a/php_mailparse_rfc822.c b/php_mailparse_rfc822.c +index 6bc29a9..28a001a 100644 +--- a/php_mailparse_rfc822.c ++++ b/php_mailparse_rfc822.c +@@ -1,4 +1,4 @@ +-/* Generated by re2c 2.1.1 on Fri Oct  4 14:25:00 2024 */ ++/* Generated by re2c 3.1 on Wed Jul 30 12:30:59 2025 */ + #line 1 "/home/php/git/mailparse/php_mailparse_rfc822.re" + /* +    +----------------------------------------------------------------------+ +@@ -20,7 +20,7 @@ + #include "php_mailparse.h" + #include "php_mailparse_rfc822.h" + #include "ext/standard/php_string.h" +-#include "ext/standard/php_smart_string.h" ++#include "Zend/zend_smart_string.h" + #line 36 "/home/php/git/mailparse/php_mailparse_rfc822.re" +  +  +@@ -106,63 +106,63 @@ printf("ground: start=%p limit=%p cursor=%p: [%d] %s\n", start, YYLIMIT, YYCURSO + 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + 	yych = *YYCURSOR; + 	if (yybm[0+yych] & 64) { +-		goto yy7; ++		goto yy3; + 	} + 	if (yych <= '-') { + 		if (yych <= '%') { + 			if (yych <= '!') { +-				if (yych <= 0x00) goto yy2; +-				if (yych <= 0x1F) goto yy4; +-				goto yy10; ++				if (yych <= 0x00) goto yy1; ++				if (yych <= 0x1F) goto yy2; ++				goto yy4; + 			} else { +-				if (yych <= '"') goto yy12; +-				if (yych <= '$') goto yy4; +-				goto yy10; ++				if (yych <= '"') goto yy5; ++				if (yych <= '$') goto yy2; ++				goto yy4; + 			} + 		} else { + 			if (yych <= ')') { +-				if (yych <= '\'') goto yy4; +-				if (yych <= '(') goto yy15; +-				goto yy17; ++				if (yych <= '\'') goto yy2; ++				if (yych <= '(') goto yy6; ++				goto yy7; + 			} else { +-				if (yych == ',') goto yy10; +-				goto yy4; ++				if (yych == ',') goto yy4; ++				goto yy2; + 			} + 		} + 	} else { + 		if (yych <= '>') { + 			if (yych <= ';') { +-				if (yych <= '/') goto yy10; +-				if (yych <= '9') goto yy4; +-				goto yy10; ++				if (yych <= '/') goto yy4; ++				if (yych <= '9') goto yy2; ++				goto yy4; + 			} else { +-				if (yych <= '<') goto yy19; +-				if (yych <= '=') goto yy10; +-				goto yy21; ++				if (yych <= '<') goto yy9; ++				if (yych <= '=') goto yy4; ++				goto yy10; + 			} + 		} else { + 			if (yych <= '[') { +-				if (yych <= '@') goto yy10; +-				if (yych <= 'Z') goto yy4; +-				goto yy10; +-			} else { +-				if (yych <= '\\') goto yy23; +-				if (yych <= ']') goto yy10; ++				if (yych <= '@') goto yy4; ++				if (yych <= 'Z') goto yy2; + 				goto yy4; ++			} else { ++				if (yych <= '\\') goto yy11; ++				if (yych <= ']') goto yy4; ++				goto yy2; + 			} + 		} + 	} +-yy2: ++yy1: + 	++YYCURSOR; + #line 86 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{	goto stop; } + #line 160 "<stdout>" +-yy4: ++yy2: + 	++YYCURSOR; + 	if (YYLIMIT <= YYCURSOR) YYFILL(1); + 	yych = *YYCURSOR; + 	if (yybm[0+yych] & 32) { +-		goto yy4; ++		goto yy2; + 	} + #line 140 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{	DBG_STATE("ANY"); +@@ -176,30 +176,30 @@ printf("ground: start=%p limit=%p cursor=%p: [%d] %s\n", start, YYLIMIT, YYCURSO + 							goto state_ground; + 						} + #line 179 "<stdout>" +-yy7: ++yy3: + 	++YYCURSOR; + 	if (YYLIMIT <= YYCURSOR) YYFILL(1); + 	yych = *YYCURSOR; + 	if (yybm[0+yych] & 64) { +-		goto yy7; ++		goto yy3; + 	} + #line 87 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{ 	DBG_STATE("SPACE"); goto state_ground; } + #line 189 "<stdout>" +-yy10: ++yy4: + 	++YYCURSOR; + #line 139 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{ 	DBG_STATE("ATOM"); ADD_ATOM_TOKEN(); goto state_ground; } + #line 194 "<stdout>" +-yy12: ++yy5: + 	++YYCURSOR; + 	if (YYLIMIT <= YYCURSOR) YYFILL(1); + 	yych = *YYCURSOR; + 	if (yybm[0+yych] & 128) { +-		goto yy12; ++		goto yy5; + 	} +-	if (yych >= 0x01) goto yy24; +-yy15: ++	if (yych >= 0x01) goto yy12; ++yy6: + 	++YYCURSOR; + #line 89 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{	DBG_STATE("START COMMENT"); +@@ -211,15 +211,15 @@ printf("ground: start=%p limit=%p cursor=%p: [%d] %s\n", start, YYLIMIT, YYCURSO + 							goto state_comment; + 						} + #line 214 "<stdout>" +-yy17: ++yy7: + 	++YYCURSOR; +-yy18: ++yy8: + #line 88 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{ 	REPORT_ERR("token not valid in ground state"); goto state_ground; } + #line 220 "<stdout>" +-yy19: ++yy9: + 	yych = *++YYCURSOR; +-	if (yych == '>') goto yy26; ++	if (yych == '>') goto yy13; + #line 121 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{ 	DBG_STATE("LANGLE"); + 							if (in_bracket) { +@@ -231,7 +231,7 @@ printf("ground: start=%p limit=%p cursor=%p: [%d] %s\n", start, YYLIMIT, YYCURSO + 							goto state_ground; + 						} + #line 234 "<stdout>" +-yy21: ++yy10: + 	++YYCURSOR; + #line 130 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{	DBG_STATE("RANGLE"); +@@ -244,13 +244,13 @@ printf("ground: start=%p limit=%p cursor=%p: [%d] %s\n", start, YYLIMIT, YYCURSO + 							goto state_ground; + 						} + #line 247 "<stdout>" +-yy23: ++yy11: + 	yych = *++YYCURSOR; + 	if (yybm[0+yych] & 32) { +-		goto yy4; ++		goto yy2; + 	} +-	goto yy18; +-yy24: ++	goto yy8; ++yy12: + 	++YYCURSOR; + #line 97 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{ 	DBG_STATE("QUOTE STRING"); +@@ -265,7 +265,7 @@ printf("ground: start=%p limit=%p cursor=%p: [%d] %s\n", start, YYLIMIT, YYCURSO + 							goto state_ground; + 						} + #line 268 "<stdout>" +-yy26: ++yy13: + 	++YYCURSOR; + #line 108 "/home/php/git/mailparse/php_mailparse_rfc822.re" + 	{	DBG_STATE("NULL <>"); +diff --git a/php_mailparse_rfc822.re b/php_mailparse_rfc822.re +index 62dee30..98699ac 100644 +--- a/php_mailparse_rfc822.re ++++ b/php_mailparse_rfc822.re +@@ -18,7 +18,7 @@ + #include "php_mailparse.h" + #include "php_mailparse_rfc822.h" + #include "ext/standard/php_string.h" +-#include "ext/standard/php_smart_string.h" ++#include "Zend/zend_smart_string.h" + /*!re2c + CHAR = [\000-\177]; + ALPHA = [\101-\132]|[\141-\172]; | 
