diff options
author | Silvan Mosberger <contact@infinisil.com> | 2021-06-03 17:45:04 +0200 |
---|---|---|
committer | zowoq <59103226+zowoq@users.noreply.github.com> | 2021-06-05 09:54:36 +1000 |
commit | 155ae682a5122960aed61724b4ed8c9711b53e99 (patch) | |
tree | 3d6aa4f5435e75d8444994414f4abdbb64ffb5c6 /pkgs/development/go-modules | |
parent | 99697d891de658a5b6ea4bd4ea5ef9acfb62ea13 (diff) | |
download | nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.tar nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.tar.gz nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.tar.bz2 nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.tar.lz nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.tar.xz nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.tar.zst nixpkgs-155ae682a5122960aed61724b4ed8c9711b53e99.zip |
buildGoModule/buildGoPackage: Introduce ldflags argument
Previously it was not possible to define multiple ldflags, since only the last definition applies, and there's some quoting issues with `buildFlagsArray`. With the new `ldflags` argument it's possible to do this, e.g. ldflags = drv.ldflags or [] ++ [ "-X main.Version=1.0" ] can now properly append a flag without clearing all previous ldflags.
Diffstat (limited to 'pkgs/development/go-modules')
-rw-r--r-- | pkgs/development/go-modules/generic/default.nix | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index 8246eaefed4..10beb80f2e6 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -7,6 +7,9 @@ , passthru ? {} , patches ? [] +# Go linker flags, passed to go via -ldflags +, ldflags ? [] + # A function to override the go-modules derivation , overrideModAttrs ? (_oldAttrs : {}) @@ -153,7 +156,7 @@ let echo "$d" | grep -q "\(/_\|examples\|Godeps\|testdata\)" && return 0 [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0 local OUT - if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v -p $NIX_BUILD_CORES $d 2>&1)"; then + if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then echo "$OUT" >&2 return 1 |