eutils.eclass: Allow to configure base patch location for epatch_user
authorJulian Ospald <hasufell@gentoo.org>
Tue, 29 Sep 2015 13:12:19 +0000 (15:12 +0200)
committerJulian Ospald <hasufell@gentoo.org>
Tue, 29 Sep 2015 14:14:35 +0000 (16:14 +0200)
This is particularly useful for people who run alternative
package managers and want to control their configuration.

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

eclass/eutils.eclass

index b7f097041feb7f74913ab1b8290c5632bfeb3de9..7331796c8b81bc477f19fa7070c4acfddf1e77ca 100644 (file)
@@ -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" \