pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

libuuid-32: compat32 package for libuuid



Module Name:	pkgsrc-wip
Committed By:	Naveen Narayanan <zerous@nocebo.space>
Pushed By:	zerous
Date:		Fri Jul 19 11:25:49 2019 +0200
Changeset:	e00b4290d81bcf8c430e51bcd04d30d9ce95ff7d

Added Files:
	libuuid-32/DESCR
	libuuid-32/Makefile
	libuuid-32/Makefile.common
	libuuid-32/PLIST
	libuuid-32/buildlink3.mk
	libuuid-32/builtin.mk
	libuuid-32/distinfo
	libuuid-32/patches/patch-Makefile.in
	libuuid-32/patches/patch-configure
	libuuid-32/patches/patch-include_c.h
	libuuid-32/patches/patch-include_ttyutils.h
	libuuid-32/patches/patch-lib_ismounted.c
	libuuid-32/patches/patch-lib_randutils.c
	libuuid-32/patches/patch-libuuid_src_gen__uuid.c

Log Message:
libuuid-32: compat32 package for libuuid

The UUID library is used to generate unique identifiers for objects
that may be accessible beyond the local system.  This library
generates UUIDs compatible with those created by the Open Software
Foundation (OSF) Distributed Computing Environment (DCE) utility
uuidgen.

The UUIDs generated by this library can be reasonably expected to be
unique within a system, and unique across all systems.  They could
be used, for instance, to generate unique HTTP cookies across multiple
web servers without communication between the servers, and without fear
of a name clash.

From util-linux-ng.

This package is intended to crosscompile libuuid for i386 on amd64.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e00b4290d81bcf8c430e51bcd04d30d9ce95ff7d

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 libuuid-32/DESCR                                 | 15 ++++
 libuuid-32/Makefile                              | 17 ++++
 libuuid-32/Makefile.common                       | 38 +++++++++
 libuuid-32/PLIST                                 | 22 ++++++
 libuuid-32/buildlink3.mk                         | 14 ++++
 libuuid-32/builtin.mk                            | 98 ++++++++++++++++++++++++
 libuuid-32/distinfo                              | 13 ++++
 libuuid-32/patches/patch-Makefile.in             | 54 +++++++++++++
 libuuid-32/patches/patch-configure               | 96 +++++++++++++++++++++++
 libuuid-32/patches/patch-include_c.h             | 17 ++++
 libuuid-32/patches/patch-include_ttyutils.h      | 53 +++++++++++++
 libuuid-32/patches/patch-lib_ismounted.c         | 18 +++++
 libuuid-32/patches/patch-lib_randutils.c         | 18 +++++
 libuuid-32/patches/patch-libuuid_src_gen__uuid.c | 54 +++++++++++++
 14 files changed, 527 insertions(+)

