Index: Makefile
===================================================================
--- Makefile	(revision 310152)
+++ Makefile	(working copy)
@@ -1,15 +1,11 @@
-# New ports collection makefile for:	itcl
-# Date created:		Aug 17 1996
-# Whom:			chuckr
-#
+# Created by: chuckr
 # $FreeBSD$
-#
 
 PORTNAME=	itcl
-PORTVERSION=	3.4b1
-PORTREVISION=	1
+PORTVERSION=	3.4.1
+PORTEPOCH=	1
 CATEGORIES=	lang tcl
-MASTER_SITES=	SF/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4
+MASTER_SITES=	SF/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4.1
 DISTNAME=	itcl${PORTVERSION}
 
 MAINTAINER=	erik@bz.bzflag.bz
@@ -30,8 +26,11 @@
 PLIST_SUB+=	MAJOR=${MAJOR} MINOR=${MINOR}
 ITCL_LIB=	libitcl.so
 MAKEFILE=	${FILESDIR}/Makefile.lib
-WRKSRC=		${WRKDIR}/itcl3.4
+WRKSRC=		${WRKDIR}/${PORTNAME}${PORTVERSION}
 
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-tcl=${TCL_LIBDIR}
+
 MANCOMPRESSED=	no
 MANN=		body.n class.n code.n configbody.n delete.n ensemble.n find.n
 MANN+=		is.n itcl.n itclvars.n local.n scope.n
@@ -43,10 +42,11 @@
 
 post-build test:
 	cd ${WRKSRC} && ${SETENV} ITCL_LIBRARY=${WRKSRC}/library \
