diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-tcltk/expect | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-tcltk/expect')
19 files changed, 1373 insertions, 0 deletions
diff --git a/dev-tcltk/expect/Manifest b/dev-tcltk/expect/Manifest new file mode 100644 index 000000000000..840a8748c16c --- /dev/null +++ b/dev-tcltk/expect/Manifest @@ -0,0 +1,2 @@ +DIST expect-5.44.1.15.tar.bz2 547655 SHA256 c8565b869d67389995684b60553685168dd40135aa50022bd759f2d5e757d6f1 SHA512 ef7b90dcad733d8c02264d9ff2ad1b018bb50923f78fd16181e9cae2bcdd49dba723da1ef8bada0a3b570399760f198390e7e51f5f90a34f80f845c2244ea336 WHIRLPOOL cf464abf7f27fc7dd33dd9d98bb7dfc27cfde9cc90bf74098fcce17a7a4d78c46db49b72bcd0c7bd7a45580ec37cf5f3b57971bacb4302586c1520413ce5dfd0 +DIST expect5.45.tar.gz 628808 SHA256 b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040 SHA512 be991c68241e607b3a689eae7e7966056dbfb577e857331d54a4911bd178c1816425217603b43918ad1b6d2e966271a0f01e79d7028a22e223562d59d10c8c51 WHIRLPOOL e28a5019036d20260f76b13cbd47d2e56661b0107592ead296118c12ed28157a1300a091730820e088d2fa6f86396e7244e844c7bc2e942fc6cf995e4194f10f diff --git a/dev-tcltk/expect/expect-5.44.1.15.ebuild b/dev-tcltk/expect/expect-5.44.1.15.ebuild new file mode 100644 index 000000000000..ef49826c2faa --- /dev/null +++ b/dev-tcltk/expect/expect-5.44.1.15.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="3" + +inherit autotools eutils + +DESCRIPTION="tool for automating interactive applications" +HOMEPAGE="http://expect.nist.gov/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" +IUSE="debug doc threads X" + +# We need dejagnu for src_test, but dejagnu needs expect +# to compile/run, so we cant add dejagnu to DEPEND :/ +DEPEND=">=dev-lang/tcl-8.2:0[threads?] + X? ( >=dev-lang/tk-8.2:0[threads?] )" +RDEPEND="${DEPEND}" + +src_prepare() { + sed -i "s#/usr/local/bin#${EPREFIX}/usr/bin#" expect{,k}.man || die + # stops any example scripts being installed by default + sed -i \ + -e 's/^SCRIPT_LIST/_&/' \ + -e 's/^SCRIPTS/_&/' \ + -e 's/^SCRIPTS_MANPAGES = /_&/' \ + Makefile.in + + epatch "${FILESDIR}"/${P}-gfbsd.patch + epatch "${FILESDIR}"/${P}-ldflags.patch + epatch "${FILESDIR}"/${P}_with-tk-no.patch + epatch "${FILESDIR}"/${P}-headers.patch #337943 + epatch "${FILESDIR}"/${P}-expectk.patch + sed -i 's:ifdef HAVE_SYS_WAIT_H:ifndef NO_SYS_WAIT_H:' *.c + + eautoconf +} + +src_configure() { + local myconf + local tclv + local tkv + # Find the version of tcl/tk that has headers installed. + # This will be the most recently merged, not necessarily the highest + # version number. + tclv=$(grep TCL_VER ${EPREFIX}/usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/') + #tkv isn't really needed, included for symmetry and the future + #tkv=$(grep TK_VER ${EPREFIX}/usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/') + myconf="--with-tcl=${EPREFIX}/usr/$(get_libdir) --with-tclinclude=${EPREFIX}/usr/$(get_libdir)/tcl${tclv}/include/generic --with-tk=yes" + + if use X ; then + #--with-x is enabled by default + #configure needs to find the file tkConfig.sh and tk.h + #tk.h is in /usr/lib so don't need to explicitly set --with-tkinclude + myconf="$myconf --with-tk=${EPREFIX}/usr/$(get_libdir) --with-tkinclude=${EPREFIX}/usr/include" + else + #configure knows that tk depends on X so just disable X + myconf="$myconf --with-tk=no" + fi + + econf \ + $myconf \ + --enable-shared \ + $(use_enable threads) \ + $(use_enable amd64 64bit) \ + $(use_enable debug symbols) +} + +src_test() { + # we need dejagnu to do tests ... but dejagnu needs + # expect ... so don't do tests unless we have dejagnu + type -p runtest || return 0 + emake test || die "emake test failed" +} + +expect_make_var() { + touch pkgIndex.tcl-hand + printf 'all:;echo $('$1')\ninclude Makefile' | emake --no-print-directory -s -f - + rm -f pkgIndex.tcl-hand +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc ChangeLog FAQ HISTORY NEWS README + + # install examples if 'doc' is set + if use doc ; then + insinto /usr/share/doc/${PF}/examples + doins $(printf 'example/%s ' $(expect_make_var SCRIPTS)) || die + docinto examples + dodoc example/README $(printf 'example/%s.man ' $(expect_make_var _SCRIPTS_MANPAGES)) || die + fi +} diff --git a/dev-tcltk/expect/expect-5.45.ebuild b/dev-tcltk/expect/expect-5.45.ebuild new file mode 100644 index 000000000000..5ba1acfb31fd --- /dev/null +++ b/dev-tcltk/expect/expect-5.45.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils + +MY_P="${PN}${PV}" +DESCRIPTION="tool for automating interactive applications" +HOMEPAGE="http://expect.nist.gov/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~m68k-mint ~x86-solaris" +IUSE="debug doc threads" + +# We need dejagnu for src_test, but dejagnu needs expect +# to compile/run, so we cant add dejagnu to DEPEND :/ +DEPEND=">=dev-lang/tcl-8.2:0[threads?]" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + sed -i "s:/usr/local/bin:${EPREFIX}/usr/bin:" expect.man || die + # stops any example scripts being installed by default + sed -i \ + -e 's/^SCRIPT_LIST[[:space:]]*=/_&/' \ + -e 's/^SCRIPTS[[:space:]]*=/_&/' \ + -e 's/^SCRIPTS_MANPAGES[[:space:]]*=/_&/' \ + Makefile.in || die + + epatch "${FILESDIR}"/${PN}-5.45-gfbsd.patch + epatch "${FILESDIR}"/${PN}-5.44.1.15-ldflags.patch + epatch "${FILESDIR}"/${PN}-5.45-headers.patch #337943 + epatch "${FILESDIR}"/${PN}-5.45-format-security.patch + sed -i 's:ifdef HAVE_SYS_WAIT_H:ifndef NO_SYS_WAIT_H:' *.c + + # fix install_name on darwin + [[ ${CHOST} == *-darwin* ]] && \ + epatch "${FILESDIR}"/${P}-darwin-install_name.patch + + mv configure.{in,ac} || die + + eautoconf +} + +src_configure() { + # the 64bit flag is useless ... it only adds 64bit compiler flags + # (like -m64) which the target toolchain should already handle + econf \ + --with-tcl="${EPREFIX}/usr/$(get_libdir)" \ + --disable-64bit \ + --enable-shared \ + $(use_enable threads) \ + $(use_enable debug symbols mem) +} + +src_test() { + # we need dejagnu to do tests ... but dejagnu needs + # expect ... so don't do tests unless we have dejagnu + type -p runtest || return 0 + emake test +} + +expect_make_var() { + touch pkgIndex.tcl-hand + printf 'all:;echo $('$1')\ninclude Makefile' | emake --no-print-directory -s -f - + rm -f pkgIndex.tcl-hand || die +} + +src_install() { + default + + if use doc ; then + docinto examples + dodoc \ + example/README \ + $(printf 'example/%s ' $(expect_make_var _SCRIPTS)) \ + $(printf 'example/%s.man ' $(expect_make_var _SCRIPTS_MANPAGES)) + fi +} diff --git a/dev-tcltk/expect/files/expect-5.39.0-libdir.patch b/dev-tcltk/expect/files/expect-5.39.0-libdir.patch new file mode 100644 index 000000000000..061db835fb8b --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.39.0-libdir.patch @@ -0,0 +1,11 @@ +--- expect-5.39/Makefile.in.libdir 2003-07-30 00:46:51.000000000 +0200 ++++ expect-5.39/Makefile.in 2003-11-17 17:54:52.000000000 +0100 +@@ -316,7 +316,7 @@ + CFLAGS_INT = $(MH_CFLAGS) $(CPPFLAGS) $(XCFLAGS) + + LIB_INSTALL_DIR = $(tcl_libdir) +-LIB_RUNTIME_DIR = $(tcl_libdir) ++LIB_RUNTIME_DIR = $(subst $(INSTALL_ROOT),,$(tcl_libdir)) + # I don't understand why Tcl splits these up, but it does. LIB_RUNTIME_DIR + # can appear as part of the LD_SEARCH_FLAGS inherited by configure. + diff --git a/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch b/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch new file mode 100644 index 000000000000..517fe93f8b2c --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch @@ -0,0 +1,100 @@ +Submitted By: Bryan Kadzban <bryan@kadzban.is-a-geek.net> +Date: 2008-01-12 +Initial Package Version: 5.43 +Upstream status: Not Submitted - Test Version +Origin: LFS ticket 2126 (http://wiki.linuxfromscratch.org/lfs/ticket/2126) +Description: Removes references to functions that Tcl 8.5 no longer exposes. + +diff -Naur expect-5.43/exp_command.c expect-5.43-patched/exp_command.c +--- expect-5.43/exp_command.c 2004-08-20 13:18:01.000000000 -0400 ++++ expect-5.43-patched/exp_command.c 2008-01-12 11:42:45.000000000 -0500 +@@ -2265,6 +2265,8 @@ + /*NOTREACHED*/ + } + ++static struct exp_cmd_data cmd_data[]; ++ + /*ARGSUSED*/ + static int + Exp_CloseObjCmd(clientData, interp, objc, objv) +@@ -2311,12 +2313,23 @@ + /* Historical note: we used "close" long before there was a */ + /* Tcl builtin by the same name. */ + ++ /* The code that registered this function as the handler for */ ++ /* the "close" command stored away the old handler in the */ ++ /* exp_cmd_data for the "close" command. */ ++ ++ struct exp_cmd_data *cmd_ptr; + Tcl_CmdInfo info; ++ ++ for(cmd_ptr = &cmd_data[0]; cmd_ptr->name; cmd_ptr++) { ++ if(strncmp(cmd_ptr->name, "close", 5) == 0) ++ break; ++ } ++ + Tcl_ResetResult(interp); + if (0 == Tcl_GetCommandInfo(interp,"close",&info)) { + info.clientData = 0; + } +- return(Tcl_CloseObjCmd(info.clientData,interp,objc_orig,objv_orig)); ++ return(cmd_ptr->old_objProc(info.clientData,interp,objc_orig,objv_orig)); + } + + if (chanName) { +@@ -2961,7 +2974,10 @@ + /* if successful (i.e., TCL_RETURN is returned) */ + /* modify the result, so that we will handle it specially */ + +- int result = Tcl_ReturnObjCmd(clientData,interp,objc,objv); ++ Tcl_CmdInfo info; ++ Tcl_GetCommandInfo(interp, "return", &info); ++ ++ int result = info.objProc(clientData,interp,objc,objv); + if (result == TCL_RETURN) + result = EXP_TCL_RETURN; + return result; +@@ -3062,8 +3078,7 @@ + + for (;c->name;c++) { + /* if already defined, don't redefine */ +- if ((c->flags & EXP_REDEFINE) || +- !(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || ++ if (!(Tcl_FindHashEntry(&globalNsPtr->cmdTable,c->name) || + Tcl_FindHashEntry(&currNsPtr->cmdTable,c->name))) { + if (c->objproc) + Tcl_CreateObjCommand(interp,c->name, +@@ -3072,6 +3087,21 @@ + Tcl_CreateCommand(interp,c->name,c->proc, + c->data,exp_deleteProc); + } ++ else if (c->flags & EXP_REDEFINE) { /* unless the REDEFINE flag is present */ ++ Tcl_CmdInfo info; ++ ++ if (Tcl_GetCommandInfo(interp, c->name, &info)) { ++ c->old_proc = info.proc; ++ c->old_objProc = info.objProc; ++ } ++ ++ if (c->objproc) ++ Tcl_CreateObjCommand(interp,c->name, ++ c->objproc,c->data,exp_deleteObjProc); ++ else ++ Tcl_CreateCommand(interp,c->name,c->proc, ++ c->data,exp_deleteProc); ++ } + if (!(c->name[0] == 'e' && + c->name[1] == 'x' && + c->name[2] == 'p') +diff -Naur expect-5.43/exp_command.h expect-5.43-patched/exp_command.h +--- expect-5.43/exp_command.h 2008-01-12 11:44:11.000000000 -0500 ++++ expect-5.43-patched/exp_command.h 2008-01-12 11:26:05.000000000 -0500 +@@ -297,6 +297,8 @@ + Tcl_CmdProc *proc; + ClientData data; + int flags; ++ Tcl_CmdProc *old_proc; /* these store the procedure for the old command, */ ++ Tcl_ObjCmdProc *old_objProc; /* if any */ + }; + + EXTERN void exp_create_commands _ANSI_ARGS_((Tcl_Interp *, diff --git a/dev-tcltk/expect/files/expect-5.43.0-darwin.patch b/dev-tcltk/expect/files/expect-5.43.0-darwin.patch new file mode 100644 index 000000000000..7ce1bb6cb7fb --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.43.0-darwin.patch @@ -0,0 +1,11 @@ +--- Makefile.in ++++ Makefile.in +@@ -413,7 +413,7 @@ + expect-shared-lib-file :: $(EXP_SHARED_LIB_FILE) + $(EXP_SHARED_LIB_FILE): $(OFILES) + -rm -f $(EXP_SHARED_LIB_FILE) +- @TCL_SHLIB_LD@ -o $(EXP_SHARED_LIB_FILE) $(SHARED_OFILES) @EXP_LD_SEARCH_FLAGS@ @EXP_SHLIB_LD_LIBS@ ++ @TCL_SHLIB_LD@ -o $(EXP_SHARED_LIB_FILE) $(SHARED_OFILES) @EXP_LD_SEARCH_FLAGS@ @EXP_SHLIB_LD_LIBS@ -install_name $(tcl_libdir)/$(EXP_SHARED_LIB_FILE) + + .PHONY: install-info install info + install-info: diff --git a/dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch b/dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch new file mode 100644 index 000000000000..a4310d011216 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.43.0-missing-includes.patch @@ -0,0 +1,44 @@ +diff -urpN expect-5.43.0.orig/work/expect-5.43/exp_glob.c expect-5.43.0/work/expect-5.43/exp_glob.c +--- expect-5.43.0.orig/work/expect-5.43/exp_glob.c 2009-06-07 19:36:31.000000000 +0200 ++++ expect-5.43.0/work/expect-5.43/exp_glob.c 2009-06-07 19:39:04.000000000 +0200 +@@ -11,6 +11,7 @@ would appreciate credit if this program + + */ + ++#include <string.h> + #include "expect_cf.h" + #include "tcl.h" + #include "exp_int.h" +diff -urpN expect-5.43.0.orig/work/expect-5.43/exp_main_exp.c expect-5.43.0/work/expect-5.43/exp_main_exp.c +--- expect-5.43.0.orig/work/expect-5.43/exp_main_exp.c 2009-06-07 19:36:31.000000000 +0200 ++++ expect-5.43.0/work/expect-5.43/exp_main_exp.c 2009-06-07 19:37:39.000000000 +0200 +@@ -9,6 +9,7 @@ would appreciate credit if this program + + #include "expect_cf.h" + #include <stdio.h> ++#include <stdlib.h> + #include "tcl.h" + #include "expect_tcl.h" + +diff -urpN expect-5.43.0.orig/work/expect-5.43/exp_trap.c expect-5.43.0/work/expect-5.43/exp_trap.c +--- expect-5.43.0.orig/work/expect-5.43/exp_trap.c 2009-06-07 19:36:31.000000000 +0200 ++++ expect-5.43.0/work/expect-5.43/exp_trap.c 2009-06-07 19:38:51.000000000 +0200 +@@ -11,6 +11,7 @@ would appreciate credit if this program + #include "expect_cf.h" + + #include <stdio.h> ++#include <string.h> + #include <signal.h> + #include <sys/types.h> + +diff -urpN expect-5.43.0.orig/work/expect-5.43/pty_termios.c expect-5.43.0/work/expect-5.43/pty_termios.c +--- expect-5.43.0.orig/work/expect-5.43/pty_termios.c 2009-06-07 19:36:31.000000000 +0200 ++++ expect-5.43.0/work/expect-5.43/pty_termios.c 2009-06-07 19:38:19.000000000 +0200 +@@ -8,6 +8,7 @@ would appreciate credit if you use this + */ + + #include <stdio.h> ++#include <string.h> + #include <signal.h> + + #if defined(SIGCLD) && !defined(SIGCHLD) diff --git a/dev-tcltk/expect/files/expect-5.43.0-multilib.patch b/dev-tcltk/expect/files/expect-5.43.0-multilib.patch new file mode 100644 index 000000000000..9257537349d5 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.43.0-multilib.patch @@ -0,0 +1,11 @@ +--- expect-5.42/configure.in.orig 2004-12-21 03:02:36.095170881 -0800 ++++ expect-5.42/configure.in 2004-12-21 03:03:08.987170537 -0800 +@@ -1141,7 +1141,7 @@ + fi + + EXP_BUILD_LIB_SPEC="-L`pwd` -lexpect${EXP_LIB_VERSION}${DBGX}" +-EXP_LIB_SPEC="-L\${INSTALL_ROOT}\${exec_prefix}/lib -lexpect${EXP_LIB_VERSION}${DBGX}" ++EXP_LIB_SPEC="-L\${libdir} -lexpect${EXP_LIB_VERSION}${DBGX}" + EXP_UNSHARED_LIB_FILE=libexpect${EXP_LIB_VERSION}${DBGX}.a + + # The TCL_SHARED_LIB_SUFFIX macro below relies on the DBGX macro, diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch b/dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch new file mode 100644 index 000000000000..0c0ba80293e0 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.44.1.15-expectk.patch @@ -0,0 +1,14 @@ +expectk is only built when TK_BIN_DIR is defined. the configure script +takes care of figuring out this value, but then they forgot to actually +write it out to the Makefile. + +--- Makefile.in ++++ Makefile.in +@@ -24,6 +24,7 @@ + # SETUID = chmod u+s + + LIB_RUNTIME_DIR = $(DESTDIR)@libdir@ ++TK_BIN_DIR = @TK_BIN_DIR@ + + # The following Expect scripts are not necessary to have installed as + # commands, but are very useful. Edit out what you don't want diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch b/dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch new file mode 100644 index 000000000000..d67de2126a07 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.44.1.15-gfbsd.patch @@ -0,0 +1,17 @@ +--- expect-5.44.1.15/tclconfig/tcl.m4.orig 2010-04-08 22:49:51.568043292 -0700 ++++ expect-5.44.1.15/tclconfig/tcl.m4 2010-04-08 22:50:28.207915301 -0700 +@@ -1579,12 +1579,12 @@ + FreeBSD-*) + # FreeBSD 3.* and greater have ELF. + SHLIB_CFLAGS="-fPIC" +- SHLIB_LD="ld -Bshareable -x" ++ SHLIB_LD="${CC} -shared" + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" +- LDFLAGS="$LDFLAGS -export-dynamic" ++ LDFLAGS="$LDFLAGS -Wl,-export-dynamic" + CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}' + if test "${TCL_THREADS}" = "1" ; then diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-headers.patch b/dev-tcltk/expect/files/expect-5.44.1.15-headers.patch new file mode 100644 index 000000000000..77e4d91f4bf9 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.44.1.15-headers.patch @@ -0,0 +1,86 @@ +https://sourceforge.net/tracker/?func=detail&aid=3071706&group_id=13179&atid=113179 + +--- a/exp_clib.c ++++ b/exp_clib.c +@@ -15,6 +15,12 @@ + #endif + #include <sys/types.h> + #include <sys/ioctl.h> ++#ifdef HAVE_UNISTD_H ++# include <unistd.h> ++#endif ++#ifdef HAVE_SYS_WAIT_H ++#include <sys/wait.h> ++#endif + + #ifdef TIME_WITH_SYS_TIME + # include <sys/time.h> +--- a/exp_trap.c ++++ b/exp_trap.c +@@ -13,6 +13,7 @@ + #include <stdio.h> + #include <signal.h> + #include <sys/types.h> ++#include <string.h> + + #ifdef HAVE_SYS_WAIT_H + #include <sys/wait.h> +--- a/pty_termios.c ++++ b/pty_termios.c +@@ -9,6 +9,8 @@ + + #include <stdio.h> + #include <signal.h> ++#include <string.h> ++#include <pty.h> + + #if defined(SIGCLD) && !defined(SIGCHLD) + #define SIGCHLD SIGCLD +@@ -100,6 +100,7 @@ + + #include "exp_tty_in.h" + #include "exp_rename.h" ++#include "exp_int.h" + #include "exp_pty.h" + + void expDiagLog(); +--- a/exp_chan.c ++++ b/exp_chan.c +@@ -34,6 +34,7 @@ + #include "exp_rename.h" + #include "exp_prog.h" + #include "exp_command.h" ++#include "exp_event.h" + #include "exp_log.h" + #include "tcldbg.h" /* Dbg_StdinMode */ + +--- a/exp_clib.c ++++ b/exp_clib.c +@@ -1955,6 +1955,7 @@ + + #include "expect.h" + #include "exp_int.h" ++EXTERN void exp_init_tty _ANSI_ARGS_((void)); + + /* exp_glob.c - expect functions for doing glob + * +--- a/exp_tty.h ++++ b/exp_tty.h +@@ -17,6 +17,7 @@ + + void exp_tty_raw(int set); + void exp_tty_echo(int set); ++int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); + void exp_tty_break(Tcl_Interp *interp, int fd); + int exp_tty_raw_noecho(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); + int exp_israw(void); +--- a/exp_main_tk.c ++++ b/exp_main_tk.c +@@ -32,6 +32,7 @@ + static char sccsid[] = "@(#) tkAppInit.c 1.19 95/12/23 17:09:24"; + #endif /* not lint */ + ++#include <string.h> + #include <ctype.h> + + #include "tk.h" diff --git a/dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch b/dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch new file mode 100644 index 000000000000..be3641c2105c --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.44.1.15-ldflags.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.in b/Makefile.in +index cc2c79b..1083eaf 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -148,7 +148,7 @@ OBJEXT = @OBJEXT@ + RANLIB = @RANLIB@ + RANLIB_STUB = @RANLIB_STUB@ + SHLIB_CFLAGS = @SHLIB_CFLAGS@ +-SHLIB_LD = @SHLIB_LD@ ++SHLIB_LD = @SHLIB_LD@ $(LDFLAGS) + SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ + STLIB_LD = @STLIB_LD@ + TCL_DEFS = @TCL_DEFS@ diff --git a/dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch b/dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch new file mode 100644 index 000000000000..cea372daaacb --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.44.1.15_with-tk-no.patch @@ -0,0 +1,117 @@ +This is a minimal patch that does not keep indentation consistent in tcl.m4 +Updating indentation would make the patch much bigger and less readable. + +Signed-off-by: Gilles Espinasse <g.esp@free.fr> + +Index: INSTALL +=================================================================== +RCS file: /cvsroot/expect/expect/INSTALL,v +retrieving revision 5.30 +diff -u -r5.30 INSTALL +--- INSTALL 21 Jun 1999 18:41:41 -0000 5.30 ++++ INSTALL 30 May 2009 11:51:21 -0000 +@@ -152,6 +152,7 @@ + + --with-tk=... Specifies the directory containing Tk's + configure file (tkConfig.sh). ++ --with-tk=no disable Tk usage in expect + + --with-tkinclude=... Specifies the directory containing Tk's + private include files (such as tkInt.h) +Index: Makefile.in +=================================================================== +RCS file: /cvsroot/expect/expect/Makefile.in,v +retrieving revision 5.45 +diff -u -r5.45 Makefile.in +--- Makefile.in 3 Oct 2008 17:05:14 -0000 5.45 ++++ Makefile.in 30 May 2009 11:51:21 -0000 +@@ -103,7 +103,11 @@ + PKG_STUB_LIB_FILE = @PKG_STUB_LIB_FILE@ + + lib_BINARIES = $(PKG_LIB_FILE) +-bin_BINARIES = expect expectk ++bin_BINARIES = expect ++ifneq ($(TK_BIN_DIR),) ++ bin_BINARIES += expectk ++endif ++ + BINARIES = $(lib_BINARIES) $(bin_BINARIES) + + SHELL = @SHELL@ +Index: tclconfig/tcl.m4 +=================================================================== +RCS file: /cvsroot/expect/expect/tclconfig/tcl.m4,v +retrieving revision 1.3 +diff -u -r1.3 tcl.m4 +--- tclconfig/tcl.m4 25 Jan 2006 21:52:11 -0000 1.3 ++++ tclconfig/tcl.m4 30 May 2009 11:51:23 -0000 +@@ -181,10 +181,12 @@ + # + # Adds the following arguments to configure: + # --with-tk=... ++# --with-tk=no disable Tk usage + # + # Defines the following vars: + # TK_BIN_DIR Full path to the directory containing + # the tkConfig.sh file ++# Empty if Tk is disabled + #------------------------------------------------------------------------ + + AC_DEFUN(TEA_PATH_TKCONFIG, [ +@@ -201,6 +203,12 @@ + AC_HELP_STRING([--with-tk], + [directory containing tk configuration (tkConfig.sh)]), + with_tkconfig=${withval}) ++ ++ if test x"${with_tkconfig}" = x"no" ; then ++ AC_MSG_RESULT([Tk is disabled by --with-tk=no]) ++ unset TK_BIN_DIR ++ else ++ + AC_MSG_CHECKING([for Tk configuration]) + AC_CACHE_VAL(ac_cv_c_tkconfig,[ + +@@ -309,6 +317,7 @@ + TK_BIN_DIR=${ac_cv_c_tkconfig} + AC_MSG_RESULT([found ${TK_BIN_DIR}/tkConfig.sh]) + fi ++ fi + fi + ]) + +@@ -420,6 +429,7 @@ + #------------------------------------------------------------------------ + + AC_DEFUN(TEA_LOAD_TKCONFIG, [ ++ if test x"${with_tkconfig}" != x"no" ; then + AC_MSG_CHECKING([for existence of ${TK_BIN_DIR}/tkConfig.sh]) + + if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then +@@ -501,6 +511,7 @@ + + AC_SUBST(TK_LIBS) + AC_SUBST(TK_XINCLUDES) ++ fi + ]) + + #------------------------------------------------------------------------ +@@ -3528,6 +3539,11 @@ + #------------------------------------------------------------------------ + + AC_DEFUN(TEA_PUBLIC_TK_HEADERS, [ ++ if test x"${with_tkconfig}" = x"no" ; then ++ TK_INCLUDES="" ++ AC_SUBST(TK_INCLUDES) ++ else ++ + AC_MSG_CHECKING([for Tk public headers]) + + AC_ARG_WITH(tkinclude, [ --with-tkinclude directory containing the public Tk header files.], with_tkinclude=${withval}) +@@ -3608,6 +3624,7 @@ + fi + AC_MSG_RESULT([${INCLUDE_DIR_NATIVE}]) + fi ++ fi + ]) + + #------------------------------------------------------------------------ diff --git a/dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch b/dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch new file mode 100644 index 000000000000..f5470aadb88e --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.45-darwin-install_name.patch @@ -0,0 +1,13 @@ +Add install_name (soname) + +--- tclconfig/tcl.m4 ++++ tclconfig/tcl.m4 +@@ -1703,7 +1703,7 @@ + ]) + # TEA specific: link shlib with current and compatiblity version flags + vers=`echo ${PACKAGE_VERSION} | sed -e 's/^\([[0-9]]\{1,5\}\)\(\(\.[[0-9]]\{1,3\}\)\{0,2\}\).*$/\1\2/p' -e d` +- SHLIB_LD="${SHLIB_LD} -current_version ${vers:-0} -compatibility_version ${vers:-0}" ++ SHLIB_LD="${SHLIB_LD} -install_name \$(pkglibdir)/\$(PKG_LIB_FILE) -current_version ${vers:-0} -compatibility_version ${vers:-0}" + SHLIB_SUFFIX=".dylib" + # Don't use -prebind when building for Mac OS X 10.4 or later only: + AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \ diff --git a/dev-tcltk/expect/files/expect-5.45-format-security.patch b/dev-tcltk/expect/files/expect-5.45-format-security.patch new file mode 100644 index 000000000000..c623264be27a --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.45-format-security.patch @@ -0,0 +1,18 @@ + exp_clib.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/exp_clib.c b/exp_clib.c +index 172c05e..c86dda4 100644 +--- a/exp_clib.c ++++ b/exp_clib.c +@@ -1476,8 +1476,8 @@ expDiagLogU(str) + char *str; + { + if (exp_is_debugging) { +- fprintf(stderr,str); +- if (exp_logfile) fprintf(exp_logfile,str); ++ fprintf(stderr,"%s", str); ++ if (exp_logfile) fprintf(exp_logfile,"%s", str); + } + } + diff --git a/dev-tcltk/expect/files/expect-5.45-gfbsd.patch b/dev-tcltk/expect/files/expect-5.45-gfbsd.patch new file mode 100644 index 000000000000..5ae9c26adb88 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.45-gfbsd.patch @@ -0,0 +1,26 @@ +--- a/tclconfig/tcl.m4 ++++ b/tclconfig/tcl.m4 +@@ -1634,20 +1634,15 @@ dnl AC_CHECK_TOOL(AR, ar) + SHLIB_LD="${CC} -shared" + TCL_SHLIB_LD_EXTRAS="-soname \$[@]" + SHLIB_SUFFIX=".so" +- LDFLAGS="" ++ LDFLAGS="$LDFLAGS -Wl,--export-dynamic" + AS_IF([test $doRpath = yes], [ +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' +- LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}']) ++ CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) ++ LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + AS_IF([test "${TCL_THREADS}" = "1"], [ + # The -pthread needs to go in the LDFLAGS, not LIBS + LIBS=`echo $LIBS | sed s/-pthread//` + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LDFLAGS="$LDFLAGS $PTHREAD_LIBS"]) +- # 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' +- TCL_LIB_VERSIONS_OK=nodots + ;; + Darwin-*) + CFLAGS_OPTIMIZE="-Os" diff --git a/dev-tcltk/expect/files/expect-5.45-headers.patch b/dev-tcltk/expect/files/expect-5.45-headers.patch new file mode 100644 index 000000000000..98330211b328 --- /dev/null +++ b/dev-tcltk/expect/files/expect-5.45-headers.patch @@ -0,0 +1,92 @@ +https://sourceforge.net/tracker/?func=detail&aid=3071706&group_id=13179&atid=113179 +--- a/configure.in ++++ b/configure.in +@@ -133,6 +133,8 @@ AC_CHECK_HEADER(sys/fcntl.h, AC_DEFINE(HAVE_SYS_FCNTL_H)) + AC_CHECK_HEADER(sys/ptem.h, AC_DEFINE(HAVE_SYS_PTEM_H)) + AC_CHECK_HEADER(sys/strredir.h, AC_DEFINE(HAVE_STRREDIR_H)) + AC_CHECK_HEADER(sys/strpty.h, AC_DEFINE(HAVE_STRPTY_H)) ++AC_CHECK_HEADER(pty.h, AC_DEFINE(HAVE_PTY_H)) ++AC_CHECK_HEADER(libutil.h, AC_DEFINE(HAVE_LIBUTIL_H)) + + AC_MSG_CHECKING([for sys/bsdtypes.h]) + if test "ISC_${ISC}" = "ISC_1" ; then +--- a/exp_clib.c ++++ b/exp_clib.c +@@ -15,6 +15,12 @@ + #endif + #include <sys/types.h> + #include <sys/ioctl.h> ++#ifdef HAVE_UNISTD_H ++# include <unistd.h> ++#endif ++#ifdef HAVE_SYS_WAIT_H ++#include <sys/wait.h> ++#endif + + #ifdef TIME_WITH_SYS_TIME + # include <sys/time.h> +--- a/exp_trap.c ++++ b/exp_trap.c +@@ -13,6 +13,7 @@ + #include <stdio.h> + #include <signal.h> + #include <sys/types.h> ++#include <string.h> + + #ifdef HAVE_SYS_WAIT_H + #include <sys/wait.h> +--- a/pty_termios.c ++++ b/pty_termios.c +@@ -9,6 +9,14 @@ + + #include <stdio.h> + #include <signal.h> ++#include <string.h> ++#ifdef HAVE_PTY_H ++#include <pty.h> ++#endif ++#ifdef HAVE_LIBUTIL_H ++#include <sys/types.h> ++#include <libutil.h> ++#endif + + #if defined(SIGCLD) && !defined(SIGCHLD) + #define SIGCHLD SIGCLD +@@ -100,6 +100,7 @@ + + #include "exp_tty_in.h" + #include "exp_rename.h" ++#include "exp_int.h" + #include "exp_pty.h" + + void expDiagLog(); +--- a/exp_chan.c ++++ b/exp_chan.c +@@ -34,6 +34,7 @@ + #include "exp_rename.h" + #include "exp_prog.h" + #include "exp_command.h" ++#include "exp_event.h" + #include "exp_log.h" + #include "tcldbg.h" /* Dbg_StdinMode */ + +--- a/exp_clib.c ++++ b/exp_clib.c +@@ -1955,6 +1955,7 @@ + + #include "expect.h" + #include "exp_int.h" ++EXTERN void exp_init_tty _ANSI_ARGS_((void)); + + /* exp_glob.c - expect functions for doing glob + * +--- a/exp_tty.h ++++ b/exp_tty.h +@@ -17,6 +17,7 @@ + + void exp_tty_raw(int set); + void exp_tty_echo(int set); ++int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); + void exp_tty_break(Tcl_Interp *interp, int fd); + int exp_tty_raw_noecho(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo); + int exp_israw(void); diff --git a/dev-tcltk/expect/files/expect.m4 b/dev-tcltk/expect/files/expect.m4 new file mode 100644 index 000000000000..1fea61f8b477 --- /dev/null +++ b/dev-tcltk/expect/files/expect.m4 @@ -0,0 +1,609 @@ +dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support +dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov> + +dnl CY_AC_PATH_TCLCONFIG and CY_AC_LOAD_TCLCONFIG should be invoked +dnl (in that order) before any other TCL macros. Similarly for TK. + +dnl CYGNUS LOCAL: This gets the right posix flag for gcc +AC_DEFUN(CY_AC_TCL_LYNX_POSIX, +[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP]) +AC_MSG_CHECKING([if running LynxOS]) +AC_CACHE_VAL(ac_cv_os_lynx, +[AC_EGREP_CPP(yes, +[/* + * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__" + */ +#if defined(__Lynx__) || defined(Lynx) +yes +#endif +], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)]) +# +if test "$ac_cv_os_lynx" = "yes" ; then + AC_MSG_RESULT(yes) + AC_DEFINE(LYNX) + AC_MSG_CHECKING([whether -mposix or -X is available]) + AC_CACHE_VAL(ac_cv_c_posix_flag, + [AC_TRY_COMPILE(,[ + /* + * This flag varies depending on how old the compiler is. + * -X is for the old "cc" and "gcc" (based on 1.42). + * -mposix is for the new gcc (at least 2.5.8). + */ + #if defined(__GNUC__) && __GNUC__ >= 2 + choke me + #endif + ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")]) + CC="$CC $ac_cv_c_posix_flag" + AC_MSG_RESULT($ac_cv_c_posix_flag) + else + AC_MSG_RESULT(no) +fi +]) + +# +# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This +# makes configure think it's cross compiling. If --target wasn't used, then +# we can't configure, so something is wrong. We don't use the cache +# here cause if somebody fixes their compiler install, we want this to work. +AC_DEFUN(CY_AC_C_WORKS, +[# If we cannot compile and link a trivial program, we can't expect anything to work +AC_MSG_CHECKING(whether the compiler ($CC) actually works) +AC_TRY_COMPILE(, [/* don't need anything here */], + c_compiles=yes, c_compiles=no) + +AC_TRY_LINK(, [/* don't need anything here */], + c_links=yes, c_links=no) + +if test x"${c_compiles}" = x"no" ; then + AC_MSG_ERROR(the native compiler is broken and won't compile.) +fi + +if test x"${c_links}" = x"no" ; then + AC_MSG_ERROR(the native compiler is broken and won't link.) +fi +AC_MSG_RESULT(yes) +]) + +AC_DEFUN(CY_AC_PATH_TCLH, [ +# +# Ok, lets find the tcl source trees so we can use the headers +# Warning: transition of version 9 to 10 will break this algorithm +# because 10 sorts before 9. We also look for just tcl. We have to +# be careful that we don't match stuff like tclX by accident. +# the alternative search directory is involked by --with-tclinclude +# +no_tcl=true +AC_MSG_CHECKING(for Tcl private headers) +AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl private headers are], with_tclinclude=${withval}) +AC_CACHE_VAL(ac_cv_c_tclh,[ +# first check to see if --with-tclinclude was specified +if test x"${with_tclinclude}" != x ; then + if test -f ${with_tclinclude}/tclInt.h ; then + ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)` + elif test -f ${with_tclinclude}/generic/tclInt.h ; then + ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)` + else + AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers]) + fi +fi + +# next check if it came with Tcl configuration file +if test x"${ac_cv_c_tclconfig}" != x ; then + if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then + ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/../generic; pwd)` + fi +fi + +# next check in private source directory +# +# since ls returns lowest version numbers first, reverse its output +if test x"${ac_cv_c_tclh}" = x ; then + for i in \ + ${srcdir}/../tcl \ + `ls -dr ${srcdir}/../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../tcl[[8]].[[2-9]] 2>/dev/null` \ + ${srcdir}/../../tcl \ + `ls -dr ${srcdir}/../../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../../tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../../tcl[[8]].[[2-9]] 2>/dev/null` \ + ${srcdir}/../../../tcl \ + `ls -dr ${srcdir}/../../../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../../../tcl[[9]].[[0-9]] 2>/dev/null ` \ + `ls -dr ${srcdir}/../../../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../../../tcl[[8]].[[2-9]] 2>/dev/null ` ; do + if test -f $i/generic/tclInt.h ; then + ac_cv_c_tclh=`(cd $i/generic; pwd)` + break + fi + done +fi +# finally check in a few common install locations +# +# since ls returns lowest version numbers first, reverse its output +if test x"${ac_cv_c_tclh}" = x ; then + for i in \ + `ls -dr /usr/local/src/tcl[[9]].[[0-9]].[[0-9]] /usr/local/src/tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr /usr/local/src/tcl[[8]].[[2-9]].[[0-9]] /usr/local/src/tcl[[8]].[[2-9]] 2>/dev/null` \ + `ls -dr /usr/local/lib/tcl[[9]].[[0-9]].[[0-9]] /usr/local/lib/tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr /usr/local/lib/tcl[[8]].[[2-9]].[[0-9]] /usr/local/lib/tcl[[8]].[[2-9]] 2>/dev/null` \ + /usr/local/src/tcl \ + /usr/local/lib/tcl \ + ${prefix}/include ; do + if test -f $i/generic/tclInt.h ; then + ac_cv_c_tclh=`(cd $i/generic; pwd)` + break + fi + done +fi +# see if one is installed +if test x"${ac_cv_c_tclh}" = x ; then + AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="") +fi +]) +if test x"${ac_cv_c_tclh}" = x ; then + TCLHDIR="# no Tcl private headers found" + TCLHDIRDASHI="# no Tcl private headers found" + AC_MSG_ERROR([Can't find Tcl private headers]) +fi +if test x"${ac_cv_c_tclh}" != x ; then + no_tcl="" + if test x"${ac_cv_c_tclh}" = x"installed" ; then + AC_MSG_RESULT([is installed]) + TCLHDIR="" + TCLHDIRDASHI="" + TCL_LIBRARY="" + else + AC_MSG_RESULT([found in ${ac_cv_c_tclh}]) + # this hack is cause the TCLHDIR won't print if there is a "-I" in it. + TCLHDIR="${ac_cv_c_tclh}" + TCLHDIRDASHI="-I${ac_cv_c_tclh} -I`dirname ${ac_cv_c_tclh}`/unix" + TCL_LIBRARY=`echo $TCLHDIR | sed -e 's/generic//'`library + fi +fi + +AC_SUBST(TCLHDIR) +AC_SUBST(TCLHDIRDASHI) +AC_SUBST(TCL_LIBRARY) +]) + + +AC_DEFUN(CY_AC_PATH_TCLCONFIG, [ +# +# Ok, lets find the tcl configuration +# First, look for one uninstalled. +# the alternative search directory is invoked by --with-tcl +# + +if test x"${no_tcl}" = x ; then + # we reset no_tcl in case something fails here + no_tcl=true + AC_ARG_WITH(tcl, [ --with-tcl directory containing tcl configuration (tclConfig.sh)], + with_tclconfig=${withval}) + AC_MSG_CHECKING([for Tcl configuration]) + AC_CACHE_VAL(ac_cv_c_tclconfig,[ + + # First check to see if --with-tcl was specified. + if test x"${with_tclconfig}" != x ; then + if test -f "${with_tclconfig}/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` + else + AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) + fi + fi + + # then check for a private Tcl installation + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ../tcl \ + `ls -dr ../tcl[[9]].[[0-9]].[[0-9]] ../tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../tcl[[8]].[[2-9]].[[0-9]] ../tcl[[8]].[[2-9]] 2>/dev/null` \ + ../../tcl \ + `ls -dr ../../tcl[[9]].[[0-9]].[[0-9]] ../../tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../../tcl[[8]].[[2-9]].[[0-9]] ../../tcl[[8]].[[2-9]] 2>/dev/null` \ + ../../../tcl \ + `ls -dr ../../../tcl[[9]].[[0-9]].[[0-9]] ../../../tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../../../tcl[[8]].[[2-9]].[[0-9]] ../../../tcl[[8]].[[2-9]] 2>/dev/null` ; do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + # check in a few common install locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do + if test -f "$i/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i; pwd)` + break + fi + done + fi + # check in a few other private locations + if test x"${ac_cv_c_tclconfig}" = x ; then + for i in \ + ${srcdir}/../tcl \ + `ls -dr ${srcdir}/../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../tcl[[9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../tcl[[8]].[[2-9]] 2>/dev/null` ; do + if test -f "$i/unix/tclConfig.sh" ; then + ac_cv_c_tclconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + ]) + if test x"${ac_cv_c_tclconfig}" = x ; then + TCLCONFIG="# no Tcl configs found" + AC_MSG_WARN(Can't find Tcl configuration definitions) + else + no_tcl= + TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh + AC_MSG_RESULT(found $TCLCONFIG) + fi +fi +]) + +# Defined as a separate macro so we don't have to cache the values +# from PATH_TCLCONFIG (because this can also be cached). +AC_DEFUN(CY_AC_LOAD_TCLCONFIG, [ + . $TCLCONFIG + +dnl AC_SUBST(TCL_VERSION) +dnl AC_SUBST(TCL_MAJOR_VERSION) +dnl AC_SUBST(TCL_MINOR_VERSION) +dnl AC_SUBST(TCL_CC) + AC_SUBST(TCL_DEFS) +dnl following is just to test if missing symbol can be handled by configure + AC_SUBST(TCL_DELETEME) + AC_SUBST(TCL_DBGX) + +dnl not used, don't export to save symbols +dnl AC_SUBST(TCL_LIB_FILE) + +dnl don't export, not used outside of configure +dnl AC_SUBST(TCL_LIBS) +dnl not used, don't export to save symbols +dnl AC_SUBST(TCL_PREFIX) + + AC_SUBST(TCL_EXEC_PREFIX) + +dnl not used, don't export to save symbols +dnl AC_SUBST(TCL_SHLIB_CFLAGS) + AC_SUBST(TCL_SHLIB_LD) +dnl don't export, not used outside of configure +dnl AC_SUBST(TCL_SHLIB_LD_LIBS) + +# Tcl defines TCL_SHLIB_SUFFIX but TCL_SHARED_LIB_SUFFIX then looks for it +# as just SHLIB_SUFFIX. How bizarre. + SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX + AC_SUBST(SHLIB_SUFFIX) + +dnl not used, don't export to save symbols +dnl AC_SUBST(TCL_DL_LIBS) + AC_SUBST(TCL_LD_FLAGS) +dnl don't export, not used outside of configure +dnl AC_SUBST(TCL_LD_SEARCH_FLAGS) +dnl AC_SUBST(TCL_COMPAT_OBJS) +dnl AC_SUBST(TCL_RANLIB) + +# if Tcl's build directory has been removed, TCL_LIB_SPEC should +# be used instead of TCL_BUILD_LIB_SPEC +SAVELIBS=$LIBS +# eval used to expand out TCL_DBGX +eval "LIBS=\"$TCL_BUILD_LIB_SPEC $TCL_LIBS\"" +AC_MSG_CHECKING([Tcl build library]) +AC_MSG_RESULT($LIBS) + +AC_CHECK_FUNC(Tcl_CreateCommand,[ + AC_MSG_CHECKING([if Tcl library build specification is valid]) + AC_MSG_RESULT(yes) +],[ + TCL_BUILD_LIB_SPEC=$TCL_LIB_SPEC + # Can't pull the following CHECKING call out since it will be + # broken up by the CHECK_FUNC just above. + AC_MSG_CHECKING([if Tcl library build specification is valid]) + AC_MSG_RESULT(no) +]) +LIBS=$SAVELIBS + + AC_SUBST(TCL_BUILD_LIB_SPEC) + AC_SUBST(TCL_LIB_SPEC) +dnl AC_SUBST(TCL_LIB_VERSIONS_OK) + + AC_SUBST(TCL_SHARED_LIB_SUFFIX) + +dnl not used, don't export to save symbols +dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX) +]) + +# Warning: Tk definitions are very similar to Tcl definitions but +# are not precisely the same. There are a couple of differences, +# so don't do changes to Tcl thinking you can cut and paste it do +# the Tk differences and later simply substitute "Tk" for "Tcl". +# Known differences: +# - Acceptable Tcl major version #s is 8.2-9.* while Tk is 8.2-9.* +# - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h +# - Computing major/minor versions is different because Tk depends on +# headers to Tcl, Tk, and X. +# - Symbols in tkConfig.sh are different than tclConfig.sh +# - Acceptable for Tk to be missing but not Tcl. + +AC_DEFUN(CY_AC_PATH_TKH, [ +# +# Ok, lets find the tk source trees so we can use the headers +# If the directory (presumably symlink) named "tk" exists, use that one +# in preference to any others. Same logic is used when choosing library +# and again with Tcl. The search order is the best place to look first, then in +# decreasing significance. The loop breaks if the trigger file is found. +# Note the gross little conversion here of srcdir by cd'ing to the found +# directory. This converts the path from a relative to an absolute, so +# recursive cache variables for the path will work right. We check all +# the possible paths in one loop rather than many seperate loops to speed +# things up. +# the alternative search directory is involked by --with-tkinclude +# +#no_tk=true +AC_MSG_CHECKING(for Tk private headers) +AC_ARG_WITH(tkinclude, [ --with-tkinclude directory where tk private headers are], with_tkinclude=${withval}) +AC_CACHE_VAL(ac_cv_c_tkh,[ +# first check to see if --with-tkinclude was specified +if test x"${with_tkinclude}" != x ; then + if test -f ${with_tkinclude}/tk.h ; then + ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)` + elif test -f ${with_tkinclude}/generic/tk.h ; then + ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)` + else + AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers]) + fi +fi + +# next check if it came with Tk configuration file +if test x"${ac_cv_c_tkconfig}" != x ; then + if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then + ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/../generic; pwd)` + fi +fi + +# next check in private source directory +# +# since ls returns lowest version numbers first, reverse its output +if test x"${ac_cv_c_tkh}" = x ; then + for i in \ + ${srcdir}/../tk \ + `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` \ + ${srcdir}/../../tk \ + `ls -dr ${srcdir}/../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../tk[[4-9]].[[0-9]] 2>/dev/null` \ + ${srcdir}/../../../tk \ + `ls -dr ${srcdir}/../../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../../tk[[4-9]].[[0-9]] 2>/dev/null ` \ + `ls -dr ${srcdir}/../../../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../../../tk[[4-9]].[[0-9]] 2>/dev/null ` ; do + if test -f $i/generic/tk.h ; then + ac_cv_c_tkh=`(cd $i/generic; pwd)` + break + fi + done +fi +# finally check in a few common install locations +# +# since ls returns lowest version numbers first, reverse its output +if test x"${ac_cv_c_tkh}" = x ; then + for i in \ + `ls -dr /usr/local/src/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/src/tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr /usr/local/src/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/src/tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr /usr/local/lib/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/lib/tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr /usr/local/lib/tk[[4-9]].[[0-9]].[[0-9]] /usr/local/lib/tk[[4-9]].[[0-9]] 2>/dev/null` \ + /usr/local/src/tk \ + /usr/local/lib/tk \ + ${prefix}/include ; do + if test -f $i/generic/tk.h ; then + ac_cv_c_tkh=`(cd $i/generic; pwd)` + break + fi + done +fi +# see if one is installed +if test x"${ac_cv_c_tkh}" = x ; then + AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="") +fi +]) +if test x"${ac_cv_c_tkh}" != x ; then +# no_tk="" + if test x"${ac_cv_c_tkh}" = x"installed" ; then + AC_MSG_RESULT([is installed]) + TKHDIRDASHI="" + else + AC_MSG_RESULT([found in ${ac_cv_c_tkh}]) + # this hack is cause the TKHDIRDASHI won't print if there is a "-I" in it. + TKHDIRDASHI="-I${ac_cv_c_tkh}" + fi +else + TKHDIRDASHI="# no Tk directory found" + AC_MSG_WARN([Can't find Tk private headers]) + no_tk=true +fi + +AC_SUBST(TKHDIRDASHI) +]) + + +AC_DEFUN(CY_AC_PATH_TKCONFIG, [ +# +# Ok, lets find the tk configuration +# First, look for one uninstalled. +# the alternative search directory is invoked by --with-tk +# + +if test x"${no_tk}" = x ; then + # we reset no_tk in case something fails here + no_tk=true + AC_ARG_WITH(tk, [ --with-tk directory containing tk configuration (tkConfig.sh)], + with_tkconfig=${withval}) + AC_MSG_CHECKING([for Tk configuration]) + AC_CACHE_VAL(ac_cv_c_tkconfig,[ + + # First check to see if --with-tk was specified. + if test x"${with_tkconfig}" != x ; then + if test -f "${with_tkconfig}/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` + else + AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh]) + fi + fi + + # then check for a private Tk library + if test x"${ac_cv_c_tkconfig}" = x ; then + for i in \ + ../tk \ + `ls -dr ../tk[[4-9]].[[0-9]].[[0-9]] ../tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../tk[[4-9]].[[0-9]].[[0-9]] ../tk[[4-9]].[[0-9]] 2>/dev/null` \ + ../../tk \ + `ls -dr ../../tk[[4-9]].[[0-9]].[[0-9]] ../../tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../../tk[[4-9]].[[0-9]].[[0-9]] ../../tk[[4-9]].[[0-9]] 2>/dev/null` \ + ../../../tk \ + `ls -dr ../../../tk[[4-9]].[[0-9]].[[0-9]] ../../../tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ../../../tk[[4-9]].[[0-9]].[[0-9]] ../../../tk[[4-9]].[[0-9]] 2>/dev/null` ; do + if test -f "$i/unix/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + # check in a few common install locations + if test x"${ac_cv_c_tkconfig}" = x ; then + for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do + if test -f "$i/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd $i; pwd)` + break + fi + done + fi + # check in a few other private locations + if test x"${ac_cv_c_tkconfig}" = x ; then + for i in \ + ${srcdir}/../tk \ + `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` \ + `ls -dr ${srcdir}/../tk[[4-9]].[[0-9]].[[0-9]] ${srcdir}/../tk[[4-9]].[[0-9]] 2>/dev/null` ; do + if test -f "$i/unix/tkConfig.sh" ; then + ac_cv_c_tkconfig=`(cd $i/unix; pwd)` + break + fi + done + fi + ]) + if test x"${ac_cv_c_tkconfig}" = x ; then + TKCONFIG="# no Tk configs found" + AC_MSG_WARN(Can't find Tk configuration definitions) + else + no_tk= + TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh + AC_MSG_RESULT(found $TKCONFIG) + fi +fi + +]) + +# Defined as a separate macro so we don't have to cache the values +# from PATH_TKCONFIG (because this can also be cached). +AC_DEFUN(CY_AC_LOAD_TKCONFIG, [ + if test -f "$TKCONFIG" ; then + . $TKCONFIG + fi + + AC_SUBST(TK_VERSION) +dnl not actually used, don't export to save symbols +dnl AC_SUBST(TK_MAJOR_VERSION) +dnl AC_SUBST(TK_MINOR_VERSION) + AC_SUBST(TK_DEFS) + + AC_SUBST(TK_DBGX) +dnl not used, don't export to save symbols + dnl AC_SUBST(TK_LIB_FILE) + +dnl not used outside of configure +dnl AC_SUBST(TK_LIBS) +dnl not used, don't export to save symbols +dnl AC_SUBST(TK_PREFIX) + +dnl not used, don't export to save symbols +dnl AC_SUBST(TK_EXEC_PREFIX) + + AC_SUBST(TK_XINCLUDES) + AC_SUBST(TK_XLIBSW) + +# if Tk's build directory has been removed, TK_LIB_SPEC should +# be used instead of TK_BUILD_LIB_SPEC +SAVELIBS=$LIBS +# eval used to expand out TK_DBGX +eval "LIBS=\"$TK_BUILD_LIB_SPEC $TCL_BUILD_LIB_SPEC $TK_LIBS\"" +AC_CHECK_FUNC(Tk_Init,[ + AC_MSG_CHECKING([if Tk library build specification is valid]) + AC_MSG_RESULT(yes) +],[ + TK_BUILD_LIB_SPEC=$TK_LIB_SPEC + # Can't pull the following CHECKING call out since it will be + # broken up by the CHECK_FUNC just above. + AC_MSG_CHECKING([if Tk library build specification is valid]) + AC_MSG_RESULT(no) +]) +LIBS=$SAVELIBS + + AC_SUBST(TK_BUILD_LIB_SPEC) + AC_SUBST(TK_LIB_SPEC) +]) + +#------------------------------------------------------------------------ +# SC_ENABLE_THREADS -- +# +# Specify if thread support should be enabled +# +# Arguments: +# none +# +# Results: +# +# Adds the following arguments to configure: +# --enable-threads +# +# Sets the following vars: +# THREADS_LIBS Thread library(s) +# +# Defines the following vars: +# TCL_THREADS +# _REENTRANT +# +#------------------------------------------------------------------------ + +AC_DEFUN(SC_ENABLE_THREADS, [ + AC_MSG_CHECKING(for building with threads) + AC_ARG_ENABLE(threads, [ --enable-threads build with threads (not supported)], + [tcl_ok=$enableval], [tcl_ok=no]) + + if test "$tcl_ok" = "yes"; then + AC_MSG_WARN([Expect is not fully thread-enabled. Although significant work has been done towards that goal, it is not complete. Continue compiling at your own risk.]) + fi +# if test "$tcl_ok" = "yes"; then +# AC_MSG_RESULT(yes) +# TCL_THREADS=1 +# AC_DEFINE(TCL_THREADS) +# AC_DEFINE(_REENTRANT) +# +# AC_CHECK_LIB(pthread,pthread_mutex_init,tcl_ok=yes,tcl_ok=no) +# if test "$tcl_ok" = "yes"; then +# # The space is needed +# THREADS_LIBS=" -lpthread" +# else +# TCL_THREADS=0 +# AC_MSG_WARN("Don t know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile...") +# fi +# else +# TCL_THREADS=0 +# AC_MSG_RESULT(no (default)) +# fi + + AC_MSG_RESULT(no (default)) + +]) + + +#------------------------------------------------------------------------ +## AK ## Macros which encapsulate the expect specific checks. +## AK ## This allows me to move them around in the configure.in +## AK ## + diff --git a/dev-tcltk/expect/metadata.xml b/dev-tcltk/expect/metadata.xml new file mode 100644 index 000000000000..4a2e453c9905 --- /dev/null +++ b/dev-tcltk/expect/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>tcltk</herd> + <upstream> + <remote-id type="sourceforge">expect</remote-id> + </upstream> +</pkgmetadata> |