about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-09-13 Merge branch 'dirOf-relative' of https://github.com/lheckemann/nixEelco Dolstra2-2/+2
2018-09-10 auto args on replDing Xiang Fei1-2/+3
2018-09-07 If fallback is enabled, temporarily disable substituters after a failureEelco Dolstra4-1/+48
Otherwise, we just keep asking the substituter for other .narinfo files, which can take a very long time due to retries/timeouts.
2018-09-07 Handle queryPathInfo() failure from substituters when fallback is enabledEelco Dolstra2-0/+12
Fixes #1990.
2018-09-05 Convert NIX_COUNT_CALLS to JSON tooEelco Dolstra1-35/+41
2018-09-05 Log stats to stderrEelco Dolstra1-7/+2
We shouldn't pollute stdout.
2018-09-05 Merge branch 'improve-stats' of https://github.com/cleverca22/nixEelco Dolstra1-26/+63
2018-09-05 fetchurl: Respect unpackEelco Dolstra1-2/+3
Fixes #2393.
2018-09-04 Get effective user in Nix commandsMatthew Bauer2-2/+2
‘geteuid’ gives us the user that the command is being run as, including in setuid modes. By using geteuid to determind id, we can avoid the ‘sudo -i’ hack when upgrading Nix. So now, upgrading Nix on macOS is as simple as: $ sudo nix-channel --update $ sudo nix-env -u $ sudo launchctl stop org.nixos.nix-daemon $ sudo launchctl start org.nixos.nix-daemon or $ sudo systemctl restart nix-daemon
2018-09-03 download: fix size reported to progress barWill Dietz1-1/+1
2018-09-02 remove the old text format outputMichael Bishop1-34/+4
2018-09-01 add JSON to NIX_SHOW_STATSMichael Bishop1-24/+90
2018-09-01 improve the stats when profilingMichael Bishop1-7/+8
2018-08-31 nix-build: Print stats even in failing buildsGraham Christensen1-1/+2
2018-08-31 nix-build: print stats on sucessful buildsGraham Christensen1-0/+1
2018-09-01 fetchGit/fetchMercurial: Don't absolutize pathsEelco Dolstra2-4/+0
This is already done by coerceToString(), provided that the argument is a path (e.g. 'fetchGit ./bla'). It fixes the handling of URLs like git@github.com:owner/repo.git. It breaks 'fetchGit "./bla"', but that was never intended to work anyway and is inconsistent with other builtin functions (e.g. 'readFile "./bla"' fails).
2018-09-01 nix path-info: Remove trailing spacesEelco Dolstra1-1/+4
Fixes #2390.
2018-08-31 Really fix the buildEelco Dolstra1-0/+1
2018-08-31 nix path-info: Hopefully fix macOS build failureEelco Dolstra1-2/+2
https://hydra.nixos.org/build/80480356
2018-08-31 Add localhost alias for ::1 to the sandboxEelco Dolstra1-1/+1
2018-08-30 fix `error: unknown serve command 9`Michael Bishop1-1/+1
2018-08-30 nix upgrade-nix: Handle .nix-profile being a link to .../profiles/per-user/...Eelco Dolstra1-12/+22
Also some cosmetic improvements.
2018-08-30 nix upgrade-nix: Improve error message if 'nix' is not in a profileEelco Dolstra1-1/+1
E.g. $ nix upgrade-nix error: directory '/home/eelco/Dev/nix/inst/bin' does not appear to be part of a Nix profile instead of $ nix upgrade-nix error: '/home/eelco/Dev/nix/inst' is not a symlink
2018-08-30 Merge branch 'nix-upgrade-profile' of https://github.com/LnL7/nixEelco Dolstra1-11/+23
2018-08-30 Add simple test for nix upgrade-nixEelco Dolstra1-1/+8
2018-08-30 printSize() fixesEelco Dolstra1-7/+5
Fix a 32-bit overflow that resulted in negative numbers being printed; use fmt() instead of boost::format(); change -H to -h for consistency with 'ls' and 'du'; make the columns narrower (since they can't be bigger than 1024.0).
2018-08-30 Avoid overflow and use boost::formatBenjamin Hipple1-6/+7
If the user has an object greater than 1024 yottabytes, it'll just display it as N yottabytes instead of overflowing. Swaps to use boost::format strings instead of std::setw and std::setprecision.
2018-08-30 Add human readable closure sizes to nix path-infoBenjamin Hipple1-2/+27
Unfortunately, -h is already taken as a short option by --help, so we have to use a different letter or the capitalized version. Resolves #2363
2018-08-30 nix: Remove the -h flagEelco Dolstra1-1/+0
2018-08-29 Merge pull request #2336 from ivan/repl-trailing-spacesEelco Dolstra1-1/+6
repl: don't add trailing spaces to history lines
2018-08-29 libexpr: Use int64_t for NixIntaszlig2-3/+7
Using a 64bit integer on 32bit systems will come with a bit of a performance overhead, but given that Nix doesn't use a lot of integers compared to other types, I think the overhead is negligible also considering that 32bit systems are in decline. The biggest advantage however is that when we use a consistent integer size across all platforms it's less likely that we miss things that we break due to that. One example would be: https://github.com/NixOS/nixpkgs/pull/44233 On Hydra it will evaluate, because the evaluator runs on a 64bit machine, but when evaluating the same on a 32bit machine it will fail, so using 64bit integers should make that consistent. While the change of the type in value.hh is rather easy to do, we have a few more options available for doing the conversion in the lexer: * Via an #ifdef on the architecture and using strtol() or strtoll() accordingly depending on which architecture we are. For the #ifdef we would need another AX_COMPILE_CHECK_SIZEOF in configure.ac. * Using istringstream, which would involve copying the value. * As we're already using boost, lexical_cast might be a good idea. Spoiler: I went for the latter, first of all because lexical_cast does have an overload for const char* and second of all, because it doesn't involve copying around the input string. Also, because istringstream seems to come with a bigger overhead than boost::lexical_cast: https://www.boost.org/doc/libs/release/doc/html/boost_lexical_cast/performance.html The first method (still using strtol/strtoll) also wasn't something I pursued further, because it is also locale-aware which I doubt is what we want, given that the regex for int is [0-9]+. Signed-off-by: aszlig <aszlig@nix.build> Fixes: #2339
2018-08-25 upgrade-nix: resolve profile symlinksDaiderd Jordan1-3/+10
The profile present in PATH is not necessarily the actual profile location. User profiles are generally added as $HOME/.nix-profile in which case the indirect profile link needs to be resolved first. /home/user/.nix-profile -> /nix/var/nix/profiles/per-user/user/profile /nix/var/nix/profiles/per-user/user/profile -> profile-15-link /nix/var/nix/profiles/per-user/user/profile-14-link -> /nix/store/hyi4kkjh3bwi2z3wfljrkfymz9904h62-user-environment /nix/var/nix/profiles/per-user/user/profile-15-link -> /nix/store/6njpl3qvihz46vj911pwx7hfcvwhifl9-user-environment To upgrade nix here we want /nix/var/nix/profiles/per-user/user/profile-16-link instead of /home/user/.nix-profile-1-link. The latter is not a gcroot and would be garbage collected, resulting in a broken profile. Fixes #2175
2018-08-25 upgrade-nix: add --dry-runDaiderd Jordan1-8/+13
2018-08-23 Revert "Fix parser/lexer generation with parallel make"Eelco Dolstra1-6/+2
This reverts commit d277442df53a01343ba7c1df0bbd2a294058dcba. Make sucks.
2018-08-22 Merge pull request #2368 from dezgeg/drop-dead-codeEelco Dolstra1-1/+0
Drop dead code
2018-08-21 Improve 'coroutine has finished' error messageEelco Dolstra3-7/+16
2018-08-21 Fix warnings in compression.ccEelco Dolstra1-7/+5
2018-08-21 Fix another 'coroutine has finished' during decompressionEelco Dolstra1-1/+1
https://hydra.nixos.org/build/79867739
2018-08-20 Drop all references to NIX_INDENT_MAKETuomas Tynkkynen1-1/+0
Dead code since https://github.com/NixOS/nixpkgs/commit/6669a3b47711dc967df0ea8ff93fa9857aad015d
2018-08-19 nix run: Restore CPU affinityEelco Dolstra1-0/+3
Fixes #2359.
2018-08-19 FIx floating point evaluationEelco Dolstra1-0/+9
Fixes #2361.
2018-08-17 Fix parser/lexer generation with parallel makeEelco Dolstra1-2/+6
Fun fact: rules with multiple targets don't work properly with 'make -j'. For example, a rule like a b: c touch a b is equivalent to a: c touch a b b: c touch a b so with 'make -j', the 'touch' command will be run twice. See e.g. https://stackoverflow.com/questions/2973445/gnu-makefile-rule-generating-a-few-targets-from-a-single-source-file.
2018-08-13 ignore when listxattr fails with ENODATASymphorien Gibol1-1/+1
This happens on CIFS and means the remote filesystem has no extended attributes.
2018-08-13 dirOf: allow use on non-absolute pathsLinus Heckemann2-2/+2
2018-08-10 Slightly questionable workaround for #2342Eelco Dolstra1-1/+1
2018-08-09 S3BinaryCacheStore: Share TransferManagerEelco Dolstra1-18/+24
TransferManager allocates a lot of memory (50 MiB by default), and it might leak but I'm not sure about that. In any case it was causing OOMs in hydra-queue-runner. So allocate only one TransferManager per S3BinaryCacheStore. Hopefully fixes https://github.com/NixOS/hydra/issues/586.
2018-08-09 nix run: Respect propagated-user-env-packagesEelco Dolstra1-2/+21
Also, add $path/bin to $PATH even if it doesn't exist. This makes 'man' work properly (since it looks for ../share/man relative to $PATH entries).
2018-08-08 S3BinaryCacheStore: Don't use the transfer status callbackEelco Dolstra1-24/+13
This callback is executed on a different thread, so exceptions thrown from the callback are not caught: Aug 08 16:25:48 chef hydra-queue-runner[11967]: terminate called after throwing an instance of 'nix::Error' Aug 08 16:25:48 chef hydra-queue-runner[11967]: what(): AWS error: failed to upload 's3://nix-cache/19dbddlfb0vp68g68y19p9fswrgl0bg7.ls' Therefore, just check the transfer status after it completes. Also include the S3 error message in the exception.
2018-08-07 repl: don't add trailing spaces to history linesIvan Kozik1-1/+6
2018-08-06 Merge pull request #2334 from dtzWill/fix/revert-progress-bar-refresh-for-nowEelco Dolstra1-3/+2
Revert "progress-bar: re-draw last update if nothing new for 1sec."