aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-06-12Add temporary statsEelco Dolstra
2018-06-12Cache parse treesEelco Dolstra
This prevents EvalState::resetFileCache() from parsing everything all over again.
2018-06-12Remove duplicate definition of allocBytes()Eelco Dolstra
2018-06-12Fix #2162: use getaddrinfo instead of curl to preload NSSYorick van Pelt
2018-06-11libstore/gc.cc: ignore ESRCH when reading /procSymphorien Gibol
If a process disappears between the time /proc/[pid]/maps is opened and the time it is read, the read() syscall will return ESRCH. This should be ignored.
2018-06-08use debug instead of printTalkative to avoid spamming hydra queueAmineChikhaoui
runner logs.
2018-06-05Don't require --fallback to recover from disappeared binary cache NARsEelco Dolstra
2018-06-05Handle HTTP 410 Gone errorsEelco Dolstra
2018-06-05Improve binary cache fallback testEelco Dolstra
2018-06-05Further improve upload messagesEelco Dolstra
2018-06-01download.cc: fix readCallback return type (int -> size_t)Will Dietz
I'm not sure if curl ever asks for enough data at once for truncation to occur but better safe than sorry.
2018-06-01Improve binary cache upload messagesEelco Dolstra
Don't say "download" when we mean "upload".
2018-05-31Merge pull request #767 from mogorman/garbage_collect_keep_last_fewPeter Simons
Implement --delete-generations + flag for keeping last N number of gens
2018-05-30Fix static assertion failure on 32-bit systemsEelco Dolstra
2018-05-30RemoteStore::addToStore(): Ensure capacity is decreased on exceptionsEelco Dolstra
2018-05-30Fix deadlock in RemoteStore::queryPathInfoUncached()Eelco Dolstra
2018-05-30Make <nix/fetchurl.nix> run in constant memoryEelco Dolstra
E.g. nix-build --store ~/my-nix/ -E 'import <nix/fetchurl.nix> { url = https://cache.nixos.org/nar/0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv.nar.xz; sha256 = "0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv"; }' now runs in 17 MiB (was 70 MiB), while nix-build --store ~/my-nix/ -E 'import <nix/fetchurl.nix> { url = https://cache.nixos.org/nar/0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv.nar.xz; sha256 = "0d2fxljdih3nc5dqx41hjzic3141ajil94m8kdbpryq569dpsbvb"; unpack = true; }' runs in 17 MiB (was 346 MiB).
2018-05-30getDownloader(): SimplifyEelco Dolstra
2018-05-30Make HttpBinaryCacheStore::narFromPath() run in constant memoryEelco Dolstra
This reduces memory consumption of nix copy --from https://cache.nixos.org --to ~/my-nix /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79 from 176 MiB to 82 MiB. (The remaining memory is probably due to xz decompression overhead.) Issue https://github.com/NixOS/nix/issues/1681. Issue https://github.com/NixOS/nix/issues/1969.
2018-05-30Make LocalBinaryCacheStore::narFromPath() run in constant memoryEelco Dolstra
This reduces memory consumption of nix copy --from file://... --to ~/my-nix /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79 from 514 MiB to 18 MiB for an uncompressed binary cache, and from 192 MiB to 53 MiB for a bzipped binary cache. It may also be faster because fetching can happen concurrently with decompression/writing. Continuation of 48662d151bdf4a38670897beacea9d1bd750376a. Issue https://github.com/NixOS/nix/issues/1681.
2018-05-30Simplify the callback mechanismEelco Dolstra
2018-05-30Move evaluator-specific settings out of libstoreEelco Dolstra
2018-05-30Move some Download-specific settings to download.ccEelco Dolstra
2018-05-30Modularize config settingsEelco Dolstra
Allow global config settings to be defined in multiple Config classes. For example, this means that libutil can have settings and evaluator settings can be moved out of libstore. The Config classes are registered in a new GlobalConfig class to which config files etc. are applied. Relevant to https://github.com/NixOS/nix/issues/2009 in that it removes the need for ad hoc handling of useCaseHack, which was the underlying cause of that issue.
2018-05-30Fix assertion failure in storePathToHash()Eelco Dolstra
Fixes https://github.com/NixOS/nix/issues/2015.
2018-05-30Make 'nix copy --to daemon' run in constant memory (daemon side)Eelco Dolstra
Continuation of 97002b684c902dadcd351a67208f9c2a88ff8f8f. This makes the daemon use constant memory. For example, it reduces the daemon's maximum RSS on $ nix copy --from ~/my-nix --to daemon /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a from 264 MiB to 7 MiB. We now use a TunnelSource to prevent the connection from ending up in an undefined state if an exception is thrown while the NAR is being sent. Issue https://github.com/NixOS/nix/issues/1681.
2018-05-30LocalStore::addToStore: Throw an exception if no hash is givenEelco Dolstra
2018-05-30Use extended SQLite error codesEelco Dolstra
2018-05-28Merge pull request #2187 from bgamari/stoi-exceptionsEelco Dolstra
json-to-value: Use strtol instead of strtoi
2018-05-26json-to-value: Use strtol instead of strtoiBen Gamari
NixInt is long, so strtoi is too restrictive.
2018-05-26eval.cc: add message to static_assert, message can be omitted w/c++17Will Dietz
2018-05-26nix-daemon: remove unused "pendingMsgs" variableWill Dietz
2018-05-25libstore/download: remove unused function "getTime()"Will Dietz
2018-05-24Merge pull request #2157 from volth/bitwiseEelco Dolstra
add builtins: __bitAnd, __bitOr, __bitXor
2018-05-22Make Env self-describingEelco Dolstra
If the Env denotes a 'with', then values[0] may be an Expr* cast to a Value*. For code that generically traverses Values/Envs, it's useful to know this.
2018-05-22Memoise checkSourcePath()Eelco Dolstra
This prevents hydra-eval-jobs from statting the same files over and over again.
2018-05-21serialise: fix buffer size used, hide method for internal use onlyWill Dietz
Fixes #2169.
2018-05-16add `mod' and bitwise builtins: camel-case function namesvolth
2018-05-16add `mod' and bitwise builtins: remove `mod' and shiftsvolth
2018-05-16add `mod' and bitwise builtins: remove infix functionsvolth
2018-05-15Merge pull request #2145 from serokell/uncached-channelEelco Dolstra
make sure not to use cached channels for nix-channel --update
2018-05-12add `mod' and bitwise builtinsvolth
2018-05-11Don't return negative numbers from the flex tokenizerEelco Dolstra
Fixes #1374. Closes #2129.
2018-05-11Revert "Throw a specific error for incomplete parse errors."Eelco Dolstra
This reverts commit 6498adb002bcf7e715afe46c23b8635d4592c156. We don't actually use IncompleteParseError in 'nix repl'.
2018-05-10Remove mention of default since we already know the defaultEelco Dolstra
2018-05-10Merge branch 's3-multipart-uploads' of https://github.com/AmineChikhaoui/nixEelco Dolstra
2018-05-09make sure not to use cached channels for nix-channel --updateYorick van Pelt
fixes #1964
2018-05-09In restricted eval mode, allow access to the closure of store pathsEelco Dolstra
E.g. this makes nix eval --restrict-eval -I /nix/store/foo '(builtins.readFile "/nix/store/foo/symlink/bla")' (where /nix/store/foo/symlink is a symlink to another path in the closure of /nix/store/foo) succeed. This fixes a regression in Hydra compared to Nix 1.x (where there were no restrictions at all on access to the Nix store).
2018-05-07share the executor between multiple copy threads.AmineChikhaoui
2018-05-07add a FIXME note to find a way to abort the multipart uploads inAmineChikhaoui
case the nix command is interrupted.