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
7bef965d6f
Make it work on GNU Make > 3.81 again
2014-02-18 13:35:35 +01:00
Eelco Dolstra
79f699edca
More GNU Make 3.81 compatibility
2014-02-18 12:57:32 +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
581a160c11
Add a function for looking up programs in $PATH
2014-02-14 20:12:04 +01:00
Eelco Dolstra
a9d99ab55f
download-via-ssh: Use readStorePath
2014-02-14 12:31:10 +01:00
Eelco Dolstra
4db572062c
download-via-ssh: Show where we're downloading from
2014-02-14 12:20:12 +01:00
Eelco Dolstra
dba33d4018
Minor style fixes
2014-02-14 11:48:42 +01:00
Eelco Dolstra
61fd494d76
Merge remote-tracking branch 'shlevy/ssh-substituter'
2014-02-14 11:42:47 +01:00
Shea Levy
f67f52751f
Indendation fix
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12 07:33:07 -05:00
Shea Levy
62eb9eb76d
Remove relic of old code
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12 07:27:45 -05:00
Shea Levy
7438f0bc2b
error messages start in lowercase
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12 07:26:35 -05:00
Shea Levy
2246aa77d2
Remove using declarations from download-via-ssh
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-12 07:22:36 -05:00
Eelco Dolstra
f9fc6acbf4
Document current meaning of preferLocalBuild
...
Closes #208 .
2014-02-12 10:53:22 +01:00
Eelco Dolstra
a35c6eb4a2
Support setting CFLAGS and CXXFLAGS for libraries/programs
2014-02-11 14:15:57 +01:00
Eelco Dolstra
1f841c9d50
Force use of Bash
...
"echo -n" doesn't work with /bin/sh on Darwin.
2014-02-10 17:42:36 +01:00
Eelco Dolstra
57386c9bae
Binary tarball: Automatically create /nix
...
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-10 16:35:59 +01:00
Shea Levy
c89d6b9b63
nix-store --serve: Use a versioned protocol
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10 07:43:13 -05:00
Shea Levy
38c3beac1a
Move StoreApi::serve into opServe
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10 06:52:48 -05:00
Shea Levy
1614603165
Pass in params by const ref
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10 06:49:37 -05:00
Shea Levy
78d979567f
Clarify comment
...
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-10 06:43:29 -05:00
Eelco Dolstra
c5839752b9
Binary tarball: Automatically fetch the Nixpkgs channel
2014-02-10 10:50:29 +01:00
Eelco Dolstra
b632153ebd
nix-shell: Use shell.nix as the default expression if it exists
2014-02-10 10:25:13 +01:00