package/php-amqp: add add upstream php8 compatibility patches

These patches are necessary for compiling against php8. These patches also
retain the ability to compile against PHP7.2

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Adam Duskett 2021-06-29 09:50:53 -07:00 committed by Thomas Petazzoni
parent f08975d1e4
commit f16aa4ed9d
2 changed files with 1319 additions and 0 deletions

View File

@ -0,0 +1,54 @@
From 96cd5cb5eddd3db2faaa3643dad2fe4677d7c438 Mon Sep 17 00:00:00 2001
From: mmokhi <mokhi64@gmail.com>
Date: Thu, 30 Jul 2020 11:25:33 +0200
Subject: [PATCH] Add build support for PHP8.0 (#381)
From upstream commit: 96cd5cb5eddd3db2faaa3643dad2fe4677d7c438
Signed-off-by: mmokhi <mokhi64@gmail.com>
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
amqp_envelope.h | 7 +++++++
php7_support.h | 11 +++++++++++
2 files changed, 18 insertions(+)
diff --git a/amqp_envelope.h b/amqp_envelope.h
index e63a3a5..e315682 100644
--- a/amqp_envelope.h
+++ b/amqp_envelope.h
@@ -20,6 +20,13 @@
| - Jonathan Tansavatdi |
+----------------------------------------------------------------------+
*/
+
+#if PHP_MAJOR_VERSION >= 7
+ #include "php7_support.h"
+#else
+ #include "php5_support.h"
+#endif
+
extern zend_class_entry *amqp_envelope_class_entry;
void convert_amqp_envelope_to_zval(amqp_envelope_t *amqp_envelope, zval *envelope TSRMLS_DC);
diff --git a/php7_support.h b/php7_support.h
index 47ce983..c9e8f5b 100644
--- a/php7_support.h
+++ b/php7_support.h
@@ -101,6 +101,17 @@ typedef zval PHP5to7_zend_resource_le_t;
#define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL
+/* Small change to let it build after a major internal change for php8.0
+ * More info:
+ * https://github.com/php/php-src/blob/php-8.0.0alpha3/UPGRADING.INTERNALS#L47
+ */
+#if PHP_MAJOR_VERSION >= 8
+# define TSRMLS_DC
+# define TSRMLS_D
+# define TSRMLS_CC
+# define TSRMLS_C
+# endif
+
#endif //PHP_AMQP_PHP7_SUPPORT_H
/*

File diff suppressed because it is too large Load Diff