aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-31Output line number on infinite recursionIwan Aucamp
2015-07-28Add sort primopEelco Dolstra
2015-07-28Add primop genListEelco Dolstra
This can be used to implement functions like ‘imap’ (or for that matter, ‘map’) without the quadratic complexity incurred by calling ‘++’ repeatedly.
2015-07-26Remove unnecessary parenthesesEelco Dolstra
2015-07-24Add replaceStrings primopEelco Dolstra
This is a generalisation of replaceChars in Nixpkgs.
2015-07-24Add concatStringsSep as a primopEelco Dolstra
This fixes the quadratic behaviour of concatStrings/concatStringsSep in Nixpkgs.
2015-07-23CleanupEelco Dolstra
2015-07-23Optimize empty setsEelco Dolstra
This reduces the number of Bindings allocations by about 10%.
2015-07-23Fix fetchurl of executable fileEelco Dolstra
Pointed out by @cstrahan, thanks!
2015-07-23Merge branch 'attr-set-hh' of https://github.com/nbp/nixEelco Dolstra
Conflicts: src/libexpr/eval.cc
2015-07-23Optimize small listsEelco Dolstra
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.
2015-07-23Add primops all and anyEelco Dolstra
These are used thousands of times during NixOS evaluation, so it's useful to speed them up.
2015-07-23Importing derivations: Add name attribute to make a valid drvShea Levy
2015-07-23Allow derivations-as-srcs in the context of builtins.toFile filesShea Levy
2015-07-23Add foldl' primopEelco Dolstra
2015-07-23--version: Print some config infoEelco Dolstra
Such as whether Nix is built with signed binary cache support, and the location of the configuration file.
2015-07-21Fix Darwin buildEelco Dolstra
Turns out getgrouplist() is not POSIX. http://hydra.nixos.org/build/23881243
2015-07-20Make <nix/fetchurl.nix> a builtin builderEelco Dolstra
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.
2015-07-20Provide more detailed info about build status to hydra-queue-runnerEelco Dolstra
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.
2015-07-20nix-copy-closure: Add -v flagEelco Dolstra
And make exportPath() less spammy by default.
2015-07-20Support systemd log severity prefixesEelco Dolstra
This is mostly useful for hydra-queue-runner.
2015-07-20More cleanupEelco Dolstra
2015-07-17OCD: foreach -> C++11 ranged forEelco Dolstra
2015-07-17Allow remote builds without sending the derivation closureEelco Dolstra
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.
2015-07-17Make printValue() interruptibleEelco Dolstra
Fixes #572.
2015-07-17nix-collect-garbage: Handle ENOENTEelco Dolstra
Don't barf trying to read a link that just got deleted. Fixes #575.
2015-07-17Add DockerfileJaka Hudoklin
2015-07-14Move attribute set data structures into their own header file.Nicolas B. Pierron
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.
2015-07-03Fix the parsing of "$"'s in strings.Guillaume Maudoux
2015-07-03Fix the hack that resets the scanner state.Guillaume Maudoux
2015-07-02TypoEelco Dolstra
2015-07-01Preserve supplementary groups of build usersLudovic Courtès
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]
2015-07-01Revert "add the manpath to the installer"Eelco Dolstra
This reverts commit 76f985b92d95fef967c1f3193d05244ced15420b. 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.
2015-06-30GC: Handle ENOSPC creating/moving to the trash directoryEelco Dolstra
Issue #564.
2015-06-22Use posix_fallocate to create /nix/var/nix/db/reservedEelco Dolstra
2015-06-22Make /nix/var/nix/db/reserved biggerEelco Dolstra
Issue #564.
2015-06-17Support URLs in $NIX_PATHEelco Dolstra
This didn't work (despite claims in the manual), because the colon in "http://" was parsed as a element separator. So handle "://" specially.
2015-06-17Debian package: Declare runtime dependency on libsodium13Eelco Dolstra
Fixes #558.
2015-06-15BumpEelco Dolstra
2015-06-12TyposEelco Dolstra
2015-06-12nix-channel: Fix bogus error message caused by ↵Eelco Dolstra
8a84bd8c8bda1e4c6764c10ecdef9d74e4884800
2015-06-12Update release notesEelco Dolstra
2015-06-10Export outputPaths functionEelco Dolstra
This is useful for the new hydra-queue-runner.
2015-06-09Install serve-protocol.hhEelco Dolstra
2015-06-09Use std::vector::data()Eelco Dolstra
2015-06-08nix-push: Support -jEelco Dolstra
Fixes #548.
2015-06-08Update cacert locationsEelco Dolstra
2015-06-08Fix manualEelco Dolstra
2015-06-04Allow substitutes for builds that have preferLocalBuild setEelco Dolstra
Not substituting builds with "preferLocalBuild = true" was a bad idea, because it didn't take the cost of dependencies into account. For instance, if we can't substitute a fetchgit call, then we have to download/build git and all its dependencies. Partially reverts 5558652709f27e8a887580b77b93c705659d7a4b and adds a new derivation attribute "allowSubstitutes" to specify whether a derivation may be substituted.
2015-06-04copy-from-other-stores: Use cpEelco Dolstra