blob: 6cb46f334cf37830addbfc51c443277daa51fbbb [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001SUMMARY = "tool for automating interactive applications according to a script"
2DESCRIPTION = "Expect is a tool for automating interactive applications according to a script. \
3Following the script, Expect knows what can be expected from a program and what \
4the correct response should be. Expect is also useful for testing these same \
5applications. And by adding Tk, you can also wrap interactive applications in \
6X11 GUIs. An interpreted language provides branching and high-level control \
7structures to direct the dialogue. In addition, the user can take control and \
8interact directly when desired, afterward returning control to the script. \
9"
10HOMEPAGE = "http://sourceforge.net/projects/expect/"
11LICENSE = "PD"
12SECTION = "devel"
13
14LIC_FILES_CHKSUM = "file://license.terms;md5=fbf2de7e9102505b1439db06fc36ce5c"
15
16DEPENDS += "tcl"
Patrick Williams213cb262021-08-07 19:21:33 -050017RDEPENDS:${PN} = "tcl"
Brad Bishop316dfdd2018-06-25 12:45:53 -040018
19inherit autotools update-alternatives
20
21SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/${PV}/${BPN}${PV}.tar.gz \
22 file://0001-configure.in.patch \
23 file://0002-tcl.m4.patch \
Brad Bishop316dfdd2018-06-25 12:45:53 -040024 file://0001-expect-install-scripts-without-using-the-fixline1-tc.patch \
25 file://0001-Resolve-string-formatting-issues.patch \
26 file://0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch \
Brad Bishop00e122a2019-10-05 11:10:57 -040027 file://0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch \
Andrew Geissler9aee5002022-03-30 16:27:02 +000028 file://0001-fixline1-fix-line-1.patch \
Patrick Williams92b42cb2022-09-03 06:53:57 -050029 file://0001-Add-prototype-to-function-definitions.patch \
30 "
Brad Bishop316dfdd2018-06-25 12:45:53 -040031SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
32SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34"
33
34UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/expect/files/Expect/"
35UPSTREAM_CHECK_REGEX = "/Expect/(?P<pver>(\d+[\.\-_]*)+)/"
36
37S = "${WORKDIR}/${BPN}${PV}"
38
Patrick Williams213cb262021-08-07 19:21:33 -050039do_install:append() {
Brad Bishop316dfdd2018-06-25 12:45:53 -040040 install -d ${D}${libdir}
41 install -m 0755 ${D}${libdir}/expect${PV}/libexpect*.so ${D}${libdir}/
42 install -m 0755 ${S}/fixline1 ${D}${libdir}/expect${PV}/
Brad Bishop316dfdd2018-06-25 12:45:53 -040043 rm ${D}${libdir}/expect${PV}/libexpect*.so
44 sed -e 's|$dir|${libdir}|' -i ${D}${libdir}/expect${PV}/pkgIndex.tcl
45}
46
47# Apparently the public Tcl headers are only in /usr/include/tcl8.6
Brad Bishop00e122a2019-10-05 11:10:57 -040048# when building for the target and nativesdk.
49TCL_INCLUDE_PATH = "--with-tclinclude=${STAGING_INCDIR}/tcl8.6"
Patrick Williams213cb262021-08-07 19:21:33 -050050TCL_INCLUDE_PATH:class-native = ""
Brad Bishop316dfdd2018-06-25 12:45:53 -040051
52EXTRA_OECONF += "--with-tcl=${STAGING_LIBDIR} \
53 --enable-shared \
54 --enable-threads \
55 --disable-rpath \
56 ${TCL_INCLUDE_PATH} \
57 "
58EXTRA_OEMAKE_install = " 'SCRIPTS=' "
59
Patrick Williams213cb262021-08-07 19:21:33 -050060ALTERNATIVE:${PN} = "mkpasswd"
Brad Bishop316dfdd2018-06-25 12:45:53 -040061ALTERNATIVE_LINK_NAME[mkpasswd] = "${bindir}/mkpasswd"
62# Use lower priority than busybox's mkpasswd (created when built with CONFIG_CRYPTPW)
63ALTERNATIVE_PRIORITY[mkpasswd] = "40"
64
Patrick Williams213cb262021-08-07 19:21:33 -050065FILES:${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \
Brad Bishop316dfdd2018-06-25 12:45:53 -040066 ${includedir}/expect.h \
67 ${includedir}/expect_tcl.h \
68 ${includedir}/expect_comm.h \
69 ${includedir}/tcldbg.h \
70 ${includedir}/*.h \
71 "
72
Patrick Williams213cb262021-08-07 19:21:33 -050073FILES:${PN} += "${libdir}/libexpect${PV}.so \
Brad Bishop316dfdd2018-06-25 12:45:53 -040074 ${libdir}/expect${PV}/* \
75 "
76
77BBCLASSEXTEND = "native nativesdk"