os: add NixOS to the constraint values

NixOS uses the Linux kernel, but that's where commonality with the
myriad Linux distributions out there stops. Like the different BSD's,
NixOS is sufficiently different that it warrants a constraint value.
In particular, no non-static binary has any chance of running on NixOS
unless it was specifically built for it, because the dynamic linker is
in a non-standard location. This means that toolchains downloaded as
part of host autoconfiguration that detect Linux (like
`go_register_toolchains()`) always fail on NixOS.

NixOS is a popular operating system used by thousands, one of the most
active projects on all of GitHub, and with more unique packages than
even Debian, Fedora or Gentoo according to https://repology.org/.
This commit is contained in:
Mathieu Boespflug 2019-12-30 17:53:47 +01:00
parent 46993efdd3
commit f2a26bcef3
1 changed files with 8 additions and 0 deletions

View File

@ -76,3 +76,11 @@ constraint_value(
name = "qnx", name = "qnx",
constraint_setting = ":os", constraint_setting = ":os",
) )
# NixOS uses the Linux kernel, but is not ABI-compatible with any
# other Linux distribution. This is because the dynamic linker is in
# a non-standard (and undefined) location on the filesystem.
constraint_value(
name = "nixos",
constraint_setting = ":os",
)