From 5d33e4cd59093b29446d63ac70cf95cc9a25d81b Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 24 Jun 2024 12:55:00 +0800 Subject: [PATCH] Fix build instructions in hacking.md and justfile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- doc/manual/src/contributing/hacking.md | 20 ++++++++++---------- justfile | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/manual/src/contributing/hacking.md b/doc/manual/src/contributing/hacking.md index 781aa75c1..cd4f6d5d5 100644 --- a/doc/manual/src/contributing/hacking.md +++ b/doc/manual/src/contributing/hacking.md @@ -39,17 +39,19 @@ $ nix-shell -A native-clangStdenvPackages ### 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 -$ configurePhase -$ buildPhase -$ checkPhase -$ installPhase -$ installCheckPhase +$ just setup +$ just build +$ just test --suite=check +$ just install +$ 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 $ meson setup ./build "--prefix=$out" $mesonFlags @@ -64,9 +66,7 @@ $ meson install -C build $ 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.) - -This will install Lix to `$PWD/outputs`, the `/bin` of which is prepended to PATH in the development shells. +In both cases, Lix will be installed 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`. diff --git a/justfile b/justfile index dfa58bdf2..d63c54990 100644 --- a/justfile +++ b/justfile @@ -10,7 +10,7 @@ clean: # Prepare meson for building setup: - meson setup build --prefix="$PWD/outputs/out" + meson setup build --prefix="$PWD/outputs/out" $mesonFlags # Build lix build *OPTIONS: