about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2015-10-07 Show progress during downloadsEelco Dolstra2-8/+47
2015-10-07 nix-prefetch-url: Add --name optionEelco Dolstra1-3/+7
This allows overriding the name component of the resulting Nix store path, which is necessary if the base name of the URI contains "illegal" characters.
2015-10-07 nix-prefetch-url -A: Use "name" attribute from Nix expressionEelco Dolstra1-1/+8
This is in particular useful for fetchFromGitHub et al., ensuring that the store path produced by nix-prefetch-url corresponds to what those functions expect.
2015-10-07 nix-prefetch-url: Support unpacking tarballsEelco Dolstra1-15/+47
This allows nix-prefetch-url to prefetch the output of fetchzip and its wrappers (like fetchFromGitHub). For example: $ nix-prefetch-url --unpack https://github.com/NixOS/patchelf/archive/0.8.tar.gz or from a Nix expression: $ nix-prefetch-url -A nix-repl.src In the latter case, --unpack can be omitted because nix-repl.src is a fetchFromGitHub derivation and thus has "outputHashMode" set to "recursive".
2015-10-06 nix-store --serve: Implement log size limitEelco Dolstra4-4/+8
2015-10-01 nix-prefetch-url: Support prefetching from a Nix expressionEelco Dolstra1-4/+36
For example, $ nix-prefetch-url -A hello.src will prefetch the file specified by the fetchurl call in the attribute ‘hello.src’ from the Nix expression in the current directory. This differs from ‘nix-build -A hello.src’ in that it doesn't verify the hash. You can also specify a path to the Nix expression: $ nix-prefetch-url ~/Dev/nixpkgs -A hello.src List elements (typically used in ‘patches’ attributes) also work: $ nix-prefetch-url -A portmidi.patches.0
2015-10-01 nix-prefetch-url: $PRINT_PATH -> --print-pathEelco Dolstra1-2/+6
2015-10-01 nix-prefetch-url: Rewrite in C++Eelco Dolstra3-0/+140
2015-09-18 Shut up clang warningsEelco Dolstra7-65/+67
2015-09-17 nix-env --upgrade: show "downgrading" when doing soVladimír Čunát1-2/+4
It was strange to show "upgrading" when the version was getting lower. This is left on "upgrading" when the versions are the same, as I can't see any better wording.
2015-09-17 nix-env --upgrade: avoid unexpected downgradesVladimír Čunát1-6/+8
Until now, if one explicitly installed a low-priority version, nix-env --upgrade would downgrade it by default and even with --leq. Let's never accept an upgrade with version not matching the upgradeType. Additionally, let's never decrease the priority of an installed package; you can use --install to force that. Also refactor to use variable bestVersion instead of bestName, as only version was used from it.
2015-09-03 Implement buildDerivation() via the daemonEelco Dolstra5-2/+34
2015-09-02 Filter build-chroot-dirs entries that conflict with derivation outputsEelco Dolstra1-4/+4
Fixes https://github.com/NixOS/nixpkgs/issues/9504. Note that this means we may have a non-functional /bin/sh in the chroot while rebuilding Bash or one of its dependencies. Ideally those packages don't rely on /bin/sh though.
2015-09-02 Remove unused variableEelco Dolstra1-5/+0
2015-08-24 Prevent .chroot from being GC'ed when using LocalStore::buildDerivation()Eelco Dolstra1-0/+4
Fixes #616.
2015-08-21 nix-collect-garbage: Revive --max-freedEelco Dolstra3-18/+11
Fixes #609.
2015-08-19 Remove unneeded HAVE_UNSHARE.Manolis Ragkousis1-1/+1
* src/libstore/build.cc (CHROOT_ENABLED): Remove HAVE_UNSHARE.
2015-08-07 baseNameOf: Enhance `basename` compatibilityKirill Elagin1-3/+12
* If the path ends with a slash, drop it. * If the remaining path doesn’t contain slashes, just return it. Fixes #574.
2015-08-04 Don't include <iostream> before config.hEelco Dolstra1-2/+2
This breaks the build on 32-bit systems. http://hydra.nixos.org/build/24373658
2015-08-03 Handle debug messages from runChild()Eelco Dolstra1-10/+16
Turns out that "nix-build -vvv" with chroots enabled has been broken for some time, because some debug message got interpreted as an error.
2015-08-03 Removed unnecessary includedIwan Aucamp1-1/+0
2015-07-31 Fix stack consumptionEelco Dolstra2-8/+3
2015-07-31 Output line number on infinite recursionIwan Aucamp3-13/+14
2015-07-28 Add sort primopEelco Dolstra1-1/+36
2015-07-28 Add primop genListEelco Dolstra1-0/+20
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 Dolstra1-1/+37
This is a generalisation of replaceChars in Nixpkgs.
2015-07-24 Add concatStringsSep as a primopEelco Dolstra1-0/+21
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 Dolstra1-1/+1
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 Dolstra1-0/+33
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 Levy1-1/+3
2015-07-23 Allow derivations-as-srcs in the context of builtins.toFile filesShea Levy1-2/+6
2015-07-23 Add foldl' primopEelco Dolstra1-0/+24
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 Dolstra7-5/+60
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 Dolstra1-1/+3
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-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 Maudoux1-6/+5