commit:     c3b97104952cc1fc80554f2ff1e0fb9155eebbb7
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 18 23:16:21 2016 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Sun Dec 18 23:16:21 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3b97104

dev-libs/ossp-uuid: Revbump to fix PHP support and bump to EAPI6

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../ossp-uuid/files/ossp-uuid-1.6.2-php70.patch    | 337 +++++++++++++++++++++
 dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch    | 226 ++++++++++++++
 dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild       | 122 ++++++++
 3 files changed, 685 insertions(+)

diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch 
b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch
new file mode 100644
index 00000000..0124003
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-php70.patch
@@ -0,0 +1,337 @@
+--- uuid/php/uuid.c    2016-12-18 01:23:26.000000000 -0500
++++ uuid/php/uuid.c    2016-12-18 01:23:43.564329483 -0500
+@@ -41,7 +41,13 @@
+ } ctx_t;
+ 
+ /* context implicit destruction */
++#if PHP_VERSION_ID >= 70000
++static void ctx_destructor(zend_resource *rsrc)
++#else
++typedef long zend_long;
++
+ static void ctx_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
++#endif
+ {
+     ctx_t *ctx = (ctx_t *)rsrc->ptr;
+ 
+@@ -120,16 +126,23 @@
+     zval *z_ctx;
+     ctx_t *ctx;
+     uuid_rc_t rc;
++#if PHP_VERSION_ID >= 70000
++    char *param_types = "z/";
++#else
++    char *param_types = "z";
++#endif
+
+     /* parse parameters */
+-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &z_ctx) == 
FAILURE)
++    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx) 
== FAILURE)
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID < 70000
+     if (!PZVAL_IS_REF(z_ctx)) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_create: parameter 
wasn't passed by reference");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#endif
+ 
+     /* perform operation */
+     if ((ctx = (ctx_t *)malloc(sizeof(ctx_t))) == NULL)
+@@ -138,7 +151,12 @@
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_create: %s", 
uuid_error(rc));
+         RETURN_LONG((long)rc);
+     }
++#if PHP_VERSION_ID >= 70000
++    zval_dtor(z_ctx);
++    ZVAL_RES(z_ctx, zend_register_resource(ctx, ctx_id));
++#else
+     ZEND_REGISTER_RESOURCE(z_ctx, ctx, ctx_id);
++#endif
+ 
+     RETURN_LONG((long)rc);
+ }
+@@ -158,7 +177,11 @@
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_destroy: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+@@ -185,21 +208,32 @@
+     zval *z_clone;
+     ctx_t *clone;
+     uuid_rc_t rc;
++#if PHP_VERSION_ID >= 70000
++    char *param_types = "rz/";
++#else
++    char *param_types = "rz";
++#endif
+ 
+     /* parse parameters */
+-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz", &z_ctx, 
&z_clone) == FAILURE)
++    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, 
&z_clone) == FAILURE)
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_clone: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#if PHP_VERSION_ID < 70000
+     if (!PZVAL_IS_REF(z_clone)) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_clone: clone 
parameter wasn't passed by reference");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#endif
+ 
+     /* perform operation */
+     if ((clone = (ctx_t *)malloc(sizeof(ctx_t))) == NULL)
+@@ -208,7 +243,12 @@
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_clone: %s", 
uuid_error(rc));
+         RETURN_LONG((long)rc);
+     }
++#if PHP_VERSION_ID >= 70000
++    zval_dtor(z_clone);
++    ZVAL_RES(z_clone, zend_register_resource(clone, ctx_id));
++#else
+     ZEND_REGISTER_RESOURCE(z_clone, clone, ctx_id);
++#endif
+ 
+     RETURN_LONG((long)rc);
+ }
+@@ -230,7 +271,11 @@
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_load: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+@@ -254,7 +299,7 @@
+     zval *z_ctx;
+     ctx_t *ctx;
+     uuid_rc_t rc;
+-    long z_mode;
++    zend_long z_mode;
+     unsigned long mode;
+     zval *z_ctx_ns;
+     ctx_t *ctx_ns;
+@@ -266,7 +311,11 @@
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_make: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+@@ -281,7 +330,11 @@
+         }
+     }
+     else if (ZEND_NUM_ARGS() == 4 && ((mode & UUID_MAKE_V3) || (mode & 
UUID_MAKE_V5))) {
++#if PHP_VERSION_ID >= 70000
++        ctx_ns = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx_ns), ctx_name, 
ctx_id);
++#else
+         ZEND_FETCH_RESOURCE(ctx_ns, ctx_t *, &z_ctx_ns, -1, ctx_name, ctx_id);
++#endif
+         if (ctx_ns == NULL) {
+             php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_make: invalid 
namespace context");
+             RETURN_LONG((long)UUID_RC_ARG);
+@@ -314,21 +367,33 @@
+     uuid_rc_t rc;
+     zval *z_result;
+     int result;
++#if PHP_VERSION_ID >= 70000
++    char *param_types = "rz/";
++#else
++    char *param_types = "rz";
++#endif
+ 
+     /* parse parameters */
+-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz", &z_ctx, 
&z_result) == FAILURE)
++    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, 
&z_result) == FAILURE)
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    zval_dtor(z_result);
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_isnil: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#if PHP_VERSION_ID < 70000
+     if (!PZVAL_IS_REF(z_result)) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_isnil: result 
parameter wasn't passed by reference");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#endif
+ 
+     /* perform operation */
+     if ((rc = uuid_isnil(ctx->uuid, &result)) != UUID_RC_OK) {
+@@ -353,26 +418,42 @@
+     uuid_rc_t rc;
+     zval *z_result;
+     int result;
++#if PHP_VERSION_ID >= 70000
++    char *param_types = "rrz/";
++#else
++    char *param_types = "rrz";
++#endif
+ 
+     /* parse parameters */
+-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rrz", &z_ctx, 
&z_ctx2, &z_result) == FAILURE)
++    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, 
&z_ctx2, &z_result) == FAILURE)
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    zval_dtor(z_result);
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+-        php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid 
context");
++        php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid 
context from first parameter");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#if PHP_VERSION_ID >= 70000
++    ctx2 = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx2), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx2, ctx_t *, &z_ctx2, -1, ctx_name, ctx_id);
++#endif
+-    if (ctx2 == NULL || ctx2->uuid) {
+-        php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid 
context");
++    if (ctx2 == NULL || ctx2->uuid == NULL) {
++        php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: invalid 
context from second parameter");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#if PHP_VERSION_ID < 70000
+     if (!PZVAL_IS_REF(z_result)) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_compare: result 
parameter wasn't passed by reference");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#endif
+ 
+     /* perform operation */
+     if ((rc = uuid_compare(ctx->uuid, ctx2->uuid, &result)) != UUID_RC_OK) {
+@@ -392,7 +473,7 @@
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+-    long z_fmt;
++    zend_long z_fmt;
+     unsigned long fmt;
+     zval *z_data;
+     uuid_rc_t rc;
+@@ -404,7 +485,11 @@
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_import: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+@@ -428,28 +513,40 @@
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+-    long z_fmt;
++    zend_long z_fmt;
+     unsigned long fmt;
+     zval *z_data;
+     uuid_rc_t rc;
+     void *data_ptr;
+     size_t data_len;
++#if PHP_VERSION_ID >= 70000
++    char *param_types = "rlz/";
++#else
++    char *param_types = "rlz";
++#endif
+ 
+     /* parse parameters */
+-    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlz", &z_ctx, 
&z_fmt, &z_data) == FAILURE)
++    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, param_types, &z_ctx, 
&z_fmt, &z_data) == FAILURE)
+         RETURN_LONG((long)UUID_RC_ARG);
+ 
+     /* post-process and sanity check parameters */
++#if PHP_VERSION_ID >= 70000
++    zval_dtor(z_data);
++    ctx = (ctx_t *)zend_fetch_resource(Z_RES_P(z_ctx), ctx_name, ctx_id);
++#else
+     ZEND_FETCH_RESOURCE(ctx, ctx_t *, &z_ctx, -1, ctx_name, ctx_id);
++#endif
+     if (ctx == NULL || ctx->uuid == NULL) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_export: invalid 
context");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
+     fmt = (unsigned long)z_fmt;
++#if PHP_VERSION_ID < 70000
+     if (!PZVAL_IS_REF(z_data)) {
+         php_error_docref(NULL TSRMLS_CC, E_WARNING, "uuid_export: data 
parameter wasn't passed by reference");
+         RETURN_LONG((long)UUID_RC_ARG);
+     }
++#endif
+ 
+     /* perform operation */
+     data_ptr = NULL;
+@@ -462,7 +559,11 @@
+         data_len = strlen((char *)data_ptr);
+     else if (fmt == UUID_FMT_STR || fmt == UUID_FMT_TXT)
+         data_len--; /* PHP doesn't wish NUL-termination on strings */
++#if PHP_VERSION_ID >= 70000
++    ZVAL_STRINGL(z_data, data_ptr, data_len);
++#else
+     ZVAL_STRINGL(z_data, data_ptr, data_len, 1);
++#endif
+     free(data_ptr);
+ 
+     RETURN_LONG((long)rc);
+@@ -474,7 +575,7 @@
+    return error string corresponding to error return code */
+ ZEND_FUNCTION(uuid_error)
+ {
+-    int z_rc;
++    zend_long z_rc;
+     uuid_rc_t rc;
+     char *error;
+ 
+@@ -483,7 +584,11 @@
+     rc = (uuid_rc_t)z_rc;
+     if ((error = uuid_error(rc)) == NULL)
+         RETURN_NULL();
++#if PHP_VERSION_ID >= 70000
++    RETURN_STRING(error);
++#else
+     RETURN_STRING(error, 1);
++#endif
+ }
+ 
+ /* API FUNCTION:

diff --git a/dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch 
b/dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch
new file mode 100644
index 00000000..c00f560
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/uuid-1.6.2-php54.patch
@@ -0,0 +1,226 @@
+diff -up uuid-1.6.2/php/uuid.c.php54 uuid-1.6.2/php/uuid.c
+--- uuid-1.6.2/php/uuid.c      2007-01-01 19:35:57.000000000 +0100
++++ uuid-1.6.2/php/uuid.c      2012-11-06 16:05:03.354913764 +0100
+@@ -60,7 +60,7 @@ static int ctx_id;               /* inte
+ #define ctx_name "UUID context"  /* external name   */
+ 
+ /* module initialization */
+-PHP_MINIT_FUNCTION(uuid)
++ZEND_MINIT_FUNCTION(uuid)
+ {
+     /* register resource identifier */
+     ctx_id = zend_register_list_destructors_ex(
+@@ -91,13 +91,13 @@ PHP_MINIT_FUNCTION(uuid)
+ }
+ 
+ /* module shutdown */
+-PHP_MSHUTDOWN_FUNCTION(uuid)
++ZEND_MSHUTDOWN_FUNCTION(uuid)
+ {
+     return SUCCESS;
+ }
+ 
+ /* module information */
+-PHP_MINFO_FUNCTION(uuid)
++ZEND_MINFO_FUNCTION(uuid)
+ {
+     char version[32];
+ 
+@@ -115,7 +115,7 @@ PHP_MINFO_FUNCTION(uuid)
+    proto rc uuid_create(ctx)
+    $rc = uuid_create(&$uuid);
+    create UUID context */
+-PHP_FUNCTION(uuid_create)
++ZEND_FUNCTION(uuid_create)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -147,7 +147,7 @@ PHP_FUNCTION(uuid_create)
+    proto rc uuid_destroy(ctx)
+    $rc = uuid_destroy($uuid);
+    destroy UUID context */
+-PHP_FUNCTION(uuid_destroy)
++ZEND_FUNCTION(uuid_destroy)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -178,7 +178,7 @@ PHP_FUNCTION(uuid_destroy)
+    proto rc uuid_clone(ctx, &ctx2)
+    $rc = uuid_clone($uuid, &$uuid);
+    clone UUID context */
+-PHP_FUNCTION(uuid_clone)
++ZEND_FUNCTION(uuid_clone)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -217,7 +217,7 @@ PHP_FUNCTION(uuid_clone)
+    proto rc uuid_load(ctx, name)
+    $rc = uuid_name($uuid, $name);
+    load an existing UUID */
+-PHP_FUNCTION(uuid_load)
++ZEND_FUNCTION(uuid_load)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -249,7 +249,7 @@ PHP_FUNCTION(uuid_load)
+    proto rc uuid_make(ctx, mode[, ..., ...])
+    $rc = uuid_make($uuid, $mode[, ..., ...]);
+    make a new UUID */
+-PHP_FUNCTION(uuid_make)
++ZEND_FUNCTION(uuid_make)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -307,7 +307,7 @@ PHP_FUNCTION(uuid_make)
+    proto rc uuid_isnil(ctx, result)
+    $rc = uuid_isnil($uuid, &$result);
+    compare UUID for being Nil UUID */
+-PHP_FUNCTION(uuid_isnil)
++ZEND_FUNCTION(uuid_isnil)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -344,7 +344,7 @@ PHP_FUNCTION(uuid_isnil)
+    proto rc uuid_compare(ctx, ctx2, result)
+    $rc = uuid_compare($uuid, $uuid2, &$result);
+    compare two UUIDs */
+-PHP_FUNCTION(uuid_compare)
++ZEND_FUNCTION(uuid_compare)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -388,7 +388,7 @@ PHP_FUNCTION(uuid_compare)
+    proto rc uuid_import(ctx, fmt, data)
+    $rc = uuid_import($ctx, $fmt, $data);
+    import UUID from variable */
+-PHP_FUNCTION(uuid_import)
++ZEND_FUNCTION(uuid_import)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -424,7 +424,7 @@ PHP_FUNCTION(uuid_import)
+    proto rc uuid_export(ctx, fmt, data)
+    $rc = uuid_error($ctx, $fmt, &$data);
+    export UUID into variable */
+-PHP_FUNCTION(uuid_export)
++ZEND_FUNCTION(uuid_export)
+ {
+     zval *z_ctx;
+     ctx_t *ctx;
+@@ -472,7 +472,7 @@ PHP_FUNCTION(uuid_export)
+    proto rc uuid_error(ctx)
+    $error = uuid_error($rc);
+    return error string corresponding to error return code */
+-PHP_FUNCTION(uuid_error)
++ZEND_FUNCTION(uuid_error)
+ {
+     int z_rc;
+     uuid_rc_t rc;
+@@ -490,24 +490,79 @@ PHP_FUNCTION(uuid_error)
+    proto int uuid_version()
+    $version = uuid_version();
+    return library version number */
+-PHP_FUNCTION(uuid_version)
++ZEND_FUNCTION(uuid_version)
+ {
+     RETURN_LONG((long)uuid_version());
+ }
+ 
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_create, 0)
++    ZEND_ARG_INFO(1, ctx)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_destroy, 0)
++    ZEND_ARG_INFO(0, ctx)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_clone, 0)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(1, ctx2)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_load, 0)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(0, name)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO_EX(arginfo_uuid_make, 0, 0, 2)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(0, mode)
++    ZEND_ARG_INFO(0, ctxns)
++    ZEND_ARG_INFO(0, url)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_isnil, 0)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(1, result)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_compare, 0)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(0, ctx2)
++    ZEND_ARG_INFO(1, result)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_import, 0)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(0, fmt)
++    ZEND_ARG_INFO(0, data)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_export, 0)
++    ZEND_ARG_INFO(0, ctx)
++    ZEND_ARG_INFO(0, fmt)
++    ZEND_ARG_INFO(1, data)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_error, 0)
++    ZEND_ARG_INFO(0, ctx)
++ZEND_END_ARG_INFO()
++
++ZEND_BEGIN_ARG_INFO(arginfo_uuid_version, 0)
++ZEND_END_ARG_INFO()
++
+ /* module function table */
+-static function_entry uuid_functions[] = {
+-    PHP_FE(uuid_create,  NULL)
+-    PHP_FE(uuid_destroy, NULL)
+-    PHP_FE(uuid_clone,   NULL)
+-    PHP_FE(uuid_load,    NULL)
+-    PHP_FE(uuid_make,    NULL)
+-    PHP_FE(uuid_isnil,   NULL)
+-    PHP_FE(uuid_compare, NULL)
+-    PHP_FE(uuid_import,  NULL)
+-    PHP_FE(uuid_export,  NULL)
+-    PHP_FE(uuid_error,   NULL)
+-    PHP_FE(uuid_version, NULL)
++static zend_function_entry uuid_functions[] = {
++    ZEND_FE(uuid_create,  arginfo_uuid_create)
++    ZEND_FE(uuid_destroy, NULL)
++    ZEND_FE(uuid_clone,   arginfo_uuid_clone)
++    ZEND_FE(uuid_load,    NULL)
++    ZEND_FE(uuid_make,    NULL)
++    ZEND_FE(uuid_isnil,   arginfo_uuid_isnil)
++    ZEND_FE(uuid_compare, arginfo_uuid_compare)
++    ZEND_FE(uuid_import,  NULL)
++    ZEND_FE(uuid_export,  arginfo_uuid_export)
++    ZEND_FE(uuid_error,   NULL)
++    ZEND_FE(uuid_version, NULL)
+     { NULL, NULL, NULL }
+ };
+ 
+@@ -516,11 +571,11 @@ zend_module_entry uuid_module_entry = {
+     STANDARD_MODULE_HEADER,
+     "uuid",
+     uuid_functions,
+-    PHP_MINIT(uuid),
+-    PHP_MSHUTDOWN(uuid),
++    ZEND_MINIT(uuid),
++    ZEND_MSHUTDOWN(uuid),
+     NULL,
+     NULL,
+-    PHP_MINFO(uuid),
++    ZEND_MINFO(uuid),
+     NO_VERSION_YET,
+     STANDARD_MODULE_PROPERTIES
+ };

diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild 
b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild
new file mode 100644
index 00000000..3435a78
--- /dev/null
+++ b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+
+MY_P="uuid-${PV}"
+
+PHP_EXT_NAME="uuid"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+PHP_EXT_S="${WORKDIR}/${MY_P}/php"
+PHP_EXT_OPTIONAL_USE="php"
+USE_PHP="php5-6 php7-0 php7-1"
+
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit perl-module php-ext-source-r3
+
+DESCRIPTION="An ISO-C:1999 API and corresponding CLI for the generation of DCE 
1.1, ISO/IEC 11578:1996 and RFC 4122 compliant UUID"
+HOMEPAGE="http://www.ossp.org/pkg/lib/uuid/";
+SRC_URI="ftp://ftp.ossp.org/pkg/lib/uuid/${MY_P}.tar.gz";
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc 
~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux 
~x86-linux ~x86-macos"
+IUSE="+cxx perl php static-libs"
+
+DEPEND="perl? ( dev-lang/perl:= )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+
+       eapply \
+               "${FILESDIR}/${P}-gentoo-r1.patch" \
+               "${FILESDIR}/${P}-gentoo-perl.patch" \
+               "${FILESDIR}/${P}-hwaddr.patch" \
+               "${FILESDIR}/${P}-manfix.patch" \
+               
"${FILESDIR}/${P}-uuid-preserve-m-option-status-in-v-option-handling.patch" \
+               "${FILESDIR}/${P}-fix-whatis-entries.patch" \
+               "${FILESDIR}/${P}-fix-data-uuid-from-string.patch"
+
+       if use php; then
+               local slot
+               for slot in $(php_get_slots); do
+                       php_init_slot_env ${slot}
+                       eapply -p2 \
+                               "${FILESDIR}/${P}-gentoo-php.patch" \
+                               "${FILESDIR}/uuid-${PV}-php54.patch" \
+                               "${FILESDIR}/${P}-php70.patch"
+               done
+
+               php-ext-source-r3_src_prepare
+       fi
+       #Remove call by reference which is error
+       sed -i -e 's/\&\$/\$/' -e '/?>/d' "${S}/php/uuid.php5" || die
+}
+
+src_configure() {
+       # Notes:
+       # * collides with e2fstools libs and includes if not moved around
+       # * pgsql-bindings need PostgreSQL-sources and are included since 
PostgreSQL 8.3
+       econf \
+               --includedir="${EPREFIX}"/usr/include/ossp \
+               --with-dce \
+               --without-pgsql \
+               --without-perl \
+               --without-php \
+               $(use_with cxx) \
+               $(use_enable static-libs static)
+
+       if use php; then
+               php-ext-source-r3_src_configure
+       fi
+}
+
+src_compile() {
+       default
+
+       if use perl; then
+               cd perl
+               # configure needs the ossp-uuid.la generated by `make` in $S
+               perl-module_src_configure
+               perl-module_src_compile
+       fi
+
+       if use php; then
+               php-ext-source-r3_src_compile
+       fi
+}
+
+src_install() {
+       local DOCS=( AUTHORS BINDINGS ChangeLog HISTORY NEWS OVERVIEW PORTING 
README SEEALSO THANKS TODO USERS )
+       default
+       unset DOCS #unset so that other eclasses don't try to install them and 
possibly fail
+       if use perl ; then
+               cd perl
+               perl-module_src_install
+       fi
+
+       if use php ; then
+               php-ext-source-r3_src_install
+               insinto /usr/share/php
+               cd "${S}/php" || die
+               newins uuid.php5 uuid.php
+       fi
+
+       use static-libs || rm -rf "${ED}"/usr/lib*/*.la
+
+       mv "${ED}/usr/$(get_libdir)/pkgconfig"/{,ossp-}uuid.pc
+       mv "${ED}/usr/share/man/man3"/uuid.3{,ossp}
+       mv "${ED}/usr/share/man/man3"/uuid++.3{,ossp}
+}
+
+src_test() {
+       export LD_LIBRARY_PATH="${S}/.libs" # required for the perl-bindings to 
load the (correct) library
+       default
+
+       use perl && emake -C perl test
+}

Reply via email to