about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-02-25 Extract and expose splitUriAndParams functionDzmitry Zaitsau2-4/+16
which splits a URL into localtor and parameter parts
2019-02-14 Merge pull request #2579 from catern/dumpdbEelco Dolstra1-5/+10
nix-store: make --dump-db take a list of paths to dump
2019-02-12 Merge pull request #2628 from shlevy/context-introspectionEelco Dolstra3-54/+192
Context introspection
2019-02-05 Revert "Restore parent mount namespace before executing a child process"Eelco Dolstra9-52/+4
This reverts commit a0ef21262f4d5652bfb65cfacaec01d89c475a93. This doesn't work in 'nix run' and nix-shell because setns() fails in multithreaded programs, and Boehm GC mark threads are uncancellable. Fixes #2646.
2019-01-31 Add builtins.appendContext.Shea Levy1-2/+57
A partner of builtins.getContext, useful for the same reasons.
2019-01-23 nix-store: make --dump-db take a list of paths to dumpSpencer Baugh1-5/+10
Inside a derivation, exportReferencesGraph already provides a way to dump the Nix database for a specific closure. On the command line, --dump-db gave us the same information, but only for the entire Nix database at once. With this change, one can now pass a list of paths to --dump-db to get the Nix database dumped for just those paths. (The user is responsible for ensuring this is a closure, like for --export). Among other things, this is useful for deploying a closure to a new host without using --import/--export; one can use tar to transfer the store paths, and --dump-db/--load-db to transfer the validity information. This is useful if the new host doesn't actually have Nix yet, and the closure that is being deployed itself contains Nix.
2019-01-18 unsupported(): Show the name of the unsupported operationEelco Dolstra4-76/+31
2019-01-14 Add builtins.getContext.Shea Levy3-38/+135
This can be very helpful when debugging, as well as enabling complex black magic like surgically removing a single dependency from a string's context.
2019-01-13 Treat plain derivation paths in context as normal paths.Shea Levy1-17/+3
Previously, plain derivation paths in the string context (e.g. those that arose from builtins.storePath on a drv file, not those that arose from accessing .drvPath of a derivation) were treated somewhat like derivaiton paths derived from .drvPath, except their dependencies weren't recursively added to the input set. With this change, such plain derivation paths are simply treated as paths and added to the source inputs set accordingly, simplifying context handling code and removing the inconsistency. If drvPath-like behavior is desired, the .drv file can be imported and then .drvPath can be accessed. This is a backwards-incompatibility, but storePath is never used on drv files within nixpkgs and almost never used elsewhere.
2019-01-10 Merge pull request #2608 from dtzWill/fix/issue-2546Eelco Dolstra1-0/+1
EvalState::resetFileCache: clear parse cache as well as eval cache
2019-01-10 Merge pull request #2617 from veprbl/pr/V547_nix_repl.ccEelco Dolstra1-18/+1
remove some dead code in nix/repl.cc
2019-01-07 Merge pull request #2601 from dtzWill/update/json-3.5.0Eelco Dolstra1-2649/+8181
Update nlohmann-json 3.0.1 -> 3.5.0
2019-01-05 Remove mentions of `libformat`, it no longer existsJohn Ericson6-7/+5
2019-01-05 brotli is only used as a library nowJohn Ericson1-2/+0
2018-12-31 EvalState::resetFileCache: clear parse cache as well as eval cacheWill Dietz1-0/+1
Fixes #2546. (at least the basic reproduction I've been testing)
2018-12-25 remove some dead code in nix/repl.ccDmitry Kalinkin1-18/+1
Fixes a static analyzer warning: Expression 'isDrv' is always false. Fixes: 3beb6f6e7 ('Show derivations more concisely')
2018-12-21 nlohmann-json: 3.4.0 -> 3.5.0Will Dietz1-129/+261
https://github.com/nlohmann/json/releases/tag/v3.5.0
2018-12-21 nlohmann: 3.0.1 -> 3.4.0Will Dietz1-2634/+8034
``` $ curl -L "https://github.com/nlohmann/json/releases/download/v3.4.0/json.hpp" -o src/nlohmann/json.hpp ```
2018-12-15 nix-store: remove debugging printWill Dietz1-3/+0
2018-12-13 Support SRI hashesEelco Dolstra5-32/+45
SRI hashes (https://www.w3.org/TR/SRI/) combine the hash algorithm and a base-64 hash. This allows more concise and standard hash specifications. For example, instead of import <nix/fetchurl.nl> { url = https://nixos.org/releases/nix/nix-2.1.3/nix-2.1.3.tar.xz; sha256 = "5d22dad058d5c800d65a115f919da22938c50dd6ba98c5e3a183172d149840a4"; }; you can write import <nix/fetchurl.nl> { url = https://nixos.org/releases/nix/nix-2.1.3/nix-2.1.3.tar.xz; hash = "sha256-XSLa0FjVyADWWhFfkZ2iKTjFDda6mMXjoYMXLRSYQKQ="; }; In fixed-output derivations, the outputHashAlgo is no longer mandatory if outputHash specifies the hash (either as an SRI or in the old "<type>:<hash>" format). 'nix hash-{file,path}' now print hashes in SRI format by default. I also reverted them to use SHA-256 by default because that's what we're using most of the time in Nixpkgs. Suggested by @zimbatm.
2018-12-13 Merge pull request #2576 from LnL7/repl-no-linkEelco Dolstra1-1/+1
nix repl: don't create result symlinks
2018-12-13 probably typovolth1-1/+1
...at least MSVC unable to compile this
2018-12-12 nix repl: don't create result symlinksDaiderd Jordan1-1/+1
2018-12-12 libstore: improve hash mismatch error messageszimbatm3-6/+6
Use the same output ordering and format everywhere. This is such a common issue that we trade the single-line error message for more readability. Old message: ``` fixed-output derivation produced path '/nix/store/d4nw9x2sy9q3r32f3g5l5h1k833c01vq-example.com' with sha256 hash '08y4734bm2zahw75b16bcmcg587vvyvh0n11gwiyir70divwp1rm' instead of the expected hash '1xzwnipjd54wl8g93vpw6hxnpmdabq0wqywriiwmh7x8k0lvpq5m' ``` New message: ``` hash mismatch in fixed-output derivation '/nix/store/d4nw9x2sy9q3r32f3g5l5h1k833c01vq-example.com': wanted: sha256:1xzwnipjd54wl8g93vpw6hxnpmdabq0wqywriiwmh7x8k0lvpq5m got: sha256:08y4734bm2zahw75b16bcmcg587vvyvh0n11gwiyir70divwp1rm ```
2018-12-12 Fix assertion failure in NarInfoDiskCacheEelco Dolstra1-15/+15
https://hydra.nixos.org/build/85827920
2018-12-12 nar-info-disk-cache: include ca in the cache entriesDaiderd Jordan1-2/+5
Without this information the content addressable state and hashes are lost after the first request, this causes signatures to be required for everything even tho the path could be verified without signing.
2018-12-07 s3: make scheme configurableDaiderd Jordan3-7/+11
This enables using for http for S3 request for debugging or implementations that don't have https configured. This is not a problem for binary caches since they should not contain sensitive information. Both package signatures and AWS auth already protect against tampering.
2018-12-06 Solve hg "abandoned transaction" issueCHEIKH Chawki1-1/+16
2018-11-20 fetchGit: Drop unnecessary localRefEelco Dolstra1-4/+4
2018-11-20 Merge branch 'better-git-cache' of https://github.com/graham-at-target/nixEelco Dolstra1-1/+3
2018-11-20 Merge pull request #2216 from dtzWill/fix/curl-760-timeoutEelco Dolstra1-1/+2
download: if there are active requests, never sleep for 10s
2018-11-20 Fix typoEelco Dolstra1-1/+1
2018-11-20 repl: give user the choice between libeditline and libreadlineKai Harries1-0/+9
The goal is to support libeditline AND libreadline and let the user decide at compile time which one to use. Add a compile time option to use libreadline instead of libeditline. If compiled against libreadline completion functionality is lost because of a incompatibility between libeditlines and libreadlines completion function. Completion with libreadline is possible and can be added later. To use libreadline instead of libeditline the environment variables 'EDITLINE_LIBS' and 'EDITLINE_CFLAGS' have to been set during the ./configure step. Example: EDITLINE_LIBS="/usr/lib/x86_64-linux-gnu/libhistory.so /usr/lib/x86_64-linux-gnu/libreadline.so" EDITLINE_CFLAGS="-DREADLINE" The reason for this change is that for example on Debian already three different editline libraries exist but none of those is compatible the flavor used by nix. My hope is that with this change it would be easier to port nix to systems that have already libreadline available.
2018-11-20 repl: Remove code that was commented outKai Harries1-2/+0
2018-11-16 nix ls-nar: allow reading from FIFOsLinus Heckemann1-1/+1
fixes #2528
2018-11-15 Fix 'Read-only file system' when building a derivationEelco Dolstra3-1/+5
2018-11-13 Merge branch 'feature/editline-pr' of https://github.com/dtzWill/nixEelco Dolstra8-4641/+77
2018-11-13 Restore parent mount namespace before executing a child processEelco Dolstra8-4/+48
This ensures that they can't write to /nix/store. Fixes #2535.
2018-11-09 nix-prefetch-url: Stop progress bar before printing resultsEelco Dolstra1-0/+2
2018-11-09 Merge branch 'feature/prefetch-progress' of https://github.com/dtzWill/nixEelco Dolstra1-0/+7
2018-11-07 Enable sandboxing by defaultEelco Dolstra1-1/+7
Closes #179.
2018-11-01 Disable the S3 content-encoding patchEelco Dolstra1-1/+4
Since we're not using multi-part uploads at the moment, we can drop this patch.
2018-10-31 Fix typo in commentsJan Path1-1/+1
2018-10-31 Merge pull request #2501 from mayflower/xdg_config_dirsEelco Dolstra3-1/+17
config: use all of XDG_CONFIG_DIRS
2018-10-31 config: use all of XDG_CONFIG_DIRSLinus Heckemann3-1/+17
Previously, config would only be read from XDG_CONFIG_HOME. This change allows reading config from additional directories, which enables e.g. per-project binary caches or chroot stores with the help of direnv.
2018-10-30 Remove redundant messageEelco Dolstra1-2/+0
2018-10-30 S3BinaryCacheStore: Allow disabling multipart uploadsEelco Dolstra1-31/+57
The use of TransferManager has several issues, including that it doesn't allow setting a Content-Encoding without a patch, and it doesn't handle exceptions in worker threads (causing termination on memory allocation failure). Fixes #2493.
2018-10-30 Fix broken uploadProgressCallback closureEelco Dolstra1-4/+4
Since the callback is global we can't refer to 'path' in it. This could cause a segfault or printing of arbitrary data.
2018-10-29 Merge pull request #2494 from FPtje/fix-copy-from-oldEelco Dolstra1-3/+7
copyStorePath: Fix hash errors when copying from older store
2018-10-29 copyStorePath: Fix hash errors when copying from older storeFalco Peijnenburg1-3/+7
This commit partially reverts 48662d151bdf4a38670897beacea9d1bd750376a. When copying from an older store (in my case a store running Nix 1.11.7), nix would throw errors about there being no hash. This is fixed by recalculating the hash.