Eelco Dolstra
8f71bc33d5
Doh
2016-02-22 17:33:27 +01:00
Eelco Dolstra
840056af04
Make OpenSSL usage thread-safe
...
OpenSSL can randomly segfault unless we register a callback function
to do locking.
https://www.openssl.org/docs/manmaster/crypto/threads.html
2016-02-22 15:51:14 +01:00
Eelco Dolstra
b3e8d72770
Merge pull request #762 from ctheune/ctheune-floats
...
Implement floats
2016-02-12 12:49:59 +01:00
Eelco Dolstra
fa7cd5369b
StoreAPI -> Store
...
Calling a class an API is a bit redundant...
2016-02-04 14:48:42 +01:00
Eelco Dolstra
c10c61449f
Eliminate the "store" global variable
...
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-02-04 14:28:26 +01:00
Eelco Dolstra
9f14d7d33a
printMissing(): Propagate store argument
2016-01-28 15:16:06 +01:00
Christian Theune
934642155c
@eelco's feedback: downgrade to regular float for size, remove unused function.
2016-01-06 08:25:58 +01:00
Christian Theune
14ebde5289
First hit at providing support for floats in the language.
2016-01-05 00:40:40 +01:00
Eelco Dolstra
4ba6bc184c
Shut up clang warnings
2015-09-18 01:22:35 +02:00
Eelco Dolstra
887bb5fa5a
--version: Print some config info
...
Such as whether Nix is built with signed binary cache support, and the
location of the configuration file.
2015-07-23 14:38:00 +02:00
Eelco Dolstra
db55940d9e
Support systemd log severity prefixes
...
This is mostly useful for hydra-queue-runner.
2015-07-20 01:39:48 +02:00
Eelco Dolstra
13493ef97c
nix-collect-garbage: Call collectGarbage() internally
2015-05-21 15:21:38 +02:00
Eelco Dolstra
8027083c3a
Allow $NIX_PAGER to override $PAGER
2015-01-02 15:26:56 +01:00
Eelco Dolstra
4e0607369e
Pedantry
2014-12-14 01:51:14 +01:00
Eelco Dolstra
8bdff8c100
Merge branch 'cygwin-master' of https://github.com/ternaris/nix
2014-12-14 01:49:14 +01:00
Eelco Dolstra
b77037b8fd
Silence some warnings on GCC 4.9
2014-12-12 17:14:28 +01:00
Eelco Dolstra
5a2d451648
Don't abort if we get a signal while waiting for the pager
2014-12-12 14:05:23 +01:00
Eelco Dolstra
c56bfbe863
Provide default pagers
...
Borrowed from systemd.
2014-12-10 18:16:05 +01:00
Eelco Dolstra
ad332e1718
Revert "Use posix_spawn to run the pager"
...
This reverts commit d34d2b2bbf
.
2014-12-10 13:48:50 +01:00
Marko Durkovic
629e8da3aa
Explicitly include required C headers
2014-12-09 13:00:59 +01:00
Eelco Dolstra
8d169b2b75
Define ‘environ’
...
http://hydra.nixos.org/build/17690555
2014-12-05 21:05:24 +01:00
Eelco Dolstra
d34d2b2bbf
Use posix_spawn to run the pager
...
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-12-05 20:34:41 +01:00
Eelco Dolstra
80893a13a7
Shut up a clang warning
2014-10-31 08:49:15 +01:00
Eelco Dolstra
c6849e2dee
Remove redundant space in usage errors
2014-10-14 11:41:04 +02:00
Eelco Dolstra
f77be20c16
printMissing(): Print derivations in approximate build order
2014-09-26 14:09:20 +02:00
Eelco Dolstra
d4a71ec3bf
Update spec file
...
http://hydra.nixos.org/build/14344391
2014-09-18 15:42:01 +02:00
Eelco Dolstra
8be9990cdb
Install some pkgconfig files
2014-09-18 12:00:40 +02:00
Eelco Dolstra
65243ee833
Flush std::cout before closing stdout
2014-08-20 21:44:55 +02:00
Eelco Dolstra
9481f77693
Provide reasonable default flags for $LESS
...
Borrowed from systemd.
2014-08-20 21:22:41 +02:00
Eelco Dolstra
11849a320e
Use proper quotes everywhere
2014-08-20 18:03:48 +02:00
Eelco Dolstra
373fad75e1
Add some color
2014-08-20 16:50:17 +02:00
Eelco Dolstra
392430b2c4
nix-store -l: Automatically pipe output into $PAGER
2014-08-20 15:12:58 +02:00
Eelco Dolstra
5f05197df4
Handle compound single dash options properly
...
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-13 04:08:33 +02:00
Eelco Dolstra
47e185847e
Refactor option handling
2014-08-13 03:50:44 +02:00
Eelco Dolstra
401ab50566
Remove pointless NIX_LOG_TYPE environment variable
2014-08-13 01:19:02 +02:00
Eelco Dolstra
50dc1f5b71
Restore default SIGPIPE handler before invoking ‘man’
...
Fixes NixOS/nixpkgs#3410 .
2014-07-31 10:31:17 +02:00
Eelco Dolstra
0321ef9bb2
Ugly hack to allow --argstr values starting with a dash
...
Fixes #265 .
2014-05-23 14:43:58 +02:00
Eelco Dolstra
90dc50b07c
restoreSIGPIPE(): Fill in sa_mask
...
Issue #231 .
2014-03-29 20:20:14 +01:00
Eelco Dolstra
1da6ae4f99
nix-store --gc --max-freed: Support a unit specifier
...
E.g. "--max-freed 10G" means "free ten gigabytes".
2014-02-17 14:48:50 +01:00
Shea Levy
64e23d0a38
Add download-via-ssh substituter
...
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-08 00:13:33 -05:00
Eelco Dolstra
0c6d62cf27
Remove Automakefiles
2014-02-01 13:54:38 +01:00
Eelco Dolstra
16e7d69209
Update Makefile variable names
2014-02-01 13:54:38 +01:00
Eelco Dolstra
e0234dfddc
Rename Makefile -> local.mk
2014-01-30 12:11:06 +01:00
Eelco Dolstra
81628a6ccc
Merge branch 'master' into make
...
Conflicts:
src/libexpr/eval.cc
2014-01-21 15:30:01 +01:00
Eelco Dolstra
b4c684e0f9
Update Makefiles
2014-01-09 16:53:47 +01:00
Eelco Dolstra
769f662165
nix-shell: Don't warn about the lack of a GC root
2013-12-20 12:19:10 +00:00
Eelco Dolstra
7ce0e05ad8
Rename Makefile.new -> Makefile
2013-11-25 15:25:13 +00:00
Eelco Dolstra
2bd0fcc966
Use libnix as a prefix for all Nix libraries
...
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-23 23:53:41 +00:00
Eelco Dolstra
c1f3a1a89b
Disallow undefined symbols in dynamic libraries by default
...
This encourages that each library declares its own dependencies
properly.
2013-11-24 00:10:00 +01:00
Eelco Dolstra
5a1114ecdb
Drop the dependency on libgc in libmain
...
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 20:19:36 +00:00