commit:     9f10af2ddb28388fb8150ae545f1f028ad998dce
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 15 09:25:51 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 21 19:38:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f10af2d

distutils-r1.eclass: Do not apply patches if DISTUTILS_OPTIONAL is used

Do not apply PATCHES and user patches (either via the EAPI 6 default or
pre-EAPI 5 code) when DISTUTILS_OPTIONAL is being used. In this case,
distutils functions are usually called conditionally, in a subdirectory,
while both PATCHES and user patches are usually intended to be applied
top-level.

There is no ebuild relying on distutils-r1_src_prepare applying patches
with DISTUTILS_OPTIONAL. In fact, there are ebuilds which work around
this behavior.

 eclass/distutils-r1.eclass | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index e8de5ad..afd29ed 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -315,11 +315,13 @@ _distutils-r1_disable_ez_setup() {
 distutils-r1_python_prepare_all() {
        debug-print-function ${FUNCNAME} "${@}"
 
-       if [[ ${EAPI} != [45] ]]; then
-               default
-       else
-               [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
-               epatch_user
+       if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
+               if [[ ${EAPI} != [45] ]]; then
+                       default
+               else
+                       [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
+                       epatch_user
+               fi
        fi
 
        # by default, use in-source build if python_prepare() is used

Reply via email to