From 00cc1e637a8b3a5a4b508673733c94b9f2bdcb40 Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov <go.wigust@gmail.com>
Date: Tue, 11 Jan 2022 10:25:09 +0300
Subject: [PATCH 2/2] gnu: nix: Update to 2.4.
* gnu/packages/package-management.scm (nix): Update to 2.4.
[source]: Switch to Github repository since upstream no longer provides
tarball.
[native-inputs]: Add autoconf, autoconf-archive, automake, bison, flex, gcc,
googletest, jq, libtool.
[inputs]: Add libarchive, libcpuid, lowdown, zlib.
* gnu/packages/patches/nix-dont-build-html-doc.patch: New file.
* gnu/local.mk(dist_patch_DATA): Add corresponding entry.
---
gnu/local.mk | 2 +
gnu/packages/package-management.scm | 66 +++++++++++++------
.../patches/nix-dont-build-html-doc.patch | 26 ++++++++
3 files changed, 74 insertions(+), 20 deletions(-)
create mode 100644 gnu/packages/patches/nix-dont-build-html-doc.patch
@@ -47,6 +47,7 @@
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
# Copyright © 2021 Andrew Tropin <andrew@trop.in>
# Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+# Copyright © 2022 Zhu Zihao <all_but_last@163.com>
#
# This file is part of GNU Guix.
#
@@ -1511,6 +1512,7 @@ dist_patch_DATA = \
%D%/packages/patches/nettle-3.5-check-_pkcs1_sec_decrypt-msg-len.patch \
%D%/packages/patches/nettle-3.5-CVE-2021-3580-pt1.patch \
%D%/packages/patches/nettle-3.5-CVE-2021-3580-pt2.patch \
+ %D%/packages/patches/nix-dont-build-html-doc.patch \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/ngless-unliftio.patch \
@@ -20,6 +20,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,6 +63,8 @@ (define-module (gnu packages package-management)
#:use-module (gnu packages dbm)
#:use-module (gnu packages docbook)
#:use-module (gnu packages file)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -70,6 +73,7 @@ (define-module (gnu packages package-management)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages hardware)
#:use-module (gnu packages hurd)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages less)
@@ -77,6 +81,7 @@ (define-module (gnu packages package-management)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages man)
+ #:use-module (gnu packages markup)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
@@ -657,14 +662,18 @@ (define-public guix-icons
(define-public nix
(package
(name "nix")
- (version "2.3.16")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://releases.nixos.org/nix/nix-"
- version "/nix-" version ".tar.xz"))
- (sha256
- (base32
- "1g5aqavr6i3c1xln53w1pdh1kvlxrpnknb105m4jbd85kyv83rky"))))
+ (version "2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://github.com/NixOS/nix")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1abgfw5ndqklm0x533li32l4azifz3f6lhaxm6s74b704043r7m2"))
+ (patches
+ (search-patches "nix-dont-build-html-doc.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--sysconfdir=/etc" "--enable-gc")
@@ -680,18 +689,35 @@ (define-public nix
(string-append "sysconfdir=" etc)
(string-append "profiledir=" etc "/profile.d")
make-flags)))))))
- (native-inputs (list pkg-config))
- (inputs (list boost
- brotli
- bzip2
- curl
- editline
- libgc
- libseccomp
- libsodium
- openssl
- sqlite
- xz))
+ (native-inputs (list autoconf
+ autoconf-archive
+ automake
+ bison
+ flex
+ gcc-9 ;non-trivial designated initializers
+ googletest
+ jq
+ libtool
+ pkg-config))
+ (inputs (append
+ (list boost
+ brotli
+ bzip2
+ curl
+ editline
+ libarchive
+ libgc
+ libseccomp
+ libsodium
+ lowdown
+ openssl
+ sqlite
+ xz
+ zlib)
+ (if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ (list libcpuid)
+ '())))
(home-page "https://nixos.org/nix/")
(synopsis "The Nix package manager")
(description
new file mode 100644
@@ -0,0 +1,26 @@
+"--enable-doc-gen" configure flag will enable HTML document generation that requires mdbook.
+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
+ $(trace-gen) $(dummy-env) NIX_PATH=nix/corepkgs=corepkgs $(bindir)/nix __dump-builtins > $@.tmp
+ @mv $@.tmp $@
+
+-# Generate the HTML manual.
+-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
+ 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
+
+ endif
--
2.34.0