summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2011-12-12 16:54:35 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2011-12-12 16:54:35 +0000
commiteda3fd1730cdfe7302ad8891fca7bb09670e37b2 (patch)
tree7ca3e75279c237cb10ee9b365b0bc919a5f2eddc /pkgs/stdenv
parent5de58eb38778eef03e119545b21b2ad48c125482 (diff)
parentb0834a993ea0daa1a417d7d838764c828cee992c (diff)
* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=30852
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/adapters.nix20
-rw-r--r--pkgs/stdenv/generic/default.nix3
-rw-r--r--pkgs/stdenv/native/default.nix12
3 files changed, 22 insertions, 13 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 311d967c0a344..a1e8aafd7bc6d 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -302,7 +302,7 @@ rec {
               else
                 null;
           in
-            builtins.trace "@:drv:${toString drvPath}:${builtins.exprToString license}:@"
+            builtins.trace "@:drv:${toString drvPath}:${builtins.toString license}:@"
               val;
         in pkg // {
           outPath = printDrvPath pkg.outPath;
@@ -330,20 +330,24 @@ rec {
     { mkDerivation = args:
         let
           pkg = stdenv.mkDerivation args;
+          drv = builtins.unsafeDiscardStringContext pkg.drvPath;
           license =
             if pkg ? meta && pkg.meta ? license then
               pkg.meta.license
+            else if pkg ? outputHash then
+              # Fixed-output derivations such as source tarballs usually
+              # don't have licensing information, but that's OK.
+              null
             else
-              null;
+              builtins.trace
+                "warning: ${drv} lacks licensing information" null;
 
           validate = arg:
             if licensePred license then arg
-            else abort "
-              Error while building ${builtins.unsafeDiscardStringContext pkg.drvPath}:
-              The license predicate is not verified.
-
-              bad license: ${builtins.exprToString license}
-            ";
+            else abort ''
+              while building ${drv}:
+              license `${builtins.toString license}' does not pass the predicate.
+            '';
 
         in pkg // {
           outPath = validate pkg.outPath;
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index c01f0da93ee15..eca128bcd754a 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -98,7 +98,8 @@ let
                || result.system == "powerpc-linux"
                || result.system == "armv5tel-linux"
                || result.system == "mips64-linux";
-        isSunOS = result.system == "i386-sunos";
+        isSunOS = result.system == "i686-solaris"
+               || result.system == "x86_64-solaris";
         isCygwin = result.system == "i686-cygwin";
         isFreeBSD = result.system == "i686-freebsd"
                || result.system == "x86_64-freebsd";
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 6cb45909019d8..1f3fa69d51b00 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -1,10 +1,13 @@
-{system, allPackages ? import ../../..}:
+{ system, allPackages ? import ../../.. }:
 
 rec {
 
-  shell = "/bin/bash";
+  shell = 
+    if system == "i686-freebsd" || system == "x86_64-freebsd" then "/usr/local/bin/bash"
+    else "/bin/bash";
 
-  path = (if system == "i386-sunos" then [ "/usr/gnu" ] else []) ++
+  path = 
+    (if system == "i686-solaris" then [ "/usr/gnu" ] else []) ++
     (if system == "i686-netbsd" then [ "/usr/pkg" ] else []) ++
     ["/" "/usr" "/usr/local"];
 
@@ -87,6 +90,7 @@ rec {
       preHook =
         if system == "i686-darwin" || system == "powerpc-darwin" || system == "x86_64-darwin" then prehookDarwin else
         if system == "i686-freebsd" then prehookFreeBSD else
+        if system == "x86_64-freebsd" then prehookFreeBSD else
         if system == "i686-openbsd" then prehookOpenBSD else
 	if system == "i686-netbsd" then prehookNetBSD else
         prehookBase;
@@ -109,7 +113,7 @@ rec {
     name = "gcc-native";
     nativeTools = true;
     nativeLibc = true;
-    nativePrefix = if system == "i386-sunos" then "/usr/gnu" else "/usr";
+    nativePrefix = if system == "i686-solaris" then "/usr/gnu" else "/usr";
     stdenv = stdenvBoot0;
   };