about summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2012-11-26 Undo accidental debug changeEelco Dolstra1-1/+1
2012-11-26 Make "nix-build -A <derivation>.<output>" do the right thingEelco Dolstra1-3/+21
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 Dolstra1-10/+13
2012-11-09 Use a shorter Nixpkgs channel URLEelco Dolstra1-1/+1
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 Dolstra1-7/+14
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 nix-push: Handle pushing a symlinkEelco Dolstra1-2/+0
2012-11-06 Add an option ‘use-binary-caches’Eelco Dolstra1-0/+4
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-10-23 nix-prefetch-url: Improve option handlingEelco Dolstra1-3/+20
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 Dolstra4-64/+49
This prevents unnecessary and slow rebuilds of NARs that already exist in the binary cache.
2012-10-11 download-from-binary-cache: Remove duplicate entries in trustedURLsEelco Dolstra1-1/+1
2012-10-03 When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra7-83/+28
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 nix-build: Support ‘--repair’ flagEelco Dolstra1-1/+1
2012-10-02 Add operation ‘nix-store --repair-path’Eelco Dolstra3-8/+11
This operation allows fixing corrupted or accidentally deleted store paths by redownloading them using substituters, if available. Since the corrupted path cannot be replaced atomically, there is a very small time window (one system call) during which neither the old (corrupted) nor the new (repaired) contents are available. So repairing should be used with some care on critical packages like Glibc.
2012-09-21 Style fixEelco Dolstra2-6/+6
2012-09-19 Support xz compression in the download-using-manifests substituterEelco Dolstra2-2/+9
2012-09-13 nix-collect-garbage: Support --dry-runEelco Dolstra1-3/+6
2012-09-13 nix-profile.sh: Revert to single-user versionEelco Dolstra1-44/+11
Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 copied most of the Nix shell initialisation code from NixOS to nix-profile.sh; however, that code assumes a multi-user install and is Linux-specific (e.g. it calls the "stat" command). So go back to the simple single-user version. Fixes #49.
2012-09-13 Put a time-to-live on negative binary cache lookupsEelco Dolstra1-3/+30
Negative lookups are purged from the DB after a day, at most once per day. However, for non-"have" lookups (e.g. all except "nix-env -qas"), negative lookups are ignored after one hour. This is to ensure that you don't have to wait a day for an operation like "nix-env -i" to start using new binaries in the cache. Should probably make this configurable.
2012-09-13 DohEelco Dolstra1-2/+2
2012-09-13 nix-channel: Add option to force fetching of manifestsEelco Dolstra1-0/+7
2012-09-13 Delete manifests in "nix-channel --remove" or when a binary cache is availableEelco Dolstra3-14/+8
2012-09-12 Build hook: Pass the timeout to the remote builderEelco Dolstra1-3/+4
Note that this will only work if the client has a very recent Nix version (post 15e1b2c223494ecb5efefc3ea0e3b926a6b1d7dc), otherwise the --option flag will just be ignored. Fixes #50.
2012-09-12 Compatibility fix for WWW::Curl < 4.14Eelco Dolstra1-1/+2
Older versions of WWW::Curl don't support scalar references for CURLOPT_WRITEDATA directly. http://hydra.nixos.org/build/3017188
2012-09-11 Support building a derivation if some outputs are already validEelco Dolstra1-11/+12
This handles the chroot and build hook cases, which are easy. Supporting the non-chroot-build case will require more work (hash rewriting!). Issue #21.
2012-08-27 Disable the binary cache substituter by default for nowEelco Dolstra1-3/+2
2012-08-27 Drop dependency on List::MoreUtilsEelco Dolstra1-3/+2
2012-08-27 Merge branch 'master' into no-manifestsEelco Dolstra1-6/+6
2012-08-24 Include the output name in the GC root linkEelco Dolstra1-6/+6
Output names are now appended to resulting GC symlinks, e.g. by nix-build. For backwards compatibility, if the output is named "out", nothing is appended. E.g. doing "nix-build -A foo" on a derivation that produces outputs "out", "bin" and "dev" will produce symlinks "./result", "./result-bin" and "./result-dev", respectively.
2012-08-01 nix-channel: Use binary caches advertised by channelsEelco Dolstra2-17/+30
Channels can now advertise a binary cache by creating a file <channel-url>/binary-cache-url. The channel unpacker puts these in its "binary-caches" subdirectory. Thus, the URLS of the binary caches for the channels added by root appear in /nix/var/nix/profiles/per-user/eelco/channels/binary-caches/*. The binary cache substituter reads these and adds them to the list of binary caches.
2012-08-01 download-from-binary-cache: Remove duplicate URLsEelco Dolstra1-2/+2
2012-08-01 Report substituter errors to clients of the Nix daemonEelco Dolstra1-7/+3
2012-07-31 Allow daemon users to override ‘binary-caches’Eelco Dolstra1-3/+27
For security reasons, daemon users can only specify caches that appear in the ‘binary-caches’ and ‘trusted-binary-caches’ options in nix.conf.
2012-07-30 Do some validation of URLsEelco Dolstra3-5/+8
2012-07-30 Get rid of $NIX_BINARY_CACHESEelco Dolstra1-3/+2
You can use ‘--option binary-caches URLs’ instead.
2012-07-30 nix-install-package: Support binary cachesEelco Dolstra1-10/+19
The .nixpkg file format is extended to optionally include the URL of a binary cache, which will be used in preference to the manifest URL (which can be set to a non-existent value).
2012-07-27 Allow a binary cache to declare that it doesn't support "nix-env -qas"Eelco Dolstra2-85/+121
Querying all substitutable paths via "nix-env -qas" is potentially hard on a server, since it involves sending thousands of HEAD requests. So a binary cache must now have a meta-info file named "nix-cache-info" that specifies whether the server wants this. It also specifies the store prefix so that we don't send useless queries to a binary cache for a different store prefix.
2012-07-27 Let build.cc verify the expected hash of a substituter's outputEelco Dolstra3-20/+9
Since SubstitutionGoal::finished() in build.cc computes the hash anyway, we can prevent the inefficiency of computing the hash twice by letting the substituter tell Nix about the expected hash, which can then verify it.
2012-07-27 download-using-manifests: Don't use nix-prefetch-urlEelco Dolstra2-42/+30
Instead call curl directly and pipe it into ‘nix-store --restore’. This saves I/O and prevents creating garbage in the Nix store.
2012-07-27 Remove trailing whitespace / tabsEelco Dolstra1-17/+17
2012-07-27 download-from-binary-cache: Only use the default cache for /nix/storeEelco Dolstra1-1/+3
2012-07-26 nix-push: Support generating a manifest againEelco Dolstra1-10/+34
This makes all the tests succeed. Woohoo!
2012-07-26 nix-push: Remove the upload featureEelco Dolstra1-51/+24
2012-07-26 download-from-binary-cache: Support file://Eelco Dolstra1-9/+14
The file:// URI schema requires checking for errors in a more general way. Also, don't cache file:// lookups.
2012-07-26 Merge branch 'master' into no-manifestsEelco Dolstra2-3/+7
2012-07-25 nix-profile.sh: Don't set NIX_REMOTE on single user installationsEelco Dolstra1-1/+1
Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 reused the NixOS environment initialisation for nix-profile.sh, but this is inappropriate on systems that don't have multi-user support enabled.
2012-07-25 Subscribe to the Nixpkgs rather than NixOS channelEelco Dolstra1-2/+2