aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-08-29Add script to automate creating Nix releasesEelco Dolstra
2016-08-29forceBool(): Show position infoEelco Dolstra
2016-08-29Add builtin function "partition"Eelco Dolstra
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-29nix path-info: Add --json flagEelco Dolstra
Also, factor out JSON generation from value-to-json.{cc,hh}, and support producing indented JSON.
2016-08-29callFunction: Copy functors to the heapShea Levy
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-26doc: move set functor para to Sets sectionDomen Kožar
2016-08-24Fix queryPathFromHashPart()Eelco Dolstra
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-23nix build: Use Nix search pathEelco Dolstra
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-17Add a mechanism for derivation attributes to reference the derivation's outputsEelco Dolstra
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-16Merge pull request #1031 from abbradar/replacestrings-contextEelco Dolstra
Allow contexted strings in replaceStrings
2016-08-16Allow contexted strings in replaceStringsNikolay Amiantov
2016-08-15builtins.fetch{url,tarball}: Allow name attributeShea Levy
2016-08-12launchd: Set $SSL_CERT_FILEEelco Dolstra
Otherwise in particular https://cache.nixos.org won't work in the daemon.
2016-08-11Remove nar.nixEelco Dolstra
This was only used by nix-push.
2016-08-11Drop an unnecessary use of <nix/config.nix>Eelco Dolstra
2016-08-11Merge branch 'buildenv-c++' of https://github.com/shlevy/nixEelco Dolstra
2016-08-11buildenv: perl -> c++Shea Levy
2016-08-11doc: add an example for builtins.substringDomen Kožar
2016-08-10s/powerpc-darwin/x86_64-darwin/Domen Kožar
Let's step in line with time and document more realistic values.
2016-08-10HttpBinaryCacheStore: Retry on transient HTTP errorsEelco Dolstra
This makes us more robust against 500 errors from CloudFront or S3 (assuming the 500 error isn't cached by CloudFront...).
2016-08-10Show HTTP error codesEelco Dolstra
2016-08-10SQLite:: Add some convenienceEelco Dolstra
2016-08-10FSAccessor: Throw InvalidPathEelco Dolstra
2016-08-10NarAccessor: Fix handling of non-executable filesEelco Dolstra
2016-08-10Mark content-addressed paths in the Nix database and in .narinfoEelco Dolstra
This allows such paths to be imported without signatures.
2016-08-10LocalFSStore::narFromPath(): Handle the diverted store caseEelco Dolstra
2016-08-10Add a "root" parameter to local storesEelco Dolstra
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-10Remove $NIX_DB_DIREelco Dolstra
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10RemoteStore / nix-daemon: Drop support for Nix < 1.0Eelco Dolstra
2016-08-10Merge pull request #1024 from shlevy/nuke-nix-pushEelco Dolstra
Nuke nix-push.
2016-08-10Nuke nix-push.Shea Levy
Rarely used, nix copy replaces it.
2016-08-10Remove download-from-binary-cache.pl.in.Shea Levy
We have BinaryCacheStore now
2016-08-10Remove scripts/show-duplication.plShea Levy
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-10Merge pull request #1021 from shlevy/remove-nix-install-packageEelco Dolstra
Remove nix-install-package.
2016-08-10Remove nix-install-package.Shea Levy
Refs #831
2016-08-04Dockerfile: Add alpine dependencies (#1011)Aneesh Agrawal
* 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-29Set $MANPATH (#1005)Alexey Shmalko
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-26makeFixedOutputPath(): Drop superfluous HashType argumentEelco Dolstra
2016-07-26builtins.{fetchurl,fetchTarball}: Support a sha256 attributeEelco Dolstra
Also, allow builtins.{fetchurl,fetchTarball} in restricted mode if a hash is specified.
2016-07-24Merge branch 'find-runtime-roots-c++'Shea Levy
2016-07-23Respect --keep-going when a substituter fails.Shea Levy
Fixes #977
2016-07-21resolve-system-dependencies.pl: Only install on darwinShea Levy
2016-07-21Fix assertion failureEelco Dolstra
2016-07-21Fix random failures caused by CurlDownloader modifying a shared stringEelco Dolstra
2016-07-21NarInfo::NarInfo(): Ensure that we get a NAR size/hashEelco Dolstra
2016-07-21Fix assertion failure in ThreadPool::enqueue()Eelco Dolstra
2016-07-21Store::queryMissing(): Use a thread poolEelco Dolstra
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-21Merge branch 'fix/remove-install' of https://github.com/siddharthist/nixEelco Dolstra
2016-07-21remove outdated install instructionsLangston Barrett
2016-07-21Shut up warningEelco Dolstra