about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2015-07-28 Add sort primopEelco Dolstra4-1/+68
2015-07-28 Add primop genListEelco Dolstra3-3/+41
This can be used to implement functions like ‘imap’ (or for that matter, ‘map’) without the quadratic complexity incurred by calling ‘++’ repeatedly.
2015-07-26 Remove unnecessary parenthesesEelco Dolstra1-2/+2
2015-07-24 Add replaceStrings primopEelco Dolstra4-1/+63
This is a generalisation of replaceChars in Nixpkgs.
2015-07-24 Add concatStringsSep as a primopEelco Dolstra3-0/+30
This fixes the quadratic behaviour of concatStrings/concatStringsSep in Nixpkgs.
2015-07-23 CleanupEelco Dolstra2-18/+13
2015-07-23 Optimize empty setsEelco Dolstra3-4/+14
This reduces the number of Bindings allocations by about 10%.
2015-07-23 Fix fetchurl of executable fileEelco Dolstra2-2/+2
Pointed out by @cstrahan, thanks!
2015-07-23 Merge branch 'attr-set-hh' of https://github.com/nbp/nixEelco Dolstra4-94/+142
Conflicts: src/libexpr/eval.cc
2015-07-23 Optimize small listsEelco Dolstra11-121/+157
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-23 Add primops all and anyEelco Dolstra4-0/+67
These are used thousands of times during NixOS evaluation, so it's useful to speed them up.
2015-07-23 Importing derivations: Add name attribute to make a valid drvShea Levy2-3/+5
2015-07-23 Allow derivations-as-srcs in the context of builtins.toFile filesShea Levy1-2/+6
2015-07-23 Add foldl' primopEelco Dolstra3-1/+38
2015-07-23 --version: Print some config infoEelco Dolstra3-2/+28
Such as whether Nix is built with signed binary cache support, and the location of the configuration file.
2015-07-21 Fix Darwin buildEelco Dolstra1-1/+4
Turns out getgrouplist() is not POSIX. http://hydra.nixos.org/build/23881243
2015-07-20 Make <nix/fetchurl.nix> a builtin builderEelco Dolstra9-20/+61
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-20 Provide more detailed info about build status to hydra-queue-runnerEelco Dolstra2-47/+75
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-20 nix-copy-closure: Add -v flagEelco Dolstra4-3/+15
And make exportPath() less spammy by default.
2015-07-20 Support systemd log severity prefixesEelco Dolstra3-1/+18
This is mostly useful for hydra-queue-runner.
2015-07-20 More cleanupEelco Dolstra9-296/+184
2015-07-17 OCD: foreach -> C++11 ranged forEelco Dolstra30-874/+849
2015-07-17 Allow remote builds without sending the derivation closureEelco Dolstra12-154/+372
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-17 Make printValue() interruptibleEelco Dolstra1-0/+2
Fixes #572.
2015-07-17 nix-collect-garbage: Handle ENOENTEelco Dolstra1-1/+6
Don't barf trying to read a link that just got deleted. Fixes #575.
2015-07-17 Add DockerfileJaka Hudoklin1-0/+23
2015-07-14 Move attribute set data structures into their own header file.Nicolas B. Pierron4-94/+142
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-03 Fix the parsing of "$"'s in strings.Guillaume Maudoux3-7/+8
2015-07-03 Fix the hack that resets the scanner state.Guillaume Maudoux2-42/+19
2015-07-02 TypoEelco Dolstra1-1/+1
2015-07-01 Preserve supplementary groups of build usersLudovic Courtès1-2/+18
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-01 Revert "add the manpath to the installer"Eelco Dolstra1-1/+0
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-30 GC: Handle ENOSPC creating/moving to the trash directoryEelco Dolstra1-8/+23
Issue #564.
2015-06-22 Use posix_fallocate to create /nix/var/nix/db/reservedEelco Dolstra1-1/+11
2015-06-22 Make /nix/var/nix/db/reserved biggerEelco Dolstra1-1/+1
Issue #564.
2015-06-17 Support URLs in $NIX_PATHEelco Dolstra3-1/+32
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-17 Debian package: Declare runtime dependency on libsodium13Eelco Dolstra1-1/+3
Fixes #558.
2015-06-15 BumpEelco Dolstra1-1/+1
2015-06-12 TyposEelco Dolstra1-12/+12
2015-06-12 nix-channel: Fix bogus error message caused by ↵Eelco Dolstra1-3/+3
8a84bd8c8bda1e4c6764c10ecdef9d74e4884800
2015-06-12 Update release notesEelco Dolstra1-1/+1
2015-06-10 Export outputPaths functionEelco Dolstra3-11/+12
This is useful for the new hydra-queue-runner.
2015-06-09 Install serve-protocol.hhEelco Dolstra1-1/+2
2015-06-09 Use std::vector::data()Eelco Dolstra3-12/+8
2015-06-08 nix-push: Support -jEelco Dolstra1-1/+6
Fixes #548.
2015-06-08 Update cacert locationsEelco Dolstra2-5/+9
2015-06-08 Fix manualEelco Dolstra1-3/+3
2015-06-04 Allow substitutes for builds that have preferLocalBuild setEelco Dolstra3-10/+18
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-04 copy-from-other-stores: Use cpEelco Dolstra1-1/+1
2015-06-04 Chown files created for passAsFileEelco Dolstra1-2/+7
Nixpkgs' writeTextAsFile does this: mv "$textPath" "$n" Since $textPath was owned by root, if $textPath is on the same filesystem as $n, $n will be owned as root. As a result, the build result was rejected as having suspicious ownership. http://hydra.nixos.org/build/22836807