diff --git a/lang/tcl85/Makefile b/lang/tcl85/Makefile index de5477eead68..8619601be0ba 100644 --- a/lang/tcl85/Makefile +++ b/lang/tcl85/Makefile @@ -1,72 +1,72 @@ # Created by: Martin Matuska PORTNAME= tcl PORTVERSION= 8.5.19 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= lang MASTER_SITES= TCLTK/tcl8_5 \ SF/tcl/Tcl/${PORTVERSION} PKGNAMESUFFIX= ${SHORT_TCL_VER} DISTNAME= ${PORTNAME}${PORTVERSION}-src MAINTAINER= tcltk@FreeBSD.org COMMENT= Tool Command Language LICENSE= TclTk LICENSE_NAME= Tcl/Tk License LICENSE_FILE= ${WRKSRC}/../license.terms LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept DEPRECATED= Tcl/Tk 8.5 is nearing EOL, please consider switching to Tcl/Tk 8.6 USES= cpe OPTIONS_DEFINE= TCLMAN TZDATA THREADS OPTIONS_DEFAULT=TCLMAN TZDATA THREADS TCLMAN_DESC= Install Tcl function manpages TZDATA_DESC= Install Tcl timezone data OPTIONS_SUB= yes WRKSRC= ${WRKDIR}/${DISTNAME:S/-src//:S/rc1//}/unix ALL_TARGET= all INSTALL_TARGET= install-strip install-libraries install-tm TEST_TARGET= do-test USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-shared \ --enable-man-suffix=.${MAN_SUFFIX} \ --includedir=${PREFIX}/include/tcl${TCL_VER} CONFIGURE_ENV= PORTSDIR=${PORTSDIR} TCL_VER= 8.5 SHORT_TCL_VER= ${TCL_VER:S/8./8/} MAN_SUFFIX= ${PORTNAME}${SHORT_TCL_VER} MAKE_ENV= SHORT_TCL_VER=${SHORT_TCL_VER} \ MAN_SUFFIX=.${MAN_SUFFIX} PLIST_SUB= TCL_VER=${TCL_VER} \ SHORT_TCL_VER=${SHORT_TCL_VER} TCLMAN_VARS= INSTALL_TARGET+=install-doc THREADS_CONFIGURE_ENABLE= threads TZDATA_CONFIGURE_WITH= tzdata post-patch: ${REINPLACE_CMD} -e \ 's|@TCL_BUILD_LIB_SPEC@|@TCL_LIB_SPEC@|; \ s|@TCL_BUILD_STUB_LIB_SPEC@|@TCL_STUB_LIB_SPEC@|; \ s|@TCL_BUILD_STUB_LIB_PATH@|@TCL_STUB_LIB_PATH@|; \ s|@TCL_SRC_DIR@|${PREFIX}/include/tcl${TCL_VER}|' \ ${WRKSRC}/tclConfig.sh.in post-configure: ${REINPLACE_CMD} \ -e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' \ -e 's,^COMPAT_OBJS.*,,' ${WRKSRC}/Makefile do-test: ${SETENV} ${MAKE_ENV} ${MAKE} -C ${WRKSRC} test .include diff --git a/lang/tcl85/files/patch-generic_tclIO.c b/lang/tcl85/files/patch-generic_tclIO.c new file mode 100644 index 000000000000..86e683a58fae --- /dev/null +++ b/lang/tcl85/files/patch-generic_tclIO.c @@ -0,0 +1,21 @@ +https://core.tcl-lang.org/tcl/info/24b9181478 + +--- ../generic/tclIO.c.orig 2020-12-11 17:46:22 UTC ++++ ../generic/tclIO.c +@@ -3765,6 +3765,7 @@ Write( + /* State info for channel */ + char *nextNewLine = NULL; + int endEncoding, saved = 0, total = 0, flushed = 0, needNlFlush = 0; ++ char safe[BUFFER_PADDING]; + + if (srcLen) { + WillWrite(chanPtr); +@@ -3783,7 +3784,7 @@ Write( + + while (srcLen + saved + endEncoding > 0) { + ChannelBuffer *bufPtr; +- char *dst, safe[BUFFER_PADDING]; ++ char *dst; + int result, srcRead, dstLen, dstWrote, srcLimit = srcLen; + + if (nextNewLine) { diff --git a/lang/tcl86/Makefile b/lang/tcl86/Makefile index ec631a425df9..aec0324bafc7 100644 --- a/lang/tcl86/Makefile +++ b/lang/tcl86/Makefile @@ -1,94 +1,94 @@ # Created by: Martin Matuska PORTNAME= tcl DISTVERSION= ${TCL_VERSION}${TCL_RC} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang MASTER_SITES= SF/tcl/Tcl/${TCL_VERSION} PKGNAMESUFFIX= ${SHORT_TCL_VER} DISTNAME= ${PORTNAME}${DISTVERSION}-src MAINTAINER= tcltk@FreeBSD.org COMMENT= Tool Command Language LICENSE= TclTk LICENSE_NAME= Tcl/Tk License LICENSE_FILE= ${WRKSRC}/../license.terms LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept USES= cpe USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-shared \ --enable-man-suffix=.${MAN_SUFFIX} \ --includedir=${PREFIX}/include/tcl${TCL_VER} CONFIGURE_ENV= PORTSDIR=${PORTSDIR} OPTIONS_DEFINE= TCLMAN TZDATA THREADS DEBUG OPTIONS_DEFINE_amd64= DTRACE OPTIONS_DEFINE_powerpc64= DTRACE OPTIONS_DEFINE_powerpc64le= DTRACE OPTIONS_DEFAULT=TCLMAN TZDATA THREADS OPTIONS_DEFAULT_amd64= DTRACE OPTIONS_DEFAULT_powerpc64= DTRACE OPTIONS_DEFAULT_powerpc64le= DTRACE TCLMAN_DESC= Install Tcl function manpages TZDATA_DESC= Install Tcl timezone data OPTIONS_SUB= yes .if !exists(/usr/sbin/dtrace) OPTIONS_EXCLUDE+= DTRACE .endif PATCH_WRKSRC= ${WRKDIR}/${PORTNAME}${TCL_VERSION} WRKSRC= ${PATCH_WRKSRC}/unix ALL_TARGET= all INSTALL_TARGET= install-strip install-libraries install-private-headers TEST_TARGET= test-tcl TCL_VERSION= 8.6.11 TCL_VER= ${TCL_VERSION:R} TCL_RC= SHORT_TCL_VER= ${TCL_VER:S/.//} MAN_SUFFIX= ${PKGBASE} MAKE_ENV= SHORT_TCL_VER=${SHORT_TCL_VER} \ MAN_SUFFIX=.${MAN_SUFFIX} PLIST_SUB= TCL_VER=${TCL_VER} \ SHORT_TCL_VER=${SHORT_TCL_VER} TCLMAN_INSTALL_TARGET= install-doc TZDATA_INSTALL_TARGET= install-tzdata THREADS_CONFIGURE_ENABLE= threads DEBUG_CONFIGURE_ENABLE= symbols DTRACE_CONFIGURE_ENABLE= dtrace .include .if ${PORT_OPTIONS:MDTRACE} PLIST_SUB+= DTRACE="" .else PLIST_SUB+= DTRACE="@comment " .endif post-patch: ${REINPLACE_CMD} -e \ 's|@TCL_BUILD_LIB_SPEC@|@TCL_LIB_SPEC@|; \ s|@TCL_BUILD_STUB_LIB_SPEC@|@TCL_STUB_LIB_SPEC@|; \ s|@TCL_BUILD_STUB_LIB_PATH@|@TCL_STUB_LIB_PATH@|; \ s|@TCL_SRC_DIR@|${PREFIX}/include/tcl${TCL_VER}|' \ ${PATCH_WRKSRC}/unix/tclConfig.sh.in post-patch-TCLMAN-off: @${FIND} ${PATCH_WRKSRC}/pkgs -name Makefile.in | ${XARGS} ${REINPLACE_CMD} \ -e '/^install:/s|install-doc||' post-configure: ${REINPLACE_CMD} \ -e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' \ -e 's,^COMPAT_OBJS.*,,' ${WRKSRC}/Makefile .include diff --git a/lang/tcl86/files/patch-generic_tclIO.c b/lang/tcl86/files/patch-generic_tclIO.c new file mode 100644 index 000000000000..a64bf3945b26 --- /dev/null +++ b/lang/tcl86/files/patch-generic_tclIO.c @@ -0,0 +1,21 @@ +https://core.tcl-lang.org/tcl/info/24b9181478 + +--- generic/tclIO.c.orig 2020-12-11 17:46:22 UTC ++++ generic/tclIO.c +@@ -4277,6 +4277,7 @@ Write( + /* State info for channel */ + char *nextNewLine = NULL; + int endEncoding, saved = 0, total = 0, flushed = 0, needNlFlush = 0; ++ char safe[BUFFER_PADDING]; + + if (srcLen) { + WillWrite(chanPtr); +@@ -4295,7 +4296,7 @@ Write( + + while (srcLen + saved + endEncoding > 0) { + ChannelBuffer *bufPtr; +- char *dst, safe[BUFFER_PADDING]; ++ char *dst; + int result, srcRead, dstLen, dstWrote, srcLimit = srcLen; + + if (nextNewLine) {