-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Pull out JSON format for derivations
- Loading branch information
1 parent
99abf36
commit 2ff299d
Showing
5 changed files
with
77 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
The JSON serialization of a | ||
[store derivation](@docroot@/glossary.md#gloss-store-derivation) | ||
is a JSON object whose keys are the store paths of the derivations, and whose values are a JSON object with the following fields: | ||
|
||
* `name`: | ||
The name of the derivation. | ||
This is used when calculating the store paths of the derivation's outputs. | ||
|
||
* `outputs`: | ||
Information about the output paths of the derivation. | ||
This is a JSON object with one member per output, where the key is the output name and the value is a JSON object with these fields: | ||
|
||
* `path`: The output path. | ||
|
||
* `hashAlgo`: | ||
For fixed-output derivations, the hashing algorithm (e.g. `sha256`), optionally prefixed by `r:` if `hash` denotes a NAR hash rather than a flat file hash. | ||
|
||
* `hash`: | ||
For fixed-output derivations, the expected content hash in base-16. | ||
|
||
Example: | ||
|
||
```json | ||
"outputs": { | ||
"out": { | ||
"path": "/nix/store/2543j7c6jn75blc3drf4g5vhb1rhdq29-source", | ||
"hashAlgo": "r:sha256", | ||
"hash": "6fc80dcc62179dbc12fc0b5881275898f93444833d21b89dfe5f7fbcbb1d0d62" | ||
} | ||
} | ||
``` | ||
|
||
* `inputSrcs`: | ||
A list of store paths on which this derivation depends. | ||
|
||
* `inputDrvs`: | ||
A JSON object specifying the derivations on which this derivation depends, and what outputs of those derivations. | ||
For example, | ||
|
||
```json | ||
"inputDrvs": { | ||
"/nix/store/6lkh5yi7nlb7l6dr8fljlli5zfd9hq58-curl-7.73.0.drv": ["dev"], | ||
"/nix/store/fn3kgnfzl5dzym26j8g907gq3kbm8bfh-unzip-6.0.drv": ["out"] | ||
} | ||
``` | ||
|
||
specifies that this derivation depends on the `dev` output of `curl`, and the `out` output of `unzip`. | ||
|
||
* `system`: | ||
The system type on which this derivation is to be built | ||
(e.g. `x86_64-linux`). | ||
|
||
* `builder`: | ||
The absolute path of the program to be executed to run the build. | ||
Typically this is the `bash` shell | ||
(e.g. `/nix/store/r3j288vpmczbl500w6zz89gyfa4nr0b1-bash-4.4-p23/bin/bash`). | ||
|
||
* `args`: | ||
The command-line arguments passed to the `builder`. | ||
|
||
* `env`: | ||
The environment passed to the `builder`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters