Merge pull request #278115 from katexochen/buildGoModule/trimpath

This commit is contained in:
Jon Seager 2024-03-28 08:12:32 +00:00 committed by GitHub
commit e424d5ef75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 15 additions and 14 deletions

View File

@ -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

View File

@ -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

View File

@ -56,7 +56,7 @@ buildGoModule rec {
];
# flags are based on https://github.com/richardwilkes/gcs/blob/master/build.sh
flags = [ "-a -trimpath" ];
flags = [ "-a" ];
ldflags = [ "-s" "-w" "-X github.com/richardwilkes/toolbox/cmdline.AppVersion=${version}" ];
installPhase = ''

View File

@ -23,7 +23,6 @@ buildGoModule rec {
doCheck = false;
CGO_ENABLED = 0;
GOFLAGS = [ "-trimpath" ];
ldflags = [
"-s"
"-w"

View File

@ -18,7 +18,6 @@ buildGoModule rec {
CGO_ENABLED = "0";
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
flags = [ "-trimpath" ];
nativeBuildInputs = [ installShellFiles ];

View File

@ -18,7 +18,7 @@ buildGoModule rec {
# based on https://github.com/wader/jq-lsp/blob/master/.goreleaser.yml
CGO_ENABLED = 0;
GOFLAGS = [ "-trimpath" ];
ldflags = [
"-s"
"-w"

View File

@ -17,8 +17,6 @@ buildGoModule rec {
vendorHash = "sha256-rCGj2o59US2t/ckqXirEDgYn9dGvVSzMVcFEZosasBc=";
CGO_ENABLED = 0;
GO111MODULE = "on";
GOFLAGS = "-trimpath";
subPackages = [ "cli/slsa-verifier" ];

View File

@ -16,10 +16,6 @@ buildGoModule rec {
vendorHash = "sha256-KEW3ykEZvL6y1VacDIqtHW9B2RLHlHC29aqJjkEnRqQ=";
buildFlagArrays = [
"-trimpath"
];
CGO_ENABLED = 0;
ldflags = [