Hi, Yesterday I've finally found time to bump SCons to 3.0.1. Unlike the original non-maintainer bump which caused huge breakage followed by completely ignoring the problem, I've chosen to go more conservative way. That's why 3.0.1 does not declare support for Python 3 yet.
At the same time, I've decided there's really no point in further agreeing with the breakage caused by bad design of SCons, and expecting developers to work around all of it. Instead, the followup revisions of dev-util/scons introduce Gentoo-specific patches that -- through GENTOO_SCONS_ENV_PASSTHROUGH=1 envvar set by scons-utils -- override the problematic details of SCons as outlined below. The current plan for 3.0.1 ebuilds is: 3.0.1 -- 'vanilla' release 3.0.1-r1 -- passes environment through (instead of wiping it) 3.0.1-r2 -- tries to respect CC/CXX/CFLAGS/... 3.0.1-r100 -- will introduce Python 3 support (not committed yet) Note that the -r1/-r2 changes are only applicable with GENTOO_SCONS_ENV_PASSTHROUGH=1. Otherwise, the vanilla upstream behavior is preserved. I personally don't think that the -r1/-r2 changes are likely to break anything. However, if you experience any unexpected breakage which doesn't happen without the patches, please report a bug to me. If no issues are reported a while, I think it'd be reasonable to start actively depending on those versions and remove some of the Gentoo patches to various SCons* files. Furthermore, if you have any other suggestions about reasonable default changes, I'm open to them. I think we've already spent too much time trying to fix individual SCons build systems, and it's time to focus on applying a global SCons-fix instead. As for -r100+, the Python 3 support is going to cause breakage. I've submitted scons-utils patches today that integrate it with python-r1 suite of eclasses (alike waf-utils). If those are accepted and committed, we will be able to work on enabling Python 3 support through SCons consumers. -- Best regards, Michał Górny
