diff options
-rw-r--r-- | gnu/packages/package-management.scm | 25 | ||||
-rw-r--r-- | gnu/packages/patches/nix-dont-build-html-doc.diff | 33 |
2 files changed, 45 insertions, 13 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index e3dba508f0..1bf3859a09 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -20,7 +20,7 @@ ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> -;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2022, 2023 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +56,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cmake) #:use-module (gnu packages cpio) + #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) @@ -731,7 +732,7 @@ high-performance computing} clusters.") (define-public nix (package (name "nix") - (version "2.5.1") + (version "2.16.0") (source (origin (method git-fetch) @@ -740,7 +741,7 @@ high-performance computing} clusters.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1m8rmv8i6lg83pmalvjlq1fn8mcghn3ngjv3kw1kqsa45ymj5sqq")) + (base32 "0jizpci4zspqpqqy3n780m4wh8dzhfywaiz953xv70c7in810dra")) (patches (search-patches "nix-dont-build-html-doc.diff")))) (build-system gnu-build-system) @@ -757,7 +758,19 @@ high-performance computing} clusters.") (apply invoke "make" "install" (string-append "sysconfdir=" etc) (string-append "profiledir=" etc "/profile.d") - make-flags))))))) + make-flags)))) + (replace 'check + (lambda args + ;; Some test expect environment variable NIX_STORE to be + ;; "/nix/store" + (let ((original-NIX_STORE (getenv "NIX_STORE"))) + (dynamic-wind + (lambda () + (setenv "NIX_STORE" "/nix/store")) + (lambda () + (apply (assoc-ref %standard-phases 'check) args)) + (lambda () + (setenv "NIX_STORE" original-NIX_STORE))))))))) (native-inputs (list autoconf autoconf-archive @@ -767,7 +780,8 @@ high-performance computing} clusters.") googletest jq libtool - pkg-config)) + pkg-config + rapidcheck)) (inputs (append (list boost brotli @@ -779,6 +793,7 @@ high-performance computing} clusters.") libseccomp libsodium lowdown + nlohmann-json openssl sqlite xz 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 |