From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 31 17:26:59 2020 Received: (at 42639) by debbugs.gnu.org; 31 Jul 2020 21:26:59 +0000 Received: from localhost ([127.0.0.1]:38741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k1cYM-0007Nl-TA for submit@debbugs.gnu.org; Fri, 31 Jul 2020 17:26:59 -0400 Received: from mail1.fsfe.org ([217.69.89.151]:39078) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k1cYK-0007NG-Tl for 42639@debbugs.gnu.org; Fri, 31 Jul 2020 17:26:58 -0400 From: Jelle Licht To: Formbi , Formbi via Guix-patches , 42639@debbugs.gnu.org Subject: Re: [bug#42639] [PATCH] bump Node to 14.6 In-Reply-To: References: Date: Fri, 31 Jul 2020 23:26:52 +0200 Message-ID: <87ime31ilf.fsf@jlicht.xyz> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42639 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey Formbi, Formbi via Guix-patches via writes: > Subject: [PATCH 2/2] bump node to 14.6 Sadly, recent node versions come bundled with generated code based on the llhttp[1] project. These generated source files can be found in the deps/llhttp/src directory of the 14.6 release, and the annoying thing is that upstream uses typescript to generate these C files. See [2] for my feeble attempt at having upstream take note of this issue to allow for properly bootstrapping lltthp and subsequently recent versions of node. There are some alternative typescript implementations that I unsuccessfully have tried in the past in at least translating the typescript used in llhttp to normal javascript, which we could then interpret using our packaged version of node to build the C files that would allow us to build newer versions of node. The ones I looked at in some detail are: - Sucrase [3] but it doesn't support all used typescript constructs - swc [4] but it actually depends on the normal typescript compiler I'm sorry I don't have better news to share either. Perhaps some guile-guru can drop down from their higher spheres of existence and create a hacky interpreter that translates typescript to extremely-ugly-yet-correct javascript to help us escape this quagmire. - Jelle [1] https://github.com/nodejs/llhttp [2] https://github.com/nodejs/llhttp/issues/14 [3] https://github.com/alangpierce/sucrase/issues/464 [4] https://github.com/swc-project/swc