John Ericson
e947aa5401
Unit test OuputsSpec::{union_, isSubsetOf}
2023-01-12 20:33:50 -05:00
John Ericson
31875bcfb7
Split OutputsSpec::merge
into OuputsSpec::{union_, isSubsetOf}
...
Additionally get rid of the evil time we made an empty
`OutputSpec::Names()`.
2023-01-12 20:20:27 -05:00
John Ericson
0faf5326bd
Improve tests for OutputsSpec
2023-01-11 19:09:21 -05:00
John Ericson
5ba6e5d0d9
Remove default constructor from OutputsSpec
...
This forces us to be explicit.
It also requires to rework how `from_json` works. A `JSON_IMPL` is added
to assist with this.
2023-01-11 19:08:19 -05:00
John Ericson
114a6e2b09
Make it hard to construct an empty OutputsSpec::Names
...
This should be a non-empty set, and so we don't want people doing this
by accident. We remove the zero-0 constructor with a little inheritance
trickery.
2023-01-11 19:08:19 -05:00
John Ericson
8a3b1b7ced
Simplify and document store path installable parsing
2023-01-11 19:08:19 -05:00
John Ericson
ce2f91d356
Split OutputsSpec
and ExtendedOutputsSpec
, use the former more
...
`DerivedPath::Built` and `DerivationGoal` were previously using a
regular set with the convention that the empty set means all outputs.
But it is easy to forget about this rule when processing those sets.
Using `OutputSpec` forces us to get it right.
2023-01-11 18:57:18 -05:00
John Ericson
a7c0cff07f
Rename OutputPath
-> ExtendedOutputPath
...
Do this prior to making a new more limitted `OutputPath` we will use in
more places.
2023-01-11 18:55:29 -05:00
John Ericson
a8f45b5e5a
Improve OutputsSpec
slightly
...
A few little changes preparing for the rest.
2023-01-11 18:54:50 -05:00
Théophane Hufschmitt
a3ba80357d
Merge pull request #7543 from obsidiansystems/typed-string-context
...
Parse string context elements properly
2023-01-11 07:09:37 +01:00
Robert Hensing
f58c301112
Merge pull request #7541 from hercules-ci/check-manual-links
...
Check links in the manual
2023-01-10 23:07:38 +01:00
Robert Hensing
6ae4d762d0
doc/manual/src/contributing/hacking.md: Apply suggestion
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-01-10 22:30:41 +01:00
Robert Hensing
da4d4feacf
doc/manual/hacking: Document @docroot@ variable
2023-01-10 22:30:41 +01:00
Robert Hensing
fefa3a49ce
doc/manual: Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-01-10 22:30:41 +01:00
Robert Hensing
fd2af69e60
doc/manual: Move the html files back where they were before
...
... before the link checking "output" was added, bumping the
html output into a subdirectory.
2023-01-10 22:30:41 +01:00
Robert Hensing
d5c8289f1e
doc/manual: Document hacking on the manual links
2023-01-10 22:30:41 +01:00
Robert Hensing
e79f935718
doc/manual: Fix broken internal links
...
The targets I could find.
2023-01-10 22:30:41 +01:00
Robert Hensing
34a1e0d29b
doc/manual: Introduce @docroot@ as a stable base for includable snippets
...
This way the links are clearly within the manual (ie not absolute paths),
while allowing snippets to reference the documentation root reliably,
regardless of at which base url they're included.
2023-01-10 22:30:41 +01:00
Robert Hensing
be10c09d23
manual: Check links
...
mdbook-linkcheck is not consistent about its warning setting.
It disables some warnings, but not the warnings about lack of
fragment checking support; hence the extra filtering.
2023-01-10 22:30:41 +01:00
John Ericson
5576d5e987
Parse string context elements properly
...
Prior to this change, we had a bunch of ad-hoc string manipulation code
scattered around. This made it hard to figure out what data model for
string contexts is.
Now, we still store string contexts most of the time as encoded strings
--- I was wary of the performance implications of changing that --- but
whenever we parse them we do so only through the
`NixStringContextElem::parse` method, which handles all cases. This
creates a data type that is very similar to `DerivedPath` but:
- Represents the funky `=<drvpath>` case as properly distinct from the
others.
- Only encodes a single output, no wildcards and no set, for the
"built" case.
(I would like to deprecate `=<path>`, after which we are in spitting
distance of `DerivedPath` and could maybe get away with fewer types, but
that is another topic for another day.)
2023-01-10 13:10:49 -05:00
John Ericson
da64f026dd
Make clear that StorePathWithOutputs
is a deprecated type
...
- Add a comment
- Put `OutputsSpec` in a different header (First part of #6815 )
- Make a few stray uses of it in new code use `DerivedPath` instead.
2023-01-10 11:27:19 -05:00
Eelco Dolstra
1c98daf6e8
Merge pull request #7484 from edolstra/fix-7417
...
InstallableFlake::toDerivedPaths(): Support paths and store paths
2023-01-10 15:57:58 +01:00
Eelco Dolstra
cc02e11967
Merge pull request #7547 from alxthm/fish-support-older-versions
...
Fix Nix installation on older versions of fish
2023-01-10 15:24:00 +01:00
Eelco Dolstra
59cc920cc0
Add a FIXME
2023-01-10 15:20:30 +01:00
Eelco Dolstra
7f1af270dd
Clean up toDerivedPaths() logic
2023-01-10 15:08:46 +01:00
Eelco Dolstra
1123c42f90
Apply suggestions from code review
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2023-01-10 14:57:35 +01:00
Eelco Dolstra
b4dc68f0be
Show string in error message
2023-01-10 14:56:03 +01:00
Eelco Dolstra
b80e4b57da
ExtraInfo -> ExtraPathInfo
2023-01-10 14:52:49 +01:00
Eelco Dolstra
8e923bf4c5
Merge remote-tracking branch 'origin/master' into fix-7417
2023-01-10 14:35:06 +01:00
Eelco Dolstra
877e7a5ccf
Merge pull request #7570 from lheckemann/fix-tests
...
tests: fix for nixpkgs 22.11
2023-01-10 13:38:05 +01:00
Jeremy Fleischman
89ef26664d
Add a pointer from "realising" to nix log
. ( #4876 )
2023-01-09 09:49:46 +01:00
Linus Heckemann
c83a8174fd
tests: fix for nixpkgs 22.11
...
runCommand now uses stdenvNoCC by default, so that needs to be
included instead of the regular stdenv.
2023-01-08 14:38:34 +01:00
Théophane Hufschmitt
4e2b155d23
Merge pull request #7568 from willbush/patch-1
...
Fix typo in example for builtin function map
2023-01-07 07:07:53 +01:00
Will Bush
05b13aff3d
Fix typo in example for builtin function map
2023-01-06 23:04:43 -06:00
Eelco Dolstra
3172c51baf
Merge pull request #7498 from fricklerhandwerk/path+string
...
refactor documentation of operators, document `+` for strings and paths
2023-01-06 13:46:31 +01:00
Théophane Hufschmitt
8d88c3b347
Merge pull request #7307 from hercules-ci/derivation-goal-improve-comment
...
libstore/derivation-goal: Elaborate a TODO for performance concern
2023-01-06 13:07:57 +01:00
Eelco Dolstra
420ccecc1e
Merge pull request #7557 from NixOS/fix-7529
...
On macOS with auto-uid-allocation and sandboxing, use the correct gid
2023-01-06 12:35:55 +01:00
Théophane Hufschmitt
1a4a02cff9
Merge pull request #7559 from ncfavier/no-check-modules
...
Don't check NixOS modules
2023-01-05 21:53:46 +01:00
Naïm Favier
f1ee4ece80
Don't check NixOS modules
...
NixOS modules can be paths. Rather than dig further down into the layer
violation, don't check anything specific to NixOS modules.
2023-01-05 18:23:30 +01:00
Eelco Dolstra
d02c5a41da
Merge pull request #7500 from akhildevelops/patch-1
...
Updated docs to delete build users and group
2023-01-05 17:25:06 +01:00
Eelco Dolstra
3a98107170
Merge pull request #7542 from edolstra/gc-deadlock
...
Fix deadlock between auto-GC and addTempRoot()
2023-01-05 17:08:23 +01:00
Eelco Dolstra
0fe2b222d5
Merge pull request #7539 from tweag/fix-nix-why-depends--derivation
...
Fix `nix why-depends --derivation`
2023-01-05 15:32:04 +01:00
Valentin Gagarin
e57165b85a
bring back table, extract annotations
...
this makes the table less unwieldy, and leaves enough space for
extensive explanations.
2023-01-05 15:16:16 +01:00
Valentin Gagarin
7da59e94ae
add links to documentation for data types
2023-01-05 14:15:01 +01:00
Valentin Gagarin
7b2b9e3648
use more self-explanatory placeholder names
2023-01-05 14:15:01 +01:00
Valentin Gagarin
969e5ad5bf
add semantics of overloaded +
operator
2023-01-05 14:15:01 +01:00
Valentin Gagarin
63b640e0c2
reword descriptions of operators
...
add notes on semantics where appropriate
2023-01-05 14:15:01 +01:00
Valentin Gagarin
e07448ba6b
convert table to subsections
...
this form is much easier to maintain (also with minimal diffs), and
allows for more details on each operator.
this change a purely mechanical transformation, without changing any contents.
2023-01-05 14:15:01 +01:00
Valentin Gagarin
caebe4112e
reorder columns
...
this is for a simpler transformation into a series of subsections
2023-01-05 14:15:01 +01:00
Eelco Dolstra
4e84b532ed
On macOS with auto-uid-allocation and sandboxing, use the correct gid
...
macOS doesn't have user namespacing, so the gid of the builder needs
to be nixbld. The logic got "has sandboxing enabled" confused with
"has user namespaces".
Fixes #7529 .
2023-01-05 04:58:55 -08:00