diff options
author | Daniel Campbell <zlg@gentoo.org> | 2016-08-31 15:11:08 -0700 |
---|---|---|
committer | Daniel Campbell <zlg@gentoo.org> | 2016-08-31 15:13:08 -0700 |
commit | 45b3634f0a1923102fb657d69e81d4b07db12d1f (patch) | |
tree | d391f39cc2144f6cfeb615276b6ee3e1918aa354 /dev-lang/tk | |
parent | app-arch/file-roller: version bump to 3.20.3 (diff) | |
download | gentoo-45b3634f0a1923102fb657d69e81d4b07db12d1f.tar.gz gentoo-45b3634f0a1923102fb657d69e81d4b07db12d1f.tar.bz2 gentoo-45b3634f0a1923102fb657d69e81d4b07db12d1f.zip |
dev-lang/tk: Fix cross-compiling tests, #581112
Gentoo-Bug: 581112
Gentoo-Bug-URL: https://bugs.gentoo.org/581112
Package-Manager: portage-2.3.0
Diffstat (limited to 'dev-lang/tk')
-rw-r--r-- | dev-lang/tk/tk-8.6.5-r1.ebuild | 149 | ||||
-rw-r--r-- | dev-lang/tk/tk-8.6.6.ebuild | 5 |
2 files changed, 154 insertions, 0 deletions
diff --git a/dev-lang/tk/tk-8.6.5-r1.ebuild b/dev-lang/tk/tk-8.6.5-r1.ebuild new file mode 100644 index 000000000000..bc178e909821 --- /dev/null +++ b/dev-lang/tk/tk-8.6.5-r1.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools eutils multilib multilib-minimal prefix toolchain-funcs versionator virtualx + +MY_P="${PN}${PV/_beta/b}" + +DESCRIPTION="Tk Widget Set" +HOMEPAGE="http://www.tcl.tk/" +SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz" + +LICENSE="tcltk" +SLOT="0/8.6" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug +threads truetype aqua xscreensaver" + +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-${PV}:0=[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND} + !aqua? ( >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}] )" + +# Not bumped to 8.6 +#RESTRICT=test + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +PATCHES=( + "${FILESDIR}"/${PN}-8.5.11-fedora-xft.patch \ + "${FILESDIR}"/${PN}-8.5.13-multilib.patch + + "${FILESDIR}"/${PN}-8.4.15-aqua.patch + + # Bug 125971 + "${FILESDIR}"/${PN}-8.5.14-conf.patch +) + +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:\<pkg-config\>:$(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() { + virtx emake test +} + +multilib_src_install() { + #short version number + local v1=$(get_version_component_range 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* && ${CHOST} != *-mint* ]] ; 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,changes} + fi +} diff --git a/dev-lang/tk/tk-8.6.6.ebuild b/dev-lang/tk/tk-8.6.6.ebuild index c043ae56105b..bc178e909821 100644 --- a/dev-lang/tk/tk-8.6.6.ebuild +++ b/dev-lang/tk/tk-8.6.6.ebuild @@ -82,6 +82,11 @@ src_prepare() { } 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 \ |