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

Package-Manager: Portage-2.3.3, Repoman-2.3.1
This commit is contained in:
Brian Evans
2016-12-18 18:16:21 -05:00
parent db84e270c4
commit c3b9710495
3 changed files with 685 additions and 0 deletions

View File

@@ -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:

View File

@@ -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
};

View File

@@ -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
}