Skip to content

Commit

Permalink
ruby-ng.eclass: use the default src_prepare in EAPI 6
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
graaff committed Feb 25, 2017
1 parent 03c3ab0 commit 534b37d
Showing 1 changed file with 30 additions and 13 deletions.
43 changes: 30 additions & 13 deletions eclass/ruby-ng.eclass
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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_
Expand 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

Expand Down

0 comments on commit 534b37d

Please sign in to comment.