thats a bit better

This commit is contained in:
Jade Lovelace 2022-06-15 22:29:49 -07:00
parent b15bbf44ad
commit 8bae11dc52

View file

@ -83,9 +83,21 @@ if [ -z "${phases:-}" ]; then
fi fi
``` ```
So if you have already manually run `unpackPhase`, `patchPhase`, and all the A manual build of a package might look like this:
`prePhases` if any, a build command to make a build to look at would be
something like the following: First, open a nix-shell with the derivation of the package in question. For
instance, `nix-shell '<nixpkgs>' -A hello`.
Then do:
```sh
phases="${prePhases:-} unpackPhase patchPhase" genericBuild
```
which will dump you into a shell in the sources directory for the package.
Once you've done the stuff you'll run once, you can run the build as many times
as you'd like:
```sh ```sh
out=$(pwd)/out phases="${preConfigurePhases:-} configurePhase ${preBuildPhases:-} buildPhase" genericBuild out=$(pwd)/out phases="${preConfigurePhases:-} configurePhase ${preBuildPhases:-} buildPhase" genericBuild
@ -96,9 +108,4 @@ nix store, which usually breaks builds since is not available for writing if
you are not the actual sandboxed nix builder. If there are other outputs such you are not the actual sandboxed nix builder. If there are other outputs such
as `doc`, these also need to be specified here. as `doc`, these also need to be specified here.
The one part of `genericBuild` that I usually do run manually is `unpackPhase`,
which notably changes the directory into the source directory of the app. This
is useful to run manually because when debugging, it is often the case that a
build needs to be run several times through, and it's useful to let it fail in
the middle when you can restart it yourself just on the broken piece.