aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-04Add a test for ‘nix-env --set-flag active ...’Eelco Dolstra
2012-12-04nix-env: Install all outputs of a derivationEelco Dolstra
If you explicitly install a package, presumably you want all of it. So symlink all outputs in the user environment.
2012-12-03Test the ‘--prebuilt-only’ flagEelco Dolstra
2012-12-03Fix the ‘--prebuilt-only’ flagEelco Dolstra
2012-12-03WhitespaceEelco Dolstra
2012-11-28nix-env -q --out-path: Support multiple outputsEelco Dolstra
We now print all output paths of a package, e.g. openssl-1.0.0i bin=/nix/store/gq2mvh0wb9l90djvsagln3aqywqmr6vl-openssl-1.0.0i-bin;man=/nix/store/7zwf5r5hsdarl3n86dasvb4chm2xzw9n-openssl-1.0.0i-man;/nix/store/cj7xvk7fjp9q887359j75pw3pzjfmqf1-openssl-1.0.0i or (in XML mode) <item attrPath="openssl" name="openssl-1.0.0i" system="x86_64-linux"> <output name="bin" path="/nix/store/gq2mvh0wb9l90djvsagln3aqywqmr6vl-openssl-1.0.0i-bin" /> <output name="man" path="/nix/store/7zwf5r5hsdarl3n86dasvb4chm2xzw9n-openssl-1.0.0i-man" /> <output name="out" path="/nix/store/cj7xvk7fjp9q887359j75pw3pzjfmqf1-openssl-1.0.0i" /> </item>
2012-11-27Optionally ignore null-valued derivation attributesEelco Dolstra
This allows adding attributes like attr = if stdenv.system == "bla" then something else null; without changing the resulting derivation on non-<bla> platforms. We once considered adding a special "ignore" value for this purpose, but using null seems more elegant.
2012-11-27Add builtin constants ‘langVersion’ and ‘nixVersion’Eelco Dolstra
The integer constant ‘langVersion’ denotes the current language version. It gets increased every time a language feature is added/changed/removed. It's currently 1. The string constant ‘nixVersion’ contains the current Nix version, e.g. "1.2pre2980_9de6bc5".
2012-11-26queryMissing(): Handle partially valid derivationsEelco Dolstra
2012-11-26Undo accidental debug changeEelco Dolstra
2012-11-26Fix the multiple-outputs testEelco Dolstra
2012-11-26nix-instantiate: Fix read-only evaluationEelco Dolstra
2012-11-26Only substitute wanted outputs of a derivationEelco Dolstra
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-26Make "nix-build -A <derivation>.<output>" do the right thingEelco Dolstra
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-23nix-copy-closure: Add flag ‘--use-substitutes’Eelco Dolstra
2012-11-20nix-store -r: Add ‘--ignore-unknown’ flagEelco Dolstra
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-19nix-store -r: Don't quietly ignore missing pathsEelco Dolstra
2012-11-15Revert "prim_toPath: Actually make the string a path"Eelco Dolstra
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-15Disable use of vfork()Eelco Dolstra
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-15Don't use std::cerr in a few placesEelco Dolstra
Slightly scared of using std::cerr in a vforked process...
2012-11-15Add some debug codeEelco Dolstra
2012-11-09Use vfork() instead of fork() if availableEelco Dolstra
Hopefully this reduces the chance of hitting ‘unable to fork: Cannot allocate memory’ errors. vfork() is used for everything except starting builders.
2012-11-09Remove definition of non-existant functionEelco Dolstra
2012-11-09Remove some redundant close() callsEelco Dolstra
They are unnecessary because we set the close-on-exec flag.
2012-11-09Remove the quickExit functionEelco Dolstra
2012-11-09Remove a Darwin hack that should no longer be neededEelco Dolstra
2012-11-09Manual: Don't use a store path in our closureEelco Dolstra
http://hydra.nixos.org/build/3313227
2012-11-09Fix a segfault when auto-calling a "a@{...}" functionEelco Dolstra
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-09Don't start copy-from-other-stores if $NIX_OTHER_STORES is unsetEelco Dolstra
Slight optimisation.
2012-11-09Remove unnecessary call to closeMostFDs()Eelco Dolstra
We have close-on-exec on all FDs now, and there is no security risk in passing open FDs to substituters anyway.
2012-11-09Use a shorter Nixpkgs channel URLEelco Dolstra
2012-11-09Update release notesEelco Dolstra
2012-11-06download-from-binary-cache: Try next cache if downloading a NAR failsEelco Dolstra
2012-11-06Process binary caches in order of priorityEelco Dolstra
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-06Update nix-push manpage and document the binary cache formatEelco Dolstra
2012-11-06nix-push: Handle pushing a symlinkEelco Dolstra
2012-11-06Add an option ‘use-binary-caches’Eelco Dolstra
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-06Fix "Not an ARRAY reference" errorEelco Dolstra
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-06canonicalizePathMetaData: Fall-back to utimes if lutimes fails due to ENOSYSShea Levy
2012-10-23If hashes do not match, print them in base-32 for SHA-1/SHA-256Eelco Dolstra
Fixes #57.
2012-10-23nix-prefetch-url: Improve option handlingEelco Dolstra
2012-10-23prim_toPath: Actually make the string a pathShea Levy
2012-10-18nix-push: Add a flag ‘--manifest-path’ to write the manifest to another ↵Eelco Dolstra
directory
2012-10-17nix-push: Add ‘--link’ flagEelco Dolstra
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-17nix-push: Only generate and copy a NAR if it doesn't already existEelco Dolstra
This prevents unnecessary and slow rebuilds of NARs that already exist in the binary cache.
2012-10-12TypoEelco Dolstra
Reported by Shea.
2012-10-11download-from-binary-cache: Remove duplicate entries in trustedURLsEelco Dolstra
2012-10-11Shorten the names of temporary build directoriesEelco Dolstra
2012-10-10Out-of-tree building of perl modules.Mats Erik Andersson
2012-10-04getDerivation(): Don't always quietly ignore assertion failureEelco Dolstra
Ignoring assertion failures makes some sense for nix-env -qa, but not for nix-instantiate/nix-build or hydra-eval-jobs.