diff options
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/darwin/default.nix | 4 | ||||
-rw-r--r-- | pkgs/stdenv/default.nix | 42 | ||||
-rw-r--r-- | pkgs/stdenv/generic/check-meta.nix | 2 | ||||
-rw-r--r-- | pkgs/stdenv/generic/default.nix | 2 | ||||
-rw-r--r-- | pkgs/stdenv/generic/setup.sh | 12 | ||||
-rw-r--r-- | pkgs/stdenv/linux/default.nix | 28 | ||||
-rw-r--r-- | pkgs/stdenv/native/default.nix | 4 |
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 { |