# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.6.0.ebuild,v 1.3 2013/01/13 21:54:44 grobian Exp $ 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.6" 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 x11-libs/libX11 x11-libs/libXt truetype? ( x11-libs/libXft ) xscreensaver? ( x11-libs/libXScrnSaver ) ) ~dev-lang/tcl-${PV}" DEPEND="${RDEPEND} !aqua? ( x11-proto/xproto )" # Not bumped to 8.6 RESTRICT=test SPARENT="${WORKDIR}/${MY_P}" S="${SPARENT}"/unix src_prepare() { find \ "${SPARENT}"/compat/* \ -delete || die 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.13-conf.patch # Bug 354067 : the same applies to tcl, since the patch is about tcl.m4, just # copy the tcl patch epatch "${FILESDIR}"/tcl-8.5.9-gentoo-fbsd.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 tc-export CC sed \ -e 's:-O[2s]\?::g' \ -i tcl.m4 || die 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} }