summaryrefslogtreecommitdiffstats
path: root/solr-build.patch
diff options
context:
space:
mode:
Diffstat (limited to 'solr-build.patch')
-rw-r--r--solr-build.patch172
1 files changed, 172 insertions, 0 deletions
diff --git a/solr-build.patch b/solr-build.patch
new file mode 100644
index 0000000..80cc10c
--- /dev/null
+++ b/solr-build.patch
@@ -0,0 +1,172 @@
+From c656212bad2db9217fdcd014002ea723f3eaa6e8 Mon Sep 17 00:00:00 2001
+From: alexgit2k <alexgit2k@users.noreply.github.com>
+Date: Fri, 11 Mar 2022 12:23:40 +0100
+Subject: [PATCH] Set return-type for some functions
+
+---
+ src/php7/php_solr.c | 61 ++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 47 insertions(+), 14 deletions(-)
+
+diff --git a/src/php7/php_solr.c b/src/php7/php_solr.c
+index 4d7fec3..39018e5 100644
+--- a/src/php7/php_solr.c
++++ b/src/php7/php_solr.c
+@@ -99,16 +99,20 @@ static void php_solr_globals_ctor(zend_solr_globals *solr_globals_arg)
+
+ /* {{{ arg_info vectors for functions and methods */
+
+-ZEND_BEGIN_ARG_INFO_EX(SolrObject__get_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1)
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrObject__get_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_MIXED, 0)
+ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name)
+ ZEND_END_ARG_INFO()
+
+-ZEND_BEGIN_ARG_INFO_EX(SolrObject__set_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 2)
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrObject__set_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 2, IS_VOID, 0)
+ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name)
+ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_value)
+ ZEND_END_ARG_INFO()
+
+-ZEND_BEGIN_ARG_INFO_EX(SolrObject_one_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1)
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrObject_offsetExists_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, _IS_BOOL, 0)
++ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrObject_offsetUnset_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_VOID, 0)
+ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name)
+ ZEND_END_ARG_INFO()
+
+@@ -143,7 +147,19 @@ ZEND_ARG_OBJ_INFO(SOLR_ARG_PASS_BY_REF_TRUE, sourceDoc, SolrDocument, SOLR_ARG_A
+ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, overwrite)
+ ZEND_END_ARG_INFO()
+
+-ZEND_BEGIN_ARG_INFO_EX(SolrDocument_current_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0)
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrDocument_current_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrDocument_key_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_MIXED, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_next_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_VOID, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_valid_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, _IS_BOOL, 0)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_rewind_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_VOID, 0)
+ ZEND_END_ARG_INFO()
+
+ ZEND_BEGIN_ARG_INFO_EX(SolrDocument_getInputDocument_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0)
+@@ -152,6 +168,23 @@ ZEND_END_ARG_INFO()
+ ZEND_BEGIN_ARG_INFO(SolrDocument_unserialize_args, 0)
+ ZEND_ARG_INFO(0, serialized)
+ ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_offsetSet_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 2, IS_VOID, 0)
++ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName)
++ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldValue)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrDocument_offsetGet_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_MIXED, 0)
++ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_offsetExists_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, _IS_BOOL, 0)
++ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_offsetUnset_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_VOID, 0)
++ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName)
++ZEND_END_ARG_INFO()
+ /* }}} */
+
+ /* {{{ SolrInputDocument arguments */
+@@ -524,8 +557,8 @@ static zend_function_entry solr_object_methods[] = {
+ */
+ PHP_ME(SolrObject, offsetSet, SolrObject__set_args, ZEND_ACC_PUBLIC)
+ PHP_ME(SolrObject, offsetGet, SolrObject__get_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrObject, offsetExists, SolrObject_one_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrObject, offsetUnset, SolrObject_one_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrObject, offsetExists, SolrObject_offsetExists_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrObject, offsetUnset, SolrObject_offsetUnset_args, ZEND_ACC_PUBLIC)
+ PHP_ME(SolrObject, getPropertyNames, Solr_no_args, ZEND_ACC_PUBLIC)
+
+ PHP_FE_END
+@@ -582,16 +615,16 @@ static zend_function_entry solr_document_methods[] = {
+ PHP_ME(SolrDocument, __isset, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC)
+ PHP_ME(SolrDocument, __unset, SolrDocument_deleteField_args, ZEND_ACC_PUBLIC)
+
+- PHP_ME(SolrDocument, offsetSet, SolrDocument_addField_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, offsetGet, SolrDocument_getField_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, offsetExists, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, offsetUnset, SolrDocument_deleteField_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, offsetSet, SolrDocument_offsetSet_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, offsetGet, SolrDocument_offsetGet_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, offsetExists, SolrDocument_offsetExists_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, offsetUnset, SolrDocument_offsetUnset_args, ZEND_ACC_PUBLIC)
+
+ PHP_ME(SolrDocument, current, SolrDocument_current_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, key, Solr_no_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, next, Solr_no_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, rewind, Solr_no_args, ZEND_ACC_PUBLIC)
+- PHP_ME(SolrDocument, valid, Solr_no_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, key, SolrDocument_key_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, next, SolrDocument_next_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, rewind, SolrDocument_rewind_args, ZEND_ACC_PUBLIC)
++ PHP_ME(SolrDocument, valid, SolrDocument_valid_args, ZEND_ACC_PUBLIC)
+
+ PHP_ME(SolrDocument, serialize, Solr_no_args, ZEND_ACC_PUBLIC)
+ PHP_ME(SolrDocument, unserialize, SolrDocument_unserialize_args, ZEND_ACC_PUBLIC)
+From 3d1d2c98d4a3f7638a976afc3dd6b85b2d1d4fef Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 17 Mar 2022 11:38:47 +0100
+Subject: [PATCH] fix build with older PHP
+
+---
+ src/php7/php_solr.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/src/php7/php_solr.c b/src/php7/php_solr.c
+index 26583b2..2110296 100644
+--- a/src/php7/php_solr.c
++++ b/src/php7/php_solr.c
+@@ -98,6 +98,17 @@ static void php_solr_globals_ctor(zend_solr_globals *solr_globals_arg)
+ /******************************************************************************/
+
+ /* {{{ arg_info vectors for functions and methods */
++#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_TENTATIVE_RETURN_TYPE_INFO_EX
++#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
++ ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
++#endif
+
+ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrObject__get_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_MIXED, 0)
+ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name)
+From 359a8aebd9382f99f07fcc6d36cc063bee01727d Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 17 Mar 2022 11:48:14 +0100
+Subject: [PATCH] relax test
+
+---
+ tests/bug_61836_error.phpt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/bug_61836_error.phpt b/tests/bug_61836_error.phpt
+index 9dfd94d..2ffff33 100644
+--- a/tests/bug_61836_error.phpt
++++ b/tests/bug_61836_error.phpt
+@@ -18,4 +18,4 @@ $doc = new Model_SolrDocument();
+ //$doc->addField('testname', true);
+ ?>
+ --EXPECTF--
+-Fatal error: Class Model_SolrDocument may not inherit from final class (SolrDocument) in %s on line %d
+\ No newline at end of file
++Fatal error: Class Model_SolrDocument %s final class %s
+--
+2.35.1
+