aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-17RefactoringEelco Dolstra
2014-02-17When using a build hook, only copy missing pathsEelco Dolstra
2014-02-17Move some code aroundEelco Dolstra
In particular, do replacing of valid paths during repair later. This prevents us from replacing a valid path after the build fails.
2014-02-17nix-store --gc --max-freed: Support a unit specifierEelco Dolstra
E.g. "--max-freed 10G" means "free ten gigabytes".
2014-02-17Heuristically detect if a build may have failed due to a full diskEelco Dolstra
This will allow Hydra to detect that a build should not be marked as "permanently failed", allowing it to be retried later.
2014-02-17nix-shell: Execute shellHook if it existsEelco Dolstra
Since normal builds don't execute shellHook, this allows nix-shell specific customisation. Suggested by Domen.
2014-02-17Add a test for repairing pathsEelco Dolstra
2014-02-14download-via-ssh: Use readStorePathEelco Dolstra
2014-02-14download-via-ssh: Show where we're downloading fromEelco Dolstra
2014-02-14Minor style fixesEelco Dolstra
2014-02-14Merge remote-tracking branch 'shlevy/ssh-substituter'Eelco Dolstra
2014-02-12Indendation fixShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12Remove relic of old codeShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12error messages start in lowercaseShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12Remove using declarations from download-via-sshShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12Document current meaning of preferLocalBuildEelco Dolstra
Closes #208.
2014-02-10Force use of BashEelco Dolstra
"echo -n" doesn't work with /bin/sh on Darwin.
2014-02-10Binary tarball: Automatically create /nixEelco Dolstra
The tarball can now be unpacked anywhere. The installation script uses "sudo" to create /nix if it doesn't exist. It also fetches the nixpkgs-unstable channel.
2014-02-10nix-store --serve: Use a versioned protocolShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10Move StoreApi::serve into opServeShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10Pass in params by const refShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10Clarify commentShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10Binary tarball: Automatically fetch the Nixpkgs channelEelco Dolstra
2014-02-10nix-shell: Use shell.nix as the default expression if it existsEelco Dolstra
2014-02-08Add download-via-ssh substituterShea Levy
This substituter connects to a remote host, runs nix-store --serve there, and then forwards substituter commands on to the remote host and sends their results to the calling program. The ssh-substituter-hosts option can be specified as a list of hosts to try. This is an initial implementation and, while it works, it has some limitations: * Only the first host is used * There is no caching of query results (all queries are sent to the remote machine) * There is no informative output (such as progress bars) * Some failure modes may cause unhelpful error messages * There is no concept of trusted-ssh-substituter-hosts Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08nix-store --serve: Flush out after every loopShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08nix-store --serve: Use dump instead of exportShea Levy
Also remove signing support Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08nix-store --serve: Don't fail if asked for info about non-valid pathShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08nix-store --serve: Don't loop foreverShea Levy
nix-store --export takes a tmproot, which can only release by exiting. Substituters don't currently work in a way that could take advantage of the looping, anyway. Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-08Add the nix-store --serve commandShea Levy
This is essentially the substituter API operating on the local store, which will be used by the ssh substituter. It runs in a loop rather than just taking one command so that in the future nix will be able to keep one connection open for multiple instances of the substituter. Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-07nix-instantiate --eval-only --read-write-mode: Don't depend on orderingShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-07Rename --no-readonly-mode --read-write-modeShea Levy
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-07nix-instantiate: Add a --no-readonly-mode flagShea Levy
This allows running nix-instantiate --eval-only without performing the evaluation in readonly mode, letting features like import from derivation and automatic substitution of builtins.storePath paths work. Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-07Fix the RPM buildEelco Dolstra
2014-02-07Install header filesEelco Dolstra
2014-02-07Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097'Eelco Dolstra
2014-02-07Support DESTDIREelco Dolstra
2014-02-06Remove dead codeEelco Dolstra
2014-02-06Set a maintainer addressEelco Dolstra
Issue #202.
2014-02-06Clean up a test warningEelco Dolstra
2014-02-06Drop dependency on ‘expr’Eelco Dolstra
http://hydra.nixos.org/build/8715639 Not sure why this causes a failure now.
2014-02-06Create the target directory of libraries and programsEelco Dolstra
2014-02-04Fix version in nix.specEelco Dolstra
http://hydra.nixos.org/build/8715502
2014-02-04GNU Make 3.81 compatibilityEelco Dolstra
3.81 doesn't understand the ‘define foo =’ syntax, which was added in 3.82. So use ‘define foo’ instead.
2014-02-04GNU Make 3.81 compatibilityEelco Dolstra
3.81 doesn't understand the ‘define foo =’ syntax, which was added in 3.82. So use ‘define foo’ instead.
2014-02-04Add nix.spec to the distributionEelco Dolstra
2014-02-03Fix assertion failure in ‘nix-store --load-db’Eelco Dolstra
Namely: nix-store: derivations.cc:242: nix::Hash nix::hashDerivationModulo(nix::StoreAPI&, nix::Derivation): Assertion `store.isValidPath(i->first)' failed. This happened because of the derivation output correctness check being applied before the references of a derivation are valid.
2014-02-03Merge commit '8468806552d6730abec6431c42b5b0e897c0222c'Eelco Dolstra
2014-02-03Add a basic READMEEelco Dolstra
2014-02-01Give a friendly error message if the DB directory is not writableEelco Dolstra
Previously we would say "error: setting synchronous mode: unable to open database file" which isn't very helpful.