about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-08-29 nix run: Fix chroot executionEelco Dolstra2-60/+110
Running "nix run" with a diverted store, e.g. $ nix run --store local?root=/tmp/nix nixpkgs.hello stopped working when Nix became multithreaded, because unshare(CLONE_NEWUSER) doesn't work in multithreaded processes. The obvious solution is to terminate all other threads first, but 1) there is no way to terminate Boehm GC marker threads; and 2) it appears that the kernel has a race where unshare(CLONE_NEWUSER) will still fail for some indeterminate amount of time after joining other threads. So instead, "nix run" will now exec() a single-threaded helper ("nix __run_in_chroot") that performs the actual unshare()/chroot()/exec().
2017-08-29 Hide commands that don't have a descriptionEelco Dolstra1-2/+5
These are assumed to be internal.
2017-08-29 readLink(): Handle symlinks in /procEelco Dolstra1-4/+5
Symlinks like /proc/self/exe report a stat() size of 0, so use a buffer of at least PATH_MAX instead.
2017-08-28 Give activities a verbosity level againEelco Dolstra10-19/+41
And print them (separately from the progress bar) given sufficient -v flags.
2017-08-28 Don't send progress messages to older clientsEelco Dolstra2-12/+19
2017-08-28 Tunnel progress messages from the daemon to the clientEelco Dolstra4-30/+124
This makes the progress bar work for non-root users.
2017-08-28 SimplifyEelco Dolstra2-18/+14
2017-08-28 Make TunnelLogger thread-safeEelco Dolstra1-109/+129
Now that we use threads in lots of places, it's possible for TunnelLogger::log() to be called asynchronously from other threads than the main loop. So we need to ensure that STDERR_NEXT messages don't clobber other messages.
2017-08-25 SimplifyEelco Dolstra3-29/+56
2017-08-25 DohEelco Dolstra1-0/+1
2017-08-25 Allow derivations to update the build phaseEelco Dolstra3-7/+24
So the progress bar can show [1/0/1 built, 0.0 MiB DL] building hello-2.10 (configuring): checking whether pread is declared without a macro... yes
2017-08-25 Allow activities to be nestedEelco Dolstra7-12/+55
In particular, this allows more relevant activities ("substituting X") to supersede inferior ones ("downloading X").
2017-08-25 Fix Debian buildEelco Dolstra1-1/+3
https://hydra.nixos.org/build/59390148
2017-08-25 Handle SIGWINCHEelco Dolstra3-8/+39
2017-08-25 When truncating the progress bar, take ANSI escape sequences into accountEelco Dolstra1-4/+41
2017-08-25 TypoEelco Dolstra1-1/+1
2017-08-25 Restore activity metadataEelco Dolstra4-20/+36
This allows the progress bar to display "building perl-5.22.3" instead of "building /nix/store/<hash>-perl-5.22.3.drv".
2017-08-21 Clean up JSON constructionEelco Dolstra1-3/+18
2017-08-21 Allow builders to create activitiesEelco Dolstra1-6/+72
Actually, currently they can only create download activities. Thus, downloads by builtins.fetchurl show up in the progress bar.
2017-08-21 Remove debug lineEelco Dolstra1-2/+0
2017-08-21 Disallow accidental copy constructionEelco Dolstra1-0/+2
2017-08-18 Remove unused decodeOctalEscapedAndy Wingo2-21/+0
Besides being unused, this function has a bug that it will incorrectly decode the path component Ubuntu\04016.04.2\040LTS\040amd64 as "Ubuntu.04.2 LTS amd64" instead of "Ubuntu 16.04.2 LTS amd64".
2017-08-16 Merge branch 'tokenize' of https://github.com/nbp/nixEelco Dolstra1-0/+68
2017-08-16 nix verify: Restore the progress indicatorEelco Dolstra3-14/+43
2017-08-16 nix optimise-store: Show how much space has been freedEelco Dolstra5-55/+101
2017-08-16 nix optimise-store: AddEelco Dolstra4-6/+60
This replaces "nix-store --optimise". Main difference is that it has a progress indicator.
2017-08-16 Progress indicator: CleanupEelco Dolstra7-151/+105
2017-08-16 Progress indicator: More improvementsEelco Dolstra3-70/+100
2017-08-16 Progress indicator: Show number of active itemsEelco Dolstra7-28/+39
2017-08-16 Progress indicator: Unify "copying" and "substituting"Eelco Dolstra4-87/+24
They're the same thing after all. Example: $ nix build --store local?root=/tmp/nix nixpkgs.firefox-unwrapped [0/1 built, 49/98 copied, 16.3/92.8 MiB DL, 55.8/309.2 MiB copied] downloading 'https://cache.nixos.org/nar/0pl9li1jigcj2dany47hpmn0r3r48wc4nz48v5mqhh426lgz3bz6.nar.xz'
2017-08-16 Improve substitution progress indicatorEelco Dolstra5-86/+93
E.g. $ nix build --store local?root=/tmp/nix nixpkgs.firefox-unwrapped [0/1 built, 1/97/98 fetched, 65.8/92.8 MiB DL, 203.2/309.2 MiB copied] downloading 'https://cache.nixos.org/nar/1czm9fk0svacy4h6a3fzkpafi4f7a9gml36kk8cq1igaghbspg3k.nar.xz'
2017-08-16 nix copy: Improve progress indicatorEelco Dolstra4-38/+111
It now shows the amount of data copied: [8/1038 copied, 160.4/1590.9 MiB copied] copying path '...'
2017-08-16 nix copy: Revive progress barEelco Dolstra6-2/+99
2017-08-16 nix copy: Add --no-check-sigs flagEelco Dolstra1-1/+9
2017-08-16 Disallow SSH host names starting with a dashEelco Dolstra2-8/+12
2017-08-15 Add builtins.string function.Nicolas B. Pierron1-0/+68
The function 'builtins.split' takes a POSIX extended regular expression and an arbitrary string. It returns a list of non-matching substring interleaved by lists of matched groups of the regular expression. ```nix with builtins; assert split "(a)b" "abc" == [ "" [ "a" ] "c" ]; assert split "([ac])" "abc" == [ "" [ "a" ] "b" [ "c" ] "" ]; assert split "(a)|(c)" "abc" == [ "" [ "a" null ] "b" [ null "c" ] "" ]; assert split "([[:upper:]]+)" " FOO " == [ " " [ "FOO" ] " " ]; ```
2017-08-10 Style fixEelco Dolstra1-1/+2
2017-08-09 Use /proc/self/fd to efficiently close all FDs on LinuxEelco Dolstra3-5/+19
Issue #1506.
2017-08-09 nix repl: Support printing floating-point numbersEelco Dolstra1-0/+4
2017-08-03 Include missing <cstdlib> for abort()Brian McKenna1-0/+1
This is needed to get Nix compiled using Android NDK.
2017-07-31 Merge branch 'macOS' of https://github.com/davidak/nixEelco Dolstra3-4/+4
2017-07-30 Replace Unicode quotes in user-facing strings by ASCIIJörg Thalheim78-645/+645
Relevant RFC: NixOS/rfcs#4 $ ag -l | xargs sed -i -e "/\"/s/’/'/g;/\"/s/‘/'/g"
2017-07-30 replace "OS X" with "macOS"davidak2-3/+3
2017-07-30 replace "Mac OS X" with "macOS"davidak1-1/+1
except in older release notes where the name was actually Mac OS X.
2017-07-28 nix-build: Fix regression causing all outputs to be builtEelco Dolstra1-4/+4
2017-07-28 nix-prefetch-url: Fix regression in hash printingEelco Dolstra1-1/+1
2017-07-27 builtins.fetchgit: Support specifying commit hashesEelco Dolstra2-9/+29
This adds an argument "rev" specififying the Git commit hash. The existing argument "rev" is renamed to "ref". The default value for "ref" is "master". When specifying a hash, it's necessary to specify a ref since we're not cloning the entire repository but only fetching a specific ref. Example usage: builtins.fetchgit { url = https://github.com/NixOS/nixpkgs.git; ref = "release-16.03"; rev = "c1c0484041ab6f9c6858c8ade80a8477c9ae4442"; };
2017-07-27 builtins.fetchgit: Respect tarball-ttlEelco Dolstra1-1/+19
I.e. if the local ref is more recent than tarball-ttl seconds, then don't check the remote.
2017-07-27 builtins.fetchgit: Use proper refs locallyEelco Dolstra1-4/+3
2017-07-27 builtins.fetchgit: Cache hash -> store path mappingsEelco Dolstra1-2/+18
This prevents an expensive call to addToStore() in the cached case.