summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2021-09-17 16:59:12 +0200
committersternenseemann <sternenseemann@systemli.org>2021-09-18 15:11:17 +0200
commit11fe2fc3cfccb95f7b99f2a2d1096c851868e582 (patch)
tree9e1bcb733176136a40c1428d71fda850ae2d5787 /pkgs/stdenv
parent1174f3030c205ea654eb3e74e53ddf797493db30 (diff)
downloadnixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.tar
nixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.tar.gz
nixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.tar.bz2
nixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.tar.lz
nixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.tar.xz
nixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.tar.zst
nixpkgs-11fe2fc3cfccb95f7b99f2a2d1096c851868e582.zip
stdenv: move --enable-deterministic-archives flag into GNU wrapper
`--enable-deterministic-archives` is a GNU specific strip flag and
causes other strip implementations (for example LLVM's, see #138013)
to fail. Since strip failures are ignored, this means that stripping
doesn't work at all in certain situation (causing unnecessary
dependencies etc.).

To fix this, no longer pass `--enable-deterministic-archives`
unconditionally, but instead add it in a GNU binutils specific strip
wrapper only.

`commonStripFlags` was only used for this flag, so we can remove
it altogether.

Future work could be to make a generic strip wrapper, with support for
nix-support/strip-flags-{before,after} and NIX_STRIP_FLAGS_{BEFORE,AFTER}.
This possibly overkill and unnecessary though -- also with the
additional challenge of incorporating the darwin strip wrapper somehow.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/linux/default.nix7
1 files changed, 1 insertions, 6 deletions
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 1fbd3cba27e..d2c74f7722d 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -375,12 +375,7 @@ in
       targetPlatform = localSystem;
       inherit config;
 
-      preHook = ''
-        # Make "strip" produce deterministic output, by setting
-        # timestamps etc. to a fixed value.
-        commonStripFlags="--enable-deterministic-archives"
-        ${commonPreHook}
-      '';
+      preHook = commonPreHook;
 
       initialPath =
         ((import ../common-path.nix) {pkgs = prevStage;});