summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2017-02-19 08:42:31 +0100
committerHans de Graaff <graaff@gentoo.org>2017-02-25 09:20:55 +0100
commit534b37d147c8259b755df3b07fd711dd5a1c2839 (patch)
tree166bacb3e67f08e7728165d5374cb3a5ba2b147a /eclass/ruby-ng.eclass
parentruby-ng.eclass: add support for EAPI=6 (diff)
downloadgentoo-534b37d147c8259b755df3b07fd711dd5a1c2839.tar.gz
gentoo-534b37d147c8259b755df3b07fd711dd5a1c2839.tar.bz2
gentoo-534b37d147c8259b755df3b07fd711dd5a1c2839.zip
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.
Diffstat (limited to 'eclass/ruby-ng.eclass')
-rw-r--r--eclass/ruby-ng.eclass43
1 files changed, 30 insertions, 13 deletions
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index cd6a5ae2ad10..263bf89545b2 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