about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-26 Only substitute wanted outputs of a derivationEelco Dolstra4-21/+77
If a derivation has multiple outputs, then we only want to download those outputs that are actuallty needed. So if we do "nix-build -A openssl.man", then only the "man" output should be downloaded. Likewise if another package depends on ${openssl.man}. The tricky part is that different derivations can depend on different outputs of a given derivation, so we may need to restart the corresponding derivation goal if that happens.
2012-11-26 Make "nix-build -A <derivation>.<output>" do the right thingEelco Dolstra10-20/+106
For example, given a derivation with outputs "out", "man" and "bin": $ nix-build -A pkg produces ./result pointing to the "out" output; $ nix-build -A pkg.man produces ./result-man pointing to the "man" output; $ nix-build -A pkg.all produces ./result, ./result-man and ./result-bin; $ nix-build -A pkg.all -A pkg2 produces ./result, ./result-man, ./result-bin and ./result-2.
2012-11-23 nix-copy-closure: Add flag ‘--use-substitutes’Eelco Dolstra4-17/+48
2012-11-20 nix-store -r: Add ‘--ignore-unknown’ flagEelco Dolstra4-10/+44
This flag causes paths that do not have a known substitute to be quietly ignored. This is mostly useful for Charon, allowing it to speed up deployment by letting a machine use substitutes for all substitutable paths, instead of uploading them. The latter is frequently faster, e.g. if the target machine has a fast Internet connection while the source machine is on a slow ADSL line.
2012-11-19 nix-store -r: Don't quietly ignore missing pathsEelco Dolstra1-0/+1
2012-11-15 Revert "prim_toPath: Actually make the string a path"Eelco Dolstra1-3/+1
This reverts commit 2980d1fba97069805c3649c5d99d0356bce6c303. It causes a regression in NixOS evaluation: string `/nix/store/ya3s5gmj3b28170fpbjhgsk8wzymkpa1-pommed-1.39/etc/pommed.conf' cannot refer to other paths
2012-11-15 Disable use of vfork()Eelco Dolstra2-2/+2
vfork() is just too weird. For instance, in this build: http://hydra.nixos.org/build/3330487 the value fromHook.writeSide becomes corrupted in the parent, even though the child only reads from it. At -O0 the problem goes away. Probably the child is overriding some spilled temporary variable. If I get bored I may implement using posix_spawn() instead.
2012-11-15 Don't use std::cerr in a few placesEelco Dolstra5-30/+34
Slightly scared of using std::cerr in a vforked process...
2012-11-15 Add some debug codeEelco Dolstra1-1/+1
2012-11-09 Use vfork() instead of fork() if availableEelco Dolstra6-22/+51
Hopefully this reduces the chance of hitting ‘unable to fork: Cannot allocate memory’ errors. vfork() is used for everything except starting builders.
2012-11-09 Remove definition of non-existant functionEelco Dolstra1-2/+0
2012-11-09 Remove some redundant close() callsEelco Dolstra3-18/+8
They are unnecessary because we set the close-on-exec flag.
2012-11-09 Remove the quickExit functionEelco Dolstra4-18/+8
2012-11-09 Remove a Darwin hack that should no longer be neededEelco Dolstra1-7/+0
2012-11-09 Manual: Don't use a store path in our closureEelco Dolstra1-15/+14
http://hydra.nixos.org/build/3313227
2012-11-09 Fix a segfault when auto-calling a "a@{...}" functionEelco Dolstra1-5/+5
Since the called function can return its argument attribute set (e.g. "a"), the latter should not be allocated on the stack. Reported by Shea.
2012-11-09 Don't start copy-from-other-stores if $NIX_OTHER_STORES is unsetEelco Dolstra1-1/+2
Slight optimisation.
2012-11-09 Remove unnecessary call to closeMostFDs()Eelco Dolstra1-1/+0
We have close-on-exec on all FDs now, and there is no security risk in passing open FDs to substituters anyway.
2012-11-09 Use a shorter Nixpkgs channel URLEelco Dolstra4-4/+4
2012-11-09 Update release notesEelco Dolstra1-0/+34
2012-11-06 download-from-binary-cache: Try next cache if downloading a NAR failsEelco Dolstra1-1/+1
2012-11-06 Process binary caches in order of priorityEelco Dolstra2-7/+25
Binary caches can now specify a priority in their nix-cache-info file. The binary cache substituter checks caches in order of priority. This is to ensure that fast, static caches like nixos.org/binary-cache are processed before slow, dynamic caches like hydra.nixos.org.
2012-11-06 Update nix-push manpage and document the binary cache formatEelco Dolstra2-77/+341
2012-11-06 nix-push: Handle pushing a symlinkEelco Dolstra1-2/+0
2012-11-06 Add an option ‘use-binary-caches’Eelco Dolstra2-0/+14
This allows disabling the use of binary caches, e.g. $ nix-build ... --option use-binary-caches false Note that $ nix-build ... --option binary-caches '' does not disable all binary caches, since the caches defined by channels will still be used.
2012-11-06 Fix "Not an ARRAY reference" errorEelco Dolstra1-1/+1
It's a mystery why this error is not triggered in the build farm (e.g. http://hydra.nixos.org/build/3265602). Ah well.
2012-11-06 canonicalizePathMetaData: Fall-back to utimes if lutimes fails due to ENOSYSShea Levy1-0/+2
2012-10-23 If hashes do not match, print them in base-32 for SHA-1/SHA-256Eelco Dolstra3-1/+10
Fixes #57.
2012-10-23 nix-prefetch-url: Improve option handlingEelco Dolstra3-10/+42
2012-10-23 prim_toPath: Actually make the string a pathShea Levy1-1/+3
2012-10-18 nix-push: Add a flag ‘--manifest-path’ to write the manifest to another ↵Eelco Dolstra1-1/+8
directory
2012-10-17 nix-push: Add ‘--link’ flagEelco Dolstra1-1/+8
If ‘--link’ is given, nix-push will create hard links to the NAR files in the store, rather than copying them. This is faster and requires less disk space. However, it doesn't work if the store is on a different file system.
2012-10-17 nix-push: Only generate and copy a NAR if it doesn't already existEelco Dolstra6-65/+107
This prevents unnecessary and slow rebuilds of NARs that already exist in the binary cache.
2012-10-12 TypoEelco Dolstra1-2/+2
Reported by Shea.
2012-10-11 download-from-binary-cache: Remove duplicate entries in trustedURLsEelco Dolstra1-1/+1
2012-10-11 Shorten the names of temporary build directoriesEelco Dolstra1-1/+1
2012-10-10 Out-of-tree building of perl modules.Mats Erik Andersson2-1/+2
2012-10-04 getDerivation(): Don't always quietly ignore assertion failureEelco Dolstra5-21/+27
Ignoring assertion failures makes some sense for nix-env -qa, but not for nix-instantiate/nix-build or hydra-eval-jobs.
2012-10-04 XML writer: flush after newlinesEelco Dolstra1-4/+4
This is useful for hydra-eval-jobs.
2012-10-04 Manual: Don't use a store path that actually existsEelco Dolstra1-4/+4
http://hydra.nixos.org/build/3124130
2012-10-04 nix-store --verify: Continue on errorsEelco Dolstra1-2/+4
2012-10-04 Fix regular expressionEelco Dolstra1-1/+1
http://hydra.nixos.org/build/3123177
2012-10-03 Fix the tarball buildEelco Dolstra1-1/+1
2012-10-03 Fix the testEelco Dolstra1-4/+4
2012-10-03 Rename nix-worker to nix-daemonEelco Dolstra15-41/+49
2012-10-03 Drop support for running nix-worker in "slave" modeEelco Dolstra6-146/+9
AFAIK nobody uses this, setuid binaries are evil, and there is no good reason why people can't just run the daemon.
2012-10-03 Remove bin2cEelco Dolstra7-35/+4
2012-10-03 When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra25-329/+51
I.e. do what git does. I'm too lazy to keep the builtin help text up to date :-) Also add ‘--help’ to various commands that lacked it (e.g. nix-collect-garbage).
2012-10-03 Document ‘--repair’Eelco Dolstra3-6/+32
2012-10-03 nix-env: Support ‘--repair’ flagEelco Dolstra3-5/+9