Eelco Dolstra
c80b942c6e
Provide a default Input::fetch() that uses lazyFetch()
2022-05-18 23:24:05 +02:00
Eelco Dolstra
df713a5d25
Detect symlink cycles
2022-05-18 23:09:12 +02:00
Eelco Dolstra
593798b2a0
Show a sensible error when a file exists but is not under git control
...
Example:
error: access to path '/home/eelco/Dev/patchelf/foo.nix' is forbidden because it is not under Git control; maybe you should 'git add' it to the repository '/home/eelco/Dev/patchelf'?
Fixes #4507 .
2022-05-18 22:56:39 +02:00
Théophane Hufschmitt
78dc64ec1e
Merge pull request #6544 from ncfavier/getFlake-no-write-lock-file
...
Do not attempt to write a lock file in builtins.getFlake
2022-05-18 16:41:13 +02:00
Naïm Favier
169384abb2
Do not attempt to write a lock file in builtins.getFlake
...
Fixes https://github.com/NixOS/nix/issues/6541
2022-05-18 15:45:06 +02:00
Eelco Dolstra
1970d6db12
Fix showing an appropriate RestrictedPathError
2022-05-18 14:20:24 +02:00
zhujun
b8e44dc62b
primop_match: fix example letter case in document
2022-05-18 14:05:26 +08:00
Eelco Dolstra
c1a202c348
Remove dead code
2022-05-17 21:53:54 +02:00
Eelco Dolstra
91e641af88
Fix $NIX_PATH access control initialisation
2022-05-17 21:53:54 +02:00
Eelco Dolstra
8be06c9aa1
Fix IFD
2022-05-17 14:04:55 +02:00
Eelco Dolstra
df2aa29690
Improve symlink handling
2022-05-17 13:56:26 +02:00
Eelco Dolstra
2a53574675
resolveExprPath(): Handle symlinks
2022-05-17 12:41:09 +02:00
Eelco Dolstra
fdba67d4fa
Fix access control
2022-05-17 12:18:13 +02:00
Eelco Dolstra
65e1e49cf7
nix-env: Use SourcePath
2022-05-17 00:04:04 +02:00
Eelco Dolstra
7617d15458
Fix git fetcher
2022-05-16 23:29:39 +02:00
Eelco Dolstra
a71f209330
Add CanonPath wrapper to represent canonicalized paths
2022-05-16 23:27:04 +02:00
Ben Burdette
667074b586
first whack at passing evalState as an arg to debuggerHook.
2022-05-16 09:20:51 -06:00
Théophane Hufschmitt
43a2c13672
Make nix::eval_cache::int_t more idiomatic
...
Don’t explicitely give it a constructor, but use aggregate
initialization instead (also prevents having an implicit coertion, which
is probably good here)
2022-05-16 16:36:21 +02:00
Eli Kogan-Wang
e53349dd6e
change priority conflict message
2022-05-16 16:16:06 +02:00
Eli Kogan-Wang
27d0f6747d
resolve redundant priority passing, wrap NixInt in eval-cache variant
2022-05-16 15:17:35 +02:00
Eli Kogan-Wang
c81d24f1c7
Add int to eval-cache, bump eval cache schema version
2022-05-16 02:29:29 +02:00
elikoga
0cea59ab4b
Merge branch 'NixOS:master' into master
2022-05-16 01:01:37 +02:00
Ben Burdette
86ba0a702c
fix thunk issue
2022-05-15 12:05:51 -06:00
Ben Burdette
6faa56ea1f
remove extra argument
2022-05-15 12:05:34 -06:00
Eli Kogan-Wang
be2b19041e
Integrate review changes
2022-05-13 22:02:28 +02:00
Tom Bereknyei
8150b93968
fix: alignment during flake show of legacyPackages
...
Fixes:
https://github.com/NixOS/nix/issues/6240
https://github.com/NixOS/nix/issues/6045
2022-05-13 11:12:11 -04:00
Eelco Dolstra
de35e2d3b4
Fix resolving indirect flakerefs
2022-05-13 14:41:42 +02:00
Eelco Dolstra
bf89cd95a4
Merge pull request #6525 from J-Swift/feature/bash-prefix
...
Add `bash-prompt-prefix` option
2022-05-13 14:06:07 +02:00
Eelco Dolstra
a0ed002ba9
Fix build
2022-05-12 22:49:54 +02:00
Ben Burdette
2acdb90438
remove debug code
2022-05-12 14:20:45 -06:00
Ben Burdette
2d0d1ec99d
remove debug code
2022-05-12 14:15:35 -06:00
Ben Burdette
4f48095c66
Merge branch 'debugThrow' into debug-exploratory-PR
2022-05-12 14:11:35 -06:00
Ben Burdette
1ea13084c9
template-ize debugThrow
2022-05-12 13:59:58 -06:00
Eelco Dolstra
212e28d945
Fix test
2022-05-12 20:47:27 +02:00
Eelco Dolstra
9411299875
Fix GC bug in ExprPath
2022-05-12 20:37:18 +02:00
Eelco Dolstra
9e05daaa9e
Fix flake subdir handling
2022-05-12 19:31:07 +02:00
Eelco Dolstra
1ee5dd6d96
Fix relative path handling in the parser
2022-05-12 18:38:30 +02:00
Eelco Dolstra
cd893a22f5
Make the file cache keyed on SourcePath
2022-05-12 16:48:22 +02:00
Eelco Dolstra
bc57bd2202
Temporarily disable the eval cache
2022-05-12 14:52:34 +02:00
Eelco Dolstra
84c273c503
Fix path concatenation
2022-05-12 14:48:25 +02:00
Eelco Dolstra
b6cf6e5553
ZipInputAccessor: Fix symlink handling
2022-05-12 12:06:50 +02:00
Eelco Dolstra
65c957f0c1
Merge remote-tracking branch 'origin/master' into lazy-trees
2022-05-12 11:31:09 +02:00
Norbert Melzer
831e2743ea
fix GitHub URL template
2022-05-12 00:56:39 +02:00
Théophane Hufschmitt
b944b588fa
Merge pull request #6523 from ncfavier/stop-logger-legacy
...
Stop the logger properly in legacy commands
2022-05-11 16:53:57 +02:00
Eelco Dolstra
feac6d8651
Fix addPath()
2022-05-11 16:29:17 +02:00
Eelco Dolstra
8b5f37ea92
Fix support for coerceToPath() on attrsets with an outPath attribute
2022-05-11 15:48:21 +02:00
Eelco Dolstra
eb966921ca
Fix read-only copyPathToStore()
2022-05-11 14:22:18 +02:00
Eelco Dolstra
95e4376434
Fix eval tests
2022-05-11 13:45:57 +02:00
Eelco Dolstra
087584ef4d
Merge remote-tracking branch 'origin/master' into lazy-trees
2022-05-11 13:34:49 +02:00
Naïm Favier
1461e6cdda
Stop the logger properly in legacy commands
...
Ensures the logger is stopped on exit in legacy commands. Without this,
when using `nix-build --log-format bar` and stopping nix with CTRL+C,
the bar is not cleared from the screen.
2022-05-11 12:58:45 +02:00
Eli Kogan-Wang
aefc6c4f41
Add priority for nix profile install
2022-05-11 12:16:35 +02:00
Eelco Dolstra
54457382f9
Fix static build
...
https://hydra.nixos.org/build/176211267
2022-05-11 11:36:56 +02:00
Jimmy Reichley
584475acf9
Add documentation for bash-prompt-prefix
2022-05-10 16:55:25 -04:00
Jimmy Reichley
2998527b18
Allow setting bash-prompt-prefix nix develop configuration
2022-05-10 16:53:22 -04:00
Eelco Dolstra
eb957ad6d8
Merge pull request #6497 from danielfullmer/ghe-fetcher-url
...
Use correct URL for GitHub Enterprise
2022-05-10 19:23:22 +02:00
Eelco Dolstra
a9cbc2857f
nix develop: Find bin/bash in the bashInteractive outputs
2022-05-10 16:43:41 +02:00
Eelco Dolstra
b4c6adfd35
Fix findFile(), coerceToPath()
2022-05-10 16:12:48 +02:00
Ben Burdette
7cd7c7c91a
Merge branch 'master' into debug-exploratory-PR
2022-05-09 09:30:44 -06:00
Eelco Dolstra
e7f8aa8bdd
Fix copyPathToStore()
2022-05-09 15:29:42 +02:00
Eelco Dolstra
e89d3e0edf
Fix resolveExprPath()
2022-05-09 14:28:47 +02:00
Eelco Dolstra
53869fbd42
Add operator for concatenating strings and string_views
2022-05-09 14:28:27 +02:00
Eelco Dolstra
0d3392bef1
Fix build
2022-05-09 12:55:25 +02:00
Eelco Dolstra
30ca717558
Merge remote-tracking branch 'origin/master' into lazy-trees
2022-05-09 11:26:39 +02:00
Jan Tojnar
59d9551c25
libexpr: Fix manual link in error message
...
It was changed to the old manual in 8895fa70a4
2022-05-08 18:59:00 +02:00
Daniel Fullmer
7a3d5b2ff0
Use correct URL for GitHub Enterprise
...
For GitHub Enterprise, the API is accessed through a slightly different
URL. See [1], where it says:
> Use http(s)://[hostname]/api/v3 to access the API for GitHub
> Enterprise Server.
Also tested working on a GHE instance.
[1] https://docs.github.com/en/enterprise-server@3.3/rest/guides/getting-started-with-the-rest-api
2022-05-06 13:13:11 -07:00
Andreas Rammhold
059ae7f6c4
Add unit tests for libexpr ( #5377 )
...
* libexpr: fix builtins.split example
The example was previously indicating that multiple whitespaces would be
collapsed into a single captured whitespace. That isn't true and was
likely a mistake when being documented initially.
* Fix segfault on unitilized list when printing value
Since lists are just chunks of memory the individual elements in the
list might be unitilized when a programming error happens within Nix.
In this case the values are null-initialized (at least with Boehm GC)
and we can avoid a nullptr deref when printing them.
I ran into this issue while ensuring that new expression tests would
show the actual value on an assertion failure.
This is unlikely to cause any runtime performance regressions as
printing values is not really in the hot path (unless the repl is the
primary use case).
* Add operator<< for ValueTypes
* Add libexpr tests
This introduces tests for libexpr that evalulate various trivial Nix
language expressions and primop invocations that should be good smoke
tests wheter or not the implementation is behaving as expected.
2022-05-06 18:05:27 +02:00
Ben Burdette
fc66f48812
debugError()
2022-05-06 09:09:49 -06:00
Ben Burdette
2c9fafdc9e
trying debugThrow
2022-05-06 08:47:21 -06:00
Eelco Dolstra
b470218d9a
renderMarkdownToTerminal(): Avoid line overflow
...
Lowdown doesn't respect '.cols' exactly (maybe because of the
whitespace in front of each line), so adjust .cols a bit.
2022-05-06 13:14:49 +02:00
Eelco Dolstra
33affa0a02
Merge pull request #6483 from NixOS/fix-sourcehut-ref-parsing
...
Fix the parsing of the sourcehut refs file
2022-05-06 12:24:55 +02:00
Ben Burdette
99d69ac23f
fix repl bug
2022-05-05 21:23:03 -06:00
Ben Burdette
dea998b2f2
traceable_allocator
2022-05-05 20:26:10 -06:00
Ben Burdette
f400c5466d
rename valmap
2022-05-05 15:43:23 -06:00
Ben Burdette
09fcfee925
don't print the 'break' argument
2022-05-05 15:34:59 -06:00
Ben Burdette
ce304d0154
rename debug commands to be more gdb-like; hide them except in debug mode
2022-05-05 15:24:57 -06:00
Ben Burdette
0ac121a094
Merge branch 'NixOS:master' into debug-exploratory-PR
2022-05-05 13:54:20 -06:00
Eelco Dolstra
58645a78ab
builtins.break: Return argument when debugging is not enabled
2022-05-05 17:17:03 +02:00
Eelco Dolstra
dd8b91eebc
Style fixes
...
In particular, use std::make_shared and enumerate(). Also renamed some
fields to fit naming conventions.
2022-05-05 17:17:03 +02:00
Alexander Shpilkin
b3ed32d0fd
Add forgotten null check
2022-05-04 22:13:49 +03:00
Théophane Hufschmitt
e68676e6c8
Fix the parsing of the sourcehut refs file
...
Since a26be9f3b8
, the same parser is used
to parse the result of sourcehut’s `HEAD` endpoint (coming from [git
dumb protocol]) and the output of `git ls-remote`. However, they are very
slightly different (the former doesn’t specify the current reference
since it’s implied to be `HEAD`).
Unify both, and make the parser a bit more robust and understandable (by
making it more typed and adding tests for it)
[git dumb protocol]: https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols#_the_dumb_protocol
2022-05-04 14:38:59 +02:00
Eelco Dolstra
c98648bef0
Merge remote-tracking branch 'origin/master' into debug-exploratory-PR
2022-05-04 14:10:21 +02:00
Eelco Dolstra
107613ad2b
Fix compiler warning
2022-05-04 11:31:39 +02:00
Eelco Dolstra
3e87c8e62b
Move json stuff out of util.cc
2022-05-04 11:22:06 +02:00
Alain Zscheile
1385b20078
Get rid of most .at
calls ( #6393 )
...
Use one of `get` or `getOr` instead which will either return a null-pointer (with a nicer error message) or a default value when the key is missing.
2022-05-04 07:44:32 +02:00
Eelco Dolstra
a3c6c5b1c7
nix profile: Support overriding outputs
2022-05-03 15:00:34 +02:00
Eelco Dolstra
4a79cba511
Allow selecting derivation outputs using 'installable!outputs'
...
E.g. 'nixpkgs#glibc^dev,static' or 'nixpkgs#glibc^*'.
2022-05-03 13:43:52 +02:00
Eelco Dolstra
404c222444
Merge pull request #6426 from edolstra/respect-outputs-to-install
...
nix: Respect meta.outputsToInstall, and use all outputs by default
2022-05-03 13:43:22 +02:00
Eelco Dolstra
61289ceee3
Style fixes
2022-05-02 13:37:53 +02:00
Eelco Dolstra
564faa6b4e
Merge pull request #6470 from Ma27/git-followup
...
libfetchers/git: fix every occasion of a permission error
2022-05-02 13:33:08 +02:00
Maximilian Bosch
1849e6a1f6
libfetchers/git: fix every occasion of a permission error
...
I'm afraid I missed a few problematic `git(1)`-calls while implementing
PR #6440 , sorry for that! Upon investigating what went wrong, I realized
that I only tested against the "cached"-case by accident because my
git-checkout with my system's flake was apparently cached during my
debugging.
I managed to trigger the original issue again by running:
$ git commit --allow-empty -m "tmp"
$ sudo nixos-rebuild switch --flake .# -L --builders ''
Since `repoDir` points to the checkout that's potentially owned by
another user, I decided to add `--git-dir` to each call affecting
`repoDir`.
Since the `tmpDir` for the temporary submodule-checkout is created by
Nix itself, it doesn't seem to be an issue.
Sorry for that, it should be fine now.
2022-04-30 15:56:12 +02:00
Kjetil Orbekk
9bf296c970
Extract git reference parsing to a shared library
...
These utility functions can be shared between the git and github fetchers.
2022-04-29 18:46:21 -04:00
Kjetil Orbekk
c21afd684c
Update nix flake
documentation of ref
handling
...
Update the documentation about how `ref` is resolved if it is not
specified.
Add a note about special handling of local workdirs with `git+file`.
2022-04-29 18:46:21 -04:00
Kjetil Orbekk
1203e48926
Store cached head in cached git repo
...
The previous head caching implementation stored two paths in the local
cache; one for the cached git repo and another textfile containing the
resolved HEAD ref. This commit instead stores the resolved HEAD by
setting the HEAD ref in the local cache appropriately.
2022-04-29 18:46:21 -04:00
Kjetil Orbekk
de54e1cd3f
Refactor fetching of dirty workdir
...
Extract the handling of a local dirty workdir to a helper function.
2022-04-29 18:46:17 -04:00
Kjetil Orbekk
401e60f289
Resolve reference for remote repository
...
Resolves the HEAD reference from the remote repository instead
of assuming "master".
2022-04-29 18:42:28 -04:00
Ben Burdette
c81ffa692e
remove 'libnix'
2022-04-29 11:35:50 -06:00
Ben Burdette
c941803861
spacing
2022-04-29 11:27:38 -06:00
Ben Burdette
172a83d22a
line endings
2022-04-29 11:24:54 -06:00
Ben Burdette
ca6cba8b81
fix 'suggestions' error
2022-04-29 10:51:10 -06:00
Ben Burdette
2a5632c70d
incorporate PosIdx changes, symbol changes.
2022-04-29 10:02:17 -06:00