Eelco Dolstra
7c64a9dfd4
Merge pull request #6054 from lincolnauster/lf-reporterr
...
repl/load-flake: throw error if path isn't specified
2022-02-07 20:44:10 +01:00
Eelco Dolstra
725817c223
Merge pull request #6057 from trofi/fix-daemon-crashes
...
Make sure no exceptions leave ignoreException()
2022-02-07 20:42:19 +01:00
Sergei Trofimovich
3ec02deb20
Make sure no exceptions leave ignoreException()
...
I noticed that occasional Ctrl-C leaves *.lock files around.
`nix-daemon`'s journal logs contained crashes like:
nix-daemon[30416]: terminate called after throwing an instance of 'nix::SysError'
nix-daemon[30416]: what(): error: writing to file: Broken pipe
And core dump backtraces pointed at `teriminate()` call from
destructors:
...
_Unwind_Resume ()
nix::ignoreException() ()
nix::LocalDerivationGoal::~LocalDerivationGoal()
...
void ignoreException()
{
try {
throw;
} catch (std::exception & e) {
printError("error (ignored): %1%", e.what());
}
}
The crashes happen when client side closes early and printError() throws
an IO error.
The change wraps `ignoreException()` into blanket `try { ... } catch (...) {}`.
Closes: https://github.com/NixOS/nix/issues/6046
2022-02-07 16:20:56 +00:00
lincoln auster
b1abfcd0c2
fix markup
...
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-02-07 08:35:50 -07:00
Eelco Dolstra
97e02c23bd
Fix 'basic_string::_M_construct null not valid' in interrupted download
...
Fixes #5985 .
2022-02-07 10:53:47 +01:00
lincoln auster [they/them]
c23501a3b2
repl/load-flake: throw error if path isn't specified
2022-02-06 16:29:42 -07:00
Robert Hensing
c3b942e0fc
Don't hold interruptCallbacks lock during interrupt handling
...
This changes the representation of the interrupt callback list to
be safe to use during interrupt handling.
Holding a lock while executing arbitrary functions is something to
avoid in general, because of the risk of deadlock.
Such a deadlock occurs in https://github.com/NixOS/nix/issues/3294
where ~CurlDownloader tries to deregister its interrupt callback.
This happens during what seems to be a triggerInterrupt() by the
daemon connection's MonitorFdHup thread. This bit I can not confirm
based on the stack trace though; it's based on reading the code,
so no absolute certainty, but a smoking gun nonetheless.
2022-02-06 13:53:28 +01:00
Eelco Dolstra
4369771870
Merge pull request #6040 from matthewbauer/allow-missing-override-input
...
Allow missing flake.nix for --override-input target
2022-02-06 13:22:41 +01:00
Eelco Dolstra
3b64569601
Merge pull request #6047 from SuperSandro2000/nix-shell-BASH
...
nix-shell: set BASH variable to correct shell
2022-02-06 13:19:52 +01:00
Eelco Dolstra
93293fc66b
Merge pull request #6042 from pennae/fix-repl-a
...
fix nix repl not overriding existing bindings in :a
2022-02-06 13:17:58 +01:00
Eelco Dolstra
9148be6bfc
Merge pull request #6043 from Ma27/fix-comp
...
completions: pipe stderr to /dev/null
2022-02-06 13:17:05 +01:00
Sandro Jäckel
45eeb2fd6a
nix-shell: set BASH variable to correct shell
2022-02-05 17:56:51 +01:00
Maximilian Bosch
9d840758a8
completions: pipe stderr to /dev/null
...
This fixes weird issues where e.g.
nix build -L .#<tab>
deletes the current line from the prompt.
2022-02-04 22:43:16 +01:00
pennae
1daf1babf9
fix nix repl not overriding existing bindings in :a
...
previously :a would override old bindings of a name with new values if the added
set contained names that were already bound. in nix 2.6 this doesn't happen any
more, which is potentially confusing.
fixes #6041
2022-02-04 15:27:59 +01:00
Matthew Bauer
f222fba4dc
Allow missing flake.nix for --override-input target
...
At this point, we don’t know if the input is a flake or not. So, we
should allow the user to override the input with a directory without a
flake.nix.
Ideally, we could figure whether the input was originally a flake or
not, but that would require instantiating the whole flake. So just
allow it to be missing here, and rely on checks later on to verify the
input for us.
2022-02-03 20:51:47 -06:00
Eelco Dolstra
bd383d1b6f
Make most calls to determinePos() lazy
2022-02-04 00:33:21 +01:00
Eelco Dolstra
4c755c3b3f
Merge branch 'issue-3505' of https://github.com/kamadorueda/nix
2022-02-04 00:33:13 +01:00
Eelco Dolstra
1aa5994e6d
Merge pull request #5456 from tomberek/bundler_drv
...
bundle: pass drv attrset instead of path
2022-02-03 23:40:20 +01:00
tomberek
12ff354d01
Merge branch 'master' into bundler_drv
2022-02-03 02:39:18 -05:00
Eelco Dolstra
fcb33440b6
Merge pull request #6036 from tweag/balsoft/and-yet-another-follows-bugfix
...
Flake follows: resolve all follows to absolute
2022-02-02 22:52:08 +01:00
Alexander Bantyev
169ea0b83f
Flake follows: resolve all follows to absolute
...
It's not possible in general to know in computeLocks, relative to
which path the follows was intended to be. So, we always resolve
follows to their absolute states when we encounter them (which can
either be in parseFlakeInput or computeLocks' fake input population).
Fixes https://github.com/NixOS/nix/issues/6013
Fixes https://github.com/NixOS/nix/issues/5609
Fixes https://github.com/NixOS/nix/issues/5697 (again)
2022-02-02 21:41:45 +03:00
Eelco Dolstra
17e3f353df
Merge branch 'parser-improvements' of https://github.com/pennae/nix
2022-02-02 12:45:44 +01:00
Eelco Dolstra
cd35bbbeef
Merge branch 'more-stringviews' of https://github.com/pennae/nix
2022-02-02 12:38:37 +01:00
Eelco Dolstra
73d5f38a47
Require lowdown 0.9.0
...
Fixes #6021 .
2022-02-01 10:44:19 +01:00
Eelco Dolstra
59b6afec07
Merge pull request #6022 from thkoch2001/fix-lowdown_libs
...
use LOWDOWN_LIBS variable
2022-01-31 13:40:54 +01:00
Eelco Dolstra
cc730bd46b
Merge pull request #5990 from lincolnauster/flakes-nixconfig-docs
...
flakes: document nixConfig option
2022-01-31 10:21:15 +01:00
Thomas Koch
43509cc69d
use LOWDOWN_LIBS variable
...
fixes : #5931
2022-01-30 20:59:58 +02:00
Eelco Dolstra
08fc3d6552
Merge pull request #6018 from dtzWill/fix/issue-6017
...
canonPath: fix missing slash when resolving links
2022-01-30 12:32:02 +01:00
Eelco Dolstra
8915f16aab
Merge pull request #6019 from thkoch2001/fix_spelling_mistakes
...
fix spelling mistakes reported by Debian's lintian tool
2022-01-30 12:31:16 +01:00
Thomas Koch
85b1427662
fix spelling mistakes reported by Debian's lintian tool
2022-01-30 10:51:39 +02:00
Will Dietz
a0357abda7
canonPath: fix missing slash when resolving links
...
Fixes #6017
2022-01-29 16:32:27 -06:00
Tom Bereknyei
6e5e64fc74
bundler: suggested doc fixes
2022-01-28 10:25:05 -05:00
tomberek
2bf96bd9f2
Merge branch 'master' into bundler_drv
2022-01-28 10:18:29 -05:00
Tom Bereknyei
73e82ae954
bundler: tests various combinations of referring to installables
2022-01-28 10:17:51 -05:00
Tom Bereknyei
4ebc50d92e
bundler: revert default behavior to use defaultApp
...
Bundlers are now responsible for correctly handling their inputs which
are no longer constrained to be (Drv->Drv)->Drv->Drv, but can be of
type (attrset->Drv)->attrset->Drv.
2022-01-28 09:56:58 -05:00
Eelco Dolstra
4bf6af7b55
Remove a repeated std::move in a for loop
2022-01-28 15:10:43 +01:00
pennae
d439dceb3b
optionally return string_view from coerceToString
...
we'll retain the old coerceToString interface that returns a string, but callers
that don't need the returned value to outlive the Value it came from can save
copies by using the new interface instead. for values that weren't stringy we'll
pass a new buffer argument that'll be used for storage and shouldn't be
inspected.
2022-01-27 22:15:30 +01:00
Domen Kožar
f05fefcd03
Merge pull request #5951 from abathur/install_add_getconf_fallback
...
install-darwin: dodge bash 3.2 command bug
2022-01-27 20:18:11 +01:00
pennae
41d70a2fc8
return string_views from forceString*
...
once a string has been forced we already have dynamic storage allocated for it,
so we can easily reuse that storage instead of copying.
2022-01-27 17:15:43 +01:00
pennae
0d7fae6a57
convert a for more utilities to string_view
2022-01-27 17:15:43 +01:00
Eelco Dolstra
558c4ee3e3
Merge pull request #6001 from NixOS/fix-nix-path
...
Don’t require `NIX_PATH` entries to be valid paths
2022-01-27 17:04:02 +01:00
Eelco Dolstra
27b4056154
Merge pull request #6000 from NixOS/use-flakes-in-ci
...
Use the `nix` command (and flakes) in the CI
2022-01-27 17:01:45 +01:00
regnat
fcdc60ed22
Don’t require NIX_PATH
entries to be valid paths
...
It’s totally valid to have entries in `NIX_PATH` that aren’t valid paths
(they can even be arbitrary urls or `channel:<channel-name>`).
Fix #5998 and #5980
2022-01-27 16:26:39 +01:00
regnat
7bd85a3bf6
Use the nix
command (and flakes) in the CI
...
Apart from a slight simplification and a bit of dogfooding, this also
make the cache behavior more predictable.
For example `nix build .` and `nix build nix/$(git rev-parse HEAD)` will
yield the exact same path, while their “intuitive” non-flake equivalents
(`nix-build` and
`nix-build https://github.com/nixos/nix/archives/$ (git rev-parse HEAD).tar.gz`)
don’t.
This was a pain for example in https://github.com/NixOS/nix/pull/5059
Also, the `bar-with-logs` log format is imho nicer (even in an
non-interactive context) because prefixing each log line with the name
of the derivation that produced it makes it much easier to follow what’s
going on.
2022-01-26 16:41:37 +01:00
Eelco Dolstra
1fe3bfdeaf
Merge pull request #5997 from NixOS/test-nix-store-ping
...
Fix the `store ping` test
2022-01-26 15:22:15 +01:00
Eelco Dolstra
b0de24cc89
Merge pull request #5996 from edolstra/remove-nlohmann
...
Stop vendoring nlohmann_json
2022-01-26 14:49:34 +01:00
regnat
3dc1418216
Fix the store ping
test
2022-01-26 14:15:03 +01:00
Eelco Dolstra
9691f86ff7
Stop vendoring nlohmann_json
2022-01-26 11:50:53 +01:00
Eelco Dolstra
e9d2ac6d7f
Merge pull request #5995 from NixOS/test-nix-store-ping
...
Add some tests for `nix store ping`
2022-01-26 11:50:04 +01:00
regnat
d139474f48
Add some tests for nix store ping
...
Always good to have :)
2022-01-26 11:01:25 +01:00