waf relies on Python set order, so let's make it consistent to avoid
brittle builds.
Added into existing phase functions instead of pkg_setup to retain compatibility with existing ebuilds.
Signed-off-by: Matthew Smith <
matthew@gentoo.org>
---
eclass/waf-utils.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass
index 66041fc3f60..3ff74db0d79 100644
--- a/eclass/waf-utils.eclass
+++ b/eclass/waf-utils.eclass
@@ -95,6 +95,7 @@ waf-utils_src_configure() {
tc-export AR CC CPP CXX RANLIB
local CMD=(
+ PYTHONHASHSEED=1
CCFLAGS="${CFLAGS}"
LINKFLAGS="${CFLAGS} ${LDFLAGS}"
PKGCONFIG="$(tc-getPKG_CONFIG)"
@@ -119,6 +120,8 @@ waf-utils_src_compile() {
local _mywafconfig
[[ ${WAF_VERBOSE} == ON ]] && _mywafconfig="--verbose"
+ export PYTHONHASHSEED=1
+
local jobs="--jobs=$(makeopts_jobs)"
echo "\"${WAF_BINARY}\" build ${_mywafconfig} ${jobs} ${*}"
"${WAF_BINARY}" ${_mywafconfig} ${jobs} "${@}" || die "build failed"
@@ -130,6 +133,8 @@ waf-utils_src_compile() {
waf-utils_src_install() {
debug-print-function ${FUNCNAME} "$@"
+ export PYTHONHASHSEED=1
+
echo "\"${WAF_BINARY}\" --jobs=1 --destdir=\"${D}\" ${*} install"
"${WAF_BINARY