public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: David Seifert <soap@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: cluster@gentoo.org, robbat2@gentoo.org, toolchain@gentoo.org,
	suse@gentoo.org, llvm@gentoo.org,
	"Michał Górny" <mgorny@gentoo.org>
Subject: Re: [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6
Date: Thu, 17 Aug 2017 10:48:53 +0200	[thread overview]
Message-ID: <1502959733.7527.5.camel@gentoo.org> (raw)
In-Reply-To: <20170817083641.3507-3-mgorny@gentoo.org>

On Thu, 2017-08-17 at 10:36 +0200, Michał Górny wrote:
> ---
>  dev-util/ccache/ccache-3.3.4-r1.ebuild | 68
> ++++++++++++++++++++++++++++++++++
>  1 file changed, 68 insertions(+)
>  create mode 100644 dev-util/ccache/ccache-3.3.4-r1.ebuild
> 
> diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-
> util/ccache/ccache-3.3.4-r1.ebuild
> new file mode 100644
> index 000000000000..1ef1d45179d1
> --- /dev/null
> +++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
> @@ -0,0 +1,68 @@
> +# Copyright 1999-2017 Gentoo Foundation
> +# Distributed under the terms of the GNU General Public License v2
> +
> +EAPI=6
> +
> +inherit readme.gentoo-r1
> +
> +DESCRIPTION="fast compiler cache"
> +HOMEPAGE="http://ccache.samba.org/"
> +SRC_URI="https://samba.org/ftp/ccache/${P}.tar.xz"
> +
> +LICENSE="GPL-3"
> +SLOT="0"
> +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc
> ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-
> macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris
> ~x86-solaris"
> +IUSE=""
> +
> +DEPEND="app-arch/xz-utils
> +	sys-libs/zlib"
> +RDEPEND="${DEPEND}
> +	sys-apps/gentoo-functions"
> +
> +src_prepare() {
> +	# make sure we always use system zlib
> +	rm -rf zlib || die
> +	eapply "${FILESDIR}"/${PN}-3.3-size-on-disk.patch #456178
> +	eapply_user
> +	sed \
> +		-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
> +		"${FILESDIR}"/ccache-config-3 > ccache-config || die
> +}
> +
> +src_install() {
> +	DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.md )
> +	default
> +
> +	dobin ccache-config
> +
> +	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} ]] ; then
> +		"${EROOT}"/usr/bin/ccache-config --remove-links
> +		"${EROOT}"/usr/bin/ccache-config --remove-links
> ${CHOST}
> +	fi
> +}
> +
> +pkg_postinst() {
> +	"${EROOT}"/usr/bin/ccache-config --install-links
> +	"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
> +
> +	# nuke broken symlinks from previous versions that shouldn't
> exist
> +	rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc || die
> +	rm -rf "${EROOT}"/usr/lib/ccache.backup || die
> +
> +	readme.gentoo_print_elog
> +}

While I personally am not as uptight about 'local'ising variables, I
believe making DOC_CONTENTS local serves an important purpose: to dodge
any chance of people thinking it is allowed to leak into pkg_* phases
(i.e. the whole rationale of readme.gentoo-r1 in the first place). For
DOCS and friends its irrelevant, as their semantics are only import in
src_* phases.


  reply	other threads:[~2017-08-17  8:49 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-17  8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 01/12] dev-util/shadowman: New package Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
2017-08-17  8:48   ` David Seifert [this message]
2017-08-17  9:00     ` Michał Górny
2017-08-17  9:08       ` David Seifert
2017-08-17  8:36 ` [gentoo-dev] [PATCH 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
2017-08-17  8:36 ` [gentoo-dev] [PATCH 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
2017-08-17 10:14 ` [gentoo-dev] Re: [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Sergei Trofimovich
2017-08-19 10:19 ` [gentoo-dev] " Manuel Rüger
2017-08-19 10:53   ` Michał Górny
2017-08-19 11:10     ` Manuel Rüger
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
2017-08-20 10:26   ` [gentoo-dev] [PATCH v2 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
2017-08-21  1:25   ` [gentoo-dev] Re: [PATCH v2 01/12] dev-util/shadowman: New package Duncan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1502959733.7527.5.camel@gentoo.org \
    --to=soap@gentoo.org \
    --cc=cluster@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=llvm@gentoo.org \
    --cc=mgorny@gentoo.org \
    --cc=robbat2@gentoo.org \
    --cc=suse@gentoo.org \
    --cc=toolchain@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox