This takes care of the two issues and brings another bit into alignment with the Tcl source. I think I got the p0's right and I don't think there's a need to bump the lib. I didn't put --disable-load in. It takes an insane amount of time for me to even get a vax emu setup with -current and such and I'm not much of a vaxochist. I doubt I coined that word. Looks ok to me on i386. Stu
Index: lang/tcl/8.5/Makefile =================================================================== RCS file: /cvs/ports/lang/tcl/8.5/Makefile,v retrieving revision 1.9 diff -N -u -p lang/tcl/8.5/Makefile --- lang/tcl/8.5/Makefile 6 Feb 2010 10:27:21 -0000 1.9 +++ lang/tcl/8.5/Makefile 3 Jun 2010 10:24:02 -0000 @@ -3,7 +3,7 @@ COMMENT = Tool Command Language DISTNAME = tcl8.5.8 -PKGNAME = tcl-8.5.8 +PKGNAME = tcl-8.5.8p0 SHARED_LIBS = tcl85 0.5 CATEGORIES = lang lang/tcl HOMEPAGE = http://www.tcl.tk/ Index: lang/tcl/8.5/patches/patch-generic_tclStrToD_c =================================================================== RCS file: /cvs/ports/lang/tcl/8.5/patches/patch-generic_tclStrToD_c,v retrieving revision 1.1 diff -N -u -p lang/tcl/8.5/patches/patch-generic_tclStrToD_c --- lang/tcl/8.5/patches/patch-generic_tclStrToD_c 22 Nov 2009 22:58:30 -0000 1.1 +++ lang/tcl/8.5/patches/patch-generic_tclStrToD_c 3 Jun 2010 10:24:02 -0000 @@ -1,21 +1,54 @@ $OpenBSD: patch-generic_tclStrToD_c,v 1.1 2009/11/22 22:58:30 jasper Exp $ ---- generic/tclStrToD.c.orig Sun Nov 22 13:37:00 2009 -+++ generic/tclStrToD.c Sun Nov 22 13:39:08 2009 -@@ -73,7 +73,7 @@ typedef unsigned int fpu_control_t __attribute__ ((__m +--- generic/tclStrToD.c.orig Thu Jul 16 16:50:54 2009 ++++ generic/tclStrToD.c Thu May 27 23:52:09 2010 +@@ -71,9 +71,10 @@ typedef unsigned int fpu_control_t __attribute__ ((__m + + /* * MIPS floating-point units need special settings in control registers - * to use gradual underflow as we expect. +- * to use gradual underflow as we expect. ++ * to use gradual underflow as we expect. This fix is for the MIPSpro ++ * compiler. */ -#if defined(__mips) -+#if defined(__mips) && !defined(__OpenBSD__) ++#if defined(__sgi) && defined(_COMPILER_VERSION) #include <sys/fpu.h> #endif /* -@@ -2166,7 +2166,7 @@ TclInitDoubleConversion(void) +@@ -947,12 +948,14 @@ TclParseNumber( + case sINFIN: + case sINFINI: + case sINFINIT: ++#ifdef IEEE_FLOATING_POINT + case sN: + case sNA: + case sNANPAREN: + case sNANHEX: + Tcl_Panic("TclParseNumber: bad acceptState %d parsing '%s'", + acceptState, bytes); ++#endif + + case BINARY: + shift = numTrailZeros; +@@ -1134,11 +1137,13 @@ TclParseNumber( + objPtr->typePtr = &tclDoubleType; + break; + ++#ifdef IEEE_FLOATING_POINT + case sNAN: + case sNANFINISH: + objPtr->internalRep.doubleValue = MakeNaN(signum, significandWide); + objPtr->typePtr = &tclDoubleType; + break; ++#endif + + case INITIAL: + /* This case only to silence compiler warning */ +@@ -2166,7 +2171,7 @@ TclInitDoubleConversion(void) } bitwhack; #endif -#if defined(__mips) -+#if defined(__mips) && !defined(__OpenBSD__) ++#if defined(__sgi) && defined(_COMPILER_VERSION) union fpc_csr mipsCR; mipsCR.fc_word = get_fpc_csr(); Index: x11/tk/8.5/Makefile =================================================================== RCS file: /cvs/ports/x11/tk/8.5/Makefile,v retrieving revision 1.12 diff -N -u -p x11/tk/8.5/Makefile --- x11/tk/8.5/Makefile 21 Nov 2009 02:50:23 -0000 1.12 +++ x11/tk/8.5/Makefile 3 Jun 2010 10:24:02 -0000 @@ -3,7 +3,7 @@ COMMENT = graphical toolkit for Tcl DISTNAME = tk8.5.8 -PKGNAME = tk-8.5.8 +PKGNAME = tk-8.5.8p0 SHARED_LIBS = tk85 0.5 CATEGORIES = x11 x11/tk HOMEPAGE = http://www.tcl.tk/ @@ -15,13 +15,13 @@ PERMIT_PACKAGE_FTP = Yes PERMIT_DISTFILES_CDROM =Yes PERMIT_DISTFILES_FTP = Yes -WANTLIB = X11 Xau Xdmcp Xext Xft Xrender Xss c expat fontconfig freetype m z \ - pthread-stubs xcb +WANTLIB = X11 Xau Xdmcp Xext Xft Xrender Xss c expat fontconfig freetype m z MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=tcl/} DISTFILES = ${DISTNAME}-src.tar.gz .if ${MACHINE_ARCH} != "m88k" && ${MACHINE_ARCH} != "vax" +WANTLIB += pthread-stubs xcb MAKE_FLAGS += TK_BUILD_EXP_FILE="libtk85.a" \ TK_EXP_FILE="libtk85.a" .endif @@ -56,9 +56,9 @@ FLAVOR ?= .if ${FLAVOR:L:Mthreaded} CONFIGURE_ARGS += --enable-threads WANTLIB += pthread -LIB_DEPENDS = tcl85:tcl->=8.5.8,<8.5.9-${FLAVOR}:lang/tcl/8.5 +LIB_DEPENDS = tcl85:tcl->=8.5.8p0,<8.5.9-${FLAVOR}:lang/tcl/8.5 .else -LIB_DEPENDS = tcl85:tcl->=8.5.8,<8.5.9:lang/tcl/8.5 +LIB_DEPENDS = tcl85:tcl->=8.5.8p0,<8.5.9:lang/tcl/8.5 .endif WRKSRC = ${WRKDIST}/unix Index: x11/tk/8.5/patches/patch-unix_tkUnixWm_c =================================================================== RCS file: x11/tk/8.5/patches/patch-unix_tkUnixWm_c diff -N -u -p x11/tk/8.5/patches/patch-unix_tkUnixWm_c --- /dev/null 3 Jun 2010 10:24:02 -0000 +++ x11/tk/8.5/patches/patch-unix_tkUnixWm_c 3 Jun 2010 10:24:02 -0000 @@ -0,0 +1,43 @@ +$OpenBSD$ +--- unix/tkUnixWm.c.orig Thu Jun 3 05:19:50 2010 ++++ unix/tkUnixWm.c Thu Jun 3 05:28:26 2010 +@@ -2335,7 +2335,7 @@ WmIconphotoCmd( + Tk_PhotoHandle photo; + Tk_PhotoImageBlock block; + int i, size = 0, width, height, index = 0, x, y, isDefault = 0; +- unsigned int *iconPropertyData; ++ unsigned long *iconPropertyData; + + if (objc < 4) { + Tcl_WrongNumArgs(interp, 2, objv, +@@ -2375,15 +2375,17 @@ WmIconphotoCmd( + + /* + * We have calculated the size of the data. Try to allocate the needed +- * memory space. ++ * memory space. This is an unsigned long array (despite this being twice ++ * as much as is really needed on LP64 platforms) because that's what X ++ * defines CARD32 arrays to use. [Bug 2902814] + */ + +- iconPropertyData = (unsigned int *) +- Tcl_AttemptAlloc(sizeof(unsigned int) * size); ++ iconPropertyData = (unsigned long *) ++ Tcl_AttemptAlloc(sizeof(unsigned long) * size); + if (iconPropertyData == NULL) { + return TCL_ERROR; + } +- memset(iconPropertyData, 0, sizeof(unsigned int) * size); ++ memset(iconPropertyData, 0, sizeof(unsigned long) * size); + + for (i = 3 + isDefault; i < objc; i++) { + photo = Tk_FindPhoto(interp, Tcl_GetString(objv[i])); +@@ -2421,7 +2423,7 @@ WmIconphotoCmd( + for (x = 0; x < width; x++) { + register unsigned char *pixelPtr = + block.pixelPtr + x*block.pixelSize + y*block.pitch; +- register unsigned int R, G, B, A; ++ register unsigned long R, G, B, A; + + R = pixelPtr[block.offset[0]]; + G = pixelPtr[block.offset[1]];
