diff options
author | gahr <gahr@FreeBSD.org> | 2016-03-19 03:41:42 +0800 |
---|---|---|
committer | gahr <gahr@FreeBSD.org> | 2016-03-19 03:41:42 +0800 |
commit | 115e62840c72273e5d91a802757a257878e7ccd2 (patch) | |
tree | 00ae326c9352d64939d4a28a923a1e781d6435d6 /lang | |
parent | 857e95587e7ec545b095165b644372f3a9a7c410 (diff) | |
download | freebsd-ports-gnome-115e62840c72273e5d91a802757a257878e7ccd2.tar.gz freebsd-ports-gnome-115e62840c72273e5d91a802757a257878e7ccd2.tar.zst freebsd-ports-gnome-115e62840c72273e5d91a802757a257878e7ccd2.zip |
lang/expect: update to 5.45.3, bump PORTREVISION on dependent ports
Diffstat (limited to 'lang')
-rw-r--r-- | lang/expect/Makefile | 15 | ||||
-rw-r--r-- | lang/expect/files/patch-configure | 45 | ||||
-rw-r--r-- | lang/expect/files/patch-exp__event.c | 11 | ||||
-rw-r--r-- | lang/expect/files/patch-exp_main_sub.c | 46 | ||||
-rw-r--r-- | lang/expect/files/patch-expect-5.45.3 | 504 |
5 files changed, 531 insertions, 90 deletions
diff --git a/lang/expect/Makefile b/lang/expect/Makefile index 979fbadf32a8..c2db3a727fa0 100644 --- a/lang/expect/Makefile +++ b/lang/expect/Makefile @@ -2,20 +2,19 @@ # $FreeBSD$ PORTNAME= expect -PORTVERSION= 5.45 -PORTREVISION= 2 +PORTVERSION= 5.45.3 CATEGORIES= lang tcl tk -MASTER_SITES= SF/expect/Expect/${PORTVERSION} -DISTNAME= ${PORTNAME}${PORTVERSION} +MASTER_SITES= SF/expect/Expect/${PORTVERSION:R} +DISTNAME= ${PORTNAME}${PORTVERSION:R} MAINTAINER= tcltk@FreeBSD.org COMMENT= Sophisticated scripter based on Tcl/Tk -LIBEXPECT_VER= ${PORTVERSION:S/.//} +LIBEXPECT_VER= ${PORTVERSION:S/.//g} -WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION} +WRKSRC= ${WRKDIR}/${DISTNAME} -USES= tcl +USES= tcl autoreconf USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-shared \ @@ -32,7 +31,7 @@ post-install: ${LN} -sf libexpect.so.1 \ ${STAGEDIR}${PREFIX}/lib/libexpect.so -regression-test: build +do-test: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} test .include <bsd.port.mk> diff --git a/lang/expect/files/patch-configure b/lang/expect/files/patch-configure deleted file mode 100644 index 408a46516afc..000000000000 --- a/lang/expect/files/patch-configure +++ /dev/null @@ -1,45 +0,0 @@ ---- configure.orig 2010-09-16 20:46:47 UTC -+++ configure -@@ -8103,7 +8103,7 @@ fi - # This configuration from FreeBSD Ports. - SHLIB_CFLAGS="-fPIC" - SHLIB_LD="${CC} -shared" -- TCL_SHLIB_LD_EXTRAS="-soname \$@" -+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname=\$@" - SHLIB_SUFFIX=".so" - LDFLAGS="" - if test $doRpath = yes; then -@@ -8123,7 +8123,7 @@ fi - # Version numbers are dot-stripped by system policy. - TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .` - UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' -- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1' -+ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' - TCL_LIB_VERSIONS_OK=nodots - ;; - Darwin-*) -@@ -16349,9 +16349,9 @@ rm -f conftest* - if test x"${TK_BIN_DIR}" != x ; then - SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" - fi -- eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" -+ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${EXP_LIB_VERSION}${SHARED_LIB_SUFFIX}" - else -- eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" -+ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${EXP_LIB_VERSION}${UNSHARED_LIB_SUFFIX}" - fi - # Some packages build their own stubs libraries - eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" -@@ -16368,10 +16368,10 @@ rm -f conftest* - if test x"${TK_BIN_DIR}" != x ; then - SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" - fi -- eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" -+ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${EXP_LIB_VERSION}${SHARED_LIB_SUFFIX}" - RANLIB=: - else -- eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" -+ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${EXP_LIB_VERSION}${UNSHARED_LIB_SUFFIX}" - fi - # Some packages build their own stubs libraries - eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" diff --git a/lang/expect/files/patch-exp__event.c b/lang/expect/files/patch-exp__event.c new file mode 100644 index 000000000000..989cef46d936 --- /dev/null +++ b/lang/expect/files/patch-exp__event.c @@ -0,0 +1,11 @@ +--- exp_event.c.orig 2010-07-01 00:53:49 UTC ++++ exp_event.c +@@ -120,6 +120,8 @@ exp_unblock_background_channelhandler(es + case disarm_req_while_blocked: + exp_disarm_background_channelhandler_force(esPtr); + break; ++ default: ++ break; + } + } + diff --git a/lang/expect/files/patch-exp_main_sub.c b/lang/expect/files/patch-exp_main_sub.c index 1fc2ab7de0f5..f69f72e33107 100644 --- a/lang/expect/files/patch-exp_main_sub.c +++ b/lang/expect/files/patch-exp_main_sub.c @@ -1,39 +1,11 @@ --- exp_main_sub.c.orig 2010-08-27 22:01:15 UTC +++ exp_main_sub.c -@@ -672,6 +672,9 @@ char **argv; - char *args; /* ptr to string-rep of all args */ - char *debug_init; - -+ char *native; -+ Tcl_DString ds; -+ - exp_argv0 = argv[0]; - - #ifdef TCL_DEBUGGER -@@ -853,18 +856,23 @@ char **argv; - expDiagLog("set argc %s\r\n",argc_rep); - - if (exp_cmdfilename) { -- Tcl_SetVar(interp,"argv0",exp_cmdfilename,0); -+ native = Tcl_ExternalToUtfDString(NULL, exp_cmdfilename, -1, &ds); -+ Tcl_SetVar(interp,"argv0",native,0); - expDiagLog("set argv0 \"%s\"\r\n",exp_cmdfilename); - } else { -- Tcl_SetVar(interp,"argv0",exp_argv0,0); -+ native = Tcl_ExternalToUtfDString(NULL, exp_argv0, -1, &ds); -+ Tcl_SetVar(interp,"argv0",native,0); - expDiagLog("set argv0 \"%s\"\r\n",exp_argv0); - } -+ Tcl_DStringFree(&ds); - - args = Tcl_Merge(argc-optind,argv+optind); - expDiagLogU("set argv \""); - expDiagLogU(args); - expDiagLogU("\"\r\n"); -- Tcl_SetVar(interp,"argv",args,0); -+ native = Tcl_ExternalToUtfDString(NULL, args, -1, &ds); -+ Tcl_SetVar(interp,"argv",native,0); -+ Tcl_DStringFree(&ds); - Tcl_Free(args); - - exp_interpret_rcfiles(interp,my_rc,sys_rc); +@@ -33,7 +33,7 @@ + #endif + #ifdef __CENTERLINE__ + #undef EXP_VERSION +-#define EXP_VERSION "5.45.0" /* I give up! */ ++#define EXP_VERSION "5.45.3" /* I give up! */ + /* It is not necessary that number */ + /* be accurate. It is just here to */ + /* pacify Centerline which doesn't */ diff --git a/lang/expect/files/patch-expect-5.45.3 b/lang/expect/files/patch-expect-5.45.3 new file mode 100644 index 000000000000..291236422e27 --- /dev/null +++ b/lang/expect/files/patch-expect-5.45.3 @@ -0,0 +1,504 @@ +--- ChangeLog.orig 2010-10-26 22:09:36 UTC ++++ ChangeLog +@@ -1,3 +1,59 @@ ++2014-05-01 Andreas Kupries <andreask@activestate.com> ++ ++ * exp_main_sub.c: Updated EXP_VERSION to 5.45.3 ++ * configure, configure.in: Updated expect to version 5.45.3 ++ ++ * expect.man [http://sourceforge.net/p/expect/bugs/86/]. Report ++ and fix by Vitezlav Crhonek. ++ ++ * expect.c [http://sourceforge.net/p/expect/bugs/76/]. Report and ++ fix by Mutsuhito Iikura. On finding a full buffer during ++ matching the sliding window mechanism slides too far, truncating ++ the whole buffer and preventing matches across the boundary. Fix ++ is shortening the slide distance (slide only one 1/3). ++ ++ * expect.c: [http://sourceforge.net/p/expect/patches/18/]. Report ++ and fix both by Nils Carlson <nils.carlson@ludd.ltu.se>. ++ Replaced a cc==0 check with proper Tcl_Eof() check. ++ ++2013-11-04 Andreas Kupries <andreask@activestate.com> ++ ++ * tclconfig/tcl.m4: [http://sourceforge.net/p/expect/patches/17/] ++ * configure: Extended Tcl header detection for OS X Mountain Lion. ++ ++ * exp_main_sub.c: Updated EXP_VERSION to 5.45.2 ++ * configure, configure.in: Updated expect to version 5.45.2 ++ ++ * expect.c: [http://sourceforge.net/p/expect/patches/16/]. Report ++ and fix both by Per Cederqvist. Replaced a memcpy with memmove ++ as the latter properly handles overlapping memory, whereas the ++ original code does not. ++ ++2012-08-15 Andreas Kupries <andreask@activestate.com> ++ ++ * exp_main_sub.c: Updated EXP_VERSION to 5.45.1 ++ * configure, configure.in: Updated expect to version 5.45.1 ++ ++ * exp_chan.c: Applied patch sent in by Ogawa Hirofumi ++ <hirofumi@mail.parknet.co.jp>. The patch fixes a problem when ++ talking a tty where the writer has died. Some operating systems ++ report the condition as EIO with nothing read, while this ++ actually an EOF. Without the patch the returned data is ++ incomplete due to the error reported immediately and dropping ++ data in buffers. ++ ++2012-05-16 Andreas Kupries <andreask@activestate.com> ++ ++ * exp_chan.c: [Bug 3526461]: Applied patch by Michael Cleverly ++ <cleverly@users.sourceforge.net> fixing a problem with the ++ iteration over the expect channel list where the loop code may ++ modify the list, breaking the iterator. ++ ++ * exp_chan.c: [Bug 3526707]: Applied patch by Michael Cleverly ++ * exp_command.h: <cleverly@users.sourceforge.net> fixing problem ++ * expect.c: with an insufficient test for a lost channel in ++ exp_background_channelhandler. ++ + 2010-10-26 Andreas Kupries <andreask@activestate.com> + + * expect.c: [Bug 3095935]: Convert #bytes information to #chars to +--- configure.in.orig 2010-08-27 21:51:53 UTC ++++ configure.in +@@ -1,9 +1,9 @@ + dnl + dnl Process this file with autoconf to produce a configure script. + dnl +-AC_REVISION($Id: configure.in,v 5.80 2010/08/27 21:51:53 hobbs Exp $) ++AC_REVISION($Id: configure.in,v 5.83 2014/05/01 19:22:24 andreas_kupries Exp $) + +-AC_INIT([expect],[5.45]) ++AC_INIT([expect],[5.45.3]) + + TEA_INIT([3.9]) + +--- exp_chan.c.orig 2010-07-01 00:53:49 UTC ++++ exp_chan.c +@@ -217,6 +217,11 @@ ExpInputProc(instanceData, buf, toRead, + + bytesRead = read(esPtr->fdin, buf, (size_t) toRead); + /*printf("ExpInputProc: read(%d,,) = %d\r\n",esPtr->fdin,bytesRead);*/ ++ ++ /* Emulate EOF on tty for tcl */ ++ if ((bytesRead == -1) && (errno == EIO) && isatty(esPtr->fdin)) { ++ bytesRead = 0; ++ } + if (bytesRead > -1) { + /* strip parity if requested */ + if (esPtr->parity == 0) { +@@ -447,6 +452,34 @@ expChannelCountGet() + ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); + return tsdPtr->channelCount; + } ++ ++int ++expChannelStillAlive(esBackupPtr, backupName) ++ ExpState *esBackupPtr; ++ char *backupName; ++{ ++ ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); ++ ExpState *esPtr; ++ ++ /* ++ * This utility function is called from 'exp_background_channelhandler' ++ * and checks to make sure that backupName can still be found in the ++ * channels linked list at the same address as before. ++ * ++ * If it can't be (or if the memory address has changed) then it ++ * means that it was lost in the background (and possibly another ++ * channel was opened and reassigned the same name). ++ */ ++ ++ for (esPtr = tsdPtr->firstExpPtr; esPtr; esPtr = esPtr->nextPtr) { ++ if (0 == strcmp(esPtr->name, backupName)) ++ return (esPtr == esBackupPtr); ++ } ++ ++ /* not found; must have been lost in the background */ ++ return 0; ++} ++ + #if 0 /* Converted to macros */ + int + expSizeGet(esPtr) +@@ -602,12 +635,38 @@ exp_background_channelhandlers_run_all() + { + ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); + ExpState *esPtr; ++ ExpState *esNextPtr; ++ ExpState *esPriorPtr = 0; + + /* kick off any that already have input waiting */ +- for (esPtr = tsdPtr->firstExpPtr;esPtr;esPtr = esPtr->nextPtr) { ++ for (esPtr = tsdPtr->firstExpPtr;esPtr; esPriorPtr = esPtr, esPtr = esPtr->nextPtr) { + /* is bg_interp the best way to check if armed? */ + if (esPtr->bg_interp && !expSizeZero(esPtr)) { ++ /* ++ * We save the nextPtr in a local variable before calling ++ * 'exp_background_channelhandler' since in some cases ++ * 'expStateFree' could end up getting called before it ++ * returns, leading to a likely segfault on the next ++ * interaction through the for loop. ++ */ ++ esNextPtr = esPtr->nextPtr; + exp_background_channelhandler((ClientData)esPtr,0); ++ if (esNextPtr != esPtr->nextPtr) { ++ /* ++ * 'expStateFree' must have been called from ++ * underneath us so we know that esPtr->nextPtr is ++ * invalid. However, it is possible that either the ++ * original nextPtr and/or the priorPtr have been ++ * freed too. If the esPriorPtr->nextPtr is now ++ * esNextPtr it seems safe to proceed. Otherwise we ++ * break and end early for safety. ++ */ ++ if (esPriorPtr && esPriorPtr->nextPtr == esNextPtr) { ++ esPtr = esPriorPtr; ++ } else { ++ break; /* maybe set esPtr = tsdPtr->firstExpPtr again? */ ++ } ++ } + } + } + } +--- exp_command.h.orig 2010-07-01 00:53:49 UTC ++++ exp_command.h +@@ -244,6 +244,7 @@ EXTERN void exp_init_unit_random _ANSI_ + EXTERN void exp_init_sig _ANSI_ARGS_((void)); + EXTERN void expChannelInit _ANSI_ARGS_((void)); + EXTERN int expChannelCountGet _ANSI_ARGS_((void)); ++EXTERN int expChannelStillAlive _ANSI_ARGS_((ExpState *, char *)); + + EXTERN int exp_tcl2_returnvalue _ANSI_ARGS_((int)); + EXTERN int exp_2tcl_returnvalue _ANSI_ARGS_((int)); +--- expect.c.orig 2010-10-26 22:09:36 UTC ++++ expect.c +@@ -972,21 +972,21 @@ eval_case_string( + } + expDiagLogU(no); + } else if (e->use == PAT_FULLBUFFER) { +- expDiagLogU(Tcl_GetString(e->pat)); +- expDiagLogU("? "); +- /* this must be the same test as in expIRead */ ++ expDiagLogU(Tcl_GetString(e->pat)); ++ expDiagLogU("? "); ++ /* this must be the same test as in expIRead */ + /* We drop one third when are at least 2/3 full */ + /* condition is (size >= max*2/3) <=> (size*3 >= max*2) */ + if (((expSizeGet(esPtr)*3) >= (esPtr->input.max*2)) && (numchars > 0)) { +- o->e = e; +- o->matchlen = numchars; ++ o->e = e; ++ o->matchlen = numchars/3; + o->matchbuf = str; +- o->esPtr = esPtr; +- expDiagLogU(yes); +- return(EXP_FULLBUFFER); +- } else { +- expDiagLogU(no); +- } ++ o->esPtr = esPtr; ++ expDiagLogU(yes); ++ return(EXP_FULLBUFFER); ++ } else { ++ expDiagLogU(no); ++ } + } + return(EXP_NOMATCH); + } +@@ -1093,8 +1093,10 @@ ecases_remove_by_expi( + + /* shift remaining elements down */ + /* but only if there are any left */ ++ /* Use memmove to handle the overlap */ ++ /* memcpy breaks */ + if (i+1 != ecmd->ecd.count) { +- memcpy(&ecmd->ecd.cases[i], ++ memmove(&ecmd->ecd.cases[i], + &ecmd->ecd.cases[i+1], + ((ecmd->ecd.count - i) - 1) * + sizeof(struct exp_cmd_descriptor *)); +@@ -1859,17 +1861,8 @@ expRead( + /* try to read it */ + cc = expIRead(interp,esPtr,timeout,tcl_set_flags); + +- /* the meaning of 0 from i_read means eof. Muck with it a */ +- /* little, so that from now on it means "no new data arrived */ +- /* but it should be looked at again anyway". */ +- if (cc == 0) { ++ if (Tcl_Eof(esPtr->channel)) { + cc = EXP_EOF; +- } else if (cc > 0) { +- /* successfully read data */ +- } else { +- /* failed to read data - some sort of error was encountered such as +- * an interrupt with that forced an error return +- */ + } + } else if (cc == EXP_DATA_OLD) { + cc = 0; +@@ -1967,6 +1960,8 @@ exp_buffer_shuffle( /* INTL */ + str = esPtr->input.buffer; + numchars = esPtr->input.use; + ++ /* We discard 1/3 of the data in the buffer. ++ */ + skiplen = numchars/3; + p = str + skiplen; + +@@ -1975,7 +1970,7 @@ exp_buffer_shuffle( /* INTL */ + */ + + lostChar = *p; +- /* temporarily stick null in middle of string */ ++ /* Temporarily stick null in middle of string to terminate */ + *p = 0; + + expDiagLog("%s: set %s(buffer) \"",caller_name,array_name); +@@ -1986,12 +1981,13 @@ exp_buffer_shuffle( /* INTL */ + save_flags); + + /* +- * restore damage ++ * Restore damage done fir display above. + */ + *p = lostChar; + + /* +- * move 2nd half of string down to 1st half ++ * move the higher 2/3 of the string down over the lower 2/3. ++ * This destroys the 1st 1/3. + */ + + newlen = numchars - skiplen; +@@ -2503,8 +2499,12 @@ do_more_data: + */ + + /* First check that the esPtr is even still valid! */ +- /* This ought to be sufficient. */ +- if (0 == Tcl_GetChannel(interp,backup,(int *)0)) { ++ /* ++ * It isn't sufficient to just check that 'Tcl_GetChannel' still knows about ++ * backup since it is possible that esPtr was lost in the background AND ++ * another process spawned and reassigned the same name. ++ */ ++ if (!expChannelStillAlive(esPtr, backup)) { + expDiagLog("expect channel %s lost in background handler\n",backup); + return; + } +--- expect.man.orig 2006-01-25 21:51:28 UTC ++++ expect.man +@@ -173,7 +173,9 @@ way, use the + .B \-b + flag. + (When using Expectk, this option is specified as +-.BR \-buffer .) Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin. ++.BR \-buffer .) ++Note that stdio-buffering may still take place however this shouldn't cause ++problems when reading from a fifo or stdin. + .PP + If the string "\-" is supplied as a filename, standard input is read instead. + (Use "./\-" to read from a file actually named "\-".) +--- fixcat.orig 2016-03-18 13:19:35 UTC ++++ fixcat +@@ -0,0 +1,21 @@ ++#!expect -- ++# Synopsis: fixcat ++# Author: Don Libes ++ ++# Description: test to see if /bin/cat is unbuffered (i.e., -u is needed) ++# Return 0 if buffered, 1 if unbuffered. ++# ++# If this file is sitting in an architecture-specific library directory, ++# then it serves as a marker that your /bin/cat buffers by default. ++ ++# test for when catting to/from files ++log_user 0 ++spawn -open [open "|cat" "r+"] ++send "\r" ++expect "\r" {exit 1} ++ ++# test for when catting to real tty ++#log_user 0 ++#spawn /bin/cat ++#send "\r" ++#expect "\r\n\r\n" {exit 1} +--- tclconfig/tcl.m4.orig 2010-11-09 19:42:10 UTC ++++ tclconfig/tcl.m4 +@@ -9,7 +9,7 @@ + # See the file "license.terms" for information on usage and redistribution + # of this file, and for a DISCLAIMER OF ALL WARRANTIES. + # +-# RCS: @(#) $Id: tcl.m4,v 1.6 2010/09/16 20:46:47 hobbs Exp $ ++# RCS: @(#) $Id: tcl.m4,v 1.7 2013/11/04 19:42:08 andreas_kupries Exp $ + + AC_PREREQ(2.57) + +@@ -1632,7 +1632,7 @@ dnl AC_CHECK_TOOL(AR, ar) + # This configuration from FreeBSD Ports. + SHLIB_CFLAGS="-fPIC" + SHLIB_LD="${CC} -shared" +- TCL_SHLIB_LD_EXTRAS="-soname \$[@]" ++ TCL_SHLIB_LD_EXTRAS="-Wl,-soname\$[@]" + SHLIB_SUFFIX=".so" + LDFLAGS="" + AS_IF([test $doRpath = yes], [ +@@ -1646,7 +1646,7 @@ dnl AC_CHECK_TOOL(AR, ar) + # Version numbers are dot-stripped by system policy. + TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .` + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' +- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1' ++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so' + TCL_LIB_VERSIONS_OK=nodots + ;; + Darwin-*) +@@ -3220,9 +3220,9 @@ print("manifest needed") + if test x"${TK_BIN_DIR}" != x ; then + SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \"`${CYGPATH} ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}`\"" + fi +- eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" ++ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${EXP_LIB_VERSION}${SHARED_LIB_SUFFIX}" + else +- eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" ++ eval eval "PKG_LIB_FILE=${PACKAGE_NAME}${EXP_LIB_VERSION}${UNSHARED_LIB_SUFFIX}" + fi + # Some packages build their own stubs libraries + eval eval "PKG_STUB_LIB_FILE=${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" +@@ -3239,10 +3239,10 @@ print("manifest needed") + if test x"${TK_BIN_DIR}" != x ; then + SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TK_STUB_LIB_SPEC}" + fi +- eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${SHARED_LIB_SUFFIX}" ++ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${EXP_LIB_VERSION}${SHARED_LIB_SUFFIX}" + RANLIB=: + else +- eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" ++ eval eval "PKG_LIB_FILE=lib${PACKAGE_NAME}${EXP_LIB_VERSION}${UNSHARED_LIB_SUFFIX}" + fi + # Some packages build their own stubs libraries + eval eval "PKG_STUB_LIB_FILE=lib${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" +@@ -3389,9 +3389,12 @@ AC_DEFUN([TEA_PRIVATE_TCL_HEADERS], [ + # the framework's Headers and PrivateHeaders directories + case ${TCL_DEFS} in + *TCL_FRAMEWORK*) +- if test -d "${TCL_BIN_DIR}/Headers" -a \ +- -d "${TCL_BIN_DIR}/PrivateHeaders"; then +- TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}" ++ if test -d "${TCL_BIN_DIR}/Headers"; then ++ if test -d "${TCL_BIN_DIR}/PrivateHeaders"; then ++ TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}" ++ elif test -d "${TCL_BIN_DIR}/Headers/tcl-private"; then ++ TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/Headers/tcl-private\" ${TCL_INCLUDES}" ++ fi + else + TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`" + fi +--- testsuite/expect.tests/expect-tests.exp.orig 2016-03-18 13:19:35 UTC ++++ testsuite/expect.tests/expect-tests.exp +@@ -0,0 +1,104 @@ ++# Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ ++ ++# Please email any bugs, comments, and/or additions to this file to: ++# bug-dejagnu@prep.ai.mit.edu ++ ++# This file was written by Rob Savoye. (rob@cygnus.com) ++ ++# ++# the initial work on the version of these tests from the tcl release was done ++# by Mary Ann May-Pumphrey of Sun Microsystems. ++# ++if $tracelevel then { ++ strace $tracelevel ++ } ++ ++expect_before buffer_full { error "Buffer full" } ++expect_start ++ ++set timeoutmsg "Timed out: Never got started, " ++set timeout 20 ++set file all ++set command "unidentified test in $file" ++ ++if ![file exists ${srcdir}/../tests] { ++ perror "The source for the test cases is missing." 0 ++ return -1 ++} ++send "cd ${srcdir}/../tests\r" ++expect { ++ -re "set VERBOSE 1\[\r\n\]*1\[\r\n\]*$eprompt" { ++ verbose "Set verbose flag for tests" ++ exp_continue ++ } ++ -re "cd $srcdir/../tests\[\r\n\]*$eprompt" { ++ verbose "Changed directory to $srcdir/../tests" 2 ++ } ++ -re "no files matched glob pattern" { ++ warning "Didn't cd to $srcdir/../tests" ++ } ++ timeout { ++ perror "Couldn't change directories" 0 ++ return -1 ++ } ++} ++ ++exp_send "source $file\r" ++expect { ++ -re "source $file\[\r\n\]*$eprompt" { ++ verbose "Sourced test $file ..." ++ set timeoutmsg "Never got to the end of " ++ exp_continue ++ } ++ "install Tcl or set your TCL_LIBRARY environment variable" { ++ perror "You need to set the TCL_LIBRARY environment variable" ++ return -1 ++ } ++ -re "no files matched glob pattern" { ++ warning "Didn't cd to $srcdir/../tests" ++ } ++ -re "\[\r\n\]*\\+\\+\\+\\+ (\[a-z\]*-\[.0-9\]*) PASSED\[\r\n\]*" { ++ pass $expect_out(1,string) ++ exp_continue ++ } ++ -re "\[\r\n\]*\\+* (\[a-z\]*-\[.0-9\]*) FAILED\[\r\n\]*" { ++ fail $expect_out(1,string) ++ exp_continue ++ } ++ -re "Test generated error:\[\r\n\]*.*\[\r\n\]*" { ++ regsub "Test generated error:\[\r\n\]+" $expect_out(0,string) "" tmp ++ regsub -all "\[\r\n\]*\[a-z.\]test\[\r\n\]*" $tmp "" tmp ++ regsub -all "\[\r\n\]*" $tmp "" tmp ++ perror "Got a test case bug \"$tmp\"" ++ exp_continue ++ } ++ -re "\[x\]+ \[a-i\]+ \[A-K\]+ \[0-9\]+ " { ++ verbose "Got standard output message from exec 8.1 test." 3 ++ exp_continue ++ } ++ "*Error: bad option *" { ++ fail "$command (Got a bad option)" ++ } ++ eof { ++ verbose "Done" 2 ++ } ++ timeout { ++ warning "$timeoutmsg $file" ++ } ++} ++ ++catch close |