Subject: bug#43228: closed (Re: bug#43228: r-v8 doesn't build since node 10.22 update)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 06 Sep 2020 22:24:02 +0000

Your bug report

#43228: r-v8 doesn't build since node 10.22 update

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
43228: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43228
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#43228: r-v8 doesn't build since node 10.22 update
From: Pierre Langlois <[email-masked]>
To: Mark H Weaver <[email-masked]>
Cc: Pierre Langlois <[email-masked]>, [email-masked]
Date: Sun, 06 Sep 2020 23:23:35 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Mark,

Mark H Weaver writes:

> Hi Pierre,
>
> Your new patch looks good to me, but the node-10.22 source field could
> be simplified to avoid repeating the unchanged field (especially the
> snippet), by inheriting from (package-source node) like this:
>
> --8<---------------cut here---------------start------------->8---
>     (source (origin
>               (inherit (package-source node))
>               (uri (string-append "https://nodejs.org/dist/v" version
>                                   "/node-v" version ".tar.xz"))
>               (sha256
>                (base32
>                 "1nz18fa550li10r0kzsm28c2rvvq61nq8bqdygip0rmvbi2paxg0"))))
> --8<---------------cut here---------------end--------------->8---

Oh yeah, that's much better.

>
> Also, it would be great to find a way to fit in the subject line that
> 10.22 is also being kept as a separate binding, especially since "guix
> build node" and most other user commands will still build 10.22.  Maybe
> something like this:
>
>   gnu: node: Downgrade to 10.20.0; add separate 'node-10.22' binding.
>
> What do you think?

Actually, even better, I can split this into two separate commits.

>
> Anyway, feel free to push this, preferably after incorporating these
> suggestions.  If I'm not mistaken, the simplification suggested above
> should not change the .drv file, and therefore not entail a rebuild, so
> testing it should be very quick.

Pushed as 6b7cba0fa897e97b43e76612e3736429426f4d9d and
92db0d39e2aa64be390e86172bd670d98e121c4b, thanks for the review!

Pierre

Subject: r-v8 doesn't build since node 10.22 update
From: Pierre Langlois <[email-masked]>
To: Bug guix <[email-masked]>
Date: Sat, 05 Sep 2020 18:44:52 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix!

I'm afraid I broke r-v8 and a few of its dependants by updating node,
sorry about that!

AFAIK, the new node uses a function from nghttp2 1.41 that's not present
in 1.40, `nghttp2_option_set_max_settings'. However, since curl depends
on nghttp2 we've grafted 1.40 -> 1.41 to avoid a full rebuild.

Looking at r-v8's log [0], it complains that the symbol is missing,
indicating it's trying to link with the old version 1.40. I /believe/
it's inherited it through r-curl.

I'm not sure how to fix this, I'm happy to revert the node update if
needed, let me know! Then we'd have to wait for the next core-updates
cycle so that we no longer graft nghttp2.

Unless somebody has a better idea?

Thanks,
Pierre

[0]: https://ci.guix.gnu.org/log/62nkhf9dnlzgw3dz9khd79khqdpaib79-r-v8-3.2.0