The line " if built_with_use sys-devel/gcc hardened && [blah]" doesn't behave well on OS X as there is no sys-devel/gcc but sys-devel/gcc-apple installed. Reproducible: Always Steps to Reproduce: 1. emerge sbcl (every version by now) Actual Results: * ERROR: dev-lisp/sbcl-1.0.11 failed. * Call stack: * ebuild.sh, line 1614: Called dyn_setup * ebuild.sh, line 665: Called qa_call 'pkg_setup' * ebuild.sh, line 44: Called pkg_setup * sbcl-1.0.11.ebuild, line 51: Called built_with_use 'sys-devel/gcc' 'hardened' * eutils.eclass, line 1673: Called die * The specific snippet of code: * [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package" * The die message: * Unable to resolve sys-devel/gcc to an installed package
Created attachment 134658 [details, diff] This is the patch for the sbcl ebuild I currently use. This one patches the ebuild so it works on Darwin. But the problem should exist on every (prefix) system, that doesn't use the FSF GCC as it's default compiler.
Given that you seem to use an ultra-new portage, I'm going to assume this is Prefix.
this snippet from eutils.eclass: local PKG=$(best_version $1) [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package" shift means we can't check for something to be built_with_use if it's not guaranteed to be installed. which is the case with gcc in prefix (on certain platforms).
i suppose we could either disable that check completely (there's no such thing as hardened for prefix, is there?) or we could disable it for darwin because gcc-apple certainly doesn't have USE=hardened.
I opt for instead of using if [[ $CHOST != *-darwin* ]] && built_with_use sys-devel/gcc hardened just doing has_version sys-devel/gcc && built_with_use sys-devel/gcc hardened
applied in r12666[1]. [1] http://overlays.gentoo.org/proj/alt/changeset/12666