aboutsummaryrefslogtreecommitdiffstats
path: root/lang/tcl84
diff options
context:
space:
mode:
authormi <mi@FreeBSD.org>2006-06-28 06:27:22 +0800
committermi <mi@FreeBSD.org>2006-06-28 06:27:22 +0800
commit5849a5ba6b3d7a86d13b8bfba441e8d9fe95f7ea (patch)
tree403300ef0f5211efbb8a2e19df9c8e93e0ae62e3 /lang/tcl84
parenteb772722da217508487f7e55be2a5ebc6d953d2b (diff)
downloadfreebsd-ports-gnome-5849a5ba6b3d7a86d13b8bfba441e8d9fe95f7ea.tar.gz
freebsd-ports-gnome-5849a5ba6b3d7a86d13b8bfba441e8d9fe95f7ea.tar.zst
freebsd-ports-gnome-5849a5ba6b3d7a86d13b8bfba441e8d9fe95f7ea.zip
Fix up a few issues:
. add recognition of the BSD-specific SIGINFO signal (to be submitted to authors); . avoid even extracting the compat/ subdirectory for fear of picking up a wrong declaration for a function defined in a system library; . force to use the system strstr() instead of building TCL's own (from compat/strstr.c); . similarly, use the system memmove() instead of the (identical) bcopy; . run the vendor's tests as part of the build -- the test failures are not fatal, but may help investigate problems; . fix up the two failing tests so that none currently fail on my two test systems (FreeBSD-6.1-STABLE i386 and amd64) (fixes submitted to authors); . quiet down the noisy warning, triggered in the thread-case by the re-#define of inet_ntoa() in tclUnixPort.h. Bump PORTREVISION.
Diffstat (limited to 'lang/tcl84')
-rw-r--r--lang/tcl84/Makefile8
-rw-r--r--lang/tcl84/files/patch-siginfo18
-rw-r--r--lang/tcl84/files/patch-test-clock30
-rw-r--r--lang/tcl84/files/patch-test-fCmd21
-rw-r--r--lang/tcl84/files/patch-warnings12
-rw-r--r--lang/tcl84/pkg-plist2
6 files changed, 89 insertions, 2 deletions
diff --git a/lang/tcl84/Makefile b/lang/tcl84/Makefile
index c5b082033c75..d1981fef50a0 100644
--- a/lang/tcl84/Makefile
+++ b/lang/tcl84/Makefile
@@ -7,6 +7,7 @@
PORTNAME= tcl
PORTVERSION= 8.4.13
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= lang tcl84
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
@@ -19,16 +20,18 @@ COMMENT= Tool Command Language
PATCH_DIST_ARGS= -d ${WRKDIR}/${DISTNAME} -E ${PATCH_DIST_STRIP}
WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}/unix
+ALL_TARGET= all test
INSTALLS_SHLIB= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-shared --includedir=${PREFIX}/include/tcl${TCL_VER}
CONFIGURE_ENV= PORTSDIR=${PORTSDIR}
-MAKE_ENV= SHORT_TCL_VER=84
+MAKE_ENV= SHORT_TCL_VER=84 LANG=C # LANG=C is required for some of UTF-using tests
PKGINSTALL= ${PKGDIR}/pkg-install.tclsh
PKGDEINSTALL= ${PKGDIR}/pkg-deinstall.tclsh
TCL_VER= 8.4
NOPRECIOUSMAKEVARS= Too many _MLINKS for README.html
PLIST_SUB= TCL_VER=${TCL_VER} SHORT_TCL_VER=84
+EXTRACT_AFTER_ARGS=|${TAR} -xpf - --exclude compat/
.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
THREADS_SUFFIX= -threads
@@ -613,6 +616,9 @@ post-configure:
${REINPLACE_CMD} \
-e 's|${WRKDIRPREFIX}${.CURDIR}|$${WRKDIRPREFIX}${TCLBASE}|' \
${WRKSRC}/tclConfig.sh
+ ${REINPLACE_CMD} \
+ -e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' \
+ -e 's,^COMPAT_OBJS.*,,' ${WRKSRC}/Makefile
.if defined(WITHOUT_TCL84_MAN)
${REINPLACE_CMD} -e 's|^MAN_INSTALL_DIR.*$$|MAN_INSTALL_DIR = ${WRKDIR}|' \
${WRKSRC}/Makefile
diff --git a/lang/tcl84/files/patch-siginfo b/lang/tcl84/files/patch-siginfo
new file mode 100644
index 000000000000..c295cab00c0f
--- /dev/null
+++ b/lang/tcl84/files/patch-siginfo
@@ -0,0 +1,18 @@
+--- ../generic/tclPosixStr.c Mon May 27 06:14:21 2002
++++ ../generic/tclPosixStr.c Tue Jun 27 13:14:57 2006
+@@ -1044,4 +1044,7 @@ Tcl_SignalId(sig)
+ case SIGXFSZ: return "SIGXFSZ";
+ #endif
++#ifdef SIGINFO
++ case SIGINFO: return "SIGINFO";
++#endif
+ }
+ return "unknown signal";
+@@ -1175,4 +1178,7 @@ Tcl_SignalMsg(sig)
+ #ifdef SIGXFSZ
+ case SIGXFSZ: return "exceeded file size limit";
++#endif
++#ifdef SIGINFO
++ case SIGINFO: return "information/status request";
+ #endif
+ }
diff --git a/lang/tcl84/files/patch-test-clock b/lang/tcl84/files/patch-test-clock
new file mode 100644
index 000000000000..bfe46da82f8c
--- /dev/null
+++ b/lang/tcl84/files/patch-test-clock
@@ -0,0 +1,30 @@
+--- ../tests/clock.test Wed Sep 8 14:32:20 2004
++++ ../tests/clock.test Tue Jun 27 13:42:45 2006
+@@ -64,5 +64,5 @@
+ clock format $clockval -format {%a %b %d %I:%M:%S %p %Y} -gmt true
+ } {Sun Nov 04 03:02:46 AM 1990}
+-test clock-3.2 {clock format tests} {
++test clock-3.2 {clock format tests} -body {
+ # TCL_USE_TIMEZONE_VAR
+
+@@ -74,5 +74,5 @@
+ catch {unset env(TZ); set env(TZ) $oldtz}
+ set x
+-} {GMTPST}
++} -match regexp -result {(GMT|UTC)PST}
+ test clock-3.3 {clock format tests} {
+ # tzset() under Borland doesn't seem to set up tzname[] for local
+@@ -83,5 +83,5 @@
+ set x {}
+ } {}
+-test clock-3.4 {clock format tests} {
++test clock-3.4 {clock format tests} -body {
+ # tzset() under Borland doesn't seem to set up tzname[] for gmt timezone.
+ # tzset() under MSVC has the following weird observed behavior:
+@@ -94,5 +94,5 @@
+ append x [clock format 863800000 -format %Z -gmt 1]
+ append x [clock format 863800000 -format %Z -gmt 1]
+-} {GMTGMT}
++} -match regexp -result {GMTGMT|UTCUTC}
+ test clock-3.5 {clock format tests} {
+ list [catch {clock format} msg] $msg
diff --git a/lang/tcl84/files/patch-test-fCmd b/lang/tcl84/files/patch-test-fCmd
new file mode 100644
index 000000000000..04adaf1b7e2d
--- /dev/null
+++ b/lang/tcl84/files/patch-test-fCmd
@@ -0,0 +1,21 @@
+Don't fail, when the tester's home directory (or any sub-path
+thereof) is a symbolic link...
+
+ -mi
+
+--- ../tests/fCmd.test Sun Mar 19 17:47:30 2006
++++ ../tests/fCmd.test Tue Jun 27 14:13:53 2006
+@@ -578,5 +578,5 @@
+ } {1 {error copying "td2" to "~/td1/td2": permission denied}}
+ test fCmd-6.26 {CopyRenameOneFile: doesn't use original name} \
+- {unixOnly notRoot} {
++ -constraints {unixOnly notRoot} -match regexp -body {
+ cleanup
+ file mkdir ~/td1/td2
+@@ -587,5 +587,5 @@
+ file delete -force ~/td1
+ set msg
+-} "1 {error copying \"~/td1\" to \"td1\": \"[file join [file dirname ~] [file tail ~] td1 td2]\": permission denied}"
++} -result "1 {error copying \"~/td1\" to \"td1\": \".*[file join td1 td2]\": permission denied}"
+ test fCmd-6.27 {CopyRenameOneFile: TclpCopyDirectory failed} \
+ {unixOnly notRoot xdev} {
diff --git a/lang/tcl84/files/patch-warnings b/lang/tcl84/files/patch-warnings
new file mode 100644
index 000000000000..ee2cab063834
--- /dev/null
+++ b/lang/tcl84/files/patch-warnings
@@ -0,0 +1,12 @@
+Quiet the noisy "already defined" warning triggered, when building with TCL_THREADS.
+
+--- ../unix/tclUnixPort.h Tue Dec 6 04:01:07 2005
++++ ../unix/tclUnixPort.h Tue Jun 27 15:16:21 2006
+@@ -607,4 +607,7 @@
+ #endif
+ EXTERN char * TclpInetNtoa(struct in_addr);
++#ifdef inet_ntoa
++# undef inet_ntoa
++#endif
+ #define inet_ntoa(x) TclpInetNtoa(x)
+ #else
diff --git a/lang/tcl84/pkg-plist b/lang/tcl84/pkg-plist
index fec21e20316f..4ff921b8f69d 100644
--- a/lang/tcl84/pkg-plist
+++ b/lang/tcl84/pkg-plist
@@ -132,7 +132,7 @@ lib/tcl%%TCL_VER%%/word.tcl
@dirrm lib/tcl%%TCL_VER%%/http2.5
@dirrm lib/tcl%%TCL_VER%%/http1.0
@dirrm lib/tcl%%TCL_VER%%/encoding
-@dirrm lib/tcl%%TCL_VER%%
+@dirrmtry lib/tcl%%TCL_VER%%
@dirrm include/tcl%%TCL_VER%%/unix
@dirrm include/tcl%%TCL_VER%%/generic
@dirrm include/tcl%%TCL_VER%%