summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/tcltk
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/tcltk')
-rw-r--r--meta/recipes-devtools/tcltk/tcl/alter-includedir.patch56
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix-configure.patch46
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch8
-rw-r--r--meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch4
-rw-r--r--meta/recipes-devtools/tcltk/tcl/interp.patch32
-rw-r--r--meta/recipes-devtools/tcltk/tcl/no_packages.patch53
-rw-r--r--meta/recipes-devtools/tcltk/tcl/run-ptest19
-rw-r--r--meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch24
-rw-r--r--meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch33
-rw-r--r--meta/recipes-devtools/tcltk/tcl_8.6.11.bb103
-rw-r--r--meta/recipes-devtools/tcltk/tcl_8.6.4.bb102
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"