diff options
author | mi <mi@FreeBSD.org> | 2010-06-12 11:57:42 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2010-06-12 11:57:42 +0800 |
commit | 33e4306781426df636f536bb5ad3db53ddfd5f57 (patch) | |
tree | 443e044348f3d6378b780b5b8f31a2f6f2511e8b /lang/itcl | |
parent | a639d3604caed2f2b8867bac5045e4e6a1e0e192 (diff) | |
download | freebsd-ports-gnome-33e4306781426df636f536bb5ad3db53ddfd5f57.tar.gz freebsd-ports-gnome-33e4306781426df636f536bb5ad3db53ddfd5f57.tar.zst freebsd-ports-gnome-33e4306781426df636f536bb5ad3db53ddfd5f57.zip |
Upgrade itcl to 3.4b1 -- the last version in the 3.x branch.
itk, interestingly, remains at 3.3-RC, so only minor changes
there.
Allow both to compile against Tcl-8.5. Both will now need to
be upgraded to branch 4.x -- a much more involved undertaking.
Approved by: maintainer (in January)
Diffstat (limited to 'lang/itcl')
-rw-r--r-- | lang/itcl/Makefile | 18 | ||||
-rw-r--r-- | lang/itcl/distinfo | 6 | ||||
-rw-r--r-- | lang/itcl/files/Makefile.lib | 1 | ||||
-rw-r--r-- | lang/itcl/files/patch-test | 26 | ||||
-rw-r--r-- | lang/itcl/files/patch-warnings | 153 |
5 files changed, 189 insertions, 15 deletions
diff --git a/lang/itcl/Makefile b/lang/itcl/Makefile index 440b0f31aaa5..5041a0ee5e3d 100644 --- a/lang/itcl/Makefile +++ b/lang/itcl/Makefile @@ -6,33 +6,30 @@ # PORTNAME= itcl -PORTVERSION= 3.3 -PORTREVISION= 2 +PORTVERSION= 3.4b1 CATEGORIES= lang tcl -MASTER_SITES= SF/incrtcl/%5BIncr%20Tcl_Tk%5D-source/${PORTVERSION}-RC +MASTER_SITES= SF/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4 DISTNAME= itcl${PORTVERSION} MAINTAINER= erik@smluc.org COMMENT= Object-oriented extension to Tcl [incr Tcl] -USE_TCL= 84 +USE_TCL= 84+ USE_LDCONFIG= yes MAKE_ENV+= ${PLIST_SUB} \ SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR} \ USE_TCL=${USE_TCL} TCL_INCLUDEDIR=${TCL_INCLUDEDIR} -.if defined(MAKE_JOBS) -MAKE_ARGS+= -j${MAKE_JOBS} -.endif - +MAKE_JOBS_SAFE= yes SHLIB_MAJOR= ${MAJOR} SHLIB_MINOR= ${MINOR} MAJOR= ${PORTVERSION:R} -MINOR= ${PORTVERSION:E} +MINOR= ${PORTVERSION:E:C/[a-z].*//} PLIST_SUB+= MAJOR=${MAJOR} MINOR=${MINOR} ITCL_LIB= libitcl.so MAKEFILE= ${FILESDIR}/Makefile.lib +WRKSRC= ${WRKDIR}/itcl3.4 MANCOMPRESSED= no MANN= body.n class.n code.n configbody.n delete.n ensemble.n find.n @@ -46,9 +43,6 @@ ITCL_LIB_FILE= ${ITCL_LIB}.${SHLIB_MAJOR} post-build test: cd ${WRKSRC} && ${SETENV} ITCL_LIBRARY=${WRKSRC}/library \ ${TCLSH} tests/all.tcl -load "load ./${ITCL_LIB}" -.if ${USE_TCL} == 85 - @${ECHO} "ensemble.test fails due to changed error message. It's OK." -.endif post-install: ${INSTALL_DATA} ${WRKSRC}/doc/*.n ${PREFIX}/man/mann/ diff --git a/lang/itcl/distinfo b/lang/itcl/distinfo index 20829a0a16ec..d213c44d9df5 100644 --- a/lang/itcl/distinfo +++ b/lang/itcl/distinfo @@ -1,3 +1,3 @@ -MD5 (itcl3.3.tar.gz) = d958b3d1c52fa5336b5aacc1251b5ce3 -SHA256 (itcl3.3.tar.gz) = 7829b5ea39d0ed0eea43a071cd39e7477343d59e1d2ea9c810fa53e257fcb55c -SIZE (itcl3.3.tar.gz) = 306364 +MD5 (itcl3.4b1.tar.gz) = e4c97750c08ab47e960b91911fdd0132 +SHA256 (itcl3.4b1.tar.gz) = dc99fcf6c00b00774dbfb94ccc437ea3e6315a198645b6d2acf8acba8fdb4608 +SIZE (itcl3.4b1.tar.gz) = 306342 diff --git a/lang/itcl/files/Makefile.lib b/lang/itcl/files/Makefile.lib index a469c9bb98e4..7c669fa80f19 100644 --- a/lang/itcl/files/Makefile.lib +++ b/lang/itcl/files/Makefile.lib @@ -11,6 +11,7 @@ CFLAGS+= -I. -I./../generic \ -DHAVE_SYS_FILIO_H=1 \ -DRETSIGTYPE=void \ -DITCL_LIBRARY=\"${ITCL_LIBRARY}\" +CFLAGS+= -Werror LDADD+= -L${PREFIX}/lib -ltcl${USE_TCL} .if ${USE_TCL} >= 85 diff --git a/lang/itcl/files/patch-test b/lang/itcl/files/patch-test new file mode 100644 index 000000000000..4f8554bbfd81 --- /dev/null +++ b/lang/itcl/files/patch-test @@ -0,0 +1,26 @@ +--- 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} { diff --git a/lang/itcl/files/patch-warnings b/lang/itcl/files/patch-warnings new file mode 100644 index 000000000000..9563345fbac6 --- /dev/null +++ b/lang/itcl/files/patch-warnings @@ -0,0 +1,153 @@ +--- 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 2008-12-15 15:02:58.000000000 -0500 ++++ generic/itclInt.h 2010-01-24 15:15:06.000000000 -0500 +@@ -207,5 +207,5 @@ + } ItclVarInHash; + +-#define ItclOffset(type, field) ((int) ((char *) &((type *) 0)->field)) ++#define ItclOffset(type, field) ((intptr_t)((char *) &((type *) 0)->field)) + + #define itclOldRuntime (itclVarFlagOffset!=0) |