expect_5.45.4.bb 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. SUMMARY = "tool for automating interactive applications according to a script"
  2. DESCRIPTION = "Expect is a tool for automating interactive applications according to a script. \
  3. Following the script, Expect knows what can be expected from a program and what \
  4. the correct response should be. Expect is also useful for testing these same \
  5. applications. And by adding Tk, you can also wrap interactive applications in \
  6. X11 GUIs. An interpreted language provides branching and high-level control \
  7. structures to direct the dialogue. In addition, the user can take control and \
  8. interact directly when desired, afterward returning control to the script. \
  9. "
  10. HOMEPAGE = "http://sourceforge.net/projects/expect/"
  11. LICENSE = "PD"
  12. SECTION = "devel"
  13. LIC_FILES_CHKSUM = "file://license.terms;md5=fbf2de7e9102505b1439db06fc36ce5c"
  14. DEPENDS += "tcl"
  15. RDEPENDS_${PN} = "tcl"
  16. inherit autotools update-alternatives
  17. SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/${PV}/${BPN}${PV}.tar.gz \
  18. file://0001-configure.in.patch \
  19. file://0002-tcl.m4.patch \
  20. file://01-example-shebang.patch \
  21. file://0001-expect-install-scripts-without-using-the-fixline1-tc.patch \
  22. file://0001-Resolve-string-formatting-issues.patch \
  23. file://0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch \
  24. file://0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch \
  25. "
  26. SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
  27. SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34"
  28. UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/expect/files/Expect/"
  29. UPSTREAM_CHECK_REGEX = "/Expect/(?P<pver>(\d+[\.\-_]*)+)/"
  30. S = "${WORKDIR}/${BPN}${PV}"
  31. do_install_append() {
  32. install -d ${D}${libdir}
  33. install -m 0755 ${D}${libdir}/expect${PV}/libexpect*.so ${D}${libdir}/
  34. install -m 0755 ${S}/fixline1 ${D}${libdir}/expect${PV}/
  35. install -m 0755 ${S}/example/* ${D}${libdir}/expect${PV}/
  36. rm ${D}${libdir}/expect${PV}/libexpect*.so
  37. sed -e 's|$dir|${libdir}|' -i ${D}${libdir}/expect${PV}/pkgIndex.tcl
  38. }
  39. # Apparently the public Tcl headers are only in /usr/include/tcl8.6
  40. # when building for the target and nativesdk.
  41. TCL_INCLUDE_PATH = "--with-tclinclude=${STAGING_INCDIR}/tcl8.6"
  42. TCL_INCLUDE_PATH_class-native = ""
  43. EXTRA_OECONF += "--with-tcl=${STAGING_LIBDIR} \
  44. --enable-shared \
  45. --enable-threads \
  46. --disable-rpath \
  47. ${TCL_INCLUDE_PATH} \
  48. "
  49. EXTRA_OEMAKE_install = " 'SCRIPTS=' "
  50. ALTERNATIVE_${PN} = "mkpasswd"
  51. ALTERNATIVE_LINK_NAME[mkpasswd] = "${bindir}/mkpasswd"
  52. # Use lower priority than busybox's mkpasswd (created when built with CONFIG_CRYPTPW)
  53. ALTERNATIVE_PRIORITY[mkpasswd] = "40"
  54. FILES_${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \
  55. ${includedir}/expect.h \
  56. ${includedir}/expect_tcl.h \
  57. ${includedir}/expect_comm.h \
  58. ${includedir}/tcldbg.h \
  59. ${includedir}/*.h \
  60. "
  61. FILES_${PN} += "${libdir}/libexpect${PV}.so \
  62. ${libdir}/expect${PV}/* \
  63. "
  64. BBCLASSEXTEND = "native nativesdk"