Eelco Dolstra
29cde917fe
Fix deadlock in SubstitutionGoal
...
We were relying on SubstitutionGoal's destructor releasing the lock,
but if a goal is a top-level goal, the destructor won't run in a
timely manner since its reference count won't drop to zero. So
release it explicitly.
Fixes #178 .
2014-02-27 13:34:13 +01:00
Eelco Dolstra
7c7707638a
Doh
2014-02-26 22:41:29 +01:00
Eelco Dolstra
7880973827
Test trace and addErrorContext
2014-02-26 19:12:31 +01:00
Eelco Dolstra
5ad263c26b
Test some more primops
2014-02-26 19:08:44 +01:00
Eelco Dolstra
3d0a9ec825
Test executables in NARs
2014-02-26 18:59:01 +01:00
Eelco Dolstra
91f25f0510
And another one
2014-02-26 18:55:18 +01:00
Eelco Dolstra
432328cc55
Remove another unused function
2014-02-26 18:49:36 +01:00
Eelco Dolstra
509993e598
Remove unused function
2014-02-26 18:48:32 +01:00
Eelco Dolstra
d58ceae022
Test nix-env --switch-generation
2014-02-26 18:45:26 +01:00
Eelco Dolstra
7bbc68fdff
Test nix-env --set
2014-02-26 18:42:19 +01:00
Eelco Dolstra
a0806389e9
Test the -b and -s flags of nix-store -q
2014-02-26 18:40:08 +01:00
Eelco Dolstra
a9c4a98770
Test ~/.nix-defexpr
2014-02-26 18:33:13 +01:00
Eelco Dolstra
045d3b2ed7
Test nix-store --switch-profile and more daemon actions
2014-02-26 18:28:55 +01:00
Eelco Dolstra
fac6f8aac0
Test nix-store -q --roots
2014-02-26 18:00:46 +01:00
Eelco Dolstra
84143c4bd8
Test nix-store -l
2014-02-26 17:58:53 +01:00
Eelco Dolstra
19437785eb
Test nix-store --optimise
2014-02-26 17:53:51 +01:00
Eelco Dolstra
fdff3a7eae
Add a test for nix-store --dump-db / --load-db
2014-02-26 17:47:54 +01:00
Eelco Dolstra
506d86394d
Installer: Handle Darwin
...
"cp -r" doesn't copy symlinks properly on Darwin, but "cp -R" does.
Fixes #215 .
2014-02-26 17:23:55 +01:00
Eelco Dolstra
6b9cd59a41
nix-store -r: Respect --add-root for non-derivations
...
Fixes #68 .
Fixes #117 .
2014-02-26 16:32:46 +01:00
Eelco Dolstra
7f74513b4e
Also provide an option for setting the curl connection timeout
2014-02-26 16:07:43 +01:00
Eelco Dolstra
00d761016a
Respect $NIX_CONNECT_TIMEOUT properly
...
We were 1) using CURLOPT_TIMEOUT instead of CURLOPT_CONNECTTIMEOUT; 2)
not passing it to the curl child process.
Issue #93 .
2014-02-26 15:58:37 +01:00
Eelco Dolstra
d761009e3c
Add ~/.nix-profile/sbin to $PATH
...
Fixes #112 .
2014-02-26 15:24:48 +01:00
Eelco Dolstra
f14ef84a51
Warn about missing -I paths
...
Fixes #121 . Note that we don't warn about missing $NIX_PATH entries
because it's intended that some may be missing (cf. the default
$NIX_PATH on NixOS, which includes paths like /etc/nixos/nixpkgs for
backward compatibility).
2014-02-26 15:21:56 +01:00
Shea Levy
733214144a
Document dynamic attributes
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-26 14:06:45 +01:00
Eelco Dolstra
42eb4afd7a
Simplify getting use-ssh-substituter from untrusted users
2014-02-26 13:58:46 +01:00
Eelco Dolstra
bf4a577a58
Fix broken patch
2014-02-26 13:48:23 +01:00
Ian-Woo Kim
8a02fdc38e
use USER environmental variable if getting user id by getpwuid is failed in perl scripts: download-from-binary-cache.pl and nix-channel
2014-02-26 13:42:11 +01:00
Eelco Dolstra
dcaea042fc
Only start download-via-ssh if it's enabled
2014-02-26 13:41:03 +01:00
Shea Levy
df5de9dfd7
Add use-ssh-substituter setting.
...
It defaults to false and can be overridden by RemoteStore.
Untested currently, just quickly put this together
2014-02-26 13:32:47 +01:00
Eelco Dolstra
36b90e72d7
nix-shell: Add --packages flag
...
This allows you to easily set up a build environment containing the
specified packages from Nixpkgs. For example:
$ nix-shell -p sqlite xorg.libX11 hello
will start a shell in which the given packages are present.
2014-02-19 17:08:01 +01:00
Eelco Dolstra
a897b58373
nix-instantiate: Allow --dry-run as a synonym for --readonly-mode
...
--dry-run is more consistent with nix-env and nix-store.
2014-02-19 16:46:33 +01:00
Eelco Dolstra
e1cf40fa95
nix-instantiate: Rename --eval-only to --eval, --parse-only to --parse
2014-02-19 16:34:24 +01:00
Eelco Dolstra
c31836008e
nix-instantiate: Add a flag --expr / -E to read expressions from the command line
...
This is basically a shortcut for ‘echo 'expr...' | nix-instantiate -’.
Also supported by nix-build and nix-shell.
2014-02-19 16:30:19 +01:00
Eelco Dolstra
e707a8a526
Move manpages around
2014-02-19 15:32:19 +01:00
Eelco Dolstra
73f74ebba0
nix-shell: Don't leave a temporary directory in /tmp behind
2014-02-19 15:01:04 +01:00
Shea Levy
a7e70518b8
lexer-tab.o and parser-tab.o require each other's headers
2014-02-18 17:31:30 +01:00
Shea Levy
70a558e202
Update ignores
2014-02-18 17:31:30 +01:00
Eelco Dolstra
8129cf33d9
Slight simplification
2014-02-18 10:46:30 +01:00
Eelco Dolstra
1aa19b24b2
Add a flag ‘--check’ to verify build determinism
...
The flag ‘--check’ to ‘nix-store -r’ or ‘nix-build’ will cause Nix to
redo the build of a derivation whose output paths are already valid.
If the new output differs from the original output, an error is
printed. This makes it easier to test if a build is deterministic.
(Obviously this cannot catch all sources of non-determinism, but it
catches the most common one, namely the current time.)
For example:
$ nix-build '<nixpkgs>' -A patchelf
...
$ nix-build '<nixpkgs>' -A patchelf --check
error: derivation `/nix/store/1ipvxsdnbhl1rw6siz6x92s7sc8nwkkb-patchelf-0.6' may not be deterministic: hash mismatch in output `/nix/store/4pc1dmw5xkwmc6q3gdc9i5nbjl4dkjpp-patchelf-0.6.drv'
The --check build fails if not all outputs are valid. Thus the first
call to nix-build is necessary to ensure that all outputs are valid.
The current outputs are left untouched: the new outputs are either put
in a chroot or diverted to a different location in the store using
hash rewriting.
2014-02-18 01:01:14 +01:00
Eelco Dolstra
4ec626a286
Test nix-store --verify-path and --repair-path
2014-02-17 23:24:12 +01:00
Eelco Dolstra
99f14c2584
Don't build on Debian 6.0
...
Its linker is too old to understand --no-copy-dt-needed-entries.
http://hydra.nixos.org/build/9113883
2014-02-17 23:10:40 +01:00
Eelco Dolstra
b6def5b542
Make --repair work on Darwin
...
Mac OS X doesn't allow renaming a read-only directory.
http://hydra.nixos.org/build/9113895
2014-02-17 23:09:48 +01:00
Eelco Dolstra
dfbcb7c403
Refactoring
2014-02-17 23:04:52 +01:00
Eelco Dolstra
71adb090f0
When using a build hook, only copy missing paths
2014-02-17 22:58:21 +01:00
Eelco Dolstra
69fe6c58fa
Move some code around
...
In particular, do replacing of valid paths during repair later. This
prevents us from replacing a valid path after the build fails.
2014-02-17 22:25:15 +01:00
Eelco Dolstra
1da6ae4f99
nix-store --gc --max-freed: Support a unit specifier
...
E.g. "--max-freed 10G" means "free ten gigabytes".
2014-02-17 14:48:50 +01:00
Eelco Dolstra
00d30496ca
Heuristically detect if a build may have failed due to a full disk
...
This will allow Hydra to detect that a build should not be marked as
"permanently failed", allowing it to be retried later.
2014-02-17 14:15:56 +01:00
Eelco Dolstra
e81d38c02b
nix-shell: Execute shellHook if it exists
...
Since normal builds don't execute shellHook, this allows nix-shell
specific customisation. Suggested by Domen.
2014-02-17 13:34:24 +01:00
Eelco Dolstra
832377bbd6
Add a test for repairing paths
2014-02-17 12:22:50 +01:00
Eelco Dolstra
a9d99ab55f
download-via-ssh: Use readStorePath
2014-02-14 12:31:10 +01:00