From 8d4e05e7813bac6f895d9cc75e2ab467c7b69cbd Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 9 Mar 2026 07:26:03 +0000 Subject: [PATCH] dev-lang/tcl: Sync with Gentoo It's from Gentoo commit 6ca0f9d7b6651f3ccaafc69da07525016fcc2624. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/tcl/Manifest | 1 + .../tcl/files/tcl-9.0.3-include-spec.patch | 12 ++ .../tcl/files/tcl-9.0.3-multilib.patch | 11 ++ .../dev-lang/tcl/tcl-9.0.3-r2.ebuild | 132 ++++++++++++++++++ 4 files changed, 156 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-include-spec.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-multilib.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-9.0.3-r2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/Manifest index 1789820f14..be0c963fcf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/Manifest @@ -1,2 +1,3 @@ DIST tcl-core8.6.16-src.tar.gz 7022932 BLAKE2B 9a20cc72a2654c8b4f2c9088fabef13321c414d4cc1125afbb0151ae198c6e665a7f18ffa798fcf2ed0ae1160e586819b834d745c5dfbb2b2ed5dc6d0e022d4d SHA512 b25de457523e1f884326db37acebc329d5f1a8ac2a2e0fbdfcefafc76de202ff8d1efe8ff687afa5da486c0a95ab4bde893aad6f70f0e570fa6911c5cf56d458 DIST tcl-core8.6.17-src.tar.gz 7030881 BLAKE2B 3120f53dfe238a750eface9b6f2c715432e8a640b65748c2ccafcebb0c8f4b9ee49d214fa708ea3cf17a7563e8a993a7b7fc1dbdde70055358e1c0d35a62efb4 SHA512 cc6ef374b4d005365d2453a1d25b22d9961631c8f4081ccdfba43c55901edd9f925d0ef66132b7d9d6c285445738028def243e727ecc5ffad94fb4851e5ae735 +DIST tcl-core9.0.3-src.tar.gz 7164480 BLAKE2B 8aa9a38e9bb6f290dadf6f90a2aeede23ceb6c7df114c974c4d64ca0cfdc6db813d66e8b29df35f9985bafd7ee74ce4beb42fdeb39ba6bc9747395467eb38428 SHA512 9d2b8eee54e27ee9c7a951ac799ba1b08bc3cc11d957d65a1d78c3d42a234304ea09677e84af85e41dd9a32c91a77b82483805bf0a822288af1ab15e18c494d1 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-include-spec.patch b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-include-spec.patch new file mode 100644 index 0000000000..ab803b9997 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-include-spec.patch @@ -0,0 +1,12 @@ +This resolves https://bugs.gentoo.org/731120 +--- a/unix/configure.ac ++++ b/unix/configure.ac +@@ -895,7 +895,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=\"\"" + + #------------------------------------------------------------------------ + # tclConfig.sh refers to this by a different name diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-multilib.patch b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-multilib.patch new file mode 100644 index 0000000000..8dab3b4834 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/files/tcl-9.0.3-multilib.patch @@ -0,0 +1,11 @@ +--- a/unix/configure.ac 2020-12-26 10:39:12.107965844 +0100 ++++ b/unix/configure.ac 2020-12-26 10:39:44.821378776 +0100 +@@ -773,7 +773,7 @@ + + eval "TCL_LIB_FILE=${TCL_LIB_FILE}" + +-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/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-9.0.3-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-9.0.3-r2.ebuild new file mode 100644 index 0000000000..1780856afc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/tcl/tcl-9.0.3-r2.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-lang/tk! + +inherit autotools flag-o-matic multilib-minimal multilib toolchain-funcs + +MY_P="${PN}${PV}" + +DESCRIPTION="Tool Command Language" +HOMEPAGE="http://www.tcl.tk/" +SRC_URI="https://downloads.sourceforge.net/tcl/${PN}-core${PV}-src.tar.gz" + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +LICENSE="tcltk Spencer-99" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="debug" + +RDEPEND="virtual/zlib:=[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-9.0.3-multilib.patch + "${FILESDIR}"/${PN}-8.6.8-conf.patch # Bug 125971 + "${FILESDIR}"/${PN}-9.0.3-include-spec.patch # Bug 731120 +) + +QA_CONFIG_IMPL_DECL_SKIP=( + stat64 opendir64 rewinddir64 closedir64 # used to test for Large File Support +) + +src_prepare() { + # Drop -Werror + sed -i \ + -e "s: -Werror::g" \ + dltest/Makefile.in \ + || die + + pushd "${SPARENT}" &>/dev/null || die + + # By dropping part of the compat directory a lot of licensing and attribution burden + # (BSD-3,...) is lifted from the user + rm compat/fake-* || die + rm compat/{dlfcn.h,gettod.c,mkstemp.c,strncasecmp.c,waitpid.c} \ + || die + rm doc/try.n || die + + default + popd &>/dev/null || die + + # httpold tests require network + rm ../tests/env.test \ + ../tests/http.test \ + || die + + # workaround stack check issues, bug #280934 + use hppa && append-cflags "-DTCL_NO_STACK_CHECK=1" + + tc-export CC + + sed \ + -e '/chmod/s:555:755:g' \ + -i Makefile.in || die + + sed \ + -e 's:-O[2s]\?::g' \ + -i tcl.m4 || die + + eautoconf + + multilib_copy_sources +} + +multilib_src_configure() { + # We went ahead and deleted the whole compat/ subdir which means + # the configure tests to detect broken versions need to pass (else + # we'll fail to build). This comes up when cross-compiling, but + # might as well get a minor configure speed up normally. + export ac_cv_func_memcmp_working="yes" + export tcl_cv_str{str,toul,tod}_unbroken="ok" + export tcl_cv_strtod_buggy="no" + + econf \ + $(use_enable debug symbols) +} + +multilib_src_install() { + #short version number + local v1=$(ver_cut 1-2) + local mylibdir=$(get_libdir) + + S= default + # fix the tclConfig.sh to eliminate refs to the build directory + # and drop unnecessary -L inclusion to default system libdir + + sed \ + -e "/^TCL_BUILD_LIB_SPEC=/s:-L$(pwd) *::g" \ + -e "/^TCL_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ + -e "/^TCL_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tcl${v1}/include:g" \ + -e "/^TCL_BUILD_STUB_LIB_SPEC=/s:-L$(pwd) *::g" \ + -e "/^TCL_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ + -e "/^TCL_BUILD_STUB_LIB_PATH=/s:$(pwd):${EPREFIX}/usr/${mylibdir}:g" \ + -e "/^TCL_LIBW_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \ + -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die + if use prefix && [[ ${CHOST} != *-darwin* ]] ; then + sed \ + -e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \ + -e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \ + -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die + fi + + # install private headers + insinto /usr/${mylibdir}/tcl${v1}/include/unix + doins *.h + insinto /usr/${mylibdir}/tcl${v1}/include/generic + doins "${SPARENT}"/generic/*.h + rm -f "${ED}"/usr/${mylibdir}/tcl${v1}/include/generic/{tcl,tclDecls,tclPlatDecls}.h || die + + # install symlink for libraries + dosym libtcl${v1}$(get_libname) /usr/${mylibdir}/libtcl$(get_libname) + mv "${ED}"/usr/${mylibdir}/libtclstub{,${v1}}.a || die + dosym libtclstub${v1}.a /usr/${mylibdir}/libtclstub.a + + if multilib_is_native_abi; then + dosym tclsh${v1} /usr/bin/tclsh + fi +}