summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-05-10 01:55:26 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-05-10 01:55:26 -0400
commit006422d08d7f0576d745baa23328e951e0f7b4c2 (patch)
treecc8c8d5c08feaa648003a01d2c5f692ee5b188c6 /lib
parentdf062e3f7be4724973e4bcfa65e304b6a7ef746a (diff)
parentfeb648ce59ffbed94c58133eb7aa2761992a35e1 (diff)
downloadnixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.tar
nixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.tar.gz
nixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.tar.bz2
nixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.tar.lz
nixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.tar.xz
nixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.tar.zst
nixpkgs-006422d08d7f0576d745baa23328e951e0f7b4c2.zip
Merge commit 'feb648ce59ffbed94c58133eb7aa2761992a35e1' into staging
Diffstat (limited to 'lib')
-rw-r--r--lib/systems/default.nix1
-rw-r--r--lib/systems/examples.nix24
-rw-r--r--lib/systems/inspect.nix1
-rw-r--r--lib/systems/parse.nix9
4 files changed, 25 insertions, 10 deletions
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index e7346a538d3..0e1a10c1f64 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -29,6 +29,7 @@ rec {
         /**/ if final.isDarwin              then "libSystem"
         else if final.isMinGW               then "msvcrt"
         else if final.isMusl                then "musl"
+        else if final.isUClibc              then "uclibc"
         else if final.isAndroid             then "bionic"
         else if final.isLinux /* default */ then "glibc"
         # TODO(@Ericson2314) think more about other operating systems
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index fdb120ebb5c..7b34513d837 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -11,22 +11,19 @@ rec {
 
   sheevaplug = rec {
     config = "armv5tel-unknown-linux-gnueabi";
-    arch = "armv5tel";
     float = "soft";
     platform = platforms.sheevaplug;
   };
 
   raspberryPi = rec {
     config = "armv6l-unknown-linux-gnueabihf";
-    arch = "armv6l";
     float = "hard";
     fpu = "vfp";
     platform = platforms.raspberrypi;
   };
 
   armv7l-hf-multiplatform = rec {
-    config = "arm-unknown-linux-gnueabihf";
-    arch = "armv7-a";
+    config = "armv7a-unknown-linux-gnueabihf";
     float = "hard";
     fpu = "vfpv3-d16";
     platform = platforms.armv7l-hf-multiplatform;
@@ -34,13 +31,11 @@ rec {
 
   aarch64-multiplatform = rec {
     config = "aarch64-unknown-linux-gnu";
-    arch = "aarch64";
     platform = platforms.aarch64-multiplatform;
   };
 
   aarch64-android-prebuilt = rec {
     config = "aarch64-unknown-linux-android";
-    arch = "aarch64";
     platform = platforms.aarch64-multiplatform;
     useAndroidPrebuilt = true;
   };
@@ -51,15 +46,26 @@ rec {
   };
 
   pogoplug4 = rec {
-    arch = "armv5tel";
     config = "armv5tel-unknown-linux-gnueabi";
     float = "soft";
     platform = platforms.pogoplug4;
   };
 
+  ben-nanonote = rec {
+    config = "mipsel-unknown-linux-uclibc";
+    float = "soft";
+    platform = {
+      name = "ben_nanonote";
+      kernelMajor = "2.6";
+      kernelArch = "mips";
+      gcc = {
+        arch = "mips32";
+      };
+    };
+  };
+
   fuloongminipc = rec {
     config = "mipsel-unknown-linux-gnu";
-    arch = "mips";
     float = "hard";
     platform = platforms.fuloong2f_n32;
   };
@@ -128,7 +134,6 @@ rec {
   # 32 bit mingw-w64
   mingw32 = {
     config = "i686-pc-mingw32";
-    arch = "x86"; # Irrelevant
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
     platform = {};
   };
@@ -137,7 +142,6 @@ rec {
   mingwW64 = {
     # That's the triplet they use in the mingw-w64 docs.
     config = "x86_64-pc-mingw32";
-    arch = "x86_64"; # Irrelevant
     libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
     platform = {};
   };
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 63f9fab4f67..9960954e464 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -38,6 +38,7 @@ rec {
 
     isAndroid      = [ { abi = abis.android; } { abi = abis.androideabi; } ];
     isMusl         = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf ];
+    isUClibc       = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ];
 
     isEfi          = map (family: { cpu.family = family; })
                        [ "x86" "arm" "aarch64" ];
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 018fd172e68..16d657a5435 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -69,9 +69,15 @@ rec {
   cpuTypes = with significantBytes; setTypes types.openCpuType {
     arm      = { bits = 32; significantByte = littleEndian; family = "arm"; };
     armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; };
+    armv6m   = { bits = 32; significantByte = littleEndian; family = "arm"; };
     armv6l   = { bits = 32; significantByte = littleEndian; family = "arm"; };
     armv7a   = { bits = 32; significantByte = littleEndian; family = "arm"; };
+    armv7r   = { bits = 32; significantByte = littleEndian; family = "arm"; };
+    armv7m   = { bits = 32; significantByte = littleEndian; family = "arm"; };
     armv7l   = { bits = 32; significantByte = littleEndian; family = "arm"; };
+    armv8a   = { bits = 32; significantByte = littleEndian; family = "arm"; };
+    armv8r   = { bits = 32; significantByte = littleEndian; family = "arm"; };
+    armv8m   = { bits = 32; significantByte = littleEndian; family = "arm"; };
     aarch64  = { bits = 64; significantByte = littleEndian; family = "arm"; };
     i686     = { bits = 32; significantByte = littleEndian; family = "x86"; };
     x86_64   = { bits = 64; significantByte = littleEndian; family = "x86"; };
@@ -195,6 +201,9 @@ rec {
     musleabi = {};
     musleabihf = {};
     musl = {};
+    uclibceabihf = {};
+    uclibceabi = {};
+    uclibc = {};
 
     unknown = {};
   };