Age | Commit message (Collapse) | Author | Files | Lines |
|
`nix --query --requisites'.
|
|
* Point $HOME to a non-existing path when building to prevent certain tools (such as
wget) from falling back on /etc/passwd to locate the home directory (which we
don't want them to look at since it's not declared as an input).
|
|
slices and derivations w.r.t. order of paths, slice elements, etc.
|
|
keys to reference slice elements, e.g.,
Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...])
This was wrong, since ids represent contents, not locations. Therefore we
now have:
Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...])
* Fix a bug in the computation of slice closures that could cause slice
elements to be duplicated.
|
|
would not be properly closed under the path reference relation.
|
|
|
|
option `--keep-failed' to override this behaviour.
|
|
("srcs", [Relative("foo/bar.c"), Relative("foo/baz.h")])
The result is an environment variable that contains the path names of the
inputs separated by spaces (so this is not safe for values containing
spaces).
|
|
when PATH is not set. We don't want this, so fill it in with
some dummy value.
|
|
builder using the `args' binding:
("args", ["bla", True, IncludeFix("aterm/aterm.fix")])
Note that packages can also be declared as inputs by specifying them
in the argument list.
|
|
builder. Note that this unfortunately causes all Fix-computed
hashes to change.
|
|
|
|
|
|
|
|
|
|
when we delete entries from a directory while we are reading it.
So read the directory into memory, then delete its contents.
|
|
process is already holding a lock on a path, it may acquire the lock
again without blocking or failing). (This might be dangerous, not
sure). Necessary for fast builds to work.
|
|
a regular file. I.e., `nix-hash --flat' is equivalent to the
coreutils `md5sum' command (which doesn't exist on all systems).
|
|
* Allow booleans in package environment bindings (True maps to "1",
False maps to "").
|
|
|
|
|
|
normalise to Nix expression.
|
|
|
|
|
|
normal form in a single transaction to ensure that if we crash,
either everything is registered or nothing is. This is for
recoverability: unregistered paths in the store can be deleted
arbitrarily, while registered paths can only be deleted by running
the garbage collector.
|
|
* Simplified realiseSlice().
|
|
ensuring that simultaneous invocations of Nix don't clobber
each other's builds.
* Fixed a bug in `make install'.
|
|
|
|
|
|
* Open all database tables (Db objects) at initialisation time, not
every time they are used. This is necessary because tables have to
outlive all transactions that refer to them.
|
|
* Checkpoint on exit.
|
|
transaction support (but we don't actually use transactions yet).
|
|
|
|
|
|
Renamed `fstateRefs' to `fstateRequisites'. The semantics of this
function is that it returns a list of all paths necessary to realise
a given expression. For a derive expression, this is the union of
requisites of the inputs; for a slice expression, it is the path of
each element in the slice. Also included are the paths of the
expressions themselves. Optionally, one can also include the
requisites of successor expressions (to recycle intermediate
results).
* `nix-switch' now distinguishes between an expression and its normal
form. Usually, only the normal form is registered as a root of the
garbage collector. With the `--source-root' flag, it will also
register the original expression as a root.
* `nix-collect-garbage' now has a flag `--keep-successors' which
causes successors not to be included in the list of garbage paths.
* `nix-collect-garbage' now has a flag `--invert' which will print all
paths that should *not* be garbage collected.
|
|
|
|
this more efficient.
* A flag `-n' in 'nix --query' to normalise the argument. Default is
not to normalise.
|
|
* Some minor refactoring.
|
|
* `nix --query --graph' to print a dot dependency graph of derive
expressions.
|
|
|
|
instead (e.g., `-vvvv' for lots of output). Default is to only
print error messages.
|
|
to reach the disk at all. Looks like a bug.
|
|
up to the given verbosity levels. These currently are:
lvlError = 0,
lvlNormal = 5,
lvlDebug = 10,
lvlDebugMore = 15
although only lvlError and lvlDebug are actually used right now.
|
|
(Of course, the real problem is that we open the database for
*every* operation; we should only open it once. And we should use
transactions.)
|
|
* `make dist'.
|
|
|
|
substituting for (obvious, really).
* For greater efficiency, nix-pull/unnar will place the output in a
path that is probably the same as what is actually needed, thus
preventing a path copy.
* Even if a output id is given in a Fix package expression, ensure
that the resulting Nix derive expression has a different id. This
is because Nix expressions that are semantically equivalent (i.e.,
build the same result) might be different w.r.t. efficiency or
divergence. It is absolutely vital for the substitute mechanism
that such expressions are not used interchangeably.
|
|
corresponding to the given id.
|
|
(There should really be a switch for this).
|
|
|