summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/darwin/default.nix4
-rw-r--r--pkgs/stdenv/default.nix42
-rw-r--r--pkgs/stdenv/generic/check-meta.nix2
-rw-r--r--pkgs/stdenv/generic/default.nix2
-rw-r--r--pkgs/stdenv/generic/setup.sh12
-rw-r--r--pkgs/stdenv/linux/default.nix28
-rw-r--r--pkgs/stdenv/native/default.nix4
7 files changed, 53 insertions, 41 deletions
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index b6a488ed2f2..86a6e33c942 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -39,7 +39,7 @@ in rec {
     export gl_cv_func_getcwd_abort_bug=no
   '';
 
-  bootstrapTools = derivation rec {
+  bootstrapTools = derivation {
     inherit system;
 
     name    = "bootstrap-tools";
@@ -142,7 +142,7 @@ in rec {
     };
 
   stage0 = stageFun 0 null {
-    overrides = self: super: with stage0; rec {
+    overrides = self: super: with stage0; {
       darwin = super.darwin // {
         Libsystem = stdenv.mkDerivation {
           name = "bootstrap-stage0-Libsystem";
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index 1f752f02152..b0db1be5f44 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -39,25 +39,25 @@ in
   if crossSystem != localSystem || crossOverlays != [] then stagesCross
   else if config ? replaceStdenv then stagesCustom
   else { # switch
-    "i686-linux" = stagesLinux;
-    "x86_64-linux" = stagesLinux;
-    "armv5tel-linux" = stagesLinux;
-    "armv6l-linux" = stagesLinux;
-    "armv6m-linux" = stagesLinux;
-    "armv7a-linux" = stagesLinux;
-    "armv7l-linux" = stagesLinux;
-    "armv7r-linux" = stagesLinux;
-    "armv7m-linux" = stagesLinux;
-    "armv8a-linux" = stagesLinux;
-    "armv8r-linux" = stagesLinux;
-    "armv8m-linux" = stagesLinux;
-    "aarch64-linux" = stagesLinux;
-    "mipsel-linux" = stagesLinux;
-    "powerpc-linux" = /* stagesLinux */ stagesNative;
-    "powerpc64le-linux" = stagesLinux;
-    "x86_64-darwin" = stagesDarwin;
-    "x86_64-solaris" = stagesNix;
-    "i686-cygwin" = stagesNative;
-    "x86_64-cygwin" = stagesNative;
-    "x86_64-freebsd" = stagesFreeBSD;
+    i686-linux = stagesLinux;
+    x86_64-linux = stagesLinux;
+    armv5tel-linux = stagesLinux;
+    armv6l-linux = stagesLinux;
+    armv6m-linux = stagesLinux;
+    armv7a-linux = stagesLinux;
+    armv7l-linux = stagesLinux;
+    armv7r-linux = stagesLinux;
+    armv7m-linux = stagesLinux;
+    armv8a-linux = stagesLinux;
+    armv8r-linux = stagesLinux;
+    armv8m-linux = stagesLinux;
+    aarch64-linux = stagesLinux;
+    mipsel-linux = stagesLinux;
+    powerpc-linux = /* stagesLinux */ stagesNative;
+    powerpc64le-linux = stagesLinux;
+    x86_64-darwin = stagesDarwin;
+    x86_64-solaris = stagesNix;
+    i686-cygwin = stagesNative;
+    x86_64-cygwin = stagesNative;
+    x86_64-freebsd = stagesFreeBSD;
   }.${localSystem.system} or stagesNative
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 1a96d9b3acf..b754230b0be 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -153,7 +153,7 @@ let
 
         '' + (builtins.getAttr reason remediation) attrs;
 
-      handler = if config ? "handleEvalIssue"
+      handler = if config ? handleEvalIssue
         then config.handleEvalIssue reason
         else throw;
     in handler msg;
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 1ef2ab52029..2f43db9cfc2 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -108,7 +108,7 @@ let
       __impureHostDeps = __stdenvImpureHostDeps;
     })
 
-    // rec {
+    // {
 
       meta = {
         description = "The default build environment for Unix packages in Nixpkgs";
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index ebcedce60b8..311292169ec 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -212,6 +212,18 @@ isELF() {
     if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi
 }
 
+# Return success if the specified file is an ELF object
+# and its e_type is ET_EXEC (executable file)
+isELFExec() {
+    grep -ao -P '^\177ELF.{11}\x00\x02' "$1" >/dev/null
+}
+
+# Return success if the specified file is an ELF object
+# and its e_type is ET_DYN (shared object file)
+isELFDyn() {
+    grep -ao -P '^\177ELF.{11}\x00\x03' "$1" >/dev/null
+}
+
 # Return success if the specified file is a script (i.e. starts with
 # "#!").
 isScript() {
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 390c7f1123e..8344c9dfb2b 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -8,21 +8,21 @@
 
 , bootstrapFiles ?
   let table = {
-    "glibc" = {
-      "i686-linux" = import ./bootstrap-files/i686.nix;
-      "x86_64-linux" = import ./bootstrap-files/x86_64.nix;
-      "armv5tel-linux" = import ./bootstrap-files/armv5tel.nix;
-      "armv6l-linux" = import ./bootstrap-files/armv6l.nix;
-      "armv7l-linux" = import ./bootstrap-files/armv7l.nix;
-      "aarch64-linux" = import ./bootstrap-files/aarch64.nix;
-      "mipsel-linux" = import ./bootstrap-files/loongson2f.nix;
-      "powerpc64le-linux" = import ./bootstrap-files/ppc64le.nix;
+    glibc = {
+      i686-linux = import ./bootstrap-files/i686.nix;
+      x86_64-linux = import ./bootstrap-files/x86_64.nix;
+      armv5tel-linux = import ./bootstrap-files/armv5tel.nix;
+      armv6l-linux = import ./bootstrap-files/armv6l.nix;
+      armv7l-linux = import ./bootstrap-files/armv7l.nix;
+      aarch64-linux = import ./bootstrap-files/aarch64.nix;
+      mipsel-linux = import ./bootstrap-files/loongson2f.nix;
+      powerpc64le-linux = import ./bootstrap-files/ppc64le.nix;
     };
-    "musl" = {
-      "aarch64-linux" = import ./bootstrap-files/aarch64-musl.nix;
-      "armv6l-linux"  = import ./bootstrap-files/armv6l-musl.nix;
-      "x86_64-linux"  = import ./bootstrap-files/x86_64-musl.nix;
-      "powerpc64le-linux" = import ./bootstrap-files/ppc64le-musl.nix;
+    musl = {
+      aarch64-linux = import ./bootstrap-files/aarch64-musl.nix;
+      armv6l-linux  = import ./bootstrap-files/armv6l-musl.nix;
+      x86_64-linux  = import ./bootstrap-files/x86_64-musl.nix;
+      powerpc64le-linux = import ./bootstrap-files/ppc64le-musl.nix;
     };
   };
 
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index ba53a6f1d14..f6e0df161ad 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -121,8 +121,8 @@ in
 
     cc = let
       nativePrefix = { # switch
-        "i686-solaris" = "/usr/gnu";
-        "x86_64-solaris" = "/opt/local/gcc47";
+        i686-solaris = "/usr/gnu";
+        x86_64-solaris = "/opt/local/gcc47";
       }.${system} or "/usr";
     in
     import ../../build-support/cc-wrapper {