summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiziano Müller <dev-zero@gentoo.org>2014-06-25 06:48:01 +0000
committerTiziano Müller <dev-zero@gentoo.org>2014-06-25 06:48:01 +0000
commitef7d729ad99316d7a261e70240fa44ead042ce6d (patch)
treec4c431cb4f5d650fd8a16530afe7ff057d771191 /dev-libs/ossp-uuid
parentLower lua dependency not to require the masked version. (diff)
downloadgentoo-2-ef7d729ad99316d7a261e70240fa44ead042ce6d.tar.gz
gentoo-2-ef7d729ad99316d7a261e70240fa44ead042ce6d.tar.bz2
gentoo-2-ef7d729ad99316d7a261e70240fa44ead042ce6d.zip
Also build for php-5.5 (bug #491852), add various bug-fixes from Fedora and Ubuntu/Debian, fix Perl-bindings installation.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0x1A5D023975B0583D!)
Diffstat (limited to 'dev-libs/ossp-uuid')
-rw-r--r--dev-libs/ossp-uuid/ChangeLog15
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch36
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch51
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo.patch113
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch116
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch13
-rw-r--r--dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch55
-rw-r--r--dev-libs/ossp-uuid/ossp-uuid-1.6.2-r3.ebuild119
8 files changed, 403 insertions, 115 deletions
diff --git a/dev-libs/ossp-uuid/ChangeLog b/dev-libs/ossp-uuid/ChangeLog
index f5fbb68bc0d9..f1ef3edc5029 100644
--- a/dev-libs/ossp-uuid/ChangeLog
+++ b/dev-libs/ossp-uuid/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for dev-libs/ossp-uuid
-# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/ossp-uuid/ChangeLog,v 1.44 2013/03/11 08:09:11 olemarkus Exp $
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/ossp-uuid/ChangeLog,v 1.45 2014/06/25 06:48:01 dev-zero Exp $
+
+*ossp-uuid-1.6.2-r3 (25 Jun 2014)
+
+ 25 Jun 2014; Tiziano Müller <dev-zero@gentoo.org>
+ +files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch,
+ +files/ossp-uuid-1.6.2-fix-whatis-entries.patch,
+ +files/ossp-uuid-1.6.2-hwaddr.patch, +files/ossp-uuid-1.6.2-manfix.patch, +fil
+ es/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch,
+ +ossp-uuid-1.6.2-r3.ebuild, -files/ossp-uuid-1.6.2-gentoo.patch:
+ Also build for php-5.5 (bug #491852), add various bug-fixes from Fedora and
+ Ubuntu/Debian, fix Perl-bindings installation.
11 Mar 2013; Ole Markus With <olemarkus@gentoo.org>
-ossp-uuid-1.6.2-r1.ebuild:
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch
new file mode 100644
index 000000000000..1f92cea3ae69
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-data-uuid-from-string.patch
@@ -0,0 +1,36 @@
+Description: Support dash-less args to from_string.
+Author: Tim Retout <diocles@debian.org>
+Bug-Debian: http://bugs.debian.org/635607
+
+The module Data::GUID depends on Data::UUID supporting this behaviour.
+
+--- a/perl/uuid_compat.pm
++++ b/perl/uuid_compat.pm
+@@ -93,7 +93,9 @@
+ $uuid->import('str',
+ $str =~ /^0x/
+ ? join '-', unpack('x2 a8 a4 a4 a4 a12', $str)
+- : $str
++ : $str =~ /-/
++ ? $str
++ : join '-', unpack('A8 A4 A4 A4 A12', $str)
+ );
+ return $uuid->export('bin');
+ }
+--- a/perl/uuid_compat.ts
++++ b/perl/uuid_compat.ts
+@@ -28,7 +28,7 @@
+ ## uuid_compat.ts: Data::UUID Backward Compatibility Perl API (Perl test suite part)
+ ##
+
+-use Test::More tests => 14;
++use Test::More tests => 16;
+
+ BEGIN {
+ use_ok('Data::UUID');
+@@ -53,3 +53,5 @@
+ ok($uuid8 = $ug->from_string("6ba7b811-9dad-11d1-80b4-00c04fd430c8"));
+ ok($ug->compare($uuid7, $uuid8) == 0);
+
++ok($uuid9 = $ug->from_string("6ba7b8119dad11d180b400c04fd430c8"));
++ok($ug->compare($uuid7, $uuid9) == 0);
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch
new file mode 100644
index 000000000000..060a7540f1f9
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-fix-whatis-entries.patch
@@ -0,0 +1,51 @@
+From: Marco Nenciarini <marco.nenciarini@devise.it>
+Date: Tue, 2 Feb 2010 12:16:49 +0100
+Subject: [PATCH] Fix whatis entries
+
+Fix whatis entry of uuid.1, uuid.3ossp and uuid++.3ossp manpages
+---
+ uuid++.pod | 2 +-
+ uuid.pod | 2 +-
+ uuid_cli.pod | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/uuid++.pod b/uuid++.pod
+index 8b5a4b1..89c5efb 100644
+--- a/uuid++.pod
++++ b/uuid++.pod
+@@ -31,7 +31,7 @@
+
+ =head1 NAME
+
+-B<OSSP uuid> - B<Universally Unique Identifier> (C++ API)
++B<uuid++> - B<Universally Unique Identifier> (C++ API)
+
+ =head1 VERSION
+
+diff --git a/uuid.pod b/uuid.pod
+index 4ad3742..0179a46 100644
+--- a/uuid.pod
++++ b/uuid.pod
+@@ -31,7 +31,7 @@
+
+ =head1 NAME
+
+-B<OSSP uuid> - B<Universally Unique Identifier>
++B<uuid> - B<Universally Unique Identifier>
+
+ =head1 VERSION
+
+diff --git a/uuid_cli.pod b/uuid_cli.pod
+index ddec6bb..df9dc83 100644
+--- a/uuid_cli.pod
++++ b/uuid_cli.pod
+@@ -31,7 +31,7 @@
+
+ =head1 NAME
+
+-B<OSSP uuid> - B<Universally Unique Identifier Command-Line Tool>
++B<uuid> - B<Universally Unique Identifier Command-Line Tool>
+
+ =head1 VERSION
+
+--
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo.patch
deleted file mode 100644
index 6289230b3516..000000000000
--- a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-gentoo.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-diff -Naur uuid-1.6.2.orig/Makefile.in uuid-1.6.2/Makefile.in
---- uuid-1.6.2.orig/Makefile.in 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/Makefile.in 2009-03-21 12:53:54.201971177 +0100
-@@ -62,13 +62,13 @@
- PHP = @PHP@
- PG_CONFIG = @PG_CONFIG@
-
--LIB_NAME = libuuid.la
-+LIB_NAME = libossp-uuid.la
- LIB_OBJS = uuid.lo uuid_md5.lo uuid_sha1.lo uuid_prng.lo uuid_mac.lo uuid_time.lo uuid_ui64.lo uuid_ui128.lo uuid_str.lo
-
--DCE_NAME = libuuid_dce.la
-+DCE_NAME = libossp-uuid_dce.la
- DCE_OBJS = uuid_dce.lo $(LIB_OBJS)
-
--CXX_NAME = libuuid++.la
-+CXX_NAME = libossp-uuid++.la
- CXX_OBJS = uuid++.lo $(LIB_OBJS)
-
- PRG_NAME = uuid
-@@ -112,15 +112,15 @@
- @$(LIBTOOL) --mode=compile $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $<
-
- $(LIB_NAME): $(LIB_OBJS)
-- @$(LIBTOOL) --mode=link $(CC) -o $(LIB_NAME) $(LIB_OBJS) -rpath $(libdir) \
-+ @$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) -rpath $(libdir) \
- -version-info `$(SHTOOL) version -l c -d libtool $(S)/uuid_vers.h`
-
- $(DCE_NAME): $(DCE_OBJS)
-- @$(LIBTOOL) --mode=link $(CC) -o $(DCE_NAME) $(DCE_OBJS) -rpath $(libdir) \
-+ @$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $(DCE_NAME) $(DCE_OBJS) -rpath $(libdir) \
- -version-info `$(SHTOOL) version -l c -d libtool $(S)/uuid_vers.h`
-
- $(CXX_NAME): $(CXX_OBJS)
-- @$(LIBTOOL) --mode=link $(CXX) -o $(CXX_NAME) $(CXX_OBJS) -rpath $(libdir) \
-+ @$(LIBTOOL) --mode=link $(CXX) $(LDFLAGS) -o $(CXX_NAME) $(CXX_OBJS) -rpath $(libdir) \
- -version-info `$(SHTOOL) version -l c -d libtool $(S)/uuid_vers.h`
-
- $(PRG_NAME): $(PRG_OBJS) $(LIB_NAME)
-@@ -253,7 +253,7 @@
- -@if [ ".$(WITH_CXX)" = .yes ]; then \
- $(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 $(CXX_NAME) $(DESTDIR)$(libdir)/; \
- fi
-- @$(LIBTOOL) --mode=install $(SHTOOL) install -c -s -m 755 uuid $(DESTDIR)$(bindir)/
-+ @$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 755 uuid $(DESTDIR)$(bindir)/
- $(SHTOOL) install -c -m 644 $(S)/uuid.1 $(DESTDIR)$(mandir)/man1/
- -@if [ ".$(WITH_PERL)" = .yes ]; then \
- (cd $(S)/perl && $(MAKE) $(MFLAGS) install DESTDIR=$(DESTDIR)); \
-diff -Naur uuid-1.6.2.orig/php/config.m4 uuid-1.6.2/php/config.m4
---- uuid-1.6.2.orig/php/config.m4 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/php/config.m4 2009-03-21 12:53:06.282809038 +0100
-@@ -33,10 +33,10 @@
- if test "$PHP_UUID" != "no"; then
- PHP_NEW_EXTENSION(uuid, uuid.c, $ext_shared)
- AC_DEFINE(HAVE_UUID, 1, [Have OSSP uuid library])
-- PHP_ADD_LIBPATH([..], )
-- PHP_ADD_LIBRARY([uuid],, UUID_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY([ossp-uuid],, UUID_SHARED_LIBADD)
- PHP_ADD_INCLUDE([..])
- PHP_SUBST(UUID_SHARED_LIBADD)
-+ LDFLAGS="$LDFLAGS -L../.libs"
-
- dnl avoid linking conflict with a potentially existing uuid_create(3) in libc
- AC_CHECK_FUNC(uuid_create,[
-diff -Naur uuid-1.6.2.orig/php/Makefile.local uuid-1.6.2/php/Makefile.local
---- uuid-1.6.2.orig/php/Makefile.local 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/php/Makefile.local 2009-03-21 12:53:06.282809038 +0100
-@@ -42,7 +42,7 @@
-
- test: build
- @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; \
-- $(PHP) -q -d "safe_mode=0" -d "extension_dir=./" uuid.ts $$version
-+ $(PHP) -q -d "safe_mode=0" -d "extension_dir=./modules/" uuid.ts $$version
-
- install: build
- @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; extdir="$(EXTDIR)"; \
-diff -Naur uuid-1.6.2.orig/php/uuid.ts uuid-1.6.2/php/uuid.ts
---- uuid-1.6.2.orig/php/uuid.ts 2009-03-21 12:52:49.142847389 +0100
-+++ uuid-1.6.2/php/uuid.ts 2009-03-21 12:53:06.282809038 +0100
-@@ -36,7 +36,7 @@
-
- print "++ loading DSO uuid.so (low-level API)\n";
- if (!extension_loaded('uuid')) {
-- dl('modules/uuid.so');
-+ dl('uuid.so');
- }
-
- print "++ loading PHP uuid.php${php_version} (high-level API)\n";
-diff -Naur uuid-1.6.2.orig/uuid-config.in uuid-1.6.2/uuid-config.in
---- uuid-1.6.2.orig/uuid-config.in 2009-03-21 12:52:49.146166177 +0100
-+++ uuid-1.6.2/uuid-config.in 2009-03-21 12:53:06.282809038 +0100
-@@ -121,7 +121,7 @@
- output_extra="$output_extra $uuid_ldflags"
- ;;
- --libs)
-- output="$output -luuid"
-+ output="$output -lossp-uuid"
- output_extra="$output_extra $uuid_libs"
- ;;
- * )
-diff -Naur uuid-1.6.2.orig/uuid.pc.in uuid-1.6.2/uuid.pc.in
---- uuid-1.6.2.orig/uuid.pc.in 2009-03-21 12:52:49.146166177 +0100
-+++ uuid-1.6.2/uuid.pc.in 2009-03-21 12:53:06.282809038 +0100
-@@ -36,7 +36,7 @@
- Description: Universally Unique Identifier (UUID) Library
- Version: @UUID_VERSION_RAW@
- URL: http://www.ossp.org/pkg/lib/uuid/
--Cflags: -I${includedir}
--Libs: -L${libdir} -luuid
-+Cflags: -I${includedir}/ossp
-+Libs: -L${libdir} -lossp-uuid
- Libs.private: @LIBS@
-
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch
new file mode 100644
index 000000000000..0adc837ae163
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-hwaddr.patch
@@ -0,0 +1,116 @@
+diff -urN uuid-1.6.2/configure uuid-1.6.2/configure
+--- uuid-1.6.2/configure 2008-07-04 15:43:09.000000000 -0600
++++ uuid-1.6.2/configure 2012-06-06 19:19:41.659880386 -0600
+@@ -14208,7 +14208,7 @@
+
+
+
+-for ac_header in netdb.h ifaddrs.h net/if.h net/if_dl.h net/if_arp.h netinet/in.h arpa/inet.h
++for ac_header in netdb.h ifaddrs.h net/if.h net/if_dl.h net/if_arp.h netinet/in.h arpa/inet.h netpacket/packet.h
+ do
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+diff -urN uuid-1.6.2/uuid.c uuid-1.6.2/uuid.c
+--- uuid-1.6.2/uuid.c 2008-03-07 03:49:59.000000000 -0700
++++ uuid-1.6.2/uuid.c 2012-06-06 15:50:30.060881473 -0600
+@@ -72,6 +72,8 @@
+ /* IEEE 802 MAC address octet length */
+ #define IEEE_MAC_OCTETS 6
+
++static unsigned char mac_unset[IEEE_MAC_OCTETS] = {BM_OCTET(1,0,0,0,0,0,0,0), 0x00, 0x00, 0x00, 0x00, 0x00};
++
+ /* UUID binary representation according to UUID standards */
+ typedef struct {
+ uuid_uint32_t time_low; /* bits 0-31 of time field */
+@@ -967,7 +969,7 @@
+ * GENERATE NODE
+ */
+
+- if ((mode & UUID_MAKE_MC) || (uuid->mac[0] & BM_OCTET(1,0,0,0,0,0,0,0))) {
++ if ((mode & UUID_MAKE_MC) || !memcmp(uuid->mac, mac_unset, IEEE_MAC_OCTETS)) {
+ /* generate random IEEE 802 local multicast MAC address */
+ if (prng_data(uuid->prng, (void *)&(uuid->obj.node), sizeof(uuid->obj.node)) != PRNG_RC_OK)
+ return UUID_RC_INT;
+diff -urN uuid-1.6.2/uuid_mac.c uuid-1.6.2/uuid_mac.c
+--- uuid-1.6.2/uuid_mac.c 2008-03-07 03:49:59.000000000 -0700
++++ uuid-1.6.2/uuid_mac.c 2012-06-06 19:30:49.050879930 -0600
+@@ -76,6 +76,9 @@
+ #ifdef HAVE_IFADDRS_H
+ #include <ifaddrs.h>
+ #endif
++#ifdef HAVE_NETPACKET_PACKET_H
++#include <netpacket/packet.h>
++#endif
+
+ /* own headers (part (1/2) */
+ #include "uuid_mac.h"
+@@ -87,6 +90,10 @@
+ #define TRUE (/*lint -save -e506*/ !FALSE /*lint -restore*/)
+ #endif
+
++#if !defined(min)
++#define min(a,b) ((a) < (b) ? (a) : (b))
++#endif
++
+ /* return the Media Access Control (MAC) address of
+ the FIRST network interface card (NIC) */
+ int mac_address(unsigned char *data_ptr, size_t data_len)
+@@ -95,28 +102,41 @@
+ if (data_ptr == NULL || data_len < MAC_LEN)
+ return FALSE;
+
+-#if defined(HAVE_IFADDRS_H) && defined(HAVE_NET_IF_DL_H) && defined(HAVE_GETIFADDRS)
++#if defined(HAVE_IFADDRS_H) && (defined(HAVE_NET_IF_DL_H) || defined(HAVE_NETPACKET_PACKET_H)) && defined(HAVE_GETIFADDRS)
+ /* use getifaddrs(3) on BSD class platforms (xxxBSD, MacOS X, etc) */
+ {
+ struct ifaddrs *ifap;
+ struct ifaddrs *ifap_head;
++#if defined(HAVE_NET_IF_DL_H)
+ const struct sockaddr_dl *sdl;
+ unsigned char *ucp;
+- int i;
++#else
++ const struct sockaddr_ll *sll;
++#endif
+
+ if (getifaddrs(&ifap_head) < 0)
+ return FALSE;
+ for (ifap = ifap_head; ifap != NULL; ifap = ifap->ifa_next) {
++#if defined(HAVE_NET_IF_DL_H)
+ if (ifap->ifa_addr != NULL && ifap->ifa_addr->sa_family == AF_LINK) {
+ sdl = (const struct sockaddr_dl *)(void *)ifap->ifa_addr;
+ ucp = (unsigned char *)(sdl->sdl_data + sdl->sdl_nlen);
+ if (sdl->sdl_alen > 0) {
+- for (i = 0; i < MAC_LEN && i < sdl->sdl_alen; i++, ucp++)
+- data_ptr[i] = (unsigned char)(*ucp & 0xff);
++ memcpy(data_ptr, ucp, min(sdl->sdl_alen, MAC_LEN));
+ freeifaddrs(ifap_head);
+ return TRUE;
+ }
+ }
++#else
++ if (ifap->ifa_addr != NULL && ifap->ifa_addr->sa_family == AF_PACKET) {
++ sll = (const struct sockaddr_ll *)(void *)ifap->ifa_addr;
++ if (sll->sll_hatype == ARPHRD_ETHER) {
++ memcpy(data_ptr, sll->sll_addr, min(sll->sll_halen, MAC_LEN));
++ freeifaddrs(ifap_head);
++ return TRUE;
++ }
++ }
++#endif
+ }
+ freeifaddrs(ifap_head);
+ }
+diff -urN uuid-1.6.2/config.h.in uuid-1.6.2/config.h.in
+--- uuid-1.6.2/config.h.in 2008-07-04 15:43:10.000000000 -0600
++++ uuid-1.6.2/config.h.in 2012-06-06 21:59:03.370227352 -0600
+@@ -75,6 +75,9 @@
+ /* Define to 1 if you have the <netinet/in.h> header file. */
+ #undef HAVE_NETINET_IN_H
+
++/* Define to 1 if you have the <netpacket/packet.h> header file. */
++#undef HAVE_NETPACKET_PACKET_H
++
+ /* Define to 1 if you have the <net/if_arp.h> header file. */
+ #undef HAVE_NET_IF_ARP_H
+
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch
new file mode 100644
index 000000000000..c191e17df863
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-manfix.patch
@@ -0,0 +1,13 @@
+diff -up uuid-1.6.2/uuid.1.manfix uuid-1.6.2/uuid.1
+--- uuid-1.6.2/uuid.1.manfix 2013-05-30 15:56:38.630003125 +0200
++++ uuid-1.6.2/uuid.1 2013-05-30 16:00:57.145127756 +0200
+@@ -238,6 +238,9 @@ value representation of a \s-1UUID\s0. E
+ .IP "\fB\-o\fR \fIfilename\fR" 3
+ .IX Item "-o filename"
+ Write output to \fIfilename\fR instead of to \fIstdout\fR.
++.IP "\fB\-r\fR" 3
++.IX Item "-r"
++This is equivalent to \fB-F BIN\fR.
+ .IP "\fB\-d\fR" 3
+ .IX Item "-d"
+ Decode a given \s-1UUID\s0 (given as a command line argument or if the command
diff --git a/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch
new file mode 100644
index 000000000000..1467207f51f5
--- /dev/null
+++ b/dev-libs/ossp-uuid/files/ossp-uuid-1.6.2-uuid-preserve-m-option-status-in-v-option-handling.patch
@@ -0,0 +1,55 @@
+From: Marco Nenciarini <marco.nenciarini@devise.it>
+Date: Wed, 27 Jan 2010 19:46:21 +0100
+Subject: [PATCH] uuid: preserve -m option status in -v option handling
+
+Bug: 531396
+---
+ uuid_cli.c | 19 ++++++++++---------
+ 1 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/uuid_cli.c b/uuid_cli.c
+index d1b0b11..14a67fe 100644
+--- a/uuid_cli.c
++++ b/uuid_cli.c
+@@ -140,11 +140,12 @@ int main(int argc, char *argv[])
+ i = strtol(optarg, &p, 10);
+ if (*p != '\0')
+ usage("invalid argument to option 'v'");
++ version &= ~(UUID_MAKE_V1|UUID_MAKE_V3|UUID_MAKE_V4|UUID_MAKE_V5);
+ switch (i) {
+- case 1: version = UUID_MAKE_V1; break;
+- case 3: version = UUID_MAKE_V3; break;
+- case 4: version = UUID_MAKE_V4; break;
+- case 5: version = UUID_MAKE_V5; break;
++ case 1: version |= UUID_MAKE_V1; break;
++ case 3: version |= UUID_MAKE_V3; break;
++ case 4: version |= UUID_MAKE_V4; break;
++ case 5: version |= UUID_MAKE_V5; break;
+ default:
+ usage("invalid version on option 'v'");
+ break;
+@@ -213,10 +214,10 @@ int main(int argc, char *argv[])
+ }
+ else {
+ /* encoding */
+- if ( (version == UUID_MAKE_V1 && argc != 0)
+- || (version == UUID_MAKE_V3 && argc != 2)
+- || (version == UUID_MAKE_V4 && argc != 0)
+- || (version == UUID_MAKE_V5 && argc != 2))
++ if ( (version & UUID_MAKE_V1 && argc != 0)
++ || (version & UUID_MAKE_V3 && argc != 2)
++ || (version & UUID_MAKE_V4 && argc != 0)
++ || (version & UUID_MAKE_V5 && argc != 2))
+ usage("invalid number of arguments");
+ if ((rc = uuid_create(&uuid)) != UUID_RC_OK)
+ error(1, "uuid_create: %s", uuid_error(rc));
+@@ -232,7 +233,7 @@ int main(int argc, char *argv[])
+ if ((rc = uuid_load(uuid, "nil")) != UUID_RC_OK)
+ error(1, "uuid_load: %s", uuid_error(rc));
+ }
+- if (version == UUID_MAKE_V3 || version == UUID_MAKE_V5) {
++ if (version & UUID_MAKE_V3 || version & UUID_MAKE_V5) {
+ if ((rc = uuid_create(&uuid_ns)) != UUID_RC_OK)
+ error(1, "uuid_create: %s", uuid_error(rc));
+ if ((rc = uuid_load(uuid_ns, argv[0])) != UUID_RC_OK) {
+--
diff --git a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r3.ebuild b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r3.ebuild
new file mode 100644
index 000000000000..116d1db808b8
--- /dev/null
+++ b/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r3.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r3.ebuild,v 1.1 2014/06/25 06:48:01 dev-zero Exp $
+
+EAPI="5"
+
+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-3 php5-4 php5-5"
+
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit eutils multilib perl-module php-ext-source-r2
+
+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() {
+
+ epatch \
+ "${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}
+ epatch \
+ "${FILESDIR}/${P}-gentoo-php.patch" \
+ "${FILESDIR}/${P}-php.patch"
+ done
+
+ php-ext-source-r2_src_prepare
+ fi
+}
+
+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-r2_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-r2_src_compile
+ fi
+}
+
+src_install() {
+ DOCS="AUTHORS BINDINGS ChangeLog HISTORY NEWS OVERVIEW PORTING README SEEALSO THANKS TODO USERS"
+ default
+
+ if use perl ; then
+ cd perl
+ perl-module_src_install
+ fi
+
+ if use php ; then
+ php-ext-source-r2_src_install
+ cd "${S}/php"
+ insinto /usr/share/php
+ 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
+}