aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
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-21Merge pull request #961 from OptiverTimAll/fix-spec-fileEelco Dolstra
Fix spec file
2016-07-21Grammar/spellingEelco Dolstra
2016-07-21NIX_REMOTE_SYSTEMS path must be absolute (#957)Matthias Beyer
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-21Capitalize NixEelco Dolstra
2016-07-20Add link to hacking section of the manual (#973)Marc Scholten
2016-07-20Dockerfile: specify NIX_PATHDomen Kožar
2016-07-20documentation: mention required openssl dependency (#974)Dmitry Kalinkin
Fixes: a6ca68a7 ("Require OpenSSL")
2016-07-13FdSink: Restore move constructor/assignmentShea Levy
2016-07-13Make Buffered{Source,Sink} move-safeShea Levy
2016-07-11Modernize AutoCloseFDShea Levy
2016-07-04Merge pull request #959 from aszlig/fix-docbook-xsl-nsEelco Dolstra
Don't hardcode docbook XSL namespace URL
2016-07-04Don't hardcode docbook XSL namespace URLaszlig
Docbook XSL got updated to version 1.79.1 in NixOS/nixpkgs@fb893a8 and we're still referring to the hardcoded previous version. So instead of just updating this to 1.79.1 we're going to use "current" in the hope that this won't happen again. I have tested this by building the manual under Nix(OS) but I haven't tested this in a non-Nix environment, so I'm not sure whether this could have implications. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @edolstra
2016-07-01nix.spec.in: RHEL 7/CentOS 7 supports systemd.Timothy Allen
2016-07-01nix.spec.in: Create /nix/store at install time.Timothy Allen
Since we now chmod /nix/store at install time, we don't need to do it in the post install script. We still chgrp in the post-install, because the nixbld group doesn't exist at install time.
2016-07-01nix.spec.in: RHEL 7/CentOS 7 do not require a group for each package.Timothy Allen
2016-07-01nix.spec.in: Build from the .tar.xz file.Timothy Allen
The Nix download page only mentions the .xz source tarball, so that's what people are likely to have available. This means that somebody who downloads a Nix source tarball can turn it directly into an RPM with `rpmbuild -ta nix-*.tar.xz`.
2016-07-01nix.spec.in: Use the default build group name.Timothy Allen
Nix expects build users to be in the "nixbld" group. You can change that in the config file, but `nix.spec` does not ship with a config file, so we should use the defaults.
2016-06-20Re-implement negative binary cache lookup cachingEelco Dolstra
2016-06-20Fix manual buildEelco Dolstra
http://hydra.nixos.org/build/36944270
2016-06-17Restore instructions on how to install a binary tarballEelco Dolstra
Looks like these were accidentally commented out in 9ffc4f4363d9596e2477645eab94e4140cd47c19.
2016-06-17Fix testEelco Dolstra
http://hydra.nixos.org/build/36631898
2016-06-16Merge pull request #939 from discordianfish/patch-1Eelco Dolstra
Remove nix-copy-closure reference note from nix-store docs
2016-06-15Remove nix-copy-closure reference note from nix-store docsJohannes 'fish' Ziemke
nix-copy-closure is not using nix-store directly anymore.
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).
2016-06-03Consistent quotesEelco Dolstra
2016-06-03Don't call shared_from_this() from a destructorEelco Dolstra
2016-06-03Fix some more references to storeDirEelco Dolstra
2016-06-03Merge pull request #925 from abbradar/masterEelco Dolstra
Show both cycle ends
2016-06-03Show both cycle endsNikolay Amiantov
2016-06-03Fix narrowing conversion from int64_t to boolEelco Dolstra
http://hydra.nixos.org/build/36613774