summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-tcltk/blt/ChangeLog6
-rw-r--r--dev-tcltk/blt/blt-2.4z-r12.ebuild3
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch86
3 files changed, 93 insertions, 2 deletions
diff --git a/dev-tcltk/blt/ChangeLog b/dev-tcltk/blt/ChangeLog
index c80e80244dfe..a7b9175ce61b 100644
--- a/dev-tcltk/blt/ChangeLog
+++ b/dev-tcltk/blt/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-tcltk/blt
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/blt/ChangeLog,v 1.67 2013/04/04 18:24:39 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/blt/ChangeLog,v 1.68 2013/04/05 07:01:52 jlec Exp $
+
+ 05 Apr 2013; Justin Lecher <jlec@gentoo.org> blt-2.4z-r12.ebuild,
+ +files/blt-2.4z-tcl8.6.patch:
+ Add correct fix for compatibility to tcl-8.6, 464650
*blt-2.4z-r12 (04 Apr 2013)
diff --git a/dev-tcltk/blt/blt-2.4z-r12.ebuild b/dev-tcltk/blt/blt-2.4z-r12.ebuild
index 78c4f1a8e5ca..81dabdf2f778 100644
--- a/dev-tcltk/blt/blt-2.4z-r12.ebuild
+++ b/dev-tcltk/blt/blt-2.4z-r12.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/blt/blt-2.4z-r12.ebuild,v 1.1 2013/04/04 18:24:39 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/blt/blt-2.4z-r12.ebuild,v 1.2 2013/04/05 07:01:52 jlec Exp $
EAPI=5
@@ -61,6 +61,7 @@ src_prepare() {
"${FILESDIR}"/${P}-darwin.patch \
"${FILESDIR}"/${P}-gbsd.patch \
"${FILESDIR}"/${P}-tk8.6.patch \
+ "${FILESDIR}"/${P}-tcl8.6.patch \
"${FILESDIR}"/${P}-aclocal.patch
append-cflags -fPIC
diff --git a/dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch b/dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch
new file mode 100644
index 000000000000..8721940af2c3
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch
@@ -0,0 +1,86 @@
+ src/bltScrollbar.c | 2 +-
+ src/bltTed.c | 6 +++---
+ src/bltVecMath.c | 8 ++++----
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/bltScrollbar.c b/src/bltScrollbar.c
+index 69662de..731e37b 100644
+--- a/src/bltScrollbar.c
++++ b/src/bltScrollbar.c
+@@ -534,7 +534,7 @@ ScrollbarWidgetCmd(clientData, interp, argc, argv)
+ } else {
+ fraction = ((double)pixels / (double)barWidth);
+ }
+- sprintf(interp->result, "%g", fraction);
++ sprintf(Tcl_GetStringResult(interp), "%g", fraction);
+ } else if ((c == 'f') && (strncmp(argv[1], "fraction", length) == 0)) {
+ int x, y, pos, barWidth;
+ double fraction;
+diff --git a/src/bltTed.c b/src/bltTed.c
+index 64c43e8..832ef9c 100644
+--- a/src/bltTed.c
++++ b/src/bltTed.c
+@@ -1504,7 +1504,7 @@ EditOp(dataPtr, interp, argc, argv)
+ tablePtr->flags |= ARRANGE_PENDING;
+ Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
+ }
+- interp->result = Tk_PathName(tedPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
+ tedPtr->flags |= LAYOUT_PENDING;
+ EventuallyRedraw(tedPtr);
+ return TCL_OK;
+@@ -1678,7 +1678,7 @@ SelectOp(dataPtr, interp, argc, argv)
+ tedPtr->activeRectArr[4].width = grip - 1;
+ tedPtr->activeRectArr[4].height = grip - 1;
+
+- interp->result = Tk_PathName(entryPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(entryPtr->tkwin), TCL_VOLATILE);
+ active = 1;
+ break;
+ }
+@@ -1751,7 +1751,7 @@ RepOp(dataPtr, interp, argc, argv)
+ tablePtr->flags |= ARRANGE_PENDING;
+ Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
+ }
+- interp->result = Tk_PathName(tedPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
+ tedPtr->flags |= LAYOUT_PENDING;
+ EventuallyRedraw(tedPtr);
+ return TCL_OK;
+diff --git a/src/bltVecMath.c b/src/bltVecMath.c
+index dc37af8..5117f63 100644
+--- a/src/bltVecMath.c
++++ b/src/bltVecMath.c
+@@ -764,20 +764,20 @@ MathError(interp, value)
+ if ((errno == EDOM) || (value != value)) {
+ Tcl_AppendResult(interp, "domain error: argument not in valid range",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ } else if ((errno == ERANGE) || IS_INF(value)) {
+ if (value == 0.0) {
+ Tcl_AppendResult(interp,
+ "floating-point value too small to represent",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ } else {
+ Tcl_AppendResult(interp,
+ "floating-point value too large to represent",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ }
+ } else {
+@@ -786,7 +786,7 @@ MathError(interp, value)
+ sprintf(buf, "%d", errno);
+ Tcl_AppendResult(interp, "unknown floating-point error, ",
+ "errno = ", buf, (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ }
+ }