summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhauke <hauke@pkgsrc.org>2015-01-27 15:21:52 +0000
committerhauke <hauke@pkgsrc.org>2015-01-27 15:21:52 +0000
commit311fb82d5159d3c3e401ea8b044e850ed5ae0952 (patch)
tree15dc1d8eb2f8926e68cb1e43df58ac3f18b4e04b
parent3ecbc07db4cfce5ba738804844084874667daaf9 (diff)
downloadpkgsrc-311fb82d5159d3c3e401ea8b044e850ed5ae0952.tar.gz
Builds and installs on Solaris. The changes:
o various explicit #includes o sources use {u_,u}int*_t in equal share, so just build with -D o providing Solaris' MAXHOSTNAMELEN with -D avoids patching half a dozen files o misc. build fixes Use pkgsrc CONF_FILES framework Make pkglint happy TODO: Test on Solaris, SMF config files for venus and server
-rw-r--r--net/coda/Makefile38
-rw-r--r--net/coda/PLIST8
-rw-r--r--net/coda/distinfo17
-rw-r--r--net/coda/patches/patch-coda-src_kerndep_coda.h23
-rw-r--r--net/coda/patches/patch-coda-src_kerndep_pioctl.h15
-rw-r--r--net/coda/patches/patch-coda-src_librepair_repio.cc103
-rw-r--r--net/coda/patches/patch-coda-src_resolution_rescoord.cc14
-rw-r--r--net/coda/patches/patch-coda-src_venus_Makefile.in15
-rw-r--r--net/coda/patches/patch-coda-src_venus_fso_dir.cc14
-rw-r--r--net/coda/patches/patch-coda-src_venus_venus.cc14
-rw-r--r--net/coda/patches/patch-coda-src_venus_venusrecov.cc14
-rw-r--r--net/coda/patches/patch-coda-src_venus_vproc_vfscalls.cc16
-rw-r--r--net/coda/patches/patch-coda-src_venus_worker.cc (renamed from net/coda/patches/patch-ac)16
-rw-r--r--net/coda/patches/patch-coda-src_vice_Makefile.in15
-rw-r--r--net/coda/patches/patch-coda-src_vice_codaproc2.cc14
-rw-r--r--net/coda/patches/patch-coda-src_volutil_vol-ancient.cc14
-rw-r--r--net/coda/patches/patch-coda-src_volutil_vol-dump.cc14
17 files changed, 350 insertions, 14 deletions
diff --git a/net/coda/Makefile b/net/coda/Makefile
index 8d34497460f..c4d27fa62d6 100644
--- a/net/coda/Makefile
+++ b/net/coda/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.21 2015/01/04 03:44:00 dholland Exp $
+# $NetBSD: Makefile,v 1.22 2015/01/27 15:21:52 hauke Exp $
#
DISTNAME= coda-6.9.5
-PKGREVISION= 7
+PKGREVISION= 8
CATEGORIES= net
MASTER_SITES= http://www.coda.cs.cmu.edu/pub/coda/src/
@@ -18,10 +18,36 @@ NOT_FOR_PLATFORM+= DragonFly-*-*
# See http://coda.wikidev.net/Quick_Client_Action for hints on how
# to configure venus.
-USE_TOOLS+= gmake pkg-config perl perl:run
-GNU_CONFIGURE= yes
-USE_LANGUAGES= c c++
-REPLACE_PERL= coda-src/scripts/tape.pl coda-src/scripts/volmunge
+PKG_SYSCONFSUBDIR= coda
+
+#SMF_INSTANCES= TODO
+
+EGDIR= ${PREFIX}/share/examples/coda
+CONF_FILES+= ${EGDIR}/server.conf ${PKG_SYSCONFDIR}/server.conf
+CONF_FILES+= ${EGDIR}/venus.conf ${PKG_SYSCONFDIR}/venus.conf
+CONF_FILES+= ${EGDIR}/realms ${PKG_SYSCONFDIR}/realms
+
+INSTALLATION_DIRS+= ${EGDIR}
+
+USE_TOOLS+= gmake pkg-config perl perl:run
+GNU_CONFIGURE= yes
+USE_LANGUAGES= c c++
+REPLACE_PERL= coda-src/scripts/tape.pl coda-src/scripts/volmunge
+
+# Sources use both in equal share
+CFLAGS.SunOS+= -Du_int32_t=uint32_t
+CFLAGS.SunOS+= -Du_int16_t=uint16_t
+CFLAGS.SunOS+= -Du_int8_t=uint8_t
+# Use the value from <netdb.h>
+CFLAGS.SunOS+= -DMAXHOSTNAMELEN=256
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/coda-src/vice/server.conf.ex \
+ ${DESTDIR}${EGDIR}/server.conf
+ ${INSTALL_DATA} ${WRKSRC}/coda-src/venus/venus.conf.ex \
+ ${DESTDIR}${EGDIR}/venus.conf
+ ${INSTALL_DATA} ${WRKSRC}/coda-src/venus/realms \
+ ${DESTDIR}${EGDIR}/realms
.include "../../devel/lwp/buildlink3.mk"
.include "../../devel/rpc2/buildlink3.mk"
diff --git a/net/coda/PLIST b/net/coda/PLIST
index 442a9ecc2ca..926bf305f14 100644
--- a/net/coda/PLIST
+++ b/net/coda/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2009/06/14 18:09:24 joerg Exp $
+@comment $NetBSD: PLIST,v 1.5 2015/01/27 15:21:52 hauke Exp $
bin/au
bin/cfs
bin/clog
@@ -24,9 +24,6 @@ bin/smon2
bin/spy
bin/xaskuser
bin/xfrepair
-etc/coda/realms
-etc/coda/server.conf.ex
-etc/coda/venus.conf.ex
man/man1/au.1
man/man1/cfs.1
man/man1/clog.1
@@ -107,3 +104,6 @@ sbin/vice-setup-user
sbin/volmunge
sbin/volutil
sbin/vutil
+share/examples/coda/realms
+share/examples/coda/server.conf
+share/examples/coda/venus.conf
diff --git a/net/coda/distinfo b/net/coda/distinfo
index c68a8459a52..cc607920cc5 100644
--- a/net/coda/distinfo
+++ b/net/coda/distinfo
@@ -1,8 +1,21 @@
-$NetBSD: distinfo,v 1.10 2012/08/03 10:32:54 marino Exp $
+$NetBSD: distinfo,v 1.11 2015/01/27 15:21:52 hauke Exp $
SHA1 (coda-6.9.5.tar.gz) = 248af27c506f5c3be4c4e53f821c9c904580fe60
RMD160 (coda-6.9.5.tar.gz) = 9ef0643aacc7d1352ef253af00d4c7e6ad9e1f78
Size (coda-6.9.5.tar.gz) = 1723098 bytes
-SHA1 (patch-ac) = b9f9fd68c633e09717252562b06238b87df1a6b7
SHA1 (patch-ad) = adfee7c5d7de913ee3b898a13bf7acfeac52b765
SHA1 (patch-coda-src_dir_dirbody.c) = 3e3524a4a03ce359956ae00d9b24d1aa3292c752
+SHA1 (patch-coda-src_kerndep_coda.h) = 14af6b7554ce36c55f426ab62630df629c2df6db
+SHA1 (patch-coda-src_kerndep_pioctl.h) = 1eae6d05b461f6e235d8f290ef41c10877f59650
+SHA1 (patch-coda-src_librepair_repio.cc) = 3a79f16fb51bdeb76ccceb095f1409bec4bf098f
+SHA1 (patch-coda-src_resolution_rescoord.cc) = a885ced4a7bcfe38b14a0891d0ce84cc9c53ef19
+SHA1 (patch-coda-src_venus_Makefile.in) = ecfb5d2d8bf806dddaf360f2b36d12b871e9f0e2
+SHA1 (patch-coda-src_venus_fso_dir.cc) = 3e02f3bdb02639a82db1be9c138267431d36697c
+SHA1 (patch-coda-src_venus_venus.cc) = 93c115fb8a8b22df3fdb166162410c67820dcb4c
+SHA1 (patch-coda-src_venus_venusrecov.cc) = 089b6c5db50a78b7df9ca5c504628dacb3c550f9
+SHA1 (patch-coda-src_venus_vproc_vfscalls.cc) = da71de1648e09aefdd442c4ab3cb2463aad6d397
+SHA1 (patch-coda-src_venus_worker.cc) = d8308eea23d0583528e2e4b11b5ad6076e986410
+SHA1 (patch-coda-src_vice_Makefile.in) = 07744dcc45c269ecfe1f4c4feba37e7b7047c00b
+SHA1 (patch-coda-src_vice_codaproc2.cc) = 81dfacf9a0cda4bd8f891fbf0dacf0001a46bd02
+SHA1 (patch-coda-src_volutil_vol-ancient.cc) = e69f3e492aa78cbf5c4dbd34c15424ee7ebd150c
+SHA1 (patch-coda-src_volutil_vol-dump.cc) = 6405a0be3edeb1f1cdb74d705c0fcccae1a8cefc
diff --git a/net/coda/patches/patch-coda-src_kerndep_coda.h b/net/coda/patches/patch-coda-src_kerndep_coda.h
new file mode 100644
index 00000000000..18f39ffa795
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_kerndep_coda.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-coda-src_kerndep_coda.h,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS defines int*_t, but not u_int*_t.
+
+--- ./coda-src/kerndep/coda.h.orig 2007-08-01 18:32:36.000000000 +0000
++++ ./coda-src/kerndep/coda.h
+@@ -112,11 +112,14 @@ typedef unsigned long long u_quad_t;
+ #endif
+
+ /* Solaris Definitions */
+-#if defined(sun)
++#if defined(__sun) && defined(__SVR4)
+ #include <sys/types.h>
+ #include <sys/time.h>
++typedef unsigned char u_int8_t;
++typedef unsigned short u_int16_t;
++typedef unsigned int u_int32_t;
+ typedef unsigned long long u_quad_t;
+-#undef __BIT_TYPES_DEFINED__
++#define __BIT_TYPES_DEFINED__
+ #endif
+
+ /* Mac OS X / Darwin */
diff --git a/net/coda/patches/patch-coda-src_kerndep_pioctl.h b/net/coda/patches/patch-coda-src_kerndep_pioctl.h
new file mode 100644
index 00000000000..c3fd5f63cb9
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_kerndep_pioctl.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-coda-src_kerndep_pioctl.h,v 1.3 2015/01/27 15:21:52 hauke Exp $
+
+SunOS wants missing _IOC* defines, too.
+
+--- coda-src/kerndep/pioctl.h.orig 2006-11-03 15:58:08.000000000 +0000
++++ coda-src/kerndep/pioctl.h
+@@ -81,7 +81,7 @@ int pioctl(const char *path, unsigned lo
+ /* unpacking macros */
+ #ifndef _IOC_NR
+
+-#if defined(__NetBSD__) || defined(__FreeBSD__)
++#if defined(__NetBSD__) || defined(__FreeBSD__) || (defined (__sun) && defined(__SVR4))
+ #define _IOC_TYPEMASK 0xff
+ #define _IOC_TYPESHIFT 8
+ #define _IOC_NRMASK 0xff
diff --git a/net/coda/patches/patch-coda-src_librepair_repio.cc b/net/coda/patches/patch-coda-src_librepair_repio.cc
new file mode 100644
index 00000000000..6e27d3f545c
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_librepair_repio.cc
@@ -0,0 +1,103 @@
+$NetBSD: patch-coda-src_librepair_repio.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS has ERR #defined somewhere, rename goto label
+
+--- ./coda-src/librepair/repio.cc.orig 2007-12-17 17:20:11.000000000 +0000
++++ ./coda-src/librepair/repio.cc
+@@ -179,7 +179,7 @@ int repair_getdfile(char *fname, int inf
+
+ if (replicaList == NULL) {
+ sprintf(errmsg, "repair_getdfile: bad replicaList ptr!");
+- goto ERR;
++ goto Error;
+ }
+
+ if (fname == NULL) ff = fdopen(infd, "r");
+@@ -195,14 +195,14 @@ int repair_getdfile(char *fname, int inf
+ fread(&x, sizeof(int), 1, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: replicaCount parsing failed!");
+- goto ERR;
++ goto Error;
+ }
+ *replicaCount = ntohl(x);
+
+ *replicaList = (struct listhdr *) calloc(*replicaCount, sizeof(struct listhdr));
+ if (*replicaList == NULL) {
+ sprintf(errmsg, "repair_getdfile: replicaList allocation failed!\n\telements= %x\tx= %d\tsizeof(struct listhdr)= %d\n", *replicaCount, x, sizeof(struct listhdr));
+- goto ERR;
++ goto Error;
+ }
+
+ perror("repair_getdfile: list created");
+@@ -211,14 +211,14 @@ int repair_getdfile(char *fname, int inf
+ fread(&x, sizeof(int), 1, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: fread failed!");
+- goto ERR;
++ goto Error;
+ }
+ (*replicaList)[i].replicaFid.Volume = ntohl(x);
+
+ fread(&x, sizeof(int), 1, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: fread failed!");
+- goto ERR;
++ goto Error;
+ }
+
+ (*replicaList)[i].repairCount = ntohl(x);
+@@ -232,7 +232,7 @@ int repair_getdfile(char *fname, int inf
+ sizeof(struct repair));
+ if (!r) {
+ sprintf(errmsg, "repair_getdfile: repair calloc failed!\n\tcount = %d\tsize = %d\n\n", (*replicaList)[i].repairCount, sizeof(struct repair));
+- goto ERR;
++ goto Error;
+ }
+ (*replicaList)[i].repairList = r;
+ }
+@@ -245,7 +245,7 @@ int repair_getdfile(char *fname, int inf
+ fread(&x, sizeof(int), 1, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: fread failed!\n");
+- goto ERR;
++ goto Error;
+ }
+ r[j].opcode = ntohl(x);
+
+@@ -253,7 +253,7 @@ int repair_getdfile(char *fname, int inf
+ fgets(s, MAXNAMELEN, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: fread failed!\n");
+- goto ERR;
++ goto Error;
+ }
+ *(s + strlen(s) - 1) = 0; /* nuke the '\n' left behind by fgets() */
+
+@@ -261,7 +261,7 @@ int repair_getdfile(char *fname, int inf
+ fgets(s, MAXNAMELEN, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: fread failed!\n");
+- goto ERR;
++ goto Error;
+ }
+ *(s + strlen(s) - 1) = 0; /* nuke the '\n' left behind by fgets() */
+
+@@ -269,7 +269,7 @@ int repair_getdfile(char *fname, int inf
+ fread(&x, sizeof(int), 1, ff);
+ if (ferror(ff) || feof(ff)) {
+ sprintf(errmsg, "repair_getdfile: fread failed!\n");
+- goto ERR;
++ goto Error;
+ }
+ r[j].parms[k] = ntohl(x);
+ }
+@@ -283,7 +283,7 @@ int repair_getdfile(char *fname, int inf
+
+ return(0);
+
+- ERR: /* Error exit */
++ Error: /* Error exit */
+ perror(errmsg);
+ if(fname != NULL)
+ fclose(ff);
diff --git a/net/coda/patches/patch-coda-src_resolution_rescoord.cc b/net/coda/patches/patch-coda-src_resolution_rescoord.cc
new file mode 100644
index 00000000000..bd72c7ff407
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_resolution_rescoord.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_resolution_rescoord.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <fcntl.h>.
+
+--- coda-src/resolution/rescoord.cc.orig 2006-11-02 19:46:35.000000000 +0000
++++ coda-src/resolution/rescoord.cc
+@@ -32,6 +32,7 @@ extern "C" {
+ #include <sys/types.h>
+ #include "coda_assert.h"
+ #include <stdio.h>
++#include <fcntl.h>
+ #include <struct.h>
+ #include <lwp/lwp.h>
+ #include <rpc2/rpc2.h>
diff --git a/net/coda/patches/patch-coda-src_venus_Makefile.in b/net/coda/patches/patch-coda-src_venus_Makefile.in
new file mode 100644
index 00000000000..7b002246043
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_venus_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-coda-src_venus_Makefile.in,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+Leave it to the CONF_FILES framework to install config files.
+
+--- coda-src/venus/Makefile.in.orig 2010-03-29 19:14:02.000000000 +0000
++++ coda-src/venus/Makefile.in
+@@ -294,7 +294,7 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ @BUILD_CLIENT_TRUE@dist_man_MANS = venus.8 vutil.8
+-@BUILD_CLIENT_TRUE@dist_sysconf_DATA = venus.conf.ex realms
++@BUILD_CLIENT_TRUE@dist_sysconf_DATA =
+ venus_SOURCES = binding.cc binding.h comm.cc comm.h comm_daemon.cc daemon.cc \
+ fso.h fso0.cc fso1.cc fso_cachefile.cc fso_cfscalls0.cc fso_cfscalls1.cc \
+ fso_cfscalls2.cc fso_daemon.cc fso_dir.cc hdb.cc hdb.h hdb_daemon.cc \
diff --git a/net/coda/patches/patch-coda-src_venus_fso_dir.cc b/net/coda/patches/patch-coda-src_venus_fso_dir.cc
new file mode 100644
index 00000000000..4b1ec0f9242
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_venus_fso_dir.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_venus_fso_dir.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <fcntl.h>.
+
+--- ./coda-src/venus/fso_dir.cc.orig 2010-03-23 18:10:43.000000000 +0000
++++ ./coda-src/venus/fso_dir.cc
+@@ -35,6 +35,7 @@ extern "C" {
+ #include <sys/types.h>
+ #include <sys/file.h>
+ #include <sys/stat.h>
++#include <fcntl.h>
+ #include <errno.h>
+ #include "coda_string.h"
+ #include <unistd.h>
diff --git a/net/coda/patches/patch-coda-src_venus_venus.cc b/net/coda/patches/patch-coda-src_venus_venus.cc
new file mode 100644
index 00000000000..bac5566ee4a
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_venus_venus.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_venus_venus.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <fcntl.h>.
+
+--- ./coda-src/venus/venus.cc.orig 2009-02-13 20:51:05.000000000 +0000
++++ ./coda-src/venus/venus.cc
+@@ -27,6 +27,7 @@ extern "C" {
+ #include <sys/file.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <fcntl.h>
+ #include <sys/time.h>
+ #include <sys/resource.h>
+ #include <sys/param.h>
diff --git a/net/coda/patches/patch-coda-src_venus_venusrecov.cc b/net/coda/patches/patch-coda-src_venus_venusrecov.cc
new file mode 100644
index 00000000000..bdc00aec11c
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_venus_venusrecov.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_venus_venusrecov.cc,v 1.3 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <limits.h>.
+
+--- ./coda-src/venus/venusrecov.cc.orig 2008-10-06 16:52:18.000000000 +0000
++++ ./coda-src/venus/venusrecov.cc
+@@ -35,6 +35,7 @@ extern "C" {
+ #include <stdio.h>
+ #include "coda_string.h"
+ #include <sys/param.h>
++#include <limits.h>
+ #include <sys/file.h>
+ #include <sys/stat.h>
+ #include <sys/wait.h>
diff --git a/net/coda/patches/patch-coda-src_venus_vproc_vfscalls.cc b/net/coda/patches/patch-coda-src_venus_vproc_vfscalls.cc
new file mode 100644
index 00000000000..f8a30074897
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_venus_vproc_vfscalls.cc
@@ -0,0 +1,16 @@
+$NetBSD: patch-coda-src_venus_vproc_vfscalls.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+The .vtype struct field is not declared for SunOS.
+
+--- ./coda-src/venus/vproc_vfscalls.cc.orig 2009-02-13 20:50:21.000000000 +0000
++++ ./coda-src/venus/vproc_vfscalls.cc
+@@ -124,7 +124,9 @@ void vproc::vget(struct venus_cnode *vpp
+ worker *w = (worker *)this;
+ union outputArgs *out = (union outputArgs *)w->msg->msg_buf;
+ out->coda_vget.Fid = *VenusToKernelFid(&cfidp->cfid_fid);
++#ifdef CDT_UNKNOWN
+ out->coda_vget.vtype = CDT_UNKNOWN;
++#endif
+ w->Return(w->msg, sizeof(struct coda_vget_out));
+ }
+
diff --git a/net/coda/patches/patch-ac b/net/coda/patches/patch-coda-src_venus_worker.cc
index 2a030ce6f3b..f1c4096ace5 100644
--- a/net/coda/patches/patch-ac
+++ b/net/coda/patches/patch-coda-src_venus_worker.cc
@@ -1,8 +1,10 @@
-$NetBSD: patch-ac,v 1.6 2012/08/03 10:32:55 marino Exp $
+$NetBSD: patch-coda-src_venus_worker.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
Added experimental code to support mounting on NetBSD >= 4.99.24. The
magic value of 256 is taken from coda_vfsops in coda_vfsops.c.
+gcc 4.7 on SunOS insists on de-'const'ifying venusRoot.
+
--- coda-src/venus/worker.cc.orig 2008-10-06 16:52:22.000000000 +0000
+++ coda-src/venus/worker.cc
@@ -403,11 +403,19 @@ void VFSMount()
@@ -11,7 +13,7 @@ magic value of 256 is taken from coda_vfsops in coda_vfsops.c.
#endif
-
+
-+#if defined(__NetBSD__) && defined(__NetBSD_Prereq__) && __NetBSD_Prereq__(4,99,24)
++#if defined(__NetBSD__) && __NetBSD_Version__ >= 499002400 /* 4.99.24 */
+ if (error < 0)
+ error = mount("coda", venusRoot, 0, (void *)kernDevice, 256);
+ if (error < 0)
@@ -26,3 +28,13 @@ magic value of 256 is taken from coda_vfsops in coda_vfsops.c.
#if defined(__FreeBSD__) && !defined(__FreeBSD_version)
#define MOUNT_CFS 19
if (error < 0)
+@@ -492,7 +500,8 @@ child_done:
+ mnttab = fopen(MNTTAB, "a+");
+ if (mnttab != NULL) {
+ mt.mnt_special = "CODA";
+- mt.mnt_mountp = venusRoot;
++ /* XXX */
++ mt.mnt_mountp = (char *)venusRoot;
+ mt.mnt_fstype = "CODA";
+ mt.mnt_mntopts = "rw";
+ mt.mnt_time = tm;
diff --git a/net/coda/patches/patch-coda-src_vice_Makefile.in b/net/coda/patches/patch-coda-src_vice_Makefile.in
new file mode 100644
index 00000000000..0e984212d2e
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_vice_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-coda-src_vice_Makefile.in,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+Leave it to the CONF_FILES framework to install config files.
+
+--- coda-src/vice/Makefile.in.orig 2010-03-29 19:14:02.000000000 +0000
++++ coda-src/vice/Makefile.in
+@@ -303,7 +303,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ @BUILD_SERVER_TRUE@noinst_LTLIBRARIES = libviceerror.la
+ @BUILD_SERVER_TRUE@dist_man_MANS = codasrv.8 servers.5
+-@BUILD_SERVER_TRUE@dist_sysconf_DATA = server.conf.ex
++@BUILD_SERVER_TRUE@dist_sysconf_DATA =
+ libviceerror_la_SOURCES = ViceErrorMsg.c
+ codasrv_SOURCES = srv.cc srvproc.cc srvproc2.cc coppend.cc coppend.h \
+ codaproc.cc codaproc.h codaproc2.cc clientproc.cc vicecb.cc \
diff --git a/net/coda/patches/patch-coda-src_vice_codaproc2.cc b/net/coda/patches/patch-coda-src_vice_codaproc2.cc
new file mode 100644
index 00000000000..b85b6108d31
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_vice_codaproc2.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_vice_codaproc2.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <limits.h>.
+
+--- coda-src/vice/codaproc2.cc.orig 2009-07-27 20:43:23.000000000 +0000
++++ coda-src/vice/codaproc2.cc
+@@ -35,6 +35,7 @@ extern "C" {
+ #endif
+
+ #include <sys/types.h>
++#include <limits.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
+ #include <sys/file.h>
diff --git a/net/coda/patches/patch-coda-src_volutil_vol-ancient.cc b/net/coda/patches/patch-coda-src_volutil_vol-ancient.cc
new file mode 100644
index 00000000000..be977008886
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_volutil_vol-ancient.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_volutil_vol-ancient.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <limits.h>.
+
+--- coda-src/volutil/vol-ancient.cc.orig 2006-05-27 16:03:34.000000000 +0000
++++ coda-src/volutil/vol-ancient.cc
+@@ -21,6 +21,7 @@ extern "C" {
+ #endif
+
+ #include <sys/types.h>
++#include <limits.h>
+ #include <errno.h>
+
+ #include <lwp/lwp.h>
diff --git a/net/coda/patches/patch-coda-src_volutil_vol-dump.cc b/net/coda/patches/patch-coda-src_volutil_vol-dump.cc
new file mode 100644
index 00000000000..f1b204ebfb8
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_volutil_vol-dump.cc
@@ -0,0 +1,14 @@
+$NetBSD: patch-coda-src_volutil_vol-dump.cc,v 1.1 2015/01/27 15:21:52 hauke Exp $
+
+SunOS does not implicitly include <limits.h>.
+
+--- coda-src/volutil/vol-dump.cc.orig 2008-08-08 19:09:39.000000000 +0000
++++ coda-src/volutil/vol-dump.cc
+@@ -50,6 +50,7 @@ extern "C" {
+ #include <errno.h>
+ #include <sys/stat.h>
+ #include <stdio.h>
++#include <limits.h>
+ #include <sys/file.h>
+ #include <netinet/in.h>
+