Index: lang/gauche/Makefile
===================================================================
--- lang/gauche/Makefile	(revision 317094)
+++ lang/gauche/Makefile	(working copy)
@@ -6,61 +6,91 @@
 #
 
 PORTNAME=	gauche
-PORTVERSION=	0.9.2	# Keep databases/gauche-gdbm in sync with this
+PORTVERSION=	0.9.3.3	# Keep databases/gauche-gdbm in sync with this
 CATEGORIES=	lang scheme
 MASTER_SITES=	SF/${PORTNAME}/Gauche/
 DISTNAME=	Gauche-${PORTVERSION}
 EXTRACT_SUFX=	.tgz
 
-MAINTAINER=	erik@bz.bzflag.bz
+MAINTAINER=	erik@elfga.com
 COMMENT=	Scheme script interpreter with multibyte character handling
 
-# Choices are: "pthreads" and "no"
-GAUCHE_THREADS?=	pthreads
-# Choices are: "utf-8", "euc-jp", "shift-jis" and "no"
-GAUCHE_ENCODING?=	utf-8
+OPTIONS_DEFINE=	GDBM SLIB DOCS MANPAGES
+OPTIONS_SINGLE=	THREADS MULTIBYTE
+OPTIONS_SINGLE_THREADS=	PTHREADS NO_THREADS
+OPTIONS_SINGLE_MULTIBYTE=UTF8 EUCJP SJIS NO_MULTIBYTE
+OPTIONS_DEFAULT=PTHREADS UTF8 MANPAGES
+SLIB_DESC=	Create catalogue for SLIB port
+PTHREADS_DESC=	Enable POSIX thread support
+NO_THREADS_DESC=No threading support
+EUCJP_DESC=	EUC-JP encoding support
+SJIS_DESC=	Shift_JIS encoding support
+NO_MULTIBYTE_DESC=No multibyte character encoding support
+NO_OPTIONS_SORT=yes
 
 # breaks in ext/uvecor.c on some locales
 MAKE_ENV=	LANG=C
 # avoids a problem with with ccache's pre-processor optimization
 MAKE_ENV+=	CCACHE_CPP2=1
 
-#INFOSECTION=	The Algorithmic Language Scheme
-
 DATADIR?=	${PREFIX}/share/${PORTNAME}-0.9
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--enable-threads=${GAUCHE_THREADS} \
-		--enable-multibyte=${GAUCHE_ENCODING} \
-		--with-slib=${LOCALBASE}/share/slib \
-		--with-iconv=${LOCALBASE}
+CONFIGURE_ARGS=	--enable-tls=none \
+ 		--with-iconv=${LOCALBASE}
 PLIST_SUB=	VERSION="${PORTVERSION}" \
 		TARGET="${CONFIGURE_TARGET}"
-
-#		INFOSECTION="${INFOSECTION}"
-
 USES=		iconv
 USE_LDCONFIG=	yes
+MAKE_JOBS_UNSAFE=yes
 
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MDOCS}
+INFO=		gauche-refe gauche-refj
+.endif
+
+.if ${PORT_OPTIONS:MMANPAGES}
+
 MAN1=		gosh.1 gauche-cesconv.1 gauche-config.1 gauche-install.1 \
 		gauche-package.1
 
-MAKE_JOBS_UNSAFE=yes
+.else
+MANPREFIX=	${WRKDIR}
+.endif
 
-.if !defined(NOPORTDOCS)
-INFO=		gauche-refe gauche-refj
+.if ${PORT_OPTIONS:MGDBM}
+CONFIGURE_ARGS+=--with-local=${LOCALBASE}
+LIB_DEPENDS+=	gdbm:${PORTSDIR}/databases/gdbm
+PLIST_SUB+=	GDBM=""
+.else
+PLIST_SUB+=	GDBM="@comment "
 .endif
 
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "ia64" || ${ARCH} == "powerpc" || ${ARCH} == "sparc64"
-BROKEN=		Does not compile on ia64, powerpc, or sparc64
+.if ${PORT_OPTIONS:MSLIB}
+BUILD_DEPENDS+=	slib>=0:${PORTSDIR}/lang/slib
+CONFIGURE_ARGS+=--with-slib=${LOCALBASE}/share/slib
+PLIST_SUB+=	SLIB=""
+.else
+CONFIGURE_ARGS+=--with-slib=${WRKDIR}
+PLIST_SUB+=	SLIB="@comment "
 .endif
 
