all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jelle Licht <jlicht@fsfe.org>
To: Hilton Chain <hako@ultrarare.space>
Cc: "Mekeor Melire" <mekeor@posteo.de>,
	"Ludovic Courtès" <ludo@gnu.org>,
	"Christopher Baines" <mail@cbaines.net>,
	59188@debbugs.gnu.org
Subject: [bug#59188] [PATCH 0/4] gnu: node-lts: Update to 18.12.1.
Date: Thu, 05 Jan 2023 14:10:45 +0100	[thread overview]
Message-ID: <87bknd2kkq.fsf_-_@fsfe.org> (raw)
In-Reply-To: <y76y1s7o740.wl-hako@ultrarare.space> (Hilton Chain's message of "Sat, 19 Nov 2022 13:17:51 +0800")

Hello Hilton, other folks,

Hilton Chain <hako@ultrarare.space> writes:

> node-acorn fails in check phase.
> #+RESULTS:
> : starting phase `check'
> : npm ERR! Missing script: "test"
> : npm ERR!
> : npm ERR! To see a list of scripts, run:
> : npm ERR!   npm run
> <snip>

This is due to a change in how npm treats the 'test' command; before,
having no "scripts.test" entry in package.json lead to a placeholder of 
"echo 'Error: no test specified'" (with a status code of 0).

More recently, npm was changed to make `npm test' like any other `npm
run XYZ' command. This means that all of the packages that fail like
this due to upgrading node/npm should be get a `#:tests? #f'.

> Then node-uglify-js
> #+RESULTS:
> : starting phase `configure'
> : npm ERR! code 254
> : npm ERR! path /gnu/store/969597ncg311d3kd8vbhdlniwqg4mr2k-node-acorn-8.4.1/lib/node_modules/acorn
> : npm ERR! command failed
> : npm ERR! command sh -c -- cd ..; npm run build:main && npm run build:bin
> <snip>

This is due to the fact that the `prepare' scripts is being run for our
installed node-acorn. Apparently, the fact that it previously did not
happen was a bug that was fixed somewhere between node 14 and 18 [1][2].

I do not know what the best approach is here. Consider patching the
"scripts.prepare" entry in node-acorn, and if we find we need to do this
often, we can introduce a convenience function similar to
`delete-dependencies' to streamline this.

> One test failed after deleting node-uglify-js's configure phase.
> #+RESULTS:
> : 1 test(s) failed!
> :
> : test/reduce.js
> :   1) Should reduce test case which differs only in Error.message
> : AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
> : + actual - expected
> :
> : + `try{null[function(){}]}catch(e){console.log(e)}\n// output: TypeError: Cannot read properties of null (reading 'function(){}')\n// \n// minify: TypeError: Cannot read properties of null (reading 'function() {}')\n// \n// options: {\n//   "compress": false,\n//   "mangle": false,\n//   "output": {\n//     "beautify": true\n//   }\n// }`
> : - `try{null[function(){}]}catch(e){console.log(e)}\n// output: TypeError: Cannot read property 'function(){}' of null\n// \n// minify: TypeError: Cannot read property 'function() {}' of null\n// \n// options: {\n//   "compress": false,\n//   "mangle": false,\n//   "output": {\n//     "beautify": true\n//   }\n// }`
> :     at Function.<anonymous> (/tmp/guix-build-node-uglify-js-3.13.9.drv-0/source/test/mocha/reduce.js:285:16)
> :     at run (/tmp/guix-build-node-uglify-js-3.13.9.drv-0/source/test/mocha.js:79:18)
> :     at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
> : error: in phase 'check': uncaught exception:
> : %exception #<&invoke-error program: "/gnu/store/l32l0i53ik9ja3fircdd89bgq6b1v6y5-node-18.12.1/bin/npm" arguments: ("test") exit-status: 1 term-signal: #f stop-signal: #f>
> : phase `check' failed after 264.2 seconds
> : command "/gnu/store/l32l0i53ik9ja3fircdd89bgq6b1v6y5-node-18.12.1/bin/npm" "test" failed with status 1
>
> Then node-string-decoder fails to install, I have no idea how to continue...
> #+RESULTS:
> : starting phase `install'
> : npm info using npm@8.19.2
> : npm info using node@v18.12.1
> : npm timing npm:load:whichnode Completed in 0ms
> : npm timing config:load:defaults Completed in 1ms
> : npm timing config:load:file:/gnu/store/l32l0i53ik9ja3fircdd89bgq6b1v6y5-node-18.12.1/lib/node_modules/npm/npmrc Completed in 2ms
> : npm timing config:load:builtin Completed in 3ms
> : npm WARN config production Use `--omit=dev` instead.
> : npm timing config:load:cli Completed in 1ms
> : npm timing config:load:env Completed in 1ms
> : npm timing config:load:project Completed in 0ms
> : npm timing config:load:file:/tmp/guix-build-node-string-decoder-1.3.0.drv-0/npm-home-0/.npmrc Completed in 0ms
> : npm timing config:load:user Completed in 0ms
> : npm timing config:load:file:/gnu/store/ansccgk9y8vzd5rwsx4iz7j2n0gp8ig8-node-string-decoder-1.3.0/etc/npmrc Completed in 2ms
> : npm timing config:load:global Completed in 2ms
> : npm timing config:load:validate Completed in 0ms
> : npm timing config:load:credentials Completed in 1ms
> : npm timing config:load:setEnvs Completed in 0ms
> : npm timing config:load Completed in 9ms
> : npm timing npm:load:configload Completed in 9ms
> : npm timing npm:load:mkdirpcache Completed in 1ms
> : npm timing npm:load:mkdirplogs Completed in 1ms
> : npm timing npm:load:setTitle Completed in 0ms
> : npm timing config:load:flatten Completed in 1ms
> : npm timing npm:load:display Completed in 4ms
> : npm timing npm:load:logFile Completed in 3ms
> : npm timing npm:load:timers Completed in 0ms
> : npm timing npm:load:configScope Completed in 0ms
> : npm timing npm:load Completed in 19ms
> : npm timing arborist:ctor Completed in 0ms
> : npm timing idealTree:init Completed in 4ms
> : npm timing idealTree:userRequests Completed in 30ms
> : npm timing idealTree:#root Completed in 16ms
> : 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 20ms
> : npm timing idealTree:fixDepFlags Completed in 0ms
> : npm timing idealTree Completed in 56ms
> : npm timing reify:loadTrees Completed in 57ms
> : 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 5ms
> : 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 1ms
> : 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 83ms
> : npm ERR! Cannot set properties of null (setting 'dev')

This is due to either a newly introducded bug, or perhaps more likely,
an unfortunate sequence of interactions in arborist. I've done some
bisecting, and got things to work with a hack.

Relevants parts of arborist were rewritten in version 6, whereas we are
stuck with 5.4.XYZ, making a proper backport highly unlikely.

--8<---------------cut here---------------start------------->8---
+           ;; TODO: Work around issue in that is fixed in arborist@6.0.0/npm@9.0.0/node@19+
+           (add-after 'patch-hardcoded-program-references
+                      'patch-broken-arborist
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "deps/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js"
+                 (("if \\(node\\.isLink\\)")
+                  "if (node.isLink && node.target)"))))
--8<---------------cut here---------------end--------------->8---


