diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2018-10-20 18:38:48 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2018-10-20 19:52:54 +0200 |
commit | d107e50b107219c08ca9a5dcfa64bf18f7bf3e32 (patch) | |
tree | 67ff2eabc0e76aa06667ae47b1cfb7d258949f32 /dev-lang/tcl | |
parent | app-admin/testdisk: amd64 stable wrt bug #654866 (diff) | |
download | gentoo-d107e50b107219c08ca9a5dcfa64bf18f7bf3e32.tar.gz gentoo-d107e50b107219c08ca9a5dcfa64bf18f7bf3e32.tar.bz2 gentoo-d107e50b107219c08ca9a5dcfa64bf18f7bf3e32.zip |
dev-lang/tcl: Backport libieee patch, bug 648570
Bug: https://bugs.gentoo.org/648570
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
Diffstat (limited to 'dev-lang/tcl')
-rw-r--r-- | dev-lang/tcl/tcl-8.5.17-r1.ebuild | 117 | ||||
-rw-r--r-- | dev-lang/tcl/tcl-8.5.17-r101.ebuild | 96 |
2 files changed, 213 insertions, 0 deletions
diff --git a/dev-lang/tcl/tcl-8.5.17-r1.ebuild b/dev-lang/tcl/tcl-8.5.17-r1.ebuild new file mode 100644 index 000000000000..a56e7f4e4506 --- /dev/null +++ b/dev-lang/tcl/tcl-8.5.17-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools eutils flag-o-matic multilib toolchain-funcs versionator multilib-minimal + +MY_P="${PN}${PV/_beta/b}" + +DESCRIPTION="Tool Command Language" +HOMEPAGE="http://www.tcl.tk/" +SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz" + +LICENSE="tcltk" +SLOT="0/8.5" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x86-solaris" +IUSE="debug threads" + +RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +src_prepare() { + epatch "${FILESDIR}"/${PN}-8.5.13-multilib.patch + + # Bug 125971 + epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch + + # Bug 648570 + epatch "${FILESDIR}"/${PN}-8.6.8-libieee.patch + + # 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 + + 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 threads) \ + $(use_enable debug symbols) +} + +multilib_src_install() { + #short version number + local v1=$(get_version_component_range 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_LIB_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* && ${CHOST} != *-mint* ]] ; 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) + dosym libtclstub${v1}.a /usr/${mylibdir}/libtclstub.a + + if multilib_is_native_abi; then + dosym tclsh${v1} /usr/bin/tclsh + dodoc "${SPARENT}"/{ChangeLog*,README,changes} + fi +} + +pkg_postinst() { + for version in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 8.5 ${version}; then + echo + ewarn "You're upgrading from <${P}, you must recompile the other" + ewarn "packages on your system that link with tcl after the upgrade" + ewarn "completes. To perform this action, please run revdep-rebuild" + ewarn "in package app-portage/gentoolkit." + ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should" + ewarn "upgrade them before this recompilation, too," + echo + fi + done +} diff --git a/dev-lang/tcl/tcl-8.5.17-r101.ebuild b/dev-lang/tcl/tcl-8.5.17-r101.ebuild new file mode 100644 index 000000000000..c210e2d6ada6 --- /dev/null +++ b/dev-lang/tcl/tcl-8.5.17-r101.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# this ebuild is only for the libtcl8.5.so SONAME for ABI compat + +EAPI=5 + +inherit autotools eutils flag-o-matic multilib toolchain-funcs versionator multilib-minimal + +MY_P="${PN}${PV/_beta/b}" + +DESCRIPTION="Tool Command Language" +HOMEPAGE="http://www.tcl.tk/" +SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz" + +LICENSE="tcltk" +SLOT="8.5" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x86-solaris" +IUSE="debug threads" + +RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + !=dev-lang/tcl-8.5*:0" +DEPEND="${RDEPEND} + " + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +DOCS=() + +src_prepare() { + epatch "${FILESDIR}"/${PN}-8.5.13-multilib.patch + + # Bug 125971 + epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch + + # Bug 648570 + epatch "${FILESDIR}"/${PN}-8.6.8-libieee.patch + + # 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 + + 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 threads) \ + $(use_enable debug symbols) +} + +multilib_src_install() { + dolib.so libtcl8.5.so + dolib.a libtclstub8.5.a + + #short version number + local v1=$(get_version_component_range 1-2) + local mylibdir=$(get_libdir) + + # 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_LIB_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \ + -i tclConfig.sh || die + if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then + sed \ + -e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \ + -e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \ + -i tclConfig.sh || die + fi + + insinto /usr/${mylibdir}/tcl${v1} + doins tclConfig.sh +} |