-.if ${ARCH} == "amd64" && ${OSVERSION} >= 900000
-MANUAL_PACKAGE_BUILD=	segfaults on pointyhat
+.if ${PORT_OPTIONS:MUTF8}
+CONFIGURE_ARGS+=	--enable-multibyte=utf-8
+.elif ${PORT_OPTIONS:MEUCJP}
+CONFIGURE_ARGS+=	--enable-multibyte=euc-jp
+.elif ${PORT_OPTIONS:MSJIS}
+CONFIGURE_ARGS+=	--enable-multibyte=sjis
+.else
+CONFIGURE_ARGS+=	--enable-multibyte=none
 .endif
 
+.include <bsd.port.pre.mk>
+
+NOT_FOR_ARCHS=		ia64 powerpc sparc64
+NOT_FOR_ARCHS_REASON=	Does not compile on ia64, powerpc, or sparc64
+
 post-patch:
 .if defined(NOPORTDOCS)
 	@${REINPLACE_CMD} -e 's|all: info|all:|' ${WRKSRC}/doc/Makefile.in
@@ -68,7 +98,6 @@
 
 post-install:
 	${STRIP_CMD} ${PREFIX}/bin/gosh
-	${RM} -f ${PREFIX}/share/gauche/${PORTVERSION}/lib/slibcat
 	${MKDIR} ${PREFIX}/share/gauche/site/lib/.packages
 	${TOUCH} ${PREFIX}/share/gauche/site/lib/.packages/.keepme
 	${TOUCH} ${PREFIX}/lib/gauche-0.9/site/${CONFIGURE_TARGET}/.keepme
@@ -78,9 +107,11 @@
 	${TOUCH} ${DOCSDIR}/.keepme
 	${MKDIR} ${EXAMPLESDIR}
 	${TOUCH} ${EXAMPLESDIR}/.keepme
