diff options
| -rw-r--r-- | 15dc0f40438599f20303dbcec77bce010af88270.patch | 65 | ||||
| -rw-r--r-- | 5b075fd0afe0e3df78ba12edb4074ccd5c131984.patch | 143 | ||||
| -rw-r--r-- | PHPINFO | 2 | ||||
| -rw-r--r-- | REFLECTION | 2 | ||||
| -rw-r--r-- | php-pecl-protobuf.spec | 11 | 
5 files changed, 6 insertions, 217 deletions
diff --git a/15dc0f40438599f20303dbcec77bce010af88270.patch b/15dc0f40438599f20303dbcec77bce010af88270.patch deleted file mode 100644 index e200ba4..0000000 --- a/15dc0f40438599f20303dbcec77bce010af88270.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 15dc0f40438599f20303dbcec77bce010af88270 Mon Sep 17 00:00:00 2001 -From: Bo Yang <teboring@google.com> -Date: Sun, 1 Dec 2019 16:43:29 +0000 -Subject: [PATCH] Make c extension portable for php 7.4 - ---- - php/ext/google/protobuf/protobuf.h | 19 +++++++------- - php/ext/google/protobuf/storage.c  |  4 ++- - tests.sh                           | 42 ++++++++++++++++++++++++++++++ - 3 files changed, 54 insertions(+), 11 deletions(-) - -diff --git a/php/ext/google/protobuf/protobuf.h b/php/ext/google/protobuf/protobuf.h -index 059ee55fa1..ee3620def5 100644 ---- a/php/ext/google/protobuf/protobuf.h -+++ b/php/ext/google/protobuf/protobuf.h -@@ -410,15 +410,14 @@ static inline int php_proto_zend_hash_get_current_data_ex(HashTable* ht, -   zend_object std;                \ -   }; -  --#define PHP_PROTO_INIT_SUBMSGCLASS_START(CLASSNAME, CAMELNAME, LOWWERNAME)   \ --  void LOWWERNAME##_init(TSRMLS_D) {                                         \ --    zend_class_entry class_type;                                             \ --    const char* class_name = CLASSNAME;                                      \ --    INIT_CLASS_ENTRY_EX(class_type, CLASSNAME, strlen(CLASSNAME),            \ --                        LOWWERNAME##_methods);                               \ --    LOWWERNAME##_type = zend_register_internal_class_ex(                     \ --        &class_type, message_type TSRMLS_CC);                                \ --    zend_do_inheritance(LOWWERNAME##_type, message_type TSRMLS_CC); -+#define PHP_PROTO_INIT_SUBMSGCLASS_START(CLASSNAME, CAMELNAME, LOWWERNAME) \ -+  void LOWWERNAME##_init(TSRMLS_D) {                                       \ -+    zend_class_entry class_type;                                           \ -+    const char* class_name = CLASSNAME;                                    \ -+    INIT_CLASS_ENTRY_EX(class_type, CLASSNAME, strlen(CLASSNAME),          \ -+                        LOWWERNAME##_methods);                             \ -+    LOWWERNAME##_type = zend_register_internal_class(&class_type);         \ -+    zend_do_inheritance(LOWWERNAME##_type, message_type); - #define PHP_PROTO_INIT_SUBMSGCLASS_END \ -   } -  -@@ -428,7 +427,7 @@ static inline int php_proto_zend_hash_get_current_data_ex(HashTable* ht, -     const char* class_name = CLASSNAME;                                      \ -     INIT_CLASS_ENTRY_EX(class_type, CLASSNAME, strlen(CLASSNAME),            \ -                         LOWWERNAME##_methods);                               \ --    LOWWERNAME##_type = zend_register_internal_class(&class_type TSRMLS_CC); -+    LOWWERNAME##_type = zend_register_internal_class(&class_type); - #define PHP_PROTO_INIT_ENUMCLASS_END \ -   } -  -diff --git a/php/ext/google/protobuf/storage.c b/php/ext/google/protobuf/storage.c -index 235c5df8a8..f96dfd0e09 100644 ---- a/php/ext/google/protobuf/storage.c -+++ b/php/ext/google/protobuf/storage.c -@@ -100,8 +100,10 @@ bool native_slot_set(upb_fieldtype_t type, const zend_class_entry* klass, -       if (EXPECTED(cached_zval != NULL)) { - #if PHP_MAJOR_VERSION < 7 -         REPLACE_ZVAL_VALUE((zval**)memory, value, 1); --#else -+#elif PHP_VERSION_ID < 70400 -         zend_assign_to_variable(cached_zval, value, IS_CV); -+#else -+        zend_assign_to_variable(cached_zval, value, IS_CV, 0); - #endif -       } -       break; - diff --git a/5b075fd0afe0e3df78ba12edb4074ccd5c131984.patch b/5b075fd0afe0e3df78ba12edb4074ccd5c131984.patch deleted file mode 100644 index 04b10d7..0000000 --- a/5b075fd0afe0e3df78ba12edb4074ccd5c131984.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 5b075fd0afe0e3df78ba12edb4074ccd5c131984 Mon Sep 17 00:00:00 2001 -From: Bo Yang <teboring@google.com> -Date: Tue, 3 Dec 2019 02:17:50 +0000 -Subject: [PATCH] Fix comments - ---- - php/ext/google/protobuf/message.c    | 21 ++++++++++++++++++++- - php/ext/google/protobuf/type_check.c | 24 ++++++++++++++++++++++-- - 2 files changed, 42 insertions(+), 3 deletions(-) - -diff --git a/php/ext/google/protobuf/message.c b/php/ext/google/protobuf/message.c -index 9adf3b0179..7f6947c2ca 100644 ---- a/php/ext/google/protobuf/message.c -+++ b/php/ext/google/protobuf/message.c -@@ -75,8 +75,13 @@ static zval** message_get_property_ptr_ptr(zval* object, zval* member, int type, -                                            php_proto_zend_literal key TSRMLS_DC); - static HashTable* message_get_gc(zval* object, zval*** table, int* n TSRMLS_DC); - #else -+#if PHP_VERSION_ID < 70400 - static void message_set_property(zval* object, zval* member, zval* value, -                                  void** cache_slot); -+#else -+static zval* message_set_property(zval* object, zval* member, zval* value, -+                                  void** cache_slot); -+#endif - static zval* message_get_property(zval* object, zval* member, int type, -                                   void** cache_slot, zval* rv); - static zval* message_get_property_ptr_ptr(zval* object, zval* member, int type, -@@ -140,13 +145,20 @@ static void message_set_property_internal(zval* object, zval* member, - #if PHP_MAJOR_VERSION < 7 - static void message_set_property(zval* object, zval* member, zval* value, -                                  php_proto_zend_literal key TSRMLS_DC) { --#else -+#elif PHP_VERSION_ID < 70400 - static void message_set_property(zval* object, zval* member, zval* value, -                                  void** cache_slot) { -+#else -+static zval* message_set_property(zval* object, zval* member, zval* value, -+                                  void** cache_slot) { - #endif -   if (Z_TYPE_P(member) != IS_STRING) { -     zend_error(E_USER_ERROR, "Unexpected type for field name"); -+#if PHP_VERSION_ID < 70400 -     return; -+#else -+    return value; -+#endif -   } -  - #if PHP_MAJOR_VERSION < 7 || (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION == 0) -@@ -156,10 +168,17 @@ static void message_set_property(zval* object, zval* member, zval* value, - #endif -     // User cannot set property directly (e.g., $m->a = 1) -     zend_error(E_USER_ERROR, "Cannot access private property."); -+#if PHP_VERSION_ID < 70400 -     return; -+#else -+    return value; -+#endif -   } -  -   message_set_property_internal(object, member, value TSRMLS_CC); -+#if PHP_VERSION_ID >= 70400 -+  return value; -+#endif - } -  - static zval* message_get_property_internal(zval* object, -diff --git a/php/ext/google/protobuf/type_check.c b/php/ext/google/protobuf/type_check.c -index af35b90318..84d06be7ef 100644 ---- a/php/ext/google/protobuf/type_check.c -+++ b/php/ext/google/protobuf/type_check.c -@@ -407,8 +407,6 @@ bool protobuf_convert_to_bool(zval* from, int8_t* to) { -       *to = (int8_t)(Z_LVAL_P(from) != 0); -       break; -     case IS_STRING: { --      char* strval = Z_STRVAL_P(from); -- -       if (Z_STRLEN_P(from) == 0 || -           (Z_STRLEN_P(from) == 1 && Z_STRVAL_P(from)[0] == '0')) { -         *to = 0; -@@ -496,7 +494,11 @@ PHP_METHOD(Util, checkMessage) { -   if (!instanceof_function(Z_OBJCE_P(val), klass TSRMLS_CC)) { -     zend_throw_exception_ex(NULL, 0 TSRMLS_CC, -                             "Given value is not an instance of %s.", -+#if PHP_MAJOR_VERSION < 7 -                             klass->name); -+#else -+                            ZSTR_VAL(klass->name)); -+#endif -     return; -   } -   RETURN_ZVAL(val, 1, 0); -@@ -541,7 +543,11 @@ void check_repeated_field(const zend_class_entry* klass, PHP_PROTO_LONG type, -     if (!instanceof_function(Z_OBJCE_P(val), repeated_field_type TSRMLS_CC)) { -       zend_throw_exception_ex(NULL, 0 TSRMLS_CC, -                               "Given value is not an instance of %s.", -+#if PHP_MAJOR_VERSION < 7 -                               repeated_field_type->name); -+#else -+                              ZSTR_VAL(repeated_field_type->name)); -+#endif -       return; -     } -     RepeatedField* intern = UNBOX(RepeatedField, val); -@@ -553,7 +559,12 @@ void check_repeated_field(const zend_class_entry* klass, PHP_PROTO_LONG type, -     if (klass != NULL && intern->msg_ce != klass) { -       zend_throw_exception_ex(NULL, 0 TSRMLS_CC, -                               "Expect a repeated field of %s, but %s is given.", -+#if PHP_MAJOR_VERSION < 7 -                               klass->name, intern->msg_ce->name); -+#else -+                              ZSTR_VAL(klass->name), -+                              ZSTR_VAL(intern->msg_ce->name)); -+#endif -       return; -     } -     RETURN_ZVAL(val, 1, 0); -@@ -617,7 +628,11 @@ void check_map_field(const zend_class_entry* klass, PHP_PROTO_LONG key_type, -     if (!instanceof_function(Z_OBJCE_P(val), map_field_type TSRMLS_CC)) { -       zend_throw_exception_ex(NULL, 0 TSRMLS_CC, -                               "Given value is not an instance of %s.", -+#if PHP_MAJOR_VERSION < 7 -                               map_field_type->name); -+#else -+                              ZSTR_VAL(map_field_type->name)); -+#endif -       return; -     } -     Map* intern = UNBOX(Map, val); -@@ -636,7 +651,12 @@ void check_map_field(const zend_class_entry* klass, PHP_PROTO_LONG key_type, -     if (klass != NULL && intern->msg_ce != klass) { -       zend_throw_exception_ex(NULL, 0 TSRMLS_CC, -                               "Expect a map field of %s, but %s is given.", -+#if PHP_MAJOR_VERSION < 7 -                               klass->name, intern->msg_ce->name); -+#else -+                              ZSTR_VAL(klass->name), -+                              ZSTR_VAL(intern->msg_ce->name)); -+#endif -       return; -     } -     RETURN_ZVAL(val, 1, 0); @@ -1,7 +1,7 @@  protobuf -Version => 3.11.1 +Version => 3.11.2  Directive => Local Value => Master Value  protobuf.keep_descriptor_pool_after_request => 0 => 0 @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #129 protobuf version 3.11.1 ] { +Extension [ <persistent> extension #105 protobuf version 3.11.2 ] {    - Dependencies {      Dependency [ date (Optional) ] diff --git a/php-pecl-protobuf.spec b/php-pecl-protobuf.spec index b761033..512cd1a 100644 --- a/php-pecl-protobuf.spec +++ b/php-pecl-protobuf.spec @@ -22,7 +22,7 @@  %else  %global ini_name    40-%{pecl_name}.ini  %endif -%global upstream_version 3.11.1 +%global upstream_version 3.11.2  #global upstream_prever  RC2  Summary:       Mechanism for serializing structured data @@ -33,9 +33,6 @@ License:       BSD  URL:           http://pecl.php.net/package/%{pecl_name}  Source0:       http://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz -Patch0:        https://github.com/TeBoring/protobuf/commit/15dc0f40438599f20303dbcec77bce010af88270.patch -Patch1:        https://github.com/protocolbuffers/protobuf/commit/5b075fd0afe0e3df78ba12edb4074ccd5c131984.patch -  BuildRequires: %{?dtsprefix}gcc  BuildRequires: %{?scl_prefix}php-devel >= 5.5.9  BuildRequires: %{?scl_prefix}php-pear @@ -101,9 +98,6 @@ sed -e 's/role="test"/role="src"/' \  cd NTS -%patch0 -p5 -%patch1 -p5 -  # Sanity check, really often broken  extver=$(sed -n '/#define PHP_PROTOBUF_VERSION/{s/.* "//;s/".*$//;p}' protobuf.h)  if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then @@ -223,6 +217,9 @@ fi  %changelog +* Sat Dec 14 2019 Remi Collet <remi@remirepo.net> - 3.11.2-1 +- update to 3.11.2 +  * Tue Dec  3 2019 Remi Collet <remi@remirepo.net> - 3.11.1-1  - update to 3.11.1  - add patches for PHP 7.4 from  | 
