* It is now possible to execute a builder using a shell inside the Nix
store, rather than outside (such as /bin/sh).
For instance, the Nix expression for the ATerm library now looks
like this:
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "aterm-2.0.5";
builder = ./builder.sh;
...
}
where `mkDerivation' is a helper function in `stdenv' that massages
the given attribute set into using the bash shell that is part of
the standard environment:
mkDerivation = attrs: derivation (att s // {
builder = pkgs.bash ~ /bin/sh;
args = ["-e" attrs.builder];
stdenv = (...);
system = (...).system;
});
Note that this makes it unnecessary to set the `stdenv' and `system'
attributes, since `mkDerivation' already does that.
svn path=/nixpkgs/trunk/; revision=866
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
#! /bin/sh
|
||||
|
||||
. $stdenv/setup
|
||||
|
||||
configureFlags="--with-gcc"
|
||||
genericBuild
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
derivation {
|
||||
stdenv.mkDerivation {
|
||||
name = "aterm-2.0.5";
|
||||
system = stdenv.system;
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://www.cwi.nl/projects/MetaEnv/aterm/aterm-2.0.5.tar.gz;
|
||||
md5 = "68aefb0c10b2ab876b8d3c0b2d0cdb1b";
|
||||
};
|
||||
inherit stdenv;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user