summaryrefslogtreecommitdiff
path: root/lang/tcl83
diff options
context:
space:
mode:
authorminskim <minskim>2004-03-08 19:22:26 +0000
committerminskim <minskim>2004-03-08 19:22:26 +0000
commit0fe78c4ceea441dce82668f64bdc2c6b80138150 (patch)
tree576da7f5eacb1c0de8153e26a4787da116c80a19 /lang/tcl83
parentaee9cab4b5959218cc0509d70a5279440b101904 (diff)
downloadpkgsrc-0fe78c4ceea441dce82668f64bdc2c6b80138150.tar.gz
Reimport tcl-8.3.4 into lang/tcl83 before updating Tcl/Tk to 8.4.5,
because many packages still need 8.3. OK'ed by the maintainer (jwise@).
Diffstat (limited to 'lang/tcl83')
-rw-r--r--lang/tcl83/DESCR8
-rw-r--r--lang/tcl83/Makefile101
-rw-r--r--lang/tcl83/PLIST634
-rw-r--r--lang/tcl83/buildlink2.mk31
-rw-r--r--lang/tcl83/buildlink3.mk28
-rw-r--r--lang/tcl83/distinfo9
-rw-r--r--lang/tcl83/patches/patch-aa86
-rw-r--r--lang/tcl83/patches/patch-ab196
-rw-r--r--lang/tcl83/patches/patch-ac45
-rw-r--r--lang/tcl83/patches/patch-ae60
-rw-r--r--lang/tcl83/patches/patch-af114
11 files changed, 1312 insertions, 0 deletions
diff --git a/lang/tcl83/DESCR b/lang/tcl83/DESCR
new file mode 100644
index 00000000000..b22bfecedd3
--- /dev/null
+++ b/lang/tcl83/DESCR
@@ -0,0 +1,8 @@
+This package contains Tcl, John Osterhout's Tool Command Language, an
+exceedingly simple language great for general scripting and for
+embedding in other programs.
+
+The best way to get started with Tcl is to read ``Tcl and the Tk
+Toolkit'' by John K. Ousterhout, Addison-Wesley, ISBN 0-201-63337-X
+or ``Practical Programming in Tcl and Tk'' by Brent B. Welch,
+Prentice Hall PTR, ISBN 0-13-616830-X.
diff --git a/lang/tcl83/Makefile b/lang/tcl83/Makefile
new file mode 100644
index 00000000000..43b614a9594
--- /dev/null
+++ b/lang/tcl83/Makefile
@@ -0,0 +1,101 @@
+# $NetBSD: Makefile,v 1.1.1.1 2004/03/08 19:22:26 minskim Exp $
+#
+
+DISTNAME= tcl8.3.4
+PKGNAME= tcl-8.3.4
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp.scriptics.com/pub/tcl/tcl8_3/ \
+ ftp://gd.tuwien.ac.at/languages/tcl/scriptics/tcl8_3/ \
+ ftp://ftp.funet.fi/pub/languages/tcl/tcl/tcl8_3/ \
+ ftp://ftp.mpi-sb.mpg.de/pub/tcl/mirror/ftp.scriptics.com/tcl8_3/
+
+MAINTAINER= jwise@NetBSD.org
+HOMEPAGE= http://www.tcltk.com/
+COMMENT= Ousterhout's Tool Command Language, a scripting language
+
+CONFLICTS+= tclman80-[0-9]*
+
+PKG_INSTALLATION_TYPES= overwrite pkgviews
+
+WRKSRC= ${WRKDIR}/${DISTNAME}/unix
+GNU_CONFIGURE= yes
+MAKE_ENV+= TOUCH="${TOUCH}"
+TEST_TARGET= test
+
+USE_BUILDLINK3= yes
+USE_LIBTOOL= yes
+
+INSTALL_TARGET= install
+
+PLIST_SUBST+= SHLIB_SUFX="${SHLIB_SUFX}"
+
+# Initially install the man pages into ${WRKDIR}/man, as we need a staged
+# install to avoid overwriting existing manpages in ${PREFIX}/man.
+#
+CONFIGURE_ARGS+= --mandir=${WRKDIR}/man
+
+# Add ${VIEWBASE}/lib/tcl to the list of locations for Tcl packages.
+CONFIGURE_ENV+= TCL_PACKAGE_PATH="${VIEWBASE}/lib/tcl"
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "Darwin"
+PLIST_SUBST+= SHLIB_CMT="@comment "
+SHLIB_SUFX= dylib
+.else
+PLIST_SUBST+= SHLIB_CMT=""
+SHLIB_SUFX= la
+.endif
+
+# NetBSD-1.5.x-m68k platforms apparently have a compiler optimization bug
+# tickled by the Tcl code that manifests in code generation problems.
+#
+.if (${MACHINE_PLATFORM:MNetBSD-1.5*-m68k} != "")
+CONFIGURE_ENV+= COMPILER_OPTIMIZATION_BUG=YES
+.endif
+
+# Modify mkLinks script to remove the short-filename manpage if it was
+# linked to a longer filename.
+#
+post-patch:
+ @cd ${WRKSRC}; \
+ ${MV} -f mkLinks mkLinks.tmp; \
+ ${GREP} -v "^exit 0" mkLinks.tmp > mkLinks; \
+ ${CAT} mkLinks.tmp \
+ | ${AWK} '/^ *ln / { print $$2 }' \
+ | ${SORT} -u \
+ | ${GREP} -v ".*\.n" \
+ | ${SED} -e "s,^,${RM} -f ," \
+ >> mkLinks; \
+ ${RM} -f mkLinks.tmp; \
+ ${CHMOD} +x mkLinks;
+
+pre-install:
+ cd ${WRKSRC}; for file in \
+ tclUnixInit.o libtcl83.so tclsh; \
+ do \
+ ${TOUCH} $${file}; \
+ done
+
+post-install:
+ cd ${WRKDIR} && ${PAX} -rwpm man ${PREFIX}
+ ${RM} -rf ${WRKDIR}/man
+ cd ${PREFIX}/bin && ${LN} -s tclsh8.3 tclsh
+ ${INSTALL_DATA_DIR} ${PREFIX}/include/tcl
+ ${INSTALL_DATA_DIR} ${PREFIX}/include/tcl/unix
+ ${INSTALL_DATA_DIR} ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/tclUnixPort.h ${PREFIX}/include/tcl/unix
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tcl.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclCompile.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclDecls.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclIO.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclInitScript.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclInt.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclIntDecls.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclIntPlatDecls.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclMath.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclPlatDecls.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclPort.h ${PREFIX}/include/tcl/generic
+ ${INSTALL_DATA} ${WRKSRC}/../generic/tclRegexp.h ${PREFIX}/include/tcl/generic
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/tcl83/PLIST b/lang/tcl83/PLIST
new file mode 100644
index 00000000000..1c08aba0485
--- /dev/null
+++ b/lang/tcl83/PLIST
@@ -0,0 +1,634 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2004/03/08 19:22:26 minskim Exp $
+bin/tclsh
+bin/tclsh8.3
+include/tcl.h
+include/tcl/generic/tcl.h
+include/tcl/generic/tclCompile.h
+include/tcl/generic/tclDecls.h
+include/tcl/generic/tclIO.h
+include/tcl/generic/tclInitScript.h
+include/tcl/generic/tclInt.h
+include/tcl/generic/tclIntDecls.h
+include/tcl/generic/tclIntPlatDecls.h
+include/tcl/generic/tclMath.h
+include/tcl/generic/tclPlatDecls.h
+include/tcl/generic/tclPort.h
+include/tcl/generic/tclRegexp.h
+include/tcl/unix/tclUnixPort.h
+include/tclDecls.h
+include/tclPlatDecls.h
+${SHLIB_CMT}lib/libtcl83.a
+lib/libtcl83.${SHLIB_SUFX}
+lib/libtcl83.so
+lib/libtcl83.so.1
+lib/libtcl83.so.1.0
+lib/libtclstub83.a
+lib/tcl8.3/auto.tcl
+lib/tcl8.3/encoding/ascii.enc
+lib/tcl8.3/encoding/big5.enc
+lib/tcl8.3/encoding/cp1250.enc
+lib/tcl8.3/encoding/cp1251.enc
+lib/tcl8.3/encoding/cp1252.enc
+lib/tcl8.3/encoding/cp1253.enc
+lib/tcl8.3/encoding/cp1254.enc
+lib/tcl8.3/encoding/cp1255.enc
+lib/tcl8.3/encoding/cp1256.enc
+lib/tcl8.3/encoding/cp1257.enc
+lib/tcl8.3/encoding/cp1258.enc
+lib/tcl8.3/encoding/cp437.enc
+lib/tcl8.3/encoding/cp737.enc
+lib/tcl8.3/encoding/cp775.enc
+lib/tcl8.3/encoding/cp850.enc
+lib/tcl8.3/encoding/cp852.enc
+lib/tcl8.3/encoding/cp855.enc
+lib/tcl8.3/encoding/cp857.enc
+lib/tcl8.3/encoding/cp860.enc
+lib/tcl8.3/encoding/cp861.enc
+lib/tcl8.3/encoding/cp862.enc
+lib/tcl8.3/encoding/cp863.enc
+lib/tcl8.3/encoding/cp864.enc
+lib/tcl8.3/encoding/cp865.enc
+lib/tcl8.3/encoding/cp866.enc
+lib/tcl8.3/encoding/cp869.enc
+lib/tcl8.3/encoding/cp874.enc
+lib/tcl8.3/encoding/cp932.enc
+lib/tcl8.3/encoding/cp936.enc
+lib/tcl8.3/encoding/cp949.enc
+lib/tcl8.3/encoding/cp950.enc
+lib/tcl8.3/encoding/dingbats.enc
+lib/tcl8.3/encoding/ebcdic.enc
+lib/tcl8.3/encoding/euc-cn.enc
+lib/tcl8.3/encoding/euc-jp.enc
+lib/tcl8.3/encoding/euc-kr.enc
+lib/tcl8.3/encoding/gb12345.enc
+lib/tcl8.3/encoding/gb1988.enc
+lib/tcl8.3/encoding/gb2312.enc
+lib/tcl8.3/encoding/iso2022-jp.enc
+lib/tcl8.3/encoding/iso2022-kr.enc
+lib/tcl8.3/encoding/iso2022.enc
+lib/tcl8.3/encoding/iso8859-1.enc
+lib/tcl8.3/encoding/iso8859-10.enc
+lib/tcl8.3/encoding/iso8859-13.enc
+lib/tcl8.3/encoding/iso8859-14.enc
+lib/tcl8.3/encoding/iso8859-15.enc
+lib/tcl8.3/encoding/iso8859-16.enc
+lib/tcl8.3/encoding/iso8859-2.enc
+lib/tcl8.3/encoding/iso8859-3.enc
+lib/tcl8.3/encoding/iso8859-4.enc
+lib/tcl8.3/encoding/iso8859-5.enc
+lib/tcl8.3/encoding/iso8859-6.enc
+lib/tcl8.3/encoding/iso8859-7.enc
+lib/tcl8.3/encoding/iso8859-8.enc
+lib/tcl8.3/encoding/iso8859-9.enc
+lib/tcl8.3/encoding/jis0201.enc
+lib/tcl8.3/encoding/jis0208.enc
+lib/tcl8.3/encoding/jis0212.enc
+lib/tcl8.3/encoding/koi8-r.enc
+lib/tcl8.3/encoding/koi8-u.enc
+lib/tcl8.3/encoding/ksc5601.enc
+lib/tcl8.3/encoding/macCentEuro.enc
+lib/tcl8.3/encoding/macCroatian.enc
+lib/tcl8.3/encoding/macCyrillic.enc
+lib/tcl8.3/encoding/macDingbats.enc
+lib/tcl8.3/encoding/macGreek.enc
+lib/tcl8.3/encoding/macIceland.enc
+lib/tcl8.3/encoding/macJapan.enc
+lib/tcl8.3/encoding/macRoman.enc
+lib/tcl8.3/encoding/macRomania.enc
+lib/tcl8.3/encoding/macThai.enc
+lib/tcl8.3/encoding/macTurkish.enc
+lib/tcl8.3/encoding/macUkraine.enc
+lib/tcl8.3/encoding/shiftjis.enc
+lib/tcl8.3/encoding/symbol.enc
+lib/tcl8.3/encoding/tis-620.enc
+lib/tcl8.3/history.tcl
+lib/tcl8.3/http1.0/http.tcl
+lib/tcl8.3/http1.0/pkgIndex.tcl
+lib/tcl8.3/http2.4/http.tcl
+lib/tcl8.3/http2.4/pkgIndex.tcl
+lib/tcl8.3/init.tcl
+lib/tcl8.3/ldAix
+lib/tcl8.3/ldAout.tcl
+lib/tcl8.3/msgcat1.1/msgcat.tcl
+lib/tcl8.3/msgcat1.1/pkgIndex.tcl
+lib/tcl8.3/opt0.4/optparse.tcl
+lib/tcl8.3/opt0.4/pkgIndex.tcl
+lib/tcl8.3/package.tcl
+lib/tcl8.3/parray.tcl
+lib/tcl8.3/safe.tcl
+lib/tcl8.3/tclAppInit.c
+lib/tcl8.3/tclIndex
+lib/tcl8.3/tcltest1.0/pkgIndex.tcl
+lib/tcl8.3/tcltest1.0/tcltest.tcl
+lib/tcl8.3/word.tcl
+lib/tclConfig.sh
+man/man1/tclsh.1
+man/man3/TCL_MEM_DEBUG.3
+man/man3/Tcl_Access.3
+man/man3/Tcl_AddErrorInfo.3
+man/man3/Tcl_AddObjErrorInfo.3
+man/man3/Tcl_AlertNotifier.3
+man/man3/Tcl_Alloc.3
+man/man3/Tcl_AllowExceptions.3
+man/man3/Tcl_AppInit.3
+man/man3/Tcl_AppendAllObjTypes.3
+man/man3/Tcl_AppendElement.3
+man/man3/Tcl_AppendObjToObj.3
+man/man3/Tcl_AppendResult.3
+man/man3/Tcl_AppendResultVA.3
+man/man3/Tcl_AppendStringsToObj.3
+man/man3/Tcl_AppendStringsToObjVA.3
+man/man3/Tcl_AppendToObj.3
+man/man3/Tcl_AppendUnicodeToObj.3
+man/man3/Tcl_AsyncCreate.3
+man/man3/Tcl_AsyncDelete.3
+man/man3/Tcl_AsyncInvoke.3
+man/man3/Tcl_AsyncMark.3
+man/man3/Tcl_AsyncReady.3
+man/man3/Tcl_BackgroundError.3
+man/man3/Tcl_Backslash.3
+man/man3/Tcl_BadChannelOption.3
+man/man3/Tcl_CallWhenDeleted.3
+man/man3/Tcl_CancelIdleCall.3
+man/man3/Tcl_ChannelBlockModeProc.3
+man/man3/Tcl_ChannelClose2Proc.3
+man/man3/Tcl_ChannelCloseProc.3
+man/man3/Tcl_ChannelFlushProc.3
+man/man3/Tcl_ChannelGetHandleProc.3
+man/man3/Tcl_ChannelGetOptionProc.3
+man/man3/Tcl_ChannelHandlerProc.3
+man/man3/Tcl_ChannelInputProc.3
+man/man3/Tcl_ChannelName.3
+man/man3/Tcl_ChannelOutputProc.3
+man/man3/Tcl_ChannelSeekProc.3
+man/man3/Tcl_ChannelSetOptionProc.3
+man/man3/Tcl_ChannelVersion.3
+man/man3/Tcl_ChannelWatchProc.3
+man/man3/Tcl_Chdir.3
+man/man3/Tcl_Close.3
+man/man3/Tcl_CommandComplete.3
+man/man3/Tcl_Concat.3
+man/man3/Tcl_ConcatObj.3
+man/man3/Tcl_ConditionFinalize.3
+man/man3/Tcl_ConditionNotify.3
+man/man3/Tcl_ConditionWait.3
+man/man3/Tcl_ConvertCountedElement.3
+man/man3/Tcl_ConvertElement.3
+man/man3/Tcl_ConvertToType.3
+man/man3/Tcl_CreateAlias.3
+man/man3/Tcl_CreateAliasObj.3
+man/man3/Tcl_CreateChannel.3
+man/man3/Tcl_CreateChannelHandler.3
+man/man3/Tcl_CreateCloseHandler.3
+man/man3/Tcl_CreateCommand.3
+man/man3/Tcl_CreateEncoding.3
+man/man3/Tcl_CreateEventSource.3
+man/man3/Tcl_CreateExitHandler.3
+man/man3/Tcl_CreateFileHandler.3
+man/man3/Tcl_CreateHashEntry.3
+man/man3/Tcl_CreateInterp.3
+man/man3/Tcl_CreateMathFunc.3
+man/man3/Tcl_CreateObjCommand.3
+man/man3/Tcl_CreateSlave.3
+man/man3/Tcl_CreateThread.3
+man/man3/Tcl_CreateThreadExitHandler.3
+man/man3/Tcl_CreateTimerHandler.3
+man/man3/Tcl_CreateTrace.3
+man/man3/Tcl_DStringAppend.3
+man/man3/Tcl_DStringAppendElement.3
+man/man3/Tcl_DStringEndSublist.3
+man/man3/Tcl_DStringFree.3
+man/man3/Tcl_DStringGetResult.3
+man/man3/Tcl_DStringInit.3
+man/man3/Tcl_DStringLength.3
+man/man3/Tcl_DStringResult.3
+man/man3/Tcl_DStringSetLength.3
+man/man3/Tcl_DStringStartSublist.3
+man/man3/Tcl_DStringValue.3
+man/man3/Tcl_DecrRefCount.3
+man/man3/Tcl_DeleteAssocData.3
+man/man3/Tcl_DeleteChannelHandler.3
+man/man3/Tcl_DeleteCloseHandler.3
+man/man3/Tcl_DeleteCommand.3
+man/man3/Tcl_DeleteCommandFromToken.3
+man/man3/Tcl_DeleteEventSource.3
+man/man3/Tcl_DeleteEvents.3
+man/man3/Tcl_DeleteExitHandler.3
+man/man3/Tcl_DeleteFileHandler.3
+man/man3/Tcl_DeleteHashEntry.3
+man/man3/Tcl_DeleteHashTable.3
+man/man3/Tcl_DeleteInterp.3
+man/man3/Tcl_DeleteThreadExitHandler.3
+man/man3/Tcl_DeleteTimerHandler.3
+man/man3/Tcl_DeleteTrace.3
+man/man3/Tcl_DetachPids.3
+man/man3/Tcl_DiscardResult.3
+man/man3/Tcl_DoOneEvent.3
+man/man3/Tcl_DoWhenIdle.3
+man/man3/Tcl_DontCallWhenDeleted.3
+man/man3/Tcl_DumpActiveMemory.3
+man/man3/Tcl_DuplicateObj.3
+man/man3/Tcl_Eof.3
+man/man3/Tcl_ErrnoId.3
+man/man3/Tcl_ErrnoMsg.3
+man/man3/Tcl_Eval.3
+man/man3/Tcl_EvalEx.3
+man/man3/Tcl_EvalFile.3
+man/man3/Tcl_EvalObjEx.3
+man/man3/Tcl_EvalObjv.3
+man/man3/Tcl_EvalTokens.3
+man/man3/Tcl_EventuallyFree.3
+man/man3/Tcl_Exit.3
+man/man3/Tcl_ExitThread.3
+man/man3/Tcl_ExposeCommand.3
+man/man3/Tcl_ExprBoolean.3
+man/man3/Tcl_ExprBooleanObj.3
+man/man3/Tcl_ExprDouble.3
+man/man3/Tcl_ExprDoubleObj.3
+man/man3/Tcl_ExprLong.3
+man/man3/Tcl_ExprLongObj.3
+man/man3/Tcl_ExprObj.3
+man/man3/Tcl_ExprString.3
+man/man3/Tcl_ExternalToUtf.3
+man/man3/Tcl_ExternalToUtfDString.3
+man/man3/Tcl_Finalize.3
+man/man3/Tcl_FinalizeNotifier.3
+man/man3/Tcl_FinalizeThread.3
+man/man3/Tcl_FindExecutable.3
+man/man3/Tcl_FindHashEntry.3
+man/man3/Tcl_FirstHashEntry.3
+man/man3/Tcl_Flush.3
+man/man3/Tcl_Free.3
+man/man3/Tcl_FreeEncoding.3
+man/man3/Tcl_FreeParse.3
+man/man3/Tcl_FreeResult.3
+man/man3/Tcl_GetAlias.3
+man/man3/Tcl_GetAliasObj.3
+man/man3/Tcl_GetAssocData.3
+man/man3/Tcl_GetBoolean.3
+man/man3/Tcl_GetBooleanFromObj.3
+man/man3/Tcl_GetByteArrayFromObj.3
+man/man3/Tcl_GetChannel.3
+man/man3/Tcl_GetChannelBufferSize.3
+man/man3/Tcl_GetChannelHandle.3
+man/man3/Tcl_GetChannelInstanceData.3
+man/man3/Tcl_GetChannelMode.3
+man/man3/Tcl_GetChannelName.3
+man/man3/Tcl_GetChannelNames.3
+man/man3/Tcl_GetChannelNamesEx.3
+man/man3/Tcl_GetChannelOption.3
+man/man3/Tcl_GetChannelType.3
+man/man3/Tcl_GetCharLength.3
+man/man3/Tcl_GetCommandInfo.3
+man/man3/Tcl_GetCommandName.3
+man/man3/Tcl_GetCurrentThread.3
+man/man3/Tcl_GetCwd.3
+man/man3/Tcl_GetDefaultEncodingDir.3
+man/man3/Tcl_GetDouble.3
+man/man3/Tcl_GetDoubleFromObj.3
+man/man3/Tcl_GetEncoding.3
+man/man3/Tcl_GetEncodingName.3
+man/man3/Tcl_GetEncodingNames.3
+man/man3/Tcl_GetErrno.3
+man/man3/Tcl_GetHashKey.3
+man/man3/Tcl_GetHashValue.3
+man/man3/Tcl_GetHostName.3
+man/man3/Tcl_GetIndexFromObj.3
+man/man3/Tcl_GetIndexFromObjStruct.3
+man/man3/Tcl_GetInt.3
+man/man3/Tcl_GetIntFromObj.3
+man/man3/Tcl_GetInterpPath.3
+man/man3/Tcl_GetLongFromObj.3
+man/man3/Tcl_GetMaster.3
+man/man3/Tcl_GetNameOfExecutable.3
+man/man3/Tcl_GetObjResult.3
+man/man3/Tcl_GetObjType.3
+man/man3/Tcl_GetOpenFile.3
+man/man3/Tcl_GetPathType.3
+man/man3/Tcl_GetRange.3
+man/man3/Tcl_GetRegExpFromObj.3
+man/man3/Tcl_GetServiceMode.3
+man/man3/Tcl_GetSlave.3
+man/man3/Tcl_GetStackedChannel.3
+man/man3/Tcl_GetStdChannel.3
+man/man3/Tcl_GetString.3
+man/man3/Tcl_GetStringFromObj.3
+man/man3/Tcl_GetStringResult.3
+man/man3/Tcl_GetThreadData.3
+man/man3/Tcl_GetUniChar.3
+man/man3/Tcl_GetUnicode.3
+man/man3/Tcl_GetVar.3
+man/man3/Tcl_GetVar2.3
+man/man3/Tcl_GetVar2Ex.3
+man/man3/Tcl_GetVersion.3
+man/man3/Tcl_Gets.3
+man/man3/Tcl_GetsObj.3
+man/man3/Tcl_GlobalEval.3
+man/man3/Tcl_GlobalEvalObj.3
+man/man3/Tcl_HashStats.3
+man/man3/Tcl_HideCommand.3
+man/man3/Tcl_IncrRefCount.3
+man/man3/Tcl_Init.3
+man/man3/Tcl_InitHashTable.3
+man/man3/Tcl_InitMemory.3
+man/man3/Tcl_InitNotifier.3
+man/man3/Tcl_InitStubs.3
+man/man3/Tcl_InputBlocked.3
+man/man3/Tcl_InputBuffered.3
+man/man3/Tcl_Interp.3
+man/man3/Tcl_InterpDeleted.3
+man/man3/Tcl_InvalidateStringRep.3
+man/man3/Tcl_IsSafe.3
+man/man3/Tcl_IsShared.3
+man/man3/Tcl_JoinPath.3
+man/man3/Tcl_LinkVar.3
+man/man3/Tcl_ListObjAppendElement.3
+man/man3/Tcl_ListObjAppendList.3
+man/man3/Tcl_ListObjGetElements.3
+man/man3/Tcl_ListObjIndex.3
+man/man3/Tcl_ListObjLength.3
+man/man3/Tcl_ListObjReplace.3
+man/man3/Tcl_LogCommandInfo.3
+man/man3/Tcl_MakeFileChannel.3
+man/man3/Tcl_MakeSafe.3
+man/man3/Tcl_MakeTcpClientChannel.3
+man/man3/Tcl_Merge.3
+man/man3/Tcl_MutexFinalize.3
+man/man3/Tcl_MutexLock.3
+man/man3/Tcl_MutexUnlock.3
+man/man3/Tcl_NewBooleanObj.3
+man/man3/Tcl_NewByteArrayObj.3
+man/man3/Tcl_NewDoubleObj.3
+man/man3/Tcl_NewIntObj.3
+man/man3/Tcl_NewListObj.3
+man/man3/Tcl_NewLongObj.3
+man/man3/Tcl_NewObj.3
+man/man3/Tcl_NewStringObj.3
+man/man3/Tcl_NewUnicodeObj.3
+man/man3/Tcl_NextHashEntry.3
+man/man3/Tcl_NotifyChannel.3
+man/man3/Tcl_NumUtfChars.3
+man/man3/Tcl_ObjGetVar2.3
+man/man3/Tcl_ObjSetVar2.3
+man/man3/Tcl_OpenCommandChannel.3
+man/man3/Tcl_OpenFileChannel.3
+man/man3/Tcl_OpenTcpClient.3
+man/man3/Tcl_OpenTcpServer.3
+man/man3/Tcl_ParseBraces.3
+man/man3/Tcl_ParseCommand.3
+man/man3/Tcl_ParseExpr.3
+man/man3/Tcl_ParseQuotedString.3
+man/man3/Tcl_ParseVar.3
+man/man3/Tcl_ParseVarName.3
+man/man3/Tcl_PkgPresent.3
+man/man3/Tcl_PkgPresentEx.3
+man/man3/Tcl_PkgProvide.3
+man/man3/Tcl_PkgProvideEx.3
+man/man3/Tcl_PkgRequire.3
+man/man3/Tcl_PkgRequireEx.3
+man/man3/Tcl_PosixError.3
+man/man3/Tcl_Preserve.3
+man/man3/Tcl_PrintDouble.3
+man/man3/Tcl_QueueEvent.3
+man/man3/Tcl_Read.3
+man/man3/Tcl_ReadChars.3
+man/man3/Tcl_Realloc.3
+man/man3/Tcl_ReapDetachedProcs.3
+man/man3/Tcl_RecordAndEval.3
+man/man3/Tcl_RecordAndEvalObj.3
+man/man3/Tcl_RegExpCompile.3
+man/man3/Tcl_RegExpExec.3
+man/man3/Tcl_RegExpExecObj.3
+man/man3/Tcl_RegExpGetInfo.3
+man/man3/Tcl_RegExpMatch.3
+man/man3/Tcl_RegExpMatchObj.3
+man/man3/Tcl_RegExpRange.3
+man/man3/Tcl_RegisterChannel.3
+man/man3/Tcl_RegisterObjType.3
+man/man3/Tcl_Release.3
+man/man3/Tcl_ResetResult.3
+man/man3/Tcl_RestoreResult.3
+man/man3/Tcl_SaveResult.3
+man/man3/Tcl_ScanCountedElement.3
+man/man3/Tcl_ScanElement.3
+man/man3/Tcl_Seek.3
+man/man3/Tcl_ServiceAll.3
+man/man3/Tcl_ServiceEvent.3
+man/man3/Tcl_SetAssocData.3
+man/man3/Tcl_SetBooleanObj.3
+man/man3/Tcl_SetByteArrayLength.3
+man/man3/Tcl_SetByteArrayObj.3
+man/man3/Tcl_SetChannelBufferSize.3
+man/man3/Tcl_SetChannelOption.3
+man/man3/Tcl_SetCommandInfo.3
+man/man3/Tcl_SetDefaultEncodingDir.3
+man/man3/Tcl_SetDoubleObj.3
+man/man3/Tcl_SetErrno.3
+man/man3/Tcl_SetErrorCode.3
+man/man3/Tcl_SetErrorCodeVA.3
+man/man3/Tcl_SetHashValue.3
+man/man3/Tcl_SetIntObj.3
+man/man3/Tcl_SetListObj.3
+man/man3/Tcl_SetLongObj.3
+man/man3/Tcl_SetMainLoop.3
+man/man3/Tcl_SetMaxBlockTime.3
+man/man3/Tcl_SetObjErrorCode.3
+man/man3/Tcl_SetObjLength.3
+man/man3/Tcl_SetObjResult.3
+man/man3/Tcl_SetRecursionLimit.3
+man/man3/Tcl_SetResult.3
+man/man3/Tcl_SetServiceMode.3
+man/man3/Tcl_SetStdChannel.3
+man/man3/Tcl_SetStringObj.3
+man/man3/Tcl_SetSystemEncoding.3
+man/man3/Tcl_SetTimer.3
+man/man3/Tcl_SetUnicodeObj.3
+man/man3/Tcl_SetVar.3
+man/man3/Tcl_SetVar2.3
+man/man3/Tcl_SetVar2Ex.3
+man/man3/Tcl_Sleep.3
+man/man3/Tcl_SourceRCFile.3
+man/man3/Tcl_SplitList.3
+man/man3/Tcl_SplitPath.3
+man/man3/Tcl_StackChannel.3
+man/man3/Tcl_Stat.3
+man/man3/Tcl_StaticPackage.3
+man/man3/Tcl_StringCaseMatch.3
+man/man3/Tcl_StringMatch.3
+man/man3/Tcl_Tell.3
+man/man3/Tcl_ThreadAlert.3
+man/man3/Tcl_ThreadQueueEvent.3
+man/man3/Tcl_TraceVar.3
+man/man3/Tcl_TraceVar2.3
+man/man3/Tcl_TranslateFileName.3
+man/man3/Tcl_Ungets.3
+man/man3/Tcl_UniChar.3
+man/man3/Tcl_UniCharAtIndex.3
+man/man3/Tcl_UniCharLen.3
+man/man3/Tcl_UniCharNcmp.3
+man/man3/Tcl_UniCharToLower.3
+man/man3/Tcl_UniCharToTitle.3
+man/man3/Tcl_UniCharToUpper.3
+man/man3/Tcl_UniCharToUtf.3
+man/man3/Tcl_UniCharToUtfDString.3
+man/man3/Tcl_UnlinkVar.3
+man/man3/Tcl_UnregisterChannel.3
+man/man3/Tcl_UnsetVar.3
+man/man3/Tcl_UnsetVar2.3
+man/man3/Tcl_UnstackChannel.3
+man/man3/Tcl_UntraceVar.3
+man/man3/Tcl_UntraceVar2.3
+man/man3/Tcl_UpVar.3
+man/man3/Tcl_UpVar2.3
+man/man3/Tcl_UpdateLinkedVar.3
+man/man3/Tcl_UtfAtIndex.3
+man/man3/Tcl_UtfBackslash.3
+man/man3/Tcl_UtfCharComplete.3
+man/man3/Tcl_UtfFindFirst.3
+man/man3/Tcl_UtfFindLast.3
+man/man3/Tcl_UtfNext.3
+man/man3/Tcl_UtfPrev.3
+man/man3/Tcl_UtfToExternal.3
+man/man3/Tcl_UtfToExternalDString.3
+man/man3/Tcl_UtfToLower.3
+man/man3/Tcl_UtfToTitle.3
+man/man3/Tcl_UtfToUniChar.3
+man/man3/Tcl_UtfToUniCharDString.3
+man/man3/Tcl_UtfToUpper.3
+man/man3/Tcl_ValidateAllMemory.3
+man/man3/Tcl_VarEval.3
+man/man3/Tcl_VarEvalVA.3
+man/man3/Tcl_VarTraceInfo.3
+man/man3/Tcl_VarTraceInfo2.3
+man/man3/Tcl_WaitForEvent.3
+man/man3/Tcl_WaitPid.3
+man/man3/Tcl_WinTCharToUtf.3
+man/man3/Tcl_WinUtfToTChar.3
+man/man3/Tcl_Write.3
+man/man3/Tcl_WriteChars.3
+man/man3/Tcl_WriteObj.3
+man/man3/Tcl_WrongNumArgs.3
+man/mann/Http.n
+man/mann/SafeBase.n
+man/mann/Tcl.n
+man/mann/Tcltest.n
+man/mann/after.n
+man/mann/append.n
+man/mann/array.n
+man/mann/auto_execok.n
+man/mann/auto_import.n
+man/mann/auto_load.n
+man/mann/auto_mkindex.n
+man/mann/auto_mkindex_old.n
+man/mann/auto_qualify.n
+man/mann/auto_reset.n
+man/mann/bgerror.n
+man/mann/binary.n
+man/mann/break.n
+man/mann/case.n
+man/mann/catch.n
+man/mann/cd.n
+man/mann/clock.n
+man/mann/close.n
+man/mann/concat.n
+man/mann/continue.n
+man/mann/dde.n
+man/mann/encoding.n
+man/mann/eof.n
+man/mann/error.n
+man/mann/eval.n
+man/mann/exec.n
+man/mann/exit.n
+man/mann/expr.n
+man/mann/fblocked.n
+man/mann/fconfigure.n
+man/mann/fcopy.n
+man/mann/file.n
+man/mann/fileevent.n
+man/mann/filename.n
+man/mann/flush.n
+man/mann/for.n
+man/mann/foreach.n
+man/mann/format.n
+man/mann/gets.n
+man/mann/glob.n
+man/mann/global.n
+man/mann/history.n
+man/mann/http.n
+man/mann/if.n
+man/mann/incr.n
+man/mann/info.n
+man/mann/interp.n
+man/mann/join.n
+man/mann/lappend.n
+man/mann/library.n
+man/mann/lindex.n
+man/mann/linsert.n
+man/mann/list.n
+man/mann/llength.n
+man/mann/load.n
+man/mann/lrange.n
+man/mann/lreplace.n
+man/mann/lsearch.n
+man/mann/lsort.n
+man/mann/memory.n
+man/mann/msgcat.n
+man/mann/namespace.n
+man/mann/open.n
+man/mann/package.n
+man/mann/packagens.n
+man/mann/parray.n
+man/mann/pid.n
+man/mann/pkg::create.n
+man/mann/pkgMkIndex.n
+man/mann/pkg_mkIndex.n
+man/mann/proc.n
+man/mann/puts.n
+man/mann/pwd.n
+man/mann/re_syntax.n
+man/mann/read.n
+man/mann/regexp.n
+man/mann/registry.n
+man/mann/regsub.n
+man/mann/rename.n
+man/mann/resource.n
+man/mann/return.n
+man/mann/safe.n
+man/mann/scan.n
+man/mann/seek.n
+man/mann/set.n
+man/mann/socket.n
+man/mann/source.n
+man/mann/split.n
+man/mann/string.n
+man/mann/subst.n
+man/mann/switch.n
+man/mann/tcl_endOfWord.n
+man/mann/tcl_findLibrary.n
+man/mann/tcl_startOfNextWord.n
+man/mann/tcl_startOfPreviousWord.n
+man/mann/tcl_wordBreakAfter.n
+man/mann/tcl_wordBreakBefore.n
+man/mann/tcltest.n
+man/mann/tclvars.n
+man/mann/tell.n
+man/mann/time.n
+man/mann/trace.n
+man/mann/unknown.n
+man/mann/unset.n
+man/mann/update.n
+man/mann/uplevel.n
+man/mann/upvar.n
+man/mann/variable.n
+man/mann/vwait.n
+man/mann/while.n
+@dirrm lib/tcl8.3/tcltest1.0
+@dirrm lib/tcl8.3/opt0.4
+@dirrm lib/tcl8.3/msgcat1.1
+@dirrm lib/tcl8.3/http2.4
+@dirrm lib/tcl8.3/http1.0
+@dirrm lib/tcl8.3/encoding
+@dirrm lib/tcl8.3
+@dirrm include/tcl/unix
+@dirrm include/tcl/generic
+@dirrm include/tcl
diff --git a/lang/tcl83/buildlink2.mk b/lang/tcl83/buildlink2.mk
new file mode 100644
index 00000000000..470bf14a190
--- /dev/null
+++ b/lang/tcl83/buildlink2.mk
@@ -0,0 +1,31 @@
+# $NetBSD: buildlink2.mk,v 1.1.1.1 2004/03/08 19:22:26 minskim Exp $
+
+.if !defined(TCL_BUILDLINK2_MK)
+TCL_BUILDLINK2_MK= # defined
+
+BUILDLINK_PACKAGES+= tcl
+BUILDLINK_DEPENDS.tcl?= tcl>=8.3.4
+BUILDLINK_PKGSRCDIR.tcl?= ../../lang/tcl83
+
+EVAL_PREFIX+= BUILDLINK_PREFIX.tcl=tcl
+BUILDLINK_PREFIX.tcl_DEFAULT= ${LOCALBASE}
+BUILDLINK_FILES.tcl= bin/tclsh*
+BUILDLINK_FILES.tcl+= include/tcl.h
+BUILDLINK_FILES.tcl+= include/tclDecls.h
+BUILDLINK_FILES.tcl+= include/tclPlatDecls.h
+BUILDLINK_FILES.tcl+= include/tcl/*/*.h
+BUILDLINK_FILES.tcl+= lib/libtcl83.*
+BUILDLINK_FILES.tcl+= lib/libtclstub83.*
+
+# Make "-ltcl" resolve into "-ltcl83", so that we don't need to patch so
+# many Makefiles.
+#
+BUILDLINK_TRANSFORM+= l:tcl:tcl83
+
+BUILDLINK_TARGETS+= tcl-buildlink
+
+tcl-buildlink: _BUILDLINK_USE
+
+TCLCONFIG_SH?= ${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh
+
+.endif # TCL_BUILDLINK2_MK
diff --git a/lang/tcl83/buildlink3.mk b/lang/tcl83/buildlink3.mk
new file mode 100644
index 00000000000..e0c1ab95181
--- /dev/null
+++ b/lang/tcl83/buildlink3.mk
@@ -0,0 +1,28 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2004/03/08 19:22:26 minskim Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+TCL_BUILDLINK3_MK:= ${TCL_BUILDLINK3_MK}+
+
+.if !empty(BUILDLINK_DEPTH:M+)
+BUILDLINK_DEPENDS+= tcl
+.endif
+
+BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Ntcl}
+BUILDLINK_PACKAGES+= tcl
+
+.if !empty(TCL_BUILDLINK3_MK:M+)
+BUILDLINK_DEPENDS.tcl+= tcl>=8.3.4
+BUILDLINK_PKGSRCDIR.tcl?= ../../lang/tcl83
+
+BUILDLINK_FILES.tcl= bin/tclsh*
+#
+# Make "-ltcl" resolve into "-ltcl83", so that we don't need to patch so
+# many Makefiles.
+#
+BUILDLINK_TRANSFORM+= l:tcl:tcl83
+
+TCLCONFIG_SH?= ${BUILDLINK_PREFIX.tcl}/lib/tclConfig.sh
+
+.endif # TCL_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/lang/tcl83/distinfo b/lang/tcl83/distinfo
new file mode 100644
index 00000000000..a079db85397
--- /dev/null
+++ b/lang/tcl83/distinfo
@@ -0,0 +1,9 @@
+$NetBSD: distinfo,v 1.1.1.1 2004/03/08 19:22:26 minskim Exp $
+
+SHA1 (tcl8.3.4.tar.gz) = b179f1f51b322b7045cf152b73df4f3d01da82ec
+Size (tcl8.3.4.tar.gz) = 2654756 bytes
+SHA1 (patch-aa) = 3e9fa9427f40a4c6b1f97bcda58fefe9d5cf20ce
+SHA1 (patch-ab) = 0e5a89fdf9623f78f4165c025412428aef5146df
+SHA1 (patch-ac) = d1e1b6ed334ff424140a678ed098504cc14614e8
+SHA1 (patch-ae) = 5eee14adec88cf0cac5715fe0cfe7420b9b83774
+SHA1 (patch-af) = 6d2b97ea8ad9de7e22ed6c2c81aa91aeadad3241
diff --git a/lang/tcl83/patches/patch-aa b/lang/tcl83/patches/patch-aa
new file mode 100644
index 00000000000..9c34e5e13b7
--- /dev/null
+++ b/lang/tcl83/patches/patch-aa
@@ -0,0 +1,86 @@
+$NetBSD: patch-aa,v 1.1.1.1 2004/03/08 19:22:27 minskim Exp $
+
+--- Makefile.in.orig Fri Oct 19 20:24:15 2001
++++ Makefile.in Tue Oct 7 21:57:52 2003
+@@ -87,7 +87,7 @@
+ #CFLAGS = $(CFLAGS_DEBUG)
+ #CFLAGS = $(CFLAGS_OPTIMIZE)
+ #CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
+-CFLAGS = @CFLAGS@ @CFLAGS_DEFAULT@
++CFLAGS += @CFLAGS@ @CFLAGS_DEFAULT@
+
+ # Flags to pass to the linker
+ LDFLAGS_DEBUG = @LDFLAGS_DEBUG@
+@@ -169,8 +169,8 @@
+ INSTALL_STRIP_PROGRAM = -s
+ INSTALL_STRIP_LIBRARY = -S -S
+
+-INSTALL = @srcdir@/install-sh -c
+-INSTALL_PROGRAM = ${INSTALL}
++INSTALL := ${LIBTOOL} --mode=install @srcdir@/install-sh -c
++INSTALL_PROGRAM = ${INSTALL} -s
+ INSTALL_LIBRARY = ${INSTALL}
+ INSTALL_DATA = ${INSTALL} -m 644
+
+@@ -187,8 +187,8 @@
+ # configure script. You shouldn't normally need to modify any of
+ # these definitions by hand.
+
+-STLIB_LD = @STLIB_LD@
+-SHLIB_LD = @SHLIB_LD@
++STLIB_LD = ${LIBTOOL} --mode=link @CC@ -rpath ${PREFIX}/lib
++SHLIB_LD = ${LIBTOOL} --mode=link @CC@ -rpath ${PREFIX}/lib
+ SHLIB_CFLAGS = @SHLIB_CFLAGS@
+
+ SHLIB_SUFFIX = @SHLIB_SUFFIX@
+@@ -235,8 +235,9 @@
+ # Must be absolute to so the corresponding tcltest's tcl_library is absolute.
+ TCL_BUILDTIME_LIBRARY = @TCL_SRC_DIR@/library
+
+-CC = @CC@
+ #CC = purify -best-effort @CC@ -DPURIFY
++CC = ${LIBTOOL} --mode=compile @CC@
++LD = ${LIBTOOL} --mode=link @CC@ ${LDFLAGS}
+
+ #----------------------------------------------------------------
+ # The information below should be usable as is. The configure
+@@ -420,6 +421,7 @@
+ @MAKE_LIB@
+ if test "x@DL_OBJS@" = "xtclLoadAout.o"; then \
+ $(RANLIB) ${TCL_LIB_FILE}; \
++ $(TOUCH) ${TCL_LIB_FILE}; \
+ fi
+
+ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
+@@ -440,11 +442,11 @@
+
+
+ tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
+- ${CC} ${LDFLAGS} ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
++ ${LD} ${LDFLAGS} ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
+ @TCL_LD_SEARCH_FLAGS@ -o tclsh
+
+ tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
+- ${CC} ${LDFLAGS} ${TCLTEST_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
++ ${LD} ${LDFLAGS} ${TCLTEST_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
+ @TCL_LD_SEARCH_FLAGS@ -o tcltest
+
+ # Note, in the target below TCL_LIBRARY needs to be set or else
+@@ -538,7 +540,7 @@
+ chmod +x $(SRC_DIR)/install-sh; \
+ fi
+ @echo "Installing $(TCL_LIB_FILE) to $(LIB_INSTALL_DIR)/"
+- @$(INSTALL_LIBRARY) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
++ @$(INSTALL_LIBRARY) $(TCL_LIB_FILE:C/\.so.*/.la/) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
+ @if test "x@DL_OBJS@" = "xtclLoadAout.o"; then \
+ (cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE)); \
+ fi
+@@ -989,7 +991,7 @@
+
+ xttest: ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
+ @DL_OBJS@ ${BUILD_DLTEST}
+- ${CC} ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
++ ${LD} ${XTTEST_OBJS} ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS} \
+ @DL_OBJS@ @TCL_BUILD_LIB_SPEC@ ${LIBS} \
+ @TCL_LD_SEARCH_FLAGS@ -L/usr/openwin/lib -lXt -o xttest
+
diff --git a/lang/tcl83/patches/patch-ab b/lang/tcl83/patches/patch-ab
new file mode 100644
index 00000000000..d60d8ae007d
--- /dev/null
+++ b/lang/tcl83/patches/patch-ab
@@ -0,0 +1,196 @@
+$NetBSD: patch-ab,v 1.1.1.1 2004/03/08 19:22:27 minskim Exp $
+
+--- configure.orig Fri Oct 19 19:24:15 2001
++++ configure
+@@ -4776,6 +4776,7 @@ fi
+ # Step 3: set configuration options based on system name and version.
+
+ do64bit_ok=no
++ TCL_LIB_SPEC_RPATH=""
+ EXTRA_CFLAGS=""
+ TCL_EXPORT_FILE_SUFFIX=""
+ UNSHARED_LIB_SUFFIX=""
+@@ -5114,6 +5115,9 @@ fi
+ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ EXTRA_CFLAGS=""
+ LDFLAGS=""
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ IRIX-6.*|IRIX64-6.5*)
+ SHLIB_CFLAGS=""
+@@ -5138,6 +5142,9 @@ fi
+ esac
+ LDFLAGS="-n32"
+ fi
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ IRIX64-6.*)
+ SHLIB_CFLAGS=""
+@@ -5148,6 +5155,9 @@ fi
+ DL_LIBS=""
+ LDFLAGS=""
+ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ Linux*)
+ SHLIB_CFLAGS="-fPIC"
+@@ -5221,6 +5231,9 @@ fi
+ EXTRA_CFLAGS="${EXTRA_CFLAGS} -fno-inline"
+ fi
+
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ GNU*)
+ SHLIB_CFLAGS="-fPIC"
+@@ -5298,6 +5311,9 @@ fi
+ LD_SEARCH_FLAGS=""
+ ;;
+ NetBSD-*|FreeBSD-[1-2].*|OpenBSD-*)
++ if test "X${COMPILER_OPTIMIZATION_BUG}" = "XYES"; then
++ CFLAGS_OPTIMIZE=-O0
++ fi
+ # Not available on all versions: check for include file.
+ ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
+@@ -5330,17 +5346,15 @@ if eval "test \"`echo '$ac_cv_header_'$a
+
+ # NetBSD/SPARC needs -fPIC, -fpic will not do.
+ SHLIB_CFLAGS="-fPIC"
+- SHLIB_LD="ld -Bshareable -x"
+ SHLIB_LD_LIBS=""
+ SHLIB_SUFFIX=".so"
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS=""
+ LDFLAGS=""
+- LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ echo $ac_n "checking for ELF""... $ac_c" 1>&6
+-echo "configure:5342: checking for ELF" >&5
++echo "configure:5356: checking for ELF" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 5344 "configure"
++#line 5358 "configure"
+ #include "confdefs.h"
+
+ #ifdef __ELF__
+@@ -5351,11 +5365,20 @@ EOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "yes" >/dev/null 2>&1; then
+ rm -rf conftest*
+- echo "$ac_t""yes" 1>&6
++
++ echo "$ac_t""yes" 1>&6
++ SHLIB_LD='${TCL_CC} -shared -Wl,-x'
++ LD_SEARCH_FLAGS='-Wl,-R${LIB_RUNTIME_DIR}'
++ TCL_LIB_SPEC_RPATH="-Wl,-R${exec_prefix}/lib"
+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++
+ else
+ rm -rf conftest*
+- echo "$ac_t""no" 1>&6
++
++ echo "$ac_t""no" 1>&6
++ SHLIB_LD="ld -Bshareable -x"
++ LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
++ TCL_LIB_SPEC_RPATH="-R${exec_prefix}/lib"
+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
+
+ fi
+@@ -5569,6 +5592,9 @@ EOF
+ DL_LIBS="-ldl"
+ LDFLAGS=""
+ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ SunOS-5*)
+
+@@ -5616,6 +5642,9 @@ EOF
+ else
+ LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
+ fi
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ ULTRIX-4.*)
+ SHLIB_CFLAGS="-G 0"
+@@ -6103,7 +6132,7 @@ if test "${SHARED_BUILD}" = "1" -a "${SH
+ if test "x$DL_OBJS" = "xtclLoadAout.o"; then
+ MAKE_LIB="\${STLIB_LD} \$@ \${OBJS}"
+ else
+- MAKE_LIB="\${SHLIB_LD} ${TCL_SHLIB_LD_EXTRAS} -o \$@ \${OBJS} ${SHLIB_LD_LIBS}"
++ MAKE_LIB="\${SHLIB_LD} ${TCL_SHLIB_LD_EXTRAS} -o \${@:C/\.so.*/.la/} \${OBJS:.o=.lo} ${SHLIB_LD_LIBS} -version-info 1:0"
+ fi
+ else
+ case $system in
+@@ -6141,7 +6170,7 @@ if test "$SHARED_BUILD" = "0" -o $TCL_NE
+ TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}"
+ fi
+ TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}"
+- TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}"
++ TCL_LIB_SPEC="${TCL_LIB_SPEC_RPATH} -L${exec_prefix}/lib ${TCL_LIB_FLAG}"
+ else
+ TCL_BUILD_EXP_FILE="lib.exp"
+ eval "TCL_EXP_FILE=libtcl${TCL_EXPORT_FILE_SUFFIX}"
+@@ -6171,10 +6200,17 @@ VERSION=${TCL_VERSION}
+ #--------------------------------------------------------------------
+
+ if test "$prefix" != "$exec_prefix"; then
+- TCL_PACKAGE_PATH="${exec_prefix}/lib ${prefix}/lib"
++ TCL_PACKAGE_PATH_ADD="${exec_prefix}/lib/tcl ${prefix}/lib"
+ else
+- TCL_PACKAGE_PATH="${prefix}/lib"
++ TCL_PACKAGE_PATH_ADD="${prefix}/lib/tcl"
+ fi
++for dir in ${TCL_PACKAGE_PATH_ADD}; do
++ if test -z "${TCL_PACKAGE_PATH}"; then
++ TCL_PACKAGE_PATH="$dir"
++ else
++ TCL_PACKAGE_PATH="${TCL_PACKAGE_PATH} $dir"
++ fi
++done
+
+ #--------------------------------------------------------------------
+ # The statements below define various symbols relating to Tcl
+@@ -6186,7 +6222,7 @@ eval "TCL_STUB_LIB_FILE=libtclstub${TCL_
+ # Replace DBGX with TCL_DBGX
+ eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
+
+-MAKE_STUB_LIB="\${STLIB_LD} \$@ \${STUB_LIB_OBJS}"
++MAKE_STUB_LIB="\${STLIB_LD} -o \$@ \${STUB_LIB_OBJS}"
+
+ if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
+ TCL_STUB_LIB_FLAG="-ltclstub${TCL_VERSION}\${TCL_DBGX}"
+@@ -6262,6 +6298,8 @@ TCL_SHARED_BUILD=${SHARED_BUILD}
+
+
+
++
++
+ trap '' 1 2 15
+ cat > confcache <<\EOF
+ # This file is a shell script that caches the results of configure
+@@ -6437,12 +6475,12 @@ s%@TCL_DBGX@%$TCL_DBGX%g
+ s%@CFG_TCL_SHARED_LIB_SUFFIX@%$CFG_TCL_SHARED_LIB_SUFFIX%g
+ s%@CFG_TCL_UNSHARED_LIB_SUFFIX@%$CFG_TCL_UNSHARED_LIB_SUFFIX%g
+ s%@CFG_TCL_EXPORT_FILE_SUFFIX@%$CFG_TCL_EXPORT_FILE_SUFFIX%g
++s%@LDFLAGS_DEBUG@%$LDFLAGS_DEBUG%g
++s%@LDFLAGS_OPTIMIZE@%$LDFLAGS_OPTIMIZE%g
+ s%@CFLAGS_DEFAULT@%$CFLAGS_DEFAULT%g
+ s%@EXTRA_CFLAGS@%$EXTRA_CFLAGS%g
+ s%@DL_OBJS@%$DL_OBJS%g
+ s%@LDFLAGS_DEFAULT@%$LDFLAGS_DEFAULT%g
+-s%@LDFLAGS_DEBUG@%$LDFLAGS_DEBUG%g
+-s%@LDFLAGS_OPTIMIZE@%$LDFLAGS_OPTIMIZE%g
+ s%@STLIB_LD@%$STLIB_LD%g
+ s%@SHLIB_LD@%$SHLIB_LD%g
+ s%@SHLIB_LD_LIBS@%$SHLIB_LD_LIBS%g
diff --git a/lang/tcl83/patches/patch-ac b/lang/tcl83/patches/patch-ac
new file mode 100644
index 00000000000..762f5d227d7
--- /dev/null
+++ b/lang/tcl83/patches/patch-ac
@@ -0,0 +1,45 @@
+$NetBSD: patch-ac,v 1.1.1.1 2004/03/08 19:22:27 minskim Exp $
+
+--- tclUnixInit.c.orig Fri Aug 24 19:13:22 2001
++++ tclUnixInit.c
+@@ -22,6 +22,11 @@
+ # include <dlfcn.h>
+ # endif
+ #endif
++#if defined(__NetBSD__)
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <sys/utsname.h>
++#endif
+
+ /*
+ * The Init script (common to Windows and Unix platforms) is
+@@ -550,6 +555,11 @@
+ int unameOK;
+ char *user;
+ Tcl_DString ds;
++#if defined(__NetBSD__)
++ char machine_arch[SYS_NMLN];
++ int mib[2] = { CTL_HW, HW_MACHINE_ARCH };
++ size_t len = sizeof(machine_arch);
++#endif
+
+ Tcl_SetVar(interp, "tclDefaultLibrary", defaultLibraryDir, TCL_GLOBAL_ONLY);
+ Tcl_SetVar(interp, "tcl_pkgPath", pkgPath, TCL_GLOBAL_ONLY);
+@@ -585,8 +595,16 @@
+ Tcl_SetVar2(interp, "tcl_platform", "osVersion", name.release,
+ TCL_GLOBAL_ONLY|TCL_APPEND_VALUE);
+ }
++#if defined(__NetBSD__)
++ if (sysctl(mib, sizeof(mib) / sizeof(int), machine_arch, &len, NULL, 0) < 0)
++ unameOK = 0;
++ else
++ Tcl_SetVar2(interp, "tcl_platform", "machine", machine_arch,
++ TCL_GLOBAL_ONLY);
++#else
+ Tcl_SetVar2(interp, "tcl_platform", "machine", name.machine,
+ TCL_GLOBAL_ONLY);
++#endif
+ }
+ #endif
+ if (!unameOK) {
diff --git a/lang/tcl83/patches/patch-ae b/lang/tcl83/patches/patch-ae
new file mode 100644
index 00000000000..4ee230d0ac3
--- /dev/null
+++ b/lang/tcl83/patches/patch-ae
@@ -0,0 +1,60 @@
+$NetBSD: patch-ae,v 1.1.1.1 2004/03/08 19:22:27 minskim Exp $
+
+--- configure.in.orig Fri Oct 19 17:24:15 2001
++++ configure.in Tue Nov 25 05:16:06 2003
+@@ -386,7 +386,7 @@
+ if test "x$DL_OBJS" = "xtclLoadAout.o"; then
+ MAKE_LIB="\${STLIB_LD} \[$]@ \${OBJS}"
+ else
+- MAKE_LIB="\${SHLIB_LD} ${TCL_SHLIB_LD_EXTRAS} -o \[$]@ \${OBJS} ${SHLIB_LD_LIBS}"
++ MAKE_LIB="\${SHLIB_LD} ${TCL_SHLIB_LD_EXTRAS} -o \${@:C/\.so.*/.la/} \${OBJS:.o=.lo} ${SHLIB_LD_LIBS} -version-info 1:0"
+ fi
+ else
+ case $system in
+@@ -424,7 +424,7 @@
+ TCL_LIB_FLAG="-ltcl`echo ${TCL_VERSION} | tr -d .`\${TCL_DBGX}"
+ fi
+ TCL_BUILD_LIB_SPEC="-L`pwd` ${TCL_LIB_FLAG}"
+- TCL_LIB_SPEC="-L${exec_prefix}/lib ${TCL_LIB_FLAG}"
++ TCL_LIB_SPEC="${TCL_LIB_SPEC_RPATH} -L${exec_prefix}/lib ${TCL_LIB_FLAG}"
+ else
+ TCL_BUILD_EXP_FILE="lib.exp"
+ eval "TCL_EXP_FILE=libtcl${TCL_EXPORT_FILE_SUFFIX}"
+@@ -454,10 +454,17 @@
+ #--------------------------------------------------------------------
+
+ if test "$prefix" != "$exec_prefix"; then
+- TCL_PACKAGE_PATH="${exec_prefix}/lib ${prefix}/lib"
++ TCL_PACKAGE_PATH_ADD="${exec_prefix}/lib/tcl ${prefix}/lib"
+ else
+- TCL_PACKAGE_PATH="${prefix}/lib"
++ TCL_PACKAGE_PATH_ADD="${prefix}/lib/tcl"
+ fi
++for dir in ${TCL_PACKAGE_PATH_ADD}; do
++ if test -z "${TCL_PACKAGE_PATH}"; then
++ TCL_PACKAGE_PATH="$dir"
++ else
++ TCL_PACKAGE_PATH="${TCL_PACKAGE_PATH} $dir"
++ fi
++done
+
+ #--------------------------------------------------------------------
+ # The statements below define various symbols relating to Tcl
+@@ -469,7 +476,7 @@
+ # Replace DBGX with TCL_DBGX
+ eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
+
+-MAKE_STUB_LIB="\${STLIB_LD} \[$]@ \${STUB_LIB_OBJS}"
++MAKE_STUB_LIB="\${STLIB_LD} -o \[$]@ \${STUB_LIB_OBJS}"
+
+ if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
+ TCL_STUB_LIB_FLAG="-ltclstub${TCL_VERSION}\${TCL_DBGX}"
+@@ -511,6 +518,8 @@
+ AC_SUBST(CFG_TCL_EXPORT_FILE_SUFFIX)
+
+ AC_SUBST(CFLAGS)
++AC_SUBST(LDFLAGS_DEBUG)
++AC_SUBST(LDFLAGS_OPTIMIZE)
+ AC_SUBST(CFLAGS_DEFAULT)
+ AC_SUBST(EXTRA_CFLAGS)
+ AC_SUBST(DL_OBJS)
diff --git a/lang/tcl83/patches/patch-af b/lang/tcl83/patches/patch-af
new file mode 100644
index 00000000000..ad716028e6b
--- /dev/null
+++ b/lang/tcl83/patches/patch-af
@@ -0,0 +1,114 @@
+$NetBSD: patch-af,v 1.1.1.1 2004/03/08 19:22:27 minskim Exp $
+
+--- tcl.m4.orig Fri Oct 19 19:24:15 2001
++++ tcl.m4
+@@ -601,6 +601,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
+ # Step 3: set configuration options based on system name and version.
+
+ do64bit_ok=no
++ TCL_LIB_SPEC_RPATH=""
+ EXTRA_CFLAGS=""
+ TCL_EXPORT_FILE_SUFFIX=""
+ UNSHARED_LIB_SUFFIX=""
+@@ -790,6 +791,9 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ EXTRA_CFLAGS=""
+ LDFLAGS=""
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ IRIX-6.*|IRIX64-6.5*)
+ SHLIB_CFLAGS=""
+@@ -814,6 +818,9 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ esac
+ LDFLAGS="-n32"
+ fi
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ IRIX64-6.*)
+ SHLIB_CFLAGS=""
+@@ -824,6 +831,9 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ DL_LIBS=""
+ LDFLAGS=""
+ LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ Linux*)
+ SHLIB_CFLAGS="-fPIC"
+@@ -865,6 +875,9 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ EXTRA_CFLAGS="${EXTRA_CFLAGS} -fno-inline"
+ fi
+
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ GNU*)
+ SHLIB_CFLAGS="-fPIC"
+@@ -910,28 +923,36 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ LD_SEARCH_FLAGS=""
+ ;;
+ NetBSD-*|FreeBSD-[[1-2]].*|OpenBSD-*)
++ if test "X${COMPILER_OPTIMIZATION_BUG}" = "XYES"; then
++ CFLAGS_OPTIMIZE=-O0
++ fi
+ # Not available on all versions: check for include file.
+ AC_CHECK_HEADER(dlfcn.h, [
+ # NetBSD/SPARC needs -fPIC, -fpic will not do.
+ SHLIB_CFLAGS="-fPIC"
+- SHLIB_LD="ld -Bshareable -x"
+ SHLIB_LD_LIBS=""
+ SHLIB_SUFFIX=".so"
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS=""
+ LDFLAGS=""
+- LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ AC_MSG_CHECKING(for ELF)
+ AC_EGREP_CPP(yes, [
+ #ifdef __ELF__
+ yes
+ #endif
+- ],
++ ], [
+ AC_MSG_RESULT(yes)
+- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so',
++ SHLIB_LD='${TCL_CC} -shared -Wl,-x'
++ LD_SEARCH_FLAGS='-Wl,-R${LIB_RUNTIME_DIR}'
++ TCL_LIB_SPEC_RPATH="-Wl,-R${exec_prefix}/lib"
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ ], [
+ AC_MSG_RESULT(no)
++ SHLIB_LD="ld -Bshareable -x"
++ LD_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
++ TCL_LIB_SPEC_RPATH="-R${exec_prefix}/lib"
+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
+- )
++ ])
+ ], [
+ SHLIB_CFLAGS=""
+ SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r"
+@@ -1129,6 +1150,9 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ DL_LIBS="-ldl"
+ LDFLAGS=""
+ LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ SunOS-5*)
+
+@@ -1173,6 +1197,9 @@ dnl AC_CHECK_TOOL(AR, ar, :)
+ else
+ LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
+ fi
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
++ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
++ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ ULTRIX-4.*)
+ SHLIB_CFLAGS="-G 0"