summaryrefslogtreecommitdiff
path: root/dev-php/pecl-xdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-22 20:28:19 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-22 20:28:19 +0000
commitabaa75b10f899ada8dd05b23cc03205064394bc6 (patch)
treeeca3dd248b73b92013cba00a0fcc1edf2696e19a /dev-php/pecl-xdiff
parent24fd814c326e282c4321965c31f341dad77e270d (diff)
gentoo resync : 22.01.2021
Diffstat (limited to 'dev-php/pecl-xdiff')
-rw-r--r--dev-php/pecl-xdiff/Manifest5
-rw-r--r--dev-php/pecl-xdiff/files/2.1.0_pre-php8-2.patch214
-rw-r--r--dev-php/pecl-xdiff/files/2.1.0_pre-php8-3.patch39
-rw-r--r--dev-php/pecl-xdiff/files/2.1.0_pre-php8.patch467
-rw-r--r--dev-php/pecl-xdiff/pecl-xdiff-2.0.1-r2.ebuild50
-rw-r--r--dev-php/pecl-xdiff/pecl-xdiff-2.1.0_pre.ebuild30
6 files changed, 754 insertions, 51 deletions
diff --git a/dev-php/pecl-xdiff/Manifest b/dev-php/pecl-xdiff/Manifest
index 572fda221a3e..8a615f8e834c 100644
--- a/dev-php/pecl-xdiff/Manifest
+++ b/dev-php/pecl-xdiff/Manifest
@@ -1,3 +1,6 @@
+AUX 2.1.0_pre-php8-2.patch 7546 BLAKE2B fc865765641195bce5ca2411ec1bf5153846a6289a6849a0029091bc66fdf9a30d4c44c198d20afa33432a4946a3976093cabfb146a1c4c2874a5265b04d7cc4 SHA512 8fcb7de738503a38a939bee7d58b1303e09faa2753b1a69f03813051ef79d7df2603342445350a30a0a194d1bb7e204526580d2f007d9e2a924f03c216d74ff4
+AUX 2.1.0_pre-php8-3.patch 1029 BLAKE2B a13459bf89ff56f2015e9c2c5a443af2217f83704d9e5abed6d532e512d850a3a2b03e33820d58d92db047d35d9229b1cb592e65fca89e34a342a545be52c0df SHA512 c428fbf2250dcc82977457c75610cea2f7bdd8bb3b45cf36520e7eb62bee5983fddfcc91cf6cebc144fb82d5421002af4fc5aba4320cd136360593d8cc665694
+AUX 2.1.0_pre-php8.patch 16933 BLAKE2B d2dcd690d756307b1ca30d7ff74a66d93cd51ee99c4caf007b9f9de05035326cae0782e155285db7a8c74ac59a2afaea9c3c3fed6c818431de87f77d50170f23 SHA512 89e1ce8f169624c1f5c3d1ae9f4dda5bba5bea3a43d351fe294551d1e41970069a173b352ee653435d74578933646decb6c36ae468c12a0cf0631c99b3ee83fd
DIST xdiff-2.0.1.tgz 10418 BLAKE2B d80afd629db788343e5804925fb8a9971cb0df2db6462be5adcace7e15e9b7fb2bf52cbb49f900878659fcf5e91c69b721c01e01f04876e8245ecc8094f0be61 SHA512 43f2bddac82ac19ac688ae7dad3fef65b0d8887c0e6adefd1fc15236582c31d78a54538903760270dee294ca8b8ba3def48bfa9b1d44160bcc450f5c6516402a
-EBUILD pecl-xdiff-2.0.1-r2.ebuild 1353 BLAKE2B 69ff93c8d5a6c6feb884bba0bd243c134073b70743954e590f320c9324bca85a90ed80497870ae83354451dd14d82e390d5ab9ef1b012690b9598315a843458f SHA512 b5c3b774e12f546bbde22a632404788d7ce3c1c321b1c35e175ba4d48bbbe0179b1efb283d8166318d7015ff3128da680f8667a6c0cdc2edee59533cca4bb5e3
+EBUILD pecl-xdiff-2.1.0_pre.ebuild 644 BLAKE2B 4779987df63e9bc76140318358bc9068b24abd1942013cd79b7dd8bb5e79224578638977a547fedfc682555d97c2b9c76e7b21319ec50884c10e58d5d80e6f27 SHA512 f24eeac4813cfec63c89d5dc6681e52d8686474947d274ee37d0368a5ca590ac1679c5c2c8a34fbbb1668114dbc474b662c8862c9c9a8b71630737c3bca6060d
MISC metadata.xml 333 BLAKE2B dd00945bd203358c600ca21b80034f9d42bf71a8ecc2fdef73bcd871a87addd962e82357f274e35bbc31bc3debf329283adff20870f56f54116800df5d6ca7d4 SHA512 c91d330b2363fbc4286bd17dfdf5883e1cb3c111a68c0f7cf795967775b4a45a00907c7c85a8ff70f59d379c7ccd2d4ad909235e0b4ace619602cc068e99a599
diff --git a/dev-php/pecl-xdiff/files/2.1.0_pre-php8-2.patch b/dev-php/pecl-xdiff/files/2.1.0_pre-php8-2.patch
new file mode 100644
index 000000000000..80bebf7dfddd
--- /dev/null
+++ b/dev-php/pecl-xdiff/files/2.1.0_pre-php8-2.patch
@@ -0,0 +1,214 @@
+From 2afb71ae1d6bcebe66f2e52019222a117c607f66 Mon Sep 17 00:00:00 2001
+From: Rasmus Lerdorf <rasmus@lerdorf.com>
+Date: Thu, 14 Jan 2021 08:23:43 -0800
+Subject: [PATCH] Version 2.1.0 PHP 8 support Drop PHP 5 support
+
+diff --git a/xdiff.stub.php b/xdiff.stub.php
+new file mode 100644
+index 0000000..4597e7f
+--- /dev/null
++++ b/xdiff.stub.php
+@@ -0,0 +1,84 @@
++<?php
++/** @generate-function-entries */
++
++/**
++ * @param string $str1
++ * @param string $str2
++ * @param int $context
++ * @param bool $minimal
++ * @return string|false
++ */
++function xdiff_string_diff(string $str1, string $str2, int $context = 3, bool $minimal = false) {}
++
++function xdiff_file_diff(string $file1, string $file2, string $dest, int $context = 3, bool $minimal = false): bool {}
++
++/**
++ * @param string $str1
++ * @param string $str2
++ * @return string|false
++ * @alias xdiff_string_bdiff
++ */
++function xdiff_string_diff_binary(string $str1, string $str2) {}
++
++/** @alias xdiff_file_bdiff */
++function xdiff_file_diff_binary(string $file1, string $file2, string $dest): bool {}
++
++/**
++ * @param string $str1
++ * @param string $str2
++ * @return string|false
++ */
++function xdiff_string_rabdiff(string $str1, string $str2) {}
++
++function xdiff_file_rabdiff(string $file1, string $file2, string $dest): bool {}
++
++function xdiff_file_bdiff_size(string $file1, string $file2, string $dest): bool {}
++
++function xdiff_string_bdiff_size(string $file1, string $file2, string $dest): bool {}
++
++/**
++ * @param string $file
++ * @param string $patch
++ * @param string $dest
++ * @param int $flags
++ * @return string|bool
++ */
++function xdiff_file_patch(string $file, string $patch, string $dest, int $flags=XDIFF_PATCH_NORMAL) {}
++
++/**
++ * @param string $file
++ * @param string $patch
++ * @param int $flags
++ * @param string $error
++ * @return string|bool
++ */
++function xdiff_string_patch(string $file, string $patch, int $flags=XDIFF_PATCH_NORMAL, string &$error=null) {}
++
++/** @alias xdiff_file_bpatch */
++function xdiff_file_patch_binary(string $file, string $patch, string $dest): bool {}
++
++/**
++ * @param string $file
++ * @param string $patch
++ * @return string|false
++ * @alias xdiff_string_bpatch
++ */
++function xdiff_string_patch_binary(string $str, string $patch) {}
++
++/**
++ * @param string $file1
++ * @param string $file2
++ * @param string $file3
++ * @param string $dest
++ * @return string|bool
++ */
++function xdiff_file_merge3(string $file1, string $file2, string $file3, string $dest) {}
++
++/**
++ * @param string $str1
++ * @param string $str2
++ * @param string $str3
++ * @param string $error
++ * @return string|bool
++ */
++function xdiff_string_merge3(string $str1, string $str2, string $str3, string &$error=null) {}
+diff --git a/xdiff_arginfo.h b/xdiff_arginfo.h
+new file mode 100644
+index 0000000..2016f7e
+--- /dev/null
++++ b/xdiff_arginfo.h
+@@ -0,0 +1,110 @@
++/* This is a generated file, edit the .stub.php file instead.
++ * Stub hash: ec3a63aa4462f084433c3576ad532de87da7f867 */
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_string_diff, 0, 0, 2)
++ ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, context, IS_LONG, 0, "3")
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, minimal, _IS_BOOL, 0, "false")
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xdiff_file_diff, 0, 3, _IS_BOOL, 0)
++ ZEND_ARG_TYPE_INFO(0, file1, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, file2, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, context, IS_LONG, 0, "3")
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, minimal, _IS_BOOL, 0, "false")
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_string_diff_binary, 0, 0, 2)
++ ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xdiff_file_diff_binary, 0, 3, _IS_BOOL, 0)
++ ZEND_ARG_TYPE_INFO(0, file1, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, file2, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0)
++ZEND_END_ARG_INFO()
++
++#define arginfo_xdiff_string_rabdiff arginfo_xdiff_string_diff_binary
++
++#define arginfo_xdiff_file_rabdiff arginfo_xdiff_file_diff_binary
++
++#define arginfo_xdiff_file_bdiff_size arginfo_xdiff_file_diff_binary
++
++#define arginfo_xdiff_string_bdiff_size arginfo_xdiff_file_diff_binary
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_file_patch, 0, 0, 3)
++ ZEND_ARG_TYPE_INFO(0, file, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, patch, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "XDIFF_PATCH_NORMAL")
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_string_patch, 0, 0, 2)
++ ZEND_ARG_TYPE_INFO(0, file, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, patch, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "XDIFF_PATCH_NORMAL")
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(1, error, IS_STRING, 0, "null")
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xdiff_file_patch_binary, 0, 3, _IS_BOOL, 0)
++ ZEND_ARG_TYPE_INFO(0, file, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, patch, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_string_patch_binary, 0, 0, 2)
++ ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, patch, IS_STRING, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_file_merge3, 0, 0, 4)
++ ZEND_ARG_TYPE_INFO(0, file1, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, file2, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, file3, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_xdiff_string_merge3, 0, 0, 3)
++ ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO(0, str3, IS_STRING, 0)
++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(1, error, IS_STRING, 0, "null")
++ZEND_END_ARG_INFO()
++
++
++ZEND_FUNCTION(xdiff_string_diff);
++ZEND_FUNCTION(xdiff_file_diff);
++ZEND_FUNCTION(xdiff_string_bdiff);
++ZEND_FUNCTION(xdiff_file_bdiff);
++ZEND_FUNCTION(xdiff_string_rabdiff);
++ZEND_FUNCTION(xdiff_file_rabdiff);
++ZEND_FUNCTION(xdiff_file_bdiff_size);
++ZEND_FUNCTION(xdiff_string_bdiff_size);
++ZEND_FUNCTION(xdiff_file_patch);
++ZEND_FUNCTION(xdiff_string_patch);
++ZEND_FUNCTION(xdiff_file_bpatch);
++ZEND_FUNCTION(xdiff_string_bpatch);
++ZEND_FUNCTION(xdiff_file_merge3);
++ZEND_FUNCTION(xdiff_string_merge3);
++
++
++static const zend_function_entry ext_functions[] = {
++ ZEND_FE(xdiff_string_diff, arginfo_xdiff_string_diff)
++ ZEND_FE(xdiff_file_diff, arginfo_xdiff_file_diff)
++ ZEND_FALIAS(xdiff_string_diff_binary, xdiff_string_bdiff, arginfo_xdiff_string_diff_binary)
++ ZEND_FALIAS(xdiff_file_diff_binary, xdiff_file_bdiff, arginfo_xdiff_file_diff_binary)
++ ZEND_FE(xdiff_string_rabdiff, arginfo_xdiff_string_rabdiff)
++ ZEND_FE(xdiff_file_rabdiff, arginfo_xdiff_file_rabdiff)
++ ZEND_FE(xdiff_file_bdiff_size, arginfo_xdiff_file_bdiff_size)
++ ZEND_FE(xdiff_string_bdiff_size, arginfo_xdiff_string_bdiff_size)
++ ZEND_FE(xdiff_file_patch, arginfo_xdiff_file_patch)
++ ZEND_FE(xdiff_string_patch, arginfo_xdiff_string_patch)
++ ZEND_FALIAS(xdiff_file_patch_binary, xdiff_file_bpatch, arginfo_xdiff_file_patch_binary)
++ ZEND_FALIAS(xdiff_string_patch_binary, xdiff_string_bpatch, arginfo_xdiff_string_patch_binary)
++ ZEND_FE(xdiff_file_merge3, arginfo_xdiff_file_merge3)
++ ZEND_FE(xdiff_string_merge3, arginfo_xdiff_string_merge3)
++ ZEND_FE_END
++};
+--
+2.11.0
+
diff --git a/dev-php/pecl-xdiff/files/2.1.0_pre-php8-3.patch b/dev-php/pecl-xdiff/files/2.1.0_pre-php8-3.patch
new file mode 100644
index 000000000000..e41155467973
--- /dev/null
+++ b/dev-php/pecl-xdiff/files/2.1.0_pre-php8-3.patch
@@ -0,0 +1,39 @@
+From 5458ecb8ce81e921239af1a76d6acb54cf945863 Mon Sep 17 00:00:00 2001
+From: Rasmus Lerdorf <rasmus@lerdorf.com>
+Date: Thu, 14 Jan 2021 15:23:43 -0800
+Subject: [PATCH] Don't need these here
+
+---
+ php_xdiff.h | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+diff --git a/php_xdiff.h b/php_xdiff.h
+index de882fa..1b9a699 100644
+--- a/php_xdiff.h
++++ b/php_xdiff.h
+@@ -39,22 +39,6 @@ extern zend_module_entry xdiff_module_entry;
+ PHP_MINIT_FUNCTION(xdiff);
+ PHP_MINFO_FUNCTION(xdiff);
+
+-PHP_FUNCTION(xdiff_file_diff);
+-PHP_FUNCTION(xdiff_file_bdiff);
+-PHP_FUNCTION(xdiff_file_patch);
+-PHP_FUNCTION(xdiff_file_bpatch);
+-PHP_FUNCTION(xdiff_file_merge3);
+-PHP_FUNCTION(xdiff_file_rabdiff);
+-PHP_FUNCTION(xdiff_file_bdiff_size);
+-
+-PHP_FUNCTION(xdiff_string_diff);
+-PHP_FUNCTION(xdiff_string_bdiff);
+-PHP_FUNCTION(xdiff_string_patch);
+-PHP_FUNCTION(xdiff_string_bpatch);
+-PHP_FUNCTION(xdiff_string_merge3);
+-PHP_FUNCTION(xdiff_string_rabdiff);
+-PHP_FUNCTION(xdiff_string_bdiff_size);
+-
+ #endif /* PHP_XDIFF_H */
+
+
+--
+2.11.0
+
diff --git a/dev-php/pecl-xdiff/files/2.1.0_pre-php8.patch b/dev-php/pecl-xdiff/files/2.1.0_pre-php8.patch
new file mode 100644
index 000000000000..8a8f3ab43299
--- /dev/null
+++ b/dev-php/pecl-xdiff/files/2.1.0_pre-php8.patch
@@ -0,0 +1,467 @@
+From 2afb71ae1d6bcebe66f2e52019222a117c607f66 Mon Sep 17 00:00:00 2001
+From: Rasmus Lerdorf <rasmus@lerdorf.com>
+Date: Thu, 14 Jan 2021 08:23:43 -0800
+Subject: [PATCH] Version 2.1.0 PHP 8 support Drop PHP 5 support
+
+diff --git a/php_xdiff.h b/php_xdiff.h
+index c79ad63..de882fa 100644
+--- a/php_xdiff.h
++++ b/php_xdiff.h
+@@ -24,7 +24,7 @@
+ extern zend_module_entry xdiff_module_entry;
+ #define phpext_xdiff_ptr &xdiff_module_entry
+
+-#define PHP_XDIFF_VERSION "2.0.1"
++#define PHP_XDIFF_VERSION "2.1.0"
+
+ #ifdef PHP_WIN32
+ #define PHP_XDIFF_API __declspec(dllexport)
+diff --git a/xdiff.c b/xdiff.c
+index 0756c5a..f4c09f2 100644
+--- a/xdiff.c
++++ b/xdiff.c
+@@ -27,6 +27,29 @@
+ #include "ext/standard/info.h"
+ #include "php_xdiff.h"
+
++#ifndef ZEND_ARG_INFO_WITH_DEFAULT_VALUE
++#define ZEND_ARG_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, default_value) \
++ ZEND_ARG_INFO(pass_by_ref, name)
++#endif
++#if PHP_VERSION_ID < 70200
++#undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
++#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \
++ static const zend_internal_arg_info name[] = { \
++ { (const char*)(zend_uintptr_t)(required_num_args), ( #class_name ), 0, return_reference, allow_null, 0 },
++#endif
++
++#ifndef ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX
++#define ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \
++ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, class_name, allow_null)
++#endif
++
++#ifndef ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE
++#define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value) \
++ ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null)
++#endif
++
++#include "xdiff_arginfo.h"
++
+ #include <xdiff.h>
+
+ /* Not exported by header file */
+@@ -37,14 +60,7 @@ struct string_buffer {
+ unsigned long size;
+ };
+
+- ZEND_BEGIN_ARG_INFO(xdiff_arg_force_ref, 0)
+- ZEND_ARG_PASS_INFO(0)
+- ZEND_ARG_PASS_INFO(0)
+- ZEND_ARG_PASS_INFO(0)
+- ZEND_ARG_PASS_INFO(1)
+- ZEND_END_ARG_INFO()
+-
+-static int load_mm_file(const char *filepath, mmfile_t *dest TSRMLS_DC);
++static int load_mm_file(const char *filepath, mmfile_t *dest);
+ static int load_into_mm_file(const char *buffer, unsigned long size, mmfile_t *dest);
+ static int append_string(void *ptr, mmbuffer_t *buffer, int array_size);
+ static int append_stream(void *ptr, mmbuffer_t *buffer, int array_size);
+@@ -52,17 +68,17 @@ static int init_string(struct string_buffer *string);
+ static void free_string(struct string_buffer *string);
+ static void invalidate_string(struct string_buffer *string);
+
+-static int make_diff(char *filepath1, char *filepath2, xdemitcb_t *output, int context, int minimal TSRMLS_DC);
++static int make_diff(char *filepath1, char *filepath2, xdemitcb_t *output, int context, int minimal);
+ static int make_diff_str(char *str1, int size1, char *str2, int size2, xdemitcb_t *output, int context, int minimal);
+-static int make_bdiff(char *filepath1, char *filepath2, xdemitcb_t *output TSRMLS_DC);
++static int make_bdiff(char *filepath1, char *filepath2, xdemitcb_t *output);
+ static int make_bdiff_str(char *str1, int size1, char *str2, int size2, xdemitcb_t *output);
+-static int make_patch(char *file_path, char *patch_path, xdemitcb_t *output, xdemitcb_t *error, int flags TSRMLS_DC);
++static int make_patch(char *file_path, char *patch_path, xdemitcb_t *output, xdemitcb_t *error, int flags);
+ static int make_patch_str(char *file, int size1, char *patch, int size2, xdemitcb_t *output, xdemitcb_t *error, int flags);
+-static int make_bpatch(char *file_path, char *patch_path, xdemitcb_t *output TSRMLS_DC);
++static int make_bpatch(char *file_path, char *patch_path, xdemitcb_t *output);
+ static int make_bpatch_str(char *file, int size1, char *patch, int size2, xdemitcb_t *output);
+-static int make_merge3(char *filepath1, char *filepath2, char *filepath3, xdemitcb_t *output, xdemitcb_t *error TSRMLS_DC);
++static int make_merge3(char *filepath1, char *filepath2, char *filepath3, xdemitcb_t *output, xdemitcb_t *error);
+ static int make_merge3_str(char *content1, int size1, char *content2, int size2, char *content3, int size3, xdemitcb_t *output, xdemitcb_t *error);
+-static int make_rabdiff(char *filepath1, char *filepath2, xdemitcb_t *output TSRMLS_DC);
++static int make_rabdiff(char *filepath1, char *filepath2, xdemitcb_t *output);
+ static int make_rabdiff_str(char *str1, int size1, char *str2, int size2, xdemitcb_t *output);
+
+ static void *xdiff_malloc(void *foo, unsigned int size)
+@@ -84,33 +100,6 @@ static void *xdiff_realloc(void *foo, void *ptr, unsigned int nsize)
+
+ static memallocator_t allocator = { NULL, xdiff_malloc, xdiff_free, xdiff_realloc };
+
+-/* {{{ xdiff_functions[]
+- *
+- * Every user visible function must have an entry in xdiff_functions[].
+- */
+-zend_function_entry xdiff_functions[] = {
+- PHP_FE(xdiff_file_diff, NULL)
+- PHP_FE(xdiff_file_bdiff, NULL)
+- PHP_FE(xdiff_file_patch, NULL)
+- PHP_FE(xdiff_file_bpatch, NULL)
+- PHP_FE(xdiff_file_merge3, NULL)
+- PHP_FE(xdiff_file_rabdiff, NULL)
+- PHP_FE(xdiff_file_bdiff_size, NULL)
+- PHP_FE(xdiff_string_diff, NULL)
+- PHP_FE(xdiff_string_bdiff, NULL)
+- PHP_FE(xdiff_string_patch, xdiff_arg_force_ref)
+- PHP_FE(xdiff_string_bpatch, NULL)
+- PHP_FE(xdiff_string_merge3, xdiff_arg_force_ref)
+- PHP_FE(xdiff_string_rabdiff, NULL)
+- PHP_FE(xdiff_string_bdiff_size, NULL)
+- PHP_FALIAS(xdiff_file_diff_binary, xdiff_file_bdiff, NULL)
+- PHP_FALIAS(xdiff_file_patch_binary, xdiff_file_bpatch, NULL)
+- PHP_FALIAS(xdiff_string_diff_binary, xdiff_string_bdiff, NULL)
+- PHP_FALIAS(xdiff_string_patch_binary, xdiff_string_bpatch, NULL)
+- {NULL, NULL, NULL}
+-};
+-/* }}} */
+-
+ /* {{{ xdiff_module_entry
+ */
+ zend_module_entry xdiff_module_entry = {
+@@ -118,7 +107,7 @@ zend_module_entry xdiff_module_entry = {
+ STANDARD_MODULE_HEADER,
+ #endif
+ "xdiff",
+- xdiff_functions,
++ ext_functions,
+ PHP_MINIT(xdiff),
+ NULL,
+ NULL,
+@@ -172,7 +161,7 @@ PHP_FUNCTION(xdiff_string_diff)
+ xdemitcb_t output;
+ struct string_buffer string;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS|lb", &str1, &str2, &context, &minimal) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS|lb", &str1, &str2, &context, &minimal) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -204,7 +193,7 @@ PHP_FUNCTION(xdiff_file_diff)
+ xdemitcb_t output;
+ php_stream *output_stream;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SSS|lb", &filepath1, &filepath2, &dest, &context, &minimal) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SSS|lb", &filepath1, &filepath2, &dest, &context, &minimal) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -217,7 +206,7 @@ PHP_FUNCTION(xdiff_file_diff)
+ output.priv = output_stream;
+ output.outf = append_stream;
+
+- retval = make_diff(filepath1->val, filepath2->val, &output, context, minimal TSRMLS_CC);
++ retval = make_diff(filepath1->val, filepath2->val, &output, context, minimal);
+ if (!retval)
+ goto out_stream_close;
+
+@@ -239,7 +228,7 @@ PHP_FUNCTION(xdiff_string_bdiff)
+ xdemitcb_t output;
+ struct string_buffer string;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS", &str1, &str2) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS", &str1, &str2) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -270,7 +259,7 @@ PHP_FUNCTION(xdiff_file_bdiff)
+ xdemitcb_t output;
+ php_stream *output_stream;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SSS", &filepath1, &filepath2, &result) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SSS", &filepath1, &filepath2, &result) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -283,7 +272,7 @@ PHP_FUNCTION(xdiff_file_bdiff)
+ output.priv = output_stream;
+ output.outf = append_stream;
+
+- retval = make_bdiff(filepath1->val, filepath2->val, &output TSRMLS_CC);
++ retval = make_bdiff(filepath1->val, filepath2->val, &output);
+ if (!retval)
+ goto out_stream_close;
+
+@@ -305,7 +294,7 @@ PHP_FUNCTION(xdiff_string_rabdiff)
+ xdemitcb_t output;
+ struct string_buffer string;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS", &str1, &str2) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS", &str1, &str2) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -336,7 +325,7 @@ PHP_FUNCTION(xdiff_file_rabdiff)
+ xdemitcb_t output;
+ php_stream *output_stream;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SSS", &filepath1, &filepath2, &result) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SSS", &filepath1, &filepath2, &result) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -349,7 +338,7 @@ PHP_FUNCTION(xdiff_file_rabdiff)
+ output.priv = output_stream;
+ output.outf = append_stream;
+
+- retval = make_rabdiff(filepath1->val, filepath2->val, &output TSRMLS_CC);
++ retval = make_rabdiff(filepath1->val, filepath2->val, &output);
+ if (!retval)
+ goto out_stream_close;
+
+@@ -371,13 +360,13 @@ PHP_FUNCTION(xdiff_file_bdiff_size)
+ long result;
+ mmfile_t file;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &filepath) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &filepath) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ RETVAL_FALSE;
+
+- retval = load_mm_file(filepath->val, &file TSRMLS_CC);
++ retval = load_mm_file(filepath->val, &file);
+ if (!retval)
+ goto out;
+
+@@ -403,7 +392,7 @@ PHP_FUNCTION(xdiff_string_bdiff_size)
+ long result;
+ mmfile_t file;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &patch) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &patch) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -437,7 +426,7 @@ PHP_FUNCTION(xdiff_file_patch)
+ xdemitcb_t output, error_output;
+ struct string_buffer error_string;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SSS|l", &src_path, &patch_path, &dest_path, &flags) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SSS|l", &src_path, &patch_path, &dest_path, &flags) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -457,7 +446,7 @@ PHP_FUNCTION(xdiff_file_patch)
+ error_output.priv= &error_string;
+ error_output.outf = append_string;
+
+- retval = make_patch(src_path->val, patch_path->val, &output, &error_output, flags TSRMLS_CC);
++ retval = make_patch(src_path->val, patch_path->val, &output, &error_output, flags);
+ if (retval < 0)
+ goto out_free_string;
+
+@@ -487,7 +476,7 @@ PHP_FUNCTION(xdiff_string_patch)
+ xdemitcb_t output, error_output;
+ struct string_buffer output_string, error_string;
+
+- if (zend_parse_parameters_ex(0, ZEND_NUM_ARGS() TSRMLS_CC, "SS|lz", &src, &patch, &flags, &error_ref) == FAILURE) {
++ if (zend_parse_parameters_ex(0, ZEND_NUM_ARGS(), "SS|lz", &src, &patch, &flags, &error_ref) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -539,7 +528,7 @@ PHP_FUNCTION(xdiff_file_bpatch)
+ int retval;
+ xdemitcb_t output;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SSS", &src_path, &patch_path, &dest_path) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SSS", &src_path, &patch_path, &dest_path) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -552,7 +541,7 @@ PHP_FUNCTION(xdiff_file_bpatch)
+ output.outf = append_stream;
+ output.priv = output_stream;
+
+- retval = make_bpatch(src_path->val, patch_path->val, &output TSRMLS_CC);
++ retval = make_bpatch(src_path->val, patch_path->val, &output);
+ php_stream_close(output_stream);
+
+ if (retval == 0)
+@@ -572,7 +561,7 @@ PHP_FUNCTION(xdiff_string_bpatch)
+ xdemitcb_t output;
+ struct string_buffer output_string;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS", &src, &patch) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS", &src, &patch) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -608,7 +597,7 @@ PHP_FUNCTION(xdiff_file_merge3)
+ xdemitcb_t output, error_output;
+ int retval;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SSSS", &file1, &file2, &file3, &dest) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "SSSS", &file1, &file2, &file3, &dest) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -628,7 +617,7 @@ PHP_FUNCTION(xdiff_file_merge3)
+ error_output.priv = &string;
+ error_output.outf = append_string;
+
+- retval = make_merge3(file1->val, file2->val, file3->val, &output, &error_output TSRMLS_CC);
++ retval = make_merge3(file1->val, file2->val, file3->val, &output, &error_output);
+ if (!retval)
+ goto out_free_string;
+
+@@ -657,7 +646,7 @@ PHP_FUNCTION(xdiff_string_merge3)
+ xdemitcb_t output, error_output;
+ int retval;
+
+- if (zend_parse_parameters_ex(0, ZEND_NUM_ARGS() TSRMLS_CC, "SSS|z", &file1, &file2, &file3, &error_ref) == FAILURE) {
++ if (zend_parse_parameters_ex(0, ZEND_NUM_ARGS(), "SSS|z", &file1, &file2, &file3, &error_ref) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -700,7 +689,7 @@ out:
+ }
+ /* }}} */
+
+-static int load_mm_file(const char *filepath, mmfile_t *dest TSRMLS_DC)
++static int load_mm_file(const char *filepath, mmfile_t *dest)
+ {
+ int retval;
+ off_t filesize;
+@@ -789,7 +778,6 @@ static int append_stream(void *ptr, mmbuffer_t *buffer, int array_size)
+ {
+ php_stream *stream = ptr;
+ unsigned int i;
+- TSRMLS_FETCH();
+
+ for (i = 0; i < array_size; i++) {
+ php_stream_write(stream, buffer[i].ptr, buffer[i].size);
+@@ -821,18 +809,18 @@ static void free_string(struct string_buffer *string)
+ efree(string->ptr);
+ }
+
+-static int make_diff(char *filepath1, char *filepath2, xdemitcb_t *output, int context, int minimal TSRMLS_DC)
++static int make_diff(char *filepath1, char *filepath2, xdemitcb_t *output, int context, int minimal)
+ {
+ mmfile_t file1, file2;
+ xpparam_t params;
+ xdemitconf_t conf;
+ int retval, result = 0;
+
+- retval = load_mm_file(filepath1, &file1 TSRMLS_CC);
++ retval = load_mm_file(filepath1, &file1);
+ if (!retval)
+ goto out;
+
+- retval = load_mm_file(filepath2, &file2 TSRMLS_CC);
++ retval = load_mm_file(filepath2, &file2);
+ if (!retval)
+ goto out_free_mmfile;
+
+@@ -885,17 +873,17 @@ out:
+ return result;
+ }
+
+-static int make_bdiff(char *filepath1, char *filepath2, xdemitcb_t *output TSRMLS_DC)
++static int make_bdiff(char *filepath1, char *filepath2, xdemitcb_t *output)
+ {
+ mmfile_t file1, file2;
+ bdiffparam_t params;
+ int retval, result = 0;
+
+- retval = load_mm_file(filepath1, &file1 TSRMLS_CC);
++ retval = load_mm_file(filepath1, &file1);
+ if (!retval)
+ goto out;
+
+- retval = load_mm_file(filepath2, &file2 TSRMLS_CC);
++ retval = load_mm_file(filepath2, &file2);
+ if (!retval)
+ goto out_free_mmfile;
+
+@@ -945,16 +933,16 @@ out:
+ return result;
+ }
+
+-static int make_rabdiff(char *filepath1, char *filepath2, xdemitcb_t *output TSRMLS_DC)
++static int make_rabdiff(char *filepath1, char *filepath2, xdemitcb_t *output)
+ {
+ mmfile_t file1, file2;
+ int retval, result = 0;
+
+- retval = load_mm_file(filepath1, &file1 TSRMLS_CC);
++ retval = load_mm_file(filepath1, &file1);
+ if (!retval)
+ goto out;
+
+- retval = load_mm_file(filepath2, &file2 TSRMLS_CC);
++ retval = load_mm_file(filepath2, &file2);
+ if (!retval)
+ goto out_free_mmfile;
+
+@@ -999,16 +987,16 @@ out:
+ return result;
+ }
+
+-static int make_patch(char *file_path, char *patch_path, xdemitcb_t *output, xdemitcb_t *error, int flags TSRMLS_DC)
++static int make_patch(char *file_path, char *patch_path, xdemitcb_t *output, xdemitcb_t *error, int flags)
+ {
+ mmfile_t file, patch;
+ int retval, result = 0;
+
+- retval = load_mm_file(file_path, &file TSRMLS_CC);
++ retval = load_mm_file(file_path, &file);
+ if (!retval)
+ goto out;
+
+- retval = load_mm_file(patch_path, &patch TSRMLS_CC);
++ retval = load_mm_file(patch_path, &patch);
+ if (!retval)
+ goto out_free_mmfile;
+
+@@ -1053,16 +1041,16 @@ out:
+ return result;
+ }
+
+-static int make_bpatch(char *file_path, char *patch_path, xdemitcb_t *output TSRMLS_DC)
++static int make_bpatch(char *file_path, char *patch_path, xdemitcb_t *output)
+ {
+ mmfile_t file_mm, patch_mm;
+ int retval, result = 0;
+
+- retval = load_mm_file(file_path, &file_mm TSRMLS_CC);
++ retval = load_mm_file(file_path, &file_mm);
+ if (!retval)
+ goto out;
+
+- retval = load_mm_file(patch_path, &patch_mm TSRMLS_CC);
++ retval = load_mm_file(patch_path, &patch_mm);
+ if (!retval)
+ goto out_free_mmfile;
+
+@@ -1107,20 +1095,20 @@ out:
+ return result;
+ }
+
+-static int make_merge3(char *filepath1, char *filepath2, char *filepath3, xdemitcb_t *output, xdemitcb_t *error TSRMLS_DC)
++static int make_merge3(char *filepath1, char *filepath2, char *filepath3, xdemitcb_t *output, xdemitcb_t *error)
+ {
+ mmfile_t file1, file2, file3;
+ int retval, result = 0;
+
+- retval = load_mm_file(filepath1, &file1 TSRMLS_CC);
++ retval = load_mm_file(filepath1, &file1);
+ if (!retval)
+ goto out;
+
+- retval = load_mm_file(filepath2, &file2 TSRMLS_CC);
++ retval = load_mm_file(filepath2, &file2);
+ if (!retval)
+ goto out_free_mmfile;
+
+- retval = load_mm_file(filepath3, &file3 TSRMLS_CC);
++ retval = load_mm_file(filepath3, &file3);
+ if (!retval)
+ goto out_free_mmfile2;
+
diff --git a/dev-php/pecl-xdiff/pecl-xdiff-2.0.1-r2.ebuild b/dev-php/pecl-xdiff/pecl-xdiff-2.0.1-r2.ebuild
deleted file mode 100644
index 4acbe27c4126..000000000000
--- a/dev-php/pecl-xdiff/pecl-xdiff-2.0.1-r2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PHP_EXT_NAME="xdiff"
-PHP_EXT_PECL_PKG="xdiff"
-DOCS=( README.API )
-
-USE_PHP="php5-6 php7-0 php7-1 php7-2 php7-3 php7-4"
-
-inherit php-ext-pecl-r3
-
-USE_PHP="php7-0 php7-1 php7-2 php7-3 php7-4"
-
-KEYWORDS="~amd64 ~x86"
-
-DESCRIPTION="PHP extension for generating diff files"
-LICENSE="PHP-3.01"
-SLOT="7"
-
-DEPEND="
- php_targets_php7-0? ( dev-libs/libxdiff )
- php_targets_php7-1? ( dev-libs/libxdiff )
- php_targets_php7-2? ( dev-libs/libxdiff )
- php_targets_php7-3? ( dev-libs/libxdiff )
- php_targets_php7-4? ( dev-libs/libxdiff )
-"
-RDEPEND="${DEPEND} php_targets_php5-6? ( dev-php/pecl-xdiff:0[php_targets_php5-6] )"
-
-src_prepare() {
- if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 || use php_targets_php7-3 || use php_targets_php7-4 ; then
- php-ext-source-r3_src_prepare
- else
- eapply_user
- fi
-}
-
-src_configure() {
- if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 || use php_targets_php7-3 || use php_targets_php7-4 ; then
- local PHP_EXT_ECONF_ARGS=()
- php-ext-source-r3_src_configure
- fi
-}
-
-src_install() {
- if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 || use php_targets_php7-3 || use php_targets_php7-4 ; then
- php-ext-pecl-r3_src_install
- fi
-}
diff --git a/dev-php/pecl-xdiff/pecl-xdiff-2.1.0_pre.ebuild b/dev-php/pecl-xdiff/pecl-xdiff-2.1.0_pre.ebuild
new file mode 100644
index 000000000000..336f7f480f72
--- /dev/null
+++ b/dev-php/pecl-xdiff/pecl-xdiff-2.1.0_pre.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PHP_EXT_NAME="xdiff"
+PHP_EXT_PECL_PKG="xdiff"
+DOCS=( README.API )
+
+USE_PHP="php7-3 php7-4 php8-0"
+PHP_EXT_PECL_FILENAME="${PN/pecl-/}-2.0.1.tgz"
+
+inherit php-ext-pecl-r3
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="PHP extension for generating diff files"
+LICENSE="PHP-3.01"
+SLOT="7"
+
+DEPEND="dev-libs/libxdiff"
+RDEPEND="${DEPEND}"
+PHP_EXT_ECONF_ARGS=()
+PATCHES=(
+"${FILESDIR}/2.1.0_pre-php8.patch"
+"${FILESDIR}/2.1.0_pre-php8-2.patch"
+"${FILESDIR}/2.1.0_pre-php8-3.patch"
+)
+S="${WORKDIR}/${PHP_EXT_PECL_FILENAME/.tgz/}"
+PHP_EXT_S="${S}"