summaryrefslogtreecommitdiff
blob: acc89f5f94afd5b5621765e6d110d8ed85286318 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r5.ebuild,v 1.1 2006/09/14 00:13:56 lisa Exp $

inherit eutils autotools

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 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~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-respectflags.patch
	epatch ${FILESDIR}/ccache-2.4-utimes.patch
	eautoconf
}

do_links() {
	insinto /usr/lib/ccache/bin
	for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do
	  dosym /usr/bin/ccache /usr/lib/ccache/bin/${a}
	done
}


src_install() {
	dobin ccache || die
	doman ccache.1
	dodoc README
	dohtml web/*.html

	diropts -m0755
	dodir /usr/lib/ccache/bin
	keepdir /usr/lib/ccache/bin

	exeinto /usr/bin
	doexe ${FILESDIR}/ccache-config

	diropts -m0700
	if use ppc-macos; then
		dodir /var/root/.ccache
		keepdir /var/root/.ccache
	else
		dodir /root/.ccache
		keepdir /root/.ccache
	fi
	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_setup() {
	# Portage doesn't handle replacing a non-empty dir with a file!
	[[ -d "${ROOT}/usr/lib/ccache" ]] && rm -fr "${ROOT}/usr/lib/ccache"
	[[ -d "${ROOT}/usr/lib/ccache.backup" ]] && rm -fr "${ROOT}/usr/lib/ccache.backup"
}

pkg_postinst() {
	einfo "To use ccache with **non-Portage** C compiling, add"
	einfo "/usr/lib/ccache/bin to the beginning of your path, before /usr/bin."
	einfo "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
	einfo "no additional steps.  If this is your first install of ccache, type"
	einfo "something like this to set a maximum cache size of 2GB:"
	einfo "# ccache -M 2G"
}