summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/nix-dont-build-html-doc.diff
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/nix-dont-build-html-doc.diff')
-rw-r--r--gnu/packages/patches/nix-dont-build-html-doc.diff33
1 files changed, 25 insertions, 8 deletions
diff --git a/gnu/packages/patches/nix-dont-build-html-doc.diff b/gnu/packages/patches/nix-dont-build-html-doc.diff
index 79142bc215..2eb45117b0 100644
--- a/gnu/packages/patches/nix-dont-build-html-doc.diff
+++ b/gnu/packages/patches/nix-dont-build-html-doc.diff
@@ -3,24 +3,41 @@ We can't simply disable it because we need manpages.
Author: Zhu Zihao <all_but_last@163.com>
-diff --git a/doc/manual/local.mk b/doc/manual/local.mk
-index e43d9f2fb..c323d1847 100644
--- a/doc/manual/local.mk
+++ b/doc/manual/local.mk
-@@ -69,8 +69,6 @@ $(d)/builtins.json: $(bindir)/nix
+@@ -138,11 +138,6 @@
$(trace-gen) $(dummy-env) NIX_PATH=nix/corepkgs=corepkgs $(bindir)/nix __dump-builtins > $@.tmp
@mv $@.tmp $@
-# Generate the HTML manual.
+-.PHONY: manual-html
+-manual-html: $(docdir)/manual/index.html
-install: $(docdir)/manual/index.html
-
+-
# Generate 'nix' manpages.
install: $(mandir)/man1/nix3-manpages
-@@ -94,7 +92,5 @@ doc/manual/generated/man1/nix3-manpages: $(d)/src/command-ref/new-cli
+ man: doc/manual/generated/man1/nix3-manpages
+@@ -167,23 +162,4 @@
done
@touch $@
--$(docdir)/manual/index.html: $(MANUAL_SRCS) $(d)/book.toml $(d)/custom.css $(d)/src/SUMMARY.md $(d)/src/command-ref/new-cli $(d)/src/command-ref/conf-file.md $(d)/src/expressions/builtins.md $(call rwildcard, $(d)/src, *.md)
-- $(trace-gen) RUST_LOG=warn mdbook build doc/manual -d $(DESTDIR)$(docdir)/manual
-
+-$(docdir)/manual/index.html: $(MANUAL_SRCS) $(d)/book.toml $(d)/anchors.jq $(d)/custom.css $(d)/src/SUMMARY.md $(d)/src/command-ref/new-cli $(d)/src/contributing/experimental-feature-descriptions.md $(d)/src/command-ref/conf-file.md $(d)/src/language/builtins.md
+- $(trace-gen) \
+- tmp="$$(mktemp -d)"; \
+- cp -r doc/manual "$$tmp"; \
+- find "$$tmp" -name '*.md' | while read -r file; do \
+- $(call process-includes,$$file,$$file); \
+- done; \
+- find "$$tmp" -name '*.md' | while read -r file; do \
+- docroot="$$(realpath --relative-to="$$(dirname "$$file")" $$tmp/manual/src)"; \
+- sed -i "s,@docroot@,$$docroot,g" "$$file"; \
+- done; \
+- set -euo pipefail; \
+- RUST_LOG=warn mdbook build "$$tmp/manual" -d $(DESTDIR)$(docdir)/manual.tmp 2>&1 \
+- | { grep -Fv "because fragment resolution isn't implemented" || :; }; \
+- rm -rf "$$tmp/manual"
+- @rm -rf $(DESTDIR)$(docdir)/manual
+- @mv $(DESTDIR)$(docdir)/manual.tmp/html $(DESTDIR)$(docdir)/manual
+- @rm -rf $(DESTDIR)$(docdir)/manual.tmp
+-
endif