From c9cbd8218419463a9f78a511810b0b482d2a01d8 Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 29 Sep 2015 15:12:19 +0200 Subject: [PATCH] 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 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 b7f097041feb..7331796c8b81 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" \ -- 2.26.2