aboutsummaryrefslogtreecommitdiffstats
path: root/devel/pecl-xhprof
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2012-05-30 11:23:24 +0800
committermiwi <miwi@FreeBSD.org>2012-05-30 11:23:24 +0800
commit28868d2b5720f66078fe9f72c507ac31cbf3c581 (patch)
treed11d7c86a3f609f3ae5100b11a4d7f2bbc5306b0 /devel/pecl-xhprof
parentb66857d9e25d6678774708f3e9b6930b0224eaeb (diff)
downloadfreebsd-ports-gnome-28868d2b5720f66078fe9f72c507ac31cbf3c581.tar.gz
freebsd-ports-gnome-28868d2b5720f66078fe9f72c507ac31cbf3c581.tar.zst
freebsd-ports-gnome-28868d2b5720f66078fe9f72c507ac31cbf3c581.zip
- Add support for PHP 5.4
- While here drop 6.X gruft PR: 168441 Submitted by: Espen Volden <voldern@hoeggen.net> (maintainer)
Diffstat (limited to 'devel/pecl-xhprof')
-rw-r--r--devel/pecl-xhprof/Makefile10
-rw-r--r--devel/pecl-xhprof/files/patch-xhprof.c56
2 files changed, 58 insertions, 8 deletions
diff --git a/devel/pecl-xhprof/Makefile b/devel/pecl-xhprof/Makefile
index 2fe23e6a2c7f..eeafd341221f 100644
--- a/devel/pecl-xhprof/Makefile
+++ b/devel/pecl-xhprof/Makefile
@@ -7,6 +7,7 @@
PORTNAME= xhprof
PORTVERSION= 0.9.2
+PORTREVISION= 1
CATEGORIES= devel pear
MASTER_SITES= http://pecl.php.net/get/
PKGNAMEPREFIX= pecl-
@@ -21,12 +22,5 @@ USE_PHP= yes
USE_PHPIZE= yes
USE_PHPEXT= yes
ONLY_FOR_ARCHS= i386 amd64
-DEFAULT_PHP_VER=53
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} < 700110
-BROKEN= Requires cpuset support
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/devel/pecl-xhprof/files/patch-xhprof.c b/devel/pecl-xhprof/files/patch-xhprof.c
new file mode 100644
index 000000000000..3c3f77b8c224
--- /dev/null
+++ b/devel/pecl-xhprof/files/patch-xhprof.c
@@ -0,0 +1,56 @@
+--- xhprof.c
++++ xhprof.c
+@@ -28,6 +28,7 @@
+ #include "php_ini.h"
+ #include "ext/standard/info.h"
+ #include "php_xhprof.h"
++#include "Zend/zend_extensions.h"
+ #include <sys/time.h>
+ #include <sys/resource.h>
+ #include <stdlib.h>
+@@ -898,7 +899,7 @@ static char *hp_get_base_filename(char *filename) {
+ static char *hp_get_function_name(zend_op_array *ops TSRMLS_DC) {
+ zend_execute_data *data;
+ char *func = NULL;
+- char *cls = NULL;
++ const char *cls = NULL;
+ char *ret = NULL;
+ int len;
+ zend_function *curr_func;
+@@ -942,7 +943,12 @@ static char *hp_get_function_name(zend_op_array *ops TSRMLS_DC) {
+ /* we are dealing with a special directive/function like
+ * include, eval, etc.
+ */
++#if ZEND_EXTENSION_API_NO >= 220100525
++ curr_op = data->opline->extended_value;
++#else
+ curr_op = data->opline->op2.u.constant.value.lval;
++#endif
++
+ switch (curr_op) {
+ case ZEND_EVAL:
+ func = "eval";
+@@ -1660,13 +1666,22 @@ ZEND_DLEXPORT void hp_execute_internal(zend_execute_data *execute_data,
+ if (!_zend_execute_internal) {
+ /* no old override to begin with. so invoke the builtin's implementation */
+ zend_op *opline = EX(opline);
++#if ZEND_EXTENSION_API_NO >= 220100525
++ temp_variable *retvar = &EX_T(opline->result.var);
++ ((zend_internal_function *) EX(function_state).function)->handler(
++ opline->extended_value,
++ retvar->var.ptr,
++ (EX(function_state).function->common.fn_flags & ZEND_ACC_RETURN_REFERENCE) ?
++ &retvar->var.ptr:NULL,
++ EX(object), ret TSRMLS_CC);
++#else
+ ((zend_internal_function *) EX(function_state).function)->handler(
+ opline->extended_value,
+ EX_T(opline->result.u.var).var.ptr,
+ EX(function_state).function->common.return_reference ?
+ &EX_T(opline->result.u.var).var.ptr:NULL,
+ EX(object), ret TSRMLS_CC);
+-
++#endif
+ } else {
+ /* call the old override */
+ _zend_execute_internal(execute_data, ret TSRMLS_CC);