diff --git a/dev-lang/tk/Manifest b/dev-lang/tk/Manifest index 1bdce3e0a7bdc..4283dfcc4a524 100644 --- a/dev-lang/tk/Manifest +++ b/dev-lang/tk/Manifest @@ -2,3 +2,4 @@ DIST tk8.6.11.1-src.tar.gz 4496008 BLAKE2B d7bae2fa535411ad8620ec81cdc0b34a1206f DIST tk8.6.12-src.tar.gz 4515393 BLAKE2B 328522b7e1b4d291863db01ac93e18630f3984459d145a11d742f912a40d5634ffe4608760ce45f444903d45fb707bb48ecc3586913f0c2fde4664a402f6b862 SHA512 afe51eb3e2071640ebc57f9ee6979fe91ee7856df8d3c9d55ae70c470cdae2306d2feeb791f46258f529a5c4a07b53974a7574cf3594818cd4e99077b30c697b DIST tk8.6.13-src.tar.gz 4546848 BLAKE2B 5f00cf64feb7c7eb6739303c857dfabff4cbf4148c65462c2a5cc49cc8010fba950ffa7043101e98ded543a6c6e9b925dc1ee0e6e9031a240ae29b918f81060a SHA512 719aa6776bfdc814f817919a265d3f9d847782c9f0a5fc5c2ab139beeba921e6fde8c66e7e836d78f86f53c98a7df0e587f0b2f4b08cc5ce12eecbb7f1ab71a5 DIST tk8.6.14-src.tar.gz 4510695 BLAKE2B 00b83a87b65317ca32228a11014bd9fe7cffb92089e152ca63a1e02ff23a5fc132b9336618f361692aa94ebf9e023cef492fafe39d51b9111feaec4934e8ae42 SHA512 756903dfa56cf77c7934bb3680c9bef6027f99196f4e6a2e823b85c342ca860cbb4b42154f576cc88f7f1265d28ce2d84ab5f52f848b16cca0cf9af4c770183f +DIST tk8.6.15-src.tar.gz 4590766 BLAKE2B 41cf8917fcc7ca8a5d82d86bce0c8034fec5cead93caf9b5f18c4055e8a8f80f49f8afb506ceb965166e682902d404b0e0757f0dea1f61fb69ead3adf98c92b1 SHA512 1b4165748eb62b1ac875171036bec8c4d81ed903681806de78149e15b311c7258d9daf2bbc2a629c973a02362ad5df58157d0b90e2e54582590f62fbfc4b7d62 diff --git a/dev-lang/tk/tk-8.6.15.ebuild b/dev-lang/tk/tk-8.6.15.ebuild new file mode 100644 index 0000000000000..275c05ea14c3b --- /dev/null +++ b/dev-lang/tk/tk-8.6.15.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-lang/tcl! + +inherit autotools multilib-minimal multilib prefix toolchain-funcs virtualx + +MY_P="${PN}${PV/_beta/b}" + +DESCRIPTION="Tk Widget Set" +HOMEPAGE="https://www.tcl.tk/" +SRC_URI="https://downloads.sourceforge.net/tcl/${MY_P}-src.tar.gz" + +SPARENT="${WORKDIR}/${PN}$(ver_cut 1-3 ${PV})" +S="${SPARENT}"/unix + +LICENSE="tcltk" +SLOT="0/8.6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="debug +threads truetype aqua xscreensaver" +RESTRICT="!test? ( test )" + +RDEPEND=" + !aqua? ( + >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}] + truetype? ( >=x11-libs/libXft-2.3.1-r1[${MULTILIB_USEDEP}] ) + xscreensaver? ( >=x11-libs/libXScrnSaver-1.2.2-r1[${MULTILIB_USEDEP}] ) + ) + ~dev-lang/tcl-$(ver_cut 1-3):0=[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND} + !aqua? ( x11-base/xorg-proto )" +BDEPEND="virtual/pkgconfig" +# Not bumped to 8.6 +#RESTRICT=test + +PATCHES=( + "${FILESDIR}"/${PN}-8.6.10-multilib.patch + "${FILESDIR}"/${PN}-8.4.15-aqua.patch + "${FILESDIR}"/${PN}-8.6.9-conf.patch # Bug 125971 + "${FILESDIR}"/${PN}-8.6.12-test.patch + "${FILESDIR}"/${PN}-8.6.14-test.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + stat64 opendir64 readdir64 rewinddir64 closedir64 # used on AIX +) + +src_prepare() { + find \ + "${SPARENT}"/compat/* \ + -delete || die + + pushd "${SPARENT}" &>/dev/null || die + default + popd &>/dev/null || die + eprefixify Makefile.in + + # Make sure we use the right pkg-config, and link against fontconfig + # (since the code base uses Fc* functions). + sed \ + -e 's/FT_New_Face/XftFontOpen/g' \ + -e "s:\:$(tc-getPKG_CONFIG):" \ + -e 's:xft freetype2:xft freetype2 fontconfig:' \ + -i configure.in || die + rm configure || die + + tc-export CC + + sed \ + -e '/chmod/s:555:755:g' \ + -i Makefile.in || die + + sed \ + -e 's:-O[2s]\?::g' \ + -i tcl.m4 || die + + mv configure.{in,ac} || die + + eautoconf + + multilib_copy_sources +} + +multilib_src_configure() { + if tc-is-cross-compiler ; then + export ac_cv_func_strtod=yes + export tcl_cv_strtod_buggy=1 + fi + + local mylibdir=$(get_libdir) + + econf \ + --with-tcl="${EPREFIX}/usr/${mylibdir}" \ + $(use_enable threads) \ + $(use_enable aqua) \ + $(use_enable truetype xft) \ + $(use_enable xscreensaver xss) \ + $(use_enable debug symbols) +} + +multilib_src_test() { + CI=1 virtx emake test +} + +multilib_src_install() { + #short version number + local v1=$(ver_cut 1-2) + local mylibdir=$(get_libdir) + + S= default + + # normalize $S path, bug #280766 (pkgcore) + local nS="$(cd "${S}"; pwd)" + + # fix the tkConfig.sh to eliminate refs to the build directory + # and drop unnecessary -L inclusion to default system libdir + + sed \ + -e "/^TK_BUILD_LIB_SPEC=/s:-L${S}-\w*\.\w* ::g" \ + -e "/^TK_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ + -e "/^TK_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tk${v1}/include:g" \ + -e "/^TK_BUILD_STUB_LIB_SPEC=/s:-L${S}-\w*\.\w* *::g" \ + -e "/^TK_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ + -e "/^TK_BUILD_STUB_LIB_PATH=/s:${S}-\w*\.\w*:${EPREFIX}/usr/${mylibdir}:g" \ + -e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \ + -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die + if use prefix && [[ ${CHOST} != *-darwin* ]] ; then + sed \ + -e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \ + -e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \ + -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die + fi + + # install private headers + insinto /usr/${mylibdir}/tk${v1}/include/unix + doins "${S}"/*.h + insinto /usr/${mylibdir}/tk${v1}/include/generic + doins "${SPARENT}"/generic/*.h + rm -f "${ED}"/usr/${mylibdir}/tk${v1}/include/generic/{tk,tkDecls,tkPlatDecls}.h || die + + # install symlink for libraries + dosym libtk${v1}$(get_libname) /usr/${mylibdir}/libtk$(get_libname) + dosym libtkstub${v1}.a /usr/${mylibdir}/libtkstub.a + + if multilib_is_native_abi; then + dosym wish${v1} /usr/bin/wish + dodoc "${SPARENT}"/{ChangeLog*,README.md,changes} + fi +}