diff options
author | Federico Ferri <mescalinum@gentoo.org> | 2008-11-02 13:11:09 +0000 |
---|---|---|
committer | Federico Ferri <mescalinum@gentoo.org> | 2008-11-02 13:11:09 +0000 |
commit | 08a6e97bf6cc72073c67a6d3a1018b6e3457f13b (patch) | |
tree | 1f100152bce7a53ce3b7bd51ab59b1191654e7f1 /dev-tcltk | |
parent | Whitespace. (diff) | |
download | gentoo-2-08a6e97bf6cc72073c67a6d3a1018b6e3457f13b.tar.gz gentoo-2-08a6e97bf6cc72073c67a6d3a1018b6e3457f13b.tar.bz2 gentoo-2-08a6e97bf6cc72073c67a6d3a1018b6e3457f13b.zip |
adding v5.43.0, cause 5.44.1 was retired due to problems - bug #244827
(Portage version: 2.1.4.4)
Diffstat (limited to 'dev-tcltk')
-rw-r--r-- | dev-tcltk/expect/ChangeLog | 7 | ||||
-rw-r--r-- | dev-tcltk/expect/expect-5.43.0.ebuild | 109 | ||||
-rw-r--r-- | dev-tcltk/expect/files/expect-5.43.0-avoid-tcl-internals-1.patch | 100 | ||||
-rw-r--r-- | dev-tcltk/expect/files/expect-5.43.0-multilib.patch | 11 |
4 files changed, 226 insertions, 1 deletions
diff --git a/dev-tcltk/expect/ChangeLog b/dev-tcltk/expect/ChangeLog index 05eba9f516c3..020f9bd0285d 100644 --- a/dev-tcltk/expect/ChangeLog +++ b/dev-tcltk/expect/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-tcltk/expect # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/expect/ChangeLog,v 1.49 2008/11/02 10:07:08 mescalinum Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/expect/ChangeLog,v 1.50 2008/11/02 13:11:09 mescalinum Exp $ + + 02 Nov 2008; Federico Ferri <mescalinum@gentoo.org> + +files/expect-5.43.0-avoid-tcl-internals-1.patch, + +files/expect-5.43.0-multilib.patch, +expect-5.43.0.ebuild: + adding v5.43.0, cause 5.44.1 was retired due to problems - bug #244827 02 Nov 2008; Federico Ferri <mescalinum@gentoo.org> expect-5.44.1.ebuild: tk dep isn't conditional anymore, bug #244827 diff --git a/dev-tcltk/expect/expect-5.43.0.ebuild b/dev-tcltk/expect/expect-5.43.0.ebuild new file mode 100644 index 000000000000..abaccc67dde6 --- /dev/null +++ b/dev-tcltk/expect/expect-5.43.0.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-tcltk/expect/expect-5.43.0.ebuild,v 1.9 2008/11/02 13:11:09 mescalinum Exp $ + +WANT_AUTOCONF="2.1" +inherit autotools eutils + +DESCRIPTION="tool for automating interactive applications" +HOMEPAGE="http://expect.nist.gov/" +SRC_URI="http://expect.nist.gov/src/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="X doc" + +# 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 + X? ( >=dev-lang/tk-8.2 )" +RDEPEND="${DEPEND}" + +NON_MICRO_V=${P%.[0-9]} +S=${WORKDIR}/${NON_MICRO_V} + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/${P}-multilib.patch + + #fix the rpath being set to /var/tmp/portage/... + epatch ${FILESDIR}/expect-5.39.0-libdir.patch + + #Removes references to functions that Tcl 8.5 no longer exposes. + epatch ${FILESDIR}/${P}-avoid-tcl-internals-1.patch + + sed -i 's#/usr/local/bin#/usr/bin#' expect.man + sed -i 's#/usr/local/bin#/usr/bin#' expectk.man + #stops any example scripts being installed by default + sed -i \ + -e '/^install:/s/install-libraries //' \ + -e 's/^SCRIPTS_MANPAGES = /_&/' \ + Makefile.in + #fixes "TCL_REG_BOSONLY undeclared" error due to a change in tcl8.5 + sed -i -e 's/^#include "tcl.h"/#include "tclInt.h"/' \ + exp_inter.c exp_command.c + #fix missing define of HAVE_UNISTD_H in Dbg.c + sed -i -e 's/^\(#include <stdio\.h>\)/\1\n#include "expect_cf.h"/' \ + Dbg.c + + eautoconf +} + +src_compile() { + local myconf + local tcl_version + local tcl_hdir + tcl_version=$(echo 'puts [set tcl_version]' | tclsh) + tcl_hdir="/usr/$(get_libdir)/tcl${tcl_version}/include" + + #configure needs to find the file tclConfig.sh is + myconf="--with-tcl=/usr/$(get_libdir) --with-tclinclude=$tcl_hdir" + + 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=/usr/$(get_libdir)" + else + #configure knows that tk depends on X so just disable X + myconf="$myconf --without-x" + fi + + econf $myconf --enable-shared || die "econf failed" + emake TCLHDIRDASHI="-I${tcl_hdir}/generic -I${tcl_hdir}/unix" \ + || die "emake failed" +} + +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 + make check || die "make check failed" +} + +src_install() { + dodir /usr/$(get_libdir) + make install INSTALL_ROOT=${D} || die "make install failed" + + dodoc ChangeLog FAQ HISTORY NEWS README + + local static_lib="lib${NON_MICRO_V/-/}.a" + rm ${D}/usr/$(get_libdir)/${NON_MICRO_V/-/}/${static_lib} + + #install examples if 'doc' is set + if use doc ; then + docinto examples + local scripts=$(make -qp | \ + sed -e 's/^SCRIPTS = //' -et -ed | head -n1) + exeinto /usr/share/doc/${PF}/examples + doexe ${scripts} + local scripts_manpages=$(make -qp | \ + sed -e 's/^_SCRIPTS_MANPAGES = //' -et -ed | head -n1) + for m in ${scripts_manpages}; do + dodoc example/${m}.man + done + dodoc example/README + fi +} 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-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, |