Eelco Dolstra
7d21863bb3
Make <nix/fetchurl.nix> run in constant memory
...
E.g.
nix-build --store ~/my-nix/ -E 'import <nix/fetchurl.nix> { url = https://cache.nixos.org/nar/0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv.nar.xz ; sha256 = "0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv"; }'
now runs in 17 MiB (was 70 MiB), while
nix-build --store ~/my-nix/ -E 'import <nix/fetchurl.nix> { url = https://cache.nixos.org/nar/0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv.nar.xz ; sha256 = "0d2fxljdih3nc5dqx41hjzic3141ajil94m8kdbpryq569dpsbvb"; unpack = true; }'
runs in 17 MiB (was 346 MiB).
2018-05-30 13:42:51 +02:00
Eelco Dolstra
5a654fd7dd
getDownloader(): Simplify
2018-05-30 13:42:30 +02:00
Eelco Dolstra
e87e4a60d6
Make HttpBinaryCacheStore::narFromPath() run in constant memory
...
This reduces memory consumption of
nix copy --from https://cache.nixos.org --to ~/my-nix /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79
from 176 MiB to 82 MiB. (The remaining memory is probably due to xz
decompression overhead.)
Issue https://github.com/NixOS/nix/issues/1681 .
Issue https://github.com/NixOS/nix/issues/1969 .
2018-05-30 13:42:29 +02:00
Eelco Dolstra
08ec757726
Make LocalBinaryCacheStore::narFromPath() run in constant memory
...
This reduces memory consumption of
nix copy --from file://... --to ~/my-nix /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79
from 514 MiB to 18 MiB for an uncompressed binary cache, and from 192
MiB to 53 MiB for a bzipped binary cache. It may also be faster
because fetching can happen concurrently with decompression/writing.
Continuation of 48662d151b
.
Issue https://github.com/NixOS/nix/issues/1681 .
2018-05-30 13:34:57 +02:00
Eelco Dolstra
81ea8bd5ce
Simplify the callback mechanism
2018-05-30 13:34:37 +02:00
Eelco Dolstra
1672bcd230
Move evaluator-specific settings out of libstore
2018-05-30 13:29:50 +02:00
Eelco Dolstra
c1d445ecec
Move some Download-specific settings to download.cc
2018-05-30 13:29:50 +02:00
Eelco Dolstra
737ed88f35
Modularize config settings
...
Allow global config settings to be defined in multiple Config
classes. For example, this means that libutil can have settings and
evaluator settings can be moved out of libstore. The Config classes
are registered in a new GlobalConfig class to which config files
etc. are applied.
Relevant to https://github.com/NixOS/nix/issues/2009 in that it
removes the need for ad hoc handling of useCaseHack, which was the
underlying cause of that issue.
2018-05-30 13:28:01 +02:00
Eelco Dolstra
e606cd412f
Fix assertion failure in storePathToHash()
...
Fixes https://github.com/NixOS/nix/issues/2015 .
2018-05-30 13:27:19 +02:00
Eelco Dolstra
6185d25e52
Make 'nix copy --to daemon' run in constant memory (daemon side)
...
Continuation of 97002b684c
. This makes
the daemon use constant memory. For example, it reduces the daemon's
maximum RSS on
$ nix copy --from ~/my-nix --to daemon /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a
from 264 MiB to 7 MiB.
We now use a TunnelSource to prevent the connection from ending up in
an undefined state if an exception is thrown while the NAR is being
sent.
Issue https://github.com/NixOS/nix/issues/1681 .
2018-05-30 13:26:48 +02:00
Eelco Dolstra
23d6bb583a
LocalStore::addToStore: Throw an exception if no hash is given
2018-05-30 13:25:40 +02:00
Eelco Dolstra
3cab639e21
Use extended SQLite error codes
2018-05-30 13:25:03 +02:00
Eelco Dolstra
bd56b5fe3f
Merge pull request #2187 from bgamari/stoi-exceptions
...
json-to-value: Use strtol instead of strtoi
2018-05-28 14:54:49 +02:00
Eelco Dolstra
d820717bc6
Merge pull request #2186 from dtzWill/fix/cxx14-static-assert
...
eval.cc: add message to static_assert, message can be omitted w/c++17
2018-05-28 14:54:20 +02:00
Ben Gamari
7f560b81ea
json-to-value: Use strtol instead of strtoi
...
NixInt is long, so strtoi is too restrictive.
2018-05-26 18:43:46 -04:00
Will Dietz
93ae90de0f
eval.cc: add message to static_assert, message can be omitted w/c++17
2018-05-26 14:04:41 -05:00
Will Dietz
14c464b6c8
nix-daemon: remove unused "pendingMsgs" variable
2018-05-26 13:09:55 -05:00
Eelco Dolstra
0a830ef12d
Merge pull request #2181 from grahamc/nix-install-behind-mitm-proxy
...
Install Nix behind MITM proxy
2018-05-26 17:41:24 +02:00
Will Dietz
ca9c6cb95d
libstore/download: remove unused function "getTime()"
2018-05-25 19:49:45 -05:00
Graham Christensen
e6466c20b3
Document NIX_SSL_CERT_FILE for installation
2018-05-25 15:59:14 -04:00
Graham Christensen
cad903b634
multi-user profile: borrow single user profiles' NIX_SSL_CERT_FILE finding logic
2018-05-25 15:59:10 -04:00
Graham Christensen
c4b9486f9b
install-multi-user: don't force NIX_SSL_CERT_FILE
...
Following the lead of the single user installer, if NIX_SSL_CERT_FILE is explicitly set prior to running, accept the user-provided version.
2018-05-25 15:54:55 -04:00
Eelco Dolstra
1df32c7d7c
Merge pull request #1664 from matthewbauer/patch-4
...
Setup NIX_PATH correctly in nix-profile-daemon
2018-05-25 13:36:04 +02:00
Eelco Dolstra
743359bc8a
Merge pull request #2157 from volth/bitwise
...
add builtins: __bitAnd, __bitOr, __bitXor
2018-05-24 15:00:39 +02:00
volth
88c1ea30e4
add docs and tests
2018-05-24 12:51:34 +00:00
Eelco Dolstra
e87242e0de
Merge pull request #2178 from alexfmpe/fix-docs-check-suffix
...
Fix docs on --check suffix
2018-05-24 11:43:02 +02:00
Alexandre Esteves
579f3895b4
Fix docs on --check suffix
2018-05-23 22:26:06 +01:00
Eelco Dolstra
4bb8741b98
Make Env self-describing
...
If the Env denotes a 'with', then values[0] may be an Expr* cast to a
Value*. For code that generically traverses Values/Envs, it's useful
to know this.
2018-05-22 16:02:32 +02:00
Eelco Dolstra
9fd7cf98db
Memoise checkSourcePath()
...
This prevents hydra-eval-jobs from statting the same files over and
over again.
2018-05-22 13:02:14 +02:00
Eelco Dolstra
9064dd2f4d
Merge pull request #2173 from dtzWill/fix/serialise-read-unbuffered
...
serialise: fix buffer size used, hide method for internal use only
2018-05-22 11:31:07 +02:00
Will Dietz
b08923b4a0
serialise: fix buffer size used, hide method for internal use only
...
Fixes #2169 .
2018-05-21 17:30:38 -05:00
volth
6cc28c0589
add `mod' and bitwise builtins: camel-case function names
2018-05-16 10:52:19 +00:00
volth
f3c090f91c
add mod' and bitwise builtins: remove
mod' and shifts
2018-05-16 06:57:11 +00:00
volth
49b7cf1813
add `mod' and bitwise builtins: remove infix functions
2018-05-16 06:55:24 +00:00
Eelco Dolstra
966407bcf1
Merge pull request #2145 from serokell/uncached-channel
...
make sure not to use cached channels for nix-channel --update
2018-05-15 14:57:18 +02:00
volth
8a6a14e1f5
add `mod' and bitwise builtins
2018-05-12 16:50:39 +00:00
Eelco Dolstra
1ad19232c4
Don't return negative numbers from the flex tokenizer
...
Fixes #1374 .
Closes #2129 .
2018-05-11 12:05:12 +02:00
Eelco Dolstra
f3c85f9eb3
Revert "Throw a specific error for incomplete parse errors."
...
This reverts commit 6498adb002
. We don't
actually use IncompleteParseError in 'nix repl'.
2018-05-11 11:40:50 +02:00
Eelco Dolstra
2b3c1b3a88
Remove mention of default since we already know the default
2018-05-10 12:06:28 +02:00
Eelco Dolstra
38def17627
Merge branch 's3-multipart-uploads' of https://github.com/AmineChikhaoui/nix
2018-05-10 12:06:02 +02:00
Eelco Dolstra
39c4d7f5b0
Merge pull request #2146 from adevress/spec-filefix
...
Cleanup and Update of nix.spec file
2018-05-10 11:57:26 +02:00
Eelco Dolstra
5ba2b566a4
Merge pull request #2142 from domenkozar/docker-2.0.1
...
Docker 2.0.1
2018-05-10 11:56:41 +02:00
Adrien Devresse
d1f8822a43
Cleanup of nix.spec file to allow build on EL7 and beyond
...
- Clean deprecated spec file macros ( < EL6 )
- Allow to build Nix on EL7 using Software collection and Copr backports
- Add conditional build to build Nix RPM without documentation for dev builds
- Add missing BuildRequires (openssl, and others )
2018-05-09 18:16:39 +02:00
Yorick van Pelt
b9289e4855
make sure not to use cached channels for nix-channel --update
...
fixes #1964
2018-05-09 16:18:20 +02:00
Eelco Dolstra
a91c4ca01f
In restricted eval mode, allow access to the closure of store paths
...
E.g. this makes
nix eval --restrict-eval -I /nix/store/foo '(builtins.readFile "/nix/store/foo/symlink/bla")'
(where /nix/store/foo/symlink is a symlink to another path in the
closure of /nix/store/foo) succeed.
This fixes a regression in Hydra compared to Nix 1.x (where there were
no restrictions at all on access to the Nix store).
2018-05-09 15:45:05 +02:00
Domen Kožar
2228891260
docker readme: simplify
2018-05-08 12:37:52 +02:00
Domen Kožar
85f9650322
Dockerfile: 2.0.2
2018-05-08 12:37:43 +02:00
Domen Kožar
257c3c763a
Add README for docker
2018-05-08 12:28:55 +02:00
Domen Kožar
1e20ed5a0c
Dockerfile: update to 2.0.1
2018-05-08 12:28:06 +02:00
AmineChikhaoui
854c0860f4
share the executor between multiple copy threads.
2018-05-07 15:07:00 +01:00