[104762] trunk/dports/php/php-rar
ryandesign at macports.org
ryandesign at macports.org
Tue Apr 2 03:39:35 PDT 2013
Revision: 104762
https://trac.macports.org/changeset/104762
Author: ryandesign at macports.org
Date: 2013-04-02 03:39:35 -0700 (Tue, 02 Apr 2013)
Log Message:
-----------
php55-rar: fix build which broke some time between php 5.5.0alpha3 and 5.5.0beta1 inclusive
Modified Paths:
--------------
trunk/dports/php/php-rar/Portfile
Added Paths:
-----------
trunk/dports/php/php-rar/files/patch-php55.diff
Modified: trunk/dports/php/php-rar/Portfile
===================================================================
--- trunk/dports/php/php-rar/Portfile 2013-04-02 10:35:58 UTC (rev 104761)
+++ trunk/dports/php/php-rar/Portfile 2013-04-02 10:39:35 UTC (rev 104762)
@@ -25,6 +25,11 @@
patchfiles patch-config.m4.diff
+if {${php.branch} == 5.5} {
+ incr revision
+ patchfiles-append patch-php55.diff
+}
+
configure.args-append --enable-rar
use_parallel_build yes
Added: trunk/dports/php/php-rar/files/patch-php55.diff
===================================================================
--- trunk/dports/php/php-rar/files/patch-php55.diff (rev 0)
+++ trunk/dports/php/php-rar/files/patch-php55.diff 2013-04-02 10:39:35 UTC (rev 104762)
@@ -0,0 +1,376 @@
+https://bugs.php.net/bug.php?id=64562
+--- rar_stream.c.orig 2012-07-29 08:41:03.000000000 -0500
++++ rar_stream.c 2013-04-02 04:57:11.000000000 -0500
+@@ -755,7 +755,7 @@
+ if ((*archive = expand_filepath(tmp_archive, NULL TSRMLS_CC))
+ == NULL) {
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC,
+- "Could not expand the path %s", tmp_archive);
++ "Could not expand the path %s", *tmp_archive);
+ goto cleanup;
+ }
+ }
+@@ -1063,6 +1063,8 @@
+ /* copied from main/streams/streams.c because it's an internal function */
+ static void _rar_stream_tidy_wrapper_error_log(php_stream_wrapper *wrapper TSRMLS_DC)
+ {
++/* these members are missing in 5.5+. removed or to be added later? */
++#if PHP_VERSION_ID < 50500
+ if (wrapper) {
+ /* tidy up the error stack */
+ int i;
+@@ -1076,6 +1078,7 @@
+ wrapper->err_stack = NULL;
+ wrapper->err_count = 0;
+ }
++#endif
+ }
+ #else
+ static void _rar_stream_tidy_wrapper_error_log(php_stream_wrapper *wrapper TSRMLS_DC)
+--- rarentry.c (revision 329976)
++++ rarentry.c (working copy)
+@@ -49,7 +49,7 @@
+ static int _rar_decl_priv_prop_null(zend_class_entry *ce, const char *name,
+ int name_length, char *doc_comment,
+ int doc_comment_len TSRMLS_DC);
+-static zval **_rar_entry_get_property(zval *entry_obj, char *name, int namelen TSRMLS_DC);
++static zval *_rar_entry_get_property(zval *entry_obj, char *name, int namelen TSRMLS_DC);
+ static void _rar_dos_date_to_text(int dos_time, char *date_string);
+ static zend_object_value rarentry_ce_create_object(zend_class_entry *class_type TSRMLS_DC);
+ /* }}} */
+@@ -160,28 +160,14 @@
+ }
+ /* }}} */
+
+-static zval **_rar_entry_get_property(zval *entry_obj, char *name, int namelen TSRMLS_DC) /* {{{ */
++static zval *_rar_entry_get_property(zval *entry_obj, char *name, int namelen TSRMLS_DC) /* {{{ */
+ {
+- zval **tmp;
+- zval member;
++ zval *tmp;
+ zend_class_entry *orig_scope = EG(scope);
+
+ EG(scope) = rar_class_entry_ptr;
+
+- INIT_ZVAL(member);
+- Z_TYPE(member) = IS_STRING;
+- Z_STRVAL(member) = name;
+- Z_STRLEN(member) = namelen;
+-
+- /* probably should be replaced by zend_read_property */
+-
+-#if PHP_VERSION_ID < 50399
+- tmp = Z_OBJ_HANDLER_P(entry_obj, get_property_ptr_ptr)(entry_obj, &member
+- TSRMLS_CC);
+-#else
+- tmp = Z_OBJ_HANDLER_P(entry_obj, get_property_ptr_ptr)(entry_obj, &member,
+- NULL TSRMLS_CC);
+-#endif
++ tmp = zend_read_property(Z_OBJCE_P(entry_obj), entry_obj, name, namelen, 1 TSRMLS_CC);
+ if (tmp == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING,
+ "Bug: unable to find property '%s'. Please report.", name);
+@@ -248,8 +234,8 @@
+ int with_second_arg;
+ zend_bool process_ed = 0;
+
+- zval **tmp,
+- **tmp_position;
++ zval *tmp,
++ *tmp_position;
+ rar_file_t *rar = NULL;
+ zval *entry_obj = getThis();
+ struct RARHeaderDataEx entry;
+@@ -267,7 +253,7 @@
+ }
+
+ RAR_GET_PROPERTY(tmp, "rarfile");
+- if (_rar_get_file_resource(*tmp, &rar TSRMLS_CC) == FAILURE) {
++ if (_rar_get_file_resource(tmp, &rar TSRMLS_CC) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -304,7 +290,7 @@
+ memcpy(&cb_udata, &rar->cb_userdata, sizeof cb_udata);
+
+ result = _rar_find_file_p(rar->extract_open_data,
+- (size_t) Z_LVAL_PP(tmp_position), &cb_udata, &extract_handle, &found,
++ (size_t) Z_LVAL_P(tmp_position), &cb_udata, &extract_handle, &found,
+ &entry);
+
+ if (_rar_handle_error(result TSRMLS_CC) == FAILURE) {
+@@ -314,7 +300,7 @@
+
+ if (!found) {
+ _rar_handle_ext_error("Can't find file with index %d in archive %s"
+- TSRMLS_CC, Z_LVAL_PP(tmp_position),
++ TSRMLS_CC, Z_LVAL_P(tmp_position),
+ rar->extract_open_data->ArcName);
+ RETVAL_FALSE;
+ goto cleanup;
+@@ -352,14 +338,14 @@
+ Return position for the entry */
+ PHP_METHOD(rarentry, getPosition)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "position");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -367,14 +353,14 @@
+ Return entry name */
+ PHP_METHOD(rarentry, getName)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "name");
+
+- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
++ RETURN_STRINGL(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 1);
+ }
+ /* }}} */
+
+@@ -382,14 +368,14 @@
+ Return unpacked size of the entry */
+ PHP_METHOD(rarentry, getUnpackedSize)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "unpacked_size");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -397,14 +383,14 @@
+ Return packed size of the entry */
+ PHP_METHOD(rarentry, getPackedSize)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "packed_size");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -412,14 +398,14 @@
+ Return host OS of the entry */
+ PHP_METHOD(rarentry, getHostOs)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "host_os");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -427,14 +413,14 @@
+ Return modification time of the entry */
+ PHP_METHOD(rarentry, getFileTime)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "file_time");
+
+- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
++ RETURN_STRINGL(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 1);
+ }
+ /* }}} */
+
+@@ -442,14 +428,14 @@
+ Return CRC of the entry */
+ PHP_METHOD(rarentry, getCrc)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "crc");
+
+- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
++ RETURN_STRINGL(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 1);
+ }
+ /* }}} */
+
+@@ -457,14 +443,14 @@
+ Return attributes of the entry */
+ PHP_METHOD(rarentry, getAttr)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "attr");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -472,14 +458,14 @@
+ Return version of the archiver, used to create this entry */
+ PHP_METHOD(rarentry, getVersion)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "version");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -487,14 +473,14 @@
+ Return packing method */
+ PHP_METHOD(rarentry, getMethod)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "method");
+
+- RETURN_LONG(Z_LVAL_PP(tmp));
++ RETURN_LONG(Z_LVAL_P(tmp));
+ }
+ /* }}} */
+
+@@ -502,8 +488,8 @@
+ Return stream for current entry */
+ PHP_METHOD(rarentry, getStream)
+ {
+- zval **tmp,
+- **position;
++ zval *tmp,
++ *position;
+ rar_file_t *rar = NULL;
+ zval *entry_obj = getThis();
+ php_stream *stream = NULL;
+@@ -519,7 +505,7 @@
+
+ RAR_GET_PROPERTY(position, "position");
+ RAR_GET_PROPERTY(tmp, "rarfile");
+- if (_rar_get_file_resource(*tmp, &rar TSRMLS_CC) == FAILURE) {
++ if (_rar_get_file_resource(tmp, &rar TSRMLS_CC) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+@@ -530,7 +516,7 @@
+
+ /* doesn't matter that cb_udata is stack allocated, it will be copied */
+ stream = php_stream_rar_open(rar->extract_open_data->ArcName,
+- Z_LVAL_PP(position), &cb_udata, "r" STREAMS_CC TSRMLS_CC);
++ Z_LVAL_P(position), &cb_udata, "r" STREAMS_CC TSRMLS_CC);
+
+ if (stream != NULL) {
+ php_stream_to_zval(stream, return_value);
+@@ -544,7 +530,7 @@
+ Return whether the entry represents a directory */
+ PHP_METHOD(rarentry, isDirectory)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+ long flags;
+ int is_dir;
+@@ -552,7 +538,7 @@
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "flags");
+- flags = Z_LVAL_PP(tmp);
++ flags = Z_LVAL_P(tmp);
+ is_dir = ((flags & LHD_WINDOWMASK) == LHD_DIRECTORY);
+
+ RETURN_BOOL(is_dir);
+@@ -563,7 +549,7 @@
+ Return whether the entry is encrypted and needs a password */
+ PHP_METHOD(rarentry, isEncrypted)
+ {
+- zval **tmp;
++ zval *tmp;
+ zval *entry_obj = getThis();
+ long flags;
+ int is_encrypted;
+@@ -571,7 +557,7 @@
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(tmp, "flags");
+- flags = Z_LVAL_PP(tmp);
++ flags = Z_LVAL_P(tmp);
+ is_encrypted = (flags & 0x04);
+
+ RETURN_BOOL(is_encrypted);
+@@ -582,9 +568,9 @@
+ Return string representation for entry */
+ PHP_METHOD(rarentry, __toString)
+ {
+- zval **flags_zval,
+- **name_zval,
+- **crc_zval;
++ zval *flags_zval,
++ *name_zval,
++ *crc_zval;
+ zval *entry_obj = getThis();
+ long flags;
+ int is_dir;
+@@ -597,14 +583,14 @@
+ RAR_RETNULL_ON_ARGS();
+
+ RAR_GET_PROPERTY(flags_zval, "flags");
+- flags = Z_LVAL_PP(flags_zval);
++ flags = Z_LVAL_P(flags_zval);
+ is_dir = ((flags & 0xE0) == 0xE0);
+
+ RAR_GET_PROPERTY(name_zval, "name");
+- name = Z_STRVAL_PP(name_zval);
++ name = Z_STRVAL_P(name_zval);
+
+ RAR_GET_PROPERTY(crc_zval, "crc");
+- crc = Z_STRVAL_PP(crc_zval);
++ crc = Z_STRVAL_P(crc_zval);
+
+ /* 2 is size of %s, 8 is size of crc */
+ restring_len = (sizeof(format)-1) - 2 * 3 + (sizeof("directory")-1) +
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130402/cd68b426/attachment.html>
More information about the macports-changes
mailing list