blob: 3a5a6f6cdc876513a9a1447cfc8726a2be1d223c (
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
81
82
83
84
85
86
87
88
89
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header $
inherit multilib
RESTRICT="mirror"
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
MY_P="${P/_/}"
SRC_URI="http://samba.org/ftp/ccache/${MY_P}.tar.bz2"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
# Note: this version is designed to be auto-detected and used if
# you happen to have Portage 2.0.X+ installed.
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() {
echo "CCACHE_COMPRESS=true" >"${S}/99ccache"
doenvd "${S}/99ccache"
dobin ccache || die
doman ccache.1
dodoc README.txt NEWS.txt
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"
elog
elog "If you are upgrading from an older version than 3.x you should run"
elog "# CCACHE_DIR=\"${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}\" ccache -C"
case "${PORTAGE_TMPDIR}/portage/*" in
"${CCACHE_BASEDIR:-none}"/*) :;;
*)
ewarn "To make optimal use of the new direct mode, please set"
ewarn " CCACHE_BASEDIR=\"\${PORTAGE_TMPDIR}/portage\""
ewarn "in your /etc/make.conf";;
esac
}
|