Andy Wingo
6bb4e3e8fe
Remove unused decodeOctalEscaped
...
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-18 11:07:00 +02:00
Eelco Dolstra
c2cab20732
nix verify: Restore the progress indicator
2017-08-16 20:56:03 +02:00
Eelco Dolstra
b4ed97e3a3
nix optimise-store: Show how much space has been freed
2017-08-16 20:56:03 +02:00
Eelco Dolstra
23b8b7e096
nix optimise-store: Add
...
This replaces "nix-store --optimise". Main difference is that it has a
progress indicator.
2017-08-16 20:56:03 +02:00
Eelco Dolstra
40bffe0a43
Progress indicator: Cleanup
2017-08-16 20:56:03 +02:00
Eelco Dolstra
dff12b38f9
Progress indicator: More improvements
2017-08-16 20:56:03 +02:00
Eelco Dolstra
bf1f123b09
Progress indicator: Show number of active items
2017-08-16 20:56:03 +02:00
Eelco Dolstra
0e0dcf2c7e
Progress indicator: Unify "copying" and "substituting"
...
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 20:56:03 +02:00
Eelco Dolstra
c36467ad2e
Improve substitution progress indicator
...
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 20:56:02 +02:00
Eelco Dolstra
b29b6feaba
nix copy: Improve progress indicator
...
It now shows the amount of data copied:
[8/1038 copied, 160.4/1590.9 MiB copied] copying path '...'
2017-08-16 20:56:02 +02:00
Eelco Dolstra
c5e4404580
nix copy: Revive progress bar
2017-08-16 20:56:02 +02:00
Eelco Dolstra
af765a8eab
Use /proc/self/fd to efficiently close all FDs on Linux
...
Issue #1506 .
2017-08-09 16:22:05 +02:00
Brian McKenna
b39cc4fc81
Include missing <cstdlib> for abort()
...
This is needed to get Nix compiled using Android NDK.
2017-08-03 07:03:22 +10:00
Eelco Dolstra
a2778988f2
Merge branch 'macOS' of https://github.com/davidak/nix
2017-07-31 10:31:51 +02:00
Jörg Thalheim
2fd8f8bb99
Replace Unicode quotes in user-facing strings by ASCII
...
Relevant RFC: NixOS/rfcs#4
$ ag -l | xargs sed -i -e "/\"/s/’/'/g;/\"/s/‘/'/g"
2017-07-30 12:32:45 +01:00
davidak
92bcb61127
replace "Mac OS X" with "macOS"
...
except in older release notes where the name was actually Mac OS X.
2017-07-30 12:26:17 +02:00
Eelco Dolstra
af4689f9e9
nix-prefetch-url: Fix regression in hash printing
2017-07-28 14:56:39 +02:00
Eelco Dolstra
57b9505731
nix search: Add a cache
...
The package list is now cached in
~/.cache/nix/package-search.json. This gives a substantial speedup to
"nix search" queries. For example (on an SSD):
First run: (no package search cache, cold page cache)
$ time nix search blender
Attribute name: nixpkgs.blender
Package name: blender
Version: 2.78c
Description: 3D Creation/Animation/Publishing System
real 0m6.516s
Second run: (package search cache populated)
$ time nix search blender
Attribute name: nixpkgs.blender
Package name: blender
Version: 2.78c
Description: 3D Creation/Animation/Publishing System
real 0m0.143s
2017-07-26 17:29:10 +02:00
Eelco Dolstra
90825dea51
Add "nix search" command
2017-07-20 13:33:13 +02:00
Eelco Dolstra
112ff7833d
nix: Show help when no arguments are given
...
Fixes #1464 .
2017-07-14 13:44:45 +02:00
Eelco Dolstra
2965d40612
replaceSymlink(): Handle the case where the temporary file already exists
...
Not really necessary anymore for #849 , but still nice to have.
2017-07-11 23:21:40 +02:00
Eelco Dolstra
9c00fa4179
Merge pull request #1422 from nh2/fix-potential-hash-comparison-crash
...
Fix potential crash/wrong result two hashes of unequal length are compared
2017-07-10 18:09:49 +02:00
Eelco Dolstra
c0015e87af
Support base-64 hashes
...
Also simplify the Hash API.
Fixes #1437 .
2017-07-04 15:07:41 +02:00
Eelco Dolstra
90da34e421
processGraph(): Call getEdges in parallel
2017-07-03 11:38:08 +02:00
Niklas Hambüchen
b591536e93
Fix potential crash/wrong result two hashes of unequal length are compared
2017-06-24 02:17:45 +02:00
Eelco Dolstra
177f3996e2
Suppress spurious "killing process N: Operation not permitted" on macOS
2017-06-12 18:34:48 +02:00
Eelco Dolstra
186571965d
Don't show flags from config settings in "nix --help"
2017-06-07 18:41:20 +02:00
Eelco Dolstra
aa952d5f0b
nix: Add --help-config flag
2017-06-07 16:49:54 +02:00
Eelco Dolstra
b8283773bd
nix: Make all options available as flags
...
Thus, instead of ‘--option <name> <value>’, you can write ‘--<name>
<value>’. So
--option http-connections 100
becomes
--http-connections 100
Apart from brevity, the difference is that it's not an error to set a
non-existent option via --option, but unrecognized arguments are
fatal.
Boolean options have special treatment: they're mapped to the
argument-less flags ‘--<name>’ and ‘--no-<name>’. E.g.
--option auto-optimise-store false
becomes
--no-auto-optimise-store
2017-06-07 16:17:17 +02:00
Eelco Dolstra
588dad4084
Fix build failure on Debian/Ubuntu
...
http://hydra.nixos.org/build/53537463
2017-05-29 15:59:18 +02:00
Eelco Dolstra
b01d62285c
Improve progress indicator
2017-05-16 16:09:57 +02:00
Eelco Dolstra
2b761d5f50
Make fmt() non-recursive
2017-05-15 17:36:32 +02:00
Eelco Dolstra
465cb68244
Figure out the user's home directory if $HOME is not set
2017-05-05 17:08:23 +02:00
Eelco Dolstra
72fb2a7edc
Fix build on gcc 4.9
...
http://hydra.nixos.org/build/52408843
2017-05-03 16:08:48 +02:00
Eelco Dolstra
3e4bdfedee
Minor cleanup
2017-05-01 17:30:17 +02:00
Eelco Dolstra
2f21d522c2
Hopefully fix the Darwin build
...
http://hydra.nixos.org/build/52080911
2017-04-28 17:13:55 +02:00
Eelco Dolstra
41c4558afe
Fix hash computation when importing NARs greater than 4 GiB
...
This caused "nix-store --import" to compute an incorrect hash on NARs
that don't fit in an unsigned int. The import would succeed, but
"nix-store --verify-path" or subsequent exports would detect an
incorrect hash.
A deeper issue is that the export/import format does not contain a
hash, so we can't detect such issues early.
Also, I learned that -Wall does not warn about this.
2017-04-28 15:24:05 +02:00
Shea Levy
4bc00760f9
Add Store nesting to fix import-from-derivation within filterSource
2017-04-26 14:15:47 -04:00
Eelco Dolstra
5bd8795e1f
nix repl: Use $XDG_DATA_HOME for the readline history
2017-04-25 18:56:29 +02:00
David McFarland
804ac52489
add helper function to set 'interruptThrown'
...
this fixes a linker failure on cygwin 64 due to some bad
interaction between tls and shared libraries.
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64697
2017-04-21 11:28:14 -03:00
Eelco Dolstra
efa4bdbfcd
Improve nix show-config --json
...
In particular, show descriptions. This could be used for manpage
generation etc.
2017-04-20 17:34:47 +02:00
Eelco Dolstra
4410e9d995
Setting: Remove "Tag" template argument
2017-04-20 16:52:53 +02:00
Eelco Dolstra
f05d5f89ff
Read per-user settings from ~/.config/nix/nix.conf
2017-04-20 14:58:16 +02:00
Eelco Dolstra
6520b757c5
Fix 32-bit build
...
http://hydra.nixos.org/build/51569816
2017-04-14 13:59:39 +02:00
Eelco Dolstra
ba9ad29fdb
Convert Settings to the new config system
...
This makes all config options self-documenting.
Unknown or unparseable config settings and --option flags now cause a
warning.
2017-04-13 20:53:23 +02:00
Eelco Dolstra
6bd9576aeb
Support arbitrary numeric types for settings
2017-04-13 17:54:05 +02:00
Eelco Dolstra
0bf34de43b
Validate Boolean settings better
2017-04-13 16:31:28 +02:00
Eelco Dolstra
2040240e23
Add a Config class to simplify adding configuration settings
...
The typical use is to inherit Config and add Setting<T> members:
class MyClass : private Config
{
Setting<int> foo{this, 123, "foo", "the number of foos to use"};
Setting<std::string> bar{this, "blabla", "bar", "the name of the bar"};
MyClass() : Config(readConfigFile("/etc/my-app.conf"))
{
std::cout << foo << "\n"; // will print 123 unless overriden
}
};
Currently, this is used by Store and its subclasses for store
parameters. You now get a warning if you specify a non-existant store
parameter in a store URI.
2017-04-13 16:03:31 +02:00
Eelco Dolstra
568a099c88
canonPath(): Check against empty paths
2017-04-13 16:03:31 +02:00
Eelco Dolstra
6d97d81656
Add warn function
2017-04-13 16:03:31 +02:00