-		${TCLSH} tests/all.tcl -load "load ./${ITCL_LIB}"
+		${TCLSH} tests/all.tcl -load "load ./${ITCL_LIB_FILE}"
 
 post-install:
 	${INSTALL_DATA} ${WRKSRC}/doc/*.n ${PREFIX}/man/mann/
+	${LN} -sf libitcl.so.3 ${PREFIX}/lib/libitcl.so
 .for FILE in ${MAN3}
 	${INSTALL_DATA} ${WRKSRC}/doc/${FILE:S/Itcl_//} ${PREFIX}/man/man3/${FILE}
 .endfor
Index: distinfo
===================================================================
--- distinfo	(revision 310152)
+++ distinfo	(working copy)
@@ -1,2 +1,2 @@
-SHA256 (itcl3.4b1.tar.gz) = dc99fcf6c00b00774dbfb94ccc437ea3e6315a198645b6d2acf8acba8fdb4608
-SIZE (itcl3.4b1.tar.gz) = 306342
+SHA256 (itcl3.4.1.tar.gz) = 5330832ce72da97610497a58eca904287d0ff91f9ec741a4e4810d5b933c8568
+SIZE (itcl3.4.1.tar.gz) = 263316
Index: files/patch-test
===================================================================
--- files/patch-test	(revision 310152)
+++ files/patch-test	(working copy)
@@ -1,26 +0,0 @@
---- tests/ensemble.test	2004-02-12 13:09:50.000000000 -0500
-+++ tests/ensemble.test	2010-01-24 14:57:20.000000000 -0500
-@@ -97,12 +97,19 @@
- "itcl::ensemble test_numbers {part foo}"}}
- 
--test ensemble-1.11 {part argument errors are handled gracefully} {
--    list [catch "itcl::ensemble test_numbers {part foo {{}} {}}" msg] $msg $errorInfo
--} {1 {procedure "foo" has argument with no name} {procedure "foo" has argument with no name
-+if {$tcl_version < 8.5} {
-+	set errmsg111 {procedure "foo" has argument with no name}
-+} else {
-+	set errmsg111 {argument with no name}
-+}
-+set errmsg111 [format {1 {%s} {%s
-     while executing
- "part foo {{}} {}"
-     ("ensemble" body line 1)
-     invoked from within
--"itcl::ensemble test_numbers {part foo {{}} {}}"}}
-+"itcl::ensemble test_numbers {part foo {{}} {}}"}} $errmsg111 $errmsg111]
-+
-+test ensemble-1.11 {part argument errors are handled gracefully} {
-+    list [catch "itcl::ensemble test_numbers {part foo {{}} {}}" msg] $msg $errorInfo
-+} $errmsg111
- 
- test ensemble-2.0 {defining subensembles} {
Index: files/patch-warnings
===================================================================
--- files/patch-warnings	(revision 310152)
+++ files/patch-warnings	(working copy)
@@ -1,164 +0,0 @@
---- generic/itcl_bicmds.c	2008-10-04 11:22:39.000000000 -0400
-+++ generic/itcl_bicmds.c	2010-01-24 14:39:45.000000000 -0500
-@@ -1022,5 +1022,5 @@
-     Tcl_Obj *objPtr = NULL;
- 
--    static char *options[] = {
-+    static const char *options[] = {
-         "-args", "-body", "-name", "-protection", "-type",
-         (char*)NULL
-@@ -1213,9 +1213,9 @@
-     Tcl_Obj *CONST objv[];   /* argument objects */
- {
--    char *varName = NULL;
-+    const char *varName = NULL;
-     Tcl_Obj *resultPtr = NULL;
-     Tcl_Obj *objPtr = NULL;
- 
--    static char *options[] = {
-+    static const char *options[] = {
-         "-config", "-init", "-name", "-protection", "-type",
-         "-value", (char*)NULL
---- generic/itcl_cmds.c	2008-12-15 15:02:58.000000000 -0500
-+++ generic/itcl_cmds.c	2010-01-24 14:41:33.000000000 -0500
-@@ -30,4 +30,5 @@
-  */
- #include "itclInt.h"
-+#include <stdint.h>
- 
- /*
-@@ -883,5 +884,5 @@
-     Tcl_Obj *CONST objv[];   /* argument objects */
- {
--    int pLevel = (int)clientData;
-+    int pLevel = (intptr_t)clientData;
- 
-     int result;
---- generic/itcl_ensemble.c	2008-12-15 15:02:58.000000000 -0500
-+++ generic/itcl_ensemble.c	2010-01-24 14:47:49.000000000 -0500
-@@ -103,5 +103,5 @@
- 
- static int CreateEnsemble _ANSI_ARGS_((Tcl_Interp *interp,
--    Ensemble *parentEnsData, char *ensName));
-+    Ensemble *parentEnsData, const char *ensName));
- 
- static int AddEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp,
-@@ -112,5 +112,5 @@
- static void DeleteEnsemble _ANSI_ARGS_((ClientData clientData));
- 
--static int FindEnsemble _ANSI_ARGS_((Tcl_Interp *interp, char **nameArgv,
-+static int FindEnsemble _ANSI_ARGS_((Tcl_Interp *interp, const char **nameArgv,
-     int nameArgc, Ensemble** ensDataPtr));
- 
-@@ -212,5 +212,5 @@
-     CONST char* ensName;           /* name of the new ensemble */
- {
--    char **nameArgv = NULL;
-+    const char **nameArgv = NULL;
-     int nameArgc;
-     Ensemble *parentEnsData;
-@@ -319,5 +319,5 @@
-     Tcl_CmdDeleteProc *deleteProc; /* procedure used to destroy client data */
- {
--    char **nameArgv = NULL;
-+    const char **nameArgv = NULL;
-     int nameArgc;
-     Ensemble *ensData;
-@@ -396,5 +396,5 @@
-     Tcl_CmdInfo *infoPtr;          /* returns: info associated with part */
- {
--    char **nameArgv = NULL;
-+    const char **nameArgv = NULL;
-     int nameArgc;
-     Ensemble *ensData;
-@@ -508,5 +508,5 @@
-     Tcl_Obj *objPtr;       /* returns: summary of usage info */
- {
--    char **nameArgv = NULL;
-+    const char **nameArgv = NULL;
-     int nameArgc;
-     Ensemble *ensData;
-@@ -752,5 +752,5 @@
-     Tcl_Interp *interp;            /* interpreter to be updated */
-     Ensemble *parentEnsData;       /* parent ensemble or NULL */
--    char *ensName;                 /* name of the new ensemble */
-+    const char *ensName;           /* name of the new ensemble */
- {
-     Ensemble *ensData;
-@@ -957,5 +957,5 @@
- FindEnsemble(interp, nameArgv, nameArgc, ensDataPtr)
-     Tcl_Interp *interp;            /* interpreter containing the ensemble */
--    char **nameArgv;               /* path of names leading to ensemble */
-+    const char **nameArgv;         /* path of names leading to ensemble */
-     int nameArgc;                  /* number of strings in nameArgv */
-     Ensemble** ensDataPtr;         /* returns: ensemble data */
---- generic/itcl_methods.c	2008-12-15 15:02:58.000000000 -0500
-+++ generic/itcl_methods.c	2010-01-24 14:50:55.000000000 -0500
-@@ -981,6 +981,6 @@
-     }
-     else if ((mcode->flags & ITCL_IMPLEMENT_ARGCMD) != 0) {
--        char **argv;
--        argv = (char**)ckalloc( (unsigned)(objc*sizeof(char*)) );
-+        const char *argv[objc];
-+
-         for (i=0; i < objc; i++) {
-             argv[i] = Tcl_GetStringFromObj(objv[i], (int*)NULL);
-@@ -989,6 +989,4 @@
-         result = (*mcode->cfunc.argCmd)(mcode->clientData,
-             interp, objc, argv);
--
--        ckfree((char*)argv);
-     }
-     else if ((mcode->flags & ITCL_IMPLEMENT_TCL) != 0) {
-@@ -1050,5 +1048,5 @@
- 
-     int i, argc, fargc;
--    char **argv, **fargv;
-+    const char **argv, **fargv;
-     CompiledLocal *localPtr, *last;
- 
-@@ -1825,5 +1823,5 @@
- 
-     int defargc;
--    char **defargv = NULL;
-+    const char **defargv = NULL;
-     Tcl_Obj **defobjv = NULL;
-     int configc = 0;
---- generic/itcl_objects.c	2007-08-07 16:05:30.000000000 -0400
-+++ generic/itcl_objects.c	2010-01-24 14:52:10.000000000 -0500
-@@ -1155,5 +1155,5 @@
- {
-     int namec;
--    char **namev;
-+    const char **namev;
-     Tcl_Interp *errs;
-     Tcl_CmdInfo cmdInfo;
---- generic/itcl_util.c	2007-08-07 16:05:30.000000000 -0400
-+++ generic/itcl_util.c	2010-01-24 14:54:01.000000000 -0500
-@@ -1274,5 +1274,5 @@
-     CONST char *pos;
-     int listc, result;
--    char **listv;
-+    const char **listv;
- 
-     cmdName = ckalloc((unsigned)strlen(name)+1);
---- generic/itclInt.h.orig	2008-12-15 21:02:58.000000000 +0100
-+++ generic/itclInt.h	2012-08-31 16:07:23.000000000 +0200
-@@ -63,7 +63,7 @@
- #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6)
- #define ERRORLINE(interp) ((interp)->errorLine)
- #else
--#define ERRORLINE(interp) (Tcl_GetErrorLine(interp))
-+#define ERRORLINE(interp) (Tcl_GetErrorLine((Tcl_Interp *)interp))
- #endif
- 
- #define ITCL_TCL_PRE_8_5 (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 5)
-@@ -206,7 +206,7 @@
-     Tcl_HashEntry entry;
- } ItclVarInHash;
- 
--#define ItclOffset(type, field) ((int) ((char *) &((type *) 0)->field))
-+#define ItclOffset(type, field) ((intptr_t)((char *) &((type *) 0)->field))
- 
- #define itclOldRuntime (itclVarFlagOffset!=0)
- 
Index: pkg-plist
===================================================================
--- pkg-plist	(revision 310152)
+++ pkg-plist	(working copy)
@@ -2,6 +2,7 @@
 include/itcl%%MAJOR%%.%%MINOR%%/itclInt.h
 include/itcl%%MAJOR%%.%%MINOR%%/itclDecls.h
 include/itcl%%MAJOR%%.%%MINOR%%/itclIntDecls.h
+lib/libitcl.so.3
 lib/libitcl.so.%%MAJOR%%
 lib/libitcl.so
 lib/libitcl.a
