From 258fee17c9f691081e3435dc5bbcd0ef8e5b347f Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Tue, 15 Jul 2025 16:08:17 +0800 Subject: tcl: upgrade 9.0.1 -> 9.0.2 (From OE-Core rev: 2cc8fae2116c2fb953282e336080e8fbdca67481) Signed-off-by: Wang Mingyu Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/recipes-devtools/tcltk/tcl_9.0.1.bb | 112 ------------------------------- meta/recipes-devtools/tcltk/tcl_9.0.2.bb | 112 +++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 112 deletions(-) delete mode 100644 meta/recipes-devtools/tcltk/tcl_9.0.1.bb create mode 100644 meta/recipes-devtools/tcltk/tcl_9.0.2.bb diff --git a/meta/recipes-devtools/tcltk/tcl_9.0.1.bb b/meta/recipes-devtools/tcltk/tcl_9.0.1.bb deleted file mode 100644 index 765dc64e4d..0000000000 --- a/meta/recipes-devtools/tcltk/tcl_9.0.1.bb +++ /dev/null @@ -1,112 +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 = "tcl-native zlib" - -SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl-core${PV}-src.tar.gz \ - file://run-ptest \ - file://0001-tcl-Add-tcltk-from-OE.dev-but-with-legacy-staging-fu.patch \ - file://0002-tcl-fix-a-build-issue.patch \ - file://0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch \ - file://0004-tcl-update-the-header-location.patch \ - file://0005-tcl-fix-race-in-interp.test.patch \ - " -SRC_URI[sha256sum] = "488fcb6c875a1762e9e8478319b20fbad9a31de475f056aeed94cc54b44cf221" - -UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" -UPSTREAM_CHECK_REGEX = "tcl(?P\d+(\.\d+)+)-src" - -S = "${UNPACKDIR}/${BPN}${PV}" - -VER = "${PV}" - -inherit autotools ptest binconfig - -AUTOTOOLS_SCRIPT_PATH = "${S}/unix" -EXTRA_AUTORECONF = "--exclude=aclocal" - -EXTRA_OECONF = "--disable-rpath --enable-man-suffix=tcl9 --disable-zipfs" - -# 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}/tclsh - ln -sf tclsh9.0 ${D}${bindir}/tclsh${VER} - sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tclConfig.sh - sed -i "s;'${UNPACKDIR};'${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}/libtcl9.0.so.*" -FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl9.0 ${libdir}/tcl9" -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 locale-base-en-us tzdata" - -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} - # handle multilib - 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 -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" \ - -e "s;${B};${libdir};g" ${PKGD}${libdir}/tclConfig.sh \ - ${PKGD}${libdir}/tclConfig.sh - - rm -f ${PKGD}${bindir_crossscripts}/tclConfig.sh -} diff --git a/meta/recipes-devtools/tcltk/tcl_9.0.2.bb b/meta/recipes-devtools/tcltk/tcl_9.0.2.bb new file mode 100644 index 0000000000..87773c7717 --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl_9.0.2.bb @@ -0,0 +1,112 @@ +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" + +SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl-core${PV}-src.tar.gz \ + file://run-ptest \ + file://0001-tcl-Add-tcltk-from-OE.dev-but-with-legacy-staging-fu.patch \ + file://0002-tcl-fix-a-build-issue.patch \ + file://0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch \ + file://0004-tcl-update-the-header-location.patch \ + file://0005-tcl-fix-race-in-interp.test.patch \ + " +SRC_URI[sha256sum] = "b563649181dfe12f970673c427c59208074fd7c91a20132d6cadf5d82d3371be" + +UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html" +UPSTREAM_CHECK_REGEX = "tcl(?P\d+(\.\d+)+)-src" + +S = "${UNPACKDIR}/${BPN}${PV}" + +VER = "${PV}" + +inherit autotools ptest binconfig + +AUTOTOOLS_SCRIPT_PATH = "${S}/unix" +EXTRA_AUTORECONF = "--exclude=aclocal" + +EXTRA_OECONF = "--disable-rpath --enable-man-suffix=tcl9 --disable-zipfs" + +# 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}/tclsh + ln -sf tclsh9.0 ${D}${bindir}/tclsh${VER} + sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tclConfig.sh + sed -i "s;'${UNPACKDIR};'${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}/libtcl9.0.so.*" +FILES:${PN} += "${libdir}/tcl${VER} ${libdir}/tcl9.0 ${libdir}/tcl9" +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 locale-base-en-us tzdata" + +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} + # handle multilib + 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 +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" \ + -e "s;${B};${libdir};g" ${PKGD}${libdir}/tclConfig.sh \ + ${PKGD}${libdir}/tclConfig.sh + + rm -f ${PKGD}${bindir_crossscripts}/tclConfig.sh +} -- cgit v1.2.3-54-g00ecf