diff options
author | Hans de Graaff <graaff@gentoo.org> | 2017-02-19 08:42:31 +0100 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2017-02-25 09:20:55 +0100 |
commit | 534b37d147c8259b755df3b07fd711dd5a1c2839 (patch) | |
tree | 166bacb3e67f08e7728165d5374cb3a5ba2b147a /eclass | |
parent | ruby-ng.eclass: add support for EAPI=6 (diff) | |
download | gentoo-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')
-rw-r--r-- | eclass/ruby-ng.eclass | 43 |
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 |