stdenv: Rename `isGNU` to `isHurd` as GNU is a userland
Elsewhere, things called GNU indeed includes GNU/Linux or GNU/Hurd, but this predicate was defined excluding Linux regardless of userland.
This commit is contained in:
parent
1dc6f15de9
commit
eaa509f33a
|
@ -19,6 +19,7 @@ rec {
|
|||
Linux = { kernel = kernels.linux; };
|
||||
SunOS = { kernel = kernels.solaris; };
|
||||
FreeBSD = { kernel = kernels.freebsd; };
|
||||
Hurd = { kernel = kernels.hurd; };
|
||||
NetBSD = { kernel = kernels.netbsd; };
|
||||
OpenBSD = { kernel = kernels.openbsd; };
|
||||
Windows = { kernel = kernels.windows; };
|
||||
|
@ -27,7 +28,6 @@ rec {
|
|||
|
||||
Arm32 = recursiveUpdate patterns.Arm patterns."32bit";
|
||||
Arm64 = recursiveUpdate patterns.Arm patterns."64bit";
|
||||
|
||||
};
|
||||
|
||||
predicates = mapAttrs'
|
||||
|
|
|
@ -77,6 +77,7 @@ rec {
|
|||
{
|
||||
darwin = { execFormat = macho; families = { inherit unix; }; };
|
||||
freebsd = { execFormat = elf; families = { inherit unix bsd; }; };
|
||||
hurd = { execFormat = elf; families = { inherit unix; }; };
|
||||
linux = { execFormat = elf; families = { inherit unix; }; };
|
||||
netbsd = { execFormat = elf; families = { inherit unix bsd; }; };
|
||||
none = { execFormat = unknown; families = { inherit unix; }; };
|
||||
|
@ -113,7 +114,9 @@ rec {
|
|||
mkSkeletonFromList = l: {
|
||||
"2" = # We only do 2-part hacks for things Nix already supports
|
||||
if elemAt l 1 == "cygwin"
|
||||
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
|
||||
then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; }
|
||||
else if elemAt l 1 == "gnu"
|
||||
then { cpu = elemAt l 0; kernel = "hurd"; abi = "gnu"; }
|
||||
else { cpu = elemAt l 0; kernel = elemAt l 1; };
|
||||
"3" = # Awkwards hacks, beware!
|
||||
if elemAt l 1 == "apple"
|
||||
|
|
|
@ -226,7 +226,7 @@ stdenv.mkDerivation ({
|
|||
libc_dev = stdenv.cc.libc_dev;
|
||||
|
||||
postPatch =
|
||||
if (stdenv.isGNU
|
||||
if (stdenv.isHurd
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
&& libcCross ? crossConfig
|
||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||
|
|
|
@ -230,7 +230,7 @@ stdenv.mkDerivation ({
|
|||
libc_dev = stdenv.cc.libc_dev;
|
||||
|
||||
postPatch =
|
||||
if (stdenv.isGNU
|
||||
if (stdenv.isHurd
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
&& libcCross ? crossConfig
|
||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||
|
|
|
@ -247,7 +247,7 @@ stdenv.mkDerivation ({
|
|||
'';
|
||||
|
||||
postPatch =
|
||||
if (stdenv.isGNU
|
||||
if (stdenv.isHurd
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
&& libcCross ? crossConfig
|
||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||
|
|
|
@ -229,7 +229,7 @@ stdenv.mkDerivation ({
|
|||
hardeningDisable = [ "format" ];
|
||||
|
||||
postPatch =
|
||||
if (stdenv.isGNU
|
||||
if (stdenv.isHurd
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
&& libcCross ? crossConfig
|
||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||
|
|
|
@ -230,7 +230,7 @@ stdenv.mkDerivation ({
|
|||
hardeningDisable = [ "format" ];
|
||||
|
||||
postPatch =
|
||||
if (stdenv.isGNU
|
||||
if (stdenv.isHurd
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
&& libcCross ? crossConfig
|
||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||
|
|
|
@ -402,13 +402,10 @@ let
|
|||
|
||||
# Utility flags to test the type of platform.
|
||||
inherit (hostPlatform)
|
||||
isDarwin isLinux isSunOS isCygwin isFreeBSD isOpenBSD isi686 isx86_64
|
||||
is64bit isMips isBigEndian;
|
||||
isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD
|
||||
isi686 isx86_64 is64bit isMips isBigEndian;
|
||||
isArm = hostPlatform.isArm32;
|
||||
isAarch64 = hostPlatform.isArm64;
|
||||
# Other code instead checks for anything using GNU userland,
|
||||
# e.g. GNU/linux. This refers just to GNU Hurd.
|
||||
isGNU = system == "i686-gnu";
|
||||
|
||||
# Whether we should run paxctl to pax-mark binaries.
|
||||
needsPax = isLinux;
|
||||
|
|
Loading…
Reference in New Issue