From patchwork Tue Mar 30 05:27:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28182 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C2CB327BC64; Tue, 30 Mar 2021 06:29:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7FB4927BC63 for ; Tue, 30 Mar 2021 06:29:13 +0100 (BST) Received: from localhost ([::1]:52070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wC-0000iO-M6 for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39690) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w2-0000hw-LX for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38530) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w2-0000YC-ET for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w2-0005jC-BN for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 01/13] build-system: Rewrite node build system. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Timothy Sample , Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708209421823 (code B ref 47282); Tue, 30 Mar 2021 05:29:02 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:14 +0000 Received: from localhost ([127.0.0.1]:50034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vB-0005fq-UJ for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:14 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:59861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6v9-0005fP-4Q for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:08 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 005605C01EF; Tue, 30 Mar 2021 01:28:02 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=mex3pCsBrrb2bjbmrcXoAQSr0v4Cfd61jE7DjHPiP dE=; b=YYhC/zD3RHzLT7O8CTPEWJJ/nSPyYm+X4P+sCn98VqJdZCHsVdKjqqMch NPwGu+cOePBx5YXNoLWuEXA8AnMSe6Qnxgs608j/1xcu+XN9e5PZtMNFghrPGrBg 8TuMlWwDIEAE6d5V70e3jG6Im12LC7YCXquxluzCG+qtGwdJFPKJMTuPKjFXuA9C txMyPB6FqAjwo5grupAhv/RY3v8JV6eNU8LtYAPsMC27Bu7DM1neuRPKbx2/bUx1 7f9vj/ES2N3N3LGMJNY+5O8ZOa4ufYxfc3NsQBbriTIGF8KN02P4wBwCL4WwUee9 TxZxrw6mNQsFvxpR/Jh2vsowve3FA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepvfhimhho thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrf grthhtvghrnhepieeiheegtdfhhfetgfffjeegvdekvdevteefueeffeeggefhvdevteeu gfdviefgnecuffhomhgrihhnpehgihhthhhusgdrtghomhdpghhnuhdrohhrghdpnhhpmh hjshdrohhrghenucfkphepjeegrdduudeirddukeeirdeggeenucevlhhushhtvghrufhi iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhord gtohhm X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 4CAA624005B; Tue, 30 Mar 2021 01:28:01 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:31 -0400 Message-Id: <20210330052743.575-1-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * guix/build/node-build-system.scm: Rewrite it. * guix/build-system/node.scm: Adjust accordingly. * gnu/packages/node-xyz.scm (node-semver): Likewise. Co-authored-by: Timothy Sample --- gnu/packages/node-xyz.scm | 6 +- guix/build-system/node.scm | 27 ++-- guix/build/node-build-system.scm | 207 +++++++++++++++---------------- 3 files changed, 110 insertions(+), 130 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index b1d6d4ce59..60cc005ea4 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -261,7 +261,11 @@ function with browser support.") "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - `(#:tests? #f)) ;; FIXME: Tests depend on node-tap + '(#:tests? #f ; FIXME: Tests depend on node-tap + #:phases + (modify-phases %standard-phases + ;; The only dependency to check for is tap, which we don't have. + (delete 'configure)))) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index a8c5eed09b..4991ed53a5 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jelle Licht +;;; Copyright © 2019 Timothy Sample ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +18,6 @@ ;;; along with GNU Guix. If not, see . (define-module (guix build-system node) - #:use-module (guix store) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix derivations) @@ -25,22 +25,15 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (ice-9 match) - #:export (npm-meta-uri - %node-build-system-modules + #:export (%node-build-system-modules node-build node-build-system)) -(define (npm-meta-uri name) - "Return a URI string for the metadata of node module NAME found in the npm -registry." - (string-append "https://registry.npmjs.org/" name)) - (define %node-build-system-modules ;; Build-side modules imported by default. `((guix build node-build-system) (guix build json) - (guix build union) - ,@%gnu-build-system-modules)) ;; TODO: Might be not needed + ,@%gnu-build-system-modules)) (define (default-node) "Return the default Node package." @@ -76,7 +69,7 @@ registry." (define* (node-build store name inputs #:key - (npm-flags ''()) + (test-target "test") (tests? #t) (phases '(@ (guix build node-build-system) %standard-phases)) @@ -86,8 +79,6 @@ registry." (guile #f) (imported-modules %node-build-system-modules) (modules '((guix build node-build-system) - (guix build json) - (guix build union) (guix build utils)))) "Build SOURCE using NODE and INPUTS." (define builder @@ -97,12 +88,10 @@ registry." #:source ,(match (assoc-ref inputs "source") (((? derivation? source)) (derivation->output-path source)) - ((source) - source) - (source - source)) + ((source) source) + (source source)) #:system ,system - #:npm-flags ,npm-flags + #:test-target ,test-target #:tests? ,tests? #:phases ,phases #:outputs %outputs @@ -129,5 +118,5 @@ registry." (define node-build-system (build-system (name 'node) - (description "The standard Node build system") + (description "The Node build system") (lower lower))) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 7799f03595..a55cab237c 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copyright © 2016 Jelle Licht +;;; Copyright © 2016, 2020 Jelle Licht +;;; Copyright © 2019, 2021 Timothy Sample ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,144 +20,130 @@ (define-module (guix build node-build-system) #:use-module ((guix build gnu-build-system) #:prefix gnu:) - #:use-module (guix build json) - #:use-module (guix build union) #:use-module (guix build utils) + #:use-module (guix build json) + #:use-module (ice-9 ftw) #:use-module (ice-9 match) - #:use-module (ice-9 popen) - #:use-module (ice-9 regex) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) #:export (%standard-phases node-build)) ;; Commentary: ;; -;; Builder-side code of the standard Node/npm package build procedure. +;; Builder-side code of the standard Node/NPM package install procedure. ;; ;; Code: -(define* (read-package-data #:key (filename "package.json")) - (call-with-input-file filename - (lambda (port) - (read-json port)))) +(define (set-home . _) + (with-directory-excursion ".." + (let loop ((i 0)) + (let ((dir (string-append "npm-home-" (number->string i)))) + (if (directory-exists? dir) + (loop (1+ i)) + (begin + (mkdir dir) + (setenv "HOME" (string-append (getcwd) "/" dir)) + (format #t "set HOME to ~s~%" (getenv "HOME"))))))) + #t) -(define* (build #:key inputs #:allow-other-keys) - (define (build-from-package-json? package-file) - (let* ((package-data (read-package-data #:filename package-file)) - (scripts (assoc-ref package-data "scripts"))) - (assoc-ref scripts "build"))) - "Build a new node module using the appropriate build system." - ;; XXX: Develop a more robust heuristic, allow override - (cond ((file-exists? "gulpfile.js") - (invoke "gulp")) - ((file-exists? "gruntfile.js") - (invoke "grunt")) - ((file-exists? "Makefile") - (invoke "make")) - ((and (file-exists? "package.json") - (build-from-package-json? "package.json")) - (invoke "npm" "run" "build"))) +(define (module-name module) + (let* ((package.json (string-append module "/package.json")) + (package-meta (call-with-input-file package.json read-json))) + (assoc-ref package-meta "name"))) + +(define (index-modules input-paths) + (define (list-modules directory) + (append-map (lambda (x) + (if (string-prefix? "@" x) + (list-modules (string-append directory "/" x)) + (list (string-append directory "/" x)))) + (filter (lambda (x) + (not (member x '("." "..")))) + (or (scandir directory) '())))) + (let ((index (make-hash-table (* 2 (length input-paths))))) + (for-each (lambda (dir) + (let ((nm (string-append dir "/lib/node_modules"))) + (for-each (lambda (module) + (hash-set! index (module-name module) module)) + (list-modules nm)))) + input-paths) + index)) + +(define* (patch-dependencies #:key inputs #:allow-other-keys) + + (define index (index-modules (map cdr inputs))) + + (define (resolve-dependencies package-meta meta-key) + (fold (lambda (key+value acc) + (match key+value + ('@ acc) + ((key . value) (acons key (hash-ref index key value) acc)))) + '() + (or (assoc-ref package-meta meta-key) '()))) + + (with-atomic-file-replacement "package.json" + (lambda (in out) + (let ((package-meta (read-json in))) + (assoc-set! package-meta "dependencies" + (append + '(@) + (resolve-dependencies package-meta "dependencies") + (resolve-dependencies package-meta "peerDependencies"))) + (assoc-set! package-meta "devDependencies" + (append + '(@) + (resolve-dependencies package-meta "devDependencies"))) + (write-json package-meta out)))) #t) -(define* (link-npm-dependencies #:key inputs #:allow-other-keys) - (define (inputs->node-inputs inputs) - "Filter the directory part from INPUTS." - (filter (lambda (input) - (match input - ((name . _) (node-package? name)))) - inputs)) - (define (inputs->directories inputs) - "Extract the directory part from INPUTS." - (match inputs - (((names . directories) ...) - directories))) - (define (make-node-path root) - (string-append root "/lib/node_modules/")) - - (let ((input-node-directories (inputs->directories - (inputs->node-inputs inputs)))) - (union-build "node_modules" - (map make-node-path input-node-directories)) +(define* (configure #:key outputs inputs #:allow-other-keys) + (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) + (invoke npm "--offline" "--ignore-scripts" "install") #t)) -(define configure link-npm-dependencies) +(define* (build #:key inputs #:allow-other-keys) + (let ((package-meta (call-with-input-file "package.json" read-json))) + (if (and=> (assoc-ref package-meta "scripts") + (lambda (scripts) + (assoc-ref scripts "build"))) + (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) + (invoke npm "run" "build")) + (format #t "there is no build script to run~%")) + #t)) -(define* (check #:key tests? #:allow-other-keys) +(define* (check #:key tests? inputs #:allow-other-keys) "Run 'npm test' if TESTS?" (if tests? - ;; Should only be enabled once we know that there are tests - (invoke "npm" "test")) + (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) + (invoke npm "test")) + (format #t "test suite not run~%")) #t) -(define (node-package? name) - "Check if NAME correspond to the name of an Node package." - (string-prefix? "node-" name)) +(define* (repack #:key inputs #:allow-other-keys) + (invoke "tar" "-czf" "../package.tgz" ".") + #t) (define* (install #:key outputs inputs #:allow-other-keys) - "Install the node module to the output store item. The module itself is -installed in a subdirectory of @file{node_modules} and its runtime dependencies -as defined by @file{package.json} are symlinked into a @file{node_modules} -subdirectory of the module's directory. Additionally, binaries are installed in -the @file{bin} directory." - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/lib")) - (binaries (string-append out "/bin")) - (data (read-package-data)) - (modulename (assoc-ref data "name")) - (binary-configuration (match (assoc-ref data "bin") - (('@ configuration ...) configuration) - ((? string? configuration) configuration) - (#f #f))) - (dependencies (match (assoc-ref data "dependencies") - (('@ deps ...) deps) - (#f #f)))) - (mkdir-p target) - (copy-recursively "." (string-append target "/node_modules/" modulename)) - ;; Remove references to dependencies - (delete-file-recursively - (string-append target "/node_modules/" modulename "/node_modules")) - (cond - ((string? binary-configuration) - (begin - (mkdir-p binaries) - (symlink (string-append target "/node_modules/" modulename "/" - binary-configuration) - (string-append binaries "/" modulename)))) - ((list? binary-configuration) - (for-each - (lambda (conf) - (match conf - ((key . value) - (begin - (mkdir-p (dirname (string-append binaries "/" key))) - (symlink (string-append target "/node_modules/" modulename "/" - value) - (string-append binaries "/" key)))))) - binary-configuration))) - (when dependencies - (mkdir-p - (string-append target "/node_modules/" modulename "/node_modules")) - (for-each - (lambda (dependency) - (let ((dependency (car dependency))) - (symlink - (string-append (assoc-ref inputs (string-append "node-" dependency)) - "/lib/node_modules/" dependency) - (string-append target "/node_modules/" modulename - "/node_modules/" dependency)))) - dependencies)) + "Install the node module to the output store item." + (let ((out (assoc-ref outputs "out")) + (npm (string-append (assoc-ref inputs "node") "/bin/npm"))) + (invoke npm "--prefix" out + "--global" + "--offline" + "--loglevel" "info" + "--production" + "install" "../package.tgz") #t)) - (define %standard-phases (modify-phases gnu:%standard-phases + (add-after 'unpack 'set-home set-home) + (add-before 'configure 'patch-dependencies patch-dependencies) (replace 'configure configure) (replace 'build build) - (replace 'install install) - (delete 'check) - (add-after 'install 'check check) - (delete 'strip))) + (replace 'check check) + (add-before 'install 'repack repack) + (replace 'install install))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) From patchwork Tue Mar 30 05:27:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28181 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2759D27BC63; Tue, 30 Mar 2021 06:29:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4002627BC65 for ; Tue, 30 Mar 2021 06:29:15 +0100 (BST) Received: from localhost ([::1]:52116 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wE-0000k3-DV for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w3-0000i3-Km for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38531) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w2-0000YY-RA for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w2-0005jJ-Nl for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 02/13] gnu: Add libuv-for-node Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708209921842 (code B ref 47282); Tue, 30 Mar 2021 05:29:02 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:19 +0000 Received: from localhost ([127.0.0.1]:50038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vL-0005gD-5H for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:19 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:41385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vJ-0005ft-H8 for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:17 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 7161D5C0178; Tue, 30 Mar 2021 01:28:12 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=MExpIYFG0FICu+P24sLeMR7MNQJXxdCjFPnu+s91JMI=; b=qWXVXb3L GHqkyC0rGoR9GMQXJHr3geshK0jf/5AHF5XCMgiFeY8Trm6KZ348xeIp+W2saz0K RQhmdZEAQm96PQx/Tax2Z+RkpNeztHDRfgxluF5IhRs+acUjRrwtCGMfxwhuWHkd XqfOajWMS10ScOWupugQilvKexL9BQlY4b0vSUQqgrA2g669BDQbzqnT0iNNG0He hqzOCiMXGETvrxY4BhdoLSKVWmkSW9nS4oI+jG8EGH+H3pAT6OmsCcRvdu6aP2si VbE92z6tdrQvRneofof6fX9ling/eHzdJxo6/iDIVn1o97aliGGE3Ij/Lj28PalK AmdRtEvIUnUIxg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeekhfeuieeigfegtedvjeeluddtgfetgeffteelgeejleevueekveeuveef veduleenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhlihgsuhhvrdhorhhgnecukf hppeejgedrudduiedrudekiedrgeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr rghmpehmrghilhhfrhhomhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 353D324005C; Tue, 30 Mar 2021 01:28:12 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:32 -0400 Message-Id: <20210330052743.575-2-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/libevent.scm (libuv-for-node): New variable. --- gnu/packages/libevent.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 7109d9a88d..0e683570d3 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -134,6 +134,22 @@ resolution, asynchronous file system operations, and threading primitives.") ;; details. Documentation is CC-BY 4.0 as of 1.12.0; see 'LICENSE-docs'. (license (list expat cc-by4.0)))) +(define-public libuv-for-node + ;; When upgrading Node, also upgrade this. Get the version from + ;; https://github.com/nodejs/node/blob/master/deps/uv/include/uv/version.h + (package + (inherit libuv) + (name "libuv") + (version "1.40.0") + (source (origin + (method url-fetch) + (uri (string-append "https://dist.libuv.org/dist/v" version + "/libuv-v" version ".tar.gz")) + (sha256 + (base32 + "1551k3ab27vbg9517l9b4iqbramwxdkwgpf53knas05cbfwhvab1")))) + (properties '((hidden? . #t))))) + (define-public perl-anyevent (package (name "perl-anyevent") From patchwork Tue Mar 30 05:27:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28180 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C030A27BC67; Tue, 30 Mar 2021 06:29:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A232F27BC64 for ; Tue, 30 Mar 2021 06:29:14 +0100 (BST) Received: from localhost ([::1]:52096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wD-0000jL-OO for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w3-0000i4-Ld for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38532) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w3-0000Ya-82 for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w3-0005jS-3t for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 03/13] gnu: node: Use license prefix. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708210421861 (code B ref 47282); Tue, 30 Mar 2021 05:29:03 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:24 +0000 Received: from localhost ([127.0.0.1]:50042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vQ-0005gX-DY for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:24 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:42831) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vO-0005g6-IL for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:22 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 7ACCC5C011D; Tue, 30 Mar 2021 01:28:17 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=eoKzkNUOhbInOIItNjm+PucG0+rcQ2pDkbBXZOSyw1c=; b=mw0USeo4 SXSMrsb3OAEI9SkSKK8q+I+ArXcQKmSeAmcspSAkYQic5q9CetNIhx2mgTkUeV9x ksz1O/7IXwTfuiTo5UW9HznkzizW8ujjwP3brrhn/+pVckb3lEY8GPA3HrlK8EJn iTubmDKz53MCsKQ2IC3YHk0N6filJZ+vuVO8Ro9I+o2Hg2wM9hXFz31Bv4aPw3Ii YPV5rV/SRNveRDulmF+Y0ladKfuxhkbBs5U0YViklaQ2Y23ZawZ8Y8vEw0fFDJWM NA9/932kyUuZF4BSHQjfK+tRBzW0pwj1ZFVMXlIM9LReWt4ajw3KKsiIvnpo+AIT oyq3rxeHXztd7Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeehffekffevieffteejudfhkedthfdtteetkeevheejkeegveetfefggfdu gfetkeenucffohhmrghinhepghhnuhdrohhrghdpnhhouggvjhhsrdhorhhgnecukfhppe ejgedrudduiedrudekiedrgeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm pehmrghilhhfrhhomhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 449E524005D; Tue, 30 Mar 2021 01:28:17 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:33 -0400 Message-Id: <20210330052743.575-3-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node)[license]: Use prefix for license. --- gnu/packages/node.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a0df3d2cad..82a2ca7ce0 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -26,7 +26,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages node) - #:use-module ((guix licenses) #:select (expat)) + #:use-module ((guix licenses) #:prefix license:) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix packages) #:use-module (guix derivations) @@ -207,7 +207,7 @@ event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.") (home-page "https://nodejs.org/") - (license expat) + (license license:expat) (properties '((max-silent-time . 7200) ;2h, needed on ARM (timeout . 21600))))) ;6h From patchwork Tue Mar 30 05:27:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28184 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 8699227BC64; Tue, 30 Mar 2021 06:29:21 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4A23827BC63 for ; Tue, 30 Mar 2021 06:29:21 +0100 (BST) Received: from localhost ([::1]:52874 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wK-00016P-Dy for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w3-0000iF-VW for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38533) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w3-0000Yj-ON for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w3-0005ja-Kr for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 04/13] gnu: Add node-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708210921879 (code B ref 47282); Tue, 30 Mar 2021 05:29:03 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:29 +0000 Received: from localhost ([127.0.0.1]:50046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vU-0005gp-OY for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:28 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:36595) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vR-0005gM-GA for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:25 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 6A8E55C01F4; Tue, 30 Mar 2021 01:28:20 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Tue, 30 Mar 2021 01:28:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=419ho2bcWzMB6Oo7VAiHj/BTlTFGvC6jakPC20PbNt8=; b=rgxbdrFe oj7yLgHu56ErjFMPwQTlO+aF+BkFg26rHwBpBiOBSmdkE1bAad2yqchJ/DJLJxWu GxzYmUMWNR1xv87MDLcIEvQrlEg43YF/xBMDgsPHjufL0/Cg7EEhfmp+2UzizUEs VpGiJSZjOpE9M9b6O/FHOvfHzzAjVW+Pd09x6PZynPKoWyt56Q/gQf20g5dGf2eq YnKUCOrCAssZa0z/jYdXg6ERQU4biw62Hj9A11RmCpBRueYjMmWoy4PQRbZb2h3A fcPe/wiOwuvRtyDkzErDl/Bn4+7fSGu6mfWzzkFWBvFWnBKfaS4E7xNhtQ5Yrm3Y hFqqpoYFTGBEHQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpedtveeiffduveeiiedtheeiveeitefhgeevleegteevhedvffeivdffuddu udekudenucfkphepjeegrdduudeirddukeeirdeggeenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 4281324005B; Tue, 30 Mar 2021 01:28:20 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:34 -0400 Message-Id: <20210330052743.575-4-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node (node-bootstrap): Add hidden alias for node. --- gnu/packages/node.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 82a2ca7ce0..73d022d87f 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -211,6 +211,11 @@ devices.") (properties '((max-silent-time . 7200) ;2h, needed on ARM (timeout . 21600))))) ;6h +;; This should be the latest version of node that still builds without +;; depending on llhttp. +(define-public node-bootstrap + (hidden-package node)) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28183 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D09E227BC64; Tue, 30 Mar 2021 06:29:16 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8C86427BC66 for ; Tue, 30 Mar 2021 06:29:15 +0100 (BST) Received: from localhost ([::1]:52150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wE-0000lD-Nx for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39698) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w4-0000iZ-Em for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38534) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w4-0000Za-80 for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w4-0005jl-5M for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 05/13] gnu: Add node-semver-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708211621905 (code B ref 47282); Tue, 30 Mar 2021 05:29:04 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:36 +0000 Received: from localhost ([127.0.0.1]:50050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vc-0005hF-1i for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:36 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:52905) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6va-0005gw-6W for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:34 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 20AB85C00A2; Tue, 30 Mar 2021 01:28:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=H5wPiPJKh//os+ycLppQDQaV1EMVf8rVlXqW4GEhSno=; b=kFsl/rBr Qq4aU70QzaaF4/sopAprqPqbko0AN3EYrteGQC/zYErrm6sjbWlSW0RinhqyWnwm KqzqNcnwRfs3ftH+kFoSBw9grFU2e52+2T46JKRgZbEHLP3tp9Ry6N/Lp+KaKp54 +Ci82MUHaJ9krikE+kM3LAQqPs7Ot2gBbg/gqgaefWPwnpiiWYU0p4+wiwc0X773 QbzNTf7vsrC0vRxkWLUcrIkO9NOAE7WoEbMZPZ8/u2YZ9NA0igGwhP3SU8rW0ykd 7umiOP+frTAl7Ohh3Ygv1yb7/pMEwNByhUpCgmTNToaPbyYxfnCYrbLiU791tDHl zR80TWnG8AHqEQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeffleektedvjeelteehvedtjefhleetkedvgfdtvdegudelueefleehueeh tefhheenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhsvghmvhgvrhdrohhrghenuc fkphepjeegrdduudeirddukeeirdeggeenucevlhhushhtvghrufhiiigvpedtnecurfgr rhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id DB08324005B; Tue, 30 Mar 2021 01:28:28 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:35 -0400 Message-Id: <20210330052743.575-5-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-semver-bootstrap): New variable. --- gnu/packages/node.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 73d022d87f..773cef3716 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -216,6 +217,35 @@ devices.") (define-public node-bootstrap (hidden-package node)) +;; Duplicate of node-semver +(define-public node-semver-bootstrap + (package + (name "node-semver") + (version "7.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/npm/node-semver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/npm/node-semver") + (properties '((hidden? . #t))) + (synopsis "Parses semantic versions strings") + (description + "@code{node-semver} is a JavaScript implementation of the +@uref{https://semver.org/, SemVer.org} specification.") + (license license:isc))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28186 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A7F2527BC64; Tue, 30 Mar 2021 06:29:23 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6BFDF27BC63 for ; Tue, 30 Mar 2021 06:29:23 +0100 (BST) Received: from localhost ([::1]:53066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wM-0001B3-HU for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w4-0000is-Rw for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38535) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w4-0000Zx-Kq for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w4-0005js-HS for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 06/13] gnu: Add node-ms-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708212121930 (code B ref 47282); Tue, 30 Mar 2021 05:29:04 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:41 +0000 Received: from localhost ([127.0.0.1]:50056 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vh-0005hc-F6 for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:41 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:57023) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vd-0005h3-OQ for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:38 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A90BC5C017D; Tue, 30 Mar 2021 01:28:32 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=Cqtrim9K16Jr9mv9ZR+7pEL6tTOrB9/ldvBJPcSSq4c=; b=trCwl+1t IW1MaWd+UdlYp/i2wR1NS9SKjd476V1fjtxtqO3xJBYhHfjNUrwYvlYkhXngpSmZ RHqkr1iZcilxY13o8CU/GiE8R6eUit57SvfrViagz1ZaQUd30ZSKZVlsu7eeJfpP EYFYhEsyIGPdORIO5So/ea+QnvGUSkSXgOe3EcXzIXFPqRkdrzeK6h4oRLBOCyqY UGBVU3qJ1DfIHHyiB4n3MF92VTYRjyL7zJhMgQGzqhDCwON2fZlRquGQdxKrehwp n++ifQ2p9H+MlDeWpli9BpvLjbbJsyX2V6WdVlmFys4Efc2wGQe8nQopm6/0/f/L 5ZP7ivWcv5P52w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpedvteeitdevhffhgfdugefggffghfduveehfeeuleevvddujeeghfeuleek hfehffenucffohhmrghinhepshgvmhhvvghrrdhorhhgpdhgihhthhhusgdrtghomhenuc fkphepjeegrdduudeirddukeeirdeggeenucevlhhushhtvghrufhiiigvpedtnecurfgr rhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 71A8C24005B; Tue, 30 Mar 2021 01:28:32 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:36 -0400 Message-Id: <20210330052743.575-6-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-ms-bootstrap): New variable. --- gnu/packages/node.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 773cef3716..1d17502df7 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -31,8 +31,10 @@ #:use-module (guix packages) #:use-module (guix derivations) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages adns) #:use-module (gnu packages base) @@ -246,6 +248,34 @@ devices.") @uref{https://semver.org/, SemVer.org} specification.") (license license:isc))) +(define-public node-ms-bootstrap + (package + (name "node-ms") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pjxzbi4j8pinlsc7yxvfrh0b47kb2dc4lfc2rjq4wx5bdwl33fj")))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/zeit/ms#readme") + (properties '((hidden? . #t))) + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time +formats to milliseconds.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28187 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 04F9E27BC65; Tue, 30 Mar 2021 06:29:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id B735627BC63 for ; Tue, 30 Mar 2021 06:29:29 +0100 (BST) Received: from localhost ([::1]:53562 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wS-0001NF-Sb for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w5-0000jN-8q for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38536) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w5-0000a4-0g for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w4-0005jz-Ts for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 07/13] gnu: Add node-binary-search-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708212221936 (code B ref 47282); Tue, 30 Mar 2021 05:29:04 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:42 +0000 Received: from localhost ([127.0.0.1]:50058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vh-0005hf-Re for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:42 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:55633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vf-0005hD-UW for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:40 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D557E5C011D; Tue, 30 Mar 2021 01:28:34 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=UdZfgtlZke/qT4tEtsxQKAhGi9wW5J2nCoplvf+DZ9U=; b=QWTxQzSd JnqOG2IsjirPUsmR6yL6UQgTJxF4+VbwLwHryXB7g9iQAW/IOuE9V1sst2OvKUfi EIyJnAazJHpJLzOUR7hnoEdsZAvUoXZWmPs799yJLPykyhg1FTqfq2k2aJLVN0+X mdlbTHhuHa089M9tO7nMXOcskrmd/eZmB+AqPX87/AlH7MBVaQrNWTs2MLCW8/mC MQKpJfLo4sUx1b8XxQ/yuVBqx0y8RJrXRY2jWKgEa6L131QgZSice8UypfHh2CKk NJnfVCi7V96iELEOsoQgp2bvItd4DRmLgqf2K9lfnvkI57yH1NmLKzg3cCcofZBp XIRkvy/wD3EEpQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeegvedvteeludehkeejleehjefhvdfhhfetfeeghffhfeekjeetteffkeeh heejkeenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeejgedrudduiedrud ekiedrgeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id AE169240057; Tue, 30 Mar 2021 01:28:34 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:37 -0400 Message-Id: <20210330052743.575-7-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-binary-search-bootstrap): New variable. --- gnu/packages/node.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 1d17502df7..21d6052c06 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -276,6 +276,33 @@ devices.") formats to milliseconds.") (license license:expat))) +(define-public node-binary-search-bootstrap + (package + (name "node-binary-search") + (version "1.3.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/darkskyapp/binary-search.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xr2msdc143cd3xwgq7n3rhzy7j8wrnaidxl0r6l6b6g3mpbpjig")))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/darkskyapp/binary-search#readme") + (properties '((hidden? . #t))) + (synopsis "Tiny binary search function with comparators") + (description "This package is a binary search function for Node.js.") + (license license:cc0))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28189 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 922F327BC64; Tue, 30 Mar 2021 06:29:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 5D58D27BC63 for ; Tue, 30 Mar 2021 06:29:37 +0100 (BST) Received: from localhost ([::1]:54158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wa-0001b6-Ht for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w6-0000ko-LC for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38539) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w6-0000ah-Dx for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w5-0005k8-B8 for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 08/13] gnu: Add node-debug-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708213121972 (code B ref 47282); Tue, 30 Mar 2021 05:29:05 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:51 +0000 Received: from localhost ([127.0.0.1]:50066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vr-0005iJ-7o for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:51 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:36425) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vj-0005hT-Tt for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:44 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D14105C017D; Tue, 30 Mar 2021 01:28:38 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=fQ2bBOmeX7Ttjro5C92plbRdniIOzMMDaNqSb2212gU=; b=njJXAjzr h8+wTTax0nxZZP4sYMDXAGpnHBmVxIZqzrWO8TouFoGeEiWJn/xs/qecU3NQTtvJ Wy+OY5mMoXc2VrN+IeyZOli4RFf5KJIKM8EY3FxTFplAsUrjZimyCp7JLe3+TiJF XLzitSwhyZt8X4dNWQG7DaXwywYadjKuDRBeFuZAV0V0MeQDIWIqAUUqobY0EhEG MyShdJqNU0ArJZ9W2iTc8/3wlBejDNJpNhyNWqWy8JZhLahlNha98DcdJ0eBpQG2 2gdi0xgPpJ7Wk2cVINbJirNQjeCb/6IwJ9I65yGJwQm99/lGrR3o7mpMPLakaJWh TEDiux6p7qf/5A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeegvedvteeludehkeejleehjefhvdfhhfetfeeghffhfeekjeetteffkeeh heejkeenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeejgedrudduiedrud ekiedrgeegnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehmrghilhhfrhho mhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id A843E240054; Tue, 30 Mar 2021 01:28:38 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:38 -0400 Message-Id: <20210330052743.575-8-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-debug-bootstrap): New variable. --- gnu/packages/node.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 21d6052c06..6c4c02265d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -303,6 +303,36 @@ formats to milliseconds.") (description "This package is a binary search function for Node.js.") (license license:cc0))) +(define-public node-debug-bootstrap + (package + (name "node-debug") + (version "4.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/visionmedia/debug.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08g52r1d4yqcsfdfb7n5if33d4cghaq75gx5n9hj6m6fd8jfp2pi")))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs `(("node-ms" ,node-ms-bootstrap))) + (home-page "https://github.com/visionmedia/debug#readme") + (properties '((hidden? . #t))) + (synopsis "Small debugging utility") + (description "This package contains a tiny JavaScript debugging +utility modelled after Node.js core's debugging technique. It works in +Node.js and web browsers.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28188 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E5DDA27BC64; Tue, 30 Mar 2021 06:29:31 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 7787427BC63 for ; Tue, 30 Mar 2021 06:29:31 +0100 (BST) Received: from localhost ([::1]:53726 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wU-0001Qz-Ll for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w6-0000kc-Ix for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38543) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w6-0000ar-A7 for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w6-0005kU-6V for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 09/13] gnu: Add node-llparse-builder-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708213221987 (code B ref 47282); Tue, 30 Mar 2021 05:29:06 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:52 +0000 Received: from localhost ([127.0.0.1]:50070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vr-0005iU-Qs for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:52 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:46359) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vn-0005hq-Ag for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:47 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 3E21C5C00A2; Tue, 30 Mar 2021 01:28:42 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=JCW7bY9DIK1BcgGljHhVeF36yYMVA5bRxFtKQ5Vv/ao=; b=NrzC5NcB GsgK2QnLCKHB/zTdxSon3ba9aFT3IzbTKI66UhvBpQRN2jVKGKOJiuICgNW4DU7U 1MFmTHSPRu3TIA24z2qeOAx/h9peNJj6ZPY6Nt4ONo4LmT9Z2yNZiy5fpigy42th WcPsEZ/mXcf5Ye7KGzMBM+6d+xdtLgE7DRC+Vm+/CeMd6RO6d6RJf4CsS8qW5gQp jCPUvtsnFcA+L6pxQGuIeSnUUp2FW/SfE/f8AwaSFJOpPMy2BRjCWCf8CDdGlFJD pL/Rpspk/sSKjAGAVp8uIP0vANx8gpdR1JM+OLzF5IvnrHqqIiFGirDD/bi8mJY6 s0TE3zksPRat5g== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeegvedvteeludehkeejleehjefhvdfhhfetfeeghffhfeekjeetteffkeeh heejkeenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeejgedrudduiedrud ekiedrgeegnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehmrghilhhfrhho mhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 06474240054; Tue, 30 Mar 2021 01:28:42 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:39 -0400 Message-Id: <20210330052743.575-9-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-llparse-builder-bootstrap): New variable. --- gnu/packages/node.scm | 65 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6c4c02265d..570d4521ac 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -333,6 +333,71 @@ utility modelled after Node.js core's debugging technique. It works in Node.js and web browsers.") (license license:expat))) +(define-public node-llparse-builder-bootstrap + (package + (name "node-llparse-builder") + (version "1.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/indutny/llparse-builder.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r82iiwqsb73k2fxw7842rjjiixllxpyc6yl9cq4ma6ybkf6xmzm")) + (modules '((guix build utils))) + (snippet + '(begin + ;; FIXME: Unneeded runtime dependency. + ;; https://github.com/indutny/llparse-builder/pull/2 + (substitute* "package.json" + (("\"@types/debug.*,") "")) + ;; Fix imports for esbuild. + ;; https://github.com/evanw/esbuild/issues/477 + (substitute* '("src/node/invoke.ts" + "src/node/base.ts" + "src/node/consume.ts" + "src/node/match.ts" + "src/node/error.ts" + "src/node/pause.ts" + "src/edge.ts" + "src/utils.ts" + "src/loop-checker/index.ts" + "src/loop-checker/lattice.ts" + "src/code/field.ts" + "src/span-allocator.ts") + (("\\* as assert") "assert") + (("\\* as debugAPI") "debugAPI")) + #t)))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((esbuild (string-append (assoc-ref inputs "esbuild") + "/bin/esbuild"))) + (invoke esbuild + "--platform=node" + "--outfile=lib/builder.js" + "--bundle" + "src/builder.ts"))))))) + (inputs + `(("node-binary-search" ,node-binary-search-bootstrap) + ("node-debug" ,node-debug-bootstrap))) + (native-inputs + `(("esbuild" ,esbuild))) + (home-page "https://github.com/indutny/llparse-builder#readme") + (properties '((hidden? . #t))) + (synopsis "Graph builder for consumption by llparse") + (description "This package builds graphs for consumption by llparse.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28185 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id DD60027BC64; Tue, 30 Mar 2021 06:29:22 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4220927BC63 for ; Tue, 30 Mar 2021 06:29:22 +0100 (BST) Received: from localhost ([::1]:52970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wL-00018j-Dc for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39718) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w6-0000kN-1z for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38540) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w5-0000aj-RI for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w5-0005kF-Ni for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 10/13] gnu: Add node-llparse-frontend-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708213121981 (code B ref 47282); Tue, 30 Mar 2021 05:29:05 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:28:51 +0000 Received: from localhost ([127.0.0.1]:50068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vr-0005iL-Ft for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:51 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:36425) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vl-0005hT-1x for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:45 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 049BE5C0178; Tue, 30 Mar 2021 01:28:45 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=fn52lgO37W924lGxHhopYTZ/thqfcRm6Acjl9OCSv3g=; b=fqJ2lMgC BcumT3wtSYB1Y3XjfDqEqUfF5AxdnskVypFfm4nyZRs3LCPIlesEyjh/aRHDXePd TBNzzjZcCEWBUb/c5He5Kat1tCsUU+/TQsdbRvRlVcooKJua2GUThGLGRyptapNu qw4Jm/SIat6C5vChUMhKvcINFpStB50Hyld1+l0hs5iH/ZcqSEwd9tZqJH67lxTd bx6U06arZkT6b1GE008fIl1SoPsBs924RwTCj5h6iialu93ixybs9yinGTUYIRc/ zpMuZbSUPHj7+l13UKki//R3vXxsDwXnzHsSnUKGHr6fRAoE8TDodpkuGvtgIdc6 eV1EoVkQ5dbnkw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeegvedvteeludehkeejleehjefhvdfhhfetfeeghffhfeekjeetteffkeeh heejkeenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeejgedrudduiedrud ekiedrgeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id C207A240054; Tue, 30 Mar 2021 01:28:44 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:40 -0400 Message-Id: <20210330052743.575-10-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-llparse-frontend-bootstrap): New variable. --- gnu/packages/node.scm | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 570d4521ac..16c3decdd4 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -398,6 +398,62 @@ Node.js and web browsers.") (description "This package builds graphs for consumption by llparse.") (license license:expat))) +(define-public node-llparse-frontend-bootstrap + (package + (name "node-llparse-frontend") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/indutny/llparse-frontend.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rm9g4ifyip30svm5cgnf0gx7d45jgh4mpf2hkd092xhngmfvicc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix imports for esbuild. + ;; https://github.com/evanw/esbuild/issues/477 + (substitute* '("src/frontend.ts" + "src/code/field-value.ts" + "src/container/index.ts" + "src/container/wrap.ts" + "src/node/sequence.ts" + "src/node/single.ts" + "src/node/table-lookup.ts" + "src/trie/index.ts") + (("\\* as assert") "assert") + (("\\* as debugAPI") "debugAPI")) + #t)))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((esbuild (string-append (assoc-ref inputs "esbuild") + "/bin/esbuild"))) + (invoke esbuild + "--platform=node" + "--outfile=lib/frontend.js" + "--bundle" + "src/frontend.ts"))))))) + (inputs + `(("node-debug" ,node-debug-bootstrap) + ("node-llparse-builder" ,node-llparse-builder-bootstrap))) + (native-inputs + `(("esbuild" ,esbuild))) + (home-page "https://github.com/indutny/llparse-frontend#readme") + (properties '((hidden? . #t))) + (synopsis "Frontend for the llparse compiler") + (description "This package is a frontend for the llparse compiler.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28190 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id EA2FF27BC64; Tue, 30 Mar 2021 06:29:43 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6B7E027BC63 for ; Tue, 30 Mar 2021 06:29:43 +0100 (BST) Received: from localhost ([::1]:54382 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6wg-0001gb-Ka for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:29:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6w7-0000mN-5O for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38544) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6w6-0000b1-UR for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6w6-0005kb-QB for guix-patches@gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 11/13] gnu: Add node-llparse-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:29:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708214622098 (code B ref 47282); Tue, 30 Mar 2021 05:29:06 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:29:06 +0000 Received: from localhost ([127.0.0.1]:50085 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6w5-0005k7-8l for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:29:05 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:33529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vs-0005i7-Dn for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:52 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 578365C0178; Tue, 30 Mar 2021 01:28:47 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=g4k0XFIjNsdRoQDcdxiXmkgmq9PIZuc5UgxwB6n1chw=; b=OVRowGLS Gjvcn9H25uOngyxGqdjhmLeOVcMsTX6n2U7mCD3LMtwfqQHFXn86Rhkfb11l3/Zi 5pB4ymQ3WQ6em5s1EU+2d+fZEyjGIrAQUkTqGwNQBhlmm+EF3ClDnrf3FJGUGrij xT8zC8GeQlsX7n9Ws+UTdo7Uf0Dh27jGycIb9MJshCq6srXp8Sayx4KZTCzsGCBQ m7YptZ1JygtERcxBAHCIbyydbD3poqXaYAzmOOq+X42b6EwMgnZTuy+jHY/ni6oF cbCNE4tffC+4L1wBhc0zoEw6vUbLZlJdAbZRGv35HtqVid3Z1t4c3hr6gmnzGuU5 I4qrtsaw1ZsCJg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeegvedvteeludehkeejleehjefhvdfhhfetfeeghffhfeekjeetteffkeeh heejkeenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeejgedrudduiedrud ekiedrgeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 1DAC724005A; Tue, 30 Mar 2021 01:28:47 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:41 -0400 Message-Id: <20210330052743.575-11-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-llparse-bootstrap): New variable. --- gnu/packages/node.scm | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 16c3decdd4..5336012e43 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -454,6 +454,62 @@ Node.js and web browsers.") (description "This package is a frontend for the llparse compiler.") (license license:expat))) +(define-public node-llparse-bootstrap + (package + (name "node-llparse") + (version "7.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/indutny/llparse.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10da273iy2if88hp79cwms6c8qpsl1fkgzll6gmqyx5yxv5mkyp6")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix imports for esbuild. + ;; https://github.com/evanw/esbuild/issues/477 + (substitute* '("src/compiler/index.ts" + "src/implementation/c/node/base.ts" + "src/implementation/c/node/table-lookup.ts" + "src/implementation/c/compilation.ts" + "src/implementation/c/helpers/match-sequence.ts" + "src/implementation/c/code/mul-add.ts") + (("\\* as assert") "assert") + (("\\* as debugAPI") "debugAPI")) + #t)))) + (build-system node-build-system) + (arguments + `(#:node ,node-bootstrap + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((esbuild (string-append (assoc-ref inputs "esbuild") + "/bin/esbuild"))) + (invoke esbuild + "--platform=node" + "--outfile=lib/api.js" + "--bundle" + "src/api.ts"))))))) + (inputs + `(("node-debug" ,node-debug-bootstrap) + ("node-llparse-frontend" ,node-llparse-frontend-bootstrap))) + (native-inputs + `(("esbuild" ,esbuild))) + (home-page "https://github.com/nodejs/llparse#readme") + (properties '((hidden? . #t))) + (synopsis "Compile incremental parsers to C code") + (description "This package offers an API for compiling an incremental +parser definition into a C output.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") From patchwork Tue Mar 30 05:27:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28191 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 038E827BC64; Tue, 30 Mar 2021 06:30:12 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4EB0A27BC63 for ; Tue, 30 Mar 2021 06:30:11 +0100 (BST) Received: from localhost ([::1]:54634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6x8-0001nW-Fl for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:30:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6x1-0001n7-76 for guix-patches@gnu.org; Tue, 30 Mar 2021 01:30:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38547) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6x0-0001J1-Vn for guix-patches@gnu.org; Tue, 30 Mar 2021 01:30:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6x0-0005mr-Qq for guix-patches@gnu.org; Tue, 30 Mar 2021 01:30:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 12/13] gnu: Add llhttp-bootstrap. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708214722119 (code B ref 47282); Tue, 30 Mar 2021 05:30:02 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:29:07 +0000 Received: from localhost ([127.0.0.1]:50089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6w6-0005kN-0I for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:29:06 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:55797) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vu-0005iF-H0 for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:57 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 7025B5C00A2; Tue, 30 Mar 2021 01:28:49 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=nn3L8z5KPvUZK18NU7xiCHpaArJCHOgWMdHwsqLsGus=; b=qD4PssSh 3NRPCbeYQZecXp5u4Ce9XaHQ2WBuVFHVWgA4qw69OjDwY3knireSlY1RnrIew3GT dpPKO6QjOliUrL41e4PAdCDTbpOvtI61OKrgo0DwPWknXsHxM2I3juLk36kCoQCv N7EB/mAlyGwutIzQeG4dZDnFS3B5/ZeKA3/bdjcXJcgkdTwy3Z14FFzjYYTKuuoo 82aMeOKPCYKaN2BlFKZU8DojAJJS6cu+FWWZzR0CrlJxKsQPDs2eqRsj7WeUAcPr Is1pwY3bckglykMEc1ZFBYTx0c/1AhKBg4iWIg0kL2839iQF0hz9VagE6yUuIY5Q EJnjolAUp13YUg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeefueehhedvfffhffefleegjeegtefgtdefieefvddtjeehudfgudeuteeh udeuheenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhivghtfhdrohhrghenucfkph epjeegrdduudeirddukeeirdeggeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr mhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 38F3D24005B; Tue, 30 Mar 2021 01:28:49 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:42 -0400 Message-Id: <20210330052743.575-12-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/node.scm (llhttp-bootstrap): New variable. --- gnu/local.mk | 1 + gnu/packages/node.scm | 70 ++++++++++++ .../llhttp-bootstrap-CVE-2020-8287.patch | 100 ++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 gnu/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch diff --git a/gnu/local.mk b/gnu/local.mk index 52a021c2a3..5959a563d1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1366,6 +1366,7 @@ dist_patch_DATA = \ %D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-reproducible-build.patch \ + %D%/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ %D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \ diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 5336012e43..45e5f8feca 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -510,6 +510,76 @@ Node.js and web browsers.") parser definition into a C output.") (license license:expat))) +(define-public llhttp-bootstrap + (package + (name "llhttp") + (version "2.1.3") + (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 + "0pqj7kyyzr1zs4h9yzn5rdxnxspm3wqgsv00765dd42fszlmrmk8")) + (patches (search-patches "llhttp-bootstrap-CVE-2020-8287.patch")) + (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 + `(#:tests? #f ; no tests + #:make-flags (list "CLANG=gcc" + (string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PREFIX=") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((esbuild (string-append (assoc-ref inputs "esbuild") + "/bin/esbuild"))) + (invoke esbuild + "--platform=node" + "--outfile=bin/generate.js" + "--bundle" "bin/generate.ts")))) + (add-before 'install 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (dir) + (mkdir-p (string-append out dir))) + (list "/lib" "/include" "/src")) + #t))) + (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) + #t)))))) + (native-inputs + `(("esbuild" ,esbuild) + ("node" ,node-bootstrap) + ("node-semver" ,node-semver-bootstrap) + ("node-llparse-bootstrap" ,node-llparse-bootstrap))) + (home-page "https://github.com/nodejs/llhttp") + (properties '((hidden? . #t))) + (synopsis "Parser for HTTP messages") + (description "This is a rewrite of +@url{https://github.com/nodejs/http-parser, http-parser} using +@url{https://github.com/nodejs/llparse, llparse} to generate the C +source files.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") diff --git a/gnu/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch b/gnu/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch new file mode 100644 index 0000000000..215c920e53 --- /dev/null +++ b/gnu/packages/patches/llhttp-bootstrap-CVE-2020-8287.patch @@ -0,0 +1,100 @@ +This patch comes from upstream. It corresponds to a patch applied to +the generated C source code for llhttp included in Node.js 14.16.0 +(see commit 641f786bb1a1f6eb1ff8750782ed939780f2b31a). That commit +fixes CVE-2020-8287. With this patch, the output of our +llhttp-bootstrap package matches the files included in Node.js 14.16.0 +exactly. + +commit e9b36ea64709c35ca66094d5cf3787f444029601 +Author: Fedor Indutny +Date: Sat Oct 10 19:56:01 2020 -0700 + + http: unset `F_CHUNKED` on new `Transfer-Encoding` + + Duplicate `Transfer-Encoding` header should be a treated as a single, + but with original header values concatenated with a comma separator. In + the light of this, even if the past `Transfer-Encoding` ended with + `chunked`, we should be not let the `F_CHUNKED` to leak into the next + header, because mere presence of another header indicates that `chunked` + is not the last transfer-encoding token. + +diff --git a/src/llhttp/http.ts b/src/llhttp/http.ts +index f4f1a6e..0a0c365 100644 +--- a/src/llhttp/http.ts ++++ b/src/llhttp/http.ts +@@ -460,11 +460,19 @@ export class HTTP { + .match([ ' ', '\t' ], n('header_value_discard_ws')) + .otherwise(checkContentLengthEmptiness); + ++ // Multiple `Transfer-Encoding` headers should be treated as one, but with ++ // values separate by a comma. ++ // ++ // See: https://tools.ietf.org/html/rfc7230#section-3.2.2 ++ const toTransferEncoding = this.unsetFlag( ++ FLAGS.CHUNKED, ++ 'header_value_te_chunked'); ++ + n('header_value_start') + .otherwise(this.load('header_state', { + [HEADER_STATE.UPGRADE]: this.setFlag(FLAGS.UPGRADE, fallback), + [HEADER_STATE.TRANSFER_ENCODING]: this.setFlag( +- FLAGS.TRANSFER_ENCODING, 'header_value_te_chunked'), ++ FLAGS.TRANSFER_ENCODING, toTransferEncoding), + [HEADER_STATE.CONTENT_LENGTH]: n('header_value_content_length_once'), + [HEADER_STATE.CONNECTION]: n('header_value_connection'), + }, 'header_value')); +@@ -847,6 +855,11 @@ export class HTTP { + return span.start(span.end(this.node(next))); + } + ++ private unsetFlag(flag: FLAGS, next: string | Node): Node { ++ const p = this.llparse; ++ return p.invoke(p.code.and('flags', ~flag), this.node(next)); ++ } ++ + private setFlag(flag: FLAGS, next: string | Node): Node { + const p = this.llparse; + return p.invoke(p.code.or('flags', flag), this.node(next)); +diff --git a/test/request/transfer-encoding.md b/test/request/transfer-encoding.md +index a7d1681..b0891d6 100644 +--- a/test/request/transfer-encoding.md ++++ b/test/request/transfer-encoding.md +@@ -353,6 +353,38 @@ off=106 headers complete method=3 v=1/1 flags=200 content_length=0 + off=106 error code=15 reason="Request has invalid `Transfer-Encoding`" + ``` + ++## POST with `chunked` and duplicate transfer-encoding ++ ++ ++```http ++POST /post_identity_body_world?q=search#hey HTTP/1.1 ++Accept: */* ++Transfer-Encoding: chunked ++Transfer-Encoding: deflate ++ ++World ++``` ++ ++```log ++off=0 message begin ++off=5 len=38 span[url]="/post_identity_body_world?q=search#hey" ++off=44 url complete ++off=54 len=6 span[header_field]="Accept" ++off=61 header_field complete ++off=62 len=3 span[header_value]="*/*" ++off=67 header_value complete ++off=67 len=17 span[header_field]="Transfer-Encoding" ++off=85 header_field complete ++off=86 len=7 span[header_value]="chunked" ++off=95 header_value complete ++off=95 len=17 span[header_field]="Transfer-Encoding" ++off=113 header_field complete ++off=114 len=7 span[header_value]="deflate" ++off=123 header_value complete ++off=125 headers complete method=3 v=1/1 flags=200 content_length=0 ++off=125 error code=15 reason="Request has invalid `Transfer-Encoding`" ++``` ++ + ## POST with `chunked` before other transfer-coding (lenient) + + TODO(indutny): should we allow it even in lenient mode? (Consider disabling From patchwork Tue Mar 30 05:27:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 28192 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id EA12B27BC63; Tue, 30 Mar 2021 06:30:13 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 5667D27BC64 for ; Tue, 30 Mar 2021 06:30:12 +0100 (BST) Received: from localhost ([::1]:54658 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lR6x9-0001oO-FB for patchwork@mira.cbaines.net; Tue, 30 Mar 2021 01:30:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40092) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lR6x1-0001nD-LJ for guix-patches@gnu.org; Tue, 30 Mar 2021 01:30:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38548) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lR6x1-0001KY-E9 for guix-patches@gnu.org; Tue, 30 Mar 2021 01:30:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lR6x1-0005n5-Af for guix-patches@gnu.org; Tue, 30 Mar 2021 01:30:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47282] [PATCH v2 13/13] gnu: Add node-lts. Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 30 Mar 2021 05:30:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47282 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47282@debbugs.gnu.org Cc: Jelle Licht Received: via spool by 47282-submit@debbugs.gnu.org id=B47282.161708214722137 (code B ref 47282); Tue, 30 Mar 2021 05:30:03 +0000 Received: (at 47282) by debbugs.gnu.org; 30 Mar 2021 05:29:07 +0000 Received: from localhost ([127.0.0.1]:50093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6w6-0005ki-UN for submit@debbugs.gnu.org; Tue, 30 Mar 2021 01:29:07 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:59027) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR6vx-0005ig-HK for 47282@debbugs.gnu.org; Tue, 30 Mar 2021 01:28:58 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 731F35C017D; Tue, 30 Mar 2021 01:28:52 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 30 Mar 2021 01:28:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=rMR/7beTDsdT3kmJffi1nTSh8klMzsL5F7x6BgGnY5s=; b=un6z9/r5 8H118PJ621+55qUT8vgQBoxik57aeFe1YDmje6jQHs5QTQz88PRvWVGscI0MZI7W KLoMcp+PcGkGXFQYvaT1rsEwQhiv3ItGnfkct7RYLEfMyhftr68AM7b7DFhp9uaj fscEIfCqh9GGghxNDsqh1HR+8eaNUGq3Jf/sBdoNGL1nm960hyULihPVAfPnqqOG 0RQSq/amd2tm6GBLvxT+60Ze/1N/ujZ/3QxD7efGRxXyGoUYmBSmqLo9TF3Ajvwf S4GyE1EkX6BSBGM2L9Euuf8IyIB4LttNekdGPUSX/IPsknOAFKHQpOjIj10GKw1f hsJomoPJ0ktT4Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehledgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpedvueekfeduteffgeekudegueffheeuledttdegjefguedutdfgkeettdet keegleenucffohhmrghinhepnhhouggvjhhsrdhorhhgpdhgihhthhhusgdrtghomhenuc fkphepjeegrdduudeirddukeeirdeggeenucevlhhushhtvghrufhiiigvpedtnecurfgr rhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: from mrblack.lan (74-116-186-44.qc.dsl.ebox.net [74.116.186.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 39299240057; Tue, 30 Mar 2021 01:28:52 -0400 (EDT) From: Timothy Sample Date: Tue, 30 Mar 2021 01:27:43 -0400 Message-Id: <20210330052743.575-13-samplet@ngyro.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <87k0pprz6n.fsf@ngyro.com> References: <87k0pprz6n.fsf@ngyro.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Jelle Licht * gnu/packages/node.scm (node-lts): New variable. * guix/build-system/node.scm (default-node): Use it. --- gnu/packages/node.scm | 135 +++++++++++++++++++++++++++++++++++++ guix/build-system/node.scm | 2 +- 2 files changed, 136 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 45e5f8feca..249241f110 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -580,6 +580,141 @@ parser definition into a C output.") source files.") (license license:expat))) +(define-public node-lts + (package + (inherit node) + (version "14.16.0") + (source (origin + (method url-fetch) + (uri (string-append "https://nodejs.org/dist/v" version + "/node-v" version ".tar.xz")) + (sha256 + (base32 + "19nz2mhmn6ikahxqyna1dn25pb5v3z9vsz9zb2flb6zp2yk4hxjf")) + (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) + ((#:configure-flags configure-flags) + ''("--shared-cares" + "--shared-libuv" + "--shared-nghttp2" + "--shared-openssl" + "--shared-zlib" + "--shared-brotli" + "--with-intl=system-icu")) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + ;; Node's configure script is actually a python script, so we can't + ;; run it with bash. + (lambda* (#:key outputs (configure-flags '()) inputs + #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (flags (cons (string-append "--prefix=" prefix) + configure-flags))) + (format #t "build directory: ~s~%" (getcwd)) + (format #t "configure flags: ~s~%" flags) + ;; Node's configure script expects the CC environment variable to + ;; be set. + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + (apply invoke + (string-append (assoc-ref inputs "python") + "/bin/python3") + "configure" flags)))) + (replace 'patch-files + (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-stdio-closed.js" + "test/sequential/test-child-process-emfile.js") + (("'/bin/sh'") + (string-append "'" (which "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 "'" (which "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-master-error.js" + "test/parallel/test-cluster-master-kill.js")) + + ;; These require a DNS resolver. + (for-each delete-file + '("test/parallel/test-dns.js" + "test/parallel/test-dns-lookupService-promises.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 (string-prefix? "arm" (%current-system)) + '((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")) + + ;; 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")) + #t)))))) + (inputs + `(("c-ares" ,c-ares) + ("icu4c" ,icu4c-67) + ("libuv" ,libuv-for-node) + ("llhttp" ,llhttp-bootstrap) + ("google-brotli" ,google-brotli) + ("nghttp2" ,nghttp2 "lib") + ("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs + (alist-replace "python" (list python-3) + (package-native-inputs node))))) + (define-public libnode (package/inherit node (name "libnode") diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 4991ed53a5..98f63f87ef 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -39,7 +39,7 @@ "Return the default Node package." ;; Lazily resolve the binding to avoid a circular dependency. (let ((node (resolve-interface '(gnu packages node)))) - (module-ref node 'node))) + (module-ref node 'node-lts))) (define* (lower name #:key source inputs native-inputs outputs system target