Move the prune_libtool_files into a dedicated ltprune.eclass.
The function is quite complex and depends on toolchain-funcs. It has
a separate maintainer, is not useful to non-autotools ebuilds, and even
there it is frequently replaced by the simpler 'find ... -delete' call.
The new eclass is implicitly inherited by eutils in EAPI 6 and older
in order to preserve compatibility with existing ebuilds. However, all
ebuilds should switch to inheriting it directly.
The split has been suggested by Ulrich Müller.
Remove the unnecessary Prefix logic from prune_libtool_files(). There is
no functional difference between starting a find in ${D} and ${ED}
(since ${D} is not supposed to contain other directories on a Prefix
system), and using the latter implies unnecessary hackery for older
EAPIs.
The multilib.eclass seems not to be used by any eutils function.
Therefore, disable the inherit for EAPI 7. It is being preserved for
older EAPIs not to break ebuilds inheriting this eclass and using
multilib.eclass functions implicitly.
Move epatch and epatch_user (along with the descriptions for all their
variables) into a dedicated epatch.eclass. This function is very
complex, therefore it benefits from separate eclass and a dedicated
maintainer. Furthermore, it is mostly obsoleted by eapply* in EAPI 6.
The new eclass is implicitly inherited by eutils to preserve
compatibility. However, the inherit will be removed in EAPI 7,
and the ebuilds should switch to inheriting epatch directly or using
eapply*.
Thanks to Ulrich Müller for doing the necessary research.
Split the estack_* and related functions from eutils into a dedicated
estack.eclass. Those functions have significant complexity and are not
used frequently, therefore they benefit from having a separate file
and an explicit dedicated maintainer.
The new eclass is implicitly inherited by eutils to preserve
compatibility. However, the inherit will be removed in EAPI 7,
and the ebuilds should switch to using estack directly.
Thanks to Ulrich Müller for doing the research on this.
The validate_desktop_entries function is redundant to the built-in
.desktop file checks done by Portage directly. It is used in total by
two packages for both of which bugs have been filed.