Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 May 2013 08:02:31 +0000 (UTC)
From:      Pietro Cerutti <gahr@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r318141 - in head/irc/evangeline: . files
Message-ID:  <201305140802.r4E82V30021452@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gahr
Date: Tue May 14 08:02:31 2013
New Revision: 318141
URL: http://svnweb.freebsd.org/changeset/ports/318141

Log:
  - Fix build with Tcl 8.6
  
  Reported by:	miwi (Tcl/Tk 86 exp-run)

Added:
  head/irc/evangeline/files/patch-tcl86   (contents, props changed)
Modified:
  head/irc/evangeline/Makefile   (contents, props changed)

Modified: head/irc/evangeline/Makefile
==============================================================================
--- head/irc/evangeline/Makefile	Tue May 14 07:15:24 2013	(r318140)
+++ head/irc/evangeline/Makefile	Tue May 14 08:02:31 2013	(r318141)
@@ -15,6 +15,8 @@ WRKSRC=		${WRKDIR}/${PORTNAME}
 USE_TCL=	yes
 USE_GMAKE=	yes
 GNU_CONFIGURE=	yes
+CONFIGURE_ARGS+=--with-tcllib=${LOCALBASE}/lib/libtcl${TCL_VER:S/.//}.so \
+    		--with-tclinc=${LOCALBASE}/include/tcl${TCL_VER}/tcl.h
 
 PLIST_FILES=	bin/evangeline
 

Added: head/irc/evangeline/files/patch-tcl86
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/irc/evangeline/files/patch-tcl86	Tue May 14 08:02:31 2013	(r318141)
@@ -0,0 +1,351 @@
+--- modules/server.mod/server.c.orig	2013-05-14 09:49:09.000000000 +0200
++++ modules/server.mod/server.c	2013-05-14 09:49:50.000000000 +0200
+@@ -1424,7 +1424,7 @@
+     if (slist != NULL) {
+       code = Tcl_SplitList(interp, slist, &lc, &list);
+       if (code == TCL_ERROR)
+-        return interp->result;
++        return (char *)Tcl_GetStringResult(interp);
+       for (i = 0; i < lc && i < 50; i++)
+         add_server((char *) list[i]);
+ 
+--- src/botcmd.c.orig	2013-05-14 09:24:30.000000000 +0200
++++ src/botcmd.c	2013-05-14 09:25:16.000000000 +0200
+@@ -297,7 +297,7 @@
+ 
+   else {
+     simple_sprintf(s, "assoc %d", chan);
+-    if ((Tcl_Eval(interp, s) != TCL_OK) || !interp->result[0])
++    if ((Tcl_Eval(interp, s) != TCL_OK) || !Tcl_GetStringResult(interp)[0])
+       botnet_send_priv(idx, botnetnick, nick, NULL, "%s %s%d: (* = owner, + ="
+                        " master, %% = botmaster, @ = op)\n",
+                        BOT_PEOPLEONCHAN, (chan < GLOBAL_CHANS) ? "" : "*",
+@@ -305,7 +305,7 @@
+     else
+       botnet_send_priv(idx, botnetnick, nick, NULL, "%s '%s' (%s%d): (* = "
+                        "owner, + = master, %% = botmaster, @ = op)\n",
+-                       BOT_PEOPLEONCHAN, interp->result, (chan < GLOBAL_CHANS) ?
++                       BOT_PEOPLEONCHAN, Tcl_GetStringResult(interp), (chan < GLOBAL_CHANS) ?
+                        "" : "*", chan % GLOBAL_CHANS);
+   }
+   for (i = 0; i < dcc_total; i++)
+--- src/botmsg.c.orig	2013-05-14 09:25:38.000000000 +0200
++++ src/botmsg.c	2013-05-14 09:26:21.000000000 +0200
+@@ -610,7 +610,8 @@
+   Tcl_SetVar(interp, "_idx", ss, 0);
+   if (Tcl_VarEval(interp, "storenote", " $_from $_to $_data $_idx", NULL) ==
+       TCL_OK) {
+-    if (interp->result && interp->result[0])
++    const char *res = Tcl_GetStringResult(interp);
++    if (res && res[0])
+       status = NOTE_FWD;
+     if (status == NOTE_AWAY) {
+       dprintf(iaway, "*** %s.\n", BOT_NOTEARRIVED);
+--- src/botnet.c.orig	2013-05-14 09:26:35.000000000 +0200
++++ src/botnet.c	2013-05-14 09:27:21.000000000 +0200
+@@ -383,12 +383,12 @@
+             BOT_LOCALCHAN);
+   else if (chan > 0) {
+     simple_sprintf(idle, "assoc %d", chan);
+-    if ((Tcl_Eval(interp, idle) != TCL_OK) || !interp->result[0])
++    if ((Tcl_Eval(interp, idle) != TCL_OK) || !Tcl_GetStringResult(interp)[0])
+       dprintf(idx, "%s %s%d:\n", BOT_USERSONCHAN,
+               (chan < GLOBAL_CHANS) ? "" : "*", chan % GLOBAL_CHANS);
+     else
+       dprintf(idx, "%s '%s%s' (%s%d):\n", BOT_USERSONCHAN,
+-              (chan < GLOBAL_CHANS) ? "" : "*", interp->result,
++              (chan < GLOBAL_CHANS) ? "" : "*", Tcl_GetStringResult(interp),
+               (chan < GLOBAL_CHANS) ? "" : "*", chan % GLOBAL_CHANS);
+   }
+   nicklen = botnicklen = 0;
+--- src/chanprog.c.orig	2013-05-14 09:27:38.000000000 +0200
++++ src/chanprog.c	2013-05-14 09:28:44.000000000 +0200
+@@ -300,12 +300,12 @@
+ 
+   dprintf(idx, "%s %s\n", MISC_TCLLIBRARY,
+           ((interp) && (Tcl_Eval(interp, "info library") == TCL_OK)) ?
+-          interp->result : "*unknown*");
++          Tcl_GetStringResult(interp): "*unknown*");
+ 
+   dprintf(idx, "%s %s (%s %s)\n", MISC_TCLVERSION,
+           ((interp) && (Tcl_Eval(interp, "info patchlevel") == TCL_OK)) ?
+-          interp->result : (Tcl_Eval(interp, "info tclversion") == TCL_OK) ?
+-          interp->result : "*unknown*", MISC_TCLHVERSION,
++          Tcl_GetStringResult(interp) : (Tcl_Eval(interp, "info tclversion") == TCL_OK) ?
++          Tcl_GetStringResult(interp) : "*unknown*", MISC_TCLHVERSION,
+           TCL_PATCH_LEVEL ? TCL_PATCH_LEVEL : "*unknown*");
+ 
+ #if HAVE_TCL_THREADS
+--- src/cmds.c.orig	2013-05-14 09:29:02.000000000 +0200
++++ src/cmds.c	2013-05-14 09:34:34.000000000 +0200
+@@ -78,13 +78,13 @@
+     dprintf(idx, "%s (* = owner, + = master, %% = botmaster, @ = op)\n", BOT_PARTYMEMBS);
+   else {
+     simple_sprintf(s, "assoc %d", chan);
+-    if ((Tcl_Eval(interp, s) != TCL_OK) || !interp->result[0])
++    if ((Tcl_Eval(interp, s) != TCL_OK) || !Tcl_GetStringResult(interp)[0])
+       dprintf(idx, "%s %s%d: (* = owner, + = master, %% = botmaster, @ = op)\n",
+                   BOT_PEOPLEONCHAN, (chan < GLOBAL_CHANS) ? "" :
+               "*", chan % GLOBAL_CHANS);
+     else
+       dprintf(idx, "%s '%s' (%s%d): (* = owner, + = master, %% = botmaster, @ = op)\n",
+-                  BOT_PEOPLEONCHAN, interp->result,
++                  BOT_PEOPLEONCHAN, Tcl_GetStringResult(interp),
+               (chan < GLOBAL_CHANS) ? "" : "*", chan % GLOBAL_CHANS);
+   }
+ 
+@@ -287,8 +287,8 @@
+     if ((par[0] < '0') || (par[0] > '9')) {
+       Tcl_SetVar(interp, "chan", par, 0);
+       if ((Tcl_VarEval(interp, "assoc ", "$chan", NULL) == TCL_OK) &&
+-          interp->result[0]) {
+-        chan = atoi(interp->result);
++          Tcl_GetStringResult(interp)[0]) {
++        Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &chan);
+       }
+       if (chan <= 0) {
+         dprintf(idx, "No such channel exists.\n");
+@@ -1730,8 +1730,8 @@
+         else {
+           Tcl_SetVar(interp, "chan", arg, 0);
+           if ((Tcl_VarEval(interp, "assoc ", "$chan", NULL) == TCL_OK) &&
+-              interp->result[0])
+-            newchan = atoi(interp->result);
++              Tcl_GetStringResult(interp)[0])
++            Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &newchan);  
+           else
+             newchan = -1;
+         }
+@@ -1753,8 +1753,8 @@
+         else {
+           Tcl_SetVar(interp, "chan", arg, 0);
+           if ((Tcl_VarEval(interp, "assoc ", "$chan", NULL) == TCL_OK) &&
+-              interp->result[0])
+-            newchan = atoi(interp->result);
++              Tcl_GetStringResult(interp)[0])
++            Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &newchan);
+           else
+             newchan = -1;
+         }
+@@ -2132,9 +2132,9 @@
+   debug1("(cmds.c->cmd_tcl) tcl: evaluate (.tcl): %s", msg);
+   code = Tcl_GlobalEval(interp, msg);
+   if (code == TCL_OK)
+-    dumplots(idx, "Tcl: ", interp->result);
++    dumplots(idx, "Tcl: ", (char *)Tcl_GetStringResult(interp));
+   else
+-    dumplots(idx, "Tcl error: ", interp->result);
++    dumplots(idx, "Tcl error: ", (char *)Tcl_GetStringResult(interp));
+ }
+ 
+ /* Perform a 'set' command */
+@@ -2152,18 +2152,18 @@
+   if (!msg[0]) {
+     strcpy(s, "info globals");
+     Tcl_Eval(interp, s);
+-    dumplots(idx, "Global vars: ", interp->result);
++    dumplots(idx, "Global vars: ", (char *)Tcl_GetStringResult(interp));
+     return;
+   }
+   strcpy(s + 4, msg);
+   code = Tcl_Eval(interp, s);
+   if (code == TCL_OK) {
+     if (!strchr(msg, ' '))
+-      dumplots(idx, "Currently: ", interp->result);
++      dumplots(idx, "Currently: ", (char *)Tcl_GetStringResult(interp));
+     else
+       dprintf(idx, "Ok, set.\n");
+   } else
+-    dprintf(idx, "Error: %s\n", interp->result);
++    dprintf(idx, "Error: %s\n", (char *)Tcl_GetStringResult(interp));
+ }
+ 
+ static void cmd_module(struct userrec *u, int idx, char *par)
+--- src/dcc.c.orig	2013-05-14 09:34:52.000000000 +0200
++++ src/dcc.c	2013-05-14 09:35:45.000000000 +0200
+@@ -1632,10 +1632,12 @@
+   Tcl_SetVar(interp, "_n", s, 0);
+   Tcl_SetVar(interp, "_a", args, 0);
+   if (Tcl_VarEval(interp, name, " $_n $_a", NULL) == TCL_ERROR) {
+-    putlog(LOG_MISC, "*", DCC_TCLERROR, name, interp->result);
++    putlog(LOG_MISC, "*", DCC_TCLERROR, name, Tcl_GetStringResult(interp));
+     return -1;
+   }
+-  return (atoi(interp->result));
++  int ret;
++  Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &ret);
++  return (ret);
+ }
+ 
+ static void dcc_script(int idx, char *buf, int len)
+--- src/dns.c.orig	2013-05-14 09:36:01.000000000 +0200
++++ src/dns.c	2013-05-14 09:36:55.000000000 +0200
+@@ -213,10 +213,10 @@
+     output = Tcl_Concat(2, argv);
+ 
+     if (Tcl_Eval(interp, output) == TCL_ERROR)
+-      putlog(LOG_MISC, "*", DCC_TCLERROR, tclinfo->proc, interp->result);
++      putlog(LOG_MISC, "*", DCC_TCLERROR, tclinfo->proc, Tcl_GetStringResult(interp));
+     Tcl_Free(output);
+   } else if (Tcl_Eval(interp, Tcl_DStringValue(&list)) == TCL_ERROR)
+-    putlog(LOG_MISC, "*", DCC_TCLERROR, tclinfo->proc, interp->result);
++    putlog(LOG_MISC, "*", DCC_TCLERROR, tclinfo->proc, Tcl_GetStringResult(interp));
+ 
+   Tcl_DStringFree(&list);
+ 
+--- src/main.c.orig	2013-05-14 09:37:10.000000000 +0200
++++ src/main.c	2013-05-14 09:37:42.000000000 +0200
+@@ -246,12 +246,12 @@
+ 
+     dprintf(-x, "Tcl library: %s\n",
+             ((interp) && (Tcl_Eval(interp, "info library") == TCL_OK)) ?
+-            interp->result : "*unknown*");
++            Tcl_GetStringResult(interp): "*unknown*");
+ 
+     dprintf(-x, "Tcl version: %s (header version %s)\n",
+             ((interp) && (Tcl_Eval(interp, "info patchlevel") == TCL_OK)) ?
+-            interp->result : (Tcl_Eval(interp, "info tclversion") == TCL_OK) ?
+-            interp->result : "*unknown*", TCL_PATCH_LEVEL ? TCL_PATCH_LEVEL :
++            Tcl_GetStringResult(interp) : (Tcl_Eval(interp, "info tclversion") == TCL_OK) ?
++            Tcl_GetStringResult(interp) : "*unknown*", TCL_PATCH_LEVEL ? TCL_PATCH_LEVEL :
+             "*unknown*");
+ 
+ #if HAVE_TCL_THREADS
+--- src/proto.h.orig	2013-05-14 09:38:45.000000000 +0200
++++ src/proto.h	2013-05-14 09:38:54.000000000 +0200
+@@ -239,8 +239,8 @@
+ char *hostnamefromip(unsigned long);
+ void killsock(int);
+ int answer(int, char *, unsigned long *, unsigned short *, int);
+-inline int open_listen(int *);
+-inline int open_listen_by_af(int *, int);
++int open_listen(int *);
++int open_listen_by_af(int *, int);
+ int open_address_listen(IP addr, int *);
+ int open_telnet(char *, int);
+ int open_telnet_dcc(int, char *, char *);
+--- src/tcl.c.orig	2013-05-14 09:39:15.000000000 +0200
++++ src/tcl.c	2013-05-14 09:39:44.000000000 +0200
+@@ -204,7 +204,7 @@
+         return "read-only variable";
+       else {
+         if (Tcl_ExprLong(interp, s, &l) == TCL_ERROR)
+-          return interp->result;
++          return Tcl_GetStringResult(interp);
+         if ((int *) ii->var == &max_dcc) {
+           if (l < max_dcc)
+             return "you can't DECREASE max-dcc";
+@@ -640,7 +640,7 @@
+   code = Tcl_Eval(interp, script);
+   if (code != TCL_OK) {
+     putlog(LOG_MISC, "*", "Tcl error in script for '%s':", whatzit);
+-    putlog(LOG_MISC, "*", "%s", interp->result);
++    putlog(LOG_MISC, "*", "%s", Tcl_GetStringResult(interp));
+   }
+ }
+ 
+--- src/tcldcc.c.orig	2013-05-14 09:40:00.000000000 +0200
++++ src/tcldcc.c	2013-05-14 09:41:07.000000000 +0200
+@@ -178,11 +178,11 @@
+     else {
+       Tcl_SetVar(irp, "chan", argv[2], 0);
+       if (Tcl_VarEval(irp, "assoc ", "$chan", NULL) != TCL_OK ||
+-          !interp->result[0]) {
++          !Tcl_GetStringResult(interp)[0]) {
+         Tcl_AppendResult(irp, "channel name is invalid", NULL);
+         return TCL_ERROR;
+       }
+-      chan = atoi(interp->result);
++      Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &chan);
+     }
+   } else
+     chan = atoi(argv[2]);
+@@ -622,11 +622,11 @@
+     if ((argv[1][0] < '0') || (argv[1][0] > '9')) {
+       Tcl_SetVar(interp, "chan", argv[1], 0);
+       if ((Tcl_VarEval(interp, "assoc ", "$chan", NULL) != TCL_OK) ||
+-          !interp->result[0]) {
++          !Tcl_GetStringResult(interp)[0]) {
+         Tcl_AppendResult(irp, "channel name is invalid", NULL);
+         return TCL_ERROR;
+       }
+-      chan = atoi(interp->result);
++      Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &chan);
+     } else
+       chan = atoi(argv[1]);
+     if ((chan < 0) || (chan > 199999)) {
+--- src/tclhash.c.orig	2013-05-14 09:41:32.000000000 +0200
++++ src/tclhash.c	2013-05-14 09:45:25.000000000 +0200
+@@ -643,14 +643,14 @@
+   x = Tcl_VarEval(interp, proc, param, NULL);
+   Context;
+   if (x == TCL_ERROR) {
+-    if (strlen(interp->result) > 400)
+-      interp->result[400] = 0;
+-    putlog(LOG_MISC, "*", "Tcl error [%s]: %s", proc, interp->result);
++    putlog(LOG_MISC, "*", "Tcl error [%s]: %s", proc, Tcl_GetStringResult(interp));
+     return BIND_EXECUTED;
+   } else {
+-    if (!strcmp(interp->result, "break"))
++    if (!strcmp(Tcl_GetStringResult(interp), "break"))
+       return BIND_EXEC_BRK;
+-    return (atoi(interp->result) > 0) ? BIND_EXEC_LOG : BIND_EXECUTED;
++    int ret;
++    Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &ret);
++    return (ret > 0) ? BIND_EXEC_LOG : BIND_EXECUTED;
+   }
+ }
+ 
+@@ -702,7 +702,7 @@
+           Tcl_SetVar(interp, "lastbind", (char *) tm->mask, TCL_GLOBAL_ONLY);
+           x = trigger_bind(tc->func_name, param);
+           if (match_type & BIND_ALTER_ARGS) {
+-            if (interp->result == NULL || !interp->result[0])
++            if (Tcl_GetStringResult(interp) == NULL || !Tcl_GetStringResult(interp)[0])
+               return x;
+           } else if ((match_type & BIND_WANTRET) && x == BIND_EXEC_LOG)
+             return x;
+@@ -868,10 +868,10 @@
+                      MATCH_MASK | BIND_USE_ATTR | BIND_STACKABLE |
+                      BIND_WANTRET | BIND_ALTER_ARGS);
+   if (x == BIND_EXECUTED || x == BIND_EXEC_LOG) {
+-    if (interp->result == NULL || !interp->result[0])
++    if (Tcl_GetStringResult(interp) == NULL || !Tcl_GetStringResult(interp)[0])
+       return "";
+     else
+-      return interp->result;
++      return Tcl_GetStringResult(interp);
+   } else
+     return text;
+ }
+@@ -896,7 +896,7 @@
+   Tcl_SetVar(interp, "_n", (char *) s, 0);
+   x = Tcl_VarEval(interp, cmd, " $_n", NULL);
+   if (x == TCL_ERROR)
+-    putlog(LOG_MISC, "*", "error on listen: %s", interp->result);
++    putlog(LOG_MISC, "*", "error on listen: %s", Tcl_GetStringResult(interp));
+ }
+ 
+ void check_tcl_chjn(const char *bot, const char *nick, int chan,
+--- src/tclhash.h.orig	2013-05-14 09:38:03.000000000 +0200
++++ src/tclhash.h	2013-05-14 09:38:25.000000000 +0200
+@@ -47,7 +47,7 @@
+ 
+ #ifndef MAKING_MODS
+ 
+-inline void garbage_collect_tclhash(void);
++void garbage_collect_tclhash(void);
+ 
+ void init_bind(void);
+ void kill_bind(void);
+--- src/users.c.orig	2013-05-14 09:45:44.000000000 +0200
++++ src/users.c	2013-05-14 09:46:18.000000000 +0200
+@@ -469,7 +469,7 @@
+   Tcl_SetVar(interp, "user", u->handle, 0);
+   n = 0;
+   if (Tcl_VarEval(interp, "notes ", "$user", NULL) == TCL_OK)
+-    n = atoi(interp->result);
++    Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &n);  
+   li = get_user(&USERENTRY_LASTON, u);
+   if (!li || !li->laston)
+     strcpy(s1, "never");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305140802.r4E82V30021452>