diff options
author | Justin Lecher <jlec@gentoo.org> | 2013-12-26 14:51:23 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2013-12-26 14:51:23 +0000 |
commit | b74c89fcb3970bb52424d533741386de83bc92f6 (patch) | |
tree | b57699d4320b4d00d6736014d9040d22f78cabe4 /dev-lang | |
parent | arm stable, bug #493780 (diff) | |
download | gentoo-2-b74c89fcb3970bb52424d533741386de83bc92f6.tar.gz gentoo-2-b74c89fcb3970bb52424d533741386de83bc92f6.tar.bz2 gentoo-2-b74c89fcb3970bb52424d533741386de83bc92f6.zip |
dev-lang/tcl: Add multilib support, #496008 ; thanks Michael Mair-Keimberger for the patch
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/tcl/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lang/tcl/tcl-8.5.15-r1.ebuild | 118 | ||||
-rw-r--r-- | dev-lang/tcl/tcl-8.6.1-r1.ebuild | 115 |
3 files changed, 241 insertions, 1 deletions
diff --git a/dev-lang/tcl/ChangeLog b/dev-lang/tcl/ChangeLog index 1d0cd55cf6cb..0882105eac54 100644 --- a/dev-lang/tcl/ChangeLog +++ b/dev-lang/tcl/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-lang/tcl # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/ChangeLog,v 1.184 2013/10/10 13:04:51 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/ChangeLog,v 1.185 2013/12/26 14:51:23 jlec Exp $ + +*tcl-8.6.1-r1 (26 Dec 2013) +*tcl-8.5.15-r1 (26 Dec 2013) + + 26 Dec 2013; Justin Lecher <jlec@gentoo.org> +tcl-8.5.15-r1.ebuild, + +tcl-8.6.1-r1.ebuild: + Add multilib support, #496008 ; thanks Michael Mair-Keimberger for the patch 10 Oct 2013; Justin Lecher <jlec@gentoo.org> -tcl-8.5.10-r1.ebuild: Drop old diff --git a/dev-lang/tcl/tcl-8.5.15-r1.ebuild b/dev-lang/tcl/tcl-8.5.15-r1.ebuild new file mode 100644 index 000000000000..e488ef74bbec --- /dev/null +++ b/dev-lang/tcl/tcl-8.5.15-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.5.15-r1.ebuild,v 1.1 2013/12/26 14:51:23 jlec Exp $ + +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" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~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[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +pkg_setup() { + if use threads ; then + echo + ewarn "PLEASE NOTE: You are compiling ${P} with" + ewarn "threading enabled." + ewarn "Threading is not supported by all applications" + ewarn "that compile against tcl. You use threading at" + ewarn "your own discretion." + echo + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-8.5.13-multilib.patch + + # Bug 125971 + epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch + + # Bug 354067 + epatch "${FILESDIR}"/${PN}-8.5.9-gentoo-fbsd.patch + + # workaround stack check issues, bug #280934 + use hppa && append-cflags "-DTCL_NO_STACK_CHECK=1" + + tc-export CC + + eautoconf + multilib_copy_sources +} + +multilib_src_configure() { + 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 + + is_final_abi && { + dosym tclsh${v1} /usr/bin/tclsh + dodoc "${SPARENT}"/{ChangeLog*,README,changes} + } +} + +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.6.1-r1.ebuild b/dev-lang/tcl/tcl-8.6.1-r1.ebuild new file mode 100644 index 000000000000..6951eab5d039 --- /dev/null +++ b/dev-lang/tcl/tcl-8.6.1-r1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.6.1-r1.ebuild,v 1.1 2013/12/26 14:51:23 jlec Exp $ + +EAPI=5 + +inherit autotools eutils flag-o-matic multilib toolchain-funcs versionator multilib-minimal + +MY_P="${PN}${PV}" + +DESCRIPTION="Tool Command Language" +HOMEPAGE="http://www.tcl.tk/" +SRC_URI="mirror://sourceforge/tcl/${PN}-core${PV}-src.tar.gz" + +LICENSE="tcltk" +SLOT="0/8.6" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x86-solaris" +IUSE="debug +threads" + +RDEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +src_prepare() { + find \ + "${SPARENT}"/compat/* \ + "${SPARENT}"/doc/try.n \ + -delete || die + + epatch "${FILESDIR}"/${PN}-8.5.13-multilib.patch + + # Bug 125971 + epatch "${FILESDIR}"/${P}-conf.patch + + # Bug 354067 + epatch "${FILESDIR}"/${PN}-8.5.9-gentoo-fbsd.patch + + # workaround stack check issues, bug #280934 + use hppa && append-cflags "-DTCL_NO_STACK_CHECK=1" + + tc-export CC + + sed \ + -e 's:-O[2s]\?::g' \ + -i tcl.m4 || die + + eautoconf + + multilib_copy_sources +} + +multilib_src_configure() { + 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 + + is_final_abi && { + dosym tclsh${v1} /usr/bin/tclsh + dodoc "${SPARENT}"/{ChangeLog*,README,changes} + } +} + +pkg_postinst() { + for version in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 8.6 ${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 +} |