stdenv: trim random seed to avoid reference cycles
Using the full store hash as the random seed occasionally caused reference cycles when the invocation was stored in output artifacts. For example, cross-compiled gcc was failing due to this: https://hydra.nixos.org/eval/1631713#tabs-now-fail Simply truncating the hash is sufficient to avoid this.
This commit is contained in:
parent
85298db412
commit
61a6d1aae2
1 changed files with 6 additions and 1 deletions
|
@ -1,4 +1,9 @@
|
|||
# Use the last part of the out path as hash input for the build.
|
||||
# This should ensure that it is deterministic across rebuilds of the same
|
||||
# derivation and not easily collide with other builds.
|
||||
export NIX_CFLAGS_COMPILE+=" -frandom-seed=${out##*/}"
|
||||
# We also truncate the hash so that it cannot cause reference cycles.
|
||||
export NIX_CFLAGS_COMPILE+=" -frandom-seed=$(
|
||||
outbase="${out##*/}"
|
||||
randomseed="${outbase:0:10}"
|
||||
echo $randomseed
|
||||
)"
|
||||
|
|
Loading…
Reference in a new issue