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; };
|
Linux = { kernel = kernels.linux; };
|
||||||
SunOS = { kernel = kernels.solaris; };
|
SunOS = { kernel = kernels.solaris; };
|
||||||
FreeBSD = { kernel = kernels.freebsd; };
|
FreeBSD = { kernel = kernels.freebsd; };
|
||||||
|
Hurd = { kernel = kernels.hurd; };
|
||||||
NetBSD = { kernel = kernels.netbsd; };
|
NetBSD = { kernel = kernels.netbsd; };
|
||||||
OpenBSD = { kernel = kernels.openbsd; };
|
OpenBSD = { kernel = kernels.openbsd; };
|
||||||
Windows = { kernel = kernels.windows; };
|
Windows = { kernel = kernels.windows; };
|
||||||
@ -27,7 +28,6 @@ rec {
|
|||||||
|
|
||||||
Arm32 = recursiveUpdate patterns.Arm patterns."32bit";
|
Arm32 = recursiveUpdate patterns.Arm patterns."32bit";
|
||||||
Arm64 = recursiveUpdate patterns.Arm patterns."64bit";
|
Arm64 = recursiveUpdate patterns.Arm patterns."64bit";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
predicates = mapAttrs'
|
predicates = mapAttrs'
|
||||||
|
@ -77,6 +77,7 @@ rec {
|
|||||||
{
|
{
|
||||||
darwin = { execFormat = macho; families = { inherit unix; }; };
|
darwin = { execFormat = macho; families = { inherit unix; }; };
|
||||||
freebsd = { execFormat = elf; families = { inherit unix bsd; }; };
|
freebsd = { execFormat = elf; families = { inherit unix bsd; }; };
|
||||||
|
hurd = { execFormat = elf; families = { inherit unix; }; };
|
||||||
linux = { execFormat = elf; families = { inherit unix; }; };
|
linux = { execFormat = elf; families = { inherit unix; }; };
|
||||||
netbsd = { execFormat = elf; families = { inherit unix bsd; }; };
|
netbsd = { execFormat = elf; families = { inherit unix bsd; }; };
|
||||||
none = { execFormat = unknown; families = { inherit unix; }; };
|
none = { execFormat = unknown; families = { inherit unix; }; };
|
||||||
@ -113,7 +114,9 @@ rec {
|
|||||||
mkSkeletonFromList = l: {
|
mkSkeletonFromList = l: {
|
||||||
"2" = # We only do 2-part hacks for things Nix already supports
|
"2" = # We only do 2-part hacks for things Nix already supports
|
||||||
if elemAt l 1 == "cygwin"
|
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; };
|
else { cpu = elemAt l 0; kernel = elemAt l 1; };
|
||||||
"3" = # Awkwards hacks, beware!
|
"3" = # Awkwards hacks, beware!
|
||||||
if elemAt l 1 == "apple"
|
if elemAt l 1 == "apple"
|
||||||
|
@ -226,7 +226,7 @@ stdenv.mkDerivation ({
|
|||||||
libc_dev = stdenv.cc.libc_dev;
|
libc_dev = stdenv.cc.libc_dev;
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (stdenv.isGNU
|
if (stdenv.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
&& libcCross ? crossConfig
|
&& libcCross ? crossConfig
|
||||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||||
|
@ -230,7 +230,7 @@ stdenv.mkDerivation ({
|
|||||||
libc_dev = stdenv.cc.libc_dev;
|
libc_dev = stdenv.cc.libc_dev;
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (stdenv.isGNU
|
if (stdenv.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
&& libcCross ? crossConfig
|
&& libcCross ? crossConfig
|
||||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||||
|
@ -247,7 +247,7 @@ stdenv.mkDerivation ({
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (stdenv.isGNU
|
if (stdenv.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
&& libcCross ? crossConfig
|
&& libcCross ? crossConfig
|
||||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||||
|
@ -229,7 +229,7 @@ stdenv.mkDerivation ({
|
|||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (stdenv.isGNU
|
if (stdenv.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
&& libcCross ? crossConfig
|
&& libcCross ? crossConfig
|
||||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||||
|
@ -230,7 +230,7 @@ stdenv.mkDerivation ({
|
|||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
if (stdenv.isGNU
|
if (stdenv.isHurd
|
||||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||||
&& libcCross ? crossConfig
|
&& libcCross ? crossConfig
|
||||||
&& libcCross.crossConfig == "i586-pc-gnu")
|
&& libcCross.crossConfig == "i586-pc-gnu")
|
||||||
|
@ -402,13 +402,10 @@ let
|
|||||||
|
|
||||||
# Utility flags to test the type of platform.
|
# Utility flags to test the type of platform.
|
||||||
inherit (hostPlatform)
|
inherit (hostPlatform)
|
||||||
isDarwin isLinux isSunOS isCygwin isFreeBSD isOpenBSD isi686 isx86_64
|
isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD
|
||||||
is64bit isMips isBigEndian;
|
isi686 isx86_64 is64bit isMips isBigEndian;
|
||||||
isArm = hostPlatform.isArm32;
|
isArm = hostPlatform.isArm32;
|
||||||
isAarch64 = hostPlatform.isArm64;
|
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.
|
# Whether we should run paxctl to pax-mark binaries.
|
||||||
needsPax = isLinux;
|
needsPax = isLinux;
|
||||||
|
Loading…
Reference in New Issue
Block a user