buildGo{Package,Module}: set trimpath in GOFLAGS
Also drop removeReferencesTo `-trimpath` removes all file system paths from the compiled executable, this should improve reproducibility.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{ go, govers, lib, fetchgit, fetchhg, fetchbzr, rsync
|
||||
, removeReferencesTo, fetchFromGitHub, stdenv }:
|
||||
, fetchFromGitHub, stdenv }:
|
||||
|
||||
{ buildInputs ? []
|
||||
, nativeBuildInputs ? []
|
||||
@@ -44,10 +44,6 @@
|
||||
with builtins;
|
||||
|
||||
let
|
||||
removeReferences = [ ] ++ lib.optional (!allowGoReference) go;
|
||||
|
||||
removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}'';
|
||||
|
||||
dep2src = goDep:
|
||||
{
|
||||
inherit (goDep) goPackagePath;
|
||||
@@ -78,7 +74,7 @@ let
|
||||
package = stdenv.mkDerivation (
|
||||
(builtins.removeAttrs args [ "goPackageAliases" "disabled" "extraSrcs"]) // {
|
||||
|
||||
nativeBuildInputs = [ removeReferencesTo go ]
|
||||
nativeBuildInputs = [ go ]
|
||||
++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs;
|
||||
buildInputs = buildInputs;
|
||||
|
||||
@@ -88,6 +84,7 @@ let
|
||||
GOHOSTOS = go.GOHOSTOS or null;
|
||||
|
||||
GO111MODULE = "off";
|
||||
GOFLAGS = lib.optionals (!allowGoReference) [ "-trimpath" ];
|
||||
|
||||
GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
|
||||
|
||||
@@ -225,10 +222,6 @@ let
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = preFixup + ''
|
||||
find $out/{bin,libexec,lib} -type f 2>/dev/null | xargs -r ${removeExpr removeReferences} || true
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
shellHook = ''
|
||||
|
||||
Reference in New Issue
Block a user