about summary refs log tree commit diff
path: root/src/nix-build/nix-build.cc
AgeCommit message (Collapse)AuthorFilesLines
2017-03-12 nix-shell/pure: keep environment variable SHLVLStefan Junker1-1/+1
2017-02-24 nix-shell: Better error message when the shell can't be startedEelco Dolstra1-2/+4
2017-02-24 nix-shell: Overwrite environment variablesEelco Dolstra1-1/+1
Need to remember that std::map::insert() and emplace() don't overwrite existing entries... This fixes a regression relative to 1.11 that in particular triggers in nested nix-shells. Before: $ nativeBuildInputs=/foo nix-shell -p hello --run 'hello' build input /foo does not exist After: $ nativeBuildInputs=/foo nix-shell -p hello --run 'hello' Hello, world!
2017-02-01 Restore default signal handling in child processesEelco Dolstra1-0/+2
In particular, this fixes Ctrl-C in nix-shell sessions.
2017-01-16 assign environ to a temp variable to ensure livenessJude Taylor1-3/+6
2017-01-16 nix-build: Use showManPage() and printVersion()Eelco Dolstra1-7/+3
2017-01-07 nix-shell: Fix 'nix-shell --command' doing nothing without TTYTuomas Tynkkynen1-1/+2
Regression from a5f2750e ("Fix early removal of rc-file for nix-shell"). The removal of BASH_ENV causes nothing to be executed by bash if it detects itself in a non-interactive context. Instead, just use the same condition used by bash to launch bash differently. According to bash sources, the condition (stdin and stder both must be TTYs) is specified by POSIX so this should be pretty safe to rely on. Fixes #1171 on master, needs a backport to the Perl code in 1.11.
2017-01-03 nix-shell: In #! mode, pass the last argumentEelco Dolstra1-13/+11
"i < argc - 1" should be "i < argc".
2017-01-03 nix-shell: Don't act interactive in shebangsTuomas Tynkkynen1-0/+1
I had observed that 'bash --rcfile' would do nothing in a non-interactive context and cause nothing to be executed if a script using nix-shell shebangs were run in a non-interactive context.
2017-01-03 nix-shell: Fix 'nix-shell -i'Tuomas Tynkkynen1-1/+1
The 'args' variable here is shadowing one in the outer scope and its contents end up unused. This causes any '#! nix-shell' lines to effectively be ignored. The intention here was to clear the args vector, as far as I can tell (and it seems to work).
2016-11-26 Revert "Get rid of unicode quotes (#1140)"Eelco Dolstra1-1/+1
This reverts commit f78126bfd6b6c8477fcdbc09b2f98772dbe9a1e7. There really is no need for such a massive change...
2016-11-25 Get rid of unicode quotes (#1140)Guillaume Maudoux1-1/+1
2016-10-19 Fix Darwin buildEelco Dolstra1-4/+6
Done slightly differently from https://github.com/NixOS/nix/pull/1093.
2016-09-21 nix-build, nix-shell: Don't print error message if nix-store/nix-instantiate ↵Eelco Dolstra1-4/+28
fails
2016-09-20 nix-shell: Fix $PATH handling in the impure caseEelco Dolstra1-29/+35
We were passing "p=$PATH" rather than "p=$PATH;", resulting in some invalid shell code. Also, construct a separate environment for the child rather than overwriting the parent's.
2016-09-20 nix-shell: Restore CPU affinityEelco Dolstra1-6/+10
Otherwise the shell and its children will be bound to one CPU core...
2016-09-12 Fix build on GCC 4.9Eelco Dolstra1-11/+8
GCC 4.9 doesn't like reassigning a std::stringstream. http://hydra.nixos.org/build/40371644
2016-09-12 Write "T x" instead of "auto x = T"Eelco Dolstra1-35/+32
That's just silly. Hopefully this also fixes the Debian build failure: http://hydra.nixos.org/build/40371644
2016-09-08 Fix early removal of rc-file for nix-shellShea Levy1-2/+0
BASH_ENV causes all non-interactive shells called via eg. /etc/bashrc to remove the rc-file before the main shell gets to run it. Completion scripts will often do this. Fixes #976. Adapted from and fixes #1034.
2016-08-31 nix-build: Clean up a bitShea Levy1-6/+8
2016-08-11 nix-build: extend the meaning of $IN_NIX_SHELLVladimír Čunát1-1/+1
An equivalent was originally filed against the perl version: https://github.com/NixOS/nix/pull/933
2016-08-09 nix-build: Port to c++Shea Levy1-0/+482
This was a dumb line-for-line rewrite, because nix build/nix run/etc. will replace it.