about summary refs log tree commit diff
path: root/src/libmain
AgeCommit message (Collapse)AuthorFilesLines
2014-03-29 restoreSIGPIPE(): Fill in sa_maskEelco Dolstra1-1/+1
Issue #231.
2014-02-17 nix-store --gc --max-freed: Support a unit specifierEelco Dolstra1-3/+18
E.g. "--max-freed 10G" means "free ten gigabytes".
2014-02-08 Add download-via-ssh substituterShea Levy1-0/+3
This substituter connects to a remote host, runs nix-store --serve there, and then forwards substituter commands on to the remote host and sends their results to the calling program. The ssh-substituter-hosts option can be specified as a list of hosts to try. This is an initial implementation and, while it works, it has some limitations: * Only the first host is used * There is no caching of query results (all queries are sent to the remote machine) * There is no informative output (such as progress bars) * Some failure modes may cause unhelpful error messages * There is no concept of trusted-ssh-substituter-hosts Signed-off-by: Shea Levy <shea@shealevy.com>
2014-02-01 Remove AutomakefilesEelco Dolstra1-11/+0
2014-02-01 Update Makefile variable namesEelco Dolstra1-1/+1
2014-01-30 Rename Makefile -> local.mkEelco Dolstra1-0/+0
2014-01-21 Merge branch 'master' into makeEelco Dolstra1-0/+5
Conflicts: src/libexpr/eval.cc
2014-01-09 Update MakefilesEelco Dolstra1-1/+1
2013-12-20 nix-shell: Don't warn about the lack of a GC rootEelco Dolstra1-0/+5
2013-11-25 Rename Makefile.new -> MakefileEelco Dolstra1-0/+0
2013-11-23 Use libnix as a prefix for all Nix librariesEelco Dolstra1-0/+2
In particular "libutil" was always a problem because it collides with Glibc's libutil. Even if we install into $(libdir)/nix, the linker sometimes got confused (e.g. if a program links against libstore but not libutil, then ld would report undefined symbols in libstore because it was looking at Glibc's libutil).
2013-11-24 Disallow undefined symbols in dynamic libraries by defaultEelco Dolstra1-0/+2
This encourages that each library declares its own dependencies properly.
2013-11-23 Drop the dependency on libgc in libmainEelco Dolstra2-22/+0
Instead, libexpr now depends on libgc. This means commands like nix-store that don't do any evaluation no longer require libgc.
2013-11-23 Allow (dynamic) libraries to depend on other librariesEelco Dolstra1-0/+2
2013-11-22 Support building dynamic librariesEelco Dolstra1-1/+1
2013-11-22 Fix building without Boehm GCEelco Dolstra1-1/+1
2013-11-22 Rename $(here) to $(d) for brevity, and remove trailing slashEelco Dolstra1-1/+1
2013-11-22 New non-recursive, plain Make-based build systemEelco Dolstra1-0/+7
2013-11-12 Make function calls show up in stack traces againEelco Dolstra1-6/+3
Note that adding --show-trace prevents functions calls from being tail-recursive, so an expression that evaluates without --show-trace may fail with a stack overflow if --show-trace is given.
2013-10-02 Report OOM errors betterEelco Dolstra1-0/+3
2013-08-07 Respect MINSIGSTKSZ when allocating an alternative stackEelco Dolstra1-1/+1
http://hydra.nixos.org/build/5663577
2013-07-30 Detect stack overflowsEelco Dolstra3-1/+80
Previously, if the Nix evaluator gets a stack overflow due to a deep or infinite recursion in the Nix expression, the user gets an unhelpful message ("Segmentation fault") that doesn't indicate that the problem is in the user's code rather than Nix itself. Now it prints: error: stack overflow (possible infinite recursion) This only works on x86_64-linux and i686-linux. Fixes #35.
2013-03-08 Revert "Prevent config.h from being clobbered"Eelco Dolstra1-5/+2
This reverts commit 28bba8c44f484eae38e8a15dcec73cfa999156f6.
2013-03-07 Prevent config.h from being clobberedEelco Dolstra1-2/+5
2013-02-19 build-remote: Use the --quiet flagEelco Dolstra1-5/+2
‘--option verbosity 0’ doesn't actually do anything.
2012-12-11 On SQLITE_BUSY, wait a random amount of timeEelco Dolstra1-0/+6
If all contending processes wait a fixed amount of time (100 ms), there is a good probability that they'll just collide again.
2012-11-27 Add builtin constants ‘langVersion’ and ‘nixVersion’Eelco Dolstra2-2/+1
The integer constant ‘langVersion’ denotes the current language version. It gets increased every time a language feature is added/changed/removed. It's currently 1. The string constant ‘nixVersion’ contains the current Nix version, e.g. "1.2pre2980_9de6bc5".
2012-11-20 nix-store -r: Add ‘--ignore-unknown’ flagEelco Dolstra2-0/+11
This flag causes paths that do not have a known substitute to be quietly ignored. This is mostly useful for Charon, allowing it to speed up deployment by letting a machine use substitutes for all substitutable paths, instead of uploading them. The latter is frequently faster, e.g. if the target machine has a fast Internet connection while the source machine is on a slow ADSL line.
2012-10-03 Drop support for running nix-worker in "slave" modeEelco Dolstra2-60/+1
AFAIK nobody uses this, setuid binaries are evil, and there is no good reason why people can't just run the daemon.
2012-10-03 When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra2-0/+12
I.e. do what git does. I'm too lazy to keep the builtin help text up to date :-) Also add ‘--help’ to various commands that lacked it (e.g. nix-collect-garbage).
2012-08-27 Merge branch 'master' into no-manifestsEelco Dolstra2-11/+0
2012-08-24 Include the output name in the GC root linkEelco Dolstra2-11/+0
Output names are now appended to resulting GC symlinks, e.g. by nix-build. For backwards compatibility, if the output is named "out", nothing is appended. E.g. doing "nix-build -A foo" on a derivation that produces outputs "out", "bin" and "dev" will produce symlinks "./result", "./result-bin" and "./result-dev", respectively.
2012-07-31 Add an option ‘build-fallback’ (equivalent to the --fallback flag)Eelco Dolstra1-1/+1
2012-07-30 Refactor settings processingEelco Dolstra1-19/+28
Put all Nix configuration flags in a Settings object.
2012-07-30 WhitespaceEelco Dolstra1-7/+7
2012-07-18 Use "#pragma once" to prevent repeated header file inclusionEelco Dolstra1-5/+1
2012-03-13 Ensure that Perl processes delete their entry in the temproots directoryEelco Dolstra2-15/+0
By moving the destructor object to libstore.so, it's also run when download-using-manifests and nix-prefetch-url exit. This prevents them from cluttering /nix/var/nix/temproots with stale files.
2012-03-05 nix-worker: put the pid of the caller in argv[1]Eelco Dolstra2-1/+5
This is useful for debugging.
2011-12-14 * Remove the terminate handler, which was only really needed becauseEelco Dolstra1-23/+0
of Berkeley DB (see r8632).
2011-11-29 * Get rid of some superfluous error messages if a substituter fails.Eelco Dolstra1-1/+1
* Say "fetch" instead of "substitute".
2011-11-22 * Move initialisation of variables like nixConfDir from libmain toEelco Dolstra2-31/+2
libstore so that the Perl bindings can use it as well. It's vital that the Perl bindings use the configuration file, because otherwise nix-copy-closure will fail with a ‘database locked’ message if the value of ‘use-sqlite-wal’ is changed from the default.
2011-09-06 * Added a command ‘nix-store --verify-paths PATHS’ to check whetherEelco Dolstra2-6/+9
the contents of any of the given store paths have been modified. E.g. $ nix-store --verify-path $(nix-store -qR /var/run/current-system) path `/nix/store/m2smyiwbxidlprfxfz4rjlvz2c3mg58y-etc' was modified! expected hash `fc87e271c5fdf179b47939b08ad13440493805584b35e3014109d04d8436e7b8', got `20f1a47281b3c0cbe299ce47ad5ca7340b20ab34246426915fce0ee9116483aa' All paths are checked; the exit code is 1 if any path has been modified, 0 otherwise.
2011-08-31 * Eliminate all uses of the global variable ‘store’ from libstore.Eelco Dolstra2-3/+5
This should also fix: nix-instantiate: ./../boost/shared_ptr.hpp:254: T* boost::shared_ptr<T>::operator->() const [with T = nix::StoreAPI]: Assertion `px != 0' failed. which was caused by hashDerivationModulo() calling the ‘store’ object (during store upgrades) before openStore() assigned it.
2011-06-30 Add support for the `build-timeout' and `--timeout' options.Ludovic Courtès1-0/+3
2011-02-09 * Don't call GC_expand_hp unless we're actually using the garbageEelco Dolstra1-12/+0
collector.
2011-02-09 Use $BDW_GC_LIBS instead of a custom variable.Ludovic Courtès1-1/+1
2011-02-05 * Clang compatibility fix. Clang actually checks template definitionsEelco Dolstra1-1/+1
when they are defined
2010-12-13 * nix-instantiate: return exit status 100 to denote a permanent buildEelco Dolstra1-1/+1
failure. The build hook can use this to distinguish between transient and permanent failures on the remote side.
2010-11-17 * Before a build, show the disk space that the downloaded store pathsEelco Dolstra1-6/+7
will approximately require.
2010-11-16 * Sync with the trunk.Eelco Dolstra2-1/+33