about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2023-05-04 05:51:57 +0100
committerGitHub <noreply@github.com>2023-05-04 05:51:57 +0100
commit58f8ca5fd49639f073d8fd3fc64e519eb64657dc (patch)
tree9778486a8f713077ec16c41a7ad642cc5322fb10
parentff7edb3c7f07db8d348450e78127a23884970e2a (diff)
parent816aa8db8158b246b94d9476794d9d8b91a400bd (diff)
Merge pull request #229591 from KAction/contrib/0/just-doc/out
just: build offline documentation
-rw-r--r--pkgs/development/tools/just/default.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index fd97cc2634fd3..ec21765e3a3e0 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -6,11 +6,13 @@
 , bash
 , installShellFiles
 , libiconv
+, mdbook
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
   version = "1.13.0";
+  outputs = [ "out" "man" "doc" ];
 
   src = fetchFromGitHub {
     owner = "casey";
@@ -21,7 +23,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-91C/5m2avsW7GKQDg/Ez9fzzFhe8ih1De1RbV/MBJbM=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles mdbook ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   preCheck = ''
@@ -42,6 +44,15 @@ rustPlatform.buildRustPackage rec {
     cp $TMPDIR/string.rs tests/string.rs
   '';
 
+  postBuild = ''
+    cargo run --package generate-book
+
+    # No linkcheck in sandbox
+    echo 'optional = true' >> book/en/book.toml
+    mdbook build book/en
+    find .
+  '';
+
   checkFlags = [
     "--skip=edit" # trying to run "vim" fails as there's no /usr/bin/env or which in the sandbox to find vim and the dependency is not easily patched
     "--skip=run_shebang" # test case very rarely fails with "Text file busy"
@@ -49,6 +60,8 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postInstall = ''
+    mkdir -p $doc/share/doc/$name
+    mv ./book/en/build/html $doc/share/doc/$name
     installManPage man/just.1
 
     installShellCompletion --cmd just \