Age | Commit message (Collapse) | Author |
|
less biased towards deleting paths that come alphabetically first
(e.g. /nix/store/000...). This matters when using --max-freed etc.
|
|
|
|
collector roots that point (directly or indirectly) to the given
paths.
|
|
root symlink, not just its target. E.g.:
/nix/var/nix/profiles/system-99-link -> /nix/store/76kwf88657nq7wgk1hx3l1z5q91zb9wd-system
|
|
complete set of live and dead paths before starting the actual
deletion, but determines liveness on demand. I.e. for any path in
the store, it first tries to delete all the referrers, and then the
path itself. This means that the collector can start deleting paths
almost immediately.
|
|
seem to be used anymore.
|
|
(Linux) machines no longer maintain the atime because it's too
expensive, and on the machines where --use-atime is useful (like the
buildfarm), reading the atimes on the entire Nix store takes way too
much time to make it practical.
|
|
Nix though.
|
|
doesn't exist. The Debian packages don't include the manifests
directory, so nix-channel would silently skip doing a nix-pull,
resulting in everything being built from source. Thanks to Juan
Pedro Bolívar Puente.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fails. This is likely to happen after a `nix-store --optimise',
because some files may have 32000 links (NIX-111).
|
|
|
|
show the string, not the ATerm, so we get `trace: bla' instead of
`trace: Str("bla",[])'.
|
|
pass derivation paths to a builder without actually building them.
|
|
trying to upgrade a package.
|
|
manager work on OpenSolaris
|
|
size support
Defining -D_FILE_OFFSET_BITS=64 works on most platforms, but not on all (i.e.
Solaris). Also, the Autoconf macro offers the user a switch to disable the
functionality in case of problems.
|
|
apparently).
|
|
|
|
|
|
|
|
|
|
|
|
of them leave the evaluator in a continuable state. Also, it should
be less chatty.
|
|
reasons for a while (e.g. http://hydra.nixos.org/build/79164).
|
|
|
|
|
|
|
|
|
|
get the Debian VM builds to work (where /nix/store is a mount point
containing the store of the host).
|
|
|
|
|
|
giving jobs to the first machine until it hits its job limit, then
the second machine and so on. This should improve utilisation of
the Hydra build farm a lot. Also take an optional speed factor
into account to cause fast machines to be preferred over slower
machines with a similar load.
|
|
of system types. Don't treat the x86_64-linux system type
specially.
|
|
intersectAttrs returns the (right-biased) intersection between two
attribute sets, e.g. every attribute from the second set that also
exists in the first. functionArgs returns the set of attributes
expected by a function.
The main goal of these is to allow the elimination of most of
all-packages.nix. Most package instantiations in all-packages.nix
have this form:
foo = import ./foo.nix {
inherit a b c;
};
With intersectAttrs and functionArgs, this can be written as:
foo = callPackage (import ./foo.nix) { };
where
callPackage = f: args:
f ((builtins.intersectAttrs (builtins.functionArgs f) pkgs) // args);
I.e., foo.nix is called with all attributes from "pkgs" that it
actually needs (e.g., pkgs.a, pkgs.b and pkgs.c). (callPackage can
do any other generic package-level stuff we might want, such as
applying makeOverridable.) Of course, the automatically supplied
arguments can be overriden if needed, e.g.
foo = callPackage (import ./foo.nix) {
c = c_version_2;
};
but for the vast majority of packages, this won't be needed.
The advantages are to reduce the amount of typing needed to add a
dependency (from three sites to two), and to reduce the number of
trivial commits to all-packages.nix. For the former, there have
been two previous attempts:
- Use "args: with args;" in the package's function definition.
This however obscures the actual expected arguments of a
function, which is very bad.
- Use "{ arg1, arg2, ... }:" in the package's function definition
(i.e. use the ellipis "..." to allow arbitrary additional
arguments), and then call the function with all of "pkgs" as an
argument. But this inhibits error detection if you call it with
an misspelled (or obsolete) argument.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useful for fields like meta.maintainers, meta.priority (which can be
a proper integer now) and even meta.license (if there are multiple
licenses).
|