From: Ross Burton Date: Wed, 1 Oct 2025 20:58:34 +0000 (+0200) Subject: expect: update code for Tcl channel implementation X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=20cadf7b66f30e8a3b409b4a96eced614ac21013;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git expect: update code for Tcl channel implementation Tcl 8.4.0 changed the channel implementation, take a patch submitted upstream to update the code for the new interface and remove the silencing of the incompatible assignment error which was due to this issue. Signed-off-by: Ross Burton Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman --- diff --git a/meta/recipes-devtools/expect/expect/tcl840.patch b/meta/recipes-devtools/expect/expect/tcl840.patch new file mode 100644 index 00000000000..8c7b0e7a7f0 --- /dev/null +++ b/meta/recipes-devtools/expect/expect/tcl840.patch @@ -0,0 +1,27 @@ +Adjustments for compatibility with the currrent (Tcl 8.4.0+) channel +implementation. + +Upstream-Status: Submitted [https://sourceforge.net/p/expect/patches/24/] +Signed-off-by: Ross Burton + +diff --git a/exp_chan.c b/exp_chan.c +index c92e26b6fbd02305..944200a63b102672 100644 +--- a/exp_chan.c ++++ b/exp_chan.c +@@ -60,7 +60,7 @@ void exp_background_channelhandler _ANSI_ARGS_((ClientData, + + Tcl_ChannelType expChannelType = { + "exp", /* Type name. */ +- ExpBlockModeProc, /* Set blocking/nonblocking mode.*/ ++ TCL_CHANNEL_VERSION_2, + ExpCloseProc, /* Close proc. */ + ExpInputProc, /* Input proc. */ + ExpOutputProc, /* Output proc. */ +@@ -70,6 +70,7 @@ Tcl_ChannelType expChannelType = { + ExpWatchProc, /* Initialize notifier. */ + ExpGetHandleProc, /* Get OS handles out of channel. */ + NULL, /* Close2 proc */ ++ ExpBlockModeProc, /* Set blocking/nonblocking mode.*/ + }; + + typedef struct ThreadSpecificData { diff --git a/meta/recipes-devtools/expect/expect_5.45.4.bb b/meta/recipes-devtools/expect/expect_5.45.4.bb index 174b35ec739..461a2c093aa 100644 --- a/meta/recipes-devtools/expect/expect_5.45.4.bb +++ b/meta/recipes-devtools/expect/expect_5.45.4.bb @@ -28,6 +28,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/${PV}/${BPN}${PV}.tar.gz \ file://0001-fixline1-fix-line-1.patch \ file://0001-Add-prototype-to-function-definitions.patch \ file://expect-configure-c99.patch \ + file://tcl840.patch \ file://run-ptest \ " SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2" @@ -82,7 +83,3 @@ FILES:${PN} += "${libdir}/libexpect${PV}.so \ " BBCLASSEXTEND = "native nativesdk" - -# http://errors.yoctoproject.org/Errors/Details/766950/ -# expect5.45.4/exp_chan.c:62:5: error: initialization of 'struct Tcl_ChannelTypeVersion_ *' from incompatible pointer type 'int (*)(void *, int)' [-Wincompatible-pointer-types] -CFLAGS += "-Wno-error=incompatible-pointer-types"