commit:     c28e489ab53d41813fe75a8a00e939ccffabd80f
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 15 08:16:09 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Wed Aug 15 08:39:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c28e489a

dev-util/ccache: bump up to 3.4.2, bug #647200

Reported-by: Perfect Gentleman
Closes: https://bugs.gentoo.org/647200
Package-Manager: Portage-2.3.46, Repoman-2.3.10

 dev-util/ccache/Manifest                           |  1 +
 dev-util/ccache/ccache-3.4.2.ebuild                | 74 ++++++++++++++++++++++
 .../ccache/files/ccache-3.4-size-on-disk.patch     | 21 ++++++
 3 files changed, 96 insertions(+)

diff --git a/dev-util/ccache/Manifest b/dev-util/ccache/Manifest
index 5e34ecc37de..040b0e26bd3 100644
--- a/dev-util/ccache/Manifest
+++ b/dev-util/ccache/Manifest
@@ -1,2 +1,3 @@
 DIST ccache-3.2.4.tar.xz 302548 BLAKE2B 
7d642dc3f944183660e79cfdfd68948528aa3ea4ef8162a4d04837c85ccace35107e663ec81a15438dab133fca2e8bf100fecd483f33c9b0aa52c68989ae8122
 SHA512 
d048b70804c81dece97f3ba511b3c109ec0d14e7dca69bc68faeeb61a4a7b5639c03e3e5ad7dad4e42b4bd198d7a7fffa4e3b7ef99590dfd4df0805db6c25db7
 DIST ccache-3.3.4.tar.xz 314468 BLAKE2B 
6e465598df428979a2c821a698afef25c05d09045cbb54ec54cc3b65b8ce6416b6eb46fae0cf5d60f766129cef11eb01410b522318c67416fdf47f6e8fceae66
 SHA512 
891bcf11b27fa20a250bc86d182663e46af450a3a807b6cab502f202cd57123ce93bcb1fe5e48866feecda76912a5f742efa5869df9117d81624ba185dd4e02c
+DIST ccache-3.4.2.tar.xz 324340 BLAKE2B 
e49582b4ff254dd4cd210634342d7b21d5c099892d4c7f3240122a3b9de013477f6c440eaf73d06fc0445020e225562528babfb41d10ca1fab68052c1e726531
 SHA512 
9bf07269df6785bb92758093f46f3be4df45de532e431e0bc3a68a7170d1782376a9b4495acf77569549062c84f61621c21c5d200e271cd064dbda4a73276f8e

diff --git a/dev-util/ccache/ccache-3.4.2.ebuild 
b/dev-util/ccache/ccache-3.4.2.ebuild
new file mode 100644
index 00000000000..25d07d629e1
--- /dev/null
+++ b/dev-util/ccache/ccache-3.4.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit readme.gentoo-r1
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="https://ccache.samba.org/";
+SRC_URI="https://www.samba.org/ftp/ccache/${P}.tar.xz";
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 
~amd64-fbsd"
+IUSE=""
+
+DEPEND="app-arch/xz-utils
+       sys-libs/zlib"
+RDEPEND="${DEPEND}
+       dev-util/shadowman
+       sys-apps/gentoo-functions"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.4-size-on-disk.patch #456178
+)
+
+src_prepare() {
+       default
+
+       # make sure we always use system zlib
+       rm -rf src/zlib || die
+       sed \
+               -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+               "${FILESDIR}"/ccache-config-3 > ccache-config || die
+}
+
+src_install() {
+       DOCS=( doc/{AUTHORS,MANUAL,NEWS}.adoc CONTRIBUTING.md README.md )
+       default
+
+       dobin ccache-config
+       insinto /usr/share/shadowman/tools
+       newins - ccache <<<'/usr/lib/ccache/bin'
+
+       DOC_CONTENTS="
+To use ccache with **non-Portage** C compiling, add
+${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before 
${EPREFIX}/usr/bin.
+Portage 2.0.46-r11+ will automatically take advantage of ccache with
+no additional steps.  If this is your first install of ccache, type
+something like this to set a maximum cache size of 2GB:\\n
+# ccache -M 2G\\n
+If you are upgrading from an older version than 3.x you should clear all of 
your caches like so:\\n
+# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
+ccache now supports sys-devel/clang and dev-lang/icc, too!"
+
+       readme.gentoo_create_doc
+}
+
+pkg_prerm() {
+       if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]] ; then
+               eselect compiler-shadow remove ccache
+       fi
+}
+
+pkg_postinst() {
+       if [[ ${ROOT} == / ]]; then
+               eselect compiler-shadow update ccache
+       fi
+
+       # nuke broken symlinks from previous versions that shouldn't exist
+       rm -rf "${EROOT}"/usr/lib/ccache.backup || die
+
+       readme.gentoo_print_elog
+}

diff --git a/dev-util/ccache/files/ccache-3.4-size-on-disk.patch 
b/dev-util/ccache/files/ccache-3.4-size-on-disk.patch
new file mode 100644
index 00000000000..4f39a0348f2
--- /dev/null
+++ b/dev-util/ccache/files/ccache-3.4-size-on-disk.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/56178
+
+stick to the size of files on disk rather than their byte size.
+this func is only used for stats management, so this should be safe.
+
+--- a/src/util.c
++++ b/src/util.c
+@@ -845,12 +845,7 @@ file_size(struct stat *st)
+ #ifdef _WIN32
+       return (st->st_size + 1023) & ~1023;
+ #else
+-      size_t size = st->st_blocks * 512;
+-      if ((size_t)st->st_size > size) {
+-              // Probably a broken stat() call...
+-              size = (st->st_size + 1023) & ~1023;
+-      }
+-      return size;
++      return st->st_blocks * 512;
+ #endif
+ }
+ 

Reply via email to