Hello, everyone. Here's a bunch of scons-utils.eclass patches for review. This includes EAPI 6 support with some API changes, MAKEOPTS parsing cleanup and improved documentation.
Fighting dev-db/mongodb lately, I've decided to explain a few common issues with SCons in the eclass. This will hopefully help developers noticing common QA issues like complete disrespect of CC, CXX or PATH, turning distcc setup into a dumb OOM-killer. EAPI 6 simplifies the eclass API and makes it more explicit. The confusing myesconsargs variable is no longer used in EAPI 6 and all custom arguments need to passed explicitly to each escons call. This makes it more consistent with emake. And like emake, escons starts truly respecting nonfatal in EAPI 6. The use_scons function is completely banned in EAPI 6. Already since EAPI 5, usex was a cleaner alternative. As a result, USE_SCONS_TRUE and USE_SCONS_FALSE variables are no longer used (not that anybody used them anyway). Finally, the MAKEOPTS parsing and transforming has been improved a bit. It has been redesigned so that the caching mechanism could actually work. --jobs lacking argument are now replaced by no-of-cpus+1 (obtained using nproc or python) rather than random, fixed number. Please review. Michał Górny (15): scons-utils.eclass: Modernize the example not to rely on myescons... scons-utils.eclass: Modernize the example to use usex scons-utils.eclass: Describe common issues with scons scons-utils.eclass: escons doc, 'die' does not respect nonfatal scons-utils.eclass: escons, invert EAPI check to cover future EAPIs scons-utils.eclass: escons, respect nonfatal in EAPI 6 scons-utils.eclass: Deprecate myesconsargs, and kill it in EAPI 6 scons-utils.eclass: Deprecate use_scons, ban it in EAPI 6 scons-utils.eclass: tests, be more verbose on tests being performed scons-utils.eclass: scons_clean_makeopts, mark internal scons-utils.eclass: _scons_clean_makeopts, fix result caching scons-utils.eclass: _scons_clean_makeopts, stop exporting cache vars scons-utils.eclass: _scons_clean_makeopts, clean up and simplify scons-utils.eclass: Use nproc when --jobs is used without an argument scons-utils.eclass: Enable EAPI 6 eclass/scons-utils.eclass | 138 +++++++++++++++++++++++++++++++++----------- eclass/tests/scons-utils.sh | 21 ++++--- 2 files changed, 114 insertions(+), 45 deletions(-) -- 2.6.4