Eelco Dolstra
d2c0051784
Remove obsolete corepkgs references
2023-10-18 23:35:07 +02:00
Yueh-Shun Li
5088e6563a
primops: add builtins.convertHash
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-10-19 00:58:56 +08:00
Yueh-Shun Li
6b47635180
Add helper function parseHashFormat[Opt] printHashFormat
...
Add hash format analogy of
parseHashTypeOpt, parseHashType, and printHashType.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-10-19 00:56:44 +08:00
Yueh-Shun Li
231b0fca6d
Migrate HashFormat to scoped enumeration (enum struct)
2023-10-19 00:56:44 +08:00
Yueh-Shun Li
e026f3e1ae
treewide: Reference HashFormat members with scope
...
Base* -> HashFormat::Base*
2023-10-19 00:56:41 +08:00
Yueh-Shun Li
5043e6cf4e
Document HashFormat
2023-10-19 00:38:32 +08:00
Yueh-Shun Li
838c70f621
treewide: Rename hashBase to hashFormat
...
hashBase is ambiguous, since it's not about the digital bases, but about
the format of hashes. Base16, Base32 and Base64 are all character maps
for binary encoding.
Rename the enum Base to HashFormat.
Rename variables of type HashFormat from [hash]Base to hashFormat,
including CmdHashBase::hashFormat and CmdToBase::hashFormat.
2023-10-19 00:38:32 +08:00
Yueh-Shun Li
aff177d860
Elaborate the "unknown hash algorithm" error
...
List the allowed hash formats
2023-10-19 00:38:32 +08:00
Yueh-Shun Li
e9ddf0b400
Simplify parseHashTypeOpt
...
Remove redundant "else" after "return".
Use std::nullopt to increase readability.
2023-10-19 00:38:32 +08:00
Eelco Dolstra
df73c6eb8c
Introduce MemoryInputAccessor and use it for corepkgs
...
MemoryInputAccessor is an in-memory virtual filesystem that returns
files like <nix/fetchurl.nix>. This removes the need for special hacks
to handle those files.
2023-10-18 17:38:11 +02:00
Eelco Dolstra
ea38605d11
Introduce FSInputAccessor and use it
...
Backported from the lazy-trees branch. Note that this doesn't yet use
the access control features of FSInputAccessor.
2023-10-18 17:37:32 +02:00
Vladimir Kryachko
311e2ad024
Address review comments
2023-10-18 10:37:06 -04:00
Vladimir Kryachko
a2f0ba6a6d
Fix transitive input locking.
...
Fixes reproducibility issue described in #9143
Fixes #9143
2023-10-18 10:31:36 -04:00
Eelco Dolstra
201c115c3e
Merge pull request #9151 from edolstra/stabilize-fetchTree
...
Stabilize fetchTree
2023-10-18 10:54:08 +02:00
Théophane Hufschmitt
c1a1766c46
Merge pull request #9169 from vkryachko/follow_cycle
...
Detect cycles in flake follows.
2023-10-18 07:34:03 +02:00
John Ericson
9d1f42db52
Merge pull request #9150 from vicky1999/fix/8914
...
`nix store ping` -> `nix store info`
2023-10-17 22:52:28 -04:00
vicky1999
891dfb4359
updated store ping to store info in files
2023-10-18 00:14:11 +05:30
vicky1999
a0f071f1d3
store info sh renamed
2023-10-18 00:12:10 +05:30
John Ericson
e36c9175f4
Add protocol versions to {Worker,Serve}Proto::*Conn
...
This will allow us to factor out logic, which is currently scattered
inline, into several reusable instances
The tests are also updated to support versioning. Currently all Worker
and Serve protocol tests are using the minimum version, since no
version-specific serialisers have been created yet. But in subsequent
commits when that changes, we will test individual versions to ensure
complete coverage.
2023-10-17 11:21:10 -04:00
John Ericson
ff68426095
Name the protocol version types
...
This makes the code clearer, and will help us replace them with proper
structs and get rid of the macros later.
2023-10-17 11:20:39 -04:00
Eelco Dolstra
3470cd68c4
Mark some fetchers as experimental
2023-10-17 14:57:29 +02:00
Eelco Dolstra
f62b5500ff
fetchTree: Require the flakes experimental feature for the URL syntax
2023-10-17 14:52:34 +02:00
Eelco Dolstra
e92cac789f
Merge pull request #9168 from obsidiansystems/fix-lang-tests-read-only
...
Fix language tests a bit
2023-10-17 14:45:38 +02:00
Eelco Dolstra
a9b8595fd9
Merge pull request #9162 from eclairevoyant/add-mainprogram
...
explicitly set meta.mainProgram
2023-10-17 14:44:29 +02:00
vicky1999
dcc5f801f4
Store info command help updates
2023-10-17 09:39:59 +05:30
Artturin
b8dfa3d53b
use doBind in addDependency
2023-10-17 01:26:34 +03:00
Artturin
11e47e7dfb
factor out doBind from runChild
2023-10-17 01:26:34 +03:00
Artturin
630c2545d1
remove linkOrCopy and use bindmounts for files in addDependency
2023-10-17 01:26:34 +03:00
Artturin
5649229394
Bindmount files instead of hardlinking or copying to chroot
...
16591eb3cc (diff-19f999107b609d37cfb22c58e7f0bc1cf76edf1180e238dd6389e03cc279b604)
(2013) added support for files to doBind
This is work towards allowing users to change the location of chrootRootDir, to, for example, a tmpfs.
inspired by trofi on matrix
> It looks like build sandbox created by nix-daemon runs on the same filesystem, as /nix/store including things like /tmp which makes all small temporary files hit the disk. Is it intentional? If it is is there an easy way to redirect chroot's root to be tmpfs?
dirsInChroot -> pathsInChroot
2023-10-17 01:26:34 +03:00
John Ericson
8c049a9f04
Merge pull request #9172 from tfc/bad-moves
...
Fix/remove some bad std::moves
2023-10-16 17:46:41 -04:00
Jacek Galowicz
54b350d517
Drop some moves that would happen anyway but forbid NRVO where appicable
2023-10-16 21:48:35 +01:00
Jacek Galowicz
abf7df2b37
Fix moves that accidentally copy anyway
2023-10-16 21:48:35 +01:00
Vladimir Kryachko
d6066c90f8
Don't convert InputPaths to strings prematurely.
2023-10-16 15:47:28 -04:00
John Ericson
aa4f41d796
Merge pull request #9170 from tfc/fix-broken-move
...
Fix broken move
2023-10-16 15:13:03 -04:00
Jacek Galowicz
add066cc7b
Fix broken move
2023-10-16 19:32:47 +01:00
Vladimir Kryachko
b3fd7db63f
Detect cycles in flake follows.
...
This change results in an error thrown as opposed to segfaulting due to
stack overflow.
Fixes #9144
2023-10-16 13:00:49 -04:00
John Ericson
f7a36f9812
Fix language tests a bit
...
- Remove some stray saved error messages that didn't correspond to any
test, because they were renamed in
d11faa01b5
.
- Need `--eval` in test failure test in order to get in "read-only" mode
where we don't try to write to the store. (The other tests already do
this.)
- Need `--strict` so top-level attribute sets are still forced, like
they are without `--eval`.
2023-10-16 12:52:59 -04:00
John Ericson
5442d9b472
Merge pull request #9167 from obsidiansystems/pre-overhaul-completions
...
Improve tests and docs prior to refactoring completions
2023-10-16 12:12:28 -04:00
John Ericson
483d99c622
Add API docs to some args-related functionality
2023-10-16 11:25:15 -04:00
John Ericson
c27d2f8da9
Add two more completions tests
...
Thanks @ncfavier for catching these regressions in my PR.
Co-Authored-By: Naïm Favier <n@monade.li>
2023-10-16 10:09:10 -04:00
John Ericson
d12c614ac7
Merge pull request #9152 from obsidiansystems/split-out-perl-nix
...
Factor out Perl bindings Nix package
2023-10-16 09:57:37 -04:00
Eelco Dolstra
6bf68c1e64
Merge pull request #8904 from wentasah/metadata-shows-last-modified
...
nix flakes metadata: Show lastModified timestamp for each input
2023-10-16 13:52:51 +02:00
éclairevoyant
e5ce53f3db
explicitly set meta.mainProgram
2023-10-15 15:08:07 -04:00
John Ericson
a23cc147cb
Factor out Perl bindings Nix package
...
Progress breaking up `flake.nix` by introducing separate `default.nix`
files which make sense on their own. (This one is a regular
`callPackage`-able package.)
2023-10-13 11:04:51 -04:00
John Ericson
d070d8b746
Merge pull request #9137 from obsidiansystems/serve-protocol
...
Introduce separate Serve protocol serialisers
2023-10-13 10:51:46 -04:00
Eelco Dolstra
4112dd1fc9
Mark fetchTree as stable
2023-10-13 16:45:08 +02:00
Robert Hensing
da2b59a088
Merge pull request #8047 from lovesegfault/always-allow-substitutes
...
feat: add always-allow-substitutes
2023-10-13 15:42:11 +02:00
Eelco Dolstra
2084312313
Merge pull request #9061 from edolstra/stabilize-fetchTree
...
fetchTree cleanup
2023-10-13 15:11:14 +02:00
Eelco Dolstra
8eb4f735dc
fetchTree: Only use the registry if flakes are enabled
2023-10-13 14:34:32 +02:00
Eelco Dolstra
4ce7a53a9c
Update fetchTree docs
2023-10-13 14:34:32 +02:00