about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2016-08-29 Add builtin function "partition"Eelco Dolstra7-10/+54
The implementation of "partition" in Nixpkgs is O(n^2) (because of the use of ++), and for some reason was causing stack overflows in multi-threaded evaluation (not sure why). This reduces "nix-env -qa --drv-path" runtime by 0.197s and memory usage by 298 MiB (in non-Boehm mode).
2016-08-29 nix path-info: Add --json flagEelco Dolstra7-129/+472
Also, factor out JSON generation from value-to-json.{cc,hh}, and support producing indented JSON.
2016-08-29 callFunction: Copy functors to the heapShea Levy1-4/+11
Normally it's impossible to take a reference to the function passed to callFunction, so some callers (e.g. ExprApp::eval) allocate that value on the stack. For functors, a reference to the functor itself may be kept, so we need to have it on the heap. Fixes #1045
2016-08-26 doc: move set functor para to Sets sectionDomen Kožar2-18/+17
2016-08-24 Fix queryPathFromHashPart()Eelco Dolstra1-1/+1
The inner lambda was returning a SQLite-internal char * rather than a std::string, leading to Hydra errors liks Caught exception in Hydra::Controller::Root->narinfo "path ‘ø˜£â€™ is not in the Nix store at /nix/store/6mvvyb8fgwj23miyal5mdr8ik4ixk15w-hydra-0.1.1234.abcdef/libexec/hydra/lib/Hydra/Controller/Root.pm line 352."
2016-08-23 nix build: Use Nix search pathEelco Dolstra5-13/+57
That is, unless --file is specified, the Nix search path is synthesized into an attribute set. Thus you can say $ nix build nixpkgs.hello assuming $NIX_PATH contains an entry of the form "nixpkgs=...". This is more verbose than $ nix build hello but is less ambiguous.
2016-08-17 Add a mechanism for derivation attributes to reference the derivation's outputsEelco Dolstra7-16/+63
For example, you can now say: configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}"; The strings returned by the ‘placeholder’ builtin are replaced at build time by the actual store paths corresponding to the specified outputs. Previously, you had to work around the inability to self-reference by doing stuff like: preConfigure = '' configureFlags+=" --prefix $out --includedir=$dev" ''; or rely on ad-hoc variable interpolation semantics in Autoconf or Make (e.g. --prefix=\$(out)), which doesn't always work.
2016-08-16 Merge pull request #1031 from abbradar/replacestrings-contextEelco Dolstra1-7/+17
Allow contexted strings in replaceStrings
2016-08-16 Allow contexted strings in replaceStringsNikolay Amiantov1-7/+17
2016-08-15 builtins.fetch{url,tarball}: Allow name attributeShea Levy3-9/+13
2016-08-12 launchd: Set $SSL_CERT_FILEEelco Dolstra1-0/+5
Otherwise in particular https://cache.nixos.org won't work in the daemon.
2016-08-11 Remove nar.nixEelco Dolstra2-49/+1
This was only used by nix-push.
2016-08-11 Drop an unnecessary use of <nix/config.nix>Eelco Dolstra1-2/+0
2016-08-11 Merge branch 'buildenv-c++' of https://github.com/shlevy/nixEelco Dolstra8-172/+202
2016-08-11 buildenv: perl -> c++Shea Levy8-172/+202
2016-08-11 doc: add an example for builtins.substringDomen Kožar1-1/+8
2016-08-10 s/powerpc-darwin/x86_64-darwin/Domen Kožar4-9/+9
Let's step in line with time and document more realistic values.
2016-08-10 HttpBinaryCacheStore: Retry on transient HTTP errorsEelco Dolstra3-14/+34
This makes us more robust against 500 errors from CloudFront or S3 (assuming the 500 error isn't cached by CloudFront...).
2016-08-10 Show HTTP error codesEelco Dolstra1-2/+6
2016-08-10 SQLite:: Add some convenienceEelco Dolstra4-28/+33
2016-08-10 FSAccessor: Throw InvalidPathEelco Dolstra2-2/+2
2016-08-10 NarAccessor: Fix handling of non-executable filesEelco Dolstra1-1/+1
2016-08-10 Mark content-addressed paths in the Nix database and in .narinfoEelco Dolstra11-43/+146
This allows such paths to be imported without signatures.
2016-08-10 LocalFSStore::narFromPath(): Handle the diverted store caseEelco Dolstra1-1/+1
2016-08-10 Add a "root" parameter to local storesEelco Dolstra5-5/+13
This makes it easier to create a diverted store, i.e. NIX_REMOTE="local?root=/tmp/root" instead of NIX_REMOTE="local?real=/tmp/root/nix/store&state=/tmp/root/nix/var/nix" NIX_LOG_DIR=/tmp/root/nix/var/log
2016-08-10 Remove $NIX_DB_DIREelco Dolstra12-30/+11
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10 RemoteStore / nix-daemon: Drop support for Nix < 1.0Eelco Dolstra2-44/+33
2016-08-10 Merge pull request #1024 from shlevy/nuke-nix-pushEelco Dolstra13-772/+9
Nuke nix-push.
2016-08-10 Nuke nix-push.Shea Levy13-772/+9
Rarely used, nix copy replaces it.
2016-08-10 Remove download-from-binary-cache.pl.in.Shea Levy1-632/+0
We have BinaryCacheStore now
2016-08-10 Remove scripts/show-duplication.plShea Levy1-73/+0
Was added in 2006 to "measure the cost of the Nix approach". Given that it uses /usr/bin/perl, I think this is safe to remove.
2016-08-10 Merge pull request #1021 from shlevy/remove-nix-install-packageEelco Dolstra11-410/+2
Remove nix-install-package.
2016-08-10 Remove nix-install-package.Shea Levy11-410/+2
Refs #831
2016-08-04 Dockerfile: Add alpine dependencies (#1011)Aneesh Agrawal1-1/+3
* Dockerfile: add GNU tar native dependency `builtins.fetchTarball` requires GNU tar to be available in the $PATH in order to unpack the fetched tarball (there is a FIXME comment for this), which Alpine does not ship by default (it ships BusyBox tar). * Dockerfile: add GNU bash native dependency `nix-shell` defaults to invoking `bash` from the $PATH for the subshell. In theory this can be overriden with the NIX_BUILD_SHELL environment variable, but this does not work properly. `nix-shell` generates and passes a script (`$rcFile`) to be executed by the subshell which uses bashisms (`source` and `shopt`). Additionally, in interactive mode, `nix-shell` passes the `--rcfile` argument to the shell, which is another bashism. Because `bash` is thus de-facto required, add `bash` as a native package dependency to make it available for `nix-shell`.
2016-07-29 Set $MANPATH (#1005)Alexey Shmalko1-0/+4
Currently, man has issues finding man pages for Nix-installed application (also, `nix-env --help` doesn't work). The issue is caused by custom `$MANPATH` set by my system. That makes man use it instead of searching in default location. Either of next lines workaround the issue: ```sh unset MANPATH export MANPATH=$HOME/.nix-profile/share/man:$MANPATH ``` This patch adds the later line to the `nix-profile.sh` if user has `MANPATH` set. (Not clearing `MANPATH` as that would be disrespect of user's preferences.) As a side-effect, host's man might find man pages installed by Nix.
2016-07-26 makeFixedOutputPath(): Drop superfluous HashType argumentEelco Dolstra12-29/+27
2016-07-26 builtins.{fetchurl,fetchTarball}: Support a sha256 attributeEelco Dolstra3-12/+37
Also, allow builtins.{fetchurl,fetchTarball} in restricted mode if a hash is specified.
2016-07-24 Merge branch 'find-runtime-roots-c++'Shea Levy4-89/+111
2016-07-23 Respect --keep-going when a substituter fails.Shea Levy1-2/+4
Fixes #977
2016-07-21 resolve-system-dependencies.pl: Only install on darwinShea Levy1-2/+7
2016-07-21 Fix assertion failureEelco Dolstra1-1/+1
2016-07-21 Fix random failures caused by CurlDownloader modifying a shared stringEelco Dolstra1-1/+1
2016-07-21 NarInfo::NarInfo(): Ensure that we get a NAR size/hashEelco Dolstra2-2/+3
2016-07-21 Fix assertion failure in ThreadPool::enqueue()Eelco Dolstra2-2/+6
2016-07-21 Store::queryMissing(): Use a thread poolEelco Dolstra1-85/+104
For one particular NixOS configuration, this cut the runtime of "nix-store -r --dry-run" from 6m51s to 3.4s. It also fixes a bug in the size calculation that was causing certain paths to be counted twice, e.g. before: these paths will be fetched (1249.98 MiB download, 2995.74 MiB unpacked): and after: these paths will be fetched (1219.56 MiB download, 2862.17 MiB unpacked):
2016-07-21 Merge branch 'fix/remove-install' of https://github.com/siddharthist/nixEelco Dolstra2-239/+13
2016-07-21 remove outdated install instructionsLangston Barrett1-229/+0
2016-07-21 Shut up warningEelco Dolstra1-0/+1
2016-07-21 Store::computeFSClosure(): Use thread poolEelco Dolstra1-27/+48
This speeds up queries against the binary cache.
2016-07-21 find-runtime-roots: fold into gc.ccShea Levy4-89/+111