about summary refs log tree commit diff
path: root/src/nix
AgeCommit message (Collapse)AuthorFilesLines
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 Automatically use --no-net if there are no network interfacesEelco Dolstra1-0/+55
(cherry picked from commit 04a59769963fe2a28d10ba15de743fe499333c80)
2019-06-25 Add "warning" verbosity levelEelco Dolstra1-1/+1
This ensures that "nix" shows warnings. Previously these were hidden because they were at "info" level. (cherry picked from commit 615a9d031d22a6aee64f8511e15685e47b6f8796)
2019-06-15 nix: Add -L alias for --print-build-logsEelco Dolstra1-0/+1
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)
2019-05-15 Merge pull request #2810 from NixOS/print-build-logsEelco Dolstra3-13/+38
nix: Add --print-build-logs flag
2019-05-15 nix: Add --print-build-logs flagEelco Dolstra3-13/+38
This causes 'nix' to print build log output to stderr rather than showing the last log line in the progress bar. Log lines are prefixed by the name of the derivation (minus the version string), e.g. binutils> make[1]: Leaving directory '/build/binutils-2.31.1' binutils-wrapper> unpacking sources binutils-wrapper> patching sources ... binutils-wrapper> Using dynamic linker: '/nix/store/kr51dlsj9v5cr4n8700jliyz8v5b2q7q-bootstrap-stage0-glibc/lib/ld-linux-x86-64.so.2' bootstrap-stage2-gcc-wrapper> unpacking sources ... linux-headers> unpacking sources linux-headers> unpacking source archive /nix/store/8javli69jhj3bkql2c35gsj5vl91p382-linux-4.19.16.tar.xz
2019-05-11 progress-bar: hide expected if expected is 0 (unknown)Florian Klink1-4/+11
Sometimes, "expected" can be "0", but in fact means "unknown". This is for example the case when downloading a file while the http server doesn't send the `Content-Length` header, like when running `nix build` pointing to a nixpkgs checkout streamed from GitHub: ⇒ nix build -f https://github.com/NixOS/nixpkgs/archive/master.tar.gz hello [1.8/0.0 MiB DL] downloading 'https://github.com/NixOS/nixpkgs/archive/master.tar.gz' In that case, don't show that weird progress bar, but only the (slowly increasing) downloaded size ("done"). ⇒ nix build -f https://github.com/NixOS/nixpkgs/archive/master.tar.gz hello [1.8 MiB DL] downloading 'https://github.com/NixOS/nixpkgs/archive/master.tar.gz' This commit also updates fmt calls with three numbers (when something is currently 'running' too) - I'm not sure if this can be provoked, but showing "0" as expected doesn't make any sense, as we're obviously doing more than nothing.
2019-03-24 repl: Restore CTRL-C behaviourxbreak1-0/+40
Install signal handler during `readline` to handle SIGINT to abort partially typed expressions.
2019-03-14 experimental/optional -> optionalEelco Dolstra1-1/+1
2019-02-05 Revert "Restore parent mount namespace before executing a child process"Eelco Dolstra3-9/+2
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-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-05 Remove mentions of `libformat`, it no longer existsJohn Ericson1-1/+1
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-13 Support SRI hashesEelco Dolstra1-9/+14
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-12 nix repl: don't create result symlinksDaiderd Jordan1-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-13 Merge branch 'feature/editline-pr' of https://github.com/dtzWill/nixEelco Dolstra2-33/+77
2018-11-13 Restore parent mount namespace before executing a child processEelco Dolstra3-2/+9
This ensures that they can't write to /nix/store. Fixes #2535.
2018-10-29 repl: complete if all matches share prefixWill Dietz1-0/+18
2018-10-29 editline: wipWill Dietz2-33/+59
2018-10-29 nix doctor: return nonzero exitcode if a check failsDaiderd Jordan1-6/+20
This makes it easier to use this when testing the installer or when running the checks with other automated tooling.
2018-10-27 Fix signedness warningEelco Dolstra1-1/+1
2018-10-27 Merge branch 'nix-doctor' of https://github.com/LnL7/nixEelco Dolstra1-0/+110
2018-10-26 src/nix/local.mk: fix typos in names of symlinksWill Dietz1-1/+1
2018-10-26 Merge all nix-* binaries into nixEelco Dolstra2-6/+21
These are all symlinks to 'nix' now, reducing the installed size by about ~1.7 MiB.
2018-10-08 Merge pull request #2452 from ElvishJerricco/verify-sigs-overflowEelco Dolstra1-1/+1
Fix overflow when verifying signatures of content addressable paths
2018-09-27 Don't talk about a "current folder build output"Eelco Dolstra1-4/+4
Presumably this refers to ./default.nix but the support for that in 'nix' is tenuous. Also folders are a Mac thing.
2018-09-26 nix doctor: reimplement profile warning without gcroot checkDaiderd Jordan1-20/+19
Calculating roots seems significantly slower on darwin compared to linux. Checking for /profile/ links could show some false positives but should still catch most issues.
2018-09-25 Fix overflow when verifying signatures of content addressable pathsWill Fancher1-1/+1
2018-09-24 Merge pull request #2312 from ↵Eelco Dolstra1-1/+3
dtzWill/fix/matched-names-should-still-print-version search: include version for matches too!
2018-09-10 auto args on replDing Xiang Fei1-2/+3
2018-09-02 nix doctor: only perform path/profile checks with a daemon/local storeDaiderd Jordan1-3/+6
Not all store types LegacySSHStore support these operations and it doesn't really make sense to check those.
2018-09-02 nix doctor: add check for profile rootsDaiderd Jordan1-0/+35
In most cases profiles that are in PATH should have a gcroot.
2018-09-02 nix doctor: add warning for multiple versionsDaiderd Jordan1-0/+17
It's pretty easy to unintentionally install a second version of nix into the user profile when using a daemon install. In this case it looks like nix was upgraded while the nix-daemon is probably still unning an older version.
2018-09-02 nix doctor: handle serve protocolDaiderd Jordan1-4/+9
The serve protocol used by LegacySSHStore has a different major and shouldn't be compared to PROTOCOL_VERSION.
2018-09-02 nix doctor: add warning if client/daemon protocol mismatchesDaiderd Jordan1-1/+26
A protocol mismatch can sometimes cause problems when using specific features with an older daemon. For example: Nix 2.0 changed the way files are compied to the store. The daemon is backwards compatible and can still handle older clients, however a 1.11 nix-daemon isn't forwards compatible.
2018-09-02 nix doctor: add commandDaiderd Jordan1-0/+26
Inspired by the homebrew command, shows a combination of debugging information and warnings with potential issues with a nix installation.
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-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.