aboutsummaryrefslogtreecommitdiffstats
path: root/devel/gcvs
diff options
context:
space:
mode:
authorgahr <gahr@FreeBSD.org>2013-05-13 20:14:01 +0800
committergahr <gahr@FreeBSD.org>2013-05-13 20:14:01 +0800
commit8773b08297d4283a6293808acfc0fb94ccf1c59d (patch)
tree6d546a0c9c0d2c78a323d8d8cb8ab69b71ae1f81 /devel/gcvs
parentaf229a0f157623b27872e365ee13618b6fc0026e (diff)
downloadfreebsd-ports-gnome-8773b08297d4283a6293808acfc0fb94ccf1c59d.tar.gz
freebsd-ports-gnome-8773b08297d4283a6293808acfc0fb94ccf1c59d.tar.zst
freebsd-ports-gnome-8773b08297d4283a6293808acfc0fb94ccf1c59d.zip
- Fix build with Tcl 8.6
Reported by: miwi (Tcl/Tk 86 exp-run)
Diffstat (limited to 'devel/gcvs')
-rw-r--r--devel/gcvs/Makefile3
-rw-r--r--devel/gcvs/files/patch-common_TclGlue.cpp59
2 files changed, 60 insertions, 2 deletions
diff --git a/devel/gcvs/Makefile b/devel/gcvs/Makefile
index 4bf6b3b5bafc..648adf0c9ba3 100644
--- a/devel/gcvs/Makefile
+++ b/devel/gcvs/Makefile
@@ -1,5 +1,4 @@
# $FreeBSD$
-# $MCom: ports/devel/gcvs/Makefile,v 1.1 2006/10/07 17:10:25 ahze Exp $
PORTNAME= gcvs
PORTVERSION= 1.0
@@ -26,7 +25,7 @@ CXXFLAGS:= ${CXXFLAGS:N-std=*:N:}
CONFIGURE_ARGS= --with-tclinclude=${TCL_INCLUDEDIR} \
--with-tcllib=${TCL_LIBDIR}
MAKE_JOBS_SAFE= yes
-EXTRACT_AFTER_ARGS= --exclude cvsunix --exclude 'getline.[ch]' --exclude 'getopt*.[ch]'
+EXTRACT_AFTER_ARGS=--exclude cvsunix --exclude 'getline.[ch]' --exclude 'getopt*.[ch]'
post-patch:
${REINPLACE_CMD} -E '/get(line|opt1?)\.[ch]/d' \
diff --git a/devel/gcvs/files/patch-common_TclGlue.cpp b/devel/gcvs/files/patch-common_TclGlue.cpp
new file mode 100644
index 000000000000..2fdcce4659a7
--- /dev/null
+++ b/devel/gcvs/files/patch-common_TclGlue.cpp
@@ -0,0 +1,59 @@
+--- common/TclGlue.cpp.bak 2002-12-20 15:38:25.000000000 +0100
++++ common/TclGlue.cpp 2013-05-13 14:10:28.000000000 +0200
+@@ -452,7 +452,7 @@
+ {
+ EntnodeData* data = entry->GetData();
+ CStr path, fname, value;
+- entry->GetNormalized(path, fname);
++ entry->GetNormalized(path, fname);
+ const char *res = Tcl_SetVar2(interp, argv[3], "name", fname, 0);
+ if(res == 0L)
+ goto err1;
+@@ -1161,17 +1161,18 @@
+ if(bTclFileStarted)
+ gCvsPrefs.SetTclFileRunning(false);
+
+- size_t len = strlen(fInterp->result);
++ const char *res = Tcl_GetStringResult(fInterp);
++ size_t len = strlen(res);
+ if(exitc == TCL_ERROR)
+ {
+- cvs_errstr(fInterp->result, len);
+- if(len != 0 && fInterp->result[len - 1] != '\n')
++ cvs_errstr(res, len);
++ if(len != 0 && res[len - 1] != '\n')
+ cvs_errstr("\n", 1);
+ }
+ else
+ {
+- cvs_outstr(fInterp->result, len);
+- if(len != 0 && fInterp->result[len - 1] != '\n')
++ cvs_outstr(res, len);
++ if(len != 0 && res[len - 1] != '\n')
+ cvs_outstr("\n", 1);
+ }
+
+@@ -1207,17 +1208,18 @@
+ return false;
+
+ int exitc = Tcl_EvalFile(fInterp, (char *)file);
+- size_t len = strlen(fInterp->result);
++ const char *res = Tcl_GetStringResult(fInterp);
++ size_t len = strlen(res);
+ if(exitc == TCL_ERROR)
+ {
+- cvs_errstr(fInterp->result, len);
+- if(len != 0 && fInterp->result[len - 1] != '\n')
++ cvs_errstr(res, len);
++ if(len != 0 && res[len - 1] != '\n')
+ cvs_errstr("\n", 1);
+ }
+ else
+ {
+- cvs_outstr(fInterp->result, len);
+- if(len != 0 && fInterp->result[len - 1] != '\n')
++ cvs_outstr(res, len);
++ if(len != 0 && res[len - 1] != '\n')
+ cvs_outstr("\n", 1);
+ }
+