aboutsummaryrefslogtreecommitdiff
path: root/mail/pecl-mailparse
diff options
context:
space:
mode:
authorDanilo G. Baio <dbaio@FreeBSD.org>2018-10-13 17:48:38 +0000
committerDanilo G. Baio <dbaio@FreeBSD.org>2018-10-13 17:48:38 +0000
commit093fd7ff95e9cfc087d76be004a79040b88850c9 (patch)
treeaea54ae1704c95f72bce1661fcec7f606efccafe /mail/pecl-mailparse
parent051ef09981a00313a37101286fd433f546677b57 (diff)
downloadports-093fd7ff95e9cfc087d76be004a79040b88850c9.tar.gz
ports-093fd7ff95e9cfc087d76be004a79040b88850c9.zip
mail/pecl-mailparse: Fix build with PHP 7.3
Obtained from: upstream
Notes
Notes: svn path=/head/; revision=481999
Diffstat (limited to 'mail/pecl-mailparse')
-rw-r--r--mail/pecl-mailparse/Makefile2
-rw-r--r--mail/pecl-mailparse/files/patch-PHP-73-compatibility80
2 files changed, 81 insertions, 1 deletions
diff --git a/mail/pecl-mailparse/Makefile b/mail/pecl-mailparse/Makefile
index fa6b792eae9c..ba1d54e43b11 100644
--- a/mail/pecl-mailparse/Makefile
+++ b/mail/pecl-mailparse/Makefile
@@ -13,6 +13,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
USES= php:pecl
USE_PHP= mbstring:build
-IGNORE_WITH_PHP= 56 73
+IGNORE_WITH_PHP= 56
.include <bsd.port.mk>
diff --git a/mail/pecl-mailparse/files/patch-PHP-73-compatibility b/mail/pecl-mailparse/files/patch-PHP-73-compatibility
new file mode 100644
index 000000000000..41263a8ade1f
--- /dev/null
+++ b/mail/pecl-mailparse/files/patch-PHP-73-compatibility
@@ -0,0 +1,80 @@
+http://git.php.net/?p=pecl/mail/mailparse.git;a=patch;h=13c2c425e519b22660a03d566c35e76b3d4751dc
+From 13c2c425e519b22660a03d566c35e76b3d4751dc Mon Sep 17 00:00:00 2001
+From: Jan-E <github@ehrhardt.nl>
+Date: Tue, 10 Jul 2018 17:42:24 +0200
+Subject: [PATCH] PHP 7.3 compatibility
+
+---
+ mailparse.c | 13 +++++++++++++
+ php_mailparse_mime.c | 9 +++++++++
+ 2 files changed, 22 insertions(+)
+
+diff --git a/mailparse.c b/mailparse.c
+index bf5be0f..f658d68 100644
+--- mailparse.c
++++ mailparse.c
+@@ -984,12 +984,21 @@ PHP_FUNCTION(mailparse_stream_encode)
+ buf = emalloc(bufsize);
+ RETVAL_TRUE;
+
++#if PHP_VERSION_ID >= 70300
++ conv = mbfl_convert_filter_new(mbfl_no2encoding(mbfl_no_encoding_8bit),
++ mbfl_no2encoding(enc),
++ mailparse_stream_output,
++ mailparse_stream_flush,
++ deststream
++ );
++#else
+ conv = mbfl_convert_filter_new(mbfl_no_encoding_8bit,
+ enc,
+ mailparse_stream_output,
+ mailparse_stream_flush,
+ deststream
+ );
++#endif
+
+ if (enc == mbfl_no_encoding_qprint) {
+ /* If the qp encoded section is going to be digitally signed,
+@@ -1165,9 +1174,13 @@ PHP_FUNCTION(mailparse_msg_get_structure)
+
+ mailparse_fetch_mimepart_resource(part, arg);
+
++#if PHP_VERSION_ID >= 70300
++ array_init(return_value);
++#else
+ if (array_init(return_value) == FAILURE) {
+ RETURN_FALSE;
+ }
++#endif
+ php_mimepart_enum_parts(part, &get_structure_callback, return_value);
+ }
+ /* }}} */
+diff --git a/php_mailparse_mime.c b/php_mailparse_mime.c
+index b22eabb..8176c9d 100644
+--- php_mailparse_mime.c
++++ php_mailparse_mime.c
+@@ -906,12 +906,21 @@ PHP_MAILPARSE_API void php_mimepart_decoder_prepare(php_mimepart *part, int do_d
+ if (from == mbfl_no_encoding_8bit || from == mbfl_no_encoding_7bit) {
+ part->extract_filter = NULL;
+ } else {
++#if PHP_VERSION_ID >= 70300
++ part->extract_filter = mbfl_convert_filter_new(
++ mbfl_no2encoding(from), mbfl_no2encoding(mbfl_no_encoding_8bit),
++ filter_into_work_buffer,
++ NULL,
++ part
++ );
++#else
+ part->extract_filter = mbfl_convert_filter_new(
+ from, mbfl_no_encoding_8bit,
+ filter_into_work_buffer,
+ NULL,
+ part
+ );
++#endif
+ }
+ }
+
+--
+2.1.4
+