all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Oleg Pykhalov <go.wigust@gmail.com>
To: Zhu Zihao <all_but_last@163.com>
Cc: 51747@debbugs.gnu.org
Subject: [bug#51747] [PATCH]: gnu: nix: Update to 2.4.
Date: Tue, 11 Jan 2022 11:23:03 +0300	[thread overview]
Message-ID: <87y23mheag.fsf_-_@gmail.com> (raw)
In-Reply-To: <86ilw4e6av.fsf@163.com> (Zhu Zihao's message of "Sat, 04 Dec 2021 23:28:20 +0800")


[-- Attachment #1.1: Type: text/plain, Size: 522 bytes --]

Hi, apologies for the slow response.

Zhu Zihao <all_but_last@163.com> writes:

> Ping again.
>
> I know you guys are hard working on core-updates-frozen branch. But I
> can't see a deadline for merging it into master.
>
> Does it really worth abandoning non-trivial patches for master branch? IDK....

I tried to apply patches, but it does not build on the current
origin/master 537f4a1ef1cc385526b0662b2a9a1754319e1020

Updated patches on 537f4a1e and build log attached.

If you know what's the issue, please respond.


[-- Attachment #1.2: 0001-gnu-Add-libcpuid.patch --]
[-- Type: text/x-patch, Size: 1839 bytes --]

From 3ec635be703c947b0b031eb79136037d07eeedd1 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Tue, 11 Jan 2022 10:07:17 +0300
Subject: [PATCH 1/2] gnu: Add libcpuid.

* gnu/packages/hardware.scm (libcpuid): New variable.
---
 gnu/packages/hardware.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 8727f0f20a..a2708e6b90 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -953,3 +954,22 @@ (define-public tpm2-tss
 libtss2-esys, libtss2-sys, libtss2-mu, libtss2-tcti-device, libtss2-tcti-swtpm
 and libtss2-tcti-mssim.")
     (license license:bsd-2)))
+
+(define-public libcpuid
+  (package
+    (name "libcpuid")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/anrieff/libcpuid/releases/download/v"
+                           version "/libcpuid-" version ".tar.gz"))
+       (sha256
+        (base32 "1nksdqk2w1c56lkrjcvh3nss9vq454j81j3yq14lwdn4x8bvmwfr"))))
+    (build-system gnu-build-system)
+    (supported-systems '("x86_64-linux" "i686-linux"))
+    (home-page "https://libcpuid.sourceforge.net/")
+    (synopsis "Small library for x86 CPU detection and feature extraction")
+    (description "Libcpuid is a small C library to get vendor, model, branding
+string, code name and other information from x86 CPU.")
+    (license license:bsd-2)))
-- 
2.34.0


[-- Attachment #1.3: 0002-gnu-nix-Update-to-2.4.patch --]
[-- Type: text/x-patch, Size: 7527 bytes --]

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

diff --git a/gnu/local.mk b/gnu/local.mk
index d5e19adea6..95c0e34e57 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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		\
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 265763cc74..4b41c01dff 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -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
diff --git a/gnu/packages/patches/nix-dont-build-html-doc.patch b/gnu/packages/patches/nix-dont-build-html-doc.patch
new file mode 100644
index 0000000000..79142bc215
--- /dev/null
+++ b/gnu/packages/patches/nix-dont-build-html-doc.patch
@@ -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


[-- Attachment #1.4: y9ipph0dhrbvliwacg8jl01j63c4r2-nix-2.4.drv.bz2 --]
[-- Type: application/octet-stream, Size: 14322 bytes --]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

  reply	other threads:[~2022-01-11  8:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-10 12:35 [bug#51747] [PATCH]: gnu: nix: Update to 2.4 Zhu Zihao
     [not found] ` <handler.51747.B.16365478179399.ack@debbugs.gnu.org>
2021-11-10 13:53   ` [bug#51747] Acknowledgement ([PATCH]: gnu: nix: Update to 2.4. ) Zhu Zihao
2021-11-10 15:47     ` Zhu Zihao
2021-11-17 11:21       ` Zhu Zihao
2021-12-04 15:28         ` Zhu Zihao
2022-01-11  8:23           ` Oleg Pykhalov [this message]
2022-01-11  9:46             ` [bug#51747] [PATCH]: gnu: nix: Update to 2.4 Zhu Zihao
2022-01-11 17:19             ` Zhu Zihao
2022-01-11 19:04               ` Maxime Devos
2022-01-12  4:21                 ` Zhu Zihao
2022-01-12  5:19                   ` Oleg Pykhalov
2022-01-12  7:08                     ` Zhu Zihao
2022-01-12  8:26                   ` Maxime Devos
2022-01-13  4:54                 ` Zhu Zihao
2022-01-13  7:54                   ` Zhu Zihao
2022-01-14 13:06                   ` Maxime Devos
2022-01-14 16:51                     ` Zhu Zihao
2022-01-14 18:39                       ` Maxime Devos
2022-01-15  1:58                         ` Zhu Zihao
2022-01-15  5:47                         ` Zhu Zihao
2022-01-15 10:52                           ` Maxime Devos
2022-01-15 16:06                             ` Zhu Zihao
2022-01-21 14:29                               ` bug#51747: " Oleg Pykhalov
2022-01-23 11:02                             ` [bug#51747] " Maxime Devos
2022-01-11 19:05               ` Maxime Devos
2022-01-14  9:31             ` Zhu Zihao
2022-01-14 12:56               ` Maxime Devos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y23mheag.fsf_-_@gmail.com \
    --to=go.wigust@gmail.com \
    --cc=51747@debbugs.gnu.org \
    --cc=all_but_last@163.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.