commit:     534b37d147c8259b755df3b07fd711dd5a1c2839
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 19 07:42:31 2017 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Feb 25 08:20:55 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=534b37d1

ruby-ng.eclass: use the default src_prepare in EAPI 6

This removes the need for inheriting eutils in EAPI 6.  It also use
the standard PATCHES support instead of RUBY_PATCHES, which was
introduced to handle arrays on patches at the time.

The default phase also handles eapply_user to handle user patches.

 eclass/ruby-ng.eclass | 43 ++++++++++++++++++++++++++++++-------------
 1 file changed, 30 insertions(+), 13 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index cd6a5ae2ad..263bf89545 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -73,7 +73,14 @@
 # (e.g. selenium's firefox driver extension). When set this argument is
 # passed to "grep -E" to remove reporting of these shared objects.
 
-inherit eutils java-utils-2 multilib toolchain-funcs ruby-utils
+local inherits=""
+case ${EAPI} in
+       2|3|4|5)
+               inherits="eutils"
+               ;;
+esac
+
+inherit ${inherits} java-utils-2 multilib toolchain-funcs ruby-utils
 
 EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_test 
src_install pkg_setup
 
@@ -399,15 +406,24 @@ ruby-ng_src_unpack() {
 }
 
 _ruby_apply_patches() {
-       for patch in "${RUBY_PATCHES[@]}"; do
-               if [ -f "${patch}" ]; then
-                       epatch "${patch}"
-               elif [ -f "${FILESDIR}/${patch}" ]; then
-                       epatch "${FILESDIR}/${patch}"
-               else
-                       die "Cannot find patch ${patch}"
-               fi
-       done
+       case ${EAPI} in
+               2|3|4|5)
+                       for patch in "${RUBY_PATCHES[@]}"; do
+                               if [ -f "${patch}" ]; then
+                                       epatch "${patch}"
+                               elif [ -f "${FILESDIR}/${patch}" ]; then
+                                       epatch "${FILESDIR}/${patch}"
+                               else
+                                       die "Cannot find patch ${patch}"
+                               fi
+                       done
+                       ;;
+               6)
+                       if [[ -n ${RUBY_PATCHES[@]} ]]; then
+                          eqawarn "RUBY_PATCHES is no longer supported, use 
PATCHES instead"
+                       fi
+                       ;;
+       esac
 
        # This is a special case: instead of executing just in the special
        # "all" environment, this will actually copy the effects on _all_
@@ -432,14 +448,15 @@ ruby-ng_src_prepare() {
        # almost every other ebuild.
        find . -name '._*' -delete
 
-       _ruby_invoke_environment all _ruby_apply_patches
-
+       # Handle PATCHES and user supplied patches via the default phase
        case ${EAPI} in
                6)
-                       eapply_user
+                       _ruby_invoke_environment all default
                        ;;
        esac
 
+       _ruby_invoke_environment all _ruby_apply_patches
+
        _PHASE="source copy" \
                _ruby_each_implementation _ruby_source_copy
 

Reply via email to