Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
(e.g. out of memory or a segfault), print an error message.
Otherwise the user doesn't see anything.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
work, because findRoots() stops when it encounters a symlink to the
store. And of course the store is supposed to be read-only.
|
|
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.
|
|
|
|
|
|
|
|
|
|
to functions from the command line.
* nix-build: started removing backticks.
|
|
$ nix-build .../i686-linux.nix -A apacheHttpd -o apache
|
|
|
|
that arrays are a bash extension, so it didn't work on FreeBSD).
Also fixes NIX-8 (readlink(1) dependency).
|
|
Example:
$ nix-build ./all-packages.nix -A xlibs.libX11
So finally it's easy to perform a test build of a Nix expression!
|
|
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'.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
* Use the new patch downloader.
|
|
dangling.
|
|
* Handle multiple derivations correctly.
|
|
store object just built.
|
|
|
|
their output paths (and only that) on standard output.
|