Clarify that not all nix packages will use the default build phases
This commit is contained in:
parent
4cff413054
commit
ffeec5f283
|
@ -110,18 +110,18 @@ shell in which to build it:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ nix-shell '<nixpkgs>' -A pan
|
$ nix-shell '<nixpkgs>' -A pan
|
||||||
[nix-shell]$ unpackPhase
|
[nix-shell]$ eval ${unpackPhase:-unpackPhase}
|
||||||
[nix-shell]$ cd pan-*
|
[nix-shell]$ cd pan-*
|
||||||
[nix-shell]$ configurePhase
|
[nix-shell]$ eval ${configurePhase:-configurePhase}
|
||||||
[nix-shell]$ buildPhase
|
[nix-shell]$ eval ${buildPhase:-buildPhase}
|
||||||
[nix-shell]$ ./pan/gui/pan
|
[nix-shell]$ ./pan/gui/pan
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: Other packages may override these phases (the unpackPhase,
|
The reason we use form `eval ${configurePhase:-configurePhase}` here is because
|
||||||
configurePhase, buildPhase, etc).
|
those packages that override these phases do so by exporting the overridden
|
||||||
For those, it may be required to do something like
|
values in the environment variable of the same name.
|
||||||
`eval "$configurePhase-configurePhase"` or `eval "$configurePhase"`
|
Here bash is being told to either evaluate the contents of 'configurePhase',
|
||||||
depending on how that package's nix files have been written.
|
if it exists as a variable, otherwise evaluate the configurePhase function.
|
||||||
|
|
||||||
To clear the environment first, and do some additional automatic
|
To clear the environment first, and do some additional automatic
|
||||||
initialisation of the interactive shell:
|
initialisation of the interactive shell:
|
||||||
|
|
Loading…
Reference in a new issue