diff --git a/lang/tcl84/Makefile b/lang/tcl84/Makefile index 3675b57..d6e645d 100644 --- a/lang/tcl84/Makefile +++ b/lang/tcl84/Makefile @@ -20,9 +20,10 @@ LICENSE_NAME= Tcl/Tk License LICENSE_FILE= ${WRKSRC}/../license.terms LICENSE_PERMS= auto-accept dist-mirror dist-sell pkg-mirror pkg-sell -OPTIONS_DEFINE= TCLMAN THREADS +OPTIONS_DEFINE= TCLMAN THREADS DTRACE OPTIONS_DEFAULT=THREADS TCLMAN_DESC= Install Tcl function manpages +DTRACE_DESC= Build with support for the Tcl DTrace provider WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}/unix @@ -62,6 +63,12 @@ CONFIGURE_ARGS+= --enable-threads CONFIGURE_ARGS+= --disable-threads .endif +.if ${PORT_OPTIONS:MDTRACE} +CONFIGURE_ARGS+= --enable-dtrace +.else +CONFIGURE_ARGS+= --disable-dtrace +.endif + post-patch: ${REINPLACE_CMD} -e \ 's|@TCL_BUILD_LIB_SPEC@|@TCL_LIB_SPEC@|; \ diff --git a/lang/tcl84/files/patch-Makefile.in b/lang/tcl84/files/patch-Makefile.in index 461f6d1..a16d6b5 100644 --- a/lang/tcl84/files/patch-Makefile.in +++ b/lang/tcl84/files/patch-Makefile.in @@ -1,5 +1,5 @@ ---- Makefile.in.orig 2013-06-03 19:29:06.000000000 +0200 -+++ Makefile.in 2014-02-03 09:56:38.000000000 +0100 +--- Makefile.in.orig 2013-06-03 13:29:06.000000000 -0400 ++++ Makefile.in 2014-09-05 16:18:17.000000000 -0400 @@ -56,6 +56,8 @@ # Directory in which to install the include file tcl.h: @@ -18,7 +18,16 @@ # Flags to pass to the linker LDFLAGS_DEBUG = @LDFLAGS_DEBUG@ -@@ -468,7 +470,8 @@ +@@ -304,6 +306,8 @@ + ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \ + -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\" @EXTRA_CC_SWITCHES@ + ++DTRACE_SWITCHES = -xnolibs ++ + TCLSH_OBJS = tclAppInit.o + + TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ +@@ -468,7 +472,8 @@ all: binaries libraries doc @@ -28,7 +37,7 @@ libraries: -@@ -479,6 +482,15 @@ +@@ -479,6 +484,15 @@ ${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} rm -f $@ @MAKE_LIB@ @@ -44,7 +53,7 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} rm -f $@ -@@ -605,7 +617,7 @@ +@@ -605,7 +619,7 @@ dltest.marker: ${STUB_LIB_FILE} cd dltest ; $(MAKE) @@ -53,7 +62,7 @@ install: $(INSTALL_TARGETS) -@@ -631,9 +643,15 @@ +@@ -631,9 +645,15 @@ @if test ! -x $(SRC_DIR)/install-sh; then \ chmod +x $(SRC_DIR)/install-sh; \ fi @@ -70,7 +79,7 @@ @if test "$(TCL_BUILD_EXP_FILE)" != ""; then \ echo "Installing $(TCL_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \ -@@ -641,8 +659,9 @@ +@@ -641,8 +661,9 @@ fi @echo "Installing tclsh as $(BIN_INSTALL_DIR)/tclsh$(VERSION)" @$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION) @@ -82,7 +91,7 @@ @if test "$(STUB_LIB_FILE)" != "" ; then \ echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \ @INSTALL_STUB_LIB@ ; \ -@@ -668,7 +687,8 @@ +@@ -668,7 +689,8 @@ @EXTRA_INSTALL_BINARIES@ install-libraries: libraries @@ -92,7 +101,7 @@ do \ if [ ! -d $$i ] ; then \ echo "Making directory $$i"; \ -@@ -690,11 +710,17 @@ +@@ -690,11 +712,17 @@ chmod +x $(SRC_DIR)/install-sh; \ fi @echo "Installing header files"; diff --git a/lang/tcl84/files/patch-configure b/lang/tcl84/files/patch-configure index d81d9ae..2723f43 100644 --- a/lang/tcl84/files/patch-configure +++ b/lang/tcl84/files/patch-configure @@ -1,5 +1,5 @@ ---- configure.orig 2013-05-28 17:05:26.000000000 +0200 -+++ configure 2013-06-03 14:49:34.000000000 +0200 +--- configure.orig 2013-06-03 13:29:06.000000000 -0400 ++++ configure 2014-09-05 16:23:20.000000000 -0400 @@ -2589,7 +2589,7 @@ LDFLAGS_ORIG="$LDFLAGS" TCL_EXPORT_FILE_SUFFIX="" @@ -9,3 +9,13 @@ ECHO_VERSION='`echo ${VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g +@@ -9107,6 +9107,9 @@ + + DTRACE_SRC="\${DTRACE_SRC}" + DTRACE_HDR="\${DTRACE_HDR}" ++ if test "`uname -s`" = "FreeBSD" ; then ++ LIBS="${LIBS} -lelf" ++ fi + if test "`uname -s`" != "Darwin" ; then + DTRACE_OBJ="\${DTRACE_OBJ}" + if test "`uname -s`" = "SunOS" -a "$SHARED_BUILD" = "0" ; then diff --git a/lang/tcl85/Makefile b/lang/tcl85/Makefile index 828acce..05b124b 100644 --- a/lang/tcl85/Makefile +++ b/lang/tcl85/Makefile @@ -19,11 +19,12 @@ LICENSE_NAME= Tcl/Tk License LICENSE_FILE= ${WRKSRC}/../license.terms LICENSE_PERMS= auto-accept dist-mirror dist-sell pkg-mirror pkg-sell -OPTIONS_DEFINE= TCLMAN TZDATA MODULES THREADS +OPTIONS_DEFINE= TCLMAN TZDATA MODULES THREADS DTRACE OPTIONS_DEFAULT=MODULES THREADS TCLMAN_DESC= Install Tcl function manpages TZDATA_DESC= Install Tcl timezone data MODULES_DESC= Install Tcl common modules +DTRACE_DESC= Build with support for the Tcl DTrace provider WRKSRC= ${WRKDIR}/${DISTNAME:S/-src//}/unix ALL_TARGET= all @@ -78,6 +79,12 @@ PLIST_SUB+= TZDATA="@comment " CONFIGURE_ARGS+=--without-tzdata .endif +.if ${PORT_OPTIONS:MDTRACE} +CONFIGURE_ARGS+=--enable-dtrace +.else +CONFIGURE_ARGS+=--disable-dtrace +.endif + post-patch: ${REINPLACE_CMD} -e \ 's|@TCL_BUILD_LIB_SPEC@|@TCL_LIB_SPEC@|; \ diff --git a/lang/tcl85/files/patch-unix-Makefile.in b/lang/tcl85/files/patch-unix-Makefile.in index a11565d..2153525 100644 --- a/lang/tcl85/files/patch-unix-Makefile.in +++ b/lang/tcl85/files/patch-unix-Makefile.in @@ -1,5 +1,5 @@ ---- Makefile.in.orig 2013-09-13 18:07:56.000000000 +0200 -+++ Makefile.in 2014-04-28 09:48:13.000000000 +0200 +--- Makefile.in.orig 2013-09-13 12:07:56.000000000 -0400 ++++ Makefile.in 2014-09-05 16:54:56.000000000 -0400 @@ -54,6 +54,8 @@ # Directory in which to install the include file tcl.h: @@ -9,7 +9,16 @@ # Path to the private tcl header dir: PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ -@@ -542,7 +544,7 @@ +@@ -268,6 +270,8 @@ + DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \ + ${AC_FLAGS} ${PROTO_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@ + ++DTRACE_SWITCHES = -xnolibs ++ + TCLSH_OBJS = tclAppInit.o + + TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ +@@ -542,7 +546,7 @@ all: binaries libraries doc @@ -18,7 +27,7 @@ libraries: -@@ -553,6 +555,14 @@ +@@ -553,6 +557,14 @@ ${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} rm -f $@ @MAKE_LIB@ @@ -33,7 +42,7 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} rm -f $@ -@@ -694,7 +704,7 @@ +@@ -694,7 +706,7 @@ dltest.marker: ${STUB_LIB_FILE} cd dltest ; $(MAKE) @@ -42,7 +51,7 @@ install: $(INSTALL_TARGETS) -@@ -720,10 +730,17 @@ +@@ -720,10 +732,17 @@ @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" @@INSTALL_LIB@ @chmod 555 "$(DLL_INSTALL_DIR)"/$(LIB_FILE) @@ -62,7 +71,7 @@ @if test "$(STUB_LIB_FILE)" != "" ; then \ echo "Installing $(STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \ @INSTALL_STUB_LIB@ ; \ -@@ -731,7 +748,8 @@ +@@ -731,7 +750,8 @@ @EXTRA_INSTALL_BINARIES@ install-libraries: libraries $(INSTALL_TZDATA) install-msgs @@ -72,7 +81,7 @@ do \ if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ -@@ -739,7 +757,7 @@ +@@ -739,7 +759,7 @@ else true; \ fi; \ done; @@ -81,7 +90,7 @@ do \ if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ -@@ -748,51 +766,61 @@ +@@ -748,51 +768,61 @@ fi; \ done; @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/"; @@ -169,7 +178,7 @@ install-tzdata: @for i in tzdata; \ do \ -@@ -1564,7 +1592,7 @@ +@@ -1564,7 +1594,7 @@ match=1; \ fi; \ done; \ @@ -178,7 +187,7 @@ done # -@@ -1581,7 +1609,7 @@ +@@ -1581,7 +1611,7 @@ match=1; \ fi; \ done; \ diff --git a/lang/tcl85/files/patch-unix-configure b/lang/tcl85/files/patch-unix-configure index c1c6c47..382d9fb 100644 --- a/lang/tcl85/files/patch-unix-configure +++ b/lang/tcl85/files/patch-unix-configure @@ -1,6 +1,6 @@ ---- configure.orig 2011-06-23 15:18:36.000000000 +0200 -+++ configure 2011-06-25 21:30:44.310215849 +0200 -@@ -6638,7 +6638,7 @@ +--- configure.orig 2013-09-13 12:07:56.000000000 -0400 ++++ configure 2014-09-05 16:55:42.000000000 -0400 +@@ -6639,7 +6639,7 @@ # is disabled by the user. [Bug 1016796] LDFLAGS_ARCH="" UNSHARED_LIB_SUFFIX="" @@ -9,7 +9,7 @@ ECHO_VERSION='`echo ${VERSION}`' TCL_LIB_VERSIONS_OK=ok CFLAGS_DEBUG=-g -@@ -7648,7 +7648,7 @@ +@@ -7617,7 +7617,7 @@ SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" @@ -18,7 +18,7 @@ if test $doRpath = yes; then CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' -@@ -7659,16 +7659,16 @@ +@@ -7628,16 +7628,16 @@ # The -pthread needs to go in the CFLAGS, not LIBS LIBS=`echo $LIBS | sed s/-pthread//` @@ -39,3 +39,13 @@ TCL_LIB_VERSIONS_OK=nodots ;; esac +@@ -18514,6 +18514,9 @@ + + DTRACE_SRC="\${DTRACE_SRC}" + DTRACE_HDR="\${DTRACE_HDR}" ++ if test "`uname -s`" = "FreeBSD" ; then ++ TCL_LIBS="${TCL_LIBS} -lelf" ++ fi + if test "`uname -s`" != "Darwin" ; then + DTRACE_OBJ="\${DTRACE_OBJ}" + if test "`uname -s`" = "SunOS" -a "$SHARED_BUILD" = "0" ; then diff --git a/lang/tcl86/Makefile b/lang/tcl86/Makefile index e62a60a..5f472ef 100644 --- a/lang/tcl86/Makefile +++ b/lang/tcl86/Makefile @@ -18,11 +18,12 @@ LICENSE_NAME= Tcl/Tk License LICENSE_FILE= ${WRKSRC}/../license.terms LICENSE_PERMS= auto-accept dist-mirror dist-sell pkg-mirror pkg-sell -OPTIONS_DEFINE= TCLMAN TZDATA MODULES THREADS +OPTIONS_DEFINE= TCLMAN TZDATA MODULES THREADS DTRACE OPTIONS_DEFAULT=MODULES THREADS TCLMAN_DESC= Install Tcl function manpages TZDATA_DESC= Install Tcl timezone data MODULES_DESC= Install Tcl common modules +DTRACE_DESC= Build with support for the Tcl DTrace provider WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}/unix @@ -76,6 +77,12 @@ CONFIGURE_ARGS+=--enable-threads CONFIGURE_ARGS+=--disable-threads .endif +.if ${PORT_OPTIONS:MDTRACE} +CONFIGURE_ARGS+=--enable-dtrace +.else +CONFIGURE_ARGS+=--disable-dtrace +.endif + .if ${ARCH} == "arm" BROKEN= Does not build on arm .endif diff --git a/lang/tcl86/files/patch-generic-tclProc.c b/lang/tcl86/files/patch-generic-tclProc.c new file mode 100644 index 0000000..9286b70 --- /dev/null +++ b/lang/tcl86/files/patch-generic-tclProc.c @@ -0,0 +1,17 @@ +--- ../generic/tclProc.c.orig 2014-09-05 16:35:49.000000000 -0400 ++++ ../generic/tclProc.c 2014-09-05 16:35:55.000000000 -0400 +@@ -1810,14 +1810,6 @@ + iPtr->varFramePtr->objc - l - 1, + (Tcl_Obj **)(iPtr->varFramePtr->objv + l + 1)); + } +- if (TCL_DTRACE_PROC_ENTRY_ENABLED()) { +- int l = iPtr->varFramePtr->isProcCallFrame & FRAME_IS_LAMBDA ? 1 : 0; +- +- TCL_DTRACE_PROC_ENTRY(l < iPtr->varFramePtr->objc ? +- TclGetString(iPtr->varFramePtr->objv[l]) : NULL, +- iPtr->varFramePtr->objc - l - 1, +- (Tcl_Obj **)(iPtr->varFramePtr->objv + l + 1)); +- } + #endif /* USE_DTRACE */ + + /* diff --git a/lang/tcl86/files/patch-unix-Makefile.in b/lang/tcl86/files/patch-unix-Makefile.in index 10ab927..af59648 100644 --- a/lang/tcl86/files/patch-unix-Makefile.in +++ b/lang/tcl86/files/patch-unix-Makefile.in @@ -1,5 +1,5 @@ ---- Makefile.in.orig 2013-09-19 22:17:13.000000000 +0200 -+++ Makefile.in 2014-08-08 12:36:53.000000000 +0200 +--- Makefile.in.orig 2013-09-19 16:17:13.000000000 -0400 ++++ Makefile.in 2014-09-05 16:11:08.000000000 -0400 @@ -54,6 +54,8 @@ # Directory in which to install the include file tcl.h: @@ -22,7 +22,16 @@ # Package search path. TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ -@@ -611,9 +613,9 @@ +@@ -282,6 +284,8 @@ + DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \ + ${AC_FLAGS} ${PROTO_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@ + ++DTRACE_SWITCHES = -xnolibs ++ + TCLSH_OBJS = tclAppInit.o + + TCLTEST_OBJS = tclTestInit.o tclTest.o tclTestObj.o tclTestProcBodyObj.o \ +@@ -611,9 +615,9 @@ # Start of rules #-------------------------------------------------------------------------- @@ -34,7 +43,7 @@ libraries: -@@ -624,7 +626,12 @@ +@@ -624,7 +628,12 @@ ${LIB_FILE}: ${OBJS} ${STUB_LIB_FILE} rm -f $@ @MAKE_LIB@ @@ -47,7 +56,7 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS} rm -f $@ -@@ -765,13 +772,13 @@ +@@ -765,13 +774,13 @@ # Installation rules #-------------------------------------------------------------------------- @@ -64,7 +73,7 @@ install: $(INSTALL_TARGETS) -@@ -797,6 +804,11 @@ +@@ -797,6 +806,11 @@ @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" @@INSTALL_LIB@ @chmod 555 "$(DLL_INSTALL_DIR)/$(LIB_FILE)" @@ -76,7 +85,7 @@ @echo "Installing ${TCL_EXE} as $(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}" @$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}" @echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/" -@@ -809,12 +821,12 @@ +@@ -809,12 +823,12 @@ @INSTALL_STUB_LIB@ ; \ fi @EXTRA_INSTALL_BINARIES@ @@ -93,7 +102,7 @@ do \ if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ -@@ -822,7 +834,22 @@ +@@ -822,7 +836,22 @@ else true; \ fi; \ done; @@ -117,7 +126,7 @@ do \ if [ ! -d "$(SCRIPT_INSTALL_DIR)"/$$i ] ; then \ echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \ -@@ -830,43 +857,26 @@ +@@ -830,43 +859,26 @@ else true; \ fi; \ done; @@ -166,7 +175,7 @@ install-tzdata: @for i in tzdata; \ -@@ -941,7 +951,7 @@ +@@ -941,7 +953,7 @@ done install-headers: @@ -175,7 +184,7 @@ do \ if [ ! -d "$$i" ] ; then \ echo "Making directory $$i"; \ -@@ -950,14 +960,21 @@ +@@ -950,14 +962,21 @@ fi; \ done; @echo "Installing header files to $(INCLUDE_INSTALL_DIR)/"; diff --git a/lang/tcl86/files/patch-unix-configure b/lang/tcl86/files/patch-unix-configure new file mode 100644 index 0000000..25fc803 --- /dev/null +++ b/lang/tcl86/files/patch-unix-configure @@ -0,0 +1,12 @@ +--- configure.orig 2014-09-05 16:06:10.000000000 -0400 ++++ configure 2014-09-05 16:08:35.000000000 -0400 +@@ -19023,6 +19023,9 @@ + + DTRACE_SRC="\${DTRACE_SRC}" + DTRACE_HDR="\${DTRACE_HDR}" ++ if test "`uname -s`" = "FreeBSD" ; then ++ TCL_LIBS="${TCL_LIBS} -lelf" ++ fi + if test "`uname -s`" != "Darwin" ; then + DTRACE_OBJ="\${DTRACE_OBJ}" + if test "`uname -s`" = "SunOS" -a "$SHARED_BUILD" = "0" ; then