-	${INSTALL_MAN} ${WRKSRC}/doc/*.1 ${MANPREFIX}/man/man1/
-.if !defined(NOPORTDOCS)
+.if ${PORT_OPTIONS:MDOCS}
 	${INSTALL_DATA} ${WRKSRC}/doc/*.info.gz ${WRKSRC}/doc/*.info-[1-7].gz ${PREFIX}/info/
 .endif
 
+regression-test: build
+	cd ${WRKSRC} && ${MAKE} check
+
 .include <bsd.port.post.mk>
Index: lang/gauche/distinfo
===================================================================
--- lang/gauche/distinfo	(revision 317094)
+++ lang/gauche/distinfo	(working copy)
@@ -1,2 +1,2 @@
-SHA256 (Gauche-0.9.2.tgz) = 16c9dfc9fa3f556f75d13e9b5a701f95e9f7749379e6d007a3a6dc561a625736
-SIZE (Gauche-0.9.2.tgz) = 4452767
+SHA256 (Gauche-0.9.3.3.tgz) = 3d8b70075faa0f7a24f8d112cc102ee3e1066680cdd19d324d59f33fab79caac
+SIZE (Gauche-0.9.3.3.tgz) = 5042189
Index: lang/gauche/pkg-descr
===================================================================
--- lang/gauche/pkg-descr	(revision 317094)
+++ lang/gauche/pkg-descr	(working copy)
@@ -4,4 +4,4 @@
 It can handle multibyte character strings natively.
 
 Author:	Shiro Kawai <shiro@acm.org>
-WWW:	http://www.shiro.dreamhost.com/scheme/gauche/index.html
+WWW: http://practical-scheme.net/gauche/
Index: lang/gauche/pkg-plist
===================================================================
--- lang/gauche/pkg-plist	(revision 317094)
+++ lang/gauche/pkg-plist	(working copy)
@@ -14,13 +14,13 @@
 %%DATADIR%%/%%VERSION%%/lib/dbm.scm
 %%DATADIR%%/%%VERSION%%/lib/dbm/dump
 %%DATADIR%%/%%VERSION%%/lib/dbm/fsdbm.scm
+%%GDBM%%%%DATADIR%%/%%VERSION%%/lib/dbm/gdbm.scm
 %%DATADIR%%/%%VERSION%%/lib/dbm/ndbm.scm
 %%DATADIR%%/%%VERSION%%/lib/dbm/restore
 %%DATADIR%%/%%VERSION%%/lib/file/filter.scm
 %%DATADIR%%/%%VERSION%%/lib/file/util.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche-init.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/array.scm
-%%DATADIR%%/%%VERSION%%/lib/gauche/auxsys.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/cgen.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/cgen/cise.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/cgen/literal.scm
@@ -47,6 +47,7 @@
 %%DATADIR%%/%%VERSION%%/lib/gauche/interactive.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/interactive/info.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/interpolate.scm
+%%DATADIR%%/%%VERSION%%/lib/gauche/lazy.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/let-opt.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/libutil.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/listener.scm
@@ -85,6 +86,7 @@
 %%DATADIR%%/%%VERSION%%/lib/gauche/sortutil.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/stringutil.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/syslog.scm
+%%DATADIR%%/%%VERSION%%/lib/gauche/sysutil.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/termios.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/test.scm
 %%DATADIR%%/%%VERSION%%/lib/gauche/threads.scm
@@ -119,8 +121,10 @@
 %%DATADIR%%/%%VERSION%%/lib/rfc/quoted-printable.scm
 %%DATADIR%%/%%VERSION%%/lib/rfc/sha.scm
 %%DATADIR%%/%%VERSION%%/lib/rfc/sha1.scm
+%%DATADIR%%/%%VERSION%%/lib/rfc/tls.scm
 %%DATADIR%%/%%VERSION%%/lib/rfc/uri.scm
 %%DATADIR%%/%%VERSION%%/lib/rfc/zlib.scm
+%%SLIB%%%%DATADIR%%/%%VERSION%%/lib/slibcat
 %%DATADIR%%/%%VERSION%%/lib/slib.scm
 %%DATADIR%%/%%VERSION%%/lib/srfi-0.scm
 %%DATADIR%%/%%VERSION%%/lib/srfi-1.scm
@@ -197,9 +201,9 @@
 bin/gosh
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/binary--io.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/crypt--bcrypt.so
+%%GDBM%%lib/gauche-0.9/%%VERSION%%/%%TARGET%%/dbm--gdbm.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/dbm--ndbm.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/file--util.so
-lib/gauche-0.9/%%VERSION%%/%%TARGET%%/gauche--auxsys.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/gauche--charconv.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/gauche--collection.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/gauche--fcntl.so
@@ -223,6 +227,7 @@
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/parser--peg.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/rfc--md5.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/rfc--sha.so
+lib/gauche-0.9/%%VERSION%%/%%TARGET%%/rfc--tls.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/rfc--zlib.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/srfi-1.so
 lib/gauche-0.9/%%VERSION%%/%%TARGET%%/srfi-13.so
@@ -254,6 +259,7 @@
 lib/gauche-0.9/%%VERSION%%/include/gauche/code.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/collection.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/config.h
+lib/gauche-0.9/%%VERSION%%/include/gauche/config_threads.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/exception.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/extend.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/extern.h
@@ -284,6 +290,7 @@
 lib/gauche-0.9/%%VERSION%%/include/gauche/vm.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/vminsn.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/weak.h
+lib/gauche-0.9/%%VERSION%%/include/gauche/wthread.h
 lib/gauche-0.9/%%VERSION%%/include/gauche/win-compat.h
 lib/gauche-0.9/%%VERSION%%/include/gc.h
 lib/gauche-0.9/%%VERSION%%/include/gc_allocator.h
@@ -298,10 +305,10 @@
 lib/gauche-0.9/site/%%TARGET%%/.keepme
 lib/libgauche-0.9.so
 lib/libgauche-0.9.so.0
-lib/libgauche-0.9.so.0.2
+lib/libgauche-0.9.so.0.3
 share/aclocal/gauche.m4
-share/doc/gauche/.keepme
-share/examples/gauche/.keepme
+%%DOCSDIR%%/.keepme
+%%EXAMPLESDIR%%/.keepme
 share/gauche/%%VERSION%%/lib/.packages/.keepme
 share/gauche/site/lib/.packages/.keepme
 @dirrm share/gauche/site/lib/.packages
