Subject: pkg/33268: net/ORBit2 fails to build without inet6 (patch included)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <plunky@rya-online.net>
List: pkgsrc-bugs
Date: 04/16/2006 09:55:00
>Number:         33268
>Category:       pkg
>Synopsis:       net/Orbit2 fails to build without inet6 (patch included)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 16 09:55:00 +0000 2006
>Originator:     Iain Hibbert
>Release:        NetBSD 3.99.17
>Organization:
http://maps.google.com/maps?q=ireland&ll=52.2711,-9.8630&spn=0.0244,0.0822&t=k
>Environment:
	
	
System: NetBSD galant 3.99.17 NetBSD 3.99.17 (GALANT) #2: Wed Apr 12 13:42:18 BST 2006 plunky@galant:/home/obj/sys/arch/i386/compile/GALANT i386
Architecture: i386
Machine: i386
>Description:
	In my kernel/userland build I have no inet6 compiled in, and ORBit2 fails to build
	because of missing in6addr_any. They make some effort to avoid this but they are
	depending on AF_INET6 being defined to indicate that inet6 is available. This does
	not seem to be the case, since it is always defined in NetBSD <sys/socket.h>
>How-To-Repeat:
	Add USE_INET6=no to /etc/mk.conf and compile libc as in6addr_any is
	normally declared in libc but is not, when USE_INET6=no is defined
>Fix:
	The following patch adds recognizance of the PKG_OPTIONS switch "inet6"
	to the net/ORBit2 package, and a small patch to the hacks file to undefine
	AF_INET6 when it is not wanted.

	Technically, this changes the default behaviour of the ORBit2 package,
	since unless inet6 is defined it will not be compiled in, but I think
	its correct to do that.

--- /dev/null	2006-04-16 10:33:47.000000000 +0100
+++ patches/patch-ab	2006-04-16 10:33:44.000000000 +0100
@@ -0,0 +1,19 @@
+$NetBSD: patch-ab$
+
+Optionally remove AF_INET6 definition since there are several sections that
+need not be compiled if we dont want INET6 but (for NetBSD at least), it is
+always defined.
+
+--- linc2/src/linc-compat.h.orig	2006-04-16 07:10:22.000000000 +0000
++++ linc2/src/linc-compat.h	2006-04-16 07:09:47.000000000 +0000
+@@ -115,6 +115,10 @@
+ #  define LINK_UNIX_PATH_MAX UNIX_PATH_MAX
+ #endif
+ 
++#if !defined (WANT_INET6) && defined (AF_INET6)
++#  undef AF_INET6
++#endif
++
+ const char *link_strerror (int);
+ 
+ #endif /* LINK_HACKS_H */

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/net/ORBit2/Makefile,v
retrieving revision 1.47
diff -u -r1.47 Makefile
--- Makefile	30 Mar 2006 20:48:55 -0000	1.47
+++ Makefile	16 Apr 2006 09:36:29 -0000
@@ -27,6 +27,15 @@
 PKGCONFIG_OVERRIDE+=	ORBit-imodule-2.0.pc.in
 PKGCONFIG_OVERRIDE+=	src/idl-compiler/ORBit-idl-2.0.pc.in
 
+PKG_OPTIONS_VAR=	PKG_OPTIONS.ORBit2
+PKG_SUPPORTED_OPTIONS=	inet6
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Minet6)
+CPPFLAGS+=		-DWANT_INET6
+.endif
+
 CPPFLAGS.Darwin+=	-DBIND_8_COMPAT
 
 PRINT_PLIST_AWK+=	/^@dirrm share\/idl$$/ \
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/net/ORBit2/distinfo,v
retrieving revision 1.27
diff -u -r1.27 distinfo
--- distinfo	30 Mar 2006 20:48:55 -0000	1.27
+++ distinfo	16 Apr 2006 09:36:29 -0000
@@ -4,3 +4,4 @@
 RMD160 (ORBit2-2.14.0.tar.bz2) = 1e8eb52b8b95f70fa80b217a41d0bcac35c333c0
 Size (ORBit2-2.14.0.tar.bz2) = 704207 bytes
 SHA1 (patch-aa) = 6e87e28e3634908f35c219f81a47d0353cfaf551
+SHA1 (patch-ab) = c3070f6fdeb7d0500f3307ae3ded2073c44b2572

>Unformatted:
 		pkgsrc snapshot 15-April-2006