From f7226d8b28d7ee9292c53c8830c86c0619910f23 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Thu, 12 Dec 2019 13:55:32 +0800 Subject: tcl: upgrade 8.6.9 -> 8.6.10 Refresh patches: alter-includedir.patch tcl-remove-hardcoded-install-path.patch Backport a patch to fix tk build failure with cross compile: 0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch See: https://core.tcl-lang.org/tk/tktview/abd4abedd2f01c12839f0ad94564ae31137f7af5 Signed-off-by: Yi Zhao Signed-off-by: Richard Purdie --- ...dd2-Failed-to-build-tk-8.6.10-with-cross-.patch | 44 +++++++++ .../tcltk/tcl/alter-includedir.patch | 5 +- .../tcl/tcl-remove-hardcoded-install-path.patch | 15 +-- meta/recipes-devtools/tcltk/tcl_8.6.10.bb | 102 +++++++++++++++++++++ meta/recipes-devtools/tcltk/tcl_8.6.9.bb | 101 -------------------- 5 files changed, 157 insertions(+), 110 deletions(-) create mode 100644 meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch create mode 100644 meta/recipes-devtools/tcltk/tcl_8.6.10.bb delete mode 100644 meta/recipes-devtools/tcltk/tcl_8.6.9.bb (limited to 'meta/recipes-devtools/tcltk') diff --git a/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch b/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch new file mode 100644 index 0000000000..3cd34155ee --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch @@ -0,0 +1,44 @@ +From f7fa48c4c75a1e748dc5071e709c0b62ff739eaa Mon Sep 17 00:00:00 2001 +From: "jan.nijtmans" +Date: Mon, 9 Dec 2019 10:02:20 +0000 +Subject: [PATCH] Fix [abd4abedd2]: Failed to build tk 8.6.10 with cross + compile + +Upstream-Status: Backport +[https://github.com/tcltk/tcl/commit/f7fa48c4c75a1e748dc5071e709c0b62ff739eaa] + +Signed-off-by: Yi Zhao +--- + compat/strtol.c | 2 +- + compat/strtoul.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/compat/strtol.c b/compat/strtol.c +index b7f69196c..811006a64 100644 +--- a/compat/strtol.c ++++ b/compat/strtol.c +@@ -53,7 +53,7 @@ strtol( + */ + + p = string; +- while (TclIsSpaceProc(*p)) { ++ while (isspace(UCHAR(*p))) { + p += 1; + } + +diff --git a/compat/strtoul.c b/compat/strtoul.c +index e37eb05f8..15587f1da 100644 +--- a/compat/strtoul.c ++++ b/compat/strtoul.c +@@ -74,7 +74,7 @@ strtoul( + */ + + p = string; +- while (TclIsSpaceProc(*p)) { ++ while (isspace(UCHAR(*p))) { + p += 1; + } + if (*p == '-') { +-- +2.17.1 + diff --git a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch index c8530e1f58..86632d9144 100644 --- a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch +++ b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch @@ -8,6 +8,7 @@ Signed-off-by: Khem Raj Fixed the TCL_INCLUDE_SPEC Signed-off-by: Robert Yang +Signed-off-by: Yi Zhao --- Makefile.in | 2 +- configure | 4 ++-- @@ -34,7 +35,7 @@ index 3e78b49..24b3f92 100755 @@ -19134,7 +19134,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' @@ -56,7 +57,7 @@ index 0e28b14..62d9b41 100755 @@ -791,7 +791,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' 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..17d251d554 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 @@ -14,10 +14,11 @@ Upstream-Status: Inappropriate [configuration] Signed-off-by: Song.Li Signed-off-by: Kai Kang - +Signed-off-by: Yi Zhao --- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + configure | 2 +- + configure.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) Index: unix/configure =================================================================== @@ -27,8 +28,8 @@ Index: unix/configure 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' @@ -40,8 +41,8 @@ Index: unix/configure.in 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.10.bb b/meta/recipes-devtools/tcltk/tcl_8.6.10.bb new file mode 100644 index 0000000000..284f20e27a --- /dev/null +++ b/meta/recipes-devtools/tcltk/tcl_8.6.10.bb @@ -0,0 +1,102 @@ +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://0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch;patchdir=.. \ + file://run-ptest \ +" +SRC_URI[md5sum] = "97c55573f8520bcab74e21bfd8d0aadc" +SRC_URI[sha256sum] = "5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed" + +SRC_URI_class-native = "${BASE_SRC_URI}" + +S = "${WORKDIR}/${BPN}${PV}/unix" + +VER = "${PV}" + +inherit autotools ptest binconfig + +EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}" + +do_compile_prepend() { + echo > ${S}/../compat/fixstrtod.c +} + +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}_class-native = "" +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.9.bb b/meta/recipes-devtools/tcltk/tcl_8.6.9.bb deleted file mode 100644 index 7f3778153a..0000000000 --- a/meta/recipes-devtools/tcltk/tcl_8.6.9.bb +++ /dev/null @@ -1,101 +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] = "aa0a121d95a0e7b73a036f26028538d4" -SRC_URI[sha256sum] = "ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e" - -SRC_URI_class-native = "${BASE_SRC_URI}" - -S = "${WORKDIR}/${BPN}${PV}/unix" - -VER = "${PV}" - -inherit autotools ptest binconfig - -EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}" - -do_compile_prepend() { - echo > ${S}/../compat/fixstrtod.c -} - -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}_class-native = "" -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 -} -- cgit 1.2.3-korg