diff --git a/pkgs/development/compilers/go/1.11.nix b/pkgs/development/compilers/go/1.11.nix index 59716fbcdb69..7ae372140963 100644 --- a/pkgs/development/compilers/go/1.11.nix +++ b/pkgs/development/compilers/go/1.11.nix @@ -131,13 +131,16 @@ stdenv.mkDerivation rec { substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil ''; - GOOS = if stdenv.isDarwin then "darwin" else "linux"; - GOARCH = if stdenv.isDarwin then "amd64" - else if stdenv.hostPlatform.isi686 then "386" - else if stdenv.hostPlatform.isx86_64 then "amd64" - else if stdenv.hostPlatform.isAarch32 then "arm" - else if stdenv.hostPlatform.isAarch64 then "arm64" - else throw "Unsupported system"; + GOOS = stdenv.hostPlatform.parsed.kernel.name; + GOARCH = { + "i686" = "386"; + "x86_64" = "amd64"; + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + }.${stdenv.hostPlatform.parsed.cpu.name} or (throw "Unsupported system"); GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]); GO386 = 387; # from Arch: don't assume sse2 on i686 CGO_ENABLED = 1;