diff options
Diffstat (limited to 'meta/recipes-devtools/tcltk')
11 files changed, 187 insertions, 293 deletions
diff --git a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch index c8530e1f58..5b25af2c0c 100644 --- a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch +++ b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch @@ -1,4 +1,4 @@ -Lets install the include header and private header files into +Lets install the include header and private header files into usr/include/tcl8.6 when version of tcl is 8.6.x Upstream-Status: Inappropriate [Configuration Specific] @@ -8,18 +8,20 @@ Signed-off-by: Khem Raj <raj.khem@gmai.com> Fixed the TCL_INCLUDE_SPEC Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + --- - Makefile.in | 2 +- - configure | 4 ++-- - configure.in | 4 ++-- + Makefile.in | 2 +- + configure | 4 ++-- + configure.in | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 97b983b..dc2a4df 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -53,7 +53,7 @@ DLL_INSTALL_DIR = @DLL_INSTALL_DIR@ - SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) +index 0370491..daa569a 100644 +--- a/unix/Makefile.in ++++ b/unix/Makefile.in +@@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) + MODULE_INSTALL_DIR = $(SCRIPT_INSTALL_DIR)/../tcl8 # Directory in which to install the include file tcl.h: -INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) @@ -27,42 +29,20 @@ index 97b983b..dc2a4df 100644 # Path to the private tcl header dir: PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ -diff --git a/configure b/configure -index 3e78b49..24b3f92 100755 ---- a/configure -+++ b/configure -@@ -19134,7 +19134,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" - eval "TCL_LIB_FILE=${TCL_LIB_FILE}" - - TCL_LIBRARY='$(libdir)/tcl$(VERSION)' --PRIVATE_INCLUDE_DIR='$(includedir)' -+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)' - HTML_DIR='$(DISTDIR)/html' - - # Note: in the following variable, it's important to use the absolute -@@ -19293,7 +19293,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" - TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}" - - # Install time header dir can be set via --includedir --eval "TCL_INCLUDE_SPEC=\"-I${includedir}\"" -+eval "TCL_INCLUDE_SPEC=\"-I${includedir}/tcl${VERSION}\"" - - #------------------------------------------------------------------------ - # tclConfig.sh refers to this by a different name diff --git a/configure.in b/configure.in -index 0e28b14..62d9b41 100755 ---- a/configure.in -+++ b/configure.in -@@ -791,7 +791,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" +index 9f96e2b..e323e02 100644 +--- a/unix/configure.in ++++ b/unix/configure.in +@@ -773,7 +773,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" eval "TCL_LIB_FILE=${TCL_LIB_FILE}" - TCL_LIBRARY='$(libdir)/tcl$(VERSION)' + test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)' -PRIVATE_INCLUDE_DIR='$(includedir)' +PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)' HTML_DIR='$(DISTDIR)/html' # Note: in the following variable, it's important to use the absolute -@@ -912,7 +912,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" +@@ -894,7 +894,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}" # Install time header dir can be set via --includedir @@ -72,5 +52,5 @@ index 0e28b14..62d9b41 100755 #------------------------------------------------------------------------ # tclConfig.sh refers to this by a different name -- -1.7.10.4 +2.25.1 diff --git a/meta/recipes-devtools/tcltk/tcl/fix-configure.patch b/meta/recipes-devtools/tcltk/tcl/fix-configure.patch deleted file mode 100644 index b692a0ebe0..0000000000 --- a/meta/recipes-devtools/tcltk/tcl/fix-configure.patch +++ /dev/null @@ -1,46 +0,0 @@ -Upstream-Status: Pending - -Index: unix/tcl.m4 -=================================================================== ---- tcl8.4.11/unix.orig/tcl.m4 -+++ tcl8.4.11/unix/tcl.m4 -@@ -845,7 +845,7 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [ - # results, and the version is kept in special file). - - if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then -- system=MP-RAS-`awk '{print $3}' /etc/.relid'` -+ system=MP-RAS-`awk '{print $3}' /etc/.relid` - fi - if test "`uname -s`" = "AIX" ; then - system=AIX-`uname -v`.`uname -r` -@@ -2250,7 +2250,7 @@ AC_DEFUN(SC_BLOCKING_STYLE, [ - # results, and the version is kept in special file). - - if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then -- system=MP-RAS-`awk '{print $3}' /etc/.relid'` -+ system=MP-RAS-`awk '{print $3}' /etc/.relid` - fi - if test "`uname -s`" = "AIX" ; then - system=AIX-`uname -v`.`uname -r` -Index: unix/configure -=================================================================== ---- tcl8.4.11/unix.orig/configure -+++ tcl8.4.11/unix/configure -@@ -2130,7 +2130,7 @@ echo "configure:2121: checking system ve - # results, and the version is kept in special file). - - if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then -- system=MP-RAS-`awk '{print }' /etc/.relid'` -+ system=MP-RAS-`awk '{print }' /etc/.relid` - fi - if test "`uname -s`" = "AIX" ; then - system=AIX-`uname -v`.`uname -r` -@@ -7608,7 +7608,7 @@ echo "configure:7600: checking FIONBIO v - # results, and the version is kept in special file). - - if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then -- system=MP-RAS-`awk '{print }' /etc/.relid'` -+ system=MP-RAS-`awk '{print }' /etc/.relid` - fi - if test "`uname -s`" = "AIX" ; then - system=AIX-`uname -v`.`uname -r` diff --git a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch index be273419ae..2c31cec8e3 100644 --- a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch +++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch @@ -1,4 +1,4 @@ -Upstream-Status: inappropriate [embedded specific] +Upstream-Status: Inappropriate [embedded specific] Fixes tcl target recipe build on old distros which have glibc older than 2.14 @@ -12,13 +12,13 @@ Fixes tcl target recipe build on old distros which have glibc older than 2.14 | Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/bin | make: *** [install-msgs] Error 1 -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2012/04/26 Index: unix/Makefile.in =================================================================== ---- unix.orig/Makefile.in 2013-11-10 23:38:01.787425628 -0800 -+++ unix/Makefile.in 2013-11-10 23:37:59.807425578 -0800 +--- a/unix.orig/Makefile.in 2013-11-10 23:38:01.787425628 -0800 ++++ b/unix/Makefile.in 2013-11-10 23:37:59.807425578 -0800 @@ -686,7 +686,7 @@ # tcltest executable gets the build directory burned into its ld search path. # This keeps tcltest from picking up an already installed version of the Tcl diff --git a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch index c60eb75379..44b2ce0a30 100644 --- a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch +++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch @@ -2,8 +2,8 @@ Upstream-Status: Pending Index: unix/Makefile.in =================================================================== ---- unix.orig/Makefile.in 2013-11-10 23:37:34.243424934 -0800 -+++ unix/Makefile.in 2013-11-10 23:37:34.243424934 -0800 +--- a/unix.orig/Makefile.in 2013-11-10 23:37:34.243424934 -0800 ++++ b/unix/Makefile.in 2013-11-10 23:37:34.243424934 -0800 @@ -709,23 +709,23 @@ test: test-tcl test-packages diff --git a/meta/recipes-devtools/tcltk/tcl/interp.patch b/meta/recipes-devtools/tcltk/tcl/interp.patch new file mode 100644 index 0000000000..95d6318f64 --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl/interp.patch @@ -0,0 +1,32 @@ +The interp-36.7 patch has race conditions and is missing cleanup. This patch by +a Tcl maintainer should improve matters. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/tests/interp.test b/tests/interp.test +index d7424847f..fc90990f3 100644 +--- a/tests/interp.test ++++ b/tests/interp.test +@@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup { + variable result + set result [lindex $args 0] + } ++ set tout [after 5000 {set result timeout}] + } -body { + child eval { + variable done {} + after 0 error foo +- after 10 [list ::set [namespace which -variable done] {}] +- vwait [namespace which -variable done] + } ++ vwait result + set result + } -cleanup { ++ after cancel $tout + variable result {} +- unset -nocomplain result ++ unset -nocomplain result tout + interp delete child + } -result foo + diff --git a/meta/recipes-devtools/tcltk/tcl/no_packages.patch b/meta/recipes-devtools/tcltk/tcl/no_packages.patch deleted file mode 100644 index ab6cc43169..0000000000 --- a/meta/recipes-devtools/tcltk/tcl/no_packages.patch +++ /dev/null @@ -1,53 +0,0 @@ -tcl 8.6.0 builds by default a number of packages that are not needed in Yocto. -This patch changes the makefile so that these packages are not built by default. - -Upstream-Status:Inappropriate [embedded specific] - -Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> - -Index: unix/Makefile.in -=================================================================== ---- unix.orig/Makefile.in 2013-11-10 23:38:12.235425891 -0800 -+++ unix/Makefile.in 2013-11-10 23:38:12.231425891 -0800 -@@ -611,7 +611,7 @@ - # Start of rules - #-------------------------------------------------------------------------- - --all: binaries libraries doc packages -+all: binaries libraries doc - - binaries: ${LIB_FILE} $(STUB_LIB_FILE) ${TCL_EXE} - -@@ -653,12 +653,12 @@ - #tclConfig.h: $(UNIX_DIR)/tclConfig.h.in - # $(SHELL) config.status - --clean: clean-packages -+clean: - rm -f *.a *.o libtcl* core errs *~ \#* TAGS *.E a.out \ - errors ${TCL_EXE} ${TCLTEST_EXE} lib.exp Tcl @DTRACE_HDR@ - cd dltest ; $(MAKE) clean - --distclean: distclean-packages clean -+distclean: clean - rm -rf Makefile config.status config.cache config.log tclConfig.sh \ - tclConfig.h *.plist Tcl.framework tcl.pc - cd dltest ; $(MAKE) distclean -@@ -706,7 +706,7 @@ - # tcltest, ie: - # % make test TESTFLAGS="-verbose bps -file fileName.test" - --test: test-tcl test-packages -+test: test-tcl - - test-tcl: ${TCLTEST_EXE} - $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -@@ -771,7 +771,7 @@ - INSTALL_DEV_TARGETS = install-headers - INSTALL_EXTRA_TARGETS = @EXTRA_INSTALL@ - INSTALL_TARGETS = $(INSTALL_BASE_TARGETS) $(INSTALL_DOC_TARGETS) $(INSTALL_DEV_TARGETS) \ -- $(INSTALL_PACKAGE_TARGETS) $(INSTALL_EXTRA_TARGETS) -+ $(INSTALL_EXTRA_TARGETS) - - install: $(INSTALL_TARGETS) - diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest b/meta/recipes-devtools/tcltk/tcl/run-ptest index dadba655f2..a62b703082 100644 --- a/meta/recipes-devtools/tcltk/tcl/run-ptest +++ b/meta/recipes-devtools/tcltk/tcl/run-ptest @@ -1,8 +1,17 @@ #!/bin/sh -for i in `ls tests/*.test |awk -F/ '{print $2}'`; \ - do TCL_LIBRARY=library ./tcltest tests/all.tcl -file $i >$i.tmp 2>&1; \ - grep -q "^Files with failing tests:" $i.tmp; \ - if [ $? -eq 0 ]; then echo "FAIL: $i"; \ - else echo "PASS: $i"; rm -f $i.tmp; fi; \ +# clock.test needs a timezone to be set +export TZ="Europe/London" +export TCL_LIBRARY=library + +for i in `ls tests/*.test | awk -F/ '{print $2}'`; do + ./tcltest tests/all.tcl -file $i >$i.log 2>&1 + grep -q -F -e "Files with failing tests:" -e "Test files exiting with errors:" $i.log + if [ $? -eq 0 ]; then + echo "FAIL: $i" + cat $i.log + else + echo "PASS: $i" + fi + rm -f $i.log done diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch index 96276eab0e..c4283c4f34 100644 --- a/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch +++ b/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch @@ -1,23 +1,9 @@ Upstream-Status: Pending -Index: unix/configure -=================================================================== ---- unix.orig/configure 2013-09-19 13:17:13.000000000 -0700 -+++ unix/configure 2013-11-11 00:20:51.519490342 -0800 -@@ -7599,6 +7599,9 @@ - # get rid of the warnings. - #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - -+ # following line added by CW for Debian GNU/Linux -+ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0" -+ - SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" Index: unix/tcl.m4 =================================================================== ---- unix.orig/tcl.m4 2013-09-19 13:17:13.000000000 -0700 -+++ unix/tcl.m4 2013-11-11 00:17:24.263485123 -0800 +--- a/unix.orig/tcl.m4 2013-09-19 13:17:13.000000000 -0700 ++++ b/unix/tcl.m4 2013-11-11 00:17:24.263485123 -0800 @@ -1415,6 +1415,9 @@ # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" @@ -25,13 +11,13 @@ Index: unix/tcl.m4 + # following line added by CW for Debian GNU/Linux + TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0" + - SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" Index: unix/Makefile.in =================================================================== ---- unix.orig/Makefile.in 2013-09-19 13:17:13.000000000 -0700 -+++ unix/Makefile.in 2013-11-11 00:20:32.423489861 -0800 +--- a/unix.orig/Makefile.in 2013-09-19 13:17:13.000000000 -0700 ++++ b/unix/Makefile.in 2013-11-11 00:20:32.423489861 -0800 @@ -796,7 +796,10 @@ done; @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" diff --git a/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch b/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch index 16f7c80516..99c5faf02c 100644 --- a/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch +++ b/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch @@ -7,41 +7,26 @@ Remove hardcoded library install path. Change $(prefix)/lib/ to ${libdir}. [YOCTO #2876] -This is not a bug, but libraries should be installed into directory .../lib/. -On 64bit target that should be lib64/. - -Upstream-Status: Inappropriate [configuration] +Upstream-Status: Pending Signed-off-by: Song.Li <Song.Li@windriver.com> Signed-off-by: Kai Kang <kai.kang@windriver.com> - +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + configure | 2 +- + configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -Index: unix/configure -=================================================================== ---- unix.orig/configure 2013-11-10 23:38:33.643426430 -0800 -+++ unix/configure 2013-11-10 23:39:51.347428387 -0800 -@@ -19134,7 +19134,7 @@ - - eval "TCL_LIB_FILE=${TCL_LIB_FILE}" - --TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)' -+TCL_LIBRARY='$(libdir)/tcl$(VERSION)' - PRIVATE_INCLUDE_DIR='$(includedir)' - HTML_DIR='$(DISTDIR)/html' - Index: unix/configure.in =================================================================== ---- unix.orig/configure.in 2013-11-10 23:20:50.000000000 -0800 -+++ unix/configure.in 2013-11-10 23:39:41.199428131 -0800 +--- a/unix.orig/configure.in 2013-11-10 23:20:50.000000000 -0800 ++++ b/unix/configure.in 2013-11-10 23:39:41.199428131 -0800 @@ -790,7 +790,7 @@ eval "TCL_LIB_FILE=${TCL_LIB_FILE}" --TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)' -+TCL_LIBRARY='$(libdir)/tcl$(VERSION)' +-test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)' ++test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)' PRIVATE_INCLUDE_DIR='$(includedir)' HTML_DIR='$(DISTDIR)/html' diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.11.bb b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb new file mode 100644 index 0000000000..9f6b003ffb --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb @@ -0,0 +1,103 @@ +SUMMARY = "Tool Command Language" +HOMEPAGE = "http://tcl.sourceforge.net" +DESCRIPTION = "Tool Command Language, is an open-source multi-purpose C library which includes a powerful dynamic scripting language. Together they provide ideal cross-platform development environment for any programming project." +SECTION = "devel/tcltk" + +# http://www.tcl.tk/software/tcltk/license.html +LICENSE = "TCL & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ + file://win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ +" + +DEPENDS = "tcl-native zlib" + +BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl-core${PV}-src.tar.gz \ + file://tcl-add-soname.patch" +SRC_URI = "${BASE_SRC_URI} \ + file://fix_non_native_build_issue.patch \ + file://fix_issue_with_old_distro_glibc.patch \ + file://tcl-remove-hardcoded-install-path.patch \ + file://alter-includedir.patch \ + file://interp.patch \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "cfb49aab82bd179651e23eeeb69606f51b0ddc575ca55c3d35e2457469024cfa" + +SRC_URI:class-native = "${BASE_SRC_URI}" + +# Upstream don't believe this is an exploitable issue +# https://core.tcl-lang.org/tcl/info/7079e4f91601e9c7 +CVE_CHECK_IGNORE += "CVE-2021-35331" + +UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src" + +S = "${WORKDIR}/${BPN}${PV}" + +VER = "${PV}" + +inherit autotools ptest binconfig + +AUTOTOOLS_SCRIPT_PATH = "${S}/unix" +EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix" + +do_install() { + autotools_do_install + oe_runmake 'DESTDIR=${D}' install-private-headers + ln -sf ./tclsh${VER} ${D}${bindir}/tclsh + ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER} + sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tclConfig.sh + sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tclConfig.sh + install -d ${D}${bindir_crossscripts} + install -m 0755 tclConfig.sh ${D}${bindir_crossscripts} + install -m 0755 tclConfig.sh ${D}${libdir} + for dir in compat generic unix; do + install -d ${D}${includedir}/${BPN}${VER}/$dir + install -m 0644 ${S}/$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/ + done +} + +SYSROOT_DIRS += "${bindir_crossscripts}" + +PACKAGES =+ "tcl-lib" +FILES:tcl-lib = "${libdir}/libtcl8.6.so.*" +FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" +FILES:${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh" + +# isn't getting picked up by shlibs code +RDEPENDS:${PN} += "tcl-lib" +RDEPENDS:${PN}-ptest += "libgcc" + +BBCLASSEXTEND = "native nativesdk" + +do_compile_ptest() { + oe_runmake tcltest +} + +do_install_ptest() { + cp ${B}/tcltest ${D}${PTEST_PATH} + cp -r ${S}/library ${D}${PTEST_PATH} + cp -r ${S}/tests ${D}${PTEST_PATH} +} + +# Fix some paths that might be used by Tcl extensions +BINCONFIG_GLOB = "*Config.sh" + +# Fix the path in sstate +SSTATE_SCAN_FILES += "*Config.sh" + +# Cleanup host path from ${libdir}/tclConfig.sh and remove the +# ${bindir_crossscripts}/tclConfig.sh from target +PACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess" +tcl_package_preprocess() { + sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \ + -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \ + -e "s;${STAGING_INCDIR};${includedir};g" \ + -e "s;--sysroot=${RECIPE_SYSROOT};;g" \ + ${PKGD}${libdir}/tclConfig.sh + + rm -f ${PKGD}${bindir_crossscripts}/tclConfig.sh +} diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.4.bb b/meta/recipes-devtools/tcltk/tcl_8.6.4.bb deleted file mode 100644 index 8e92b3e242..0000000000 --- a/meta/recipes-devtools/tcltk/tcl_8.6.4.bb +++ /dev/null @@ -1,102 +0,0 @@ -SUMMARY = "Tool Command Language" -HOMEPAGE = "http://tcl.sourceforge.net" -SECTION = "devel/tcltk" - -# http://www.tcl.tk/software/tcltk/license.html -LICENSE = "tcl & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://../license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../compat/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../library/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../macosx/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../tests/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ - file://../win/license.terms;md5=058f6229798281bbcac4239c788cfa38 \ -" - -DEPENDS = "tcl-native zlib" - -BASE_SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ - file://tcl-add-soname.patch" -SRC_URI = "${BASE_SRC_URI} \ - file://fix_non_native_build_issue.patch \ - file://fix_issue_with_old_distro_glibc.patch \ - file://no_packages.patch \ - file://tcl-remove-hardcoded-install-path.patch \ - file://alter-includedir.patch \ - file://run-ptest \ -" -SRC_URI[md5sum] = "d7cbb91f1ded1919370a30edd1534304" -SRC_URI[sha256sum] = "9e6ed94c981c1d0c5f5fefb8112d06c6bf4d050a7327e95e71d417c416519c8d" - -SRC_URI_class-native = "${BASE_SRC_URI}" - -S = "${WORKDIR}/${BPN}${PV}/unix" - -VER = "${PV}" - -inherit autotools ptest binconfig - -DEPENDS_class-native = "zlib-native" - -EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}" - -do_configure() { - cd ${S} - gnu-configize - cd ${B} - oe_runconf -} - -do_compile_prepend() { - echo > ${S}/../compat/fixstrtod.c -} - -do_install() { - autotools_do_install install-private-headers - ln -sf ./tclsh${VER} ${D}${bindir}/tclsh - ln -sf tclsh8.6 ${D}${bindir}/tclsh${VER} - sed -i "s+-L${B}+-L${STAGING_LIBDIR}+g" tclConfig.sh - sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh - sed -i "s,-L${libdir},-L=${libdir},g" tclConfig.sh - sed -i "s,-I${includedir},-I=${includedir},g" tclConfig.sh - install -d ${D}${bindir_crossscripts} - install -m 0755 tclConfig.sh ${D}${bindir_crossscripts} - install -m 0755 tclConfig.sh ${D}${libdir} - cd .. - for dir in compat generic unix; do - install -d ${D}${includedir}/${BPN}${VER}/$dir - install -m 0644 ${S}/../$dir/*.h ${D}${includedir}/${BPN}${VER}/$dir/ - done -} - -SYSROOT_PREPROCESS_FUNCS += "tcl_sysroot_preprocess" -tcl_sysroot_preprocess () { - sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts} -} - -PACKAGES =+ "tcl-lib" -FILES_tcl-lib = "${libdir}/libtcl8.6.so.*" -FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" -FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh" - -# isn't getting picked up by shlibs code -RDEPENDS_${PN} += "tcl-lib" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}-ptest += "libgcc" - -BBCLASSEXTEND = "native" - -do_compile_ptest() { - oe_runmake tcltest -} - -do_install_ptest() { - cp ${B}/tcltest ${D}${PTEST_PATH} - cp -r ${S}/../library ${D}${PTEST_PATH} - cp -r ${S}/../tests ${D}${PTEST_PATH} -} - -# Fix some paths that might be used by Tcl extensions -BINCONFIG_GLOB = "*Config.sh" - -# Fix the path in sstate -SSTATE_SCAN_FILES += "*Config.sh" |