Hi, Here's a quick batch of patches to llvm.eclass that aims to solve two problems.
The first two patches (and the package example following the patch set) redesign the slot testing mechanism to allow llvm_check_deps() function (alike python_check_deps() in python-any-r1). It can be used to redefine how the eclass checks whether the specific LLVM slot is acceptable. For example, if you define: llvm_check_deps() { has_version "sys-devel/clang:${LLVM_SLOT}"; } then it will only consider the slots which have clang installed. You can also use it to check USE dependencies. This way we can write ebuilds that can handle the case when user has multiple LLVM slots installed in different configurations. This is bug #622782 [1], solved in a bit more generic way. The third patch ensures that only /usr/lib/llvm/* paths are prepended to PATH, and not /usr/bin (for slot 0). The latter is unnecessary and breaks other prepends, e.g. distcc/ccache. This is bug #622866 [2]. Please review. TIA. [1]:https://bugs.gentoo.org/show_bug.cgi?id=622782 [2]:https://bugs.gentoo.org/show_bug.cgi?id=622866 -- Best regards, Michał Górny