Eelco Dolstra
1ac2664472
Remove std::vector alias
2022-02-21 16:32:34 +01:00
Eelco Dolstra
fe9afb65bb
Remove std::set alias
2022-02-21 16:28:23 +01:00
Eelco Dolstra
afcdc7606c
Remove std::list alias
2022-02-21 16:25:12 +01:00
Eelco Dolstra
e2422c4582
Merge pull request #6052 from hercules-ci/issue-3294-fix-interruptCallback-deadlock
...
Fix deadlocked nix-daemon zombies on darwin #3294
2022-02-21 16:21:45 +01:00
Robert Hensing
ddb6740e7d
triggerInterrupt: Refactor to use break
2022-02-21 15:43:43 +01:00
Linus Heckemann
dbdc63bc41
path-info: use full store paths when we have them
...
Fixes #5645
2022-02-19 00:32:05 +01:00
Eelco Dolstra
a768e85e2f
Merge pull request #6103 from Radvendii/welcomeText
...
add descriptive output when creating templates
2022-02-17 21:06:10 +01:00
Taeer Bar-Yam
f56dd3a36b
make flake template welcomeText markdown
2022-02-17 13:59:32 -05:00
Eelco Dolstra
aa5b83d93c
InputScheme::fetch(): Return a StorePath instead of a Tree
2022-02-16 11:14:01 +01:00
Eelco Dolstra
2d6d9a28eb
addToStoreFromDump(): Take std::string_view
2022-02-16 11:02:35 +01:00
Taeer Bar-Yam
f3a2940e70
add descriptive output when creating templates
...
this includes a `welcomeText` attribute which can be set in the
template, as well as outputing which files were created.
2022-02-15 11:50:14 -05:00
Eelco Dolstra
023e459777
InstallableFlake: Default attr paths cleanup
...
This removes some duplicated logic, and fixes "nix bundle" parsing its
installable twice.
2022-02-14 21:06:11 +01:00
Sebastian Ullrich
c437e1326d
Fix using sandbox without user namespaces
2022-02-12 16:28:36 +01:00
Eelco Dolstra
4d67ecbbb2
Merge pull request #6085 from edolstra/fix-flake-defaults
...
parseInstallables(): Don't try the flake attr path prefixes when no fragment is specified
2022-02-11 18:00:00 +01:00
Tom Bereknyei
270fb5f192
profile: add verbosity
...
warn if there are no matches and give notice of removing packages as
they are found
2022-02-11 10:44:33 -05:00
Eelco Dolstra
cdc90c2776
parseInstallables(): Don't try the flake attr path prefixes when no fragment is specified
...
Fixes #5880 .
2022-02-11 15:50:12 +01:00
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
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
Sandro Jäckel
45eeb2fd6a
nix-shell: set BASH variable to correct shell
2022-02-05 17:56:51 +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
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
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
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
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
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
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
Eelco Dolstra
9691f86ff7
Stop vendoring nlohmann_json
2022-01-26 11:50:53 +01:00