Add support for the user patch applying function. --- bin/eapi.sh | 4 ++++ bin/phase-helpers.sh | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+)
diff --git a/bin/eapi.sh b/bin/eapi.sh index 8ffffbb..6e78750 100644 --- a/bin/eapi.sh +++ b/bin/eapi.sh @@ -76,6 +76,10 @@ ___eapi_has_eapply() { [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]] } +___eapi_has_eapply_user() { + [[ ! ${1-${EAPI}} =~ ^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]] +} + ___eapi_has_master_repositories() { [[ ${1-${EAPI}} =~ ^(5-progress)$ ]] } diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index 6bd8a12..49b5547 100644 --- a/bin/phase-helpers.sh +++ b/bin/phase-helpers.sh @@ -927,6 +927,28 @@ if ___eapi_has_eapply; then } fi +if ___eapi_has_eapply_user; then + eapply_user() { + local basedir=${PORTAGE_CONFIGROOT%/}/etc/portage/patches + + local d applied + # possibilities: + # 1. ${CATEGORY}/${P}-${PR} (note: -r0 desired to avoid applying + # ${P} twice) + # 2. ${CATEGORY}/${P} + # 3. ${CATEGORY}/${PN} + # all of the above may be optionally followed by a slot + for d in "${basedir}"/${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT%/*}}; do + if [[ -d ${d} ]]; then + [[ -z ${applied} ]] && einfo "Applying user patches ..." + eapply "${d}" + fi + done + + [[ -n ${applied} ]] && einfo "User patches applied." + } +fi + if ___eapi_has_master_repositories; then master_repositories() { local output repository=$1 retval -- 2.0.4