summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-11-19 07:54:40 +0000
committerMike Frysinger <vapier@gentoo.org>2010-11-19 07:54:40 +0000
commit232ec124f45544dc3313adc2dbd56dbf89ae2f35 (patch)
tree0877897df989abe3b4ca27904b1a3357ed57f78e /dev-util/ccache
parentremoved old (diff)
downloadgentoo-2-232ec124f45544dc3313adc2dbd56dbf89ae2f35.tar.gz
gentoo-2-232ec124f45544dc3313adc2dbd56dbf89ae2f35.tar.bz2
gentoo-2-232ec124f45544dc3313adc2dbd56dbf89ae2f35.zip
Add fix from upstream for realloc bug #338137 by Chris Coleman.
(Portage version: 2.2.0_alpha4/cvs/Linux x86_64)
Diffstat (limited to 'dev-util/ccache')
-rw-r--r--dev-util/ccache/ChangeLog8
-rw-r--r--dev-util/ccache/ccache-2.4-r9.ebuild81
-rw-r--r--dev-util/ccache/files/ccache-2.4-xrealloc.patch35
3 files changed, 123 insertions, 1 deletions
diff --git a/dev-util/ccache/ChangeLog b/dev-util/ccache/ChangeLog
index 24868f2898eb..f75cd463e983 100644
--- a/dev-util/ccache/ChangeLog
+++ b/dev-util/ccache/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-util/ccache
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ChangeLog,v 1.66 2010/10/19 05:27:48 leio Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ChangeLog,v 1.67 2010/11/19 07:54:40 vapier Exp $
+
+*ccache-2.4-r9 (19 Nov 2010)
+
+ 19 Nov 2010; Mike Frysinger <vapier@gentoo.org> +ccache-2.4-r9.ebuild,
+ +files/ccache-2.4-xrealloc.patch:
+ Add fix from upstream for realloc bug #338137 by Chris Coleman.
19 Oct 2010; Mart Raudsepp <leio@gentoo.org> ccache-2.4-r6.ebuild,
ccache-2.4-r7.ebuild:
diff --git a/dev-util/ccache/ccache-2.4-r9.ebuild b/dev-util/ccache/ccache-2.4-r9.ebuild
new file mode 100644
index 000000000000..5cafb2966152
--- /dev/null
+++ b/dev-util/ccache/ccache-2.4-r9.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r9.ebuild,v 1.1 2010/11/19 07:54:40 vapier 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-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"
+}
diff --git a/dev-util/ccache/files/ccache-2.4-xrealloc.patch b/dev-util/ccache/files/ccache-2.4-xrealloc.patch
new file mode 100644
index 000000000000..8e2d44dc6137
--- /dev/null
+++ b/dev-util/ccache/files/ccache-2.4-xrealloc.patch
@@ -0,0 +1,35 @@
+https://bugzilla.samba.org/show_bug.cgi?id=7090
+https://bugs.gentoo.org/338137
+
+From 52a9cd8eb8a69f9dc6944c047faf112b7137a07b Mon Sep 17 00:00:00 2001
+From: Andrew Tridgell <tridge@samba.org>
+Date: Mon, 17 Jul 2006 05:41:12 +0200
+Subject: [PATCH] fixed a bug in x_realloc()
+
+---
+ util.c | 6 +-----
+ 1 files changed, 1 insertions(+), 5 deletions(-)
+
+diff --git a/util.c b/util.c
+index 073fa81..29d0e5b 100644
+--- a/util.c
++++ b/util.c
+@@ -187,14 +187,10 @@ void *x_realloc(void *ptr, size_t size)
+ {
+ void *p2;
+ if (!ptr) return x_malloc(size);
+- p2 = malloc(size);
++ p2 = realloc(ptr, size);
+ if (!p2) {
+ fatal("out of memory in x_realloc");
+ }
+- if (ptr) {
+- memcpy(p2, ptr, size);
+- free(ptr);
+- }
+ return p2;
+ }
+
+--
+1.7.3.1
+