commit: da66246c68be060ea7484110fac298ac7fa4363d Author: Benda Xu <heroxbd <AT> gentoo <DOT> org> AuthorDate: Sun May 22 04:03:48 2016 +0000 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org> CommitDate: Sun May 22 04:03:48 2016 +0000 URL: https://gitweb.gentoo.org/dev/heroxbd.git/commit/?id=da66246c
prefix.eclass: add eprefixify_patch. eclass/prefix.eclass | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/eclass/prefix.eclass b/eclass/prefix.eclass index 1f3c4b0..101cce2 100644 --- a/eclass/prefix.eclass +++ b/eclass/prefix.eclass @@ -12,6 +12,8 @@ # located somewhere in the filesystem. Prefix ebuilds require # additional functions and variables which are defined by this eclass. +inherit eutils + # @ECLASS-VARIABLE: EPREFIX # @DESCRIPTION: # The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix @@ -48,5 +50,28 @@ eprefixify() { return 0 } +# @FUNCTION: eprefixify_patch +# @USAGE: <list of patch files to be eprefixified> +# @DESCRIPTION: +# copies the patch files to ${T} and eprefixify before applying. +# dies if no arguments are given, a file does not exist, or changing a +# file failed. +eprefixity_patch() { + [[ $# -lt 1 ]] && die "at least one argument required" + + local x f + for x in "$@" ; do + if [[ -e ${x} ]] ; then + f=${x##*/} + cp "${x}" "${T}" || die "failed to copy patch" + eprefixify "${T}"/${f} + epatch "${T}"/${f} + else + die "${x} does not exist" + fi + done + + return 0 +} # vim: tw=72: