| # Copyright 1999-2011 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| WANT_AUTOMAKE=none # not using automake |
| |
| inherit eutils autotools multilib |
| |
| DESCRIPTION="fast compiler cache" |
| HOMEPAGE="http://ccache.samba.org/" |
| SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" |
| IUSE="" |
| |
| # Note: this version is designed to be auto-detected and used if |
| # you happen to have Portage 2.0.X+ installed. |
| |
| src_unpack() { |
| unpack ${A} |
| cd "${S}" |
| epatch "${FILESDIR}"/ccache-2.4-profile.patch |
| epatch "${FILESDIR}"/ccache-2.4-respectflags.patch |
| epatch "${FILESDIR}"/ccache-2.4-utimes.patch |
| epatch "${FILESDIR}"/ccache-2.4-xrealloc.patch #338137 |
| eautoconf |
| } |
| |
| do_links() { |
| insinto /usr/$(get_libdir)/ccache/bin |
| for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do |
| dosym /usr/bin/ccache /usr/$(get_libdir)/ccache/bin/${a} |
| done |
| } |
| |
| src_install() { |
| dobin ccache || die |
| doman ccache.1 |
| dodoc README |
| dohtml web/*.html |
| |
| diropts -m0755 |
| dodir /usr/$(get_libdir)/ccache/bin |
| keepdir /usr/$(get_libdir)/ccache/bin |
| |
| dobin "${FILESDIR}"/ccache-config || die |
| |
| diropts -m0700 |
| dodir /root/.ccache |
| keepdir /root/.ccache |
| } |
| |
| pkg_preinst() { |
| # Do NOT duplicate this in your ebuilds or phear of the wrath!!! |
| if [[ ${ROOT} = "/" ]] ; then |
| einfo "Scanning for compiler front-ends..." |
| do_links |
| else |
| ewarn "Install is incomplete; you must run the following commands:" |
| ewarn " # ccache-config --install-links" |
| ewarn " # ccache-config --install-links ${CHOST}" |
| ewarn "after booting or chrooting to ${ROOT} to complete installation." |
| fi |
| } |
| |
| pkg_postinst() { |
| # nuke broken symlinks from previous versions that shouldn't exist |
| for i in cc ${CHOST}-cc ; do |
| [[ -L "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}" ]] && \ |
| rm -rf "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}" |
| done |
| [[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \ |
| rm -fr "${ROOT}/usr/$(get_libdir)/ccache.backup" |
| |
| elog "To use ccache with **non-Portage** C compiling, add" |
| elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin." |
| elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with" |
| elog "no additional steps. If this is your first install of ccache, type" |
| elog "something like this to set a maximum cache size of 2GB:" |
| elog "# ccache -M 2G" |
| } |