aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-09-02Factor a general remote FS accessor out of BinaryCacheStoreShea Levy
2016-09-02Factor out the unix domain socket-specific code from RemoteStoreShea Levy
2016-09-02nix-daemon: add --stdio flag for handling connections over stdin/stdoutShea Levy
2016-09-02Factor a function to get the store type from a URI out of the main ↵Shea Levy
RegisterStoreImplementation
2016-09-02Merge openStore and openStoreAt with default argumentsShea Levy
2016-08-31Merge branch 'nix-build-c++'Shea Levy
2016-08-31nix-build: Clean up a bitShea Levy
2016-08-31download.hh: Fix conflicts from nix-channel-c++ mergeShea Levy
2016-08-31Merge branch 'nix-channel-c++'Shea Levy
2016-08-31Merge pull request #1030 from pikajude/rsd-ccEelco Dolstra
Implement resolve-system-dependencies in C++
2016-08-30Fix 32-bit buildEelco Dolstra
2016-08-30Increase the sleep time between download retriesEelco Dolstra
2016-08-30Fix --fallbackEelco Dolstra
This fixes an assertion failure in "assert(goal);" in Worker::waitForInput() after a substitution goal is cancelled by the termination of another goal. The problem was the line //worker.childTerminated(shared_from_this()); // FIXME in the SubstitutionGoal destructor. This was disabled because shared_from_this() obviously doesn't work from a destructor. So we now use a real pointer for object identity.
2016-08-30Fix Fedora buildEelco Dolstra
2016-08-30Fix GC buildEelco Dolstra
2016-08-29forceBool(): Show position infoEelco Dolstra
2016-08-29Add builtin function "partition"Eelco Dolstra
The implementation of "partition" in Nixpkgs is O(n^2) (because of the use of ++), and for some reason was causing stack overflows in multi-threaded evaluation (not sure why). This reduces "nix-env -qa --drv-path" runtime by 0.197s and memory usage by 298 MiB (in non-Boehm mode).
2016-08-29nix path-info: Add --json flagEelco Dolstra
Also, factor out JSON generation from value-to-json.{cc,hh}, and support producing indented JSON.
2016-08-29callFunction: Copy functors to the heapShea Levy
Normally it's impossible to take a reference to the function passed to callFunction, so some callers (e.g. ExprApp::eval) allocate that value on the stack. For functors, a reference to the functor itself may be kept, so we need to have it on the heap. Fixes #1045
2016-08-24Fix queryPathFromHashPart()Eelco Dolstra
The inner lambda was returning a SQLite-internal char * rather than a std::string, leading to Hydra errors liks Caught exception in Hydra::Controller::Root->narinfo "path ‘ø˜£â€™ is not in the Nix store at /nix/store/6mvvyb8fgwj23miyal5mdr8ik4ixk15w-hydra-0.1.1234.abcdef/libexec/hydra/lib/Hydra/Controller/Root.pm line 352."
2016-08-23nix build: Use Nix search pathEelco Dolstra
That is, unless --file is specified, the Nix search path is synthesized into an attribute set. Thus you can say $ nix build nixpkgs.hello assuming $NIX_PATH contains an entry of the form "nixpkgs=...". This is more verbose than $ nix build hello but is less ambiguous.
2016-08-17iterate through fat_headers correctlyJude Taylor
2016-08-17Add a mechanism for derivation attributes to reference the derivation's outputsEelco Dolstra
For example, you can now say: configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}"; The strings returned by the ‘placeholder’ builtin are replaced at build time by the actual store paths corresponding to the specified outputs. Previously, you had to work around the inability to self-reference by doing stuff like: preConfigure = '' configureFlags+=" --prefix $out --includedir=$dev" ''; or rely on ad-hoc variable interpolation semantics in Autoconf or Make (e.g. --prefix=\$(out)), which doesn't always work.
2016-08-16remove double castingJude Taylor
2016-08-16account for unknown magic numbersJude Taylor
2016-08-16switch to mmap strategyJude Taylor
2016-08-16Merge pull request #1031 from abbradar/replacestrings-contextEelco Dolstra
Allow contexted strings in replaceStrings
2016-08-16Allow contexted strings in replaceStringsNikolay Amiantov
2016-08-15ensure presence of directoriesJude Taylor
2016-08-15code review commentsJude Taylor
2016-08-15builtins.fetch{url,tarball}: Allow name attributeShea Levy
2016-08-14make inclusion conditionalJude Taylor
2016-08-14add a missing load commandJude Taylor
2016-08-13remove old traces of resolve-system-dependenciesJude Taylor
2016-08-13resolve-system-dependencies: implement in C++Jude Taylor
2016-08-11nix-channel: implement in c++Shea Levy
2016-08-11nix-build: extend the meaning of $IN_NIX_SHELLVladimír Čunát
An equivalent was originally filed against the perl version: https://github.com/NixOS/nix/pull/933
2016-08-11Merge branch 'buildenv-c++' of https://github.com/shlevy/nixEelco Dolstra
2016-08-11buildenv: perl -> c++Shea Levy
2016-08-10HttpBinaryCacheStore: Retry on transient HTTP errorsEelco Dolstra
This makes us more robust against 500 errors from CloudFront or S3 (assuming the 500 error isn't cached by CloudFront...).
2016-08-10Show HTTP error codesEelco Dolstra
2016-08-10SQLite:: Add some convenienceEelco Dolstra
2016-08-10FSAccessor: Throw InvalidPathEelco Dolstra
2016-08-10NarAccessor: Fix handling of non-executable filesEelco Dolstra
2016-08-10Mark content-addressed paths in the Nix database and in .narinfoEelco Dolstra
This allows such paths to be imported without signatures.
2016-08-10LocalFSStore::narFromPath(): Handle the diverted store caseEelco Dolstra
2016-08-10Add a "root" parameter to local storesEelco Dolstra
This makes it easier to create a diverted store, i.e. NIX_REMOTE="local?root=/tmp/root" instead of NIX_REMOTE="local?real=/tmp/root/nix/store&state=/tmp/root/nix/var/nix" NIX_LOG_DIR=/tmp/root/nix/var/log
2016-08-10Remove $NIX_DB_DIREelco Dolstra
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10RemoteStore / nix-daemon: Drop support for Nix < 1.0Eelco Dolstra
2016-08-09nix-build: Port to c++Shea Levy
This was a dumb line-for-line rewrite, because nix build/nix run/etc. will replace it.