summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2024-06-18 11:14:13 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-06-24 12:43:40 +0100
commit757d04f8ec582f32de1f0ae61336ffa7ee2390d0 (patch)
tree4f36de2cd903f344c6b607e3f1719a2b1e438c62
parent3eebf71549eff321f7c18b99b2d0e8daa2d7412b (diff)
downloadpoky-757d04f8ec582f32de1f0ae61336ffa7ee2390d0.tar.gz
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. (From OE-Core rev: a56ca08159fbdbc27511376f45720bb8ea068fc4) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/expect/expect/tcl840.patch27
-rw-r--r--meta/recipes-devtools/expect/expect_5.45.4.bb5
2 files changed, 28 insertions, 4 deletions
diff --git a/meta/recipes-devtools/expect/expect/tcl840.patch b/meta/recipes-devtools/expect/expect/tcl840.patch
new file mode 100644
index 0000000000..8c7b0e7a7f
--- /dev/null
+++ b/meta/recipes-devtools/expect/expect/tcl840.patch
@@ -0,0 +1,27 @@
1Adjustments for compatibility with the currrent (Tcl 8.4.0+) channel
2implementation.
3
4Upstream-Status: Submitted [https://sourceforge.net/p/expect/patches/24/]
5Signed-off-by: Ross Burton <ross.burton@arm.com>
6
7diff --git a/exp_chan.c b/exp_chan.c
8index c92e26b6fbd02305..944200a63b102672 100644
9--- a/exp_chan.c
10+++ b/exp_chan.c
11@@ -60,7 +60,7 @@ void exp_background_channelhandler _ANSI_ARGS_((ClientData,
12
13 Tcl_ChannelType expChannelType = {
14 "exp", /* Type name. */
15- ExpBlockModeProc, /* Set blocking/nonblocking mode.*/
16+ TCL_CHANNEL_VERSION_2,
17 ExpCloseProc, /* Close proc. */
18 ExpInputProc, /* Input proc. */
19 ExpOutputProc, /* Output proc. */
20@@ -70,6 +70,7 @@ Tcl_ChannelType expChannelType = {
21 ExpWatchProc, /* Initialize notifier. */
22 ExpGetHandleProc, /* Get OS handles out of channel. */
23 NULL, /* Close2 proc */
24+ ExpBlockModeProc, /* Set blocking/nonblocking mode.*/
25 };
26
27 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 174b35ec73..461a2c093a 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 \
28 file://0001-fixline1-fix-line-1.patch \ 28 file://0001-fixline1-fix-line-1.patch \
29 file://0001-Add-prototype-to-function-definitions.patch \ 29 file://0001-Add-prototype-to-function-definitions.patch \
30 file://expect-configure-c99.patch \ 30 file://expect-configure-c99.patch \
31 file://tcl840.patch \
31 file://run-ptest \ 32 file://run-ptest \
32 " 33 "
33SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2" 34SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
@@ -82,7 +83,3 @@ FILES:${PN} += "${libdir}/libexpect${PV}.so \
82 " 83 "
83 84
84BBCLASSEXTEND = "native nativesdk" 85BBCLASSEXTEND = "native nativesdk"
85
86# http://errors.yoctoproject.org/Errors/Details/766950/
87# expect5.45.4/exp_chan.c:62:5: error: initialization of 'struct Tcl_ChannelTypeVersion_ *' from incompatible pointer type 'int (*)(void *, int)' [-Wincompatible-pointer-types]
88CFLAGS += "-Wno-error=incompatible-pointer-types"