# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit autotools eutils multilib 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.5" KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-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 media-libs/freetype:2 x11-libs/libX11 x11-libs/libXt truetype? ( x11-libs/libXft ) xscreensaver? ( x11-libs/libXScrnSaver ) ) ~dev-lang/tcl-${PV}:0=" DEPEND="${RDEPEND} !aqua? ( x11-proto/xproto )" SPARENT="${WORKDIR}/${MY_P}" S="${SPARENT}"/unix src_prepare() { epatch \ "${FILESDIR}"/${PN}-8.5.11-fedora-xft.patch \ "${FILESDIR}"/${PN}-8.5.13-multilib.patch epatch "${FILESDIR}"/${PN}-8.4.15-aqua.patch eprefixify Makefile.in # Bug 125971 epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch # 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 -f configure || die sed \ -e '/chmod/s:555:755:g' \ -i Makefile.in || die tc-export CC eautoconf } src_configure() { 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) } src_test() { Xemake test } 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${SPARENT}.*unix *::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${SPARENT}.*unix *::g" \ -e "/^TK_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ -e "/^TK_BUILD_STUB_LIB_PATH=/s:${SPARENT}.*unix:${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 dosym wish${v1} /usr/bin/wish dodoc "${SPARENT}"/{ChangeLog*,README,changes} }