about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-05-30 Make <nix/fetchurl.nix> run in constant memoryEelco Dolstra3-35/+62
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 getDownloader(): SimplifyEelco Dolstra1-4/+2
2018-05-30 Make HttpBinaryCacheStore::narFromPath() run in constant memoryEelco Dolstra3-3/+116
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 Make LocalBinaryCacheStore::narFromPath() run in constant memoryEelco Dolstra6-31/+65
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 48662d151bdf4a38670897beacea9d1bd750376a. Issue https://github.com/NixOS/nix/issues/1681.
2018-05-30 Simplify the callback mechanismEelco Dolstra16-179/+151
2018-05-30 Move evaluator-specific settings out of libstoreEelco Dolstra7-31/+42
2018-05-30 Move some Download-specific settings to download.ccEelco Dolstra3-22/+25
2018-05-30 Modularize config settingsEelco Dolstra13-125/+182
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 Fix assertion failure in storePathToHash()Eelco Dolstra1-0/+2
Fixes https://github.com/NixOS/nix/issues/2015.
2018-05-30 Make 'nix copy --to daemon' run in constant memory (daemon side)Eelco Dolstra3-6/+17
Continuation of 97002b684c902dadcd351a67208f9c2a88ff8f8f. 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 LocalStore::addToStore: Throw an exception if no hash is givenEelco Dolstra1-1/+2
2018-05-30 Use extended SQLite error codesEelco Dolstra1-1/+2
2018-05-28 Merge pull request #2187 from bgamari/stoi-exceptionsEelco Dolstra1-1/+1
json-to-value: Use strtol instead of strtoi
2018-05-26 json-to-value: Use strtol instead of strtoiBen Gamari1-1/+1
NixInt is long, so strtoi is too restrictive.
2018-05-26 eval.cc: add message to static_assert, message can be omitted w/c++17Will Dietz1-1/+1
2018-05-26 nix-daemon: remove unused "pendingMsgs" variableWill Dietz1-2/+0
2018-05-25 libstore/download: remove unused function "getTime()"Will Dietz1-7/+0
2018-05-24 Merge pull request #2157 from volth/bitwiseEelco Dolstra1-0/+17
add builtins: __bitAnd, __bitOr, __bitXor
2018-05-22 Make Env self-describingEelco Dolstra2-8/+12
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 Memoise checkSourcePath()Eelco Dolstra2-1/+11
This prevents hydra-eval-jobs from statting the same files over and over again.
2018-05-21 serialise: fix buffer size used, hide method for internal use onlyWill Dietz3-5/+9
Fixes #2169.
2018-05-16 add `mod' and bitwise builtins: camel-case function namesvolth1-6/+6
2018-05-16 add `mod' and bitwise builtins: remove `mod' and shiftsvolth1-36/+0
2018-05-16 add `mod' and bitwise builtins: remove infix functionsvolth1-7/+0
2018-05-15 Merge pull request #2145 from serokell/uncached-channelEelco Dolstra3-4/+4
make sure not to use cached channels for nix-channel --update
2018-05-12 add `mod' and bitwise builtinsvolth2-0/+60
2018-05-11 Don't return negative numbers from the flex tokenizerEelco Dolstra1-1/+5
Fixes #1374. Closes #2129.
2018-05-11 Revert "Throw a specific error for incomplete parse errors."Eelco Dolstra3-11/+1
This reverts commit 6498adb002bcf7e715afe46c23b8635d4592c156. We don't actually use IncompleteParseError in 'nix repl'.
2018-05-10 Remove mention of default since we already know the defaultEelco Dolstra1-1/+1
2018-05-10 Merge branch 's3-multipart-uploads' of https://github.com/AmineChikhaoui/nixEelco Dolstra2-17/+65
2018-05-09 make sure not to use cached channels for nix-channel --updateYorick van Pelt3-4/+4
fixes #1964
2018-05-09 In restricted eval mode, allow access to the closure of store pathsEelco Dolstra1-1/+11
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-07 share the executor between multiple copy threads.AmineChikhaoui1-2/+2
2018-05-07 add a FIXME note to find a way to abort the multipart uploads inAmineChikhaoui1-2/+2
case the nix command is interrupted.
2018-05-07 Support multi-part uploads for large NARs that exceed the size ofAmineChikhaoui2-17/+65
5Gb.
2018-05-07 nix-shell: Only download requested outputsEelco Dolstra1-1/+1
Fixes #2116.
2018-05-03 Don't set a CA assertion for paths with referencesEelco Dolstra1-0/+2
Really fixes #2133.
2018-05-03 LocalStore::addValidPath(): Throw error when the CA assertion is wrongEelco Dolstra1-1/+2
Closes #2133.
2018-05-02 Fix some random -Wconversion warningsEelco Dolstra16-80/+82
2018-05-02 Fix bzip2 compression of files > 4 GiBEelco Dolstra1-3/+14
Bzip2's 'avail_in' parameter is declared as an unsigned int, so assigning a size_t length to it led to silent truncation. Fixes #2111.
2018-04-23 globals.hh: don't use '==' to compare string literalsWill Dietz1-1/+1
Saw this in logs, also reported here: https://github.com/NixOS/nix/commit/8e6108ff71caae180d764ab9e9bff5593724655c#r28707288
2018-04-23 Merge branch 'aarch64-armv7' of git://github.com/lheckemann/nixShea Levy4-11/+16
Support extra compatible architectures (#1916)
2018-04-23 Merge branch 'pos-crash-fix' of git://github.com/dezgeg/nixShea Levy1-1/+1
2018-04-23 Merge branch 'hash-mismatch' of git://github.com/LnL7/nixShea Levy1-2/+2
2018-04-21 Fix library ordering in MakefilesAndrew Dunham3-3/+3
The existing ordering linked `libutil` before `libstore`, which causes link failures when building statically. This is due to `libstore` using functions from `libutil`, and the fact that symbol resolution works "forward" - i.e. if you pass `-lfoo -lbar -lbaz`, any symbols that `libbar` uses from `libbaz` will be resolved, but symbols from `libfoo` will not since it comes first in the command line. All this to say: this commit reorders the libraries which fixes the link errors.
2018-04-21 Merge pull request #1707 from dtzWill/fix/issue-1692Peter Simons1-1/+5
ignore "interrupted" exception in progress callback
2018-04-20 download: make hash mismatch error consistent with fetchurlDaiderd Jordan1-2/+2
2018-04-20 build.cc: fix bind-mount of /dev/{pts,ptmx} fallbackWill Dietz1-2/+2
Don't bind-mount these to themselves, mount them into the chroot directory. Fixes pty issues when using sandbox on CentOS 7.4. (build of perlPackages.IOTty fails before this change)
2018-04-18 Allow multiple search experssions in nix searchDaniel Poelzleithner1-18/+38
The common use case is to search for packages containing multiple words like a "git" "frontend". Having only one expressions makes this simple regular use case very complicated. Instead, search accepts multiple regular epressions which all need to match. nix search git 'gui|frontend' returns a list of all git uis for example
2018-04-17 isFunction: True on primops.Shea Levy1-1/+12
Fixes #2073