about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2019-07-02 build: add tests for --check status codesDaiderd Jordan2-4/+24
2019-07-02 build: use binary mask for build status flagsDaiderd Jordan1-1/+9
If multiple builds with fail with different errors it will be reflected in the status code. eg. 103 => timeout + hash mismatch 105 => timeout + check mismatch 106 => hash mismatch + check mismatch 107 => timeout + hash mismatch + check mismatch
2019-07-02 build: add exit code for hash and check mismatchesDaiderd Jordan2-4/+15
Makes it easier to identify the failure reason in other tooling, eg. differentiate between a non-deterministic --check vs a failed build. $ nix-build '<nix/fetchurl.nix>' --argstr url http://example.org --argstr sha256 0000000000000000000000000000000000000000000000000000 hash mismatch in fixed-output derivation '/nix/store/nzi9ck45rwlxzcwr25is7qlf3hs5xl83-example.org': wanted: sha256:0000000000000000000000000000000000000000000000000000 got: sha256:08y4734bm2zahw75b16bcmcg587vvyvh0n11gwiyir70divwp1rm $ echo $? 102 $ nix-build -E 'with import <nixpkgs> {}; runCommand "foo" {} "date +%s > $out"' --check warning: rewriting hashes in '/nix/store/g3k47g0399fvjmbm0p0mnad74k4w8vkz-foo'; cross fingers error: derivation '/nix/store/mggc8dz13ackb49qca6m23zq4fpq132q-foo.drv' may not be deterministic: output '/nix/store/g3k47g0399fvjmbm0p0mnad74k4w8vkz-foo' differs $ echo $? 104
2019-06-28 Merge pull request #2977 from aniketd/2971-cannot-disable-http2Eelco Dolstra1-0/+2
Fix `http2 = false` having no effect.
2019-06-28 Fix `http2 = false` having no effect. Fixes #2971.Aniket Deshpande1-0/+2
Setting `http2 = false` in nix config (e.g. /etc/nix/nix.conf) had no effect, and `nix-env -vvvvv -i hello` still downloaded .nar packages using HTTP/2. In `src/libstore/download.cc`, the `CURL_HTTP_VERSION_2TLS` option was being explicitly set when `downloadSettings.enableHttp2` was `true`, but, `CURL_HTTP_VERSION_1_1` option was not being explicitly set when `downloadSettings.enableHttp2` was `false`. This may be because `https://curl.haxx.se/libcurl/c/libcurl-env.html` states: "You have to set this option if you want to use libcurl's HTTP/2 support." but, also, in the changelog, states: "DEFAULT Since curl 7.62.0: CURL_HTTP_VERSION_2TLS Before that: CURL_HTTP_VERSION_1_1" So, the default setting for `libcurl` is HTTP/2 for version >= 7.62.0. In this commit, option `CURLOPT_HTTP_VERSION` is explicitly set to `CURL_HTTP_VERSION_1_1` when `downloadSettings.enableHttp2` nix config setting is `false`. This can be tested by running `nix-env -vvvvv -i hello | grep HTTP`
2019-06-28 Fix macOS build failureEelco Dolstra1-2/+2
Issue #2976.
2019-06-25 ProgressBar: Fix updatingEelco Dolstra1-11/+15
'updateCV.notify_one()' does nothing if the update thread is not waiting for updateCV (in particular this happens when it is sleeping on quitCV). So also set a variable to ensure that the update isn't lost.
2019-06-25 nix-channel: Don't fetch binary-cache-urlEelco Dolstra4-35/+8
This has been ignored since the Perl->C++ rewrite.
2019-06-25 Automatically use --no-net if there are no network interfacesEelco Dolstra2-11/+55
(cherry picked from commit 04a59769963fe2a28d10ba15de743fe499333c80)
2019-06-25 Add "warning" verbosity levelEelco Dolstra3-2/+4
This ensures that "nix" shows warnings. Previously these were hidden because they were at "info" level. (cherry picked from commit 615a9d031d22a6aee64f8511e15685e47b6f8796)
2019-06-24 Fix 32-bit overflow with --no-netEelco Dolstra3-10/+7
--no-net causes tarballTtl to be set to the largest 32-bit integer, which causes comparison like 'time + tarballTtl < other_time' to fail on 32-bit systems. So cast them to 64-bit first. https://hydra.nixos.org/build/95076624 (cherry picked from commit 29ccb2e9697ee2184012dd13854e487928ae4441)
2019-06-24 Refactor downloadCached() interfaceEelco Dolstra6-49/+63
(cherry picked from commit df3f5a78d5ab0a1f2dc9d288b271b38a9b8b33b5)
2019-06-24 Add '--no-net' convenience flagEelco Dolstra5-20/+35
This flag * Disables substituters. * Sets the tarball-ttl to infinity (ensuring e.g. that the flake registry and any downloaded flakes are considered current). * Disables retrying downloads and sets the connection timeout to the minimum. (So it doesn't completely disable downloads at the moment.) (cherry picked from commit 8ea842260b4fd93315d35c5ba94b1ff99ab391d8)
2019-06-24 Fix 'error 9 while decompressing xz file'Eelco Dolstra7-125/+162
Once we've started writing data to a Sink, we can't restart a download request, because then we end up writing duplicate data to the Sink. Therefore we shouldn't handle retries in Downloader but at a higher level (in particular, in copyStorePath()). Fixes #2952. (cherry picked from commit a67cf5a3585c41dd9f219a2c7aa9cf67fa69520b)
2019-06-24 Downloader: Propagate exceptions from decompressionSink->finish()Eelco Dolstra1-2/+7
(cherry picked from commit 15fa70cd1b853f5e62662b99ccb9ef3da6cfadff)
2019-06-24 CachedDownloadResult: Include store pathEelco Dolstra4-2/+7
Also, make fetchGit and fetchMercurial update allowedPaths properly. (Maybe the evaluator, rather than the caller of the evaluator, should apply toRealPath(), but that's a bigger change.) (cherry picked from commit 5c34d665386f4053d666b0899ecca0639e500fbd)
2019-06-24 downloadCached: Return ETagEelco Dolstra6-12/+29
(cherry picked from commit 529add316c5356a8060c35f987643b7bf5c796dc)
2019-06-24 Fix abort in fromTOMLEelco Dolstra3-1/+21
Fixes #2969.
2019-06-24 Add more fromTOML testsEelco Dolstra2-1/+20
2019-06-20 Merge pull request #2963 from backuitist/s3-sdkEelco Dolstra1-2/+2
Nix uses the CPP SDK, not Java
2019-06-20 Nix uses the CPP SDK, not JavaBruno Bieth1-2/+2
2019-06-17 Merge pull request #2878 from NixOS/run-in-ptsEelco Dolstra1-8/+54
Run builds in a pseudo-terminal
2019-06-17 Merge pull request #2746 from bjornfor/install-multi-user-defaultsEelco Dolstra1-3/+0
install-multi-user: reduce max-jobs from 32 to 1
2019-06-17 Another attempt at getting pseudoterminals to work on macOSEelco Dolstra1-0/+3
2019-06-16 Hopefully fix macOS testsEelco Dolstra1-4/+6
2019-06-16 Set $TERMEelco Dolstra1-0/+3
2019-06-16 Run builds in a pseudo-terminalEelco Dolstra1-8/+46
This allows many programs (e.g. gcc, clang, cmake) to print colorized log output (assuming $TERM is set to a value like "xterm"). There are other ways to get colors, in particular setting CLICOLOR_FORCE, but they're less widely supported and can break programs that parse tool output.
2019-06-16 Style fixEelco Dolstra1-1/+1
2019-06-15 nix: Add -L alias for --print-build-logsEelco Dolstra1-0/+1
2019-06-15 Fix test failures when $TMPDIR changesEelco Dolstra4-10/+8
(cherry picked from commit c38c726eb5d447c7e9d894d57cd05ac46c173ddd)
2019-06-15 nix: Support -j flagEelco Dolstra2-4/+9
2019-06-15 Merge pull request #2931 from NinjaTrappeur/nin-add-warning-setting-untrustedGraham Christensen1-1/+1
Daemon: warn when an untrusted user cannot override a setting
2019-06-15 Daemon: warn when an untrusted user cannot override a settingFélix Baylac-Jacqué1-1/+1
In a daemon-based Nix setup, some options cannot be overridden by a client unless the client's user is considered trusted. Currently, if an untrusted user tries to override one of those options, we are silently ignoring it. This can be pretty confusing in certain situations. e.g. a user thinks he disabled the sandbox when in reality he did not. We are now sending a warning message letting know the user some options have been ignored. Related to #1761.
2019-06-04 Merge pull request #2918 from JorisE/patch-1Eelco Dolstra1-1/+1
Minor typo
2019-06-04 Minor typoJorisE1-1/+1
2019-06-01 Fix segfault in builtin fetchurl with hashed mirrors + SRI hashesEelco Dolstra2-1/+6
2019-06-01 Merge pull request #2910 from worldofpeace/fundingEelco Dolstra1-0/+3
Add .github/FUNDING.yml
2019-05-31 Add .github/FUNDING.ymlworldofpeace1-0/+3
2019-05-31 Merge pull request #2905 from ln-nl/patch-1Eelco Dolstra1-1/+1
release-common: fix build with `config.allowAliases = false`
2019-05-30 release-common: fix build with `config.allowAliases = false`ln-nl1-1/+1
```sh > nix build -f release.nix build.x86_64-linux error: undefined variable 'docbook5_xsl' at /vcs/nix/release-common.nix:45:7 ```
2019-05-30 Merge pull request #2892 from johannes-climacus/masterEelco Dolstra1-4/+4
Replace `type` with `command -v` in install script
2019-05-29 Replace `type` with `command -v` in install scriptJohannes Climacus1-4/+4
In POSIX sh, `type` is undefined. cf. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html#tag_20_22_04
2019-05-29 Enable more fromTOML testsEelco Dolstra2-17/+15
cpptoml now parses almost all examples from the spec.
2019-05-29 Fix eval-okay-fromTOML testEelco Dolstra1-1/+1
Turns out we were mis-parsing single-quoted attributes, e.g. 'key2'.
2019-05-29 bump cpptoml to v0.1.1Ding Xiang Fei1-179/+390
2019-05-28 Iterate over referencesEelco Dolstra1-6/+6
2019-05-28 Merge branch 'attrPaths' of https://github.com/NinjaTrappeur/nixEelco Dolstra7-3/+46
2019-05-22 Merge pull request #2880 from Ma27/document-optional-attrs-with-at-patternEelco Dolstra1-1/+19
doc: clarify that optional attrs in a function argument will be ignored unless specified
2019-05-21 doc: clarify that optional attrs in a function argument will be ignored ↵Maximilian Bosch1-1/+19
unless specified In `args@{ a ? 1 }: /* ... */` the value `a` won't be a part of `args` unless it's specified when calling the function, the default value will be ignored in this case. My personal point of view is that this behavior is a matter of taste, at least I was pretty sure that unmatched arguments will be a part of `args@` while debugging some Nix code last week. I decided to add a warning to the docs which hopefully reduces the confusion of further Nix developers who thought the same about `args@`.
2019-05-21 Merge pull request #2800 from flokli/progress-bar-hide-unknown-expectedEelco Dolstra1-4/+11
progress-bar: hide expected if expected is 0 (unknown)