aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-17iterate through fat_headers correctlyJude Taylor
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-16remove double castingJude Taylor
2016-08-16account for unknown magic numbersJude Taylor
2016-08-16switch to mmap strategyJude Taylor
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-15ensure presence of directoriesJude Taylor
2016-08-15code review commentsJude Taylor
2016-08-15builtins.fetch{url,tarball}: Allow name attributeShea Levy
2016-08-14make inclusion conditionalJude Taylor
2016-08-14add a missing load commandJude Taylor
2016-08-13remove old traces of resolve-system-dependenciesJude Taylor
2016-08-13resolve-system-dependencies: implement in C++Jude Taylor
2016-08-11nix-channel: implement in c++Shea Levy
2016-08-11nix-build: extend the meaning of $IN_NIX_SHELLVladimír Čunát
An equivalent was originally filed against the perl version: https://github.com/NixOS/nix/pull/933
2016-08-11Merge branch 'buildenv-c++' of https://github.com/shlevy/nixEelco Dolstra
2016-08-11buildenv: perl -> c++Shea Levy
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-09nix-build: Port to c++Shea Levy
This was a dumb line-for-line rewrite, because nix build/nix run/etc. will replace it.
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-25override rx directory permissions in deletePath()Dmitry Kalinkin
This fixes instantiation of pythonPackages.pytest that produces a directory with less permissions during one of it's tests that leads to a nix error like: error: opening directory ‘/tmp/nix-build-python2.7-pytest-2.9.2.drv-0/pytest-of-user/pytest-0/testdir/test_cache_failure_warns0/.cache’: Permission denied
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-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-21Store::computeFSClosure(): Use thread poolEelco Dolstra
This speeds up queries against the binary cache.
2016-07-21find-runtime-roots: fold into gc.ccShea Levy
2016-07-13FdSink: Restore move constructor/assignmentShea Levy
2016-07-13Make Buffered{Source,Sink} move-safeShea Levy
2016-07-11Modernize AutoCloseFDShea Levy
2016-06-20Re-implement negative binary cache lookup cachingEelco Dolstra
2016-06-09Run builds in a user namespaceEelco Dolstra
This way, all builds appear to have a uid/gid of 0 inside the chroot. In the future, this may allow using programs like systemd-nspawn inside builds, but that will require assigning a larger UID/GID map to the build. Issue #625.
2016-06-09Use O_CLOEXEC in most placesEelco Dolstra
2016-06-03Fix "creating statement: table ValidPaths has no column named ultimate"Eelco Dolstra
2016-06-03Support sandbox builds by non-root usersEelco Dolstra
This allows an unprivileged user to perform builds on a diverted store (i.e. where the physical store location differs from the logical location). Example: $ NIX_LOG_DIR=/tmp/log NIX_REMOTE="local?real=/tmp/store&state=/tmp/var" nix-build -E \ 'with import <nixpkgs> {}; runCommand "foo" { buildInputs = [procps nettools]; } "id; ps; ifconfig; echo $out > $out"' will do a build in the Nix store physically in /tmp/store but logically in /nix/store (and thus using substituters for the latter).