In addition it some of the packages in node-xyz.scm that involve
replacing the 'configure phase are also failing. For some reason, this
updated version of npm seems to want to have access to either some
cached metadata or the actual npm packages for each of the specified
devDependencies[3]. This can be worked around by introducing a
'patch-dependencies phase for impacted packages, and patching out all
devDependencies. AFAICS this applies for (at least) these packages:

- node-buffer-crc32
- node-crx3
- node-minimist
- node-pbf
- node-protocol-buffers-schema
- node-protobuf-schema
- node-ieee754
- node-yazl

HTH

You have my gratitude for working on this Hilton! 
 - Jelle


[1]: https://github.com/npm/cli/issues/459

[2]: https://docs.npmjs.com/cli/v9/commands/npm-install

[3]: My guess: npm wants to be able to construct a 'proper'
package-lock.json, for which it needs some metadata from the npm
registry. I've already checked if adding '--no-package-lock' fixes the
issue, but while it indeed ensures no package-lock.json is generated, it
sadly doesn't address the issue. IWBN if there were some magical
invocation(s) for npm that allow these packages to actually be packaged
by distributions...






  reply	other threads:[~2023-01-05 13:12 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11  5:34 [bug#59188] [PATCH 0/4] gnu: node-lts: Update to 18.12.1 Hilton Chain via Guix-patches via
     [not found] ` <handler.59188.B.166814488314047.ack@debbugs.gnu.org>
2022-11-11  5:35   ` [bug#59188] [PATCH 1/4] gnu: libuv-for-node: Update to 1.43.0 Hilton Chain via Guix-patches via
2022-11-11  5:36     ` [bug#59188] [PATCH 2/4] gnu: llhttp-bootstrap: Update to 6.0.10 Hilton Chain via Guix-patches via
2022-11-11  5:37       ` [bug#59188] [PATCH 3/4] gnu: node-lts: Update to 18.12.1 Hilton Chain via Guix-patches via
2022-11-11  5:37         ` [bug#59188] [PATCH 4/4] gnu: libnode: Use node-lts as base Hilton Chain via Guix-patches via
2022-11-11  6:21 ` [bug#59188] [PATCH v2 0/4] gnu: node-lts: Update to 18.12.1 Hilton Chain via Guix-patches via
2022-11-11  6:22   ` [bug#59188] [PATCH v2 1/4] gnu: libuv-for-node: Update to 1.43.0 Hilton Chain via Guix-patches via
2022-11-11  6:22     ` [bug#59188] [PATCH v2 2/4] gnu: llhttp-bootstrap: Update to 6.0.10 Hilton Chain via Guix-patches via
2022-11-11  6:23       ` [bug#59188] [PATCH v2 3/4] gnu: node-lts: Update to 18.12.1 Hilton Chain via Guix-patches via
2022-11-11  6:24         ` [bug#59188] [PATCH v2 4/4] gnu: libnode: Use node-lts as base Hilton Chain via Guix-patches via
2022-11-16 23:31         ` [bug#59188] [PATCH v2 3/4] gnu: node-lts: Update to 18.12.1 Mekeor Melire
2022-11-18 14:12           ` [bug#59188] [PATCH 0/4] " Ludovic Courtès
2022-11-19  5:17             ` Hilton Chain via Guix-patches via
2023-01-05 13:10               ` Jelle Licht [this message]
2022-11-20  9:40             ` Christopher Baines
2023-02-06 13:37 ` [bug#59188] node-lts 18: progress? Dr. Arne Babenhauserheide
2023-02-08 21:05 ` [bug#59188] [PATCH v3 00/16] Updating node-lts to 18.X jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 01/16] gnu: node-acorn: Disable tests jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 02/16] gnu: node-acorn: Remove lifecycle script jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 03/16] gnu: node-acorn: Fix broken transpilation jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 04/16] gnu: node-buffer-crc32: Ignore development dependencies jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 05/16] gnu: node-crx3: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 06/16] gnu: node-minimist: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 07/16] gnu: node-pbf: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 08/16] gnu: node-protocol-buffers-schema: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 09/16] gnu: node-resolve-protobuf-schema: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 10/16] gnu: node-ieee754: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 11/16] gnu: node-yazl: " jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 12/16] gnu: node-uglify-js: Update to 3.14.2 jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 13/16] gnu: libuv-for-node: Update to 1.44.2 jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 14/16] gnu: llhttp-bootstrap: Update to 6.0.10 jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 15/16] gnu: node-lts: Update to 18.14.0 jlicht
2023-02-08 21:05   ` [bug#59188] [PATCH v3 16/16] gnu: libnode: Use node-lts as base jlicht
2023-03-02 22:53 ` [bug#59188] [PATCH v4 00/16] Updating node-lts to 18.X jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 01/16] gnu: node-acorn: Disable tests jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 02/16] gnu: node-acorn: Remove lifecycle script jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 03/16] gnu: node-acorn: Fix broken transpilation jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 04/16] gnu: node-buffer-crc32: Ignore development dependencies jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 05/16] gnu: node-crx3: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 06/16] gnu: node-minimist: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 07/16] gnu: node-pbf: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 08/16] gnu: node-protocol-buffers-schema: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 09/16] gnu: node-resolve-protobuf-schema: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 10/16] gnu: node-ieee754: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 11/16] gnu: node-yazl: " jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 12/16] gnu: node-uglify-js: Update to 3.14.2 jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 13/16] gnu: libuv-for-node: Update to 1.44.2 jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 14/16] gnu: llhttp-bootstrap: Update to 6.0.10 jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 15/16] gnu: node-lts: Update to 18.14.2 jlicht
2023-03-02 22:53   ` [bug#59188] [PATCH v4 16/16] gnu: libnode: Use node-lts as base jlicht
2023-03-15  0:55 ` [bug#59188] [PATCH v5 00/17] Updating node-lts to 18.X jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 01/17] build-system: node: Use `--install-links' with `npm install' jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 02/17] gnu: node-acorn: Disable tests jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 03/17] gnu: node-acorn: Remove lifecycle script jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 04/17] gnu: node-acorn: Fix broken transpilation jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 05/17] gnu: node-buffer-crc32: Ignore development dependencies jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 06/17] gnu: node-crx3: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 07/17] gnu: node-minimist: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 08/17] gnu: node-pbf: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 09/17] gnu: node-protocol-buffers-schema: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 10/17] gnu: node-resolve-protobuf-schema: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 11/17] gnu: node-ieee754: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 12/17] gnu: node-yazl: " jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 13/17] gnu: node-uglify-js: Update to 3.14.2 jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 14/17] gnu: libuv-for-node: Update to 1.44.2 jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 15/17] gnu: llhttp-bootstrap: Update to 6.0.10 jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 16/17] gnu: node-lts: Update to 18.15.0 jlicht
2023-03-15  0:55   ` [bug#59188] [PATCH v5 17/17] gnu: libnode: Use node-lts as base jlicht
2023-03-30 12:31 ` [bug#59188] [PATCH v6 00/19] Updating node-lts to 18.X jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 01/19] build-system: node: Use `--install-links' with `npm install' jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 02/19] gnu: node-acorn: Disable tests jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 03/19] gnu: node-acorn: Remove lifecycle script jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 04/19] gnu: node-acorn: Fix broken transpilation jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 05/19] gnu: node-buffer-crc32: Ignore development dependencies jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 06/19] gnu: node-crx3: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 07/19] gnu: node-minimist: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 08/19] gnu: node-pbf: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 09/19] gnu: node-protocol-buffers-schema: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 10/19] gnu: node-resolve-protobuf-schema: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 11/19] gnu: node-ieee754: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 12/19] gnu: node-yazl: " jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 13/19] gnu: node-uglify-js: Update to 3.14.2 jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 14/19] gnu: node-serialport: Avoid gyp rebuilds jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 15/19] gnu: node-openzwave-shared: Fix compilation for new versions of node jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 16/19] gnu: libuv-for-node: Update to 1.44.2 jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 17/19] gnu: llhttp-bootstrap: Update to 6.0.10 jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 18/19] gnu: node-lts: Update to 18.15.0 jlicht
2023-03-30 12:31   ` [bug#59188] [PATCH v6 19/19] gnu: libnode: Use node-lts as base jlicht
2023-04-13 15:55   ` [bug#59188] [PATCH v6 00/19] Updating node-lts to 18.X Leo Famulari
2023-04-17 14:51 ` [bug#59188] [PATCH v7 00/20] " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 01/20] build-system: node: Use `--install-links' with `npm install' jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 02/20] gnu: node-acorn: Disable tests jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 03/20] gnu: node-acorn: Remove lifecycle script jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 04/20] gnu: node-acorn: Fix broken transpilation jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 05/20] gnu: node-buffer-crc32: Ignore development dependencies jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 06/20] gnu: node-crx3: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 07/20] gnu: node-minimist: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 08/20] gnu: node-pbf: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 09/20] gnu: node-protocol-buffers-schema: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 10/20] gnu: node-resolve-protobuf-schema: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 11/20] gnu: node-ieee754: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 12/20] gnu: node-yazl: " jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 13/20] gnu: node-uglify-js: Update to 3.14.2 jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 14/20] gnu: node-serialport: Avoid gyp rebuilds jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 15/20] gnu: node-openzwave-shared: Fix compilation for new versions of node jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 16/20] gnu: emacs-nodejs-repl: Build with node-lts jlicht
2023-04-17 15:37     ` Liliana Marie Prikler
2023-04-17 16:03       ` Jelle Licht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 17/20] gnu: libuv-for-node: Update to 1.44.2 jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 18/20] gnu: llhttp-bootstrap: Update to 6.0.10 jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 19/20] gnu: node-lts: Update to 18.16.0 jlicht
2023-04-17 14:51   ` [bug#59188] [PATCH v7 20/20] gnu: libnode: Use node-lts as base jlicht
2023-04-17 22:08   ` [bug#59188] [PATCH v7 00/20] Updating node-lts to 18.X Mekeor Melire
2023-05-06 12:50 ` bug#59188: " Jelle Licht

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=87bknd2kkq.fsf_-_@fsfe.org \
    --to=jlicht@fsfe.org \
    --cc=59188@debbugs.gnu.org \
    --cc=hako@ultrarare.space \
    --cc=ludo@gnu.org \
    --cc=mail@cbaines.net \
    --cc=mekeor@posteo.de \
    /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.