diffs:
diff --git a/libuuid-32/DESCR b/libuuid-32/DESCR
new file mode 100644
index 0000000000..8a65564ba9
--- /dev/null
+++ b/libuuid-32/DESCR
@@ -0,0 +1,15 @@
+The UUID library is used to generate unique identifiers for objects
+that may be accessible beyond the local system.  This library
+generates UUIDs compatible with those created by the Open Software
+Foundation (OSF) Distributed Computing Environment (DCE) utility
+uuidgen.
+
+The UUIDs generated by this library can be reasonably expected to be
+unique within a system, and unique across all systems.  They could
+be used, for instance, to generate unique HTTP cookies across multiple
+web servers without communication between the servers, and without fear
+of a name clash.
+
+From util-linux-ng.
+
+This package is intended to crosscompile libuuid for i386 on amd64.
diff --git a/libuuid-32/Makefile b/libuuid-32/Makefile
new file mode 100644
index 0000000000..b2d2ea9242
--- /dev/null
+++ b/libuuid-32/Makefile
@@ -0,0 +1,17 @@
+# $NetBSD: Makefile,v 1.23 2017/12/12 20:56:09 maya Exp $
+
+.include "Makefile.common"
+
+PKGNAME=	compat32_${DISTNAME:S/util-linux/libuuid/}
+CATEGORIES=	devel
+COMMENT=	Generate unique identifiers for objects
+LICENSE=	modified-bsd
+
+CFLAGS+=		-m32
+GNU_CONFIGURE_PREFIX=	${PREFIX}/emul/netbsd32/
+CONFIGURE_ARGS+=	--enable-libuuid
+CONFIGURE_ARGS+=	--enable-uuidgen
+
+PKGCONFIG_OVERRIDE+=	libuuid/uuid.pc.in
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/libuuid-32/Makefile.common b/libuuid-32/Makefile.common
new file mode 100644
index 0000000000..386614dc32
--- /dev/null
+++ b/libuuid-32/Makefile.common
@@ -0,0 +1,38 @@
+# $NetBSD: Makefile.common,v 1.5 2018/11/04 16:51:30 bsiegert Exp $
+# used by devel/libblkid/Makefile
+# used by devel/libuuid/Makefile
+# used by x11/mcookie/Makefile
+
+DISTNAME=	util-linux-2.32.1
+MASTER_SITES=	https://www.kernel.org/pub/linux/utils/util-linux/v${PKGVERSION_NOREV:R}/
+EXTRACT_SUFX=	.tar.xz
+EXTRACT_USING=	bsdtar
+
+MAINTAINER?=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/karelzak/util-linux
+
+DISTINFO_FILE=	${.CURDIR}/../../devel/libuuid/distinfo
+PATCHDIR=	${.CURDIR}/../../devel/libuuid/patches
+
+USE_GCC_RUNTIME=	yes
+USE_LIBTOOL=		yes
+USE_TOOLS+=		pkg-config
+GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--disable-all-programs
+CONFIGURE_ARGS+=	--disable-bash-completion
+CONFIGURE_ARGS+=	--without-ncurses
+CONFIGURE_ARGS+=	--without-ncursesw
+
+# netbsd libintl lacks _nl_expand_alias, resulting in NLS being
+# disabled. for consistency, disable for all
+CONFIGURE_ARGS+=	--disable-nls
+
+TEST_TARGET=		check
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+# XXX PR pkg/52877: configure is broken on netbsd6
+.if (${OPSYS} == "NetBSD" && !empty(OS_VERSION:M[0123456].*))
+USE_TOOLS+=            ksh
+CONFIG_SHELL=          ksh
+.endif
diff --git a/libuuid-32/PLIST b/libuuid-32/PLIST
new file mode 100644
index 0000000000..8eae7d3227
--- /dev/null
+++ b/libuuid-32/PLIST
@@ -0,0 +1,22 @@
+@comment $NetBSD$
+emul/netbsd32/bin/uuidgen
+emul/netbsd32/include/uuid/uuid.h
+emul/netbsd32/lib/libuuid.la
+emul/netbsd32/lib/pkgconfig/uuid.pc
+emul/netbsd32/man/man1/uuidgen.1
+emul/netbsd32/man/man3/uuid.3
+emul/netbsd32/man/man3/uuid_clear.3
+emul/netbsd32/man/man3/uuid_compare.3
+emul/netbsd32/man/man3/uuid_copy.3
+emul/netbsd32/man/man3/uuid_generate.3
+emul/netbsd32/man/man3/uuid_generate_random.3
+emul/netbsd32/man/man3/uuid_generate_time.3
+emul/netbsd32/man/man3/uuid_generate_time_safe.3
+emul/netbsd32/man/man3/uuid_is_null.3
+emul/netbsd32/man/man3/uuid_parse.3
+emul/netbsd32/man/man3/uuid_time.3
+emul/netbsd32/man/man3/uuid_unparse.3
+@pkgdir emul/netbsd32/share/bash-completion/completions
+@pkgdir emul/netbsd32/sbin
+@pkgdir emul/netbsd32/man/man8
+@pkgdir emul/netbsd32/man/man5
diff --git a/libuuid-32/buildlink3.mk b/libuuid-32/buildlink3.mk
new file mode 100644
index 0000000000..ec37062566
--- /dev/null
+++ b/libuuid-32/buildlink3.mk
@@ -0,0 +1,14 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2011/01/08 20:40:33 markd Exp $
+
+BUILDLINK_TREE+=	compat32_libuuid
+
+.if !defined(COMPAT32_LIBUUID_BUILDLINK3_MK)
+COMPAT32_LIBUUID_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.compat32_libuuid+=	compat32_libuuid>=2.18
+BUILDLINK_PKGSRCDIR.compat32_libuuid?=	../../wip/libuuid-32
+BUILDLINK_LIBDIRS.compat32_libuuid=	emul/netbsd32/lib
+BUILDLINK_INCDIRS.compat32_libuuid=	emul/netbsd32/include/uuid
+.endif	# COMPAT32_LIBUUID_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-compat32_libuuid
diff --git a/libuuid-32/builtin.mk b/libuuid-32/builtin.mk
new file mode 100644
index 0000000000..3ed7440e35
--- /dev/null
+++ b/libuuid-32/builtin.mk
@@ -0,0 +1,98 @@
+# $NetBSD: builtin.mk,v 1.10 2018/11/06 09:38:54 markd Exp $
+
+BUILTIN_PKG:=	libuuid
+
+BUILTIN_FIND_FILES_VAR=		UUID_PC
+BUILTIN_FIND_FILES.UUID_PC=	/usr/lib/pkgconfig/uuid.pc
+BUILTIN_FIND_HEADERS_VAR=	H_UUID
+BUILTIN_FIND_HEADERS.H_UUID=	uuid/uuid.h
+BUILTIN_FIND_GREP.H_UUID=	uuid_generate
+BUILTIN_FIND_LIBS:=		uuid
+
+.include "../../mk/buildlink3/bsd.builtin.mk"
+
+##
+## Determine if there is a built-in implementation of the package and
+## set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
+##
+.if !defined(IS_BUILTIN.libuuid)
+IS_BUILTIN.libuuid=	no
+.  if (${OPSYS} == "Darwin" || !empty(BUILTIN_LIB_FOUND.uuid:M[yY][eE][sS])) \
+      && empty(H_UUID:M__nonexistent__)
+IS_BUILTIN.libuuid=	yes
+.  endif
+.endif
+MAKEVARS+=	IS_BUILTIN.libuuid
+
+###
+### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
+### a package name to represent the built-in package.
+###
+.if !defined(BUILTIN_PKG.libuuid) && \
+    !empty(IS_BUILTIN.libuuid:M[yY][eE][sS])
+.  if empty(UUID_PC:M__nonexistent__)
+BUILTIN_VERSION.libuuid!=	${SED} -n -e 's/Version: //p' ${UUID_PC}
+BUILTIN_PKG.libuuid=	libuuid-${BUILTIN_VERSION.libuuid}
+.  else
+BUILTIN_PKG.libuuid=	libuuid-2.18	# whatever, as long as it is big enough
+.  endif
+.endif
+
+###
+### Determine whether we should use the built-in implementation if it
+### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
+###
+.if !defined(USE_BUILTIN.libuuid)
+.  if ${PREFER.libuuid} == "pkgsrc"
+USE_BUILTIN.libuuid=	no
+.  else
+USE_BUILTIN.libuuid=	${IS_BUILTIN.libuuid}
+.    if defined(BUILTIN_PKG.libuuid) && \
+        !empty(IS_BUILTIN.libuuid:M[yY][eE][sS])
+USE_BUILTIN.libuuid=	yes
+.      for _dep_ in ${BUILDLINK_API_DEPENDS.libuuid}
+.        if !empty(USE_BUILTIN.libuuid:M[yY][eE][sS])
+USE_BUILTIN.libuuid!=      \
+	if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.libuuid:Q}; then \
+		${ECHO} yes;						\
+	else								\
+		${ECHO} no;						\
+	fi
+.        endif
+.      endfor
+.    endif
+.  endif
+.endif
+MAKEVARS+=	USE_BUILTIN.libuuid
+
+###
+### The section below only applies if we are not including this file
+### solely to determine whether a built-in implementation exists.
+###
+CHECK_BUILTIN.libuuid?=	no
+.if !empty(CHECK_BUILTIN.libuuid:M[nN][oO])
+.  if !empty(USE_BUILTIN.libuuid:M[yY][eE][sS])
+BUILDLINK_TARGETS+=	libuuid-fake-pc
+
+.    if ${OPSYS} == "SunOS"
+BUILDLINK_PASSTHRU_DIRS+=	/lib
+LIBUUID_LDADD=			-L/lib
+.    endif
+
+libuuid-fake-pc:
+	${RUN}						\
+	${MKDIR} ${BUILDLINK_DIR}/lib/pkgconfig;	\
+	src=${UUID_PC};					\
+	dst=${BUILDLINK_DIR}/lib/pkgconfig/uuid.pc;	\
+	if ${TEST} -f $${src}; then \
+		${LN} -sf $${src} $${dst}; \
+	else \
+		{	${ECHO} "Name: uuid";				\
+			${ECHO} "Description: Universally unique id library"; \
+			${ECHO} "Version: ${BUILTIN_VERSION.libuuid}";	\
+			${ECHO} "Libs: -L/usr/lib -luuid ${LIBUUID_LDADD}"; \
+			${ECHO} "Cflags: -I/usr/include";		\
+		} >$${dst} ;\
+	fi
+.  endif
+.endif # CHECK_BUILTIN.libuuid
diff --git a/libuuid-32/distinfo b/libuuid-32/distinfo
new file mode 100644
index 0000000000..c0c83bdc77
--- /dev/null
+++ b/libuuid-32/distinfo
@@ -0,0 +1,13 @@
+$NetBSD: distinfo,v 1.20 2018/08/29 12:25:52 adam Exp $
+
+SHA1 (util-linux-2.32.1.tar.xz) = de9271fb93fb651d21c027e2efb0cf0ac80f2e9a
+RMD160 (util-linux-2.32.1.tar.xz) = bf61cb460eabcfdb90909dbcfd8e64bb9097ce65
+SHA512 (util-linux-2.32.1.tar.xz) = 267fedae24a874ee4dc558081f6b8d07b33b955b0635f3348f021c111c17f2e95c01b2cbf909fe13c6ca448cbcf23c658c75f72f25749aa65e99f68fabb94698
+Size (util-linux-2.32.1.tar.xz) = 4561088 bytes
+SHA1 (patch-Makefile.in) = ace0b141c2fbda821c0f14c385fed698bb5f5423
+SHA1 (patch-configure) = 400904ae2e58b717e990ba26c111b90bc8f240d1
+SHA1 (patch-include_c.h) = 4596369e4b742329be513952c66d1fa3705de017
+SHA1 (patch-include_ttyutils.h) = fa2b253d568e5aface99727c397d3c4c892b2c93
+SHA1 (patch-lib_ismounted.c) = 11f5148020dba2a22e1fbe4882fe423dfb11ad73
+SHA1 (patch-lib_randutils.c) = 422e94d9bdaf6a77894b79d67285fd8a0cb1d05a
+SHA1 (patch-libuuid_src_gen__uuid.c) = d15aa418ab497e2e3634c62633d2f3212f1b42be
diff --git a/libuuid-32/patches/patch-Makefile.in b/libuuid-32/patches/patch-Makefile.in
new file mode 100644
index 0000000000..d5c123586a
--- /dev/null
+++ b/libuuid-32/patches/patch-Makefile.in
@@ -0,0 +1,54 @@
+$NetBSD: patch-Makefile.in,v 1.3 2018/08/29 12:25:52 adam Exp $
+
+Linker script depends on non-portable constructs.
+Do not compile setproctitle; it conflicts with NetBSD and is not needed.
+Do not build common libraries.
+Do not install terminal-colors.d.5.
+
+--- Makefile.in.orig	2018-07-16 10:34:43.000000000 +0000
++++ Makefile.in
+@@ -186,7 +186,7 @@ check_PROGRAMS = test_blkdev$(EXEEXT) te
+ 
+ @BUILD_LIBUUID_TRUE@am__append_15 = test_uuid_parser
+ @BUILD_LIBUUID_TRUE@am__append_16 = libuuid.la
+-@BUILD_LIBUUID_TRUE@@HAVE_VSCRIPT_TRUE@am__append_17 = libuuid_la_LDFLAGS += $(VSCRIPT_LDFLAGS),$(top_srcdir)/libuuid/src/libuuid.sym
++@BUILD_LIBUUID_TRUE@@HAVE_VSCRIPT_COMPLEX_TRUE@am__append_17 = libuuid_la_LDFLAGS += $(VSCRIPT_LDFLAGS),$(top_srcdir)/libuuid/src/libuuid.sym
+ @BUILD_LIBUUID_TRUE@am__append_18 = libuuid/src/libuuid.sym \
+ @BUILD_LIBUUID_TRUE@	libuuid/COPYING
+ @BUILD_LIBUUID_TRUE@am__append_19 = install-exec-hook-libuuid
+@@ -204,7 +204,7 @@ check_PROGRAMS = test_blkdev$(EXEEXT) te
+ 
+ @BUILD_LIBBLKID_TRUE@@BUILD_LIBUUID_TRUE@am__append_25 = libuuid.la
+ @BUILD_LIBBLKID_TRUE@@BUILD_LIBUUID_TRUE@am__append_26 = -I$(ul_libuuid_incdir)
+-@BUILD_LIBBLKID_TRUE@@HAVE_VSCRIPT_TRUE@am__append_27 = $(VSCRIPT_LDFLAGS),$(top_srcdir)/libblkid/src/libblkid.sym
++@BUILD_LIBBLKID_TRUE@@HAVE_VSCRIPT_COMPLEX_TRUE@am__append_27 = $(VSCRIPT_LDFLAGS),$(top_srcdir)/libblkid/src/libblkid.sym
+ @BUILD_LIBBLKID_TRUE@am__append_28 = libblkid/src/libblkid.sym \
+ @BUILD_LIBBLKID_TRUE@	libblkid/COPYING
+ @BUILD_LIBBLKID_TESTS_TRUE@@BUILD_LIBBLKID_TRUE@am__append_29 = \
+@@ -1032,7 +1032,7 @@ am__libcommon_la_SOURCES_DIST = lib/blkd
+ 	lib/fileutils.c lib/ismounted.c lib/color-names.c lib/mangle.c \
+ 	lib/match.c lib/mbsalign.c lib/mbsedit.c lib/md5.c lib/pager.c \
+ 	lib/parse-date.y lib/path.c lib/pwdutils.c lib/randutils.c \
+-	lib/setproctitle.c lib/strutils.c lib/timeutils.c \
++	lib/strutils.c lib/timeutils.c \
+ 	lib/ttyutils.c lib/exec_shell.c lib/strv.c lib/sha1.c \
+ 	lib/signames.c lib/linux_version.c lib/loopdev.c \
+ 	lib/plymouth-ctrl.c lib/langinfo.c lib/cpuset.c \
+@@ -1055,7 +1055,7 @@ am_libcommon_la_OBJECTS = lib/libcommon_
+ 	lib/libcommon_la-md5.lo lib/libcommon_la-pager.lo \
+ 	lib/libcommon_la-parse-date.lo lib/libcommon_la-path.lo \
+ 	lib/libcommon_la-pwdutils.lo lib/libcommon_la-randutils.lo \
+-	lib/libcommon_la-setproctitle.lo lib/libcommon_la-strutils.lo \
++	lib/libcommon_la-strutils.lo \
+ 	lib/libcommon_la-timeutils.lo lib/libcommon_la-ttyutils.lo \
+ 	lib/libcommon_la-exec_shell.lo lib/libcommon_la-strv.lo \
+ 	lib/libcommon_la-sha1.lo lib/libcommon_la-signames.lo \
+@@ -3827,7 +3827,7 @@ dist_noinst_HEADERS = include/all-io.h i
+ 	include/timer.h include/timeutils.h include/ttyutils.h \
+ 	include/widechar.h include/xalloc.h
+ noinst_LTLIBRARIES = libcommon.la libtcolors.la
+-dist_man_MANS = lib/terminal-colors.d.5 $(am__append_14) \
++dist_man_MANS = $(am__append_14) \
+ 	$(am__append_38) $(am__append_78) $(am__append_80) \
+ 	$(am__append_82) $(am__append_84) $(am__append_86) \
+ 	$(am__append_88) $(am__append_90) $(am__append_92) \
diff --git a/libuuid-32/patches/patch-configure b/libuuid-32/patches/patch-configure
new file mode 100644
index 0000000000..d024f401eb
--- /dev/null
+++ b/libuuid-32/patches/patch-configure
@@ -0,0 +1,96 @@
+$NetBSD: patch-configure,v 1.8 2018/08/29 12:25:52 adam Exp $
+
+Add --disable-uuidgen and --disable-mcookie.
+Shell portability.
+
+--- configure.orig	2017-10-19 11:10:01.000000000 +0000
++++ configure
+@@ -1250,6 +1250,7 @@ enable_zramctl
+ enable_fsck
+ enable_partx
+ enable_uuidd
++enable_uuidgen
+ enable_mountpoint
+ enable_fallocate
+ enable_unshare
+@@ -1269,6 +1270,7 @@ enable_lslogins
+ enable_wdctl
+ enable_cal
+ enable_logger
++enable_mcookie
+ enable_switch_root
+ enable_pivot_root
+ enable_lsmem
+@@ -2024,6 +2026,7 @@ Optional Features:
+   --disable-fsck          do not build fsck
+   --disable-partx         do not build addpart, delpart, partx
+   --disable-uuidd         do not build the uuid daemon
++  --disable-uuidgen       do not build uuidgen
+   --disable-mountpoint    do not build mountpoint
+   --disable-fallocate     do not build fallocate
+   --disable-unshare       do not build unshare
+@@ -2043,6 +2046,7 @@ Optional Features:
+   --disable-wdctl         do not build wdctl
+   --disable-cal           do not build cal
+   --disable-logger        do not build logger
++  --disable-mcookie       do not build mcookie
+   --disable-switch_root   do not build switch_root
+   --disable-pivot_root    do not build pivot_root
+   --disable-lsmem         do not build lsmem
+@@ -23311,17 +23315,22 @@ fi
+ 
+ 
+ 
++# Check whether --enable-uuidgen was given.
++if test "${enable_uuidgen+set}" = set; then :
++  enableval=$enable_uuidgen;
++else
+ 
+   if test "x$ul_default_estate" != x; then
+   enable_uuidgen=$ul_default_estate
+-  build_uuidgen=yes
+-  if test "x$ul_default_estate" = xno; then
+-    build_uuidgen=no
++  else
++  enable_uuidgen=check
+   fi
+-else
++fi
+ 
++if test "x$enable_uuidgen" = xno; then
++  build_uuidgen=no
++else
+   build_uuidgen=yes
+-  enable_uuidgen=check
+ fi
+ 
+ 
+@@ -25956,17 +25965,23 @@ fi
+ 
+ 
+ 
++# Check whether --enable-mcookie was given.
++if test "${enable_mcookie+set}" = set; then :
++  enableval=$enable_mcookie;
++else
+ 
+   if test "x$ul_default_estate" != x; then
+   enable_mcookie=$ul_default_estate
+-  build_mcookie=yes
+-  if test "x$ul_default_estate" = xno; then
+-    build_mcookie=no
++  else
++    enable_mcookie=check
+   fi
+-else
+ 
++fi
++
++if test "x$enable_mcookie" = xno; then
++  build_mcookie=no
++else
+   build_mcookie=yes
+-  enable_mcookie=yes
+ fi
+ 
+  if test "x$build_mcookie" = xyes; then
diff --git a/libuuid-32/patches/patch-include_c.h b/libuuid-32/patches/patch-include_c.h
new file mode 100644
index 0000000000..18dc082fb2
--- /dev/null
+++ b/libuuid-32/patches/patch-include_c.h
@@ -0,0 +1,17 @@
+$NetBSD: patch-include_c.h,v 1.1 2018/01/02 10:24:06 jperkin Exp $
+
+Add NAME_MAX compat.
+
+--- include/c.h.orig	2017-09-27 09:05:13.694361539 +0000
++++ include/c.h
+@@ -29,6 +29,10 @@
+ # define LOGIN_NAME_MAX 256
+ #endif
+ 
++#ifndef NAME_MAX
++# define NAME_MAX PATH_MAX
++#endif
++
+ /*
+  * Compiler-specific stuff
+  */
diff --git a/libuuid-32/patches/patch-include_ttyutils.h b/libuuid-32/patches/patch-include_ttyutils.h
new file mode 100644
index 0000000000..e78c946c83
--- /dev/null
+++ b/libuuid-32/patches/patch-include_ttyutils.h
@@ -0,0 +1,53 @@
+$NetBSD: patch-include_ttyutils.h,v 1.1 2017/12/08 08:03:35 adam Exp $
+
+Define values if missing.
+
+--- include/ttyutils.h.orig	2016-11-02 12:57:31.535167960 +0000
++++ include/ttyutils.h
+@@ -60,6 +60,18 @@ extern int get_terminal_name(const char
+ static inline void reset_virtual_console(struct termios *tp, int flags)
+ {
+ 	/* Use defaults of <sys/ttydefaults.h> for base settings */
++#ifndef TTYDEF_IFLAG
++#define TTYDEF_IFLAG	(BRKINT | ICRNL | IMAXBEL | IXON | IXANY)
++#endif
++#ifndef TTYDEF_OFLAG
++#define TTYDEF_OFLAG	(OPOST | ONLCR /*| OXTABS*/)
++#endif
++#ifndef TTYDEF_LFLAG
++#define TTYDEF_LFLAG	(ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)
++#endif
++#ifndef TTYDEF_CFLAG
++#define TTYDEF_CFLAG	(CREAD | CS8 | HUPCL)
++#endif
+ 	tp->c_iflag |= TTYDEF_IFLAG;
+ 	tp->c_oflag |= TTYDEF_OFLAG;
+ 	tp->c_lflag |= TTYDEF_LFLAG;
+@@ -114,6 +126,13 @@ static inline void reset_virtual_console
+ # define FFDLY 0
+ #endif
+ 
++#ifndef TAB0
++#define TAB0 0
++#endif
++#ifndef TABDLY
++#define TABDLY 0
++#endif
++
+ 	tp->c_iflag |=  (BRKINT | ICRNL | IMAXBEL);
+ 	tp->c_iflag &= ~(IGNBRK | INLCR | IGNCR | IXOFF | IUCLC | IXANY | ISTRIP);
+ 	tp->c_oflag |=  (OPOST | ONLCR | NL0 | CR0 | TAB0 | BS0 | VT0 | FF0);
+@@ -158,7 +177,13 @@ static inline void reset_virtual_console
+ 	tp->c_cc[VSTOP]    = CSTOP;
+ 	tp->c_cc[VSUSP]    = CSUSP;
+ 	tp->c_cc[VEOL]     = _POSIX_VDISABLE;
++#ifndef CREPRINT
++#define CREPRINT	('r' & 037)
++#endif
+ 	tp->c_cc[VREPRINT] = CREPRINT;
++#ifndef CDISCARD
++#define CDISCARD	('o' & 037)
++#endif
+ 	tp->c_cc[VDISCARD] = CDISCARD;
+ 	tp->c_cc[VWERASE]  = CWERASE;
+ 	tp->c_cc[VLNEXT]   = CLNEXT;
diff --git a/libuuid-32/patches/patch-lib_ismounted.c b/libuuid-32/patches/patch-lib_ismounted.c
new file mode 100644
index 0000000000..42e4dbc861
--- /dev/null
+++ b/libuuid-32/patches/patch-lib_ismounted.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-lib_ismounted.c,v 1.1 2017/12/08 08:03:35 adam Exp $
+
+Fix build on NetBSD.
+
+--- lib/ismounted.c.orig	2016-11-02 12:57:31.000000000 +0000
++++ lib/ismounted.c
+@@ -214,7 +214,11 @@ static int check_mntent(const char *file
+ static int check_getmntinfo(const char *file, int *mount_flags,
+ 				  char *mtpt, int mtlen)
+ {
++#ifdef __NetBSD__
++	struct statvfs *mp;
++#else
+ 	struct statfs *mp;
++#endif
+         int    len, n;
+         const  char   *s1;
+ 	char	*s2;
diff --git a/libuuid-32/patches/patch-lib_randutils.c b/libuuid-32/patches/patch-lib_randutils.c
new file mode 100644
index 0000000000..929f530ce0
--- /dev/null
+++ b/libuuid-32/patches/patch-lib_randutils.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-lib_randutils.c,v 1.5 2017/12/08 08:03:35 adam Exp $
+
+O_CLOEXEC is not available on every platform (e.g. MacOS X < 10.7). It
+was introduced in POSIX 2008.
+
+--- lib/randutils.c.orig	2017-10-02 09:30:08.000000000 +0000
++++ lib/randutils.c
+@@ -72,6 +72,10 @@ static void crank_random(void)
+ 		rand();
+ }
+ 
++#if !defined(O_CLOEXEC)
++#define O_CLOEXEC 0
++#endif
++
+ int random_get_fd(void)
+ {
+ 	int i, fd;
diff --git a/libuuid-32/patches/patch-libuuid_src_gen__uuid.c b/libuuid-32/patches/patch-libuuid_src_gen__uuid.c
new file mode 100644
index 0000000000..528bbea023
--- /dev/null
+++ b/libuuid-32/patches/patch-libuuid_src_gen__uuid.c
@@ -0,0 +1,54 @@
+$NetBSD: patch-libuuid_src_gen__uuid.c,v 1.1 2017/12/08 08:03:35 adam Exp $
+
+fcntl is portable, flock is not.
+Solaris does not have ifr.ifr_hwaddr.
+
+--- libuuid/src/gen_uuid.c.orig	2017-09-27 09:05:13.000000000 +0000
++++ libuuid/src/gen_uuid.c
+@@ -172,7 +172,7 @@ static int get_node_id(unsigned char *no
+ 	for (i = 0; i < n; i+= ifreq_size(*ifrp) ) {
+ 		ifrp = (struct ifreq *)((char *) ifc.ifc_buf+i);
+ 		strncpy(ifr.ifr_name, ifrp->ifr_name, IFNAMSIZ);
+-#ifdef SIOCGIFHWADDR
++#if defined(SIOCGIFHWADDR) && !defined(__sun)
+ 		if (ioctl(sd, SIOCGIFHWADDR, &ifr) < 0)
+ 			continue;
+ 		a = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
+@@ -227,12 +227,17 @@ static int get_clock(uint32_t *clock_hig
+ 	THREAD_LOCAL int		state_fd = -2;
+ 	THREAD_LOCAL FILE		*state_f;
+ 	THREAD_LOCAL uint16_t		clock_seq;
++	struct flock			lock;
+ 	struct timeval			tv;
+ 	uint64_t			clock_reg;
+ 	mode_t				save_umask;
+ 	int				len;
+ 	int				ret = 0;
+ 
++	lock.l_whence = SEEK_SET;
++	lock.l_start = 0;
++	lock.l_len = 0;
++
+ 	if (state_fd == -1)
+ 		ret = -1;
+ 
+@@ -253,7 +258,8 @@ static int get_clock(uint32_t *clock_hig
+ 	}
+ 	if (state_fd >= 0) {
+ 		rewind(state_f);
+-		while (flock(state_fd, LOCK_EX) < 0) {
++		lock.l_type = F_WRLCK;
++		while (fcntl(state_fd, F_SETLKW, &lock) < 0) {
+ 			if ((errno == EAGAIN) || (errno == EINTR))
+ 				continue;
+ 			fclose(state_f);
+@@ -325,7 +331,8 @@ try_again:
+ 			fflush(state_f);
+ 		}
+ 		rewind(state_f);
+-		flock(state_fd, LOCK_UN);
++		lock.l_type = F_UNLCK;
++		fcntl(state_fd, F_SETLK, &lock);
+ 	}
+ 
+ 	*clock_high = clock_reg >> 32;


Home | Main Index | Thread Index | Old Index