about summary refs log tree commit diff
path: root/scripts/nix-build.in (follow)
AgeCommit message (Collapse)AuthorFilesLines
2013-04-23 nix-build: Respect --timeoutEelco Dolstra1-1/+1
2012-11-26 Undo accidental debug changeEelco Dolstra1-1/+1
2012-11-26 Make "nix-build -A <derivation>.<output>" do the right thingEelco Dolstra1-3/+21
For example, given a derivation with outputs "out", "man" and "bin": $ nix-build -A pkg produces ./result pointing to the "out" output; $ nix-build -A pkg.man produces ./result-man pointing to the "man" output; $ nix-build -A pkg.all produces ./result, ./result-man and ./result-bin; $ nix-build -A pkg.all -A pkg2 produces ./result, ./result-man, ./result-bin and ./result-2.
2012-10-03 When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra1-24/+2
I.e. do what git does. I'm too lazy to keep the builtin help text up to date :-) Also add ‘--help’ to various commands that lacked it (e.g. nix-collect-garbage).
2012-10-03 nix-build: Support ‘--repair’ flagEelco Dolstra1-1/+1
2012-08-27 Merge branch 'master' into no-manifestsEelco Dolstra1-6/+6
2012-08-24 Include the output name in the GC root linkEelco Dolstra1-6/+6
Output names are now appended to resulting GC symlinks, e.g. by nix-build. For backwards compatibility, if the output is named "out", nothing is appended. E.g. doing "nix-build -A foo" on a derivation that produces outputs "out", "bin" and "dev" will produce symlinks "./result", "./result-bin" and "./result-dev", respectively.
2012-07-26 Merge branch 'master' into no-manifestsEelco Dolstra1-0/+4
2012-07-23 nix-build: Support the ‘-’ argument to build an expression from stdinEelco Dolstra1-0/+4
2012-07-11 Add some missing --version switchesEelco Dolstra1-0/+5
2012-04-10 Handle the case where $SHELL is not setEelco Dolstra1-1/+2
2012-03-27 Update "nix-build --help"Eelco Dolstra1-1/+6
2012-03-27 Add an option "--exclude" to filter dependencies in "nix-build --run-env"Eelco Dolstra1-1/+9
Sometimes when doing "nix-build --run-env" you don't want all dependencies to be built. For instance, if we want to do "--run-env" on the "build" attribute in Hydra's release.nix (to get Hydra's build environment), we don't want its "tarball" dependency to be built. So we can do: $ nix-build --run-env release.nix -A build --exclude 'hydra-tarball' This will skip the dependency whose name matches the "hydra-tarball" regular expression. The "--exclude" option can be repeated any number of times.
2012-03-27 Allow the command executed by "nix-build --run-env" to be overriden with ↵Eelco Dolstra1-1/+9
--command
2012-03-19 Add a command "nix-build --run-env" to reproduce the environment of a derivationEelco Dolstra1-0/+29
This command builds or fetches all dependencies of the given derivation, then starts a shell with the environment variables from the derivation. This shell also sources $stdenv/setup to initialise the environment further. The current directory is not changed. Thus this is a convenient way to reproduce a build environment in an existing working tree. Existing environment variables are left untouched (unless the derivation overrides them). As a special hack, the original value of $PATH is appended to the $PATH produced by $stdenv/setup. Example session: $ nix-build --run-env '<nixpkgs>' -A xterm (the dependencies of xterm are built/fetched...) $ tar xf $src $ ./configure $ make $ emacs (... hack source ...) $ make $ ./xterm
2012-01-13 * nix-build: put the temporary derivation symlink in a temporaryEelco Dolstra1-28/+9
directory rather than the current directory. * nix-build: --drv-link now implies --add-drv-link.
2012-01-05 * Add a -I flag to the Perl bindings to nix-build and some otherEelco Dolstra1-1/+1
scripts. * Include the version and architecture in the -I flag so that there is at least a chance that a Nix binary built for one Perl version will run on another version.
2012-01-03 * Use Nix::Config.Eelco Dolstra1-4/+3
2011-10-10 * Set the executable bit on scripts.Eelco Dolstra1-0/+0
2011-08-06 * Add a Nix expression search path feature. Paths between angleEelco Dolstra1-2/+2
brackets, e.g. import <nixpkgs/pkgs/lib> are resolved by looking them up relative to the elements listed in the search path. This allows us to get rid of hacks like import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib" The search path can be specified through the ‘-I’ command-line flag and through the colon-separated ‘NIX_PATH’ environment variable, e.g., $ nix-build -I /etc/nixos ... If a file is not found in the search path, an error message is lazily thrown.
2010-08-30 * When using the build hook, distinguish between the stderr of theEelco Dolstra1-1/+6
hook script proper, and the stdout/stderr of the builder. Only the latter should be saved in /nix/var/log/nix/drvs. * Allow the verbosity to be set through an option. * Added a flag --quiet to lower the verbosity level.
2010-08-11 * nix-build: recognise --cores.Eelco Dolstra1-1/+1
2009-12-09 * nix-build: be less verbose.Eelco Dolstra1-1/+8
2009-07-15 * nix-build: pass the --show-trace flag.Eelco Dolstra1-0/+4
2009-06-10 * nix-build: if nix-instantiate or nix-store fails due to a signalEelco Dolstra1-2/+8
(e.g. out of memory or a segfault), print an error message. Otherwise the user doesn't see anything.
2009-03-18 * Clean up some tests (use nix-build where appropriate).Eelco Dolstra1-1/+8
2009-02-27 * nix-build: support --option.Eelco Dolstra1-0/+7
2009-01-13 (no commit message)Eelco Dolstra1-1/+1
2008-11-20 * Urgh.Eelco Dolstra1-2/+4
2008-08-04 * nix-build: `--dry-run' flag.Eelco Dolstra1-0/+9
2007-11-15 * nix-build: pass --argstr to nix-instantiate.Eelco Dolstra1-3/+3
2007-06-11 * Check against creation of GC roots in the store. Those roots don'tEelco Dolstra1-2/+2
work, because findRoots() stops when it encounters a symlink to the store. And of course the store is supposed to be read-only.
2006-12-08 * Kill a build if it has gone for more than a certain number ofEelco Dolstra1-0/+6
seconds without producing output on stdout or stderr (NIX-65). This timeout can be specified using the `--max-silent-time' option or the `build-max-silent-time' configuration setting. The default is infinity (0). * Fix a tricky race condition: if we kill the build user before the child has done its setuid() to the build user uid, then it won't be killed, and we'll potentially lock up in pid.wait(). So also send a conventional kill to the child.
2006-10-31 * Oops, `nix-build --no-out-link' was broken.Eelco Dolstra1-1/+1
2006-10-19 * nix-build: check the exit status of `nix-store -r'.Eelco Dolstra1-4/+6
2006-08-04 * Use old-school pipe opens; the new style is Perl >= 5.8.0.Eelco Dolstra1-2/+3
2006-08-01 * Better error checking.Eelco Dolstra1-2/+2
2006-07-28 * `nix-instantiate ... --arg NAME VALUE': allow arguments to be passedEelco Dolstra1-2/+10
to functions from the command line. * nix-build: started removing backticks.
2006-03-14 * Allow the resulting symlink of nix-build to be named, e.g.,Eelco Dolstra1-9/+31
$ nix-build .../i686-linux.nix -A apacheHttpd -o apache
2006-03-03 * More online help.Eelco Dolstra1-1/+15
2006-03-03 * Rewrote nix-build in Perl, since sh is just too limited (turns outEelco Dolstra1-78/+87
that arrays are a bash extension, so it didn't work on FreeBSD). Also fixes NIX-8 (readlink(1) dependency).
2006-02-10 * Enable the --attr in nix-build as well (and add -A as an alias).Eelco Dolstra1-6/+15
Example: $ nix-build ./all-packages.nix -A xlibs.libX11 So finally it's easy to perform a test build of a Nix expression!
2005-07-13 * nix-build: default to `./default.nix' if no paths are specified.Eelco Dolstra1-28/+38
So when using Nix as a build tool, you can just say `nix-build' and it will build the top-level derivation defined in `default.nix'.
2005-02-01 * Remove debug code.Eelco Dolstra1-2/+2
2005-02-01 * nix-build: use an indirection scheme to make it easier for users toEelco Dolstra1-17/+28
get rid of GC roots. Nix-build places a symlink `result' in the current directory. Previously, removing that symlink would not remove the store path being linked to as a GC root. Now, the GC root created by nix-build is actually a symlink in `/nix/var/nix/gcroots/auto' to `result'. So if that symlink is removed the GC root automatically becomes invalid (since it can no longer be resolved). The root itself is not automatically removed - the garbage collector should delete dangling roots.
2005-02-01 * nix-store, nix-instantiate: added an option `--add-root' toEelco Dolstra1-2/+9
immediately add the result as a permanent GC root. This is the only way to prevent a race with the garbage collector. For instance, the old style ln -s $(nix-store -r $(nix-instantiate foo.nix)) \ /nix/var/nix/gcroots/result has two time windows in which the garbage collector can interfere (by GC'ing the derivation and the output, respectively). On the other hand, nix-store --add-root /nix/var/nix/gcroots/result -r \ $(nix-instantiate --add-root /nix/var/nix/gcroots/drv \ foo.nix) is safe. * nix-build: use `--add-root' to prevent GC races.
2005-01-27 * Fix and simplify the garbage collector (it's still not concurrent,Eelco Dolstra1-1/+1
though). In particular it's now much easier to register a GC root. Just place a symlink to whatever store path it is that you want to keep in /nix/var/nix/gcroots.
2005-01-14 * Use absolute paths.Eelco Dolstra1-2/+2
2004-12-20 * Place manifests in /nix/var/nix/manifests.Eelco Dolstra1-0/+0
* Use the new patch downloader.
2004-10-31 * Fix `File exists' errors if the `result' symlink exists but isEelco Dolstra1-5/+4
dangling.