Fix build instructions in hacking.md and justfile

The stdenv phases don’t actually do anything (at least not anymore),
and our justfile doesn’t behave the same as our docs.

This patch removes the stdenv phases from the docs, documents our
usage of just, and makes `just setup` heed `$mesonFlags`.

Fixes #413.
Fixes #414.

Change-Id: Ieb0b2a8ae420526238b5f9a73d7849ec6919995d
This commit is contained in:
Delan Azabani 2024-06-24 12:55:00 +08:00
parent 21865ccce0
commit 5d33e4cd59
2 changed files with 11 additions and 11 deletions

View file

@ -39,17 +39,19 @@ $ nix-shell -A native-clangStdenvPackages
### Building from the development shell ### Building from the development shell
As always you may run [stdenv's phases by name](https://nixos.org/manual/nixpkgs/unstable/#sec-building-stdenv-package-in-nix-shell), e.g.: You can build and test Lix with just:
```bash ```bash
$ configurePhase $ just setup
$ buildPhase $ just build
$ checkPhase $ just test --suite=check
$ installPhase $ just install
$ installCheckPhase $ just test --suite=installcheck
``` ```
To build manually, however, use the following: (Check and installcheck may both be done after install, allowing you to omit the --suite argument entirely, but this is the order package.nix runs them in.)
You can also build Lix manually:
```bash ```bash
$ meson setup ./build "--prefix=$out" $mesonFlags $ meson setup ./build "--prefix=$out" $mesonFlags
@ -64,9 +66,7 @@ $ meson install -C build
$ meson test -C build --suite=installcheck $ meson test -C build --suite=installcheck
``` ```
(Check and installcheck may both be done after install, allowing you to omit the --suite argument entirely, but this is the order package.nix runs them in.) In both cases, Lix will be installed to `$PWD/outputs`, the `/bin` of which is prepended to PATH in the development shells.
This will install Lix to `$PWD/outputs`, the `/bin` of which is prepended to PATH in the development shells.
If the tests fail and Meson helpfully has no output for why, use the `--print-error-logs` option to `meson test`. If the tests fail and Meson helpfully has no output for why, use the `--print-error-logs` option to `meson test`.

View file

@ -10,7 +10,7 @@ clean:
# Prepare meson for building # Prepare meson for building
setup: setup:
meson setup build --prefix="$PWD/outputs/out" meson setup build --prefix="$PWD/outputs/out" $mesonFlags
# Build lix # Build lix
build *OPTIONS: build *OPTIONS: