aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-03-22download: improve error for hash mismatch ("store mismatch")Will Dietz
Fixes #1905
2018-03-22download.cc: fix path for cached filesWill Dietz
2018-03-22Fix buildEelco Dolstra
2018-03-22TweakEelco Dolstra
2018-03-22Merge branch 'fix/avoid-large-stack-buffers' of https://github.com/dtzWill/nixEelco Dolstra
2018-03-21Merge branch 'fix/execl-null-sentinel' of git://github.com/dtzWill/nixShea Levy
2018-03-21Also make the backwards compatible case of RemoteStore::addToStore run in ↵Eelco Dolstra
constant memory Just because we can.
2018-03-21Make 'nix copy --to daemon' run in constant memoryEelco Dolstra
2018-03-21shared.cc: style: prefer "nullptr" over '(char *)NULL'Will Dietz
2018-03-21Make 'nix copy --to ssh://...' run in constant memoryEelco Dolstra
2018-03-21Make 'nix copy --from ssh://...' run in constant memoryEelco Dolstra
For instance, this reduced the memory consumption of $ nix copy --from ssh://localhost --to ~/my-nix /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a from 632 MiB to 16 MiB.
2018-03-21LegacySSHStore: Allow overriding the path to nix-storeEelco Dolstra
2018-03-20execl: cast NULL sentinel to (char *), per man page and compiler warningWill Dietz
From exec(3): > The list of arguments must be terminated by a null pointer, and, since these > are variadic functions, this pointer must be cast (char *) NULL
2018-03-20Remove unused channel-cache directoryEelco Dolstra
2018-03-20Style fixEelco Dolstra
2018-03-20Make <nix/buildenv.nix> a builtin builderEelco Dolstra
This avoids sandbox annoyances.
2018-03-20Move builtinFetchurl to its own fileEelco Dolstra
2018-03-20Slight simplificationEelco Dolstra
2018-03-20SSHMaster: Optionally pass -v to sshEelco Dolstra
2018-03-20Hack to get SSH error messages from build-remoteEelco Dolstra
E.g. cannot build on 'ssh://mac1': cannot connect to 'mac1': bash: nix-store: command not found cannot build on 'ssh://mac2': cannot connect to 'mac2': Host key verification failed. cannot build on 'ssh://mac3': cannot connect to 'mac3': Received disconnect from 213... port 6001:2: Too many authentication failures Authentication failed.
2018-03-19serialise.cc: remove pessimising moveWill Dietz
from clang6: src/libutil/serialise.cc:189:23: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2018-03-19util: rename stdout/stdin members to avoid conflicts w/standard macroWill Dietz
(cherry picked from commit c389a7fb617ed7bcd617efa68c6a48c00405310d)
2018-03-19Shut up signedness warningEelco Dolstra
2018-03-16nix-shell: allow symlinks to .drvsLinus Heckemann
This makes persistent shell environments easier to use.
2018-03-16Reduce substitution memory consumptionEelco Dolstra
copyStorePath() now pipes the output of srcStore->narFromPath() directly into dstStore->addToStore(). The sink used by the former is converted into a source usable by the latter using boost::coroutine2. This is based on [1]. This reduces the maximum resident size of $ nix build --store ~/my-nix/ /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1 --substituters file:///tmp/binary-cache-xz/ --no-require-sigs from 418592 KiB to 53416 KiB. (The previous commit also reduced the runtime from ~4.2s to ~3.4s, not sure why.) A further improvement will be to download files into a Sink. [1] https://github.com/NixOS/nix/compare/master...Mathnerd314:dump-fix-coroutine#diff-dcbcac55a634031f9cc73707da6e4b18 Issue #1969.
2018-03-16decompress(): Use a Source and SinkEelco Dolstra
This allows decompression to happen in O(1) memory.
2018-03-16Merge pull request #1939 from dezgeg/lexer-fixEelco Dolstra
libexpr: Recognize newline in more places in lexer
2018-03-16Don't retry on CURLE_SSL_CACERT_BADFILEEelco Dolstra
The certificates won't get any better if we retry.
2018-03-15Filter ANSI colors when not writing to a terminalEelco Dolstra
Fixes https://github.com/NixOS/nixpkgs/issues/37114.
2018-03-15Merge pull request #1965 from masaeedu/masterEelco Dolstra
Wrap thread local in function for Cygwin
2018-03-14Catch more possible instances of passing NULL to memcpy.Shea Levy
Actually fixes #1976.
2018-03-14Merge branch 'fix/errno-sighandler' of git://github.com/dtzWill/nixShea Levy
2018-03-14concatLists: Don't pass NULL pointers to memcpy.Shea Levy
This is UB, even if the size is 0. See #1976. Fixes #1976.
2018-03-14nix-daemon: preserve errno in signal handler (thanks tsan)Will Dietz
2018-03-14Fix compatibility with latest boost::formatEelco Dolstra
2018-03-14Use boost::format from the boost packageEelco Dolstra
Note that this only requires headers from boost so it doesn't add a runtime dependency. Also, use Nixpkgs 18.03.
2018-03-13Merge pull request #1906 from dtzWill/fix/nix-searchShea Levy
nix search: tests and fix #1893 and part of #1892
2018-03-13build-remote: Don't substitute the build resultEelco Dolstra
2018-03-13TypoEelco Dolstra
2018-03-13fetchGit: Fix debug messageGuillaume Maudoux
2018-03-12Wrap thread local in function for CygwinAsad Saeeduddin
Fixes #1826. See #1352 for a previous instance of a similar change.
2018-03-09Fix double free in Store::queryPathInfo()Eelco Dolstra
It was holding on to a Value* (i.e. a std::shared_ptr<ValidPathInfo>*) outside of the pathInfoCache lock, so the std::shared_ptr could be destroyed between the release of the lock and the decrement of the std::shared_ptr refcount. This can happen if more than 'path-info-cache-size' paths are added in the meantime, *or* if clearPathInfoCache() is called. The hydra-queue-runner queue monitor thread periodically calls the later, so is likely to trigger a crash. Fixes https://github.com/NixOS/hydra/issues/542.
2018-03-09Modified MakeBinOp to no longer produce its name using concatenation and "##".Tim Engler
Doing so prevents emacs tags from working, as well as makes the code extremely confusing for a newbie. In the prior state, if someone wants to find the definition of "ExprApp" for example, a grep through the code reveals nothing. Since the definition could be hiding in numerous ".h" files, it's really difficult to find. This personally took me several hours to figure out.
2018-03-07Fix #1957Eelco Dolstra
2018-03-07Merge pull request #1955 from dtzWill/fix/rand-randomEelco Dolstra
rand() -> random(), since we use srandom().
2018-03-06rand() -> random(), since we use srandom().Will Dietz
rand() requires we call srand() instead, but might as well use random().
2018-03-06logging: Don't throw from Activity destructorWill Dietz
Move definition of destructor to logging.cc for access to util.hh's ignoreException.
2018-03-05ssh-ng: Don't forward options to the daemon.Shea Levy
This can be iterated on and currently leaves out settings we know we want to forward, but it fixes #1713 and fixes #1935 and isn't fundamentally broken like the status quo. Future changes are suggested in a comment.
2018-03-02hoist vector out of loop just in caseWill Dietz
2018-03-02don't allocate large buffers on the stackWill Dietz