aboutsummaryrefslogtreecommitdiff
path: root/src/libmain
AgeCommit message (Collapse)Author
2016-02-22DohEelco Dolstra
2016-02-22Make OpenSSL usage thread-safeEelco Dolstra
OpenSSL can randomly segfault unless we register a callback function to do locking. https://www.openssl.org/docs/manmaster/crypto/threads.html
2016-02-12Merge pull request #762 from ctheune/ctheune-floatsEelco Dolstra
Implement floats
2016-02-04StoreAPI -> StoreEelco Dolstra
Calling a class an API is a bit redundant...
2016-02-04Eliminate the "store" global variableEelco Dolstra
Also, move a few free-standing functions into StoreAPI and Derivation. Also, introduce a non-nullable smart pointer, ref<T>, which is just a wrapper around std::shared_ptr ensuring that the pointer is never null. (For reference-counted values, this is better than passing a "T&", because the latter doesn't maintain the refcount. Usually, the caller will have a shared_ptr keeping the value alive, but that's not always the case, e.g., when passing a reference to a std::thread via std::bind.)
2016-01-28printMissing(): Propagate store argumentEelco Dolstra
2016-01-06@eelco's feedback: downgrade to regular float for size, remove unused function.Christian Theune
2016-01-05First hit at providing support for floats in the language.Christian Theune
2015-09-18Shut up clang warningsEelco Dolstra
2015-07-23--version: Print some config infoEelco Dolstra
Such as whether Nix is built with signed binary cache support, and the location of the configuration file.
2015-07-20Support systemd log severity prefixesEelco Dolstra
This is mostly useful for hydra-queue-runner.
2015-05-21nix-collect-garbage: Call collectGarbage() internallyEelco Dolstra
2015-01-02Allow $NIX_PAGER to override $PAGEREelco Dolstra
2014-12-14PedantryEelco Dolstra
2014-12-14Merge branch 'cygwin-master' of https://github.com/ternaris/nixEelco Dolstra
2014-12-12Silence some warnings on GCC 4.9Eelco Dolstra
2014-12-12Don't abort if we get a signal while waiting for the pagerEelco Dolstra
2014-12-10Provide default pagersEelco Dolstra
Borrowed from systemd.
2014-12-10Revert "Use posix_spawn to run the pager"Eelco Dolstra
This reverts commit d34d2b2bbf784c0bb420a50905af25e02c6e4989.
2014-12-09Explicitly include required C headersMarko Durkovic
2014-12-05Define ‘environ’Eelco Dolstra
http://hydra.nixos.org/build/17690555
2014-12-05Use posix_spawn to run the pagerEelco Dolstra
In low memory environments, "nix-env -qa" failed because the fork to run the pager hit the kernel's overcommit limits. Using posix_spawn gets around this. (Actually, you have to use posix_spawn with the undocumented POSIX_SPAWN_USEVFORK flag, otherwise it just uses fork/exec...)
2014-10-31Shut up a clang warningEelco Dolstra
2014-10-14Remove redundant space in usage errorsEelco Dolstra
2014-09-26printMissing(): Print derivations in approximate build orderEelco Dolstra
2014-09-18Update spec fileEelco Dolstra
http://hydra.nixos.org/build/14344391
2014-09-18Install some pkgconfig filesEelco Dolstra
2014-08-20Flush std::cout before closing stdoutEelco Dolstra
2014-08-20Provide reasonable default flags for $LESSEelco Dolstra
Borrowed from systemd.
2014-08-20Use proper quotes everywhereEelco Dolstra
2014-08-20Add some colorEelco Dolstra
2014-08-20nix-store -l: Automatically pipe output into $PAGEREelco Dolstra
2014-08-13Handle compound single dash options properlyEelco Dolstra
So now nix-instantiate --eval -E '{x}: x' --argstr x -xyzzy correctly prints "-xyzzy", rather than giving an error. Issue NixOS/hydra#176.
2014-08-13Refactor option handlingEelco Dolstra
2014-08-13Remove pointless NIX_LOG_TYPE environment variableEelco Dolstra
2014-07-31Restore default SIGPIPE handler before invoking ‘man’Eelco Dolstra
Fixes NixOS/nixpkgs#3410.
2014-05-23Ugly hack to allow --argstr values starting with a dashEelco Dolstra
Fixes #265.
2014-03-29restoreSIGPIPE(): Fill in sa_maskEelco Dolstra
Issue #231.
2014-02-17nix-store --gc --max-freed: Support a unit specifierEelco Dolstra
E.g. "--max-freed 10G" means "free ten gigabytes".
2014-02-08Add download-via-ssh substituterShea Levy
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-01Remove AutomakefilesEelco Dolstra
2014-02-01Update Makefile variable namesEelco Dolstra
2014-01-30Rename Makefile -> local.mkEelco Dolstra
2014-01-21Merge branch 'master' into makeEelco Dolstra
Conflicts: src/libexpr/eval.cc
2014-01-09Update MakefilesEelco Dolstra
2013-12-20nix-shell: Don't warn about the lack of a GC rootEelco Dolstra
2013-11-25Rename Makefile.new -> MakefileEelco Dolstra
2013-11-23Use libnix as a prefix for all Nix librariesEelco Dolstra
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-24Disallow undefined symbols in dynamic libraries by defaultEelco Dolstra
This encourages that each library declares its own dependencies properly.
2013-11-23Drop the dependency on libgc in libmainEelco Dolstra
Instead, libexpr now depends on libgc. This means commands like nix-store that don't do any evaluation no longer require libgc.