commit:     c9cbd8218419463a9f78a511810b0b482d2a01d8
Author:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 29 13:12:19 2015 +0000
Commit:     Julian Ospald <hasufell <AT> gentoo <DOT> org>
CommitDate: Tue Sep 29 14:14:35 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9cbd821

eutils.eclass: Allow to configure base patch location for epatch_user

This is particularly useful for people who run alternative
package managers and want to control their configuration.

Reviewed-By: SpanKY <vapier <AT> gentoo.org>
Gentoo-Bug: 559698
Github-PR: https://github.com/gentoo/gentoo/pull/69

 eclass/eutils.eclass | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index b7f0970..7331796 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -350,6 +350,12 @@ EPATCH_FORCE="no"
 # List of patches not to apply.         Note this is only file names,
 # and not the full path.  Globs accepted.
 
+# @VARIABLE: EPATCH_USER_SOURCE
+# @DESCRIPTION:
+# Location for user patches, see the epatch_user function.
+# Should be set by the user. Don't set this in ebuilds.
+: ${EPATCH_USER_SOURCE:=${PORTAGE_CONFIGROOT%/}/etc/portage/patches}
+
 # @FUNCTION: epatch
 # @USAGE: [options] [patches] [dirs of patches]
 # @DESCRIPTION:
@@ -697,11 +703,11 @@ epatch_user() {
        [[ -e ${applied} ]] && return 2
 
        # don't clobber any EPATCH vars that the parent might want
-       local EPATCH_SOURCE check 
base=${PORTAGE_CONFIGROOT%/}/etc/portage/patches
+       local EPATCH_SOURCE check
        for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT}}; do
-               EPATCH_SOURCE=${base}/${CTARGET}/${check}
-               [[ -r ${EPATCH_SOURCE} ]] || 
EPATCH_SOURCE=${base}/${CHOST}/${check}
-               [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${check}
+               EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CTARGET}/${check}
+               [[ -r ${EPATCH_SOURCE} ]] || 
EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CHOST}/${check}
+               [[ -r ${EPATCH_SOURCE} ]] || 
EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${check}
                if [[ -d ${EPATCH_SOURCE} ]] ; then
                        EPATCH_SOURCE=${EPATCH_SOURCE} \
                        EPATCH_SUFFIX="patch" \

Reply via email to