about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
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
2016-07-21 Merge pull request #961 from OptiverTimAll/fix-spec-fileEelco Dolstra1-10/+13
Fix spec file
2016-07-21 Grammar/spellingEelco Dolstra1-2/+2
2016-07-21 NIX_REMOTE_SYSTEMS path must be absolute (#957)Matthias Beyer1-1/+2
Once upon a time, I wrote my bachelors thesis about functional deployment mechanisms. I had to evaluate several szenarios where package management and deployment were relevant. One szenario was to do distributed builds over several machines. I told myself: Weee, nix can do this! And with nix, this is actually save, as you do not have side effects when building! So I started. I use a cloud to set up four virtual machines where I wanted to do the build. A fifth machine was used as master to distribute the builds. All was good. I created the necessary SSH keys, made sure every machine was reachable by the master and configured the build in my remotes.conf. When I started to try to build weechat from source, the build failed. It failed, telling me error: unable to start any build; either increase ‘--max-jobs’ or enable distributed builds And I started to dig around. I digged long and good. But I wasn't able to find the issue. I double and triple checked my environment variables, my settings, the SSH key and everything. I reached out to fellow Nixers by asking on the nixos IRC channel. And I got help. But we weren't able to find the issue, either. So I became frustrated. I re-did all the environment variables. And suddenly,... it worked! What did I change? Well... I made the environment variables which contained pathes contain absolute pathes rather than relatives. And because I like to share my knowledge, this should be put into the documentation, so others do not bang their heads against the wall because something is not documented somewhere.
2016-07-21 Capitalize NixEelco Dolstra1-1/+1
2016-07-20 Add link to hacking section of the manual (#973)Marc Scholten1-0/+5
2016-07-20 Dockerfile: specify NIX_PATHDomen Kožar1-1/+2