all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#53414] [PATCH] update Node LTS to 16.13.2
@ 2022-01-21 15:11 zamfofex
  2022-02-23 13:13 ` code
  2022-02-25 13:09 ` Attila Lendvai
  0 siblings, 2 replies; 18+ messages in thread
From: zamfofex @ 2022-01-21 15:11 UTC (permalink / raw)
  To: 53414

[-- Attachment #1: Type: text/plain, Size: 252 bytes --]

Hello, everyone! In case this might be useful, I spent some time updating the Node LTS package to version 16.13.2, which is currently the latest LTS.

I hope this patch is sensible! Please let me know if there is anything I should work on regarding it.

[-- Attachment #2: 0001-gnu-node-lts-Update-to-16.13.2.patch --]
[-- Type: text/x-patch, Size: 5771 bytes --]

From 63d2976a063da9c710ec09f7ebf7158777c134d6 Mon Sep 17 00:00:00 2001
From: zamfofex <zamfofex@twdb.moe>
Date: Fri, 21 Jan 2022 12:06:08 -0300
Subject: [PATCH] gnu: node-lts: Update to 16.13.2 * gnu/packages/node.scm
 (node-lts): Update to 16.13.2.

---
 gnu/packages/node.scm | 42 ++++++++++++++++++++----------------------
 1 file changed, 20 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 6b543ac..941174e 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -570,7 +571,7 @@ (define-public node-llparse-bootstrap
 (define-public llhttp-bootstrap
   (package
     (name "llhttp")
-    (version "2.1.4")
+    (version "6.0.6")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -579,8 +580,7 @@ (define-public llhttp-bootstrap
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "115mwyds9655p76lhglxg2blc1ksgrix6zhigaxnc2q6syy3pa6x"))
-              (patches (search-patches "llhttp-bootstrap-CVE-2020-8287.patch"))
+                "1c1p39m46frpslm5yx13hj58r7s0cila03yvqp6caip5dbizpfmr"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -618,10 +618,13 @@ (define-public llhttp-bootstrap
          (add-after 'install 'install-src
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (src-dir (string-append out "/src")))
-               (install-file "build/c/llhttp.c" src-dir)
-               (install-file "src/native/api.c" src-dir)
-               (install-file "src/native/http.c" src-dir)
+                    (src-dir (string-append out "/src"))
+                    (src-src-dir (string-append src-dir "/src")))
+               (install-file "src/llhttp.gyp" src-dir)
+               (install-file "src/common.gypi" src-dir)
+               (install-file "build/c/llhttp.c" src-src-dir)
+               (install-file "src/native/http.c" src-src-dir)
+               (install-file "src/native/api.c" src-src-dir)
                #t))))))
     (native-inputs
      `(("esbuild" ,esbuild)
@@ -640,14 +643,14 @@ (define-public llhttp-bootstrap
 (define-public node-lts
   (package
     (inherit node)
-    (version "14.18.1")
+    (version "16.13.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nodejs.org/dist/v" version
                                   "/node-v" version ".tar.xz"))
               (sha256
                (base32
-                "1vc9rypkgr5i5y946jnyr9jjpydxvm74p1s17rg2zayzvlddg89z"))
+                "185lm13q0kwz0qimc38c7mxn8ml6m713pjdjsa9jna9az4gxxccq"))
               (modules '((guix build utils)))
               (snippet
                `(begin
@@ -751,6 +754,7 @@ (define-public node-lts
                               "lib/internal/v8_prof_polyfill.js"
                               "test/parallel/test-child-process-spawnsync-shell.js"
                               "test/parallel/test-fs-write-sigxfsz.js"
+                              "test/parallel/test-stdin-from-file-spawn.js"
                               "test/parallel/test-stdio-closed.js"
                               "test/sequential/test-child-process-emfile.js")
                  (("'/bin/sh'")
@@ -767,8 +771,8 @@ (define-public node-lts
                ;; FIXME: These tests fail in the build container, but they don't
                ;; seem to be indicative of real problems in practice.
                (for-each delete-file
-                         '("test/parallel/test-cluster-master-error.js"
-                           "test/parallel/test-cluster-master-kill.js"))
+                         '("test/parallel/test-cluster-primary-error.js"
+                           "test/parallel/test-cluster-primary-kill.js"))
 
                ;; These require a DNS resolver.
                (for-each delete-file
@@ -805,20 +809,14 @@ (define-public node-lts
                            "test/parallel/test-tls-server-verify.js"))
 
                ;; Replace pre-generated llhttp sources
-               (let ((llhttp (assoc-ref inputs "llhttp")))
-                 (copy-file (string-append llhttp "/src/llhttp.c")
-                            "deps/llhttp/src/llhttp.c")
-                 (copy-file (string-append llhttp "/src/api.c")
-                            "deps/llhttp/src/api.c")
-                 (copy-file (string-append llhttp "/src/http.c")
-                            "deps/llhttp/src/http.c")
-                 (copy-file (string-append llhttp "/include/llhttp.h")
-                            "deps/llhttp/include/llhttp.h"))))))))
+               (delete-file-recursively "deps/llhttp")
+               (copy-recursively (string-append (assoc-ref inputs "llhttp") "/src")
+                                 "deps/llhttp")))))))
     (native-inputs
      (list ;; Runtime dependencies for binaries used as a bootstrap.
            c-ares-for-node
            brotli
-           icu4c-67
+           icu4c
            libuv-for-node
            `(,nghttp2 "lib")
            openssl
@@ -833,7 +831,7 @@ (define-public node-lts
      (list bash
            coreutils
            c-ares-for-node
-           icu4c-67
+           icu4c
            libuv-for-node
            llhttp-bootstrap
            brotli

base-commit: 80194d9e47f9f50602a5a97ecd33fb9a95dfe03d
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-01-21 15:11 [bug#53414] [PATCH] update Node LTS to 16.13.2 zamfofex
@ 2022-02-23 13:13 ` code
  2022-02-25 11:07   ` Maxime Devos
  2022-02-25 13:09 ` Attila Lendvai
  1 sibling, 1 reply; 18+ messages in thread
From: code @ 2022-02-23 13:13 UTC (permalink / raw)
  To: 53414

This works for me, though i'd prefer it wouldn't replace the previous LTS version as it hasn't reached end of life https://nodejs.org/en/about/releases/




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-23 13:13 ` code
@ 2022-02-25 11:07   ` Maxime Devos
  2022-02-25 11:24     ` code
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Devos @ 2022-02-25 11:07 UTC (permalink / raw)
  To: code@ceephax.com, 53414

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

code@ceephax.com schreef op wo 23-02-2022 om 13:13 [+0000]:
> This works for me, though i'd prefer it wouldn't replace the previous LTS version
> as it hasn't reached end of life https://nodejs.org/en/about/releases/

It will be end-of-life in two months.  More generally, I don't see the
appeal of packaging old versions, especially old versions that will
soon be unsupported, when there are newer versions (16.X.Y) that will
be supported for a relatively long time (two years).

Also, a question for zamfofex: do the existing node packages still
build, or are there (new) build failures after the patch?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-25 11:07   ` Maxime Devos
@ 2022-02-25 11:24     ` code
  2022-02-25 12:38       ` Maxime Devos
  0 siblings, 1 reply; 18+ messages in thread
From: code @ 2022-02-25 11:24 UTC (permalink / raw)
  To: Maxime Devos, 53414

On Fri, 25 Feb 2022, at 11:07, Maxime Devos wrote:
> code@ceephax.com schreef op wo 23-02-2022 om 13:13 [+0000]:
>> This works for me, though i'd prefer it wouldn't replace the previous LTS version
>> as it hasn't reached end of life https://nodejs.org/en/about/releases/
>
> It will be end-of-life in two months.  More generally, I don't see the
End of life is 	2023-04-30
> appeal of packaging old versions, especially old versions that will
> soon be unsupported, when there are newer versions (16.X.Y) that will
> be supported for a relatively long time (two years).
>
> Also, a question for zamfofex: do the existing node packages still
> build, or are there (new) build failures after the patch?
>
> Greetings,
> Maxime.
>
> Attachments:
> * signature.asc




^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-25 11:24     ` code
@ 2022-02-25 12:38       ` Maxime Devos
  0 siblings, 0 replies; 18+ messages in thread
From: Maxime Devos @ 2022-02-25 12:38 UTC (permalink / raw)
  To: code@ceephax.com, 53414

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

code@ceephax.com schreef op vr 25-02-2022 om 11:24 [+0000]:
> It will be end-of-life in two months.  More generally, I don't see
> the
End of life is 	2023-04-30

I looked at the wrong version (v12 instead of v14), it's a year and two
months instead of two months.  Still, the latest LTS (v16) seems better
to me since it is newer and will be supported for longer.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-01-21 15:11 [bug#53414] [PATCH] update Node LTS to 16.13.2 zamfofex
  2022-02-23 13:13 ` code
@ 2022-02-25 13:09 ` Attila Lendvai
  2022-02-25 15:59   ` Maxime Devos
  1 sibling, 1 reply; 18+ messages in thread
From: Attila Lendvai @ 2022-02-25 13:09 UTC (permalink / raw)
  To: 53414@debbugs.gnu.org

> Still, the latest LTS (v16) seems better to me since it is newer and will be
> supported for longer.

with packages like nodejs one often needs both older and newer versions in
parallel to also be able to build projects that haven't been ported to the new
nodejs.

note that this supersedes https://issues.guix.gnu.org/48396 (i don't know what
is the right way to record that fact in debbugs, besides this note).

--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Everything is interesting if you go into it *deeply* enough.”
	— Richard Feynman (1918–1988)





^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-25 13:09 ` Attila Lendvai
@ 2022-02-25 15:59   ` Maxime Devos
  2022-02-25 16:31     ` Pierre Langlois
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Devos @ 2022-02-25 15:59 UTC (permalink / raw)
  To: Attila Lendvai, 53414@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 1242 bytes --]

Attila Lendvai schreef op vr 25-02-2022 om 13:09 [+0000]:
> > Still, the latest LTS (v16) seems better to me since it is newer
> > and will be
> > supported for longer.
> 
> with packages like nodejs one often needs both older and newer
> versions in
> parallel to also be able to build projects that haven't been ported
> to the new
> nodejs.

Ignoring bootstrapping, this does not seem to be the case so far in
Guix -- the only results of "git grep -F \#\:node gnu" is

# 7 lines
gnu/packages/node.scm:     `(#:node ,node-bootstrap

so it seems that, except for bootstrapping, a single version of 'node'
suffices.

If it turns out that some packages still require v14, then we can
discuss that upstream, patch the package and/or introduce a 'node-14'
package variant, like we do with, say, autoconf, bcftools and gcc.

Actually 'gcc' does not point to the latest version, but to the
slightly older 10.3.0, but that's only due to core-updates concerns
and perhaps because upstream does -Werror too often.  And 'autoconf'
is not autoconf-2.71 because ‘this is the renaissance version, which is
not widelt supported yet’.  But AFAICT, there are no compatibility
concerns with v14->v16.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-25 15:59   ` Maxime Devos
@ 2022-02-25 16:31     ` Pierre Langlois
  2022-02-25 17:22       ` Maxime Devos
  0 siblings, 1 reply; 18+ messages in thread
From: Pierre Langlois @ 2022-02-25 16:31 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 53414, attila

[-- Attachment #1: Type: text/plain, Size: 1741 bytes --]

Hi all,

Maxime Devos <maximedevos@telenet.be> writes:

> [[PGP Signed Part:Undecided]]
> Attila Lendvai schreef op vr 25-02-2022 om 13:09 [+0000]:
>> > Still, the latest LTS (v16) seems better to me since it is newer
>> > and will be
>> > supported for longer.
>> 
>> with packages like nodejs one often needs both older and newer
>> versions in
>> parallel to also be able to build projects that haven't been ported
>> to the new
>> nodejs.
>
> Ignoring bootstrapping, this does not seem to be the case so far in
> Guix -- the only results of "git grep -F \#\:node gnu" is
>
> # 7 lines
> gnu/packages/node.scm:     `(#:node ,node-bootstrap
>
> so it seems that, except for bootstrapping, a single version of 'node'
> suffices.

If I may shime in, I agree that it's best to have fewer versions of node
for Guix's own node packages, however for end-users I think it's a good
idea to provide multiple versions they can install.

I am not a web developper so if anybody knows better please correct me
:-), but I think it's common for a website projects to depend on a
specific supported LTS version of node.  For example, one time I
contributed to a project that recommended using a "node version manager"
script, https://github.com/nvm-sh/nvm, to easily switch between node
versions for different project.  This script seems pretty popular, but
it downloads official binaries :-/, Guix provides much better tools to
do this by default.

So I'm thinking it might make Guix more appealing to web developpers if
we provided multiple versions of node, only the LTS releases though I'd
say. For nodejs applications packaged in Guix though, I agree we don't
want multiple versions.

Thanks,
Pierre



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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-25 16:31     ` Pierre Langlois
@ 2022-02-25 17:22       ` Maxime Devos
  2022-05-02  6:10         ` Ryan Sundberg via Guix-patches via
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Devos @ 2022-02-25 17:22 UTC (permalink / raw)
  To: Pierre Langlois; +Cc: 53414, attila

[-- Attachment #1: Type: text/plain, Size: 1072 bytes --]

Pierre Langlois schreef op vr 25-02-2022 om 16:31 [+0000]:
> If I may shime in, I agree that it's best to have fewer versions of
> node
> for Guix's own node packages, however for end-users I think it's a
> good
> idea to provide multiple versions they can install.

I'm not opposed to including multiple LTS versions, as long as they
are supported upstream, there actual users of the old LTS versions
and there is some reason to use older versions (perhaps there are
a few incompatibilities?).

However, I would prefer the latest version to be standard version
(with variable name node-lts) so node packages in Guix use the latest
LTS by default.  Something like

(define-public node-lts
  (package
    (inherit node)
    (version "16.13.2")
    [...]))

;; Older LTS versions, still maintained upstream and used (see <...>).
;; There are some incompatibilities between [...], so allow users
;; to choose which node to use.
(define-public node-14
  (package
    (inherit node-lts)
    (version "14.[...]")
    [...]))

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-02-25 17:22       ` Maxime Devos
@ 2022-05-02  6:10         ` Ryan Sundberg via Guix-patches via
  2022-05-15 13:45           ` Pierre Langlois
  0 siblings, 1 reply; 18+ messages in thread
From: Ryan Sundberg via Guix-patches via @ 2022-05-02  6:10 UTC (permalink / raw)
  To: 53414


[-- Attachment #1.1.1: Type: text/plain, Size: 1490 bytes --]

Hello all, here is a revised version of zamfofex's patch that inherits
from node-14. I tried to trim as much fat out as possible in the
inherited node-(16-)lts, but some of the package arguments were
divergent in minor ways. I also bumped the version to 16.5.0 in the
meantime.

--
Sincerely,
Ryan Sundberg

On 2/25/22 9:22 AM, Maxime Devos wrote:
> Pierre Langlois schreef op vr 25-02-2022 om 16:31 [+0000]:
>> If I may shime in, I agree that it's best to have fewer versions of
>> node
>> for Guix's own node packages, however for end-users I think it's a
>> good
>> idea to provide multiple versions they can install.
> 
> I'm not opposed to including multiple LTS versions, as long as they
> are supported upstream, there actual users of the old LTS versions
> and there is some reason to use older versions (perhaps there are
> a few incompatibilities?).
> 
> However, I would prefer the latest version to be standard version
> (with variable name node-lts) so node packages in Guix use the latest
> LTS by default.  Something like
> 
> (define-public node-lts
>   (package
>     (inherit node)
>     (version "16.13.2")
>     [...]))
> 
> ;; Older LTS versions, still maintained upstream and used (see <...>).
> ;; There are some incompatibilities between [...], so allow users
> ;; to choose which node to use.
> (define-public node-14
>   (package
>     (inherit node-lts)
>     (version "14.[...]")
>     [...]))
> 
> Greetings,
> Maxime.

[-- Attachment #1.1.2: 0001-gnu-node-lts-Update-to-16.15.0.patch --]
[-- Type: text/x-patch, Size: 9557 bytes --]

From 14065e4f69eea85503db2af6e6ef38e6ec1a6e28 Mon Sep 17 00:00:00 2001
From: Ryan Sundberg <ryan@arctype.co>
Date: Sun, 1 May 2022 23:00:13 -0700
Subject: [PATCH] gnu: node-lts: Update to 16.15.0

Keeps node-14 available for legacy use cases and graceful migration
purposes.

* gnu/packages/node.scm (node-lts): Update to 16.15.0
* gnu/packages/node.scm (node-14): Export previous LTS version

Co-authored-by: zamfofex <zamfofex@twdb.moe>
---
 gnu/packages/node.scm | 177 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 175 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index ce94557a8c..c0f66ef04b 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -11,6 +11,8 @@
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
+;;; Copyright © 2022 Ryan Sundberg <ryan@arctype.co>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -662,7 +664,7 @@ (define-public node-llparse-bootstrap
 parser definition into a C output.")
     (license license:expat)))
 
-(define-public llhttp-bootstrap
+(define llhttp-2
   (package
     (name "llhttp")
     (version "2.1.4")
@@ -732,7 +734,49 @@ (define-public llhttp-bootstrap
 source files.")
     (license license:expat)))
 
-(define-public node-lts
+(define-public llhttp-bootstrap
+  (package
+    (inherit llhttp-2)
+    (name "llhttp")
+    (version "6.0.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nodejs/llhttp.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1c1p39m46frpslm5yx13hj58r7s0cila03yvqp6caip5dbizpfmr"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Fix imports for esbuild.
+                  ;; https://github.com/evanw/esbuild/issues/477
+                  (substitute* "src/llhttp/http.ts"
+                    (("\\* as assert") "assert"))
+                  (substitute* "Makefile"
+                    (("npx ts-node bin/generate.ts")
+                     "node bin/generate.js"))
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     (substitute-keyword-arguments (package-arguments llhttp-2)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (replace 'install-src
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (src-dir (string-append out "/src"))
+                      (src-src-dir (string-append src-dir "/src")))
+                 (install-file "src/llhttp.gyp" src-dir)
+                 (install-file "src/common.gypi" src-dir)
+                 (install-file "build/c/llhttp.c" src-src-dir)
+                 (install-file "src/native/http.c" src-src-dir)
+                 (install-file "src/native/api.c" src-src-dir)
+                 #t)))))))))
+
+(define-public node-14
   (package
     (inherit node)
     (version "14.18.3")
@@ -878,6 +922,135 @@ (define-public node-lts
            c-ares-for-node
            icu4c-67
            libuv-for-node
+           llhttp-2
+           brotli
+           `(,nghttp2 "lib")
+           openssl
+           python-wrapper ;; for node-gyp (supports python3)
+           zlib))))
+
+(define-public node-lts
+  (package
+    (inherit node-14)
+    (version "16.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://nodejs.org/dist/v" version
+                                  "/node-v" version ".tar.xz"))
+              (sha256
+               (base32
+                "1xx4drj3rc6kin60bm84f3wnnplglih7k588r8g34y1zqkpi5y50"))
+              (modules '((guix build utils)))
+              (snippet
+               `(begin
+                  ;; Remove bundled software, where possible
+                  (for-each delete-file-recursively
+                            '("deps/cares"
+                              "deps/icu-small"
+                              "deps/nghttp2"
+                              "deps/openssl"
+                              "deps/zlib"))
+                  (substitute* "Makefile"
+                    ;; Remove references to bundled software.
+                    (("deps/uv/uv.gyp") "")
+                    (("deps/zlib/zlib.gyp") ""))
+                  #t))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments node-14)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (replace 'delete-problematic-tests
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Fix hardcoded /bin/sh references.
+               (substitute* '("lib/child_process.js"
+                              "lib/internal/v8_prof_polyfill.js"
+                              "test/parallel/test-child-process-spawnsync-shell.js"
+                              "test/parallel/test-fs-write-sigxfsz.js"
+                              "test/parallel/test-stdin-from-file-spawn.js"
+                              "test/parallel/test-stdio-closed.js"
+                              "test/sequential/test-child-process-emfile.js")
+                 (("'/bin/sh'")
+                  (string-append "'" (assoc-ref inputs "bash") "/bin/sh'")))
+
+               ;; Fix hardcoded /usr/bin/env references.
+               (substitute* '("test/parallel/test-child-process-default-options.js"
+                              "test/parallel/test-child-process-env.js"
+                              "test/parallel/test-child-process-exec-env.js")
+                 (("'/usr/bin/env'")
+                  (string-append "'" (assoc-ref inputs "coreutils")
+                                 "/bin/env'")))
+
+               ;; FIXME: These tests fail in the build container, but they don't
+               ;; seem to be indicative of real problems in practice.
+               (for-each delete-file
+                         '("test/parallel/test-cluster-primary-error.js"
+                           "test/parallel/test-cluster-primary-kill.js"))
+
+               ;; These require a DNS resolver.
+               (for-each delete-file
+                         '("test/parallel/test-dns.js"
+                           "test/parallel/test-dns-lookupService-promises.js"))
+
+               ;; These tests require networking.
+               (delete-file "test/parallel/test-https-agent-unref-socket.js")
+
+               ;; This test is timing-sensitive, and fails sporadically on
+               ;; slow, busy, or even very fast machines.
+               (delete-file "test/parallel/test-fs-utimes.js")
+
+               ;; FIXME: This test fails randomly:
+               ;; https://github.com/nodejs/node/issues/31213
+               (delete-file "test/parallel/test-net-listen-after-destroying-stdin.js")
+
+               ;; FIXME: These tests fail on armhf-linux:
+               ;; https://github.com/nodejs/node/issues/31970
+               ,@(if (target-arm32?)
+                     '((for-each delete-file
+                                 '("test/parallel/test-zlib.js"
+                                   "test/parallel/test-zlib-brotli.js"
+                                   "test/parallel/test-zlib-brotli-flush.js"
+                                   "test/parallel/test-zlib-brotli-from-brotli.js"
+                                   "test/parallel/test-zlib-brotli-from-string.js"
+                                   "test/parallel/test-zlib-convenience-methods.js"
+                                   "test/parallel/test-zlib-random-byte-pipes.js"
+                                   "test/parallel/test-zlib-write-after-flush.js")))
+                     '())
+
+               ;; These tests have an expiry date: they depend on the validity of
+               ;; TLS certificates that are bundled with the source.  We want this
+               ;; package to be reproducible forever, so remove those.
+               ;; TODO: Regenerate certs instead.
+               (for-each delete-file
+                         '("test/parallel/test-tls-passphrase.js"
+                           "test/parallel/test-tls-server-verify.js"
+                           "test/parallel/test-https-selfsigned-no-keycertsign-no-crash.js"))))
+           (replace 'replace-llhttp-sources
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Replace pre-generated llhttp sources
+               (delete-file-recursively "deps/llhttp")
+               (copy-recursively (string-append (assoc-ref inputs "llhttp") "/src")
+                                 "deps/llhttp")))))))
+    (native-inputs
+     (list ;; Runtime dependencies for binaries used as a bootstrap.
+           c-ares-for-node
+           brotli
+           icu4c
+           libuv-for-node
+           `(,nghttp2 "lib")
+           openssl
+           zlib
+           ;; Regular build-time dependencies.
+           perl
+           pkg-config
+           procps
+           python
+           util-linux))
+    (inputs
+     (list bash-minimal
+           coreutils
+           c-ares-for-node
+           icu4c
+           libuv-for-node
            llhttp-bootstrap
            brotli
            `(,nghttp2 "lib")
-- 
2.34.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-05-02  6:10         ` Ryan Sundberg via Guix-patches via
@ 2022-05-15 13:45           ` Pierre Langlois
  2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
  0 siblings, 1 reply; 18+ messages in thread
From: Pierre Langlois @ 2022-05-15 13:45 UTC (permalink / raw)
  To: Ryan Sundberg; +Cc: 53414

[-- Attachment #1: Type: text/plain, Size: 5357 bytes --]

Hi!

Ryan Sundberg via Guix-patches via <guix-patches@gnu.org> writes:

> [[PGP Signed Part:Undecided]]
> Hello all, here is a revised version of zamfofex's patch that inherits
> from node-14. I tried to trim as much fat out as possible in the
> inherited node-(16-)lts, but some of the package arguments were
> divergent in minor ways. I also bumped the version to 16.5.0 in the
> meantime.

The patch LGTM, however when testing it out I wasn't able to build node
packages, I get the following error for example:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build node-string-decoder
...
starting phase `install'
npm info using npm@8.5.5
npm info using node@v16.15.0
npm timing npm:load:whichnode Completed in 1ms
npm timing config:load:defaults Completed in 1ms
npm timing config:load:file:/gnu/store/4iqwfsbapa3lhhap1jyg0bry8d1373li-node-16.15.0/lib/node_modules/npm/npmrc Completed in 2ms
npm timing config:load:builtin Completed in 2ms
npm timing config:load:cli Completed in 3ms
npm timing config:load:env Completed in 0ms
npm timing config:load:project Completed in 1ms
npm timing config:load:file:/tmp/guix-build-node-string-decoder-1.3.0.drv-0/npm-home-0/.npmrc Completed in 2ms
npm timing config:load:user Completed in 2ms
npm timing config:load:file:/gnu/store/72cb549aap0inzc8d0v959w6z8qz964m-node-string-decoder-1.3.0/etc/npmrc Completed in 0ms
npm timing config:load:global Completed in 1ms
npm timing config:load:validate Completed in 0ms
npm timing config:load:credentials Completed in 0ms
npm timing config:load:setEnvs Completed in 1ms
npm timing config:load Completed in 11ms
npm timing npm:load:configload Completed in 11ms
npm timing npm:load:setTitle Completed in 0ms
npm timing config:load:flatten Completed in 1ms
npm timing npm:load:display Completed in 5ms
npm timing npm:load:logFile Completed in 4ms
npm timing npm:load:timers Completed in 0ms
npm timing npm:load:configScope Completed in 0ms
npm timing npm:load Completed in 21ms
npm timing arborist:ctor Completed in 1ms
npm timing idealTree:init Completed in 4ms
npm timing idealTree:userRequests Completed in 42ms
npm timing idealTree:#root Completed in 19ms
npm timing idealTree:node_modules/string_decoder Completed in 3ms
npm timing idealTree:node_modules/string_decoder/node_modules/safe-buffer Completed in 0ms
npm timing idealTree:buildDeps Completed in 24ms
npm timing idealTree:fixDepFlags Completed in 0ms
npm timing idealTree Completed in 73ms
npm timing reify:loadTrees Completed in 74ms
npm timing reify:diffTrees Completed in 1ms
npm timing reify:retireShallow Completed in 1ms
npm timing reify:createSparse Completed in 0ms
npm timing reify:trashOmits Completed in 0ms
npm timing reify:loadBundles Completed in 0ms
npm timing reify:audit Completed in 0ms
npm timing reifyNode:node_modules/string_decoder/node_modules/safe-buffer Completed in 8ms
npm timing reifyNode:node_modules/string_decoder Completed in 12ms
npm timing reify:unpack Completed in 13ms
npm timing reify:unretire Completed in 0ms
npm timing build:queue Completed in 1ms
npm timing build:deps Completed in 1ms
npm timing build:queue Completed in 0ms
npm timing build:links Completed in 1ms
npm timing build Completed in 2ms
npm timing reify:build Completed in 2ms
npm timing reify:trash Completed in 0ms
npm timing command:install Completed in 98ms
npm ERR! Cannot set properties of null (setting 'dev')
npm timing npm Completed in 279ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/guix-build-node-string-decoder-1.3.0.drv-0/npm-home-0/.npm/_logs/2022-05-15T13_47_30_141Z-debug-0.log
error: in phase 'install': uncaught exception:
%exception #<&invoke-error program: "/gnu/store/4iqwfsbapa3lhhap1jyg0bry8d1373li-node-16.15.0/bin/npm" arguments: ("--prefix" "/gnu/store/72cb549aap0inzc8d0v959w6z8qz964m-node-string-decoder-1.3.0" "--global" "--offline" "--loglevel" "info" "--production" "install" "../package.tgz") exit-status: 1 term-signal: #f stop-signal: #f>
phase `install' failed after 0.4 seconds
command "/gnu/store/4iqwfsbapa3lhhap1jyg0bry8d1373li-node-16.15.0/bin/npm" "--prefix" "/gnu/store/72cb549aap0inzc8d0v959w6z8qz964m-node-string-decoder-1.3.0" "--global" "--offline" "--loglevel" "info" "--production" "install" "../package.tgz" failed with status 1
builder for `/gnu/store/6a1vjam7gx0znrr8yngaw2lqld9868l0-node-string-decoder-1.3.0.drv' failed with exit code 1
build of /gnu/store/6a1vjam7gx0znrr8yngaw2lqld9868l0-node-string-decoder-1.3.0.drv failed
View build log at '/var/log/guix/drvs/6a/1vjam7gx0znrr8yngaw2lqld9868l0-node-string-decoder-1.3.0.drv.gz'.
guix build: error: build of `/gnu/store/6a1vjam7gx0znrr8yngaw2lqld9868l0-node-string-decoder-1.3.0.drv' failed
--8<---------------cut here---------------end--------------->8---

I'm a bit clueless as to what's happening, it could be a flavour of this
issue upstream: https://github.com/npm/cli/issues/3847

So hopefully this will be resolved with a new node release, in the
meantime, we could still package node 16 but not make it the default
node for the build-system, WDYT?  I'd suggest to keep the node-lts
pointing to the node-14 version.

Also, as an aside, I'm afraid the patch doesn't allow node to be
cross-compiled, but that's also currently broken on master so we could
fix that as a follow-up IMO.

Thanks for working on this!
Pierre

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-05-15 13:45           ` Pierre Langlois
@ 2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
  2022-06-09 20:49               ` Maxime Devos
                                 ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Ryan Sundberg via Guix-patches via @ 2022-06-09  6:39 UTC (permalink / raw)
  To: Pierre Langlois; +Cc: 53414


[-- Attachment #1.1.1: Type: text/plain, Size: 307 bytes --]

Hi all, attached is a revised patch that keeps node-lts bound to node-14
and just adds the new node-16.

Thank you for the feedback Pierre, I agree we should not break any
packages by transitioning node-lts over without testing.

I also updated again to 16.15.1 from 16.15.0 here.

--Ryan Sundberg

[-- Attachment #1.1.2: 0001-gnu-node-16-Package-node.js-version-16.15.1.patch --]
[-- Type: text/x-patch, Size: 9723 bytes --]

From 78f63a9440c03e54ed24a58f9495613691dee1c6 Mon Sep 17 00:00:00 2001
From: Ryan Sundberg <ryan@arctype.co>
Date: Sun, 1 May 2022 23:00:13 -0700
Subject: [PATCH] gnu: node-16: Package node.js version 16.15.1

* gnu/packages/node.scm (node-16): New variable.

Co-authored-by: zamfofex <zamfofex@twdb.moe>
---
 gnu/packages/node.scm | 180 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 178 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index c8d81fbd22..2838a41aa9 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -11,6 +11,8 @@
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
+;;; Copyright © 2022 Ryan Sundberg <ryan@arctype.co>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -663,7 +665,7 @@ (define-public node-llparse-bootstrap
 parser definition into a C output.")
     (license license:expat)))
 
-(define-public llhttp-bootstrap
+(define llhttp-2
   (package
     (name "llhttp")
     (version "2.1.4")
@@ -733,7 +735,49 @@ (define-public llhttp-bootstrap
 source files.")
     (license license:expat)))
 
-(define-public node-lts
+(define-public llhttp-bootstrap
+  (package
+    (inherit llhttp-2)
+    (name "llhttp")
+    (version "6.0.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nodejs/llhttp.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1c1p39m46frpslm5yx13hj58r7s0cila03yvqp6caip5dbizpfmr"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Fix imports for esbuild.
+                  ;; https://github.com/evanw/esbuild/issues/477
+                  (substitute* "src/llhttp/http.ts"
+                    (("\\* as assert") "assert"))
+                  (substitute* "Makefile"
+                    (("npx ts-node bin/generate.ts")
+                     "node bin/generate.js"))
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     (substitute-keyword-arguments (package-arguments llhttp-2)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (replace 'install-src
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (src-dir (string-append out "/src"))
+                      (src-src-dir (string-append src-dir "/src")))
+                 (install-file "src/llhttp.gyp" src-dir)
+                 (install-file "src/common.gypi" src-dir)
+                 (install-file "build/c/llhttp.c" src-src-dir)
+                 (install-file "src/native/http.c" src-src-dir)
+                 (install-file "src/native/api.c" src-src-dir)
+                 #t)))))))))
+
+(define-public node-14
   (package
     (inherit node)
     (version "14.19.3")
@@ -881,6 +925,136 @@ (define-public node-lts
            c-ares-for-node
            icu4c-70
            libuv-for-node
+           llhttp-2
+           brotli
+           `(,nghttp2 "lib")
+           openssl
+           python-wrapper ;; for node-gyp (supports python3)
+           zlib))))
+
+(define-public node-16
+  (package
+    (inherit node-14)
+    (version "16.15.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://nodejs.org/dist/v" version
+                                  "/node-v" version ".tar.xz"))
+              (sha256
+               (base32
+                "0zcv2raa9d4g7dr7v3i2pkfrq076b085f9bmlq4i2wb93wy9vsfl"))
+              (modules '((guix build utils)))
+              (snippet
+               `(begin
+                  ;; Remove bundled software, where possible
+                  (for-each delete-file-recursively
+                            '("deps/cares"
+                              "deps/icu-small"
+                              "deps/nghttp2"
+                              "deps/openssl"
+                              "deps/zlib"))
+                  (substitute* "Makefile"
+                    ;; Remove references to bundled software.
+                    (("deps/uv/uv.gyp") "")
+                    (("deps/zlib/zlib.gyp") ""))
+                  #t))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments node-14)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (replace 'delete-problematic-tests
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Fix hardcoded /bin/sh references.
+               (substitute* '("lib/child_process.js"
+                              "lib/internal/v8_prof_polyfill.js"
+                              "test/parallel/test-child-process-spawnsync-shell.js"
+                              "test/parallel/test-fs-write-sigxfsz.js"
+                              "test/parallel/test-stdin-from-file-spawn.js"
+                              "test/parallel/test-stdio-closed.js"
+                              "test/sequential/test-child-process-emfile.js")
+                 (("'/bin/sh'")
+                  (string-append "'" (assoc-ref inputs "bash") "/bin/sh'")))
+
+               ;; Fix hardcoded /usr/bin/env references.
+               (substitute* '("test/parallel/test-child-process-default-options.js"
+                              "test/parallel/test-child-process-env.js"
+                              "test/parallel/test-child-process-exec-env.js")
+                 (("'/usr/bin/env'")
+                  (string-append "'" (assoc-ref inputs "coreutils")
+                                 "/bin/env'")))
+
+               ;; FIXME: These tests fail in the build container, but they don't
+               ;; seem to be indicative of real problems in practice.
+               (for-each delete-file
+                         '("test/parallel/test-cluster-primary-error.js"
+                           "test/parallel/test-cluster-primary-kill.js"
+                           "test/parallel/test-release-npm.js"))
+
+               ;; These require a DNS resolver.
+               (for-each delete-file
+                         '("test/parallel/test-dns.js"
+                           "test/parallel/test-dns-lookupService-promises.js"))
+
+               ;; These tests require networking.
+               (delete-file "test/parallel/test-https-agent-unref-socket.js")
+
+               ;; This test is timing-sensitive, and fails sporadically on
+               ;; slow, busy, or even very fast machines.
+               (delete-file "test/parallel/test-fs-utimes.js")
+
+               ;; FIXME: This test fails randomly:
+               ;; https://github.com/nodejs/node/issues/31213
+               (delete-file "test/parallel/test-net-listen-after-destroying-stdin.js")
+
+               ;; FIXME: These tests fail on armhf-linux:
+               ;; https://github.com/nodejs/node/issues/31970
+               ,@(if (target-arm32?)
+                     '((for-each delete-file
+                                 '("test/parallel/test-zlib.js"
+                                   "test/parallel/test-zlib-brotli.js"
+                                   "test/parallel/test-zlib-brotli-flush.js"
+                                   "test/parallel/test-zlib-brotli-from-brotli.js"
+                                   "test/parallel/test-zlib-brotli-from-string.js"
+                                   "test/parallel/test-zlib-convenience-methods.js"
+                                   "test/parallel/test-zlib-random-byte-pipes.js"
+                                   "test/parallel/test-zlib-write-after-flush.js")))
+                     '())
+
+               ;; These tests have an expiry date: they depend on the validity of
+               ;; TLS certificates that are bundled with the source.  We want this
+               ;; package to be reproducible forever, so remove those.
+               ;; TODO: Regenerate certs instead.
+               (for-each delete-file
+                         '("test/parallel/test-tls-passphrase.js"
+                           "test/parallel/test-tls-server-verify.js"
+                           "test/parallel/test-https-selfsigned-no-keycertsign-no-crash.js"))))
+           (replace 'replace-llhttp-sources
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Replace pre-generated llhttp sources
+               (delete-file-recursively "deps/llhttp")
+               (copy-recursively (string-append (assoc-ref inputs "llhttp") "/src")
+                                 "deps/llhttp")))))))
+    (native-inputs
+     (list ;; Runtime dependencies for binaries used as a bootstrap.
+           c-ares-for-node
+           brotli
+           icu4c
+           libuv-for-node
+           `(,nghttp2 "lib")
+           openssl
+           zlib
+           ;; Regular build-time dependencies.
+           perl
+           pkg-config
+           procps
+           python
+           util-linux))
+    (inputs
+     (list bash-minimal
+           coreutils
+           c-ares-for-node
+           icu4c
+           libuv-for-node
            llhttp-bootstrap
            brotli
            `(,nghttp2 "lib")
@@ -888,6 +1062,8 @@ (define-public node-lts
            python-wrapper ;; for node-gyp (supports python3)
            zlib))))
 
+(define-public node-lts node-14)
+
 (define-public libnode
   (package/inherit node
     (name "libnode")
-- 
2.34.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
@ 2022-06-09 20:49               ` Maxime Devos
  2022-06-09 20:50               ` Maxime Devos
                                 ` (3 subsequent siblings)
  4 siblings, 0 replies; 18+ messages in thread
From: Maxime Devos @ 2022-06-09 20:49 UTC (permalink / raw)
  To: Ryan Sundberg, Pierre Langlois; +Cc: 53414

[-- Attachment #1: Type: text/plain, Size: 147 bytes --]

Ryan Sundberg via Guix-patches via schreef op wo 08-06-2022 om 23:39 [-
0700]:
> +                  #t))))

No need to return #t.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
  2022-06-09 20:49               ` Maxime Devos
@ 2022-06-09 20:50               ` Maxime Devos
  2022-06-09 20:53               ` Maxime Devos
                                 ` (2 subsequent siblings)
  4 siblings, 0 replies; 18+ messages in thread
From: Maxime Devos @ 2022-06-09 20:50 UTC (permalink / raw)
  To: Ryan Sundberg, Pierre Langlois; +Cc: 53414

[-- Attachment #1: Type: text/plain, Size: 311 bytes --]

Ryan Sundberg via Guix-patches via schreef op wo 08-06-2022 om 23:39 [-
0700]:
> +       ((#:phases phases)
> +        `(modify-phases ,phases

Do #~(modify-phases #$phases ...) instead of quasiquote/unquote,
otherwise this will break when node-14 switches to G-exps.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
  2022-06-09 20:49               ` Maxime Devos
  2022-06-09 20:50               ` Maxime Devos
@ 2022-06-09 20:53               ` Maxime Devos
  2022-06-09 20:55               ` Maxime Devos
  2022-06-09 21:03               ` Maxime Devos
  4 siblings, 0 replies; 18+ messages in thread
From: Maxime Devos @ 2022-06-09 20:53 UTC (permalink / raw)
  To: Ryan Sundberg, Pierre Langlois; +Cc: 53414

[-- Attachment #1: Type: text/plain, Size: 1334 bytes --]

Ryan Sundberg via Guix-patches via schreef op wo 08-06-2022 om 23:39 [-
0700]:
> +              (modules '((guix build utils)))
> +              (snippet
> +               `(begin
> +                  ;; Remove bundled software, where possible
> +                  (for-each delete-file-recursively
> +                            '("deps/cares"
> +                              "deps/icu-small"
> +                              "deps/nghttp2"
> +                              "deps/openssl"
> +                              "deps/zlib"))
> +                  (substitute* "Makefile"
> +                    ;; Remove references to bundled software.
> +                    (("deps/uv/uv.gyp") "")
> +                    (("deps/zlib/zlib.gyp") ""))
> +                  #t))))

This is identical to what node-14 has, so you can use inheritance to
simplify things:

  (origin
    (inherit (package-source node-14))
    (uri ...)
    (sha256 ...))

Also, could you verify that no new things have been bundled?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
                                 ` (2 preceding siblings ...)
  2022-06-09 20:53               ` Maxime Devos
@ 2022-06-09 20:55               ` Maxime Devos
  2022-06-09 21:03               ` Maxime Devos
  4 siblings, 0 replies; 18+ messages in thread
From: Maxime Devos @ 2022-06-09 20:55 UTC (permalink / raw)
  To: Ryan Sundberg, Pierre Langlois; +Cc: 53414

[-- Attachment #1: Type: text/plain, Size: 286 bytes --]

Ryan Sundberg via Guix-patches via schreef op wo 08-06-2022 om 23:39 [-
0700]:
> +                  (string-append "'" (assoc-ref inputs "bash")
> "/bin/sh'")))

Can be de-label-ified and simplified to (string-append "'" (search-
input-file inputs "bin/bash")).

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
                                 ` (3 preceding siblings ...)
  2022-06-09 20:55               ` Maxime Devos
@ 2022-06-09 21:03               ` Maxime Devos
  2022-11-16 23:23                 ` Mekeor Melire
  4 siblings, 1 reply; 18+ messages in thread
From: Maxime Devos @ 2022-06-09 21:03 UTC (permalink / raw)
  To: Ryan Sundberg, Pierre Langlois; +Cc: 53414

[-- Attachment #1: Type: text/plain, Size: 992 bytes --]

Ryan Sundberg via Guix-patches via schreef op wo 08-06-2022 om 23:39 [-
0700]:
> Hi all, attached is a revised patch that keeps node-lts bound to node-14
> and just adds the new node-16.
> 
> Thank you for the feedback Pierre, I agree we should not break any
> packages by transitioning node-lts over without testing.
> 
> I also updated again to 16.15.1 from 16.15.0 here.
> 
> --Ryan Sundberg

Debian's node package does some changes:

  * benchmark_without_alice.patch: removes something non-free
  * privacy_breach.patch: patch a html file to not point to something
    external
  * localhost-no-adrconfig.patch: a bug fix
  * test_ci.patch: flaky tests
  * skip-buffer-nan-internal-check.patch: remove broken test
  * falky-cpu-prof-riscv64.patch: likewise
  * flag_atomic.patch: ‘avoid surprises on ... and ppc*el’

Maybe some of them are needed on Guix as well?
(See https://packages.debian.org/sid/nodejs for a tarball with changes)

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [bug#53414] [PATCH] update Node LTS to 16.13.2
  2022-06-09 21:03               ` Maxime Devos
@ 2022-11-16 23:23                 ` Mekeor Melire
  0 siblings, 0 replies; 18+ messages in thread
From: Mekeor Melire @ 2022-11-16 23:23 UTC (permalink / raw)
  To: 53414; +Cc: Maxime Devos

2022-06-09 / 23:03 / maximedevos@telenet.be:

> Debian's node package does some changes:
>   * benchmark_without_alice.patch: removes something non-free

I'm not sure why Debian removes "Alice's Adventures in Wonderland"
because this work is in Public Domain. I think it's fine to keep it.

  https://github.com/nodejs/node/blob/main/benchmark/fixtures/alice.html

> Maybe some of them are needed on Guix as well?
> (See https://packages.debian.org/sid/nodejs for a tarball with changes)




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-11-16 23:27 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-21 15:11 [bug#53414] [PATCH] update Node LTS to 16.13.2 zamfofex
2022-02-23 13:13 ` code
2022-02-25 11:07   ` Maxime Devos
2022-02-25 11:24     ` code
2022-02-25 12:38       ` Maxime Devos
2022-02-25 13:09 ` Attila Lendvai
2022-02-25 15:59   ` Maxime Devos
2022-02-25 16:31     ` Pierre Langlois
2022-02-25 17:22       ` Maxime Devos
2022-05-02  6:10         ` Ryan Sundberg via Guix-patches via
2022-05-15 13:45           ` Pierre Langlois
2022-06-09  6:39             ` Ryan Sundberg via Guix-patches via
2022-06-09 20:49               ` Maxime Devos
2022-06-09 20:50               ` Maxime Devos
2022-06-09 20:53               ` Maxime Devos
2022-06-09 20:55               ` Maxime Devos
2022-06-09 21:03               ` Maxime Devos
2022-11-16 23:23                 ` Mekeor Melire

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.