From f7a3dd46ab9bfc5344fc8c757e2f667c9a2ba90f Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 8 Jan 2025 09:42:25 +0100 Subject: tcl8: upgrade 8.6.15 -> 8.6.16 Adjust run-ptest to use the absolute ptest library location (tcl 9.x already does this) to avoid clock.test failures. (From OE-Core rev: 6161afaa3d4f6600a3598bf559576fb571968cbb) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../tcltk8/tcl8/alter-includedir.patch | 10 +- .../tcltk8/tcl8/fix_non_native_build_issue.patch | 4 +- meta/recipes-devtools/tcltk8/tcl8/interp.patch | 6 +- meta/recipes-devtools/tcltk8/tcl8/run-ptest | 2 +- .../tcltk8/tcl8/tcl-add-soname.patch | 8 +- .../tcl8/tcl-remove-hardcoded-install-path.patch | 6 +- meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb | 120 -------------------- meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb | 121 +++++++++++++++++++++ 8 files changed, 139 insertions(+), 138 deletions(-) delete mode 100644 meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb create mode 100644 meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch b/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch index bfc718cfd3..6ceb297cea 100644 --- a/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch +++ b/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch @@ -1,4 +1,4 @@ -From 3130dca60636dc12d0d12df75b002fd123349e21 Mon Sep 17 00:00:00 2001 +From 8bb8174e13c1c0e3b27fdf96a393f9fb1b7e14be Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Tue, 22 Nov 2022 18:48:27 +0800 Subject: [PATCH] tcl: update the header location @@ -26,7 +26,7 @@ Signed-off-by: Mingli Yu 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/unix/Makefile.in b/unix/Makefile.in -index a3b7d69..969ddb8 100644 +index c3b75e3..60ed93e 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) @@ -39,10 +39,10 @@ index a3b7d69..969ddb8 100644 # Path to the private tcl header dir: PRIVATE_INCLUDE_DIR = @PRIVATE_INCLUDE_DIR@ diff --git a/unix/configure.in b/unix/configure.in -index 4974fb6..a72934f 100644 +index 8e6726b..2345689 100644 --- a/unix/configure.in +++ b/unix/configure.in -@@ -776,7 +776,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" +@@ -775,7 +775,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" eval "TCL_LIB_FILE=${TCL_LIB_FILE}" test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)' @@ -51,7 +51,7 @@ index 4974fb6..a72934f 100644 HTML_DIR='$(DISTDIR)/html' # Note: in the following variable, it's important to use the absolute -@@ -897,7 +897,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}" +@@ -898,7 +898,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 diff --git a/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch b/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch index 7480156ce0..61153878fe 100644 --- a/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch +++ b/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch @@ -1,4 +1,4 @@ -From bd512547fc002fdb20808bf5b8b9feeb848b6512 Mon Sep 17 00:00:00 2001 +From 3d11e7fd9aba6251974d990286347c06582e87b9 Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Fri, 13 Aug 2010 12:24:00 -0700 Subject: [PATCH] tcl: fix a build issue @@ -10,7 +10,7 @@ Signed-off-by: Alexander Kanavin 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/unix/Makefile.in b/unix/Makefile.in -index 965f6da..a0bd63f 100644 +index a2f9e21..c3b75e3 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -723,7 +723,7 @@ tcltest-real: diff --git a/meta/recipes-devtools/tcltk8/tcl8/interp.patch b/meta/recipes-devtools/tcltk8/tcl8/interp.patch index 2e0dc94cff..a4fb0c5a9d 100644 --- a/meta/recipes-devtools/tcltk8/tcl8/interp.patch +++ b/meta/recipes-devtools/tcltk8/tcl8/interp.patch @@ -1,4 +1,4 @@ -From 426aa2ff62dda77fd011e8f630b9d4ea17984817 Mon Sep 17 00:00:00 2001 +From 09049beed723243d092ffaa37939dfe0f2ed6828 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 12 Jul 2021 14:50:13 +0100 Subject: [PATCH] tcl: fix race in interp.test @@ -13,10 +13,10 @@ Signed-off-by: Ross Burton 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/interp.test b/tests/interp.test -index d742484..fc90990 100644 +index 24ffb1b..c6460ad 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 { +@@ -3614,17 +3614,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup { variable result set result [lindex $args 0] } diff --git a/meta/recipes-devtools/tcltk8/tcl8/run-ptest b/meta/recipes-devtools/tcltk8/tcl8/run-ptest index c485e535c7..bea9d9ccfd 100644 --- a/meta/recipes-devtools/tcltk8/tcl8/run-ptest +++ b/meta/recipes-devtools/tcltk8/tcl8/run-ptest @@ -2,7 +2,7 @@ # clock.test needs a timezone to be set export TZ="Europe/London" -export TCL_LIBRARY=library +export TCL_LIBRARY=@libdir@/tcl8/ptest/library export ERROR_ON_FAILURES=1 # Some tests are overly strict with timings and fail on loaded systems. diff --git a/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch b/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch index 1cd4d76283..88faf8ac73 100644 --- a/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch +++ b/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch @@ -1,4 +1,4 @@ -From b89fd73daf9b3eb2f889f65baba5f90d8a930c82 Mon Sep 17 00:00:00 2001 +From 0d8e567d132e050c5d4a8d8d9257417e0679483c Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 9 Dec 2009 23:59:44 +0000 Subject: [PATCH] tcl: Add tcltk from OE.dev but with legacy staging function @@ -11,10 +11,10 @@ Signed-off-by: Alexander Kanavin 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/unix/Makefile.in b/unix/Makefile.in -index 7619afc..9dd053d 100644 +index bc743b3..a2f9e21 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in -@@ -904,7 +904,10 @@ install-binaries: binaries +@@ -812,7 +812,10 @@ install-binaries: binaries done @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" @@INSTALL_LIB@ @@ -27,7 +27,7 @@ index 7619afc..9dd053d 100644 @$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}" @echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/" diff --git a/unix/tcl.m4 b/unix/tcl.m4 -index 0307a06..37c4d67 100644 +index 7f5464e..cd8d929 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -1378,6 +1378,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ diff --git a/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch b/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch index 93e7877256..0a0c1173a2 100644 --- a/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch +++ b/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch @@ -1,4 +1,4 @@ -From 050fc597fbfa4da2c31bd0df58c871892a490470 Mon Sep 17 00:00:00 2001 +From 6e3cbc3600ac474776e92eb9a88abcb74299c321 Mon Sep 17 00:00:00 2001 From: "Song.Li" Date: Wed, 1 Aug 2012 19:05:51 +0800 Subject: [PATCH] tcl:install tcl to lib64 instead of lib on 64bit target @@ -17,10 +17,10 @@ Signed-off-by: Yi Zhao 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unix/configure.in b/unix/configure.in -index 4f62510..4974fb6 100644 +index e88ec3c..8e6726b 100644 --- a/unix/configure.in +++ b/unix/configure.in -@@ -775,7 +775,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" +@@ -774,7 +774,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}" eval "TCL_LIB_FILE=${TCL_LIB_FILE}" diff --git a/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb b/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb deleted file mode 100644 index b13102dd7a..0000000000 --- a/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb +++ /dev/null @@ -1,120 +0,0 @@ -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 = "tcl8-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://tcl-remove-hardcoded-install-path.patch \ - file://alter-includedir.patch \ - file://interp.patch \ - file://run-ptest \ - " -SRC_URI[sha256sum] = "844775491e435e34d83d6ccfbadd1342f1855f1705253233a86152df0765e78d" - -SRC_URI:class-native = "${BASE_SRC_URI}" - -UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" -UPSTREAM_CHECK_REGEX = "tcl(?P8(\.\d+)+)-src" - -S = "${WORKDIR}/tcl${PV}" - -VER = "${PV}" - -inherit autotools ptest binconfig - -AUTOTOOLS_SCRIPT_PATH = "${S}/unix" -EXTRA_AUTORECONF = "--exclude=aclocal" - -EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix=tcl8" - -# Prevent installing copy of tzdata based on tzdata installation on the build host -# It doesn't install tzdata if one of the following files exist on the host: -# /usr/share/zoneinfo/UTC /usr/share/zoneinfo/GMT /usr/share/lib/zoneinfo/UTC /usr/share/lib/zoneinfo/GMT /usr/lib/zoneinfo/UTC /usr/lib/zoneinfo/GMT -# otherwise "/usr/lib/tcl8.6/tzdata" is included in tcl package -EXTRA_OECONF += "--with-tzdata=no" - -do_install() { - autotools_do_install - oe_runmake 'DESTDIR=${D}' install-private-headers - ln -sf ./tclsh${VER} ${D}${bindir}/tclsh8 - 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}/tcl${VER}/$dir - install -m 0644 ${S}/$dir/*.h ${D}${includedir}/tcl${VER}/$dir/ - done -} - -SYSROOT_DIRS += "${bindir_crossscripts}" - -PACKAGES =+ "tcl8-lib" -FILES:tcl8-lib = "${libdir}/libtcl8.6.so.*" -FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" -FILES:${PN}-dev += "${libdir}/tcl8Config.sh ${libdir}/tcl8ooConfig.sh" - -# isn't getting picked up by shlibs code -RDEPENDS:${PN} += "tcl8-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} -} - -do_install_ptest:append:libc-musl () { - # Assumes locales other than provided by musl-locales - sed -i '/SKIP="$SKIP socket.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest -} - -# 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 -# -# Also rename development files which conflict with tcl 9.x to -# have tcl8-specific filenames. -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 - - # development files - mv ${PKGD}${libdir}/pkgconfig/tcl.pc ${PKGD}${libdir}/pkgconfig/tcl8.pc - mv ${PKGD}${libdir}/tclConfig.sh ${PKGD}${libdir}/tcl8Config.sh - mv ${PKGD}${libdir}/tclooConfig.sh ${PKGD}${libdir}/tcl8ooConfig.sh -} diff --git a/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb b/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb new file mode 100644 index 0000000000..c8f4b5df2a --- /dev/null +++ b/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb @@ -0,0 +1,121 @@ +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 = "tcl8-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://tcl-remove-hardcoded-install-path.patch \ + file://alter-includedir.patch \ + file://interp.patch \ + file://run-ptest \ + " +SRC_URI[sha256sum] = "3b371386a9a928eecdbf263bcab7d6a531e620ca3fbab4fdeeb3d6a9a56f38e9" + +SRC_URI:class-native = "${BASE_SRC_URI}" + +UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" +UPSTREAM_CHECK_REGEX = "tcl(?P8(\.\d+)+)-src" + +S = "${WORKDIR}/tcl${PV}" + +VER = "${PV}" + +inherit autotools ptest binconfig + +AUTOTOOLS_SCRIPT_PATH = "${S}/unix" +EXTRA_AUTORECONF = "--exclude=aclocal" + +EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix=tcl8" + +# Prevent installing copy of tzdata based on tzdata installation on the build host +# It doesn't install tzdata if one of the following files exist on the host: +# /usr/share/zoneinfo/UTC /usr/share/zoneinfo/GMT /usr/share/lib/zoneinfo/UTC /usr/share/lib/zoneinfo/GMT /usr/lib/zoneinfo/UTC /usr/lib/zoneinfo/GMT +# otherwise "/usr/lib/tcl8.6/tzdata" is included in tcl package +EXTRA_OECONF += "--with-tzdata=no" + +do_install() { + autotools_do_install + oe_runmake 'DESTDIR=${D}' install-private-headers + ln -sf ./tclsh${VER} ${D}${bindir}/tclsh8 + 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}/tcl${VER}/$dir + install -m 0644 ${S}/$dir/*.h ${D}${includedir}/tcl${VER}/$dir/ + done +} + +SYSROOT_DIRS += "${bindir_crossscripts}" + +PACKAGES =+ "tcl8-lib" +FILES:tcl8-lib = "${libdir}/libtcl8.6.so.*" +FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8" +FILES:${PN}-dev += "${libdir}/tcl8Config.sh ${libdir}/tcl8ooConfig.sh" + +# isn't getting picked up by shlibs code +RDEPENDS:${PN} += "tcl8-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} + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest +} + +do_install_ptest:append:libc-musl () { + # Assumes locales other than provided by musl-locales + sed -i '/SKIP="$SKIP socket.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest +} + +# 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 +# +# Also rename development files which conflict with tcl 9.x to +# have tcl8-specific filenames. +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 + + # development files + mv ${PKGD}${libdir}/pkgconfig/tcl.pc ${PKGD}${libdir}/pkgconfig/tcl8.pc + mv ${PKGD}${libdir}/tclConfig.sh ${PKGD}${libdir}/tcl8Config.sh + mv ${PKGD}${libdir}/tclooConfig.sh ${PKGD}${libdir}/tcl8ooConfig.sh +} -- cgit v1.2.3-54-g00ecf