Skip to content

Commit 8f7ac96

Browse files
committed
Merge remote-tracking branch 'origin/2.29-maintenance' into sync-2.29
2 parents 136cc10 + 1c618a9 commit 8f7ac96

File tree

5 files changed

+10
-6
lines changed

5 files changed

+10
-6
lines changed

doc/manual/source/development/contributing.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ prs: 1238
2020
Here's one or more paragraphs that describe the change.
2121
2222
- It's markdown
23-
- Add references to the manual using @docroot@
23+
- Add references to the manual using [links like this](@_at_docroot@/example.md)
2424
```
25+
<!-- for the raw markdown readers: that means using @docroot@ -->
2526

2627
Significant changes should add the following header, which moves them to the top.
2728

doc/manual/source/language/advanced-attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Derivations can declare some infrequently used optional attributes.
7373
7474
> **Warning**
7575
>
76-
> If set to `true`, other advanced attributes such as [`allowedReferences`](#adv-attr-allowedReferences), [`allowedReferences`](#adv-attr-allowedReferences), [`allowedRequisites`](#adv-attr-allowedRequisites),
76+
> If set to `true`, other advanced attributes such as [`allowedReferences`](#adv-attr-allowedReferences), [`allowedRequisites`](#adv-attr-allowedRequisites),
7777
[`disallowedReferences`](#adv-attr-disallowedReferences) and [`disallowedRequisites`](#adv-attr-disallowedRequisites), maxSize, and maxClosureSize.
7878
will have no effect.
7979

doc/manual/source/store/derivation/outputs/content-address.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The output spec for an output with a fixed content addresses additionally contai
2323
> **Design note**
2424
>
2525
> In principle, the output spec could also specify the references the store object should have, since the references and file system objects are equally parts of a content-addressed store object proper that contribute to its content-addressed.
26-
> However, at this time, the references are not not done because all fixed content-addressed outputs are required to have no references (including no self-reference).
26+
> However, at this time, the references are not done because all fixed content-addressed outputs are required to have no references (including no self-reference).
2727
>
2828
> Also in principle, rather than specifying the references and file system object data with separate hashes, a single hash that constraints both could be used.
2929
> This could be done with the final store path's digest, or better yet, the hash that will become the store path's digest before it is truncated.
@@ -116,7 +116,7 @@ Because the derivation output is not fixed (just like with [input addressing]),
116116
> (The "environment", in this case, consists of attributes such as the Operating System Nix runs atop, along with the operating-system-specific privileges that Nix has been granted.
117117
> Because of how conventional operating systems like macos, Linux, etc. work, granting builders *fewer* privileges may ironically require that Nix be run with *more* privileges.)
118118
119-
That said, derivations producing floating content-addressed outputs may declare their builders as impure (like the builders of derivations producing producing fixed outputs).
119+
That said, derivations producing floating content-addressed outputs may declare their builders as impure (like the builders of derivations producing fixed outputs).
120120
This is provisionally supported as part of the [`impure-derivations`][xp-feature-impure-derivations] experimental feature.
121121
122122
### Compatibility negotiation
@@ -144,7 +144,7 @@ A *deterministic* content-addressing derivation should produce outputs with the
144144
The choice of provisional store path can be thought of as an impurity, since it is an arbitrary choice.
145145
146146
If provisional outputs paths are deterministically chosen, we are in the first branch of part (1).
147-
The builder the data it produces based on it in arbitrary ways, but this gets us closer to to [input addressing].
147+
The builder the data it produces based on it in arbitrary ways, but this gets us closer to [input addressing].
148148
Deterministically choosing the provisional path may be considered "complete sandboxing" by removing an impurity, but this is unsatisfactory
149149
150150
<!--

doc/manual/source/store/derivation/outputs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ The rules for this are fairly concise:
8383

8484
- A content-addressing derivation may be pure or impure
8585

86-
- If it is impure, it may be be fixed (typical), or it may be floating if the additional [`impure-derivations`][xp-feature-impure-derivations] experimental feature is enabled.
86+
- If it is impure, it may be fixed (typical), or it may be floating if the additional [`impure-derivations`][xp-feature-impure-derivations] experimental feature is enabled.
8787

8888
- If it is pure, it must be floating.
8989

doc/manual/substitute.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ def recursive_replace(data: dict[str, t.Any], book_root: Path, search_path: Path
5757
).replace(
5858
'@docroot@',
5959
("../" * len(path_to_chapter.parent.parts) or "./")[:-1]
60+
).replace(
61+
'@_at_',
62+
'@'
6063
),
6164
sub_items = [
6265
recursive_replace(sub_item, book_root, search_path)

0 commit comments

Comments
 (0)