Eelco Dolstra
89a2a11d9f
Don't use [[noreturn]]
2018-01-19 15:00:38 +01:00
Eelco Dolstra
3c4c30eadd
Rewrite builtin derivation environment
...
Also add a test.
Fixes #1803 .
Closes #1805 .
2018-01-19 15:00:38 +01:00
Eelco Dolstra
2896bb6826
Don't retry CURLE_URL_MALFORMAT
2018-01-19 14:05:08 +01:00
Eelco Dolstra
87e3d142cc
Add a test for --check / --repeat
2018-01-19 13:58:28 +01:00
Eelco Dolstra
0c95776c3e
Don't define builtins.{currentSystem,currentTime} in pure mode
...
This makes it easier to provide a default, e.g.
system = builtins.currentSystem or "x86_64-linux";
2018-01-18 16:38:48 +01:00
Eelco Dolstra
5647e55f65
Merge pull request #1793 from peterstuart/fix-extra-space
...
Remove extra space in chat_about_sudo()
2018-01-18 16:19:44 +01:00
Eelco Dolstra
5cc5c3fb83
Merge pull request #1799 from iavael/manpath-fix-1
...
Fix manpath detection
2018-01-18 16:19:21 +01:00
Eelco Dolstra
27b510af5c
nix eval: Stop progress bar before printing the result
2018-01-17 12:04:44 +01:00
Eelco Dolstra
16e0287556
nix eval: Take only one argument
...
Thus --json no longer produces a list.
2018-01-17 12:03:06 +01:00
Eelco Dolstra
cfeff3b273
Move show-trace docs
2018-01-17 11:53:16 +01:00
Eelco Dolstra
d8b4cfad82
Typo
2018-01-17 11:53:08 +01:00
Eelco Dolstra
6ddfe9a999
<nix/fetchurl.nix>: Don't access builtins.currentSystem
...
This doesn't work in pure evaluation mode.
2018-01-16 19:24:23 +01:00
Eelco Dolstra
75b9670df6
Make show-trace a config setting
2018-01-16 19:24:23 +01:00
Eelco Dolstra
d4dcffd643
Add pure evaluation mode
...
In this mode, the following restrictions apply:
* The builtins currentTime, currentSystem and storePath throw an
error.
* $NIX_PATH and -I are ignored.
* fetchGit and fetchMercurial require a revision hash.
* fetchurl and fetchTarball require a sha256 attribute.
* No file system access is allowed outside of the paths returned by
fetch{Git,Mercurial,url,Tarball}. Thus 'nix build -f ./foo.nix' is
not allowed.
Thus, the evaluation result is completely reproducible from the
command line arguments. E.g.
nix build --pure-eval '(
let
nix = fetchGit { url = https://github.com/NixOS/nixpkgs.git ; rev = "9c927de4b179a6dd210dd88d34bda8af4b575680"; };
nixpkgs = fetchGit { url = https://github.com/NixOS/nixpkgs.git ; ref = "release-17.09"; rev = "66b4de79e3841530e6d9c6baf98702aa1f7124e4"; };
in (import (nix + "/release.nix") { inherit nix nixpkgs; }).build.x86_64-linux
)'
The goal is to enable completely reproducible and traceable
evaluation. For example, a NixOS configuration could be fully
described by a single Git commit hash. 'nixos-rebuild' would do
something like
nix build --pure-eval '(
(import (fetchGit { url = file:///my-nixos-config; rev = "..."; })).system
')
where the Git repository /my-nixos-config would use further fetchGit
calls or Git externals to fetch Nixpkgs and whatever other
dependencies it has. Either way, the commit hash would uniquely
identify the NixOS configuration and allow it to reproduced.
2018-01-16 19:23:18 +01:00
Eelco Dolstra
23fa7e3606
parseExprFromFile -> evalFile
...
parseExprFromFile() should be avoided since it doesn't cache anything.
2018-01-16 17:11:58 +01:00
Eelco Dolstra
ba75c69e00
Barf when using a diverted store on macOS
...
Fixes #1792 .
2018-01-15 12:14:43 +01:00
Eelco Dolstra
53b520708a
Merge pull request #1794 from dtzWill/feature/nix-log-pager
...
nix log: use pager
2018-01-15 11:25:48 +01:00
Iavael
ebc42f8b59
Fix manpath detection
...
Checking for MANPATH without quotes always returns true, so that it breaks bash-completion for man pages on modern systems without MANPATH environment variable.
2018-01-15 00:43:39 +03:00
Will Dietz
6454ca393a
nix log: use pager
2018-01-12 15:05:26 -06:00
Peter Stuart
a65376b01d
Remove extra space.
2018-01-12 14:27:29 -05:00
Eelco Dolstra
74f75c8558
import, builtins.readFile: Handle diverted stores
...
Fixes #1791
2018-01-12 17:31:08 +01:00
Will Dietz
435ccc7980
release: access fetchGit from builtins to fix eval w/1.11 (<1.12)
2018-01-10 14:19:29 -06:00
Eelco Dolstra
da85bea7a8
Merge pull request #1777 from bhipple/fix-32bit-rpm-builds
...
Fix Fedora 25 i386 RPM build
2018-01-10 11:58:20 +01:00
Eelco Dolstra
874ad7d9f8
Merge pull request #1788 from k0001/rem-subs-1
...
nix.conf: builders-use-substitutes
2018-01-10 11:31:51 +01:00
Renzo Carbonara
b0328c244d
nix.conf: builders-use-substitutes
...
Fixes #937
2018-01-09 22:40:07 +01:00
Eelco Dolstra
3cd0704387
Merge pull request #1787 from dtzWill/fix/git-not-on-PATH
...
fix git cache 'corruption' when git not available, breaks all future use of fetchGit
2018-01-09 16:49:44 +01:00
Will Dietz
428680b307
fetchGit: fix creation of uninitialized cache dir, let git create it
...
fetchGit test (as modified in previous commit) now passes.
2018-01-09 09:05:18 -06:00
Will Dietz
84d9e213d2
fetchGit.sh: Test we don't "corrupt" cache if invoke w/o git avail
2018-01-09 08:58:19 -06:00
Eelco Dolstra
7b9583680e
Improve error message with --repair for untrusted users
2018-01-08 19:13:48 +01:00
Eelco Dolstra
6e0989685a
Merge pull request #1774 from LnL7/darwin-no-etc-profile
...
installer: don't touch /etc/profile
2018-01-05 12:00:44 +01:00
Benjamin Hipple
1882e802e7
Fix Fedora 25 i386 RPM build
2018-01-04 19:44:32 -05:00
Eelco Dolstra
44272d8719
Rename "use-substitutes" to "substitute"
...
Commit c2154d4c84
renamed
"build-use-substitutes" to "use-substitutes", but that broke
"nix-copy-closure --use-substitutes".
2018-01-04 16:58:39 +01:00
Domen Kožar
1b851ae8f6
Merge pull request #1773 from bhipple/fix-hydra-rpm-builds
...
Fix RPM builds by increasing VM memory size
2018-01-04 12:00:32 +00:00
Daiderd Jordan
27788f4060
installer: don't touch /etc/profile
...
The default profile already loads /etc/bashrc.
2018-01-03 22:29:54 +01:00
Benjamin Hipple
4cb5c51375
Fix RPM builds by increasing VM memory size
...
The VM was running out of RAM while handling debug symbols, which caused the
eu-strip to fail while separating debug symbols.
2018-01-02 23:39:42 -05:00
Eelco Dolstra
e297aa7b1c
Merge pull request #1772 from shlevy/hasContext
...
Add hasContext primop
2018-01-02 18:53:57 +01:00
Shea Levy
689b2783fc
Add hasContext primop
2018-01-02 12:25:14 -05:00
Eelco Dolstra
f68c2b5a78
Merge pull request #1770 from dtzWill/fix/run-test-sandbox-ubuntu
...
run.sh: include lib64 in sandbox-paths to fix on ubuntu 16.XX
2018-01-02 11:32:18 +01:00
Eelco Dolstra
9b67f234c9
Merge pull request #1768 from dtzWill/feature/brotli
...
use libbrotli directly when available
2018-01-02 11:31:29 +01:00
Eelco Dolstra
099ba37820
Merge pull request #1766 from FRidh/aspell
...
Do not export ASPELL_CONF
2018-01-02 11:29:13 +01:00
Will Dietz
5afee18726
run.sh: include lib64 in sandbox-paths to fix on ubuntu 16.XX
...
(cc #1769 )
2017-12-30 22:41:49 -06:00
Will Dietz
9dd2b8ac7b
use libbrotli directly when available
...
* Look for both 'brotli' and 'bro' as external command,
since upstream has renamed it in newer versions.
If neither are found, current runtime behavior
is preserved: try to find 'bro' on PATH.
* Limit amount handed to BrotliEncoderCompressStream
to ensure interrupts are processed in a timely manner.
Testing shows negligible performance impact.
(Other compression sinks don't seem to require this)
2017-12-30 20:26:33 -06:00
Frederik Rietdijk
ab8ba71205
Do not export ASPELL_CONF
...
This does not belong in Nix. Setting this env var is already done by the aspell derivation found in Nixpkgs.
2017-12-29 13:45:54 +01:00
Shea Levy
6a0dd63508
Merge branch 'fix/issue-1757' of git://github.com/dtzWill/nix
2017-12-27 18:51:05 -05:00
Shea Levy
25196d0d26
Merge branch 'fix/fetchGit-clean-branch' of git://github.com/dtzWill/nix
2017-12-27 18:50:08 -05:00
Will Dietz
bd17ccf1d8
nix repl: use linenoiseKeyType to differentiate ^C and ^D
...
Fixes #1757 .
2017-12-26 19:25:50 -06:00
Eelco Dolstra
4801420893
Remove debug line
2017-12-25 14:53:15 +01:00
Will Dietz
2e6f06c37e
fetchGit: Fix handling of local repo when not using 'master' branch
...
Add tests checking this behavior.
2017-12-22 15:29:52 -06:00
Eelco Dolstra
aa43cbb764
Check aws-sdk-cpp version
2017-12-22 12:05:13 +01:00
Eelco Dolstra
6d80870832
release.nix: Use fetchTarball and fetchGit
...
In particular, using fetchGit means we don't need hackery to clean the
source tree when building from an unclean tree.
2017-12-22 11:35:32 +01:00