- Jul 23, 2015
-
-
Eelco Dolstra authored
Pointed out by @cstrahan, thanks!
-
-
Eelco Dolstra authored
The value pointers of lists with 1 or 2 elements are now stored in the list value itself. In particular, this makes the "concatMap (x: if cond then [(f x)] else [])" idiom cheaper.
-
Eelco Dolstra authored
These are used thousands of times during NixOS evaluation, so it's useful to speed them up.
-
Shea Levy authored
-
Shea Levy authored
-
Eelco Dolstra authored
-
Eelco Dolstra authored
Such as whether Nix is built with signed binary cache support, and the location of the configuration file.
-
- Jul 21, 2015
-
-
Eelco Dolstra authored
Turns out getgrouplist() is not POSIX. http://hydra.nixos.org/build/23881243
-
- Jul 20, 2015
-
-
Eelco Dolstra authored
This ensures that 1) the derivation doesn't change when Nix changes; 2) the derivation closure doesn't contain Nix and its dependencies; 3) we don't have to rely on ugly chroot hacks.
-
Eelco Dolstra authored
In particular, hydra-queue-runner can now distinguish between remote build / substitution / already-valid. For instance, if a path already existed on the remote side, we don't want to store a log file.
-
- Jul 19, 2015
-
-
Eelco Dolstra authored
And make exportPath() less spammy by default.
-
Eelco Dolstra authored
This is mostly useful for hydra-queue-runner.
-
Eelco Dolstra authored
-
- Jul 17, 2015
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
Previously, to build a derivation remotely, we had to copy the entire closure of the .drv file to the remote machine, even though we only need the top-level derivation. This is very wasteful: the closure can contain thousands of store paths, and in some Hydra use cases, include source paths that are very large (e.g. Git/Mercurial checkouts). So now there is a new operation, StoreAPI::buildDerivation(), that performs a build from an in-memory representation of a derivation (BasicDerivation) rather than from a on-disk .drv file. The only files that need to be in the Nix store are the sources of the derivation (drv.inputSrcs), and the needed output paths of the dependencies (as described by drv.inputDrvs). "nix-store --serve" exposes this interface. Note that this is a privileged operation, because you can construct a derivation that builds any store path whatsoever. Fixing this will require changing the hashing scheme (i.e., the output paths should be computed from the other fields in BasicDerivation, allowing them to be verified without access to other derivations). However, this would be quite nice because it would allow .drv-free building (e.g. "nix-env -i" wouldn't have to write any .drv files to disk). Fixes #173.
-
Eelco Dolstra authored
Fixes #572.
-
Eelco Dolstra authored
Don't barf trying to read a link that just got deleted. Fixes #575.
-
Jaka Hudoklin authored
-
- Jul 14, 2015
-
-
Nicolas B. Pierron authored
This modification moves Attr and Bindings structures into their own header file which is dedicated to the attribute set representation. The goal of to isolate pieces of code which are related to the attribute set representation. Thus future modifications of the attribute set representation will only have to modify these files, and not every other file across the evaluator.
-
- Jul 03, 2015
-
-
Guillaume Maudoux authored
-
Guillaume Maudoux authored
-
- Jul 01, 2015
-
-
Eelco Dolstra authored
-
Ludovic Courtès authored
The following patch is an attempt to address this bug (see <http://bugs.gnu.org/18994>) by preserving the supplementary groups of build users in the build environment. In practice, I would expect that supplementary groups would contain only one or two groups: the build users group, and possibly the “kvm” group. [Changed &at(0) to data() and removed tabs - Eelco]
-
Eelco Dolstra authored
This reverts commit 76f985b9. We shouldn't mess with $MANPATH, because on some "man" implementations (like NixOS'), the default value on $MANPATH is derived from $PATH. So if you set $MANPATH, you lose the default locations.
-
- Jun 30, 2015
-
-
Eelco Dolstra authored
Issue #564.
-
- Jun 22, 2015
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
Issue #564.
-
- Jun 17, 2015
-
-
Eelco Dolstra authored
This didn't work (despite claims in the manual), because the colon in "http://" was parsed as a element separator. So handle "://" specially.
-
Eelco Dolstra authored
Fixes #558.
-
- Jun 15, 2015
-
-
Eelco Dolstra authored
-
- Jun 12, 2015
-
- Jun 11, 2015
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Jun 10, 2015
-
-
Eelco Dolstra authored
This is useful for the new hydra-queue-runner.
-
- Jun 09, 2015
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Jun 08, 2015
-
-
Eelco Dolstra authored
Fixes #548.
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-