aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2008-08-02 00:16:05 -0700
committerDonnie Berkholz <dberkholz@gentoo.org>2008-08-02 00:16:05 -0700
commite8a067d4e1e8760005587d3d36bc7eb869eeeeef (patch)
treea1d709b95e9a391e0efa1bcdce4584035d1c3929 /dev-util
parentepmr: bump to 8.03 (diff)
downloaddberkholz-e8a067d4e1e8760005587d3d36bc7eb869eeeeef.tar.gz
dberkholz-e8a067d4e1e8760005587d3d36bc7eb869eeeeef.tar.bz2
dberkholz-e8a067d4e1e8760005587d3d36bc7eb869eeeeef.zip
ccache: enable fortran with patch.
Patch from http://aspn.activestate.com/ASPN/Mail/Message/scipy-dev/1592530
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/ccache/ChangeLog237
-rw-r--r--dev-util/ccache/Manifest8
-rw-r--r--dev-util/ccache/ccache-2.4-r7.ebuild80
-rw-r--r--dev-util/ccache/files/2.4-enable-fortran.patch11
-rw-r--r--dev-util/ccache/files/ccache-2.4-respectflags.patch13
-rw-r--r--dev-util/ccache/files/ccache-2.4-utimes.patch105
-rwxr-xr-xdev-util/ccache/files/ccache-config68
-rw-r--r--dev-util/ccache/metadata.xml12
8 files changed, 534 insertions, 0 deletions
diff --git a/dev-util/ccache/ChangeLog b/dev-util/ccache/ChangeLog
new file mode 100644
index 0000000..461f2ad
--- /dev/null
+++ b/dev-util/ccache/ChangeLog
@@ -0,0 +1,237 @@
+# ChangeLog for dev-util/ccache
+# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ChangeLog,v 1.64 2008/01/12 21:09:48 grobian Exp $
+
+ 12 Jan 2008; Fabian Groffen <grobian@gentoo.org> ccache-2.4-r6.ebuild,
+ ccache-2.4-r7.ebuild:
+ Remove ppc-macos bits
+
+ 31 Dec 2007; Ryan Hill <dirtyepic@gentoo.org> metadata.xml:
+ Add toolchain and robbat2 as maintainer.
+
+ 25 Dec 2007; Christian Heim <phreak@gentoo.org> metadata.xml:
+ Removing lisa from metadata.xml as per #23541. Assigning to maintainer-needed.
+
+*ccache-2.4-r7 (21 Apr 2007)
+
+ 21 Apr 2007; Lisa Seelye <lisa@gentoo.org> +ccache-2.4-r7.ebuild:
+ bug 174839
+
+ 05 Mar 2007; Marius Mauch <genone@gentoo.org> ccache-2.4-r6.ebuild:
+ Replacing einfo with elog
+
+ 05 Mar 2007; Lisa Seelye <lisa@gentoo.org> -ccache-2.2.ebuild,
+ -ccache-2.3.ebuild, -ccache-2.4.ebuild, -ccache-2.4-r1.ebuild,
+ -ccache-2.4-r2.ebuild:
+ Pruning old ebuilds
+
+ 04 Mar 2007; Stuart Longland <redhatter@gentoo.org> ccache-2.4-r6.ebuild:
+ Tested and working on mips. No bugs in the last 30 days. Marking stable as
+ per bug #159527.
+
+ 30 Jan 2007; Steve Dibb <beandog@gentoo.org> ccache-2.4-r6.ebuild:
+ amd64 stable, bug 159527
+
+ 04 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> ccache-2.4-r6.ebuild:
+ Stable on IA64.
+
+ 04 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> ccache-2.4-r6.ebuild:
+ Stable on Alpha, bug 159527.
+
+ 02 Jan 2007; Gustavo Zacarias <gustavoz@gentoo.org> ccache-2.4-r6.ebuild:
+ Stable on sparc wrt #159527
+
+ 31 Dec 2006; Tom Gall <tgall@gentoo.org> ccache-2.4-r6.ebuild:
+ ppc64 stable bug #159527
+
+ 31 Dec 2006; Timothy Redaelli <drizzt@gentoo.org> ccache-2.4-r6.ebuild:
+ ppc stable wrt bug #159527
+
+ 31 Dec 2006; Andrej Kacian <ticho@gentoo.org> ccache-2.4-r6.ebuild:
+ Stable on x86, bug #159527.
+
+ 08 Dec 2006; Jeroen Roovers <jer@gentoo.org> ccache-2.4-r6.ebuild:
+ Stable for HPPA.
+
+ 15 Oct 2006; Aron Griffis <agriffis@gentoo.org> ccache-2.4-r2.ebuild:
+ Mark 2.4-r2 stable on ia64
+
+*ccache-2.4-r6 (15 Sep 2006)
+
+ 15 Sep 2006; Lisa Seelye <lisa@gentoo.org> +ccache-2.4-r6.ebuild:
+ okay, apparently -r5 wasnt binary friendly. bug 145167 comment
+
+*ccache-2.4-r5 (14 Sep 2006)
+
+ 14 Sep 2006; Lisa Seelye <lisa@gentoo.org> -ccache-2.4-r4.ebuild,
+ +ccache-2.4-r5.ebuild:
+ move the removal of stale links check to pkg_setup due to a portage bug. it
+ should be in pkg_preinst. also fix a symlink issue where it was linking to
+ the name of the compilier and not ccache. oops
+
+*ccache-2.4-r4 (13 Sep 2006)
+
+ 13 Sep 2006; Lisa Seelye <lisa@gentoo.org> -ccache-2.4-r3.ebuild,
+ +ccache-2.4-r4.ebuild:
+ Another attempt at bug 145167. Removing the stale wrappers in pkg_preinst.
+
+*ccache-2.4-r3 (13 Sep 2006)
+
+ 13 Sep 2006; Lisa Seelye <lisa@gentoo.org> +ccache-2.4-r3.ebuild:
+ Move (shadow) symlinks creation into src_install. Moved Zach Welch created
+ multiline helper into five lines. Ha. This also should resolve bug 145167
+
+*ccache-2.4-r2 (09 Jun 2006)
+
+ 09 Jun 2006; Robin H. Johnson <robbat2@gentoo.org>
+ +files/ccache-2.4-utimes.patch, +ccache-2.4-r2.ebuild:
+ Patch to fix bug #136233, to use utimes instead of utime.
+
+ 31 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> ccache-2.4-r1.ebuild:
+ Remove virtual/libc dependency and add keyword ~x86-fbsd.
+
+*ccache-2.4-r1 (20 Mar 2006)
+
+ 20 Mar 2006; Lisa Seelye <lisa@gentoo.org>
+ +files/ccache-2.4-respectflags.patch, +ccache-2.4-r1.ebuild:
+ ccache-2.4-respectflags.patch from bug #126875 to respect user defined LDFLAGS
+
+ 06 Mar 2006; Lisa Seelye <lisa@gentoo.org> ccache-2.2.ebuild,
+ ccache-2.3.ebuild, ccache-2.4.ebuild:
+ Change SRC_URI to close bug #125246
+
+ 17 Jul 2005; MATSUU Takuto <matsuu@gentoo.org> ccache-2.3.ebuild:
+ Stable on sh.
+
+ 06 Aug 2005; <gongloo@gentoo.org> ccache-2.3.ebuild, ccache-2.4.ebuild:
+ Fixes for ccache dir on ppc-macos.
+
+ 30 Mar 2005; Michael Hanselmann <hansmi@gentoo.org> ccache-2.3.ebuild:
+ Stable on ppc.
+
+ 09 Mar 2005; Brian Harring <ferringb@gentoo.org> ccache-2.4.ebuild:
+ Version bump. bug 76133
+
+ 21 Feb 2005; <gongloo@gentoo.org> ccache-2.3.ebuild:
+ Stable on ppc-macos.
+
+ 21 Jan 2005; <gongloo@gentoo.org> ccache-2.3.ebuild:
+ Keyworded ~ppc-macos.
+
+ 30 Oct 2004; Michael Imhof <tantive@gentoo.org> :
+ Added ~s390 keyword.
+
+ 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> ccache-2.2.ebuild,
+ ccache-2.3.ebuild:
+ virtual/glibc -> virtual/libc
+
+ 09 Apr 2004; Brian Jackson <iggy@gentoo.org> ccache-2.3.ebuild:
+ added s390 keyword
+
+ 13 Jan 2004; Jon Portnoy <avenj@gentoo.org> ccache-2.3.ebuild :
+ Stable on AMD64.
+
+ 09 Jan 2004; Aron Griffis <agriffis@gentoo.org> ccache-2.3.ebuild:
+ stable on alpha
+
+ 05 Jan 2004; Jason Wever <weeve@gentoo.org> ccache-2.3.ebuild:
+ Marked stable on sparc.
+
+ 28 Dec 2003; Joshua Kinard <kumba@gentoo.org> ccache-2.3.ebuild:
+ Move to mips stable (~mips -> mips)
+
+ 14 Dec 2003; Guy Martin <gmsoft@gentoo.org> ccache-2.3.ebuild:
+ Marked stable on hppa.
+
+ 12 Nov 2003; Aron Griffis <agriffis@gentoo.org> ccache-2.3.ebuild:
+ Stable on ia64
+
+ 18 Oct 2003; Martin Holzer <mholzer@gentoo.org> ccache-2.3.ebuild:
+ x86 stable.
+
+*ccache-2.3 (29 Sep 2003)
+
+ 29 Sep 2003; Martin Holzer <mholzer@gentoo.org> ccache-2.3.ebuild:
+ Version bumped.
+
+*ccache-2.2 (26 Feb 2003)
+
+ 17 Apr 2003; Zach Welch <zwelch@gentoo.org> files/ccache-config:
+ fix ccache-config to add CC_QUIET
+
+ 11 Apr 2003; Zach Welch <zwelch@gentoo.org> ccache-2.2.ebuild:
+ mark all platform keywords stable
+
+ 19 Mar 2003; Aron Griffis <agriffis@gentoo.org> ccache-2.2.ebuild:
+ Mark stable on alpha
+
+ 26 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.2.ebuild files/digest-ccache-2.2 :
+ Bump to new version; see bug 15100
+
+*ccache-2.1.1-r2 (24 Feb 2003)
+
+ 25 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild :
+ Remove old versions outright, don't backup; fixes multiple re-installs
+ Add portage 2.0.46-r11 as a RDEPEND.
+
+ 24 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild :
+ Add missing keepdir; no bump since found fast
+
+ 24 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild files/ccache-config files/digest-ccache-2.1.1-r2 :
+ Add changes from bug 15100, with enhancements from distcc
+
+ 11 Feb 2003; Guy Martin <gmsoft@gentoo.org> :
+ Added hppa to keywords.
+
+*ccache-2.1.1 (24 Jan 2002)
+
+ 25 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild ccache-2.1.1.ebuild :
+ Fix ccache-2.1.1 ebuild to allow downgrade from 2.1.1-r2
+
+ 24 Jan 2002; Bart Verwilst <verwilst@gentoo.org> : updating to 2.1.1.
+
+ 06 Jan 2003; Jan Seidel <tuxus@gentoo.org>: ccache-1.9-r1.ebuild,
+ Added mips to keywords.
+
+*ccache-1.9-r2 (06 Jan 2003)
+
+ 06 Jan 2003; Aron Griffis <agriffis@gentoo.org> ccache-1.9-r2.ebuild :
+ Fix installation of symbolic links by searching PATH for compiler
+ front-ends. Fix einfo commentary to fit in an 80-column terminal.
+ Add alpha to KEYWORDS. Make this the -r2 release.
+
+ 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
+
+ 20 Nov 2002, ZhEN <zhen@gentoo.org> ccache-1.9-r1.ebuild,
+ I added some info the the einfo section regarding
+ bug #6805. My change should clear up that confusion.
+
+ 12 Jul 2002; phoen][x <phoenix@gentoo.org> ccache-1.9-r1.ebuild,
+ files/digest-ccache-1.9-r1: New revision: Added a check before
+ symlinking in pkg_postinst(). That way, the ebuild wont create
+ symlinks for compiler which arent installed.
+
+ 12 Jul 2002; phoen][x <phoenix@gentoo.org> ccache-1.9-r1.ebuild,
+ Added LICENSE, SLOT.
+
+*ccache-1.9-r1 (09 Jul 2002)
+
+ 09 Jul 2002; Mark Guertin <gerk@gentoo.org> : tested and added
+ ppc to KEYWORDS
+
+*ccache-1.9 (24 Jun 2002)
+
+ 24 Jun 2002; Daniel Robbins <drobbins@gentoo.org> : updating to 1.9.
+
+*ccache-1.8-r1 (24 Jun 2002)
+
+ 24 Jun 2002; Daniel Robbins <drobbins@gentoo.org> : new ebuild that installs
+ ccache into /usr/bin/ccache/ccache and creates /usr/bin/ccache/gcc and cc
+ symlinks automatically. Also creates /root/.ccache dir if it doesn't exist.
+ This version is designed to play nicely with Portage 2.0.6. Portage 2.0.6+
+ will auto-detect and use ccache if it is available :)
+
+*ccache-1.8 (30 Apr 2002)
+
+ 30 Apr 2002; Ryan Phillips <rphillips@gentoo.org> ChangeLog : Initial
+ release submitted by Paul Belt <gaarde@yahoo.com>. Thanks Paul!
diff --git a/dev-util/ccache/Manifest b/dev-util/ccache/Manifest
new file mode 100644
index 0000000..57d2458
--- /dev/null
+++ b/dev-util/ccache/Manifest
@@ -0,0 +1,8 @@
+AUX 2.4-enable-fortran.patch 304 RMD160 c1e716c9decac4362e792101231db85cc3877dfd SHA1 9aac251909cfcc524be4eb18dba67ef31358ccdd SHA256 c1bd5aea49ecdbbd9dde48f85db190d33f7625a346e5fc00cb4c9b519db9acb0
+AUX ccache-2.4-respectflags.patch 403 RMD160 19efa0fcb27eba9fe7ec086b8d6e261e4485f275 SHA1 27fbedc4ee219ee6f9b2c17ef8fa30dd91a024f5 SHA256 f7006cc34ecc8315b023d4533273d47a7a34958e7037242811a58ee8570efbd5
+AUX ccache-2.4-utimes.patch 3267 RMD160 57bf223bbc1da41e3955cf017aa5d472cf93b19f SHA1 e9d63db657ef4273e8c27ddf6ae6deb8127540d1 SHA256 72f617b329a68c9db57180a9940689a48acee771067392a2d68b8abf8cdf891a
+AUX ccache-config 1563 RMD160 01317f103bb0fba2494838de77d8227d0a960e4f SHA1 7f3d4508d49bacf7606d83d53b65062f95d9eefa SHA256 43e377dbae6888b305d1f768de78e0d21172d8534c3f700c607b0df63128545b
+DIST ccache-2.4.tar.gz 86363 RMD160 43a0647c7faf659121a53a92ec45d245b8140124 SHA1 9833ec13de9b90d5409e60d679ac681115ef465e SHA256 435f862ca5168c346f5aa9e242174bbf19a5abcaeecfceeac2f194558827aaa0
+EBUILD ccache-2.4-r7.ebuild 2457 RMD160 95d8277a7bf4b035cfd082721e078a8e766755c7 SHA1 4f86f5251ae64e01465b82774a538180fa0e2527 SHA256 faf2e56b6380996da5d1e108790905cd0dea24cf4bd0245d0980abe77370ce7e
+MISC ChangeLog 8323 RMD160 c5a6b82de03e22b2f56e333d0b502fc2ec75b0d1 SHA1 49258979a71c27424641d60206e97778e01fd162 SHA256 193ac1f4185932660ae66b1840399abd1f3e1d2391e6cbddbcda20f91de9267e
+MISC metadata.xml 412 RMD160 964ade3959d81af2c5a0a88758db6ed87d80dba5 SHA1 0a38f42c23434ad993bf2d9bfd0b73552c50eb5b SHA256 c54d1b5f225e3a82754a2550d3875b7211249572a9372abdeff5fccda469aada
diff --git a/dev-util/ccache/ccache-2.4-r7.ebuild b/dev-util/ccache/ccache-2.4-r7.ebuild
new file mode 100644
index 0000000..26a3e12
--- /dev/null
+++ b/dev-util/ccache/ccache-2.4-r7.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r7.ebuild,v 1.3 2008/01/12 21:09:48 grobian Exp $
+
+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-respectflags.patch
+ epatch "${FILESDIR}"/ccache-2.4-utimes.patch
+ epatch "${FILESDIR}"/2.4-enable-fortran.patch
+ eautoconf
+}
+
+do_links() {
+ insinto /usr/$(get_libdir)/ccache/bin
+ for a in ${CHOST}-{gcc,g++,c++,gfortran} gcc c++ g++ gfortran; 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"
+}
diff --git a/dev-util/ccache/files/2.4-enable-fortran.patch b/dev-util/ccache/files/2.4-enable-fortran.patch
new file mode 100644
index 0000000..2354098
--- /dev/null
+++ b/dev-util/ccache/files/2.4-enable-fortran.patch
@@ -0,0 +1,11 @@
+diff -ur ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
+--- ccache-2.4.orig/ccache.c 2008-08-02 00:13:26.000000000 -0700
++++ ccache-2.4/ccache.c 2008-08-02 00:13:56.000000000 -0700
+@@ -75,6 +75,7 @@
+ {"c", "i"},
+ {"C", "ii"},
+ {"m", "mi"},
++ {"f", "i"},
+ {"cc", "ii"},
+ {"CC", "ii"},
+ {"cpp", "ii"},
diff --git a/dev-util/ccache/files/ccache-2.4-respectflags.patch b/dev-util/ccache/files/ccache-2.4-respectflags.patch
new file mode 100644
index 0000000..38d5f6a
--- /dev/null
+++ b/dev-util/ccache/files/ccache-2.4-respectflags.patch
@@ -0,0 +1,13 @@
+Index: ccache-2.4/Makefile.in
+===================================================================
+--- ccache-2.4.orig/Makefile.in
++++ ccache-2.4/Makefile.in
+@@ -20,7 +20,7 @@ all: ccache$(EXEEXT)
+ docs: ccache.1 web/ccache-man.html
+
+ ccache$(EXEEXT): $(OBJS) $(HEADERS)
+- $(CC) $(CFLAGS) -o $@ $(OBJS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
+
+ ccache.1: ccache.yo
+ -yodl2man -o ccache.1 ccache.yo
diff --git a/dev-util/ccache/files/ccache-2.4-utimes.patch b/dev-util/ccache/files/ccache-2.4-utimes.patch
new file mode 100644
index 0000000..30aff6b
--- /dev/null
+++ b/dev-util/ccache/files/ccache-2.4-utimes.patch
@@ -0,0 +1,105 @@
+utime(...,NULL) in some cases may cause truncation of sub-second portions of
+timestamps. If utimes(...,NULL) is available, use it instead to avoid this
+problem.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
+--- ccache-2.4.orig/ccache.c 2004-09-13 03:38:30.000000000 -0700
++++ ccache-2.4/ccache.c 2006-06-09 16:29:16.695117780 -0700
+@@ -481,7 +481,11 @@
+ return;
+ }
+
++#ifdef HAVE_UTIMES
++ utimes(stderr_file, NULL);
++#else
+ utime(stderr_file, NULL);
++#endif
+
+ if (strcmp(output_file, "/dev/null") == 0) {
+ ret = 0;
+@@ -515,7 +519,11 @@
+ }
+ if (ret == 0) {
+ /* update the mtime on the file so that make doesn't get confused */
++#ifdef HAVE_UTIMES
++ utimes(output_file, NULL);
++#else
+ utime(output_file, NULL);
++#endif
+ }
+
+ /* get rid of the intermediate preprocessor file */
+diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.h ccache-2.4/ccache.h
+--- ccache-2.4.orig/ccache.h 2004-09-13 03:38:30.000000000 -0700
++++ ccache-2.4/ccache.h 2006-06-09 16:28:16.601658626 -0700
+@@ -22,6 +22,9 @@
+ #ifdef HAVE_PWD_H
+ #include <pwd.h>
+ #endif
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
+
+ #define STATUS_NOTFOUND 3
+ #define STATUS_FATAL 4
+diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/config.h.in ccache-2.4/config.h.in
+--- ccache-2.4.orig/config.h.in 2003-09-27 21:48:17.000000000 -0700
++++ ccache-2.4/config.h.in 2006-06-09 16:25:43.000000000 -0700
+@@ -19,6 +19,9 @@
+ /* Define to 1 if you have the `gethostname' function. */
+ #undef HAVE_GETHOSTNAME
+
++/* Define to 1 if you have the `getpwuid' function. */
++#undef HAVE_GETPWUID
++
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+
+@@ -31,6 +34,9 @@
+ /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+ #undef HAVE_NDIR_H
+
++/* Define to 1 if you have the <pwd.h> header file. */
++#undef HAVE_PWD_H
++
+ /* Define to 1 if you have the `realpath' function. */
+ #undef HAVE_REALPATH
+
+@@ -60,6 +66,9 @@
+ /* Define to 1 if you have the <sys/stat.h> header file. */
+ #undef HAVE_SYS_STAT_H
+
++/* Define to 1 if you have the <sys/time.h> header file. */
++#undef HAVE_SYS_TIME_H
++
+ /* Define to 1 if you have the <sys/types.h> header file. */
+ #undef HAVE_SYS_TYPES_H
+
+@@ -69,6 +78,9 @@
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+
++/* Define to 1 if you have the `utimes' function. */
++#undef HAVE_UTIMES
++
+ /* Define to 1 if you have the `vasprintf' function. */
+ #undef HAVE_VASPRINTF
+
+diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/configure.in ccache-2.4/configure.in
+--- ccache-2.4.orig/configure.in 2004-09-13 03:38:30.000000000 -0700
++++ ccache-2.4/configure.in 2006-06-09 16:25:15.541288184 -0700
+@@ -27,10 +27,11 @@
+ AC_HEADER_TIME
+ AC_HEADER_SYS_WAIT
+
+-AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h)
++AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h sys/time.h)
+
+ AC_CHECK_FUNCS(realpath snprintf vsnprintf vasprintf asprintf mkstemp)
+ AC_CHECK_FUNCS(gethostname getpwuid)
++AC_CHECK_FUNCS(utimes)
+
+ AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
+ AC_TRY_COMPILE(
diff --git a/dev-util/ccache/files/ccache-config b/dev-util/ccache/files/ccache-config
new file mode 100755
index 0000000..5db140c
--- /dev/null
+++ b/dev-util/ccache/files/ccache-config
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+# ccache-config - helper script for ccache and its ebuild
+#
+# Copyright 2003 Superlucidity Services, LLC
+# This program licensed under the GNU GPL version 2.
+#
+# This script developed by Zachary T Welch at Superlucidity Services, LLC
+# it was cloned from the distcc-config script
+#
+# Additional features to come; this provides a starting point
+
+# this should be getopt'd someday (override with CC_QUIET=1)
+CC_VERBOSE=1
+
+cc_echo() {
+ [ -z "${CC_QUIET}" -a -n "${CC_VERBOSE}" ] && echo "$*"
+}
+
+###
+# the following functions manage the ccache symlinks
+# they allow the user or other scripts (namely gcc-config) to
+# automatically update ccache's links when upgrading toolchains
+#
+cc_remove_link() {
+ local t="/usr/lib/ccache/bin/${1}"
+ if [ -L ${t} ]; then
+ cc_echo "Removing ${t}..."
+ rm -f "${t}"
+ fi
+}
+cc_install_link() {
+ # Search the PATH for the specified compiler
+ # then create shadow link in /usr/lib/ccache/bin to ccache
+
+ if [ -n "$(type -p ${1})" ]; then
+ # first be sure any old link is removed
+ CC_QUIET=1 cc_remove_link "${1}"
+
+ # then create the new link
+ local t="/usr/lib/ccache/bin/${1}"
+ cc_echo "Creating ccache shadow link: ${t}..."
+ ln -s /usr/bin/ccache "${t}"
+ fi
+}
+cc_links() {
+ local a
+ for a in gcc cc c++ g++ gfortran ; do
+ [ -n "${2}" ] && a="${2}-${a}"
+ eval "cc_${1}_link" "${a}"
+ done
+}
+
+###
+# main routine
+
+case "${1}" in
+ --install-links )
+ cc_links install "${2}"
+ ;;
+ --remove-links )
+ cc_links remove "${2}"
+ ;;
+ * )
+ echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]"
+ ;;
+esac
+
diff --git a/dev-util/ccache/metadata.xml b/dev-util/ccache/metadata.xml
new file mode 100644
index 0000000..21bd770
--- /dev/null
+++ b/dev-util/ccache/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>toolchain</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ ccache acts as a caching pre-processor to C/C++ compilers, improving
+ compilation time when recompiling previously compiled source.
+ </longdescription>
+</pkgmetadata>