buildGoModule: warn if `-trimpath` or `-mod=` is used
in GOFLAGS
This commit is contained in:
parent
8f72bd17ea
commit
63a052eb57
|
@ -41,6 +41,8 @@
|
|||
|
||||
, ldflags ? [ ]
|
||||
|
||||
, GOFLAGS ? [ ]
|
||||
|
||||
# needed for buildFlags{,Array} warning
|
||||
, buildFlags ? ""
|
||||
, buildFlagsArray ? ""
|
||||
|
@ -153,11 +155,13 @@ let
|
|||
|
||||
inherit (go) GOOS GOARCH;
|
||||
|
||||
GOFLAGS = lib.optionals (!proxyVendor) [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
|
||||
GOFLAGS = GOFLAGS
|
||||
++ lib.optional (!proxyVendor) "-mod=vendor"
|
||||
++ lib.optional (!allowGoReference) "-trimpath";
|
||||
inherit CGO_ENABLED enableParallelBuilding GO111MODULE GOTOOLCHAIN;
|
||||
|
||||
# If not set to an explicit value, set the buildid empty for reproducibility.
|
||||
ldflags = ldflags ++ lib.optionals (!lib.any (lib.hasPrefix "-buildid=") ldflags) [ "-buildid=" ];
|
||||
ldflags = ldflags ++ lib.optional (!lib.any (lib.hasPrefix "-buildid=") ldflags) "-buildid=";
|
||||
|
||||
configurePhase = args.configurePhase or (''
|
||||
runHook preConfigure
|
||||
|
@ -307,4 +311,6 @@ lib.warnIf (args' ? vendorSha256) "`vendorSha256` is deprecated. Use `vendorHash
|
|||
lib.warnIf (buildFlags != "" || buildFlagsArray != "")
|
||||
"Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
|
||||
lib.warnIf (builtins.elem "-buildid=" ldflags) "`-buildid=` is set by default as ldflag by buildGoModule"
|
||||
lib.warnIf (builtins.elem "-trimpath" GOFLAGS) "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true"
|
||||
lib.warnIf (lib.any (lib.hasPrefix "-mod=") GOFLAGS) "use `proxyVendor` to control Go module/vendor behavior instead of setting `-mod=` in GOFLAGS"
|
||||
package
|
||||
|
|
|
@ -39,6 +39,8 @@
|
|||
|
||||
, ldflags ? [ ]
|
||||
|
||||
, GOFLAGS ? [ ]
|
||||
|
||||
# needed for buildFlags{,Array} warning
|
||||
, buildFlags ? ""
|
||||
, buildFlagsArray ? ""
|
||||
|
@ -89,12 +91,12 @@ let
|
|||
|
||||
GO111MODULE = "off";
|
||||
GOTOOLCHAIN = "local";
|
||||
GOFLAGS = lib.optionals (!allowGoReference) [ "-trimpath" ];
|
||||
GOFLAGS = GOFLAGS ++ lib.optional (!allowGoReference) "-trimpath" ;
|
||||
|
||||
GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
|
||||
|
||||
# If not set to an explicit value, set the buildid empty for reproducibility.
|
||||
ldflags = ldflags ++ lib.optionals (!lib.any (lib.hasPrefix "-buildid=") ldflags) [ "-buildid=" ];
|
||||
ldflags = ldflags ++ lib.optional (!lib.any (lib.hasPrefix "-buildid=") ldflags) "-buildid=";
|
||||
|
||||
configurePhase = args.configurePhase or (''
|
||||
runHook preConfigure
|
||||
|
@ -286,4 +288,5 @@ in
|
|||
lib.warnIf (buildFlags != "" || buildFlagsArray != "")
|
||||
"Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
|
||||
lib.warnIf (builtins.elem "-buildid=" ldflags) "`-buildid=` is set by default as ldflag by buildGoModule"
|
||||
lib.warnIf (builtins.elem "-trimpath" GOFLAGS) "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true"
|
||||
package
|
||||
|
|
Loading…
Reference in New Issue