From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 07:42:13 2021 Received: (at submit) by debbugs.gnu.org; 14 Nov 2021 12:42:13 +0000 Received: from localhost ([127.0.0.1]:49366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmEpp-0004Ke-Aw for submit@debbugs.gnu.org; Sun, 14 Nov 2021 07:42:13 -0500 Received: from lists.gnu.org ([209.51.188.17]:42278) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmEpn-0004KV-HG for submit@debbugs.gnu.org; Sun, 14 Nov 2021 07:42:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mmEpn-0001ra-6A for guix-patches@gnu.org; Sun, 14 Nov 2021 07:42:11 -0500 Received: from [2607:f8b0:4864:20::829] (port=35467 helo=mail-qt1-x829.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mmEpa-0007Rr-GN for guix-patches@gnu.org; Sun, 14 Nov 2021 07:42:10 -0500 Received: by mail-qt1-x829.google.com with SMTP id j17so13012909qtx.2 for ; Sun, 14 Nov 2021 04:41:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fd2XS7xL/uD+QIR1ubJy0Jx5AhsLDZMHFDqSi0Jsc5Y=; b=eO1kvBrk9RG/kzdprYOu3Xu/fmN3fHZf7LS5kMUKdLpqI5RKjlTplZlzyhwszzcl12 iAxT3XilIk8rcdwgdlLSDzEpUmafr6M2QcDKNVKBLg8fLj3+fzzbPVcReHtYM8co3A3e NoTank7nNC/ANg7B+UYzSmu/+2yR2opiaq9Y3k3jYa4QCpyY56Yq9YiGlV8A6n7kcHE0 uo3Ll2Mr7zKroO6Qnkj5CUocbkiahVCCJAfDTcQBf7c+IdcLnwMqJUALsUQ8ObODfA21 w98dBLmaGVKGsEbSWGOSjfeWOWkATIg52nRYc1dzb1zr4zoFbWWsWDPZxIiIMxLj/89U Vn4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fd2XS7xL/uD+QIR1ubJy0Jx5AhsLDZMHFDqSi0Jsc5Y=; b=2L0ZaMlhbGa+NIvua07y7IZIQ/n6N1O4CbpPO3xBBrPecJzGPV6fIqWFCaMRSZBGQ4 pEZkKOwsAL4IMW88WJsrdiBkbs4HIacN8A7qUUL8JOAyRGI+clluY42+UlHMQSOddOkx kMvTr7NT1acfEwXrPt6B0f8LBSBf4JdNiPd4Nxblnf3iLv+gknpYM8y+xvLK+W8HKOOU rUxIDBT9SAOuIUUfmEffRsQ7fQjR04yJLkTfgOk7c4NThWRAJQFI/naYDIS6eskBG8Ns Vmh8HpWhDRwWJgiWbNlCPZIX1zHu+M8rJ5G5ETaySxAVFxEWk4Fa3EvrUcNm0opkVFZZ RYdw== X-Gm-Message-State: AOAM5334MYy+3m+xJaEW4JGOB/SiU6sLHXSbW5jSuJaYh4wIOaPCAqDs 12K/HaWb6GkqEpITQiNbA66OgLI+g2OK5GYQ X-Google-Smtp-Source: ABdhPJwlFlHIEQ0A4VSmBcMcPqVrqIw++TK2bC9YylM9u6oJTXEcdSVMDDm1xvMFY7Mdgf5vKgJnmw== X-Received: by 2002:a05:622a:20e:: with SMTP id b14mr26456357qtx.288.1636893715329; Sun, 14 Nov 2021 04:41:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y16sm5916760qtm.12.2021.11.14.04.41.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 04:41:55 -0800 (PST) From: Philip McGrath To: guix-patches@gnu.org Subject: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sun, 14 Nov 2021 07:41:51 -0500 Message-Id: <20211114124151.36743-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::829 (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::829; envelope-from=philip@philipmcgrath.com; helo=mail-qt1-x829.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, PDS_HP_HELO_NORDNS=0.001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) This patch series adds support to `node-build-system` for building native add-ons using `node-gyp`. To confirm that the changes to the build system work, the patch series also adds two packages (plus a few dependencies) representing two major ways of writing Node.js native add-ons: 1. `node-openzwave-shared` uses `node-nan`: “Native Abstractions for Node.js”. 2. `node-sqlite3` uses the Node-API via `node-addon-api`. The patches are adapted from part of a series by Pierre Langlois at : you can find discussion of an earlier version of this spun-off series from to . They are also available in a Git repository at . In the earlier discussion, Pierre and I both thought it was quite confusing that the Scheme variable `node` refers to the bootstrap Node.js, while `node-lts` refers to the newer Node.js that a package specification of `"node"` would resolve to. My analysis is at (tl;dr it seems like an unintentional mistake), and Pierre suggested a solution in . I haven't taken that on in this patch series, but I do think its worth considering. Philip McGrath (11): gnu: node: Avoid duplicating build phases. gnu: node: Update to 10.24.1 for bootstrapping. guix: node-build-system: Support compiling add-ons with node-gyp. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu/packages/node-xyz.scm | 335 +++++++++++++++++++++++++++++++ gnu/packages/node.scm | 143 +++++-------- gnu/packages/zwave.scm | 55 +++++ guix/build-system/node.scm | 11 +- guix/build/node-build-system.scm | 23 +++ 5 files changed, 473 insertions(+), 94 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 07:59:03 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 12:59:03 +0000 Received: from localhost ([127.0.0.1]:49387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmF67-0004o2-4w for submit@debbugs.gnu.org; Sun, 14 Nov 2021 07:59:03 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:33364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmF65-0004nW-5j for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 07:59:01 -0500 Received: by mail-qt1-f180.google.com with SMTP id n15so13071631qta.0 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 04:59:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=j2oH8wkCE8WAna0+WGKhXDeSFWHhrNWtN7zxLH0FIHo=; b=CIH0/GivEKKCGlo3eD0q0Ymu8kJ6mxCkr9UQGab5LmxPEZ61tX/rb8W6kSlgKURi9Z hqQJo7/Is1ChwpQnweiIlBuhu+sZRUlSK+d/XjUSzrz71Q+VrT2LFqyHJ2vklizwW0YM FzBx3Autzk0KeSfb8PxTPC6AHOGk57BZphYp7GB6974dPZEULlPEPMeB3Y42hokoiTZ9 j5OL3heJKq5c01UU+9oi71hsvQ1v66tS1/FlwD0VRnuhuKJPE9X//+/KewYtnvzOUc8U wPikzTAWBwo5fwj1n16Ffvzioftu68QrjaeY4UzAu6FSD5T3UdiPRQf429AIeMjas+I7 ULWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=j2oH8wkCE8WAna0+WGKhXDeSFWHhrNWtN7zxLH0FIHo=; b=lyiPEC0qq0dhfmsWEsHxlmqty0HwP/IQZgZq1eTVhg/rmwDKTnvw0bGGBkunomF8Ah QTyNhWBOqcQgfLtiaXKeNEjuthi9PHCycC3VcDD/zO/D8ov16IoX4EWw1QChnEaT4/Fx 9kboCRSHgdHZI4hqz+rpjEsCvsyp1jh2kaOw72Om8fX4Mmj+DeMjrTYcHauvyeUrbPOO rliQxfBiq3gPLIK/YJPBoECigBRvdZVYYIO71sDWTeSaxYMxELK2clpjUi0Jlmp5n+rW G8nNCF0oNpJyEBu3qFPcoLr7kXvPM4pPPzXHKK+G79pVcSGz7KpWSaek7BuALw9xfY3N aurw== X-Gm-Message-State: AOAM5328yooLjam9P8X5BKBKOL9Xr5EtI+AeFfCQVb3Qp3Sh1Ic/MrT6 0pjaFBGuw6+j1t/KSSwQN7fSBu8luZu8eXcT X-Google-Smtp-Source: ABdhPJxstOYOCo/MHONt0IpQYqkaczpZclBs3RXf68QrI0MXIEutWJyKj/RnQPnQ6Dyb2QiBxxFo3g== X-Received: by 2002:ac8:7d46:: with SMTP id h6mr17578185qtb.379.1636894735231; Sun, 14 Nov 2021 04:58:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p16sm6236063qtx.92.2021.11.14.04.58.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 04:58:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 01/11] gnu: node: Avoid duplicating build phases. Date: Sun, 14 Nov 2021 07:58:30 -0500 Message-Id: <20211114125830.45427-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114124151.36743-1-philip@philipmcgrath.com> References: <20211114124151.36743-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node.scm (node)[arguments]: Split 'patch-files phase into 'patch-hardcoded-program-references and 'delete-problematic-tests. Adapt 'patch-hardcoded-program-references and 'configure to work unmodified on node-lts, but don't try to share 'delete-problematic-tests, because those details seem to change too much between node versions. (node, node-lts)[inputs]: Use bash-minimal rather than bash. (node-lts)[arguments]: Inherit 'patch-hardcoded-program-references, and 'configure phases from the bootstrap node. Remove the 'patch-files phase, keeping its remaining non-inherited work in a new 'replace-llhttp-sources phase. --- gnu/packages/node.scm | 105 +++++++++++++----------------------------- 1 file changed, 32 insertions(+), 73 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index d0ffe8a398..db1658f03d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020, 2021 Pierre Langlois ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,14 +106,22 @@ (define-public node #:test-target "test-ci-js" #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-files + (add-before 'configure 'patch-hardcoded-program-references (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-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") + (substitute* + (let ((common + '("lib/child_process.js" + "lib/internal/v8_prof_polyfill.js" + "test/parallel/test-child-process-spawnsync-shell.js" + "test/parallel/test-stdio-closed.js" + "test/sequential/test-child-process-emfile.js")) + ;; not in bootstap node: + (sigxfsz "test/parallel/test-fs-write-sigxfsz.js")) + (if (file-exists? sigxfsz) + (cons sigxfsz common) + common)) (("'/bin/sh'") (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) @@ -122,7 +131,10 @@ (define-public node "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) + "/bin/env'"))))) + (add-after 'patch-hardcoded-program-references + 'delete-problematic-tests + (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -217,9 +229,13 @@ (define-public node (setenv "CXX" ,(cxx-for-target)) (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python") + (let ((python + (string-append (assoc-ref (or native-inputs inputs) + "python") + "/bin/python"))) + (if (file-exists? python) + python + (string-append python "3"))) "configure" flags)))) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) @@ -256,7 +272,7 @@ (define-public node (variable "NODE_PATH") (files '("lib/node_modules"))))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares) ("http-parser" ,http-parser) @@ -711,66 +727,8 @@ (define-public node-lts libuv "/lib:" zlib "/lib" "'],")))))) - (replace 'configure - ;; Node's configure script is actually a python script, so we can't - ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) native-inputs inputs - #:allow-other-keys) - (let* ((prefix (assoc-ref outputs "out")) - (xflags ,(if (%current-target-system) - `'("--cross-compiling" - ,(string-append - "--dest-cpu=" - (match (%current-target-system) - ((? (cut string-prefix? "arm" <>)) - "arm") - ((? (cut string-prefix? "aarch64" <>)) - "arm64") - ((? (cut string-prefix? "i686" <>)) - "ia32") - ((? (cut string-prefix? "x86_64" <>)) - "x64") - ((? (cut string-prefix? "powerpc64" <>)) - "ppc64") - (_ "unsupported")))) - ''())) - (flags (cons - (string-append "--prefix=" prefix) - (append xflags 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_host" "gcc") - (setenv "CXX_host" "g++") - (setenv "CC" ,(cc-for-target)) - (setenv "CXX" ,(cxx-for-target)) - (setenv "PKG_CONFIG" ,(pkg-config-for-target)) - (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python3") - "configure" flags)))) - (replace 'patch-files + (replace 'delete-problematic-tests (lambda* (#:key inputs #:allow-other-keys) - ;; Fix hardcoded /bin/sh references. - (substitute* '("lib/child_process.js" - "lib/internal/v8_prof_polyfill.js" - "test/parallel/test-child-process-spawnsync-shell.js" - "test/parallel/test-fs-write-sigxfsz.js" - "test/parallel/test-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") - (("'/bin/sh'") - (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) - - ;; Fix hardcoded /usr/bin/env references. - (substitute* '("test/parallel/test-child-process-default-options.js" - "test/parallel/test-child-process-env.js" - "test/parallel/test-child-process-exec-env.js") - (("'/usr/bin/env'") - (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) - ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file @@ -806,8 +764,9 @@ (define-public node-lts ;; TODO: Regenerate certs instead. (for-each delete-file '("test/parallel/test-tls-passphrase.js" - "test/parallel/test-tls-server-verify.js")) - + "test/parallel/test-tls-server-verify.js")))) + (add-after 'delete-problematic-tests 'replace-llhttp-sources + (lambda* (#:key inputs #:allow-other-keys) ;; Replace pre-generated llhttp sources (let ((llhttp (assoc-ref inputs "llhttp"))) (copy-file (string-append llhttp "/src/llhttp.c") @@ -834,7 +793,7 @@ (define-public node-lts ("python" ,python) ("util-linux" ,util-linux))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares) ("icu4c" ,icu4c-67) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:04:34 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:04:34 +0000 Received: from localhost ([127.0.0.1]:49400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBS-0004xx-LT for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:04:34 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:43644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBP-0004xi-Aq for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:04:33 -0500 Received: by mail-qt1-f169.google.com with SMTP id q14so12993696qtx.10 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:04:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZOWdzTy3Qu8bM2k6Fhc5GDGbC330WVG6B06/BR/Lh84=; b=GWzA21X8W6Ee0BxfcYEVQmORi5ZcppAZReLiinlItlHQHv+BV7BKDPc5GbB/kXxEAF BCHxXsn7oh8szk50fsRf15qKDtSAChspXrT7XuuG5RPWl6VdqFJwxo9UCiqeez9yXGWC bim4cdDQHmGKU2gSSWjUm2Wu0bzYQVSb54JSg7YoCt6zmOkfMVToKEas1IVUN19sWt5d cOdRJn30hNBH20WymtZSkjdirZ/h3FdzvDwOlssTja/5ef+aJd36aXPjmXsH3YD0W+0F wXsCya5TO1DEe9SoS8MRKuoWj4iV9eWf+F6IAFKys7VeCg2k4elTXUpIxTZGZyf+qkja nLDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZOWdzTy3Qu8bM2k6Fhc5GDGbC330WVG6B06/BR/Lh84=; b=8AI+Wdn18MapQpZz9uTphKZwBG4XMWSvonWLqfLokYbRMD3dEZIumV8/vnRltJj8Y5 GFANUvr5U8mWVIdtN64Y4Xc+z5sHoDMj9rddwFHPENN2NN0rCZaQFBxa4HdXEGoGAzt6 tIGEKzVjJak4klpej1cViyFawUrm6q0p0SY+P/mMVWuDLMTu+WsMNcQK1t23rxNmehgh Eud1RnHc88AU8Uwc08sL3/tkq3RHnKmMjrufCuL/kPQOe7/Ne4mBl07HamFCSclMPwsN MdlcTixcJHhudQAbacsXl4ybVsNJnJQ8JhoSlonB92ouZXSaHPDaA0DTCNx97QqeTum1 XHPA== X-Gm-Message-State: AOAM531/qtoQYLllzUeClgRYEkUNwWFzrZZZQ1Ej7Lj+4mcHW7Bwz9wV yW5plLnb+AYfMqrieCJH6UMEWQL/mbd8MCBI X-Google-Smtp-Source: ABdhPJw4S2JPCoEy+JP66rBndRmBWrKbOLdiMn0e44e8/qCW1Tx3n8L6p5YsSayMWa/J5LzaoZ5Mow== X-Received: by 2002:a05:622a:152:: with SMTP id v18mr32401950qtw.380.1636895065769; Sun, 14 Nov 2021 05:04:25 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bm25sm5484137qkb.4.2021.11.14.05.04.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:04:25 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 02/11] gnu: node: Update to 10.24.1 for bootstrapping. Date: Sun, 14 Nov 2021 08:04:00 -0500 Message-Id: <20211114130409.49241-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114125830.45427-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node.scm (node): Update to 10.24.1. --- 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 db1658f03d..89a9bc7533 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -57,14 +57,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "10.24.0") + (version "10.24.1") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm")) + "032801kg24j04xmf09m0vxzlcz86sv21s24lv9l4cfv08k1c4byp")) (modules '((guix build utils))) (snippet `(begin -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:04:53 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:04:53 +0000 Received: from localhost ([127.0.0.1]:49403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBh-0004yT-TQ for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:04:53 -0500 Received: from mail-qt1-f179.google.com ([209.85.160.179]:42601) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBf-0004yB-HW for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:04:48 -0500 Received: by mail-qt1-f179.google.com with SMTP id z9so12985814qtj.9 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:04:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=caZtV6CtWt9On14XOLrO/yexC0cfBS35X0odEutD4b4=; b=PXyrGqKLU4kjSbHixDkyVchzDrhSSKOWt+KWtETMcuY78Tvb83xaCbb0910BxbiUJK 17j+mN2u+Z/dLZAOG7icaqMFpYdb9ssbO/ThfEPmqbaMN0MWxNpOU+mttfYLjgTrhyF6 acGpQKz4zwn1ycqggi3kl5sd1HJmYLFTtpBRfTdd4WYMBIw5BYDTegDU8YxXXRWzItPJ 24MfnvAw76g8d0ecxPOBJJAbj/mhkQjwe7FChBZos5SXQwCk17czcN0WHS3MCGZTQ4rL ls2MpdKV/tjvDU4fKJpRk0Nbzm8Ewuy5Sbs+BJ0V0Y0L+W+ZLNl0/LSALogPIMMtHvpv ZzkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=caZtV6CtWt9On14XOLrO/yexC0cfBS35X0odEutD4b4=; b=kAw1JR6XS0+vuP0c274tWft/zrzBA0c+RWFgaQDQ229tZDb7jBFGgwbQlbLiQ5byPX +9d7bxiUf6iiU+qTCC+PosGLmLpStFP9RM4kfvPHElhRUN9ePrd2tvndDeMUcc6PTot1 ntXeiIKB5wut0ZFYanlXXNvzJ/J1CztswYsB/ETvZpGrjx8/QgCc4wds5U1X4iFlww68 dy/wNA36N6dcMsqu5eTETobbd4RpAh2dg2tHONhKFH6F5KOxMvJFxoIEhdeqRo7kcUf1 tvD/+SHwbko6wk8xyERP/q74oKyPKbQ7yLsAYbTFjfLwObG4JKv4k3qp0S9MQwWu9zyD Lfjg== X-Gm-Message-State: AOAM5330SvcERw2yFwPPNBKwMYW/VP9xgnkWfBowZvd/9OifZLtbDxna nakB+Imn51u67xesrUBKOpO2+mTieHnsmDAh X-Google-Smtp-Source: ABdhPJyIlnvXDJko1gERl+A2VYSbRGBNaAXRQZSpJEWEWBxBfGZJ/YQsmwCVdTEEV4XWSOGImyg+rA== X-Received: by 2002:a05:622a:391:: with SMTP id j17mr32919655qtx.228.1636895082018; Sun, 14 Nov 2021 05:04:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u10sm6275419qtx.3.2021.11.14.05.04.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:04:41 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sun, 14 Nov 2021 08:04:01 -0500 Message-Id: <20211114130409.49241-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Pierre Langlois , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang and 'patch-node-shebang with a new 'patch-nested-shebangs that also handles node-gyp and other shebangs under "/lib/node_modules". [inputs]: Add Python for node-gyp as "python-for-target". (node-lts)[inputs]: Likewise. (libnode)[arguments]: Adjust to delete 'patch-nested-shebangs rather than 'patch-npm-shebang and 'patch-node-shebang. * guix/build-system/node.scm (lower): Add optional #:python argument and corresponding implicit input. Add the version of libuv used as an input to the #:node package as a new implicit input. * guix/build/node-build-system.scm (set-node-gyp-paths): New function. Sets the "npm_config_nodedir" and "npm_config_python" environment variables. Adds the "node-gyp-bin" directory to "PATH". (configure-gyp): New function. Run `node-gyp configure` if we see a `binding.gyp` file. (%standard-phases): Add 'set-node-gyp-paths after 'set-paths. Add 'configure-gyp after 'configure. Co-authored-by: Pierre Langlois --- gnu/packages/node.scm | 34 ++++++++++++++++---------------- guix/build-system/node.scm | 11 +++++++++-- guix/build/node-build-system.scm | 23 +++++++++++++++++++++ 3 files changed, 49 insertions(+), 19 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 89a9bc7533..ad5179426a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -237,21 +237,20 @@ (define-public node python (string-append python "3"))) "configure" flags)))) - (add-after 'patch-shebangs 'patch-npm-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npm (string-append bindir "/npm")) - (target (readlink npm))) - (with-directory-excursion bindir - (patch-shebang target (list bindir)))))) - (add-after 'install 'patch-node-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npx (readlink (string-append bindir "/npx")))) - (with-directory-excursion bindir - (patch-shebang npx (list bindir))))))))) + (add-after 'patch-shebangs 'patch-nested-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (path (map (lambda (dir) + (string-append dir "/bin")) + (list prefix + (assoc-ref inputs "python-for-target"))))) + (for-each + (lambda (file) + (patch-shebang file path)) + (find-files (string-append prefix "/lib/node_modules") + (lambda (file stat) + (executable-file? file)) + #:stat lstat)))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -274,6 +273,7 @@ (define-public node (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares) ("http-parser" ,http-parser) ("icu4c" ,icu4c) @@ -795,6 +795,7 @@ (define-public node-lts (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares) ("icu4c" ,icu4c-67) ("libuv" ,libuv-for-node) @@ -813,5 +814,4 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (delete 'patch-npm-shebang) - (delete 'patch-node-shebang))))))) + (delete 'patch-nested-shebangs))))))) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 98f63f87ef..fee4142a99 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +26,7 @@ (define-module (guix build-system node) #:use-module (guix search-paths) #:use-module (guix build-system) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (ice-9 match) #:export (%node-build-system-modules node-build @@ -44,11 +47,12 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (python (default-python)) ;; for node-gyp #:allow-other-keys #:rest arguments) "Return a bag for NAME." (define private-keywords - '(#:source #:target #:node #:inputs #:native-inputs)) + '(#:source #:target #:node #:python #:inputs #:native-inputs)) (and (not target) ;XXX: no cross-compilation (bag @@ -58,10 +62,13 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ("python" ,python) + ;; We don't always need libuv, but the libuv and + ;; node versions need to match: + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..6aeb0149dd 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2016, 2020 Jelle Licht ;;; Copyright © 2019, 2021 Timothy Sample +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +48,19 @@ (define (set-home . _) (format #t "set HOME to ~s~%" (getenv "HOME"))))))) #t) +(define* (set-node-gyp-paths #:key inputs #:allow-other-keys) + "Initialize environment variables needed for building native addons." + (setenv "npm_config_nodedir" (assoc-ref inputs "node")) + (setenv "npm_config_python" (assoc-ref inputs "python")) + (setenv "PATH" + (string-append (getenv "PATH") + ":" + ;; Put this at the end to make it easier to override, + ;; just in case that should ever be necessary: + (assoc-ref inputs "node") + "/lib/node_modules/npm/bin/node-gyp-bin")) + #t) + (define (module-name module) (let* ((package.json (string-append module "/package.json")) (package-meta (call-with-input-file package.json read-json))) @@ -101,6 +116,12 @@ (define* (configure #:key outputs inputs #:allow-other-keys) (invoke npm "--offline" "--ignore-scripts" "install") #t)) +(define* (configure-gyp #:key inputs #:allow-other-keys) + "Run 'node-gyp configure' if we see a 'binding.gyp' file." + (if (file-exists? "binding.gyp") + (invoke (which "node-gyp") "configure") + #t)) + (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") @@ -144,9 +165,11 @@ (define* (install #:key outputs inputs #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (add-after 'set-paths 'set-node-gyp-paths set-node-gyp-paths) (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) (replace 'configure configure) + (add-after 'configure 'configure-gyp configure-gyp) (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:02 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:03 +0000 Received: from localhost ([127.0.0.1]:49408 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBu-0004zH-Jc for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:02 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:39555) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBs-0004yf-Mt for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:01 -0500 Received: by mail-qt1-f180.google.com with SMTP id l8so13026249qtk.6 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iqTdawUDCxWVnjV77ShzbFdQTtsMNdg5MwDOK0B+IQo=; b=Xs/dqkrmVheOqJC2JofgTQ5edXwo1qZSGEus3czHjYGJJq+zUsd194LcvY2oKPcmIx NwrRtjFrrbA4n5LoT1Koq+A/elai8PW0Ke7qdsl7XWoRFr8sm+CAGxA+NPFnSFdfMZHr jlaZe5oQFehMZdzZJFn0QG5Nibc7cBxB4GW/OwbblLsZphKHQYvSu23NSW8ufvI1fvZ6 jLnKYWqDD4+c+3BgS9CaWJMXvATp+72CApVwN4lmwrAPaVkFsp7m4lwGGlmEX7B6x4Ib SOo+SQcj7qRdCK+MjzWHku6yrMzg+RGccipK9hX2fAAi0qPwzyj+A4CCF/YLbuWwdui5 R3qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iqTdawUDCxWVnjV77ShzbFdQTtsMNdg5MwDOK0B+IQo=; b=ALF3ZMDm0fOmIr8bPwY0+rIB27Kg1/o/q/ivRMDe+wLBKU9JzsaBSNDUkfN8EgeEoA KZq3f8TNcM6bqtPpUSkhAy4j/gIE1sRnLAUVyOI3t+v+uGfBypMmg3IoE7XHAmyTDiAY 1UJFj3OP4JNbHFVaYzQ1km7gsYhnkzhDwina29C/yLdGpoVbA3sTnb7kVbwapyDE0f/l N9fOUDpKy/l7ln5E0WcsfHmr6qsWe98hL161oVb7RggBNGwonRowfhae6pW+4tY9ZoGK KgOZiNyEfXKhOJObW+CDhDVGMOK9WUqKDIIzBhxerSc1FWfc3EKWo6tiDwQIKS538mJs A47w== X-Gm-Message-State: AOAM530mr7hoT9SSzJKvSvXvPo3Fz9q19nPRHxgJv8QKq813sI1WjZIG QtCVFrG03TTT5SZXfK9IN/6yWcG2cQjmagr1 X-Google-Smtp-Source: ABdhPJxDostP/FmKssMCnIzU4YlKD5ZpFbyEAwckfGpjzTvQD2AaLfD0VN/jUF55g9HqIQUzX1wG2g== X-Received: by 2002:ac8:580b:: with SMTP id g11mr3249236qtg.268.1636895095228; Sun, 14 Nov 2021 05:04:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y8sm5616342qko.36.2021.11.14.05.04.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:04:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 04/11] gnu: Add node-inherits. Date: Sun, 14 Nov 2021 08:04:02 -0500 Message-Id: <20211114130409.49241-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 98c611f227..da6affeb1f 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -358,6 +359,37 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + `(#:tests? + #f + #:phases + (modify-phases %standard-phases + ;; Ignore our lack of tap (for tests) as with node-once. + (delete 'configure)))) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:09 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:09 +0000 Received: from localhost ([127.0.0.1]:49412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC0-0004zx-VD for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:09 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:40755) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFBy-0004z2-VE for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:07 -0500 Received: by mail-qt1-f169.google.com with SMTP id t34so13019500qtc.7 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3YNgChoYIEeF6YLJAhTCZpwJ34XxXRw0H6hcJMCPy0w=; b=Ees+BqEk9WXsJ3bh0nTigN60DtpujiIDE64jNz2UyKf3DhVPmkZd6CZRWNUbOsRw6f Y/TyBN9lNkmiHIBiWw8s4qtDmMJXmY5QMRJDIbL0zdwBcW8SHJQv2f/YTw5+PaRvo2rK 1QNl/7azEGIHNqY+XMMUHF6Sx9OY37Oew684dEyC50w6GtfSbi7BPA0HPYeeepRj1vy6 IVBcl84oxzZH4wvs987zfsMh/EjolostpPtD1eVucsO1f3XieZeXhlbFqK45xdvUH+uN 4GOqI4rQfZgVMLE2F9EYLPRFzB86jPqM6ULREzPFvEQpUqAcwWg2VOmJOdvmXbOPOylS XUxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3YNgChoYIEeF6YLJAhTCZpwJ34XxXRw0H6hcJMCPy0w=; b=Z9WCJ8uSufrEENyqpmfOfGHPQRSEIzGN6qyt7rU9oD3uBf7yOAnWAsSnmkqOyBKgMs Xyy3bImi9jZicueCzb6/pPpGk9xu3x1sh7jdaR2WzJvFvTdnGRJ+aN2iYamRtSqVEg+D oyWA5v3UdKG3jo4aS8lt5TJKGkFVBHdJHJGPDEB52ys+x1S+DOE7eDPrenoV5y8O6MwR XERn1gZkVqcjWyLRDankLNQ0j3Zo5Pkua7LHMz87iJfxF3rnT0rjXiRy2QUjeMzVow6y zm1d+3NvWtkb8P9iW7J+/VkgCPq6Vc16WdP9E+hhcZv83kUstbBsi5l0fW2hzfgdAMuv iodg== X-Gm-Message-State: AOAM533Vfi99569srLwjR2GCsj6WlQQ3eTzwPpM5jd3FCamtpo59IKcs FGh4ouGp/g9Wqzth0wlfaQuatboLCul/5XBW X-Google-Smtp-Source: ABdhPJzZDLU0a543E33sf3C2GCE9xdK1f2StTGxoBAEAbXkWV1QgtGCvyK19TvbNYuyLt738B43zew== X-Received: by 2002:a05:622a:3c9:: with SMTP id k9mr32399438qtx.42.1636895101670; Sun, 14 Nov 2021 05:05:01 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u9sm2953526qta.17.2021.11.14.05.05.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:01 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 05/11] gnu: Add node-safe-buffer. Date: Sun, 14 Nov 2021 08:04:03 -0500 Message-Id: <20211114130409.49241-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index da6affeb1f..44000e0568 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -390,6 +390,36 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + `(#:tests? + #f + #:phases + (modify-phases %standard-phases + ;; Skip checking devDependencies, since we don't have tape. + (delete 'configure)))) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:12 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:12 +0000 Received: from localhost ([127.0.0.1]:49418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC4-00050S-C8 for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:12 -0500 Received: from mail-qk1-f179.google.com ([209.85.222.179]:42846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC0-0004za-BV for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:08 -0500 Received: by mail-qk1-f179.google.com with SMTP id g28so9456988qkk.9 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XUItu1cqgaQ0wQ3knf6hPChRORITPcdgx3ExsZCJ08s=; b=bgFUX1hSwzTUXKEO4XJ+FQZZI9Nl6dYJ7R708MTUGyJjMEB6aeWqToY4586geDGQRZ UNGWjxo93/nY08Pis3Njs6rWqWpLstoM4tdPPUge5Wa44vjx0mFMHeEvfenF6Wgtf/E3 oqGZbmNCmEyBNOqPpTyiomfSrru+6boc0UzRTZaSKrcge7TekoJ6Hup6s669XvFiE3zJ DOEYGpA1V6KACKBiyjo6cMU5PNYGC6S2uUtfGwqJ+WdsWtFm2flPk9qDvJOD/GJsM5OO 2Iw5cxRn6Ga0Umyex8BtKgV0di4mbWnjrvRF4hLgntvXb0P2EJTfji5UAyjnI3nftUWa npSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XUItu1cqgaQ0wQ3knf6hPChRORITPcdgx3ExsZCJ08s=; b=hNUGde9tOh57nc6uYagbyF+iIK+oKSEM6pYLpg7Slva9jYSOd99ifEhnnlghhgtr2K /OB1hxfim48agnhedthY2zx4r7QKp+1vo1jfLzbCUHN/OtNDfbp/fW4GFS1PJf96Vxso 5JZlotzeHeyeW7UoKsVPnHD10XlUWCGwjVZc7e3EAGUIduNZHFBCx0m4rpsoHW/9VUsA zidUeP8McC/YRtGqHzFVITEEehEM6bbYAd7rf0sKkK1lmIwX83gcwKRy0QFW1X6yfioM pbWzz+JrV2HXHWye0gi0kl3K5mAj0lSyWTC+ysDhCooIRI0fgpiQCJIAs4SoQp99H03H 9dqw== X-Gm-Message-State: AOAM530CqmMB2NfIk5AETLR4I5y/SIhJ1t5dIalzH+1D4zSA/fHIu8u7 3jYWXt5UFQf6yyOmO+3MvTDgLOvt03UEzwvn X-Google-Smtp-Source: ABdhPJz+xeqHbYM3OmQJGOEIHuctG4B/mI40/TzRn+g/OMSO3QxQI7/j/uEo5LjlopBrWg2o60Y2eg== X-Received: by 2002:a05:620a:3193:: with SMTP id bi19mr10848876qkb.521.1636895102867; Sun, 14 Nov 2021 05:05:02 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o1sm1749832qtw.1.2021.11.14.05.05.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:02 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 06/11] gnu: Add node-string-decoder. Date: Sun, 14 Nov 2021 08:04:04 -0500 Message-Id: <20211114130409.49241-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 44000e0568..a5ca5631c7 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -420,6 +420,40 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + `(#:tests? + #f + #:phases + (modify-phases %standard-phases + ;; Ignore missing tap dependency (for tests). + (delete 'configure)))) + (inputs + `(("node-safe-buffer" ,node-safe-buffer) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:12 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:13 +0000 Received: from localhost ([127.0.0.1]:49420 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC4-00050Y-Kt for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:12 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:39556) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC1-0004zb-2U for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:09 -0500 Received: by mail-qt1-f173.google.com with SMTP id l8so13026558qtk.6 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jrlqo0ktA38dI9D+A1vV8hAFb9aiap+mkgHc5Wm0dXw=; b=CT4vFro7NxsimoAsh4Dqh+zbKzPvsApa3CZ+jtJWIUWMuugoQUfZuCwmkIuUEk7DFO 7rm83wmvS7M5bJ9vy3ps/TOOkIU7h4l1VyV49CJDsPbANVWMrlpBiyA5bntszntvK47I Uqn5+x7GPCwuFNC3QDWBgqjcF3xwXldBskQMZfU13YH0Ri0AsgklBp1nafoQ1x2eoNTV DGjf1D9CCo/8QaOwEwuDLdxMC5Uj15ynff7/qdZgc9gwYVq43YRBLqc9XGyKaCN3LBTB B6jV0aUfLC5o1O71WvB9bhgh3n3S4ARwgOhxMxgbluY4btt1JWy0hdbW1HwdKfWBkUAk CXrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jrlqo0ktA38dI9D+A1vV8hAFb9aiap+mkgHc5Wm0dXw=; b=5fV/mbKJxX2KYVsrlXiw3Jit+Xx6buKWMzvS19XNVySYivUpG9Lczq2H2feYdIUdfB xGD/BOfltuq5AUEWYe0+73HetilPyDTsm0XFyU2Q+thWQCFYkn9YOnp8tqr8MEn5szAO JZrGa7XT4vDV3DoHjqk1WPXRpeVuvoQWh3oylamvtIfWN0rokfwZJCwAykHFnkJXvYMN 24TIsZ8UThAXxtdyAYX4zcKBEdgVfGrBDXtKO6l+qv+tJ9cHUzHVCK/X7+UdoM3mOjPx kZtMQn8Np8g0qk+kQ3kl3W2VUzmBbSFgZQfZfT2HoXcdDc91C0VGyBneG2jW4EE/94TX cbOQ== X-Gm-Message-State: AOAM532iBDZLcaWvIUA2FARkbQESGcPurv8qv73zLAnap3qpDetBbwLx I3jWcaFsIykO9LrSsr3Hfgb5fM/1+/NX76cq X-Google-Smtp-Source: ABdhPJxlxNeQTWz9spmmcCEVm+vAOO55vtm1Zdln7NBclmNrq0caGNEeH7Zt7BETvbDWikEgxGK9Rw== X-Received: by 2002:a05:622a:178c:: with SMTP id s12mr19423883qtk.156.1636895103637; Sun, 14 Nov 2021 05:05:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id c22sm1912076qtd.76.2021.11.14.05.05.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 07/11] gnu: Add node-readable-stream. Date: Sun, 14 Nov 2021 08:04:05 -0500 Message-Id: <20211114130409.49241-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index a5ca5631c7..d0b4d1fa98 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -454,6 +454,44 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:tests? + #f + #:phases + (modify-phases %standard-phases + ;; Ignore numerous missing devDependencies + (delete 'configure)))) + (inputs + `(("node-util-deprecate" ,node-util-deprecate) + ("node-string-decoder" ,node-string-decoder) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:13 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:13 +0000 Received: from localhost ([127.0.0.1]:49423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC4-00050f-Ub for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:13 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:37844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC2-0004zd-23 for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:10 -0500 Received: by mail-qt1-f172.google.com with SMTP id f20so12719503qtb.4 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u2xClz8o/NWA/XyzlTiRcbhKjw1oPv9cLFZsxKjf9j4=; b=PUFTC+lYWVvu/I99ZbqpJrUJsNw0QYzTbgw3A8Uu4nl6V5Bxw2lk19E4QU/thHUVEr 6/05bk3sfht/EIRS72LhZfi3LsdTq2s2PD5zwCc0uUuglsrmmkEax0cnB2cwJqRp0M1s swPm0EUGWcZCh/XhSTwpe3u8cCDu8288jBqEqXeQY5orPb6afb7b2i4K80q/TJxYYy2m c2t79mQyOT/uwQC97CXCNADhxA0ZRA2OgSlPLdLZWo3HteqVDjmZs6RVgl2eEvqsmYNs Wm4nQBQK6/UtgQmuPCia9A0EUcrfzOCDZeWAWEeO5Ordy0RqEDKTBfDEx5iilK0O4dxD 4vgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u2xClz8o/NWA/XyzlTiRcbhKjw1oPv9cLFZsxKjf9j4=; b=RUWbs22LtNpaEWJNd90ImjPD6jOh8eQkykk7zZSIB3nbSLoUPSyOeCyfLQ57fVNQ2p hx9xwjYPRBX0yAvNOLP5fqABIzVENe9OBhoK+jIsNiOFOkodxMGfHsuAN5OTan61+IOP adifYNDbbCTD5R1E5C9Q/zrYrBrZgJNdvRBgMHzp1mgRZ8vJnNW1EvL6yvX0zo7+Aod2 47kqAzY/6LWgxsw0yrb7fLdamE3b5qr11LOSVMwDj65nUC5/8OWGKuam/Sp3Kg6+2NlC aaDKaqT9qrhhLCV165/5gkE/eU364810N582ceZIYOLynXshDnPjT77cO82eTJCd3rc0 xXAw== X-Gm-Message-State: AOAM533WJXdJjui0pTTO7+JoiErIbAu9tsR2NG+Ed25vzGcpKyA6iDgX Ynnz0qlpGly9H2o7oGqYfgIRiJCpMEITuHaZ X-Google-Smtp-Source: ABdhPJwj5grvZBGH/pq6LptjLFm6kVjnn+VOFA26FBebiSSiZOu4eApNImuyOf23itfAeKcr+yA+rg== X-Received: by 2002:a05:622a:1708:: with SMTP id h8mr2831865qtk.318.1636895104524; Sun, 14 Nov 2021 05:05:04 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j20sm4095878qko.117.2021.11.14.05.05.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 08/11] gnu: Add node-nan. Date: Sun, 14 Nov 2021 08:04:06 -0500 Message-Id: <20211114130409.49241-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d0b4d1fa98..29ad14f810 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -549,3 +549,44 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:tests? + ;; We can't run the npm-driven tests, + ;; but a number of C++ tests do run anyway: + #f + #:phases + (modify-phases %standard-phases + ;; Ignore missing devDependencies (e.g. "tap", for tests): + (delete 'configure)))) + (inputs + `(("readable-stream" ,node-readable-stream))) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "A header file filled with macro and utility goodness for +making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16. + +Thanks to the crazy changes in V8 (and some in Node core), keeping native +addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is +a minor nightmare. The goal of this project is to store all logic necessary +to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:14 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:14 +0000 Received: from localhost ([127.0.0.1]:49425 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC5-00050p-Bj for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:13 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:41510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC3-0004zf-36 for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:11 -0500 Received: by mail-qt1-f176.google.com with SMTP id v22so8366661qtx.8 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kTreQd5w/4G329UIlhKNwBXTChGXK/RdArBW5+Q+OgE=; b=jx1OPHAsqqsEoPXPzgUZ6kd8czQUCoYIcD1E66etWoT3VmmSSR7B8jDFhqBKZZ++AE vs3P6lmiGHncJeP/Ymc5dWNeFbUnBiFSiMnS87SdtX71C2GTh1BY5vZobv2a9CToehj+ r1bxib5Qqr/5HFZOZWQ7oZTqgH7j/l3ne41p66XY7B7APcumCJej7EYLT34Vz5bgFj2S y1NxpWPNnzmIy+qRMb/M5bLrYJaoCfRtwj5psdGm6cMsYDY1HVQQGaK1VNFQ21uQ/CU0 EEatZt/U1/tBgsQu30HHGqq64dUfkISISlMFS9eOLTDZDZL6fHPaicuBVBiNDiZ8anE+ RJVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kTreQd5w/4G329UIlhKNwBXTChGXK/RdArBW5+Q+OgE=; b=IyQ5j0AxfMBSE7SGNBiOX5ofEWALvSqVONq5CEsr2+QmGJLpnktyOgYVVxKQtX8PKJ /um/TAkK+l2dOvDsXb5vOP4RljgUQx5m4deqguv1pxZ9aJUsrfkFm874xu/VmX4eFwWI ZDrEg0/iszprL+1vzgBAe5cF2BHR9ZgU68Tuoem+uHzf4wms0YEQiwYdg1H9C4JkxT75 r+zxO+uJqnr00JJj3ntSiQzuCGCB8cFmygNZP6aPXKmHjg+HWDHWY6kyPYNs95DMH9B7 7ZMomfFiXXF16E293REfSL1CH+AwAby8IjFyEjgGsnAMFIZo+Lww110axJDfSxhsNO2a v4Rw== X-Gm-Message-State: AOAM532f9F1eucjuGFZx5Knt+RPyl+qaWgZ3i2VCFflxCeMTGP05HCSN 5hYuotRpyKnYwoxPbrn0YeM2goDEkKjolSFt X-Google-Smtp-Source: ABdhPJz32t7OPALqYz7e4Wt8nl/6268VCbemlyiUm2hKEJ6nHPuNIYFT6kVL0jbZro/qOXqy0tuijg== X-Received: by 2002:ac8:7fd6:: with SMTP id b22mr29825552qtk.26.1636895105610; Sun, 14 Nov 2021 05:05:05 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w10sm5861192qkp.121.2021.11.14.05.05.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:05 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 09/11] gnu: Add node-openzwave-shared. Date: Sun, 14 Nov 2021 08:04:07 -0500 Message-Id: <20211114130409.49241-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 55 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 2019ec32df..39028b4f34 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,8 +22,10 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) @@ -88,3 +91,55 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + `(("open-zwave" ,open-zwave) + ("node-nan" ,node-nan))) + (native-inputs + `(("which" ,which) + ("pkg-config" ,pkg-config))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (invoke (which "node-gyp") "build")))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:20 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:20 +0000 Received: from localhost ([127.0.0.1]:49427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFCB-00051D-Vt for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:20 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:40951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC4-0004zj-0e for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:12 -0500 Received: by mail-qk1-f175.google.com with SMTP id p4so5493268qkm.7 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SXzQQq6uVWKvPzgJSFx8iSTsMZUBZgTO2S/Hj22t5tU=; b=ABgP2V2Eo10i71tP28TLL2AghvSj3yA0eee+b1rJXX7gWG4t9VMxKZHOslkqylI1DJ Icv6QXfHaXHa+jcNpw/dAU6u3rwNaRDFIP3qb5XO9hTLcLQcM1sRJtb8SapJol7/spKo 8ldKINWYZd1dtY1ntR2L0keoCeJXiXqclbyCtJ0LN6I+MM9OyRVhyo5PYfT//tPIZPmf hXA+/7yTGPXZmZLLvFNjkHVZVnYAAzJ3rfROiNHw078lKUN+QgL9tmpFtYgYsVgb+Oh2 91UQZS03N4P6H/ysr8O+rhJ9aiEufdFR7oIG1po7f9f2T/3iStufvMxWb58bGeW09tXG y6DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SXzQQq6uVWKvPzgJSFx8iSTsMZUBZgTO2S/Hj22t5tU=; b=Dps+TI+yg0ERNFdo9S6vjmmYRaQ67yRF3hsO7fAEKqCOiyEHWChTGRUPus9JwDFNX8 bzQnSUhlnskIUVM7WQ+eESqGXm0tZuaWMI66TJkSTMUdeXTjB8PH19v7Au0dfWmRMSBN CGMFFpVbM4+OW1QgGz13yTTY0VP1iFCzK+Zfb/BDNd5ppmQ+AH3VTGL2o8EadYePHOpP dEICpFg0/v4rb8tdJqql83+v4MuA1pfeMycepOMUO0mfeAAYlGe4Amks0gvY9iG7UvtV GtBsVSEEU4JHa5LglUMXImqzZGe+hlsiOhSKolw/ZYJjQdu/uBI+WFUQNA+XCKIkr0Bs 6NUQ== X-Gm-Message-State: AOAM5322q2PFp32iAoDhf5VIS6jGC5Votle8568OCdINhEicT1PDZKCE wyGWQ9o88n3FBZe7hnq9vKhUfYbJt1XAh6hV X-Google-Smtp-Source: ABdhPJzD+wz+2zAtfEg3ndj3T8oykT48Nvt50mKCmWRNgvA8g5D9NpNH35mGtI50Ts8a2cXG8/xDDA== X-Received: by 2002:a05:620a:710:: with SMTP id 16mr23895161qkc.379.1636895106401; Sun, 14 Nov 2021 05:05:06 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x10sm5205812qkn.41.2021.11.14.05.05.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:06 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 10/11] gnu: Add node-addon-api. Date: Sun, 14 Nov 2021 08:04:08 -0500 Message-Id: <20211114130409.49241-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 29ad14f810..8aa93122df 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -590,3 +590,49 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Ignore numerous missing devDependencies: + (delete 'configure) + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (substitute* "package.json" + (("\"test\": \"node test\"") + "\"test\": \"echo stopping after pretest on Guix\""))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 08:05:20 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 13:05:20 +0000 Received: from localhost ([127.0.0.1]:49429 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFCC-00051F-AX for submit@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:20 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:36853) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmFC4-0004zq-QD for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 08:05:13 -0500 Received: by mail-qt1-f173.google.com with SMTP id t11so13028618qtw.3 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 05:05:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Mm+lkF3s7vmyz5i9SafAkKzLv4bJQwoN4dzhIbTMME0=; b=RWEZpwTAVP+QGm67qq2HtXFkPxVQAkLhc3/40smb96OTCyirrPB3PjDAkJ561JQeG6 VUvmp0za5Bh6PrbDJXIlCUz7ZJ8NbZ3LLzXRoZq1o+csm+RYXtLyjre4Vs3G9eXdhNL0 MaRvTWjp2mzEQvtAOeOFCWwfd43qUZCwvnZ7RYId8Qpnd84ofWOINKRnMaTTJjoVZtuO Top2uEyeZV8+q3px9Qi5zNnVDpb8gEhpncFXe5E6jN35yfl+vHhXLBltXQj+iST5j+yG D94wr3jFI1486l4BZAVNDiYPLgf+0Thn+jaqa5N0kKXbkXwNdVebzIu7YiIdRc9WK3xr 1ykw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Mm+lkF3s7vmyz5i9SafAkKzLv4bJQwoN4dzhIbTMME0=; b=FsXDYJu4J7DgKbMkE1oKlcXyugCoJyHHbzWrjQpZDaNUuKxOpG2KLUP/3Wx5RyXEyr CV7svcFvgoqRb5VdgelEM0l+RXnhA78nZNnliYonKjqH5UYjBgqRCbzr9GT76jbIVoWJ qVnb8PDOi2euo+ZYQwjjTq1JQZFhwlsp7HvKxi0ZDmrGBjKtVmdB+UsVwcqIKs6ylgs3 UWNFb3NcU2Q2kdBRb89tQUb3Ol7OoK83rbIN986ErIgTME+ezIIjjobYkNajrOYN6UTn jD2AmXN/2uJqq0FWbe/5QglpsyZbcqnQv++xqK/GD+jRmvxxXEGXqnY6LXfKBBA5/VN1 8spA== X-Gm-Message-State: AOAM531qo9YNoCMpbDMKNqIcLCQOV6odKS5cUwTgzQTLY+a86eKemIHD bqWdPkfoj6Wj5qmmx+iFG6Q4Aqr6K1AbX/Np X-Google-Smtp-Source: ABdhPJylstt+1BR/Bh0r/SQGvfzDPgRZdwKD/wPuZ0rIGUxzbRqGCWEHT3bVdOiFOTFH+Cou9nFY7A== X-Received: by 2002:a05:622a:391:: with SMTP id j17mr32922586qtx.228.1636895107297; Sun, 14 Nov 2021 05:05:07 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o17sm5867239qtv.30.2021.11.14.05.05.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Nov 2021 05:05:07 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH 11/11] gnu: Add node-sqlite3. Date: Sun, 14 Nov 2021 08:04:09 -0500 Message-Id: <20211114130409.49241-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211114130409.49241-1-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 114 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8aa93122df..d30b6f6e04 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,8 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -636,3 +638,115 @@ (define-public node-addon-api @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + '(for-each delete-file-recursively + (find-files "deps" gzip-file?))))))) + (inputs + `(("node-addon-api" ,node-addon-api) + ("sqlite" ,sqlite))) + (build-system node-build-system) + (arguments + `(#:tests? + #f ; FIXME: tests depend on node-mocha + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'npm-config-sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'unpack 'un-cloud-ify + ;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries + ;; or falls back to building from source. + ;; Here, we patch out all of that and just build directly. + ;; It would be better to patch a version of @mapbox/node-pre-gyp + ;; that always builds from source, but there are a number + ;; of dependencies that need to be packaged or removed. + (lambda args + (with-atomic-file-replacement "package.json" + (lambda (in out) + (let ((js (read-json in))) + (match (assoc-ref js "binary") + (('@ . alist) + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref alist "module_name") + " " + "module_path=" + (assoc-ref alist "module_path"))))) + (write-json + (fold (match-lambda* + (((key update) js) + (assoc-set! js + key + (match (assoc-ref js key) + (('@ . alist) + (cons '@ (update alist))) + (other + (update other)))))) + js + `(("dependencies" + ,(lambda (deps) + (assoc-remove! + (assoc-remove! deps "@mapbox/node-pre-gyp") + "node-pre-gyp"))) + ("devDependencies" + ,(lambda (deps) + (assoc-remove! + (assoc-remove! deps "aws-sdk") + "@mapbox/cloudfriend"))) + ("scripts" + ,(lambda (scripts) + ;; install script would use node-pre-gyp + (assoc-remove! scripts "install"))))) + out)))))) + (add-after 'un-cloud-ify 'remove-missing-dev-deps + ;; Remove some missing testing/linting dependencies + ;; so we don't have to skip the configure phase entirely. + (lambda args + (with-atomic-file-replacement "package.json" + (lambda (in out) + (write-json + (let ((js (read-json in))) + (assoc-set! + (assoc-remove! + (assoc-remove! (assoc-remove! js "peerDependencies") + "peerDependenciesMeta") + "optionalDependencies") + "devDependencies" + (match (assoc-ref js "devDependencies") + (('@ . deps) + (cons '@ (assoc-remove! (assoc-remove! deps "eslint") + "mocha")))))) + out)))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 14 15:44:27 2021 Received: (at 51838) by debbugs.gnu.org; 14 Nov 2021 20:44:27 +0000 Received: from localhost ([127.0.0.1]:51837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmMMR-0007WU-BB for submit@debbugs.gnu.org; Sun, 14 Nov 2021 15:44:26 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:37844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mmMMO-0007WE-8v for 51838@debbugs.gnu.org; Sun, 14 Nov 2021 15:44:21 -0500 Received: by mail-wr1-f67.google.com with SMTP id b12so26567841wrh.4 for <51838@debbugs.gnu.org>; Sun, 14 Nov 2021 12:44:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=UwClZr4hyl5pH/iS3pEuOMGgq4vG7OlSKei5DkFZuFU=; b=pGWCUoAM6jbI4UYJKFoZ6WzznU0RuRS+0Jfum61jlkirkCgw3oA/bAeOL/OKEwMImx cwZeT+cXaR1lPiHL+sh8U9M2pt2+SwSXhadlVSJkKZ0ryrILl9gXzUSib5aB1L/k9olI Dclo/DDQv6JSGgxdmFV9WhUQsD80tCP4ox26hJVzoUxODhqSSJRBevYpVVsoXoeoXV9W 5T3NNNOnra2mTgk8f4A3V9Yh1fg72KYiB7VdEA4rACN7owvNLkbuMUC1gJoE47sNN5xa 2KXOd0vyfQ76bVbaOlEvym45lj8oC9dd58qopp3e2fP57yJt1ppmWqC7BkiZcKldInb2 3Nzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=UwClZr4hyl5pH/iS3pEuOMGgq4vG7OlSKei5DkFZuFU=; b=7fbCPOeSYglJ5HjvBKoFrw2QbZfkyCsLcR1NI+U5M+QS0bE6gPcYPhkbkyeAM1zZnJ jv3OAEtKwuLffatl8v8F/OdUUfM/1dyXDmXxQ5q8yJNrcTeM/ruS8Vx2aZr97/Dhnf9R KjSYabLY0eBSZoPLtYdV3UK0s2FW/hbzwh/W5iK2Yn8B3s+4pclO0fNRomtDS3LuQLC2 XYV5QFqkXbT1GA7wisHGW4E7jDAGIdeqJA60CbQvhnSljnvWxhyEEE8JYu5GndFwTnsh ZP+fC+N9JAhsYorGb6NyRTUf6RGO4Awym/XU1lpRNebaMCcujmuyCq5zAp6/Ut+F+H8e hRGw== X-Gm-Message-State: AOAM53227x6PPoIr4tuVhS7Itme4iODL9l0SMU7vspiWIq78mAY8Pl76 /36B5Ea28aKch+qcpbpaGkQ= X-Google-Smtp-Source: ABdhPJz/1KviqTBRdN/i5UkhkmvBZcT/WLY0X946jW+qeuJ5XzPMKystUxYRygTOw/VWf03P2lmxzg== X-Received: by 2002:adf:cf05:: with SMTP id o5mr41843863wrj.325.1636922654132; Sun, 14 Nov 2021 12:44:14 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id i17sm13339707wmq.48.2021.11.14.12.44.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Nov 2021 12:44:13 -0800 (PST) Message-ID: <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> Subject: Re: [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sun, 14 Nov 2021 21:44:11 +0100 In-Reply-To: <20211114130409.49241-2-philip@philipmcgrath.com> References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Philip Am Sonntag, den 14.11.2021, 08:04 -0500 schrieb Philip McGrath: > * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang > and 'patch-node-shebang with a new 'patch-nested-shebangs that [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.3 RCVD_IN_VALIDITY_RPBL RBL: Relay in Validity RPBL, https://senderscore.org/blocklistlookup/ [209.85.221.67 listed in bl.score.senderscore.com] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] X-Debbugs-Envelope-To: 51838 Cc: Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Hi Philip Am Sonntag, den 14.11.2021, 08:04 -0500 schrieb Philip McGrath: > * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang > and 'patch-node-shebang with a new 'patch-nested-shebangs that also > handles node-gyp and other shebangs under "/lib/node_modules". > [inputs]: Add Python for node-gyp as "python-for-target". > (node-lts)[inputs]: Likewise. > (libnode)[arguments]: Adjust to delete 'patch-nested-shebangs rather > than 'patch-npm-shebang and 'patch-node-shebang. > * guix/build-system/node.scm (lower): Add optional #:python argument > and corresponding implicit input. Add the version of libuv used > as an input to the #:node package as a new implicit input. > * guix/build/node-build-system.scm (set-node-gyp-paths): New > function. Sets the "npm_config_nodedir" and "npm_config_python" > environment variables. Adds the "node-gyp-bin" directory to "PATH". > (configure-gyp): New function. Run `node-gyp configure` if we see > a `binding.gyp` file. > (%standard-phases): Add 'set-node-gyp-paths after 'set-paths. > Add 'configure-gyp after 'configure. > > Co-authored-by: Pierre Langlois Looking at this patch, it does *a lot* at once and could probably be separated into more than one. Particularly, I'd suggest providing capabilities in node-build-system first, then switching over to the new thing in node. > [...] > --- a/guix/build-system/node.scm > +++ b/guix/build-system/node.scm > @@ -1,6 +1,8 @@ > ;;; GNU Guix --- Functional package management for GNU > ;;; Copyright © 2016 Jelle Licht > ;;; Copyright © 2019 Timothy Sample > +;;; Copyright © 2021 Pierre Langlois > +;;; Copyright © 2021 Philip McGrath > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -24,6 +26,7 @@ (define-module (guix build-system node) > #:use-module (guix search-paths) > #:use-module (guix build-system) > #:use-module (guix build-system gnu) > + #:use-module (guix build-system python) > #:use-module (ice-9 match) > #:export (%node-build-system-modules > node-build > @@ -44,11 +47,12 @@ (define (default-node) > (define* (lower name > #:key source inputs native-inputs outputs system > target > (node (default-node)) > + (python (default-python)) ;; for node-gyp > #:allow-other-keys > #:rest arguments) > "Return a bag for NAME." > (define private-keywords > - '(#:source #:target #:node #:inputs #:native-inputs)) > + '(#:source #:target #:node #:python #:inputs #:native-inputs)) > > (and (not target) ;XXX: no cross-compilation > (bag > @@ -58,10 +62,13 @@ (define private-keywords > `(("source" ,source)) > '()) > ,@inputs > - > ;; Keep the standard inputs of 'gnu-build- > system'. > ,@(standard-packages))) > (build-inputs `(("node" ,node) > + ("python" ,python) > + ;; We don't always need libuv, but the libuv > and > + ;; node versions need to match: > + ("libuv" ,@(assoc-ref (package-inputs node) > "libuv")) > ,@native-inputs)) > (outputs outputs) > (build node-build) Will this python input always or often enough be needed? What's the build system ratio on node like, gyp vs. anything else, particularly with packages close to the node core? > diff --git a/guix/build/node-build-system.scm b/guix/build/node- > build-system.scm > index 70a367618e..6aeb0149dd 100644 > --- a/guix/build/node-build-system.scm > +++ b/guix/build/node-build-system.scm > @@ -2,6 +2,8 @@ > ;;; Copyright © 2015 David Thompson > ;;; Copyright © 2016, 2020 Jelle Licht > ;;; Copyright © 2019, 2021 Timothy Sample > +;;; Copyright © 2021 Pierre Langlois > +;;; Copyright © 2021 Philip McGrath > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -46,6 +48,19 @@ (define (set-home . _) > (format #t "set HOME to ~s~%" (getenv "HOME"))))))) > #t) > > +(define* (set-node-gyp-paths #:key inputs #:allow-other-keys) > + "Initialize environment variables needed for building native > addons." > + (setenv "npm_config_nodedir" (assoc-ref inputs "node")) > + (setenv "npm_config_python" (assoc-ref inputs "python")) > + (setenv "PATH" > + (string-append (getenv "PATH") > + ":" > + ;; Put this at the end to make it easier to > override, > + ;; just in case that should ever be > necessary: > + (assoc-ref inputs "node") > + "/lib/node_modules/npm/bin/node-gyp-bin")) > + #t) > + Is this a necessary step to build node modules? If not can we skip this step when packages don't need gyp? > (define (module-name module) > (let* ((package.json (string-append module "/package.json")) > (package-meta (call-with-input-file package.json read- > json))) > @@ -101,6 +116,12 @@ (define* (configure #:key outputs inputs > #:allow-other-keys) > (invoke npm "--offline" "--ignore-scripts" "install") > #t)) > > +(define* (configure-gyp #:key inputs #:allow-other-keys) > + "Run 'node-gyp configure' if we see a 'binding.gyp' file." > + (if (file-exists? "binding.gyp") > + (invoke (which "node-gyp") "configure") > + #t)) > + You might want to make this part of configure itself, though I'm not sure what the consensus is there when mixing different build system styles. (invoke (which ...) ) is also a pretty rare pattern, used in only four locations so far. Also, while better than the previous thing in that it actually checks whether we have something gyp-esque at hand, I'd still prefer users being able to not run this portion through some flag. See e.g. #:use- setuptools? in python or #:glib-or-gtk? in meson. Cheers From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:26:14 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:26:14 +0000 Received: from localhost ([127.0.0.1]:41151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moHx8-0007b6-Av for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:26:14 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:35518) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moHx6-0007aq-8C for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:26:13 -0500 Received: by mail-qv1-f41.google.com with SMTP id g1so8518244qvd.2 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:26:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=FvpHoCQ6pAYGr59ljfr0iZSpe4T/ujl1rktP93DEteg=; b=Gt3AdPvN7BYOrr19jh0+BMIQpIx/z3607nl/6CmViypfL6UVvbiz1zHAdAIw5GPOM3 jfQSsiz1BoRJSdaBDm7E2ZrKeIM/jNnqawQoCDlSPdML1dvJ1XUC53VGHeheSV4YesWS oJHL375Lo8HBR5XMl0wMA8p/D0JSFXkKnXByaZPjGTxZ43nMBxd3d31uuqjK3qSbsUbm qml3z8q1GMNNFLhYwWofxujiitpkFBXiYcRT8D+HDVfWt/3168JJFFnwA+8gy1Cls26k IIuDQ5vUJQKPGTD3rGriNwsGBAI+IQ5D+dIri4/qG/vOPAzcCRAoIPedVQeBAXn3fMxl DTpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=FvpHoCQ6pAYGr59ljfr0iZSpe4T/ujl1rktP93DEteg=; b=0JBaahkjiqWANUazAecQQQzqHSzYHejF7LgIuYfXy02U1spMF9mYdsFA0VJP+2gfjF 4IuzeqiX+XB783B7isTcbE27PfJ1MHVZAJ+raYhguQcb2SDfnh0pn7u06ZVl7+ttQ8G5 A6Qjy1/TrIYK5hhBCDABvJ5OF44KLA/51IresqVi8xQ4VuSMEBWVIQbISU4DXeyK/svB 82yNczoPdK+NvAVXWixPojG8ZZUlv4rmlFvqt8xTFNdN6dwQXLsUZh+QTOlqxuEEBWpj JJKEnZbUQeMii0V4qqtGg8pV6m03eyLAAsG18JliYfqNGZ5eNTObt3bG3KdcoLJYZSwj wNfw== X-Gm-Message-State: AOAM533G8kXlcvVsZF9QqsXwubWdBJKZ5fuUBE0Clv6o2R7YNghCa2Ow 2ogJKxJ/NRVLj4u/Brwsg7xRNA== X-Google-Smtp-Source: ABdhPJyIIYiqC6X0daUp0/C3XBmvXHV/2gb0Wst70UEsxorWgQY84ckbjDlruDJSB/tmwHuR4d6vOA== X-Received: by 2002:a0c:edb0:: with SMTP id h16mr79942924qvr.17.1637382366726; Fri, 19 Nov 2021 20:26:06 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t11sm993037qkp.56.2021.11.19.20.26.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:26:06 -0800 (PST) Message-ID: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> Date: Fri, 19 Nov 2021 23:26:05 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> From: Philip McGrath In-Reply-To: <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi! On 11/14/21 15:44, Liliana Marie Prikler wrote: > Looking at this patch, it does *a lot* at once and could probably be > separated into more than one. Particularly, I'd suggest providing > capabilities in node-build-system first, then switching over to the new > thing in node. Thanks for these comments. Some of the things to which you drew my attention seem to have been workarounds for problems that had since been solved at a deeper level. Then, in particular, this comment: >> +(define* (configure-gyp #:key inputs #:allow-other-keys) >> + "Run 'node-gyp configure' if we see a 'binding.gyp' file." >> + (if (file-exists? "binding.gyp") >> + (invoke (which "node-gyp") "configure") >> + #t)) >> + > You might want to make this part of configure itself, though I'm not > sure what the consensus is there when mixing different build system > styles. (invoke (which ...) ) is also a pretty rare pattern, used in > only four locations so far. prompted me to look more closely at why so much manual work was needed in the first place. It turns out that the `npm install` in the `'configure` phase should have handled most of it automatically, but the Guix packages were deleting the configure phase to avoid checking for devDependencies that aren't in Guix (or that we just don't want, e.g. some dependencies of node-sqlite3). In v2 of this series (which will follow this email), I've removed all of the `node-gyp`-specific build-side code and tried a more general solution, adding an `#:absent-packages` argument to instruct the `'patch-dependencies` phase to remove the specified packages from the "package.json" file. This means that the Guix package can still run `'configure`/`npm install`, checking properly for the packages that we *do* have/want and doing all of the other automatic work `npm install` does. I also like that listing the missing packages in the Guix package definition provides a sort of documentation of what is missing: for example, it is clear which packages could have their tests enabled with the addition of a `node-tap` package, without having to inspect all of the individual "package.json" files. I've updated all of the existing Node.js packages that deleted their `'configure` phase to use `#:absent-dependencies` instead. >> @@ -58,10 +62,13 @@ (define private-keywords >> `(("source" ,source)) >> '()) >> ,@inputs >> - >> ;; Keep the standard inputs of 'gnu-build- >> system'. >> ,@(standard-packages))) >> (build-inputs `(("node" ,node) >> + ("python" ,python) >> + ;; We don't always need libuv, but the libuv >> and >> + ;; node versions need to match: >> + ("libuv" ,@(assoc-ref (package-inputs node) >> "libuv")) >> ,@native-inputs)) >> (outputs outputs) >> (build node-build) > Will this python input always or often enough be needed? What's the > build system ratio on node like, gyp vs. anything else, particularly > with packages close to the node core? GYP is a Python program, and it (or at least node's fork of it) expects to have a python executable available to invoke with sub-programs. Since npm depends on node-gyp and GYP, it is pretty close to the core. In v2, I've just had packages that use node-gyp add Python to their inputs. IIRC, that used to not be enough, but it seems underlying problems were fixed in the mean time. An alternative approach would be to configure it using the npmrc file, as I do for `nodedir` in v2. I'm not sure that makes much difference either way, but in v2 I've tried to minimize the amount of `node-gyp`-specific handling. -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:15 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:15 +0000 Received: from localhost ([127.0.0.1]:41161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4s-0007qo-UF for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:15 -0500 Received: from mail-qk1-f182.google.com ([209.85.222.182]:47102) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4r-0007qU-KP for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:14 -0500 Received: by mail-qk1-f182.google.com with SMTP id a11so12320990qkh.13 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KH4RQSW2Vl/+hSZ71LTsM4xePvjwFAevZ9cxlfrinCQ=; b=GwjefNglQClkVKWybgbEMQ0rhHnxlW1J7Nn2HXt5dPNZ+8NztORJQvfaYuKhgfuilN brEmAgK9/WEaUTfBJXIVrZ4Sog08de/xxB+qTtFIBYFBBPefEytBSlBHBwbOuwFSlnxa GTptNYvq6C/ig6961X+/hYa/gefKUNkP82SQayn8I28LA7XBH4cVu5HvgtXFHx4j1TZF ZtfvxyGCDk42zT8aUh7lm4cOTwif8BAstKsqqE/ciE6NWudNoJ2+h1m/UGSHOCP4MWjF 9lcBUPW0u+uh/6o4Xx2r9EKe8FIhjn6LuJVf5TUok+ndr+ljSKpkboVHH7n0Pjs8PnRW 5RJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KH4RQSW2Vl/+hSZ71LTsM4xePvjwFAevZ9cxlfrinCQ=; b=N/lzPKhtr+71ll/vJW99LbIoRbwgDCPRAxxCnkfgRTbBt5vje/lgJckM2F2mFOu3L0 ub5aftQr8i9wkrDEQpWt9uSdcrKnqmfNWLeU+FD8W6+8PahVvAZ9yQyykHoXQI3NK4yG YC27J946Tqnt9f/LE+FMMttCxEEudDf3zRx2eAS1U4dtcchLgi/ixMrTqvYr6w/bnYkq XC9FHiCJ2reG3TWhRysSbSznACnWKB1ndtyHtkHiIJ1KsNY1ZKkfd/IFbTNigviKoD14 aZxyGGI3HmCdpmOW1ZqjB8mPzNZfG8O0gRmXpibmS6Rt1dzcVhiKdhnMvNPF6AYKE0Ll 1v8w== X-Gm-Message-State: AOAM533oLoRetVZ9f7WoFCjmWswPuT/O4hfietKrSFM2cts6QeHgRpWx IyGeO4tEJ/m2Swh4ueLYZplPXwt5zO8uh66g X-Google-Smtp-Source: ABdhPJzt5m/NcaMytJewB1QWw47WHGoYL33zPtdWYnZAm7OG3KwFN8f7IDw3kR1dde1TjcAUsKhPmw== X-Received: by 2002:a37:9cf:: with SMTP id 198mr32983015qkj.308.1637382847785; Fri, 19 Nov 2021 20:34:07 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r20sm1059262qkp.21.2021.11.19.20.34.07 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:07 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 01/26] gnu: node: Avoid duplicating build phases. Date: Fri, 19 Nov 2021 23:33:41 -0500 Message-Id: <20211120043406.952350-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Split 'patch-files phase into 'patch-hardcoded-program-references and 'delete-problematic-tests. Adapt 'patch-hardcoded-program-references and 'configure to work unmodified on node-lts, but don't try to share 'delete-problematic-tests, because those details seem to change too much between node versions. (node, node-lts)[inputs]: Use bash-minimal rather than bash. (node-lts)[arguments]: Inherit 'patch-hardcoded-program-references, and 'configure phases from the bootstrap node. Remove the 'patch-files phase, keeping its remaining non-inherited work in a new 'replace-llhttp-sources phase. --- gnu/packages/node.scm | 105 +++++++++++++----------------------------- 1 file changed, 32 insertions(+), 73 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index dccf871d2c..7ebbbc3060 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020, 2021 Pierre Langlois ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,14 +106,22 @@ (define-public node #:test-target "test-ci-js" #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-files + (add-before 'configure 'patch-hardcoded-program-references (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-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") + (substitute* + (let ((common + '("lib/child_process.js" + "lib/internal/v8_prof_polyfill.js" + "test/parallel/test-child-process-spawnsync-shell.js" + "test/parallel/test-stdio-closed.js" + "test/sequential/test-child-process-emfile.js")) + ;; not in bootstap node: + (sigxfsz "test/parallel/test-fs-write-sigxfsz.js")) + (if (file-exists? sigxfsz) + (cons sigxfsz common) + common)) (("'/bin/sh'") (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) @@ -122,7 +131,10 @@ (define-public node "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) + "/bin/env'"))))) + (add-after 'patch-hardcoded-program-references + 'delete-problematic-tests + (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -217,9 +229,13 @@ (define-public node (setenv "CXX" ,(cxx-for-target)) (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python") + (let ((python + (string-append (assoc-ref (or native-inputs inputs) + "python") + "/bin/python"))) + (if (file-exists? python) + python + (string-append python "3"))) "configure" flags)))) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) @@ -256,7 +272,7 @@ (define-public node (variable "NODE_PATH") (files '("lib/node_modules"))))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares) ("http-parser" ,http-parser) @@ -712,66 +728,8 @@ (define-public node-lts libuv "/lib:" zlib "/lib" "'],")))))) - (replace 'configure - ;; Node's configure script is actually a python script, so we can't - ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) native-inputs inputs - #:allow-other-keys) - (let* ((prefix (assoc-ref outputs "out")) - (xflags ,(if (%current-target-system) - `'("--cross-compiling" - ,(string-append - "--dest-cpu=" - (match (%current-target-system) - ((? (cut string-prefix? "arm" <>)) - "arm") - ((? (cut string-prefix? "aarch64" <>)) - "arm64") - ((? (cut string-prefix? "i686" <>)) - "ia32") - ((? (cut string-prefix? "x86_64" <>)) - "x64") - ((? (cut string-prefix? "powerpc64" <>)) - "ppc64") - (_ "unsupported")))) - ''())) - (flags (cons - (string-append "--prefix=" prefix) - (append xflags 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_host" "gcc") - (setenv "CXX_host" "g++") - (setenv "CC" ,(cc-for-target)) - (setenv "CXX" ,(cxx-for-target)) - (setenv "PKG_CONFIG" ,(pkg-config-for-target)) - (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python3") - "configure" flags)))) - (replace 'patch-files + (replace 'delete-problematic-tests (lambda* (#:key inputs #:allow-other-keys) - ;; Fix hardcoded /bin/sh references. - (substitute* '("lib/child_process.js" - "lib/internal/v8_prof_polyfill.js" - "test/parallel/test-child-process-spawnsync-shell.js" - "test/parallel/test-fs-write-sigxfsz.js" - "test/parallel/test-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") - (("'/bin/sh'") - (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) - - ;; Fix hardcoded /usr/bin/env references. - (substitute* '("test/parallel/test-child-process-default-options.js" - "test/parallel/test-child-process-env.js" - "test/parallel/test-child-process-exec-env.js") - (("'/usr/bin/env'") - (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) - ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file @@ -810,8 +768,9 @@ (define-public node-lts ;; TODO: Regenerate certs instead. (for-each delete-file '("test/parallel/test-tls-passphrase.js" - "test/parallel/test-tls-server-verify.js")) - + "test/parallel/test-tls-server-verify.js")))) + (add-after 'delete-problematic-tests 'replace-llhttp-sources + (lambda* (#:key inputs #:allow-other-keys) ;; Replace pre-generated llhttp sources (let ((llhttp (assoc-ref inputs "llhttp"))) (copy-file (string-append llhttp "/src/llhttp.c") @@ -838,7 +797,7 @@ (define-public node-lts ("python" ,python) ("util-linux" ,util-linux))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares-for-node) ("icu4c" ,icu4c-67) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:20 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:21 +0000 Received: from localhost ([127.0.0.1]:41169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4y-0007re-Du for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:20 -0500 Received: from mail-qv1-f48.google.com ([209.85.219.48]:37439) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4t-0007qX-2Y for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:15 -0500 Received: by mail-qv1-f48.google.com with SMTP id u16so8545834qvk.4 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=vNLOSTWhsUvYl4zbQmT0Z6mwdgkAqlBATEO6lq8SgZA=; b=DW/JLx/bsBYpFKBmrZgbkDSDSyHVU8MWjdDIHStgEsg8q8WskYPrB+YDpedxENSK0C H6B0xPPTy94CUdrTUbpU3dPBhEoHb5vEgVebS+qwT6xKjLhwExx7KkIS+X6sBTetRrD6 dUvQh9Nk9TRY4svjwK4XT/Sd/TIedBCgqfzDW20wX4rlWLrIBJqkLaLCZudhvLMaWthS qbJ4rfK9VJwb8gNuFzYhnt58XdfJxdIADNeF1a8r+G8wTs+4Wczgs8d19j6kTl6t63Uq 29V98snJnyF4+DbVQhhnnkdmNBfH9AHXCw7L4A1iexJs/3hHL+vzX+u1Nlw95A3kW4l+ 7ieA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vNLOSTWhsUvYl4zbQmT0Z6mwdgkAqlBATEO6lq8SgZA=; b=02f/71S/GswCodhGWxPxiZN86ZPdcl3A1kD3MGLl59uuYqyIQ+xe88Vjm+tkWnnDUv Xx9PJmk0M6/gM8ciwhkwOF3p7iwMaxvBFCGFAwP4I1xHQx4/pfFxnidEh5HQOwGpzSzW KBcuXjBu/Phpa+P9e4jJ4iBZM7XFStju538D/eSqhTAzP6h2pWuIx5tnMczPeqHxeiLM vE8AQfSXh1FngS8gpmjSXlM+4P0i0iuG4o1yyAvKajHpJy4W0ScnbcIF/5nsOH4WmcZi V4cStnIqiAJWUHIVvdNLzVBODR8/QN4rKk7QlLAffJxpfUU/hZvDrXzCqPTDJUtM4Nj2 ZuMg== X-Gm-Message-State: AOAM533BHCFP13q4UYuqO2WxZ+ERH4rXhDkVd4GZfhssCNK5PfiPbHTk S5UBV2q9ZI6rUIoWJiqaV27DquEjGiyDfmCQ X-Google-Smtp-Source: ABdhPJwf10H466nobbs1bI7S+iIua4Srz84k9IfIR9qlJTFbCKZHRYv8KRExamq7CLOB6sSU0zA6mA== X-Received: by 2002:ad4:5e87:: with SMTP id jl7mr78673917qvb.19.1637382849567; Fri, 19 Nov 2021 20:34:09 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bs7sm974082qkb.79.2021.11.19.20.34.09 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:09 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 03/26] gnu: node: Patch shebangs in node_modules. Date: Fri, 19 Nov 2021 23:33:43 -0500 Message-Id: <20211120043406.952350-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang and 'patch-node-shebang with a new 'patch-nested-shebangs that also handles node-gyp and other shebangs under "/lib/node_modules". [inputs]: Add Python for node-gyp as "python-for-target". (node-lts)[inputs]: Likewise. (libnode)[arguments]: Adjust to delete 'patch-nested-shebangs rather than 'patch-npm-shebang and 'patch-node-shebang. --- gnu/packages/node.scm | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 71b66774a6..a57a74fb81 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -237,21 +237,20 @@ (define-public node python (string-append python "3"))) "configure" flags)))) - (add-after 'patch-shebangs 'patch-npm-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npm (string-append bindir "/npm")) - (target (readlink npm))) - (with-directory-excursion bindir - (patch-shebang target (list bindir)))))) - (add-after 'install 'patch-node-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npx (readlink (string-append bindir "/npx")))) - (with-directory-excursion bindir - (patch-shebang npx (list bindir))))))))) + (add-after 'patch-shebangs 'patch-nested-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (path (map (lambda (dir) + (string-append dir "/bin")) + (list prefix + (assoc-ref inputs "python-for-target"))))) + (for-each + (lambda (file) + (patch-shebang file path)) + (find-files (string-append prefix "/lib/node_modules") + (lambda (file stat) + (executable-file? file)) + #:stat lstat)))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -274,6 +273,7 @@ (define-public node (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares) ("http-parser" ,http-parser) ("icu4c" ,icu4c) @@ -799,6 +799,7 @@ (define-public node-lts (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares-for-node) ("icu4c" ,icu4c-67) ("libuv" ,libuv-for-node) @@ -817,5 +818,4 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (delete 'patch-npm-shebang) - (delete 'patch-node-shebang))))))) + (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:21 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:21 +0000 Received: from localhost ([127.0.0.1]:41171 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4y-0007rl-QU for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:21 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:34726) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4u-0007qZ-1X for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:16 -0500 Received: by mail-qk1-f176.google.com with SMTP id t6so12402135qkg.1 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=laPpxNN++I5Kngpc08bz6Lh1/8GAB9Aqp19GJIgLjfk=; b=SLLvjGTOB2lwoFgZqNzxzxbCIYAtG7gzzVeTWU2/PoOsOiy0zxOUOjiFq6giKMMEbR NQ30RulGoCpCEEun1ybjdCoiuzV9OxdVuA019FCS3B37jCiciWce9+01efYkVNA2GOVX yg7Wj168DEX5HGzh4ZHw+/m6S9paBnHF7xVNeYdfUyLgrKU/sTcD4tnOwZor4yOVW840 gafO55SxDupWO5cL8M5tY5R3Je/UGMPacaltylIWGroHCiPM0jLoRMOGmRh7pEEHFAJa IyGekLlb9NU0pY+KwjIAGE1HJP5oABIcjlbjBkQR0UPfrpS7q/U5yjvaJLP6kqEUW84P ywuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=laPpxNN++I5Kngpc08bz6Lh1/8GAB9Aqp19GJIgLjfk=; b=WBqCLv10a1B7l1UBZ49rK/N4Ft5LRJcXqvgTY07YZE74onXnzifUw6FM45wROCgXQs kx/TlJk7zyBDwO7MsJr5L7g6w6OXGWdTCuiz6bDbarreFckplCRdcD4GNQHRG5ciyq6K gbw5OxZihC5jLEAwoINwKqCfUKcCWOCPmPLiXPrGLsYPSiMoWa5T8pems1ed0TNVI+eq A5XlgWaD/RKyQRPA7PZGsGiz5SLYtyMocfarISufvWMF/dIMj8h6yMZXQvixt5d0cjMU fHaq+HWKLpcRShGVkFRZvIAyrG7Nl4o/1QIj1PIb04EXQou1EesqydXAKJ6BWwbUc4Ba qO+A== X-Gm-Message-State: AOAM531Y+XQHMFw39govvDFjrdrsHbBQMRyPimNQywPQPSF9bfU1YDEy f89hKxKB8zZaLn5zohWhqynmQBB2aJN3svPX X-Google-Smtp-Source: ABdhPJz3iH5auJ9EBJpru2jWpb60QUNPSVQd/QZh88o+aTWRe/5//WYMsfG2N3Z2QERODaYlL+e2xQ== X-Received: by 2002:a37:9f84:: with SMTP id i126mr33780996qke.249.1637382850464; Fri, 19 Nov 2021 20:34:10 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v125sm990534qki.63.2021.11.19.20.34.10 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:10 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 04/26] gnu: node: Add an npmrc file to set nodedir. Date: Fri, 19 Nov 2021 23:33:44 -0500 Message-Id: <20211120043406.952350-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node, node-lis)[arguments]: Add a phase 'install-npmrc to create a "built-in" npmrc file that configures "nodedir" to point to the output store path. (libnode)[arguments]: Delete the 'install-npmrc phase. --- gnu/packages/node.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a57a74fb81..0f67fe79c2 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -250,7 +250,21 @@ (define-public node (find-files (string-append prefix "/lib/node_modules") (lambda (file stat) (executable-file? file)) - #:stat lstat)))))))) + #:stat lstat))))) + (add-after 'install 'install-npmrc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (with-output-to-file + ;; Use the config file "primarily for distribution + ;; maintainers" rather than "{prefix}/etc/npmrc", + ;; especially because node-build-system uses --prefix + ;; to install things to their store paths: + (string-append out "/lib/node_modules/npm/npmrc") + (lambda () + ;; Tell npm (mostly node-gyp) where to find our + ;; installed headers so it doesn't try to + ;; download them from the internet: + (format #t "nodedir=~a\n" out))))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -818,4 +832,5 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases + (delete 'install-npmrc) (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:21 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:21 +0000 Received: from localhost ([127.0.0.1]:41174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4z-0007rt-67 for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:21 -0500 Received: from mail-qt1-f181.google.com ([209.85.160.181]:35708) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4v-0007qb-AU for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:17 -0500 Received: by mail-qt1-f181.google.com with SMTP id j17so11453011qtx.2 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=rFhMeClAh1FA9n4bk9oFR9mta1Ty4XRgs6HxE0DL8BU=; b=XtSL6lqyu4d5CYAsRg62nSMO6LPG8C2L8D0cAItuEaGZ2x9LaM0m4Mib1KvW3L8GKV w4Y6s9lW6MRAF1vtl1ZzpllcYbHKLGO5pCV+7GwJdi9d6EJ70dGxbOb/UGTGmcjd5myE NDmgbT6rYCjL8oBrx3ExMcAy9/0ORy9b59fwdtNN/sk4c//JLKD8Ya4jEB2fpW/+LFjy NI7JKJN1awBv09PLZTmUHL5aaTAnnm0/NlqwoI7N141gj0r6jzROVXGbZ5POQlTl5zE5 K+IWaADTdqh1Ggb2NKC+RXhy+Ba7mKqiV6vA0bWGMf+lh74Yv+6MLWSYk4b0Wu1mUsdN CZtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rFhMeClAh1FA9n4bk9oFR9mta1Ty4XRgs6HxE0DL8BU=; b=u5UhZ7EZoozhb/X4wGz6Hk8rD3a+AtA5ugwoqFryXNXTr2a+ugWJdTTrVAXkn/o9qF lgyATkc2XLEbvy+BevE7YJGsHwaQ0mBHV6xzZNvZmebUKPfa5K1bHy/Qqa/4T1lgXM71 EjffeC+0i/AsB+bRSRFejuFXC1HfO4zlrOeFs5e8hb2dqPcjDLcu2Gc3AdWN7bDax4aQ vHdpoi0HUkf18R82NTqCqxM/9XNr8SMydIF/tF/4HF+eUfST0RPqca8hA2pccAg31D1k VSKiXZkfdhmjPuIA3kV0nfCs8FdV+bknrOepwaDTfGBDt2lNP7qwng+CdJNIutwJoyku oDQg== X-Gm-Message-State: AOAM531AVXerKPs5cbeCBlMAn0+czE4V0rzx3YzvKL/P7haVhOlPobXc Jhaz/qvHWPfDP2mcT8F85UiVwiwXZtpf7dy7 X-Google-Smtp-Source: ABdhPJw/hOZ8j2dV2l9gXXQjHfNeD1FMQKwMs6Jp4T218VixB47vBD860W1r6wAu1j3QVR+N6MjmdA== X-Received: by 2002:ac8:7f09:: with SMTP id f9mr1696728qtk.163.1637382851670; Fri, 19 Nov 2021 20:34:11 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u10sm996300qtx.3.2021.11.19.20.34.11 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:11 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 05/26] guix: node-build-system: Add #:absent-dependencies argument. Date: Fri, 19 Nov 2021 23:33:45 -0500 Message-Id: <20211120043406.952350-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Many of Guix's Node.js packages are built without some of the dependencies they specify in their "package-lock.json" files, either because we don't have them packaged yet (e.g. test utilities) or because we don't want them (e.g. to reduce the closure size). Previously, Guix package definitions would work around this situation by deleting the `'configure` phase (i.e. the initial `npm install`). This commit adds an optional #:absent-dependencies argument to `node-build-system` to list Node.js packages that should be removed from the "package.json" file.Retaining the `'configure` phase avoids skipping checks for the dependencies that are intended to be present and other actions performed by `npm install`, such as automatically building native add-ons with `node-gyp` when the "gypfile" key is present. * guix/build-system/node.scm (lower, node-build): Add optional argument #:absent-dependencies with default of ''(). Pass it on to the build-side code. * guix/build/node-build-system.scm (patch-dependencies): Respect the #:absent-dependencies argument, removing specified npm packages from the "dependencies" or "devDependencies" tables in "package.json". Also, strictly follow the linearity rules for `assoc-set!` and friends. --- guix/build-system/node.scm | 3 ++ guix/build/node-build-system.scm | 55 ++++++++++++++++++++++---------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 98f63f87ef..75ae34508f 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -44,6 +44,7 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (absent-dependencies ''()) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -73,6 +74,7 @@ (define* (node-build store name inputs (tests? #t) (phases '(@ (guix build node-build-system) %standard-phases)) + (absent-dependencies ''()) (outputs '("out")) (search-paths '()) (system (%current-system)) @@ -94,6 +96,7 @@ (define builder #:test-target ,test-target #:tests? ,tests? #:phases ,phases + #:absent-dependencies ,absent-dependencies #:outputs %outputs #:search-paths ',(map search-path-specification->sexp search-paths) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..32d6807e3e 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -69,30 +69,51 @@ (define (list-modules directory) input-paths) index)) -(define* (patch-dependencies #:key inputs #:allow-other-keys) +(define* (patch-dependencies #:key inputs absent-dependencies + #: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)))) + (define (resolve-dependencies meta-alist meta-key) + (match (assoc-ref meta-alist meta-key) + (#f + '()) + (('@ . orig-deps) + (fold (match-lambda* + (('@ acc) + acc) + (((key . value) acc) + (if (member key absent-dependencies) + acc + (acons key (hash-ref index key value) acc)))) '() - (or (assoc-ref package-meta meta-key) '()))) + orig-deps)))) (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"))) + ;; It is unsafe to rely on 'assoc-set!' to update an + ;; existing assosciation list variable: + ;; see 'info "(guile)Adding or Setting Alist Entries"'. + (let* ((package-meta (read-json in)) + (alist (match package-meta + ((@ . alist) alist))) + ;; Other relevant keys may include peerDependenciesMeta + ;; and optionalDependencies, but it seems to work out fine + ;; just to leave those alone. + (alist + (assoc-set! + alist "dependencies" + (append + '(@) + (resolve-dependencies alist "dependencies") + (resolve-dependencies alist "peerDependencies")))) + (alist + (assoc-set! + alist "devDependencies" + (append + '(@) + (resolve-dependencies alist "devDependencies")))) + (package-meta (cons '@ alist))) (write-json package-meta out)))) #t) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:22 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:22 +0000 Received: from localhost ([127.0.0.1]:41176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4z-0007s6-OZ for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:21 -0500 Received: from mail-qk1-f180.google.com ([209.85.222.180]:37462) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4w-0007qd-3n for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:18 -0500 Received: by mail-qk1-f180.google.com with SMTP id o63so12378915qkb.4 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=AMULJXHyOZipuNd58scXr0HRCAdd2zT9ONR4onrNEcY=; b=VSAcr/gdx/CbyW+Erhya2JffM1lolCPvELMpm0DUx9k/I7z0vK2nFRLHekSK741i1P WXjWj0nSpUVNijshmdqgI+Pyrh3sEVCxJS8Av7M87+5Y78k5sQGDhGwNJ2wTljIGk91e pFtNm8ZTQEBuUCU6m0qtO13z9hdIujWkau2Jcjv0Q0RcKsXT6jJtmGsUJCrOMkRrQ4OW /rxLsdkuIkVZIbFlKm0zqhL6rDghY1Gm9yeVeyVWLRtETqYuC2Wi8ySv5GoJ11pWkIGX 8lMQHJu4+b9qeKy8NmVGTaT9jlX0sPfqa8bYkNOi55Ym+oV9aDXiEzOfRFWS2RzpTnOh Sa2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AMULJXHyOZipuNd58scXr0HRCAdd2zT9ONR4onrNEcY=; b=J/eD/q8HJ/T27hMiGKMnGHZbrYbxCzzas0ZHASbmVcaeigdiloRm5MwXNaQdCcfSCo CAII4pAsJAKX9CF0PyvgM/2MYOFUtDxX6siokYZ8k7IsjJNr0RVw1M5Fii1NDwTtoz1S jCszbUuuEhO6twjS75xfOKKYro+I2pj2WZ4gEzkFt03pSUIDpyV0bzh5KP/f1yOnPkCO tJOWfyBSIMiQoJIJBXr64B5HpkMtD05+VMQad1IhlGN/kPOJPJx/VKC73EIDu2j7ILFo VmniEmtCR9kvynQeQG6kZmkYh9RdCR8qyVo0N9xXt/KIYh2pdzAG16u7KPXUN/nb6IZY uK3A== X-Gm-Message-State: AOAM530YCWN/lAOEABYYQgRJJXBTSIIg7+hhxRZ1QqJ92diaVGFipXsY 94N2j0d5CItnXg2paFCi6QxFudeDJCgxlPP7 X-Google-Smtp-Source: ABdhPJyDeQCnvnTClz3zX4nlGI57YOWAMlBdzzra/MlULGf5yC+5DPWu4clyJ/H+LKJ1erhZCjuefg== X-Received: by 2002:a05:620a:c53:: with SMTP id u19mr33860406qki.304.1637382852639; Fri, 19 Nov 2021 20:34:12 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bi39sm893167qkb.127.2021.11.19.20.34.12 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 06/26] gnu: node-semver-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:46 -0500 Message-Id: <20211120043406.952350-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0f67fe79c2..6c958eebec 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -330,9 +330,8 @@ (define-public node-semver-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:34 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:34 +0000 Received: from localhost ([127.0.0.1]:41191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5C-0007ti-1G for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:34 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:41589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4w-0007qg-VF for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:19 -0500 Received: by mail-qk1-f174.google.com with SMTP id t83so12349304qke.8 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ysCUypxPLTqJpCuJaOcxZ4DeIJt4wjdqkdolNkLabpY=; b=U/UIpdushqB1UwY+77D9jF56hkaJr63mQ6bU+4a3fn1g5h6eHVwPZPr93lM2vnektr i1IFrhoiv0MSstOUf5YLTSWWtIpWwBT2+I2w2g6o2kAw0yi3cy8YP7r00HdSDqkCVJPH ClN8Av1llVWUWYjAACobrgl5kTWBsBEKiEKHD+EpJiO+FUKGiPkpvOQVUv4Yfw7HiLg6 FrTqqSIywuV1HzFjs/EiOIaOU0l4yRz3KyLtEPKtGZ7tuQNJDryMug3Ds41RBfpgtpBq 5/TX2eLmVHHclQrA5YroQSm2/EG8Yz65ZPh7Ffhh7dEhCz3YUGbuDHRdqaaixu/b2s9x XEGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ysCUypxPLTqJpCuJaOcxZ4DeIJt4wjdqkdolNkLabpY=; b=Jh1oF4atpPXUUdhwlzP8qlkfC/+Fh/Py31HyhPx7vXei+/3Ss9sYab/bvC7e02DmGH k6y8RXZZyFPui4T6YD3hcS1ND1eFLs1m+HvdkZNCFb/tcScOCEEl6yfM2ql14ZszmKHp 036huah3zQH/APFgl/wuKhHpDzJgx0/9mTByV1JCia52RxKP54XVAHMuyKdRhAQ/I7pz MfTi3G4Zs8HMIhcDmcE+CI8753BQiCuBRg60E08rhfJOfLKz4CJe2YvjFrrpQyN9ww85 0P3zudWZl7RwKcinBm4wO8HoYYQQg+v5bWYRSYMZpWlt2mlfKaKjZZWDN+NcErEmrKyX AE4A== X-Gm-Message-State: AOAM532OOFH/tquWDEzFFoS4gsd+zpRte9KWe+Jc7YVtYgoCbj4IWuiA K16zz3pwP6Qit8B8Iu2LiHN5BCrGQUMIRVoq X-Google-Smtp-Source: ABdhPJw6ZiYGOdKhOo8/i9FLIHOueDa0hfuECrreCQ5xDcj2LF0YQSlAD2UNFPawQTmtXqd5J1SnUg== X-Received: by 2002:a05:620a:2589:: with SMTP id x9mr32798844qko.152.1637382853472; Fri, 19 Nov 2021 20:34:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j20sm947890qtj.43.2021.11.19.20.34.13 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:13 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 07/26] gnu: node-ms-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:47 -0500 Message-Id: <20211120043406.952350-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6c958eebec..ca4bf1ad23 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -358,9 +358,12 @@ (define-public node-ms-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:34 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:34 +0000 Received: from localhost ([127.0.0.1]:41193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5C-0007tk-7s for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:34 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:40751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4x-0007qm-QR for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:20 -0500 Received: by mail-qk1-f177.google.com with SMTP id p4so12364631qkm.7 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CaP7f29V0VkxYNjFKOmVo4MDTT0lUMh0lH0dVf/o9/c=; b=eAraYhgEzd3ruAohZt8odJwECe2UlfSZFAJpWvsGolLGpIPDK47rq7sUUE77gAsN03 lgM3YmSP5uqsRd5fIVZGWki+eqR/OQDEwGKV7qN8wYMwbQB7m3sRCThK3igmpEWAB6ea SCkfCEIFWSnbI+ejyVvxFhAFBU0GNnq08Y+jt+M+Cx5/PZYkBqH6YPbX7r8MZUGwdIY1 iQM0VDRbUqpc2Wzlis5E1fqszzjAkJZakZVep7WEMMc45t4qOvYPOIQGOQUDdu6fO5ay seRdA/5BUINIVBWJAg3RUregMxRdURNITfd4yhmYDmgOAabNEW4I4a1KCW7sKWkEu979 yOnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CaP7f29V0VkxYNjFKOmVo4MDTT0lUMh0lH0dVf/o9/c=; b=W53zHhkIphfWfE0bLdY5qGt7ijxa1KCjLm/A9p1SAPOZCfG4wN3akOCC2Et7aHGFFY 6J71JVDPurMhBOJJfox9VANlqD1GhGnPc1SQDRZ6lwIaWstf3yLxjXQieM6iV36q45Ad zjrwtqZXiwEqOfdm/+pFemF3LJp4iso0e8/r+z2pHfX/MEjvWTrHuc/1mCzp+X31Yz/f HCtVb0/RQymvILEDSx/+c/ru2/i1KDwrh9Hx61YOJqYeY8XJBk/DlZGpCh3Hzh1oQBgb yZXub7RK+01oVfSdDeMrYpS0PRjkZ0sAu+hHnI8mdnGTIHdpFck8kRpjmWxhe+PbjS6s XBYg== X-Gm-Message-State: AOAM530ch7nON0Vfcat0y8lBHlELCKwy1EHl7iQ9UDbulMzoJKE7eIG9 xObn3Vlp4Hpd5LIH8wwTvmIFHzvQhOHAvw1s X-Google-Smtp-Source: ABdhPJzlRLdQ2EAcSUqdfVt5GUbqM1DRxvp5U+MCeNxIDXFX2pxGdcsJxfvW+k7uyRLJ2bRCCKWHOA== X-Received: by 2002:a05:620a:2807:: with SMTP id f7mr32877574qkp.424.1637382854367; Fri, 19 Nov 2021 20:34:14 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y10sm957990qkp.128.2021.11.19.20.34.14 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:14 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 08/26] gnu: node-binary-search-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:48 -0500 Message-Id: <20211120043406.952350-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index ca4bf1ad23..2cdae34ae1 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -389,9 +389,9 @@ (define-public node-binary-search-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("chai" + "mocha"))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:38 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:38 +0000 Received: from localhost ([127.0.0.1]:41196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5C-0007ts-JP for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:38 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:41694) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4s-0007qV-8t for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:20 -0500 Received: by mail-qv1-f45.google.com with SMTP id m17so8510206qvx.8 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=t5y3hwK9L6+eQR1y3VE4Cmi8oUepPqWpd78oyUMVhug=; b=e9JlNauLkF/otmR9LT8ZGJyFquQGd1uvKbSUmV0yICTByX2iwYZtOFziRgNquY6Sft 6ffXrnX0CSIVo9UKiCOsN2Cv0MxHu8Y6kKPBl1zsLGuEr5UwIXF1OXfFBL9IHhepIM06 sKJQxq/vdBx1pFGgZVUqPCD19fZOZhyH2KUpmK0+9XUfRQ1FTdL89ExkKXGUqEl1yzyS dULl1KYNwFathq+IS4GwCktVF/Ln9vPVh/Ayd1VjLqHFLzk9wskLAYyaXAoC5PBCDt5G 3wyXZMADv/KD1XWONA7xyzIXhUKI6G6dH/c4Y0jwR8OouZQ9guI7PgLTEPE0+MostEqp nH8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=t5y3hwK9L6+eQR1y3VE4Cmi8oUepPqWpd78oyUMVhug=; b=iq6B2WXkD8gWN924K/2Ate+TXB5GjqPDJHW+l2kSyjRgH/KBiZ3otDYEeGJzR0ooxS sBS4W6vuhqRjahPAowHbuX+mubj1HorqYqScGUah1ar7BcVMAQ+GPkGVatq52FTq1C0b A92lSVypFel+E2rh5QMbawSDOg2/teUysCxDK262PFtRWDE/bneLZeOs0/PsoTOSyLXx MRlkURgbEdC92Is2woI2jqWcQcv3rYrsgNweJa3xLLrR6+3Q/88iJ9tOdMBixChuHMj3 bqckniMvxT5OOW5kww3Xbu/e0ksITbkkxBvl1uM1E9W6M4M8sV2TG7TafmebfhpVIa40 LkUQ== X-Gm-Message-State: AOAM533bAaiS26cEm+oVEjw87CqnlscL5GMad9kyJCD7CGd3H8VqL4+e iqfXn8Co1jXmJVHnPIeUIsE4fCYOIYeQJEEa X-Google-Smtp-Source: ABdhPJw5DgPDPPrpPNEjXz4KRcFoxDk6lECIuXsHqynX4b1iQhc08PDSKN/3uYximajibmvw2O4B0A== X-Received: by 2002:a05:6214:1ccb:: with SMTP id g11mr73421196qvd.31.1637382848712; Fri, 19 Nov 2021 20:34:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t11sm1000588qkp.56.2021.11.19.20.34.08 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 02/26] gnu: node: Update to 10.24.1 for bootstrapping. Date: Fri, 19 Nov 2021 23:33:42 -0500 Message-Id: <20211120043406.952350-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/node.scm (node): Update to 10.24.1. --- 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 7ebbbc3060..71b66774a6 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -57,14 +57,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "10.24.0") + (version "10.24.1") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm")) + "032801kg24j04xmf09m0vxzlcz86sv21s24lv9l4cfv08k1c4byp")) (modules '((guix build utils))) (snippet `(begin -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:38 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:38 +0000 Received: from localhost ([127.0.0.1]:41201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5G-0007uR-7N for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:38 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:33629) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI4z-0007r6-2S for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:21 -0500 Received: by mail-qk1-f176.google.com with SMTP id de30so12422846qkb.0 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=N3TFqL8mqVV/RyaIGlY/Q4s7Fe6YpLLescJ+hiM8MXo=; b=KucgnifigFyqSnaIMK0hY8XI7UygT7hvRJjeDa4OG2T78iOwYbvazudvW7chFGVgzV I9dLv0PCnQAWpnD1Vc6FfaOXophxsj7YRrHQK7E+iCezDTprPDJ12mPEUErgOcdcX95G 5bBJfF9exLPWvTdILbNcZqP3q248doFxTn/RjPJcFYbPdTcG/Ad/1ZM8cXCTDjGJnI6u iRh4XnZrXSZii/yV8DrXZ3useRNtClV0MPpG49+Rwe2AvMl5ZMOIaXO9QRItDehg+Idp v368k9+zliIF060x67BlkkW151QvqSH68qOHptkWlh5ohLfSiG1TkYqtWuFS9LCwNFaj IRgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N3TFqL8mqVV/RyaIGlY/Q4s7Fe6YpLLescJ+hiM8MXo=; b=zVp9WKuimWVpabYd6EDau+iWFnvUpiWaEtnxk+aB9Mwf79hwl6ZmhFcRcUzaAXzcEW rqUgcTzJ7JxScZTkCXM4ENBC8urbEIe3+88GQBcqGG0yk9di4x0oL+PPSfeQntio4JwV dAlTdWaOmFuGrm42+dCN0KQPjAD9ot4/L7C6U7HRZjb0uNgVm3ZwWGhOlj0NEslNaNSv vbBJWjr67Gd/3A+nGHlBfmqohcsfgKmEuczuQPhf53eA8M6GNfeLYpnB7FWokZAXokMt 8jFKz+/QDaTcys929BRv06+XrdduuLbcWhdDqnw/4AJLUe9KNfCbPSj2GQfvqft55nKB +ePw== X-Gm-Message-State: AOAM530o3tTPK9T9fFliFnLtpNYfPhDCQiTC9f+xlIVcqjBL0Jn4FoiJ 4dc8A5UDAJdj3s+rcDWeHOSFC6e4PsvGlio+ X-Google-Smtp-Source: ABdhPJy/hf3+3pxYfZsIxA2FIZyo0XaL32k10esQZ4KOQOW+bwnfvQooFMxnqfgXZihnqTiIm5AsBw== X-Received: by 2002:a37:6591:: with SMTP id z139mr31552981qkb.178.1637382855638; Fri, 19 Nov 2021 20:34:15 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i11sm1029415qko.116.2021.11.19.20.34.15 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:15 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 09/26] gnu: node-debug-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:49 -0500 Message-Id: <20211120043406.952350-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2cdae34ae1..98a51276e7 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -416,9 +416,18 @@ (define-public node-debug-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))) (inputs `(("node-ms" ,node-ms-bootstrap))) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:39 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:39 +0000 Received: from localhost ([127.0.0.1]:41203 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5G-0007uY-Gx for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:38 -0500 Received: from mail-qv1-f54.google.com ([209.85.219.54]:35820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI50-0007rD-CR for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:22 -0500 Received: by mail-qv1-f54.google.com with SMTP id g1so8527856qvd.2 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qnaUEWsjeIbY8vIxJJCzrVMTy4UI+5cVLp2wik/nM4Y=; b=GHhalSv+AGIy3mcKxXkqc5LrrhD7L70lF6/NUTNz1M820aDU8Dl9Ph2N+U5IIHYgzP W2PAr4qk8GfLGhUlewsjZbSsrFBrUSzZFyNgUfLzCdnr0MvVQfKQ6nbIaBZg7ewknsTc CyYkMTWJnFrZu1mvCXNsBwy9fdqhYigp10vk2Bx4WguwGMsWfE7wMFbCjN/KcKv+lV3P iUnEJEt1x7flTVBKsvUewSybiaOiApTNgiKYbiFWna3kW0GwB6wLeZ1Cef7GbeyB1OvV LOAUtpfh3EnoewHXlTV2JfvBVHL7viTvC2ZxhJLf5mqtOu2jBCrTzfVSXAjk0EgmEkkJ +AlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qnaUEWsjeIbY8vIxJJCzrVMTy4UI+5cVLp2wik/nM4Y=; b=HZw2cJ+UVp5OrOuHagZgO79rQohbfJBNapd2qrn156iLDIlfNdEnu9aDs0BpceoRy5 E4Nq1/OEFLkSDn57S7DMYTVXqybVyfkqSz158joUQRhDwGgMQxbrHz8k6n6nUgL7Jmur pdGmzVXNuTcgC3jwUIWWW/7gaBckE9GKWsD33QPja7zOExEoKlAloW07YJCE+692OOVx BUZ/dBV3nYncmrfRxSFQPhhUqGDIpMn8vsre6mLbtgmZNmv3L0+uuAV/JCis8/1n7VKC OyOUct7leeu0R5TmH3cADSIwi8CfXjRu3Q/r/QrZBbgcBBW4Kic4P22eze/MKBpPiton vk/Q== X-Gm-Message-State: AOAM532JvzhZIDKS00WIgVeumYP69fz7w4A8jXQX7i/BmO74lkFfGeM/ 2oXohUyH55lUwEAVB//oVsFH0fDUG5wc7sRk X-Google-Smtp-Source: ABdhPJzwvIk9Rvl7E4ao66+IBoReX9tM1vJJisPrXGqZ6X5gSexukZk7+8uJiIH2JOM9Hji4c2Qamg== X-Received: by 2002:ad4:5a47:: with SMTP id ej7mr79475676qvb.48.1637382856813; Fri, 19 Nov 2021 20:34:16 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id l10sm1047238qkp.3.2021.11.19.20.34.16 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:16 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 10/26] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:50 -0500 Message-Id: <20211120043406.952350-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. Add a new phase `#:delete-package-lock` to remove the problematic "package-lock.json". --- gnu/packages/node.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 98a51276e7..9d4903a8ca 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -479,9 +479,21 @@ (define-public node-llparse-builder-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) + (add-before 'configure 'remove-package-lock + ;; Having package-lock.json seems to cause npm + ;; to look for things on the internet in the configure phase, + ;; even if we have them properly installed. + (lambda args + (delete-file-recursively "package-lock.json"))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:39 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:39 +0000 Received: from localhost ([127.0.0.1]:41205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5G-0007uk-VP for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:39 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:39794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI51-0007rK-8E for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:23 -0500 Received: by mail-qk1-f170.google.com with SMTP id bk22so12355561qkb.6 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GkiJa612s69wtsJsqZ9gBQjB+UI22GYIWQ/+REU939c=; b=BfhxqGIRm5lJIH5d0tDChwxgUhuoQ+ThzTxTD0KgoKQuBuUNCN9OGwzyuhau5Fgjs2 UGENd6JZSJsQNsbNOd69qbaS0NXyxrca4jsidVMP4qXQIFt7XM02Jp+Lwnpv7NFNzW7k sIQo7COz4O23XfEgGEDWHEVDbfPbZoQVJNNkpmL7d6Gj0gE5jtQ5hU05PtB+vtp7IlGl VBNY9iORZLQpgSdmXQ2tLTrnMbz2aD1/AsRxuikw71WKjARPt4+d4OumHLDnesCUQTg5 PBFlxqdD6Egb4gGKcYbemUvEeDa3+iEUDOEkxMc/GvvcIACUm7I9yL2yLImVJ8xNjnKh 9TbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GkiJa612s69wtsJsqZ9gBQjB+UI22GYIWQ/+REU939c=; b=0GumBqXplwhY6SGQvP4q/6WOl2U1+aB9G52Cb9ue7ZAh9DptSm7rXP8evJ1uC3AOK6 O4xa0/c1FVAR+vB63n0c9iOGy8MYMaQl7DX1YmWTlZp0CEjbCiCXx/liEokPZpXykmrH dzxPokmnjmwKh9P5UjWgHwkqUtM1ovsWheoVxmrvGy1ywnUlgiDCUhSEBlwdl2ru00yG UiVDGEhRGXNS1vcjqDXmGnfCvXD3puMDORW3DS22j0GuKLAHFiSsNcoy/RD6h9eV43Wi zGYN6g8u3kOy0cUjUl644xOuAx8onwHnciRPJSIwVFH7iN5CK0HETT05V0E1O2Vx1KVI MElQ== X-Gm-Message-State: AOAM532q6y1hgGCHU0ljtNJSez16wehRuIwUHoqW3j+SiF6vBzLArNdt 5Y/oVe2lrYhWdJROg65eDTQGg1KvGaS0/KVc X-Google-Smtp-Source: ABdhPJzPc1KVEPuwhSzBdyDGOh2unxy19vOYsx1LRC3hTCcu2uWo2qrNV1a4gANc7LoyGq7S6bl3dg== X-Received: by 2002:ae9:de02:: with SMTP id s2mr34243352qkf.215.1637382857767; Fri, 19 Nov 2021 20:34:17 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g12sm950763qtk.69.2021.11.19.20.34.17 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:17 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 11/26] gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:51 -0500 Message-Id: <20211120043406.952350-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 9d4903a8ca..298b9376a8 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -547,9 +547,16 @@ (define-public node-llparse-frontend-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:39 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:39 +0000 Received: from localhost ([127.0.0.1]:41207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5H-0007ur-8J for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:39 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:41599) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI52-0007rQ-A5 for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:24 -0500 Received: by mail-qk1-f181.google.com with SMTP id t83so12349477qke.8 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zB8Q3gHUAjYZf7aD/m+qvVXNE+nk0p2Waz35RtU/tjw=; b=fLsQyGmfyLmGeuIRH49f8WMBBBlnSkxFqP0VTxHKHlDMPEQebXAlkWOt+19g4JDZT9 9QoFP3W4xOYdHKmaBleCLraCvetGuNBQIzfk0R2pioMoevCp0iX1RuzRHel/oPYfeTfe AaS3/CY2PmM2KQyY/zdEmFRV4n57dQwSpFAbL0A54lA/fWhlMYnNpM8vIJ8x0oaHauCb gKADfYod1eDSNV3lnoSH8bSkFWElxWPiwS0H2sg/gJz21VP4wqqtmGqmM6V4FZimC1Dy pI3WukJFA+uvRNBvC84UT3JxvXyc4DQ28PuudvOxjlvAxZYnCUcoHkAmHpqCqiCzDej5 4QRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zB8Q3gHUAjYZf7aD/m+qvVXNE+nk0p2Waz35RtU/tjw=; b=69LfDh75lncl3aj1X+36dYe6MW1XZdik6D9MwA7VjfjMG7lcrrjgqoWuhXINKJEN0j 29xo9RXNAlx0lN+R+o2Ff843Ztz2WC4Oa80hdZGvVPHZnuSYHD5by5j4RyW8xQtTtiWk Ol9G3qs82WOb8lmkNj0WEi1YLykSzxzmArbi7vViwYzqH6g1de+6EfCQl21qShOgyvFx kivhg1xbNELjmgtW/NI/485eiwTrv8qDI/FrvofGUXr6X2o//sMC+SjmKmk5Lrdx2pdN rpQkqzAcTc1/OqsPhlo57o9CuCBKKgTBuF2ZWakM2Gvoe42DTA71Vz8YlO4lXqXEYVhF XMzw== X-Gm-Message-State: AOAM533zbIXFdtap++qLecFmjXqrSjEi5NdlpewMSyYBTvjcurRxqy5v LWlwQK1szaDPL8Tu9eZxWQRWE6sOyY5S+e1S X-Google-Smtp-Source: ABdhPJxTjEsjj/4fFtHxpvIqd3Hwmys5vqTbZZ9bcpQko9on0Yk20/o41ZNwblPAini5r3rfJ1UIJg== X-Received: by 2002:ae9:e502:: with SMTP id w2mr33476073qkf.315.1637382858806; Fri, 19 Nov 2021 20:34:18 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t15sm1001590qta.45.2021.11.19.20.34.18 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 12/26] gnu: node-llparse-bootstrap: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:52 -0500 Message-Id: <20211120043406.952350-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. Add a new phase `#:delete-package-lock` to remove the problematic "package-lock.json". --- gnu/packages/node.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 298b9376a8..6d48816c77 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -609,9 +609,24 @@ (define-public node-llparse-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) + (add-before 'configure 'remove-package-lock + ;; Having package-lock.json seems to cause npm + ;; to look for things on the internet in the configure phase, + ;; even if we have them properly installed. + (lambda args + (delete-file-recursively "package-lock.json"))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:39 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:39 +0000 Received: from localhost ([127.0.0.1]:41209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5H-0007uz-H0 for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:39 -0500 Received: from mail-qk1-f180.google.com ([209.85.222.180]:33636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI53-0007rc-A4 for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:25 -0500 Received: by mail-qk1-f180.google.com with SMTP id de30so12422967qkb.0 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mbCEzsxFXNzbUn/m9lxyQ344wUbhcRY3RF9r5hsXjyM=; b=fP3PSGZmYi2u8TuJpbNYg2MYu/jRQfciz267d0nSDCDCrgbd3KktP7tWwWZxQmChZw aBdzonenOcKztAqo9rOWatCDQQqnrP3giZ3VXjfx95MhyxW2Uhf3fdr7PhKqt/RWsZe+ yZtkXq2sMIf5K+4YMdTLApP0xpuZSWeGqiAKyJUOalS1cyY/dHlsjYgzzY2f8A3HpeHM cFYnX9trFMmW4qE1NWZ1PQrFBfxjsNAnFmkD+k8U4KF4B+ujOEy+gLd/SuYy6gIurz4K sTNpoOiZdzYcQxTWd7Zsp3JXvekAGyRmIQY066orM/RkpruTTY7Df10gwcNQ3KxKlx8a V7uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mbCEzsxFXNzbUn/m9lxyQ344wUbhcRY3RF9r5hsXjyM=; b=5lbNm5h6rGuXFbkOT7C3M6a4cTVp284hnh3LR/Sk4JZWLILiGapZ4hKLqKektBQqui mBdoovvyUP5CCF5T+1mq2NUEQmC6hpscGl2eR0o9UzwfA7342Drsr8de9lFzxoBDs9Ot 9BxsDbyZGPJOeWdKq99jfgCsY4u6wT9uxltkRZXGPGpd+6cf1k75GaLKEI9BWm0AWtbo GSIfcG6oZTtdHNBu3bgSyZp3zzMrPmDVMOGyaOdNoHhbjbXxe10m9vdrt7iyb0geJlmM WAoA8T/F3flKL4nzulitS4ZaZtNUbl4i9gh/00zBM5uHEqUPiiGxUWrHnjbe22YUO4eK z5vA== X-Gm-Message-State: AOAM533k5ZXST1mv2TUbr1KIcdC2pP5POpiismZJNve7qTqR0hcm9nKb eCgWOUBbcp6CI/HItBq1GwWV+leNQSOQ23Hw X-Google-Smtp-Source: ABdhPJxZhZPtu4j5wnS6BHtyW8Tvag9+bqnYQiNBmXyjr5270mJLqE8jPe6u0bJjR91JaRRqNto40g== X-Received: by 2002:a05:620a:1a19:: with SMTP id bk25mr33265705qkb.479.1637382859853; Fri, 19 Nov 2021 20:34:19 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u17sm1046629qki.2.2021.11.19.20.34.19 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:19 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 13/26] gnu: node-semver: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:53 -0500 Message-Id: <20211120043406.952350-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 98c611f227..93a033d33e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -289,11 +289,10 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#: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)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:40 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:40 +0000 Received: from localhost ([127.0.0.1]:41211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5H-0007v6-PT for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:40 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:44645) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI54-0007rr-6S for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:26 -0500 Received: by mail-qk1-f170.google.com with SMTP id 132so12346249qkj.11 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=rrgarsOG5qrDPqpcA3pfUfNYrtqtmYBYYCZ4jb/3Z+8=; b=ZwZYjR+Y/xg2Vl8mlzVG7VZfUjQ6rNcPf6s86Bg2MKtjnTtcAHytbhqLw028krSuj2 xrQft3DgzYmilpoo4Y6VK6ySVBXfP80N0x7Bmzv8ouKSASf4u0B8Vh4a/XO4nJH6dA0w KAQoMvPqkM+sGCt8ndLuUIGiwFipNgEiRKK0pMegiSceaf9jBC0XPfk9ROIQLN/5Ofg0 dXq1A26Mcr355Rq+15dZ7vTgxYz9sPb4XEJ72/7Whfb796mouYUeYhQzfTDlCDWiWmRT Z8jBc+6dX0i4g37AlXPmRWqKTwHQTSBsgq7uEIuPkDKc0kLmowNXK+VkQSBHOT3VvyUW kykw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rrgarsOG5qrDPqpcA3pfUfNYrtqtmYBYYCZ4jb/3Z+8=; b=umCUgmfdXhmvPnTl72tceG7V0lTRWGb0Bs1lSvtXrhfUJx6vsZ2YtDO5rt9c0IlBSd R9Z/FMYHjHunC0UF1ypt8vHCkZ663nWOFC13/kPjN0EkhrORSunbYFobogs8Hnhv116G r4Ou1LNb19QBNyGMhdWB4ZK65L3ao0Al0itJRSJcNGhNb4xOxjCz/aa5ZCmSrf9DRcaC kciisyvluInffWCq+yEhcqNfTOKrc/kUw7yATP74k2/ob3TS95GPDQIOhjyDGCtcEmFT 4sl3Wpg+/d3UbuXzhml3ooQWnF5VzJqLW5qcsInr4hpW/CTKg57nu3YEXyCSxKH6MHvu c89A== X-Gm-Message-State: AOAM531lO/cJzwIIR2y+KIBxgPYS0LUF2hGuJDGyVdVDsz3mw+y+F4+2 CsKNNKl8ExkvxIKYVU0gQhKMlHDb69THSdzx X-Google-Smtp-Source: ABdhPJzdZeR8Y3CI1UAASMe2hnPCnPkUsRjaqYa44Jy0/wZmpjh08SNWXwQsr7elj3Mgg7aPDWnUWw== X-Received: by 2002:a05:620a:4148:: with SMTP id k8mr33168024qko.0.1637382860795; Fri, 19 Nov 2021 20:34:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p10sm998213qtw.97.2021.11.19.20.34.20 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:20 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 14/26] gnu: node-wrappy: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:54 -0500 Message-Id: <20211120043406.952350-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 93a033d33e..77577cb315 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -316,10 +316,8 @@ (define-public node-wrappy (build-system node-build-system) (arguments '(#: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)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:40 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:40 +0000 Received: from localhost ([127.0.0.1]:41213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5I-0007vE-27 for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:40 -0500 Received: from mail-qv1-f48.google.com ([209.85.219.48]:45860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI55-0007sH-5c for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:27 -0500 Received: by mail-qv1-f48.google.com with SMTP id s9so8505631qvk.12 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Zv0Max/Z0M9eGARhkXdFbG7nRPnZrOIPjGOnHvaOK6E=; b=bsS06aMv1gyMb2e+pIkZwEA7Ub/K9G3ks2qHe64E+7biy4RdFSQDSsziASFQU4Prd9 fZNuE2ABS71H6BVknPovfR6BUEgLbSb9UQKShuC31Tt5dNnaUMbX39gSUdaLFkhazMc/ mWImi7XEGx6nkwlcy1QP1Vdlgj8I6EPqiSs6nFObOLx9p3Nh+YVBofmm6LMc64bvxIUq yF1yM0D9DCOWGHps7CCZJo4ha31YGTEAyFrqOozLBFI0Wc/tApHoEx7r/JvUcfXNAGGc JjJnOZ6FeH3E87m5Uok/5MADcAJ+v3tmy3nO2KquuWU2fQ55YoEAFfAixA4L7w0qUgUv OkPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Zv0Max/Z0M9eGARhkXdFbG7nRPnZrOIPjGOnHvaOK6E=; b=PDXdUoB3aIVsYcSFcWS3Lcy6vwSsHqcKgFeubgpPp8+RNW1YrXtaSb1w5+tkOL9qU/ lNKK7nvuQhXQpcGmdhJiC/N5vs6fFxj5IukDlNu3zgPNeM8zqiuILhFaLKJ4AESdXgxu WP7lgy8Dl/Szff97AN2yJGfMfDWCh35ZQWewXFDJVJ47dKsfkckDM6k+FVyHYCZQlL0S tACFVWUhzKKGeXmwryPd6IssgJv5YrQiv/tsrsM33NpgsdPwMFQHTrc8pgdiMdva0R9m w2+zbFJmBsDxJUBvkbL8NiR58AUnYRMWkSIGN8N4ZR+gEi6sV9Cep03ZPpw0NvfY1YSB 8JYQ== X-Gm-Message-State: AOAM533897ZKEQVw2zBSmZC5dmybr7dI1FXRlglxFEdRs7TSGEnPjR1a P4o2asM0vwTk/SaDIFIdl2WKD4+/Hc6GEAX9 X-Google-Smtp-Source: ABdhPJx3hn+sWchPaAnUArMi0e8yGTsMF/KcRCm5po8jsmnQsua+wiPdj7E+ydrLbyy6uynSBr01SA== X-Received: by 2002:ad4:4f2e:: with SMTP id fc14mr80283896qvb.66.1637382861748; Fri, 19 Nov 2021 20:34:21 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y8sm1051711qko.36.2021.11.19.20.34.21 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:21 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 15/26] gnu: node-once: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:55 -0500 Message-Id: <20211120043406.952350-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 77577cb315..eb071320cd 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -338,13 +338,10 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs `(("node-wrappy" ,node-wrappy))) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:40 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:40 +0000 Received: from localhost ([127.0.0.1]:41215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5I-0007vN-EV for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:40 -0500 Received: from mail-qv1-f52.google.com ([209.85.219.52]:39557) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI56-0007sP-5e for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:28 -0500 Received: by mail-qv1-f52.google.com with SMTP id gu12so8518777qvb.6 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ojMLjz/jyFKXXb+hBPomTkZw3w967K/vtlSskEGKkIE=; b=VXTwT6F1zUaTRWa2ol9IsBVnofXnwMJ6Eb3gxyl1iOaPEiqtLXczwpderWO7EehQwy eUNp8kAnNB4HAK9QRoWeiLYowPloeZBjslqc9a3ikVoCbjFCXh0jnD+j4eZ6c/X21Lx0 9zC+G9jXNl+Id969d+Hb10qwCgB95SQ8PVkPiemmiOUxCehPi2vJwfVb76D+0LHhiTgd SR9UgqzFQ41jf0elbc5FPVtLsoG7Kq0yAuZ8w6JWBKnbJGyIO2Img7ORu5cNddv2f2pJ 24BRGZA5N3uWTQnEJM90qD/da+CvmmQalwfuWx1dzMn1YSnZrdEaXoUuCWSxpbF/cTYE R2rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ojMLjz/jyFKXXb+hBPomTkZw3w967K/vtlSskEGKkIE=; b=0APXGzQh7aazzIrQY4kLffG3SnQ7Pzqsyx+VXDkHCwRbirv9A+9U6fN9GsfJ2btTDD 5Xuk28NMufI9dOL5Xa+r2gN9UzSV10KTT1BOoANqnnyEW50Hf6T1N4bZxC4juvdCzIkR qiKXIabGChYea9w0a+mxmUKrQI/HJw6UXQ44pduT0azd3R8CNjb23KQJFpaQS6Bx0F8C 1s+/RUK0UsOVMF/p89yyr4LE4fSIh83kM4ER1C2D1JmLeLzPpK6cUPeDlIxmPxwEhN6y Q4A+y8o222Vv9UNAsQHubShumBMQ6ONbD33iAe7RFBKj+d08UMnuk/MKGApLxyvjMLyU uX7w== X-Gm-Message-State: AOAM5333HkSYE3MFnGz8+0+w7MGMrxeWfB5I2v58UVPEn6Z7lucdzrrS MiU5WFNkF7xo6X6ae1fEYRffQ5JdGAEESm/l X-Google-Smtp-Source: ABdhPJzKQ5CTzh9E+TC8BIc2Hl6MY/VkskNBTeAWgE321EmKsky1+EHHziyblIP0fUnXm1iRGswMnQ== X-Received: by 2002:a05:6214:5195:: with SMTP id kl21mr80469822qvb.42.1637382862697; Fri, 19 Nov 2021 20:34:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i6sm948150qti.40.2021.11.19.20.34.22 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 16/26] gnu: node-irc-colors: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:56 -0500 Message-Id: <20211120043406.952350-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index eb071320cd..9646c14243 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -367,12 +367,10 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("istanbul" + "vows") + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:41 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:41 +0000 Received: from localhost ([127.0.0.1]:41217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5I-0007vU-NT for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:41 -0500 Received: from mail-qv1-f48.google.com ([209.85.219.48]:40928) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI57-0007sd-RT for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:30 -0500 Received: by mail-qv1-f48.google.com with SMTP id b11so8515796qvm.7 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=+M7BkILfvaDvHhFF7GYGYSQ2zdft7t4HqBqhL66EJMM=; b=IlbqRM7Ir+EgmPyCcb5wQxvAn69io97qsd52ASUhS6x44xWnFyQj1Km0YlomjxJW45 xjTn/1w6gewYSq46YU31sU9fzUbcL8KORj18bDiS5N6uLUF/Uhjh04XhRgeiZ6RBc6lt +V98DNaEQYlT8wja3+y0zvLh/49m6LfGsAPdKwb1s2rgtklgABvWVtiJZb5QbhRzydeK Q5AsLamYL7cP/4davkm0NRG2WIKq6cwM/PqFfPt6mYt2OCc8DucBqQK0Pc5e5h/o9JLs qBeXTIDRZWhQEjBZOIr44ehCt35kk2JsgSXYqf3gTewhRWMC2F0x3XdDGXKA+jPXRgKL hWJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+M7BkILfvaDvHhFF7GYGYSQ2zdft7t4HqBqhL66EJMM=; b=0OTo4VHHv6HYbZXOF451OvbxIFXiTJ64w/1RjwlV6tRroBgaPutpuZRDPZOC7ixLQZ OSpgfj6207r6xh0yGyPneQUW5g6Wf5pveGt7pdEgwy6aLC3X384HL+8YbJ8uSbOffL3T zHFMOIX1RG5RjhaHEe6yosbIHB54nkGpQad2MyAE0PEsixdRVqK9Yah4MwZr8JMdruDM r6jMc4yfTSP+dgAIrwcG+NSREnZrWa/z8QSvAa8ZVwKZOUMJ3Ls1XHydrBevdo2bJ7G2 Md9PWaVY+Z7CFDCbwVy++Q215O6qas3l6afA1VJhL2BOQskJONTDjDZ6POgN2jDdSUGv dsbQ== X-Gm-Message-State: AOAM530PaKCtmXPzTmEvj8u1pZvpVts3KRLhv5FXmua0fkaL4iwd2VbR GM04g6ByYd6hccWf2JuLJxB+ar3jS9RDvhU0 X-Google-Smtp-Source: ABdhPJzDqMZl+4S4/4dif1/jPOMuXr2sxfNrCuvfCmZZZAkByC0lkF+8iP62keT7lfMMwH39fP0NTg== X-Received: by 2002:a05:6214:2342:: with SMTP id hu2mr71958966qvb.9.1637382864405; Fri, 19 Nov 2021 20:34:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bq36sm932220qkb.6.2021.11.19.20.34.24 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 18/26] guix: node-build-system: Add optional #:libuv? argument. Date: Fri, 19 Nov 2021 23:33:58 -0500 Message-Id: <20211120043406.952350-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower): Add an optional #:libuv? argument to tell the build system to add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 75ae34508f..f83a7f64ce 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,12 +46,13 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (libuv? #f) (absent-dependencies ''()) #:allow-other-keys #:rest arguments) "Return a bag for NAME." (define private-keywords - '(#:source #:target #:node #:inputs #:native-inputs)) + '(#:source #:target #:node #:libuv? #:inputs #:native-inputs)) (and (not target) ;XXX: no cross-compilation (bag @@ -59,10 +62,18 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ,@(if libuv? + `(("libuv" ,@(assoc-ref (package-inputs node) + "libuv"))) + '()) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:41 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:41 +0000 Received: from localhost ([127.0.0.1]:41219 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5J-0007vd-6d for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:41 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:43687) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI58-0007sj-PQ for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:31 -0500 Received: by mail-qk1-f177.google.com with SMTP id 193so12338812qkh.10 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=TkzUiJnNGw9ur1c48y1bhJnpwmx0e71utk5vh1CJDY4=; b=giHkzWWiWMZCJqQpz6go9hSJdgJzEHl6ltud5sHdgJLb+M+Rm2cnoV4892EbP37JtR Q8McW1GeNBroTiefn/9BG5fhdSAyS76+iDrPmlyV8QJB/lnZv8OOtAEB70e49DONbBFl rG8pgtyXxgH9QBxKYqZP9X53xVKkbdkiOyrQTgWDtSFAlQNO8FvZH0qMVae3I7yyK58/ jAybYQ53s+JVsfvviMwhxHvTYgX/aRKaIvR40ocHlzko5aR/1F6EgOBSZxKQ03m5fGIx O7M+lL6y7wsB6Rp3kIfklvTBJT4vjdLUwXMNTmtMm4cny4UV1zD53fGZtMrbAp4gcX94 xv3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TkzUiJnNGw9ur1c48y1bhJnpwmx0e71utk5vh1CJDY4=; b=1To668jwHezHylpUV/Vdzv31Z2peNzs6YLwunsldGr7LJe9AIQhGPmx8lnqcNjdsre AqoMfjQkSHOOAGxoEmVgOKyoQ07ue59c1IK2LZZfQ16D3YTjMxChAkTQJ4LO658cqoVb f5ZUKO6lfeUAJwmDM6yGd9oQATgkDx/H2/6q3c+QrQ3pltznUabP8eXPuP7ym8WRjTY7 8Hav/hdcD58Iil0bukt39Eh0g7qRGzB+MG4Deu7icPqoiz1jrRtdbQ2e3N4FBaxdQpoN JRWAJp/4u4zHbI0lQMNAtI3fUW7kN59e7C94933k7vOHtRWac4YORfSAkjWKGSEVnPtc uMJg== X-Gm-Message-State: AOAM530C0y64V+StgvkZgHQB1sfgdZUCPl2MfrgUfTYVOrbrh4JHabmQ nBZjAbTnbE4ClMX/HedBh3tTbc8UTICsPuDj X-Google-Smtp-Source: ABdhPJxRzXIPXFZtHgDI2DsgO4FNmm9M1yyDF0EUcTbZN0v/wZjCrpO4d5lwKpbC2KGHchlynXqVhw== X-Received: by 2002:a37:a014:: with SMTP id j20mr33014572qke.438.1637382865353; Fri, 19 Nov 2021 20:34:25 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y20sm936473qkj.24.2021.11.19.20.34.25 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:25 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 19/26] gnu: Add node-inherits. Date: Fri, 19 Nov 2021 23:33:59 -0500 Message-Id: <20211120043406.952350-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 998d0a9a90..9d8bf27852 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -352,6 +353,35 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:42 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:42 +0000 Received: from localhost ([127.0.0.1]:41221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5J-0007vn-Oh for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:42 -0500 Received: from mail-qt1-f178.google.com ([209.85.160.178]:33580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI59-0007sr-NL for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:31 -0500 Received: by mail-qt1-f178.google.com with SMTP id n15so11505813qta.0 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=pLwK59KfKzSeilA++Kp0Cllh4FKRX2jv0tBtW2Jiti8=; b=a5sBjs27NBVchqsZu2CFswcMq9dLTYp9SaUgeuQaJP+eStmpgcXPKTKpnx1isiFxaW J36MBht5Zx05HzNYytB16wqN+DRLgwam8LjywvqSOa7JhG/wAKxNMIN4yI7cSpUl0Lo8 VzhJXQfRdKAoSdBf3yoWcaKyIeq/9BfTNaJ86f+n9l6fdVpKlwtj37gLkNB4JB/aM0yq MqpGEYn/9PJHJbXV6ZITa2FAlowd9eKoPLSFrojVLqO8mu2VSmTneVwRnQsaDixiu3k7 PS4+9AT2SRVqXqoKtv1BgCGI557VCVaDjWBoNlfYfzObbKmdHDZKGxZIE6OhtdiHbsrN ydnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pLwK59KfKzSeilA++Kp0Cllh4FKRX2jv0tBtW2Jiti8=; b=JpooDk4EiRTljjWXuDvz0fC1uodGL2277WbizVv4m14S2lSriD9JyW70z3AoH02bUl xNYGvIApB5Z3T+YdBfyPEX0B+0sCM9YTCbjLc+BFki0MpPuVskO3Y3u2uXyZX2UtRCwX H0rGGJt86l+rWyqM/R/Y24ISdn1fsC/T5nS1PzjOyn2lRujIXXofqWOJCmJrFEVjsXxr FhcD2bo2qL84qlU339hkN9sVFFu583VHQz2xkmkd/dEesz3MJ4DV2w0trME8c2Y90QS6 rq/8gFN7WgtVM4eo680no5AsWMB89wo3BHRmoX+bGwOYzOtqE+pyKvzFSaE1AU1MF4xV yjzg== X-Gm-Message-State: AOAM531voSkVWuK9lMH96Uzu+u0pIV6x4Zw5Fzm5hyf8bdtkFyABTXi6 t2tkNO2/3Wn0z8iHAQiRcXLF8AOZDMS5zxte X-Google-Smtp-Source: ABdhPJx257mEKXcGQUoFcGhgXLrTN4eDim04odXgKdO48JMjdwMCFyiEJhh+/9Zjq8fQxLagojftJA== X-Received: by 2002:a05:622a:11d0:: with SMTP id n16mr12094382qtk.111.1637382866203; Fri, 19 Nov 2021 20:34:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id m15sm924432qkp.76.2021.11.19.20.34.25 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 20/26] gnu: Add node-safe-buffer. Date: Fri, 19 Nov 2021 23:34:00 -0500 Message-Id: <20211120043406.952350-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9d8bf27852..6dff0ddba5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -382,6 +382,34 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tape" + "standard") + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:42 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:42 +0000 Received: from localhost ([127.0.0.1]:41223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5K-0007vu-4R for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:42 -0500 Received: from mail-qk1-f173.google.com ([209.85.222.173]:37467) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5A-0007sv-K3 for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:32 -0500 Received: by mail-qk1-f173.google.com with SMTP id o63so12379397qkb.4 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=h92M6cwNYqgQ6JGJIf9VzYOMEG4L/N3bg93emHyzF0U=; b=ZvFK7oLNjM/C0yzqClLM8RR4sdIvsv4y84Am72BOsMBE/KiKgH7jskRqDUOnBjA5US dWHWJSzxDCZcjjToNIbEKSEskxTRtU91TNLZ5metuteW5Gd7CIEcWvmoesIp5CYNtykt 5s8WlpWOfvStoLxWNHymvAzdg5t1GY3+bRt34DPKIDVE6N89wXeU3gn/Ez+VH6uPYWB/ BVEy6hVLFcF/YPxBl0BJN0vBNAQsD2AgPuAVSR8ORlvlnYccqo+HByF4nUJ5Spk9gJPU r5BRWrlbvzv6F/qO2kOu9m8z5AHCO8+Wb3aw1kRO98/7d2ySAPUrLsV6ac2N34OkYWMq hfHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h92M6cwNYqgQ6JGJIf9VzYOMEG4L/N3bg93emHyzF0U=; b=cJ61uw/Moym4IryZZI52ZCPBKeopofhjE5tgHT5IPYnhWGBzWRFvP15tmPwUO5hVub FOny/dDEm74OlIVGQ9aahReKNy4kmX/KhEnOhWdFGwLTZNM1CmW5iFufbJXgSCepTvTU j07TS+SMbjvt2jokur/pcpNrQtwYjHuqLKqM169uOMId4fYsDFGqP7Gs0DXJPtEgLqZF 0M/TQBHa4Pil/H4wBJcoIO46FUjHgnWgBoL9ms2MtwCS2WzzYBWL8bjKkrppf4SERsWm q/s+jKUWyxKk93c5ruiSmza3nf/AGw/i+6Yb2Ei6pZJiFh+t865XK5isTQN01af2zKMs 3+HA== X-Gm-Message-State: AOAM532lZ5zEKvhX2ORk1mvz1W7IEXOHdJTKtPGe20MM8eJa7cv9e1Vf 71r+t5itXjwsJ0k76bQgVFNzu3U3citfOKLS X-Google-Smtp-Source: ABdhPJxXPSnn3CTMvQDjNmwrWd2LZaEvtlqh9ZiwPx18NMseUVSnuAxdyuKWIIo2JX5iQmD6nbRO8A== X-Received: by 2002:a05:620a:4f4:: with SMTP id b20mr33327636qkh.471.1637382867083; Fri, 19 Nov 2021 20:34:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p10sm998323qtw.97.2021.11.19.20.34.26 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 21/26] gnu: Add node-string-decoder. Date: Fri, 19 Nov 2021 23:34:01 -0500 Message-Id: <20211120043406.952350-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6dff0ddba5..c6cce64f7d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -410,6 +410,40 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap" + "core-util-is" + "babel-polyfill") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + `(("node-safe-buffer" ,node-safe-buffer) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:34:42 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:34:42 +0000 Received: from localhost ([127.0.0.1]:41225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5K-0007w1-F5 for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:42 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:36586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5B-0007t1-Bt for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:33 -0500 Received: by mail-qk1-f181.google.com with SMTP id i9so12371535qki.3 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RWVeazkP2j3GU7pQskCDix0dS4jhUU4VJh2ldcV7US8=; b=W6mKN8yIwktDM7IihGIMiBTMzALFdFWQTQ2yPHFywmQLGLs5KedfYEjoCPFxrPlO9y mA2ajgt6Mt2f9MdNK5BrMySFvwiy4b40pr185SHXceuc8eMiYUCpPZ17LvEbdgwHTQvl 9poZXEMDMF07L6q3VELFlYeNbsgA/8qnqoRVX467ZIF4KMcdsZzBflMdK6Dmv647ij8u RpFttDoTmopIb2LlOz2idsFXrjKVcscpLclZlo6aBIWSN/qKOukefaLEeEpAInu23vAD c82ro9GY9vvmGG6UAjPlDSGDJPn96PuOfHzHF6jskALzV5J+VoKrsUjdCO6QIjmUhWjD zPPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RWVeazkP2j3GU7pQskCDix0dS4jhUU4VJh2ldcV7US8=; b=h8IaQ4UhM0jlcM0DmJjZ9i2lcmFLCCUG42yBCdkXHAe8/M/fUDCiCsnGP68FmNfy+z idtyhUBdZ9KJSrOlcEwS6LgQ03HeOWsh40coZGlo81JTMJry55y/2P5YPZmNX7tn/XlD nVqS2lk363ItDffQrt+Iij1AukpqKruQHghoFwpsaxbHbtJofuTQzfeGlC7VUAbRsgKd s/ngTDgdHFnbyNWhI4kExzFe8wDWxzOc4BRX/ainM70dJas7djw9q56XpivnN7AAVS8a PoF8+4heBvgirP3uzASJ8PDjY3PGNV10rzeXJtNdO6vwQCAAtuHI7hCSfbsEqC3lSvZp 3nXA== X-Gm-Message-State: AOAM532zdGeJJ/Uod9dcKkKHtOdMkDSi5YKHg+3gVdEeHAZoPYhy6RZd RaZfdIO/2syjL/Jpc1ydykinewNo2Cs38DgZ X-Google-Smtp-Source: ABdhPJzrhibziejxPMYFUeKCKLGwAMK1xqkKw2ZOVlq2pfcpQaK2GJp1yq4d+SNQr/IdAIlactv63w== X-Received: by 2002:a05:620a:1455:: with SMTP id i21mr20103668qkl.62.1637382867962; Fri, 19 Nov 2021 20:34:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id de13sm974633qkb.81.2021.11.19.20.34.27 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:27 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 22/26] gnu: Add node-readable-stream. Date: Fri, 19 Nov 2021 23:34:02 -0500 Message-Id: <20211120043406.952350-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c6cce64f7d..3e06413908 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -444,6 +444,60 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify") + #:tests? #f)) + (inputs + `(("node-util-deprecate" ,node-util-deprecate) + ("node-string-decoder" ,node-string-decoder) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:35:29 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:35:29 +0000 Received: from localhost ([127.0.0.1]:41270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI64-00080M-Rh for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:35:29 -0500 Received: from mail-qk1-f179.google.com ([209.85.222.179]:34743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5D-0007tC-92 for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:35 -0500 Received: by mail-qk1-f179.google.com with SMTP id t6so12402723qkg.1 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ksEw0RUVS1ywZrLGvlpoJrIb2+18MJYfN6pWtlV3BM4=; b=G00+cUOKXXo7IGQ1q1QGklDwPq2lYp8KWh9S4hEuKU0UtBlb3GzVrVUyTDlJ9+Rf6P ANJNqcLvaDiCL0xJXSMo40Vh+GnIf+XxK0pY8BXG5gQgBOvy/0eem7U6jgNWtqpfpmEw +6xwr3OtiF5FbqX2NL0n/AyUUQuDRdoenbiIgmjLxzvwlhp0ZFhR+HLTX08yX3Oi8cp9 6Usx94ltf5StBYxF3gIUnTIhqam8/OOgglwvfdQwHCvjt+0qVqcLNtn1TUXIXJTUaVDf yZAysS192Tvnv83BOV4aaDYtYEAGTe4cZSTW170yBAyOqZ+a2gSGyTSDl+y8ghriiXlR EcrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ksEw0RUVS1ywZrLGvlpoJrIb2+18MJYfN6pWtlV3BM4=; b=hxdwX2vxsdL9q+UQI/CCHjZGhi1o/yiUah/mvKAukY45XCk98EtMmhCLQAC9hfcV1P F2fAFO8AmVwVG+6lJwNVWBXz7LA12UI54vixxMhXWRYQujvOmtH7VcKpBByHWhiIErtK Hs6YmGigADqc0tXmG2MXRlOyreSdZCXjgmxqpKogO50BuTJm7eAiKVpPIbi5O/GADMcH +Dqeo5GONDPHKLD/QRR7jCvsFpfRzAHHOzTL58wp6iyXCeZCNEezXwGdu4q0NEjB48KH gMrlTgd0pt8qqxEyC3p/gQ9EAkVjrSm2z/u4FA1esQotUMpiqioN+K8AlkvP8XoFWgyU jdBg== X-Gm-Message-State: AOAM531DgSYdC1lkuFIp76RQ6cxug33g6J1Q2saYiYhho+yXq5Pyz6VN B8vJ2Q+uznvXvGtJBO75kwdUkVHLNIfRHDRK X-Google-Smtp-Source: ABdhPJyXg1qmjwY3Hs7Q6YiGPgqfvbUhg12BlMc19Yef9dpBt2CrU2szXB4/JAdPR/v4QgiAfHKRvA== X-Received: by 2002:a37:e206:: with SMTP id g6mr33909809qki.61.1637382869725; Fri, 19 Nov 2021 20:34:29 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s20sm924596qtc.75.2021.11.19.20.34.29 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:29 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 24/26] gnu: Add node-openzwave-shared. Date: Fri, 19 Nov 2021 23:34:04 -0500 Message-Id: <20211120043406.952350-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 67 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 2019ec32df..8757ddecf2 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -88,3 +92,66 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + `(("open-zwave" ,open-zwave) + ("node-nan" ,node-nan))) + (native-inputs + `(("which" ,which) + ("python" ,python) + ("pkg-config" ,pkg-config))) + (build-system node-build-system) + (arguments + `(#:libuv? + #t + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (define node-dir + (assoc-ref inputs "node")) + (invoke (string-append node-dir "/bin/npx") + "--call" + (string-append + node-dir + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp" + " " + "rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:35:29 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:35:29 +0000 Received: from localhost ([127.0.0.1]:41272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI65-00080O-7S for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:35:29 -0500 Received: from mail-qv1-f48.google.com ([209.85.219.48]:38826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5E-0007tJ-0B for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:36 -0500 Received: by mail-qv1-f48.google.com with SMTP id a24so8535739qvb.5 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GOfT5efxp3W1RoTTbqJYi7kpaw3hg0vmi3aqGO2Gvjc=; b=A2qh4WevwlhA8VavqPGECiWD1VhxuTVIX+SOO9jDJSR9CUtXQDhufY7H0cEZuYQvQw WkpUP5kwyfoRUJDuY30qNUAWG8PwJ9T6HXHdt0jNYiYfNnbnl4TIvh0BOgcd5UKzKdrW iyWsH/zoxFsBsBEgaR0Wkfgg0u6y3N9rsrqwBLl6d1ilFikftxYmHSkgIuwTPGHzMh0c buS+oS9zPec0uYChKsIdE7FuWg1CW1GYIuNveRfGWjxoL1Q0gFKBxbBehbyT72KnbQFy Sd9dNJxRZ1Q+r+tTqO7jAneaWffT72q4v6RRxH/o9Q75U1WnclISken9e9c+WJgfokFF iaug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GOfT5efxp3W1RoTTbqJYi7kpaw3hg0vmi3aqGO2Gvjc=; b=UnOdCQQWtoAvJ1FgmLvLL3Acauo/SLEXO5N4k+UYWYwpQKY5YhsX6feRVc0TH6aC2q Xm6eHIKtNlO4b4KHG/sLGHF0QDRXO1SBeEN9R0P0Tm5A2HpvUboY2tzmHEds534r9NBC q9n6bn2HAZk/ZcB8jhdDp+S4wiQbuHvUNTkF4NsWESH2KC5h7jfV4bwkerFFB5QO2tq6 9ZTUNv+bM2+H8CnQcvcUopUwR3+GG55m85vhlMJIaR24p5EQwR26LxS2GEfafF++QRqv bq/SDUYpdm5MCccz4oSo/vWs85TvYdL7NcyRRd0VfDQvCizepEUaLx9gNNLLcSKngI8L GTng== X-Gm-Message-State: AOAM530Cn4kHIZ5v9ztvuz5DZI4fhZZhQxITBgO8VXTnCL6t6g3a0ofp o118n/73WieUU445aaQbNO5xqp8GdMKKZU4V X-Google-Smtp-Source: ABdhPJyke8fmg9SD61EFLJwrxFYmUsj1+owgKkN55uM1aVCl0G6qJGnaAkrvO540VcXcccrtgIGVmQ== X-Received: by 2002:a05:6214:1cc2:: with SMTP id g2mr78979102qvd.56.1637382870616; Fri, 19 Nov 2021 20:34:30 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i23sm886364qkl.101.2021.11.19.20.34.30 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:30 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 25/26] gnu: Add node-addon-api. Date: Fri, 19 Nov 2021 23:34:05 -0500 Message-Id: <20211120043406.952350-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ed169c0778..60dbfc163c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -597,3 +600,63 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + `(("python" ,python))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit" + "safe-buffer") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (substitute* "package.json" + (("\"test\": \"node test\"") + "\"test\": \"echo stopping after pretest on Guix\""))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:35:30 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:35:30 +0000 Received: from localhost ([127.0.0.1]:41274 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI65-00080W-Jo for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:35:29 -0500 Received: from mail-qt1-f178.google.com ([209.85.160.178]:38772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5F-0007tV-3Z for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:37 -0500 Received: by mail-qt1-f178.google.com with SMTP id 8so11466890qtx.5 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=WO8s9NCuN9JV8ZYvkNbzd1OfSKcdPXBimR5oLXIt/XY=; b=KSX8pCGLL5aol0E+9OHiXz15D3kbJZAeyNj7kEaglBQdr43O/VttyjEXfyPRi/a3ob rtXvLTLzi4eCBmw+YV+sFbv+R6D6xriyirdsvGwBryiJRonzzpxk+SvFRT2aY7H47neN Og/AjQlQdDS0/mvrI7XddQroGgfSyxlwvGur+NqYZ6bdG6tdGAWFal1wYR7fcUC28A8f e7nv+zIcDgL6SXYu4dr+lnQ+4QzlD6Pqn59O/Fgg/cfiKenTpxHaz5+f3P3fT877gZbN r8hYE5/KJzS+iW6u3elzY0F0xEsRu8akYDNRcoqwAaItet7cQOCgHSsUpGLvy/aBs6vu MQUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WO8s9NCuN9JV8ZYvkNbzd1OfSKcdPXBimR5oLXIt/XY=; b=Hs4EYnnfEKwKMqvGDrIZLKc9fRa6q1686jxHs/fP51kC6jMwag7DE7DNfY3+jcwuKz artlTftWyxTyRP1H1SNY27A5+vvVhQNEinQB7R8oWbk0M/m7a+2cvQQddbbN9iBZUTz9 AB+4624W0dCN5p2mV0dJW3cyJnz/DcWfRzT2U2P4zSc9rQYTbs+ZzWGhZgN0q4FcKEaW t4YWUvR1DSa6n8DmFxouBRe6qrVkXH8X6FISkVn6W7qrT2IArd+iNe+TTA58+NGuCzJB KNnQaeMdg0O1pNBzyDhqI1DTSgkq/WD59t9VPbmrlVRQX81yQDs0zAmMyFekSa+q+4W5 1Gww== X-Gm-Message-State: AOAM531up8qzIU8hjnOefOaBcPNGdXIJB3KXdYNkwcTWW4LgM1DegNEh LgzoCKnkXut8y451/41cVY5WTn0T3W2IqAvq X-Google-Smtp-Source: ABdhPJz9TTt4Gz5O7CRlB4A81JcI3OB95iJtT4FUd7ha9Z5+tLM2r/r4aB+GbsgEMWYDOTTXh2xQmg== X-Received: by 2002:a05:622a:1705:: with SMTP id h5mr12273010qtk.331.1637382871589; Fri, 19 Nov 2021 20:34:31 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v125sm990885qki.63.2021.11.19.20.34.31 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:31 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 26/26] gnu: Add node-sqlite3. Date: Fri, 19 Nov 2021 23:34:06 -0500 Message-Id: <20211120043406.952350-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 107 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 60dbfc163c..a56281fe18 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -615,7 +615,8 @@ (define-public node-addon-api (sha256 (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) (inputs - `(("python" ,python))) + `(("python" ,python) + ("node-safe-buffer" ,node-safe-buffer))) (build-system node-build-system) (arguments `(#:absent-dependencies @@ -630,8 +631,7 @@ (define-public node-addon-api "eslint-plugin-promise" "fs-extra" "path" - "pre-commit" - "safe-buffer") + "pre-commit") #:phases (modify-phases %standard-phases (add-after 'unpack 'skip-js-tests @@ -660,3 +660,104 @@ (define-public node-addon-api @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + '(for-each delete-file-recursively + (find-files "deps" gzip-file?))))))) + (inputs + `(("node-addon-api" ,node-addon-api) + ("python" ,python) + ("sqlite" ,sqlite))) + (build-system node-build-system) + (arguments + `(#:tests? + #f ; FIXME: tests depend on node-mocha + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:libuv? #t + #:absent-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries + ;; or falls back to building from source. + ;; Here, we patch out all of that and just build directly. + ;; It would be better to patch a version of @mapbox/node-pre-gyp + ;; that always builds from source, as Debian does, + ;; but there are a number of dependencies that need + ;; to be packaged or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency beceuse of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha") + #:phases + (modify-phases %standard-phases + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (add-before 'configure 'npm-config-sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + (with-atomic-file-replacement "package.json" + (lambda (in out) + (let* ((js (read-json in)) + (alist (match js + (('@ . alist) alist))) + (scripts-alist (match (assoc-ref alist "scripts") + (('@ . alist) alist))) + (scripts-alist + ;; install script would use node-pre-gyp + (assoc-remove! scripts-alist "install")) + (alist + (assoc-set! alist "scripts" (cons '@ scripts-alist))) + (alist + ;; causes `npm install` (our 'configure phase) + ;; run the appropriate parts of node-gyp + (assoc-set! alist "gypfile" #t)) + (binary-alist (match (assoc-ref alist "binary") + (('@ . alist) alist))) + (js (cons '@ alist))) + ;; compensate for lack of @mapbox/node-pre-gyp + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))) + (write-json js + out))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:35:30 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:35:30 +0000 Received: from localhost ([127.0.0.1]:41276 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI66-00080d-18 for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:35:30 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:46741) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI5C-0007tB-EX for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:38 -0500 Received: by mail-qt1-f176.google.com with SMTP id m25so11393259qtq.13 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=FlWDIicS3Q3yKZ0NRTXIzyixRW10lYA3Fo1yCGKwnBw=; b=Z1Oo3Zk4HbA4gQCzJggRx7pLd/38ruJqwT1IrwaBxFFQts4nezLX7eerLBjcxnMoUC +rCIS0mcK/4/oSHFvofbh4hgDDe0dVD5LQcPRHQMpYu/c2brt5pwtTlBm7xAdph68mmx 5Bx9i9K4he4nGGcRKb4/15ahJHNTU7kIYlXTFW3NuRKkDAOeeGw1BlLWdK15QxkDXOJC UzWKpfsT98x10Ig1puWY1C2Mj11AQMV8Ix1LzFKyvs+vl/wJDVab4wuKjkMVPQSTh72e w5IXY49vvt40iNqFMqWI8Pkz9XqPiOpCN2eeh/51owB0gWRrtvX6oHcHxQCiZ902tgyx fWPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FlWDIicS3Q3yKZ0NRTXIzyixRW10lYA3Fo1yCGKwnBw=; b=MEZVISFBtvgov+QXwDKQcaba1e7/C0a/tKrouhZiu6vXyUUZvydW0soa6vRtRdVR7j i2s3rpI8WuN+oC+yKgqm9zyZ8uftdkN16phLlKWt6aSsQty631jKhccSiRlcJ75CZRmV 33wXijKYgH3Hkk0y6l00Mfh0Phl4Z4ukgm+wdu0g2CtZpnEfd2rsmR+A7izmw1+Sx/Qs nXh5RaDOBjRSGYuA19CiS7WeD8G41KWJX+lmUDLzasHtUISvo7e2UQVS5hxILW4XbInI mH1pPWUEYzJPpS6bqJQR9Hu9Aq56bRwmVTtvAvQC0zxHZBJhnY9W/sx0XSc6/KxVqcs5 vjuA== X-Gm-Message-State: AOAM532Bc0zk8lne+ef963R9EepHzRzSII9k1GjyV+w0BUKk51xTNH0A yf6mqDBJUHzWJtbNoI+Ymajq2KNcoQ6sRNRi X-Google-Smtp-Source: ABdhPJxFBV1M9ghBI4LHTI/OaweXsZaPZ+THDXQZTzXx4y9kLI4F6D6Vl2k2BU32TQ34jjZ6YaCHbA== X-Received: by 2002:a05:622a:144f:: with SMTP id v15mr11815837qtx.340.1637382868937; Fri, 19 Nov 2021 20:34:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v1sm976061qtw.65.2021.11.19.20.34.28 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:28 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 23/26] gnu: Add node-nan. Date: Fri, 19 Nov 2021 23:34:03 -0500 Message-Id: <20211120043406.952350-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3e06413908..ed169c0778 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -553,3 +553,47 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:tests? + ;; tests need tap and other dependencies + #f + #:absent-dependencies + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend"))) + (inputs + `(("readable-stream" ,node-readable-stream))) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "A header file filled with macro and utility goodness for +making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16. + +Thanks to the crazy changes in V8 (and some in Node core), keeping native +addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is +a minor nightmare. The goal of this project is to store all logic necessary +to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 19 23:35:30 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 04:35:30 +0000 Received: from localhost ([127.0.0.1]:41278 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI66-00080k-BP for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:35:30 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:41596) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI57-0007sW-2P for 51838@debbugs.gnu.org; Fri, 19 Nov 2021 23:34:38 -0500 Received: by mail-qk1-f174.google.com with SMTP id t83so12349557qke.8 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 20:34:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=feDGPCoF9k7nqW0jkPTEDiu1HOZFsAcDjCrWloKVQvk=; b=HIaF6RyQkFk93zH2+cXt9G1evPrix5tgtIBtz3L4VSrLkKyiwjiNymRuXcaWZUIjH2 bijSeXZ3S3mpgYqMIyEuBzbTA0QBudSP0wlj2aFHc4Gnt5BeMbbNIMmfKReQXaa4B4J+ iyJ3Fcmg4Isva057a7XtOJuQNt6yPG9wwV7/aMpCX5B9ErkIO71uqDdOj7JAWJV16e27 DMPeH8mM+BOEC9kLXzSlyhv4cayuqo3sneMsT9sxw34995ORDDgQTvAtmaxTqm0KHnkZ wLQEVHvx9X8qgVn7wt8f824x3KXoTiG9KhvhFoMwWMmMLh/MygHur3QrrHadq03/fHfJ sbrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=feDGPCoF9k7nqW0jkPTEDiu1HOZFsAcDjCrWloKVQvk=; b=noOcXsu29RDOBBAdF+inVl7EDKYJMh7x1362773hRW8F1XsOLQ27ulbjql1LbAMAXm h7hOlG0xZShPpUcDyyfpVxcOoYiLrU01FrjqjQy3rriHVEQw0MRBJgymm7g5bqsuv0iL TDuBwt2YlfWlyXIJ7MWK0jqXCuaUt/ow5vR8h4F0FsO+tLJgkd8AGHHJCjTD+YnJjOmm QoL/bA4qYbGCQmdcty+QAt10lCrFxQymrF8AgMN2FeqdWLxzTjGGcgnnYcm0yyt1aOc9 qsv9Ae+Zw3UQQFHskVaAoj/dZYAt1pjhXe2lUyacmsTeFNe8E+Mb2/MR8YwqVRXvj6El +QFg== X-Gm-Message-State: AOAM5303OrNSjMvQrNpTEgyJ5DoZGlvlKs82G+4u4fYuP5LG9v5zEkuU b/v7JM5UKFgMu1JWV8chVKsn4FAX55/lgmgb X-Google-Smtp-Source: ABdhPJw9u8j8gBGO3nBRPE8Xr0L/Xfyq25DZAzfk5q52LYZAK9SmKW+jAF8Q2qJi2/xMvgW5LlR9hA== X-Received: by 2002:a37:8ac7:: with SMTP id m190mr31769331qkd.273.1637382863594; Fri, 19 Nov 2021 20:34:23 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o5sm881710qkl.50.2021.11.19.20.34.23 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:34:23 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v2 17/26] gnu: node-irc: Use #:absent-dependencies. Date: Fri, 19 Nov 2021 23:33:57 -0500 Message-Id: <20211120043406.952350-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211120043406.952350-1-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> MIME-Version: 1.0 X-Debbugs-CC: Pierre Langlois X-Debbugs-CC: Liliana Marie Prikler Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9646c14243..998d0a9a90 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -394,12 +394,12 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("ansi-color" + "faucet" + "jscs" + "tape") + #:tests? #f)) (inputs `(("node-irc-colors" ,node-irc-colors))) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 00:10:39 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 05:10:39 +0000 Received: from localhost ([127.0.0.1]:41321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moIe7-0000bL-4d for submit@debbugs.gnu.org; Sat, 20 Nov 2021 00:10:39 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:34411) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moIe5-0000b7-Bm for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 00:10:37 -0500 Received: by mail-qv1-f41.google.com with SMTP id i13so8571637qvm.1 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 21:10:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language :from:to:cc:references:in-reply-to:content-transfer-encoding; bh=8ETjUkt/+R/YazU/9KhMWMKEyPVSc7uWFrLfCDXaUAY=; b=i9Kw15/N8XytFQlqIGSNF98cgVYrZ4kgOCPoaNPx6JBGQd9gYsUIJIGcSlriCdMJC4 kjuoaZm6xBorLNQHcJjInqfWiJOVkJmvrfAwGMsy7c9bFiHUjfirkcIKy8ht/PkrP0zu BiJDfLQce3/VIgIJiweQsPiMLEHwq6Lwz/ayfz1fkxArZgbfGuUffsWMWqAhRVuLBr/X NR8jDcWd2jJEjWzEoWU2TxgkbMPVj99lb96kbmmhDD4dk2sBm8wwfpPUKqP18OCOXf/f Nnj9eZ2JxmuBCJ3jw48+IhIhutmvEbd03uheP/Ki6js/ZPxrR8b+TDwB7QmtDHY2ZBib 6Gnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:from:to:cc:references:in-reply-to :content-transfer-encoding; bh=8ETjUkt/+R/YazU/9KhMWMKEyPVSc7uWFrLfCDXaUAY=; b=x1XNOu6T7JyO8RDM05At5S3j45ubyMSVMV/qe0H4AEB14epPP1VRQ71xkVfJCMwWtF 5yPs6yBZBAxw1p4tHafP+qj0UxYCcqRuueHsHtGr6+bV6jm0nTghy4MTa8iFNQePRV3k zy2H9qbvpcX9/aIObg6LsmbBx8aGHBkEi8CGSC30y3PedX2Po0zraWoqLNRYTuIfz0Jt w+lb/RLmhycb+al43Vx9zfkCK5FcGsxje8kYZ94CKuEk3TSkzqQFWN3ZTO/7kzpnvUA9 gyq8oURUShug5YO7gONqC6QGx8mpjbvhDDmEzhqzue8TgHL++CM/O/+BQ24NnlvTcF+I iRbA== X-Gm-Message-State: AOAM533veFF1W20hhqGDv5Z26B2K/TbjSrIS3fLDr3uPKA7PeXlAqFuJ gfV6StgAAeOx65Jk95urjJZ6pQ== X-Google-Smtp-Source: ABdhPJzBsFyxesf8gkYb1sFWoSa9utYwJ8LYV+2sjK1CfwU+R7hnaq8UTeLg5nXa2k4W+BkJS89lBw== X-Received: by 2002:ad4:5bc4:: with SMTP id t4mr80383300qvt.3.1637385031897; Fri, 19 Nov 2021 21:10:31 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o9sm1044868qtk.81.2021.11.19.21.10.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 21:10:31 -0800 (PST) Message-ID: Date: Sat, 20 Nov 2021 00:10:31 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US From: Philip McGrath To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> In-Reply-To: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) On 11/19/21 23:26, Philip McGrath wrote> In v2 of this series (which will follow this email) I'm not sure what went wrong, but I, at least, received these patches out of order. Let me know if I should resend them as v3. They are definitely in the right order here: https://gitlab.com/philip1/guix-patches/-/tree/guix-issue-51838-v2 -Philip From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 02:29:00 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 07:29:00 +0000 Received: from localhost ([127.0.0.1]:41509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moKo0-0004kl-M6 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 02:29:00 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:41753) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moKny-0004kV-SC for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 02:28:59 -0500 Received: by mail-wr1-f68.google.com with SMTP id a9so22091510wrr.8 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 23:28:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=5W6sKBcd4PijG9yMdlKQ1HcIi9yx1ZpEBpZMwWqBSRA=; b=KcxSI1FVuL/qGLMJTosdRzO7AHw9xZ0a7/5FHOWl2DuZA4SPguq3U9il7Z7Vl1JZX5 /LCB3KM8vgj8+mFVgTa2tzBaW4UxrKdP3fr0l6ARdgMXuNJK25AmZEAQohBu5PK+McgP IeX41OJv9o97tqj3SwWsuZ0GLfvgZ9LnJrqB0GqnLY62xkEXGGwAlkAM9JpTYAu6B7da Z/eEacKTXMJClNBmRtV4waFVXosXUmPorh6JwngZToLinjNMQyqIfcEGFADUAfhtaC4d 3b3fpPGAAbnQGUAxUply+ILR3yJT13dZyruYb/3Gx0POdMloZ3YhzdQLYH1PctY0oQ1b UU1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=5W6sKBcd4PijG9yMdlKQ1HcIi9yx1ZpEBpZMwWqBSRA=; b=iC9y+U28Y6+Y7MFCKGMXXIs8zGS3RXphr4rlAu0YIUBAI0uDKqLp6XuC/lkq6jjjMp kimVBJ71pBDgVY8e7toNVUV1DjtJ5ypP3zJmXPwHUjxJGLWpJPw19IvIaDgiHr578u7T dvdLL48XND+zD+gHulEQTL4/kWA1yAGDC3eMZK1v55V/9NnwOAeq7kVuddXl2lRPwHLo c2y1wbBcjH38+Uqlk6WjuxpTVT55qL7GDXsgSBuPqeZIF95ECcfdKQN/yDBwGCjQH1dm SpQLi5u9Jvkw09a/XCt1rZf043LTrkZj9PTptfNzDPTGhB3w1Llsgz9nq5lsoaLynOlr fbrA== X-Gm-Message-State: AOAM532I7T1HhzEabQjX4Vc4KTzgqm9pmkZyErk8lDbhi66cSWjsbJT8 h0i830eJIOnQde4fAoPn23U= X-Google-Smtp-Source: ABdhPJyOry0aTuDU5UodwokkXFvC9u7HOYO25NTk7PdP+O7p+5Rk7WPsXJmoyyCrgtciGJjnBzfmCQ== X-Received: by 2002:a5d:6781:: with SMTP id v1mr14993118wru.239.1637393333056; Fri, 19 Nov 2021 23:28:53 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id l5sm2205010wrs.59.2021.11.19.23.28.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 23:28:52 -0800 (PST) Message-ID: <9da7a60ca57b06facf82142260fe44ba54096708.camel@gmail.com> Subject: Re: [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 08:28:51 +0100 In-Reply-To: References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, den 20.11.2021, 00:10 -0500 schrieb Philip McGrath: > On 11/19/21 23:26, Philip McGrath wrote> In v2 of this series (which > will follow this email) > > I'm not sure what went wrong, but I, at least, received these > patches > out of order. Let me know if I should resend them as v3. They are > definitely in the right order here: > https://gitlab.com/philip1/guix-patches/-/tree/guix-issue-51838-v2 > > -Philip Our mumi frontend to debbugs should be able to deliver them to you as one convenient mbox: https://issues.guix.gnu.org/issue/51838/patch-set/2 Cheers From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 02:41:56 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 07:41:56 +0000 Received: from localhost ([127.0.0.1]:41536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL0W-00058M-J4 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 02:41:56 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:34481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL0U-000584-3w for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 02:41:54 -0500 Received: by mail-wr1-f67.google.com with SMTP id d5so22182067wrc.1 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 23:41:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=JAplla7tb92R7PlPcqHDAPhz/SJUhC38rC6ejofCWWg=; b=mBF/nXIhSgvpqQvIqyFOSxqeTqx9GFIqnhETeH0TzZiQWrYdk1rAsG3V6A4TUgkMuO QwWRaNiOHEHSmAO6LopBT3RPxw0AyC9O66oNA0tUblRrOaoZXyXe6ISWl8RJHMRKYPuM fj1osmChlZWMcVrr2KTwNiAEj0ggYr0pySfWC49mpZRbVpHNvTRrCumNESlqPHVaOPyv krzSLeDAh+oCHaI/QkXMCSPPGZBRFMlydRJnGMwiWfRM7UZRECiCG5je1FpPWqUGos35 KUFZaA5Dt/i+ibfTNDW+bNcK3oAC6Bj+aTvDlVWhxrbZh8kSDcaym5OAkZqPsnltvWC/ XFvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=JAplla7tb92R7PlPcqHDAPhz/SJUhC38rC6ejofCWWg=; b=FREcAMqZmFTm6es+34/JEVKxWG8B/6rKhRaWUZ/Te/ENx6i5O8E5xsLQlQYX/5cHJq 7iUC64chDyS0tQwLYe2pl+xa4GNo32R5hOzJldKuD07GudebtWGsxscD5RRzugcBXQfm NqIIn1TbFBlKzuAvx/qfL+NjyrnpRgDT0s50SbR1xmtbel8/rpPoqWHCmKwhA4HoYRwZ AvdLfGZsicZeBytI+RNCJaECXMxU/CgdFW73PHEGHn55KR7XtuAjJ9h0sRtIuLs6uPk7 Cfj6uI5//g2xFdt7oBjRaMI+809Ci+W9hAgddTOHYFVxRrrZRfW+QxXSu+DT12EZhCjP D0Mw== X-Gm-Message-State: AOAM530i+GITXa/mfT630Blib99Uhfn7ZXk9iz7eVJICayxhqTHMXG3P 3x2IrS1+43qMs0lChY98n2M= X-Google-Smtp-Source: ABdhPJxU6Ii6mBzm0IYxOEboyJwkUw8SzLgwzBjjx7VBKyhL6Y4yE6XsXTzWfaOWzEQTF21oky8UvQ== X-Received: by 2002:a5d:6a4d:: with SMTP id t13mr15395488wrw.104.1637394108075; Fri, 19 Nov 2021 23:41:48 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id q24sm4703782wmj.21.2021.11.19.23.41.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 23:41:47 -0800 (PST) Message-ID: <8c07272b588fc059f3c445fe1f33c63cce8f31f1.camel@gmail.com> Subject: Re: [bug#51838] [PATCH v2 05/26] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 08:41:46 +0100 In-Reply-To: <20211120043406.952350-5-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: > Many of Guix's Node.js packages are built without some of the > dependencies they specify in their "package-lock.json" files, > either because we don't have them packaged yet (e.g. test > utilities) or because we don't want them (e.g. to reduce the > closure size). Previously, Guix package definitions would work > around this situation by deleting the `'configure` > phase (i.e. the initial `npm install`). > > This commit adds an optional #:absent-dependencies argument to > `node-build-system` to list Node.js packages that should be > removed from the "package.json" file.Retaining the `'configure` > phase avoids skipping checks for the dependencies that are > intended to be present and other actions performed by `npm > install`, such as automatically building native add-ons with > `node-gyp` when the "gypfile" key is present. > > [...] This is a somewhat decent approach, but I wonder whether we could improve this. Does nodejs complain if a dependency exists in the code, but is not present in the packages.json? In the resolve-dependencies subprocedure, we could check whether we have a matching input somewhere and only include the dependency if we do. WDYT? From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 02:43:25 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 07:43:25 +0000 Received: from localhost ([127.0.0.1]:41543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL1x-0005Bp-4q for submit@debbugs.gnu.org; Sat, 20 Nov 2021 02:43:25 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:46595) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL1w-0005BT-2k for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 02:43:24 -0500 Received: by mail-wr1-f68.google.com with SMTP id u1so22099059wru.13 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 23:43:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=npFrBIEmwZWaXMzaPbkyHXud5TakDgJydB5ST9Koym0=; b=musSsfZDqVr+RldhCesTJ6DhgQ7jt9rYY8v0QB7ktoj0A1Ky3tZCE04Jt0Yiwt1Z2t 2BhvC0IqkY8ZIpxYvugkLWJfmo1AB7BMLfxcOi/lPTnrDDZ1t1ko05CKxokGEZhzIjCQ auoug7QNzTyMDtyIsOzqSwYC2qHJ6g5wNql5AoLznv+a6KyYPoWjWKudSeU6F3wT6+bk SdGma752w2JZcvQb+8C4T1PQhDsqrKthLoqqlJUVaAbNG8is+Trzu5VYNuv8U7PxcbjB Idis2e3ZALDkRddb5SqjIz1WdDIDygL07DP43c0hXCzabyBci9IW+wHYhJrMOw29pHFh G6lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=npFrBIEmwZWaXMzaPbkyHXud5TakDgJydB5ST9Koym0=; b=soOcT9x4AZ3MNITQhYSQnthZU68KjYKJVvCU6tiHpbwqBQY2i+MBsxWizADqDTaGYG VFzKmZG6ylH7igvcr/Of2F9MdHYEIMv7CRvUz9zD2RYMoW4WZRjFJCIvI+XbNlPcH/mN 21+FRrgaBa/0jyG049+DJfwRL2eZlAmHvQJHkX0fKhy9qYfGiOQQlnD0g3goaj+3m9ff HKK8nx0FnApM1x4heeyPUd/k/5CJX0KDyxXMMESWdWN/2Igx51CNMkdhhNnQ0crjzODh CK2bjDK/hODVTnaVQSAOdu7n4TLFTc7bhEzQaRfd8bX4prOV/NWbWdsiL+tAZmIKvBNP 6syw== X-Gm-Message-State: AOAM530mnx89/viH/6MexqA5/yvG4Si7E1yKH0H+T81+FQfqsAd81V9f tm6KEdHvRfc0m9ugsv4tkg4= X-Google-Smtp-Source: ABdhPJzT34D+5X7pxQYYZjqfMjwdilIJY/l0WF7QtevhB8cgR3/LqMntj4EFUFTxdCYiMbJ5h9Recw== X-Received: by 2002:a05:6000:18ac:: with SMTP id b12mr14389748wri.355.1637394198384; Fri, 19 Nov 2021 23:43:18 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id k15sm1913158wrx.53.2021.11.19.23.43.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 23:43:18 -0800 (PST) Message-ID: <5be9db7833c1a64d84ac29205ea39c93fff18d24.camel@gmail.com> Subject: Re: [bug#51838] [PATCH v2 06/26] gnu: node-semver-bootstrap: Use #:absent-dependencies. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 08:43:17 +0100 In-Reply-To: <20211120043406.952350-6-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-6-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: > gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Add > `#:absent-dependencies`. Stop deleting the `'configure` phase. > --- > gnu/packages/node.scm | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm > index 0f67fe79c2..6c958eebec 100644 > --- a/gnu/packages/node.scm > +++ b/gnu/packages/node.scm > @@ -330,9 +330,8 @@ (define-public node-semver-bootstrap > (arguments > `(#:node ,node-bootstrap > #:tests? #f > - #:phases > - (modify-phases %standard-phases > - (delete 'configure)))) > + #:absent-dependencies > + '("tap"))) > (home-page "https://github.com/npm/node-semver") > (properties '((hidden? . #t))) > (synopsis "Parses semantic versions strings") Not deleting configure SGTM, but recall my note about #:absent- dependencies. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 02:44:38 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 07:44:38 +0000 Received: from localhost ([127.0.0.1]:41548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL38-0005E9-Ea for submit@debbugs.gnu.org; Sat, 20 Nov 2021 02:44:38 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:38871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL36-0005Du-AJ for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 02:44:36 -0500 Received: by mail-wr1-f67.google.com with SMTP id u18so22152571wrg.5 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 23:44:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=mI4W1TU16O+PeaBqWs9z22++R8p4j7AU8Y6zc7ZSRnM=; b=IONoHOyEs2dwLpvXMiRIqQNAXKBnr2d+1vK99aI/98LdPs+44WtRx/gS5P1555jDS3 WrlMiHm7LMNg+0nh62Qip+T+Sl/kurptOT9l/FQRxwtic4TFRfcul4KNABVD+0SjD1bE hhD3rIy8o+Gbzeog7LMQeBTwxpWYkVYR+AbwYjpaGR4Ih1EEacKgNhHL7CUYcgzElEK3 7V7TVsVw5VH4jViIO0W68yC/62/SKI07fI1Bt0YbS/7v/fe1i3V/friFrJYpVnVpgBxs YYKdyXCey0oPA3QmyiPmvSTZ8N3oLcoTA2/IBjd9Wbbc9HgcW5VXFiUJb4LyFoitkNTx Kmqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=mI4W1TU16O+PeaBqWs9z22++R8p4j7AU8Y6zc7ZSRnM=; b=bSKnGVLllhmZpPIJmJKkPHnx4127UZXdRAEKz3gdY7rIT50NWi44pzZnwV6uwFK1OL 30CSs9ldg06w6qX6ADOhCog7lTGYseT3ZIt8/KACWghOYjejcKRT95gU+e8vA2hyoBrT k+AmXSDINKUQUaceNA4fKyZ71zdlrJwJuv83DPleUFhx9752aNAOpnqYUe0EbcBBysEI dcf7oxcu9sSJrClahweIAla+5ZmRLlCZE8EXal8Y6rC5QUbp+/B3BNQzOv07KjUZ4b+F ovU8tu3nfdV1x49vXAkJHD2GSO8m5WvaQg+HoO/guolwVK71HVVam4GANFfe4f9sjgkA e75Q== X-Gm-Message-State: AOAM531mvvDhDHasqW8ffwlLBYDhCZunP9kc4tLKtYNCghAEi7S+B0Xp oOV4xomLFoeOb90oBFrz7fo= X-Google-Smtp-Source: ABdhPJyJ/9bnOUDpbg00xZHr53Ar4SaFF0s6CJvuKu4AFSpJHNZqd8PL2qwT31+zCwZhxcnJUzz/3Q== X-Received: by 2002:adf:f54c:: with SMTP id j12mr16028154wrp.20.1637394270701; Fri, 19 Nov 2021 23:44:30 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id o10sm2344090wri.15.2021.11.19.23.44.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 23:44:30 -0800 (PST) Message-ID: Subject: Re: [bug#51838] [PATCH v2 10/26] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 08:44:29 +0100 In-Reply-To: <20211120043406.952350-10-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-10-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: > gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: > Add `#:absent-dependencies`. Stop deleting the `'configure` phase. > Add a new phase `#:delete-package-lock` to remove the > problematic "package-lock.json". > --- > gnu/packages/node.scm | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm > index 98a51276e7..9d4903a8ca 100644 > --- a/gnu/packages/node.scm > +++ b/gnu/packages/node.scm > @@ -479,9 +479,21 @@ (define-public node-llparse-builder-bootstrap > (arguments > `(#:node ,node-bootstrap > #:tests? #f > + #:absent-dependencies > + `("@types/mocha" > + "@types/node" > + "mocha" > + "ts-node" > + "tslint" > + "typescript") > #:phases > (modify-phases %standard-phases > - (delete 'configure) > + (add-before 'configure 'remove-package-lock > + ;; Having package-lock.json seems to cause npm > + ;; to look for things on the internet in the configure > phase, > + ;; even if we have them properly installed. > + (lambda args > + (delete-file-recursively "package-lock.json"))) I think a simple delete-file ought to work. This should also be done by configure or similar, compare cargo-build-system. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 02:47:02 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 07:47:02 +0000 Received: from localhost ([127.0.0.1]:41552 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL5R-0005Iz-Rx for submit@debbugs.gnu.org; Sat, 20 Nov 2021 02:47:01 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:43879) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL5P-0005IT-Tw for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 02:47:00 -0500 Received: by mail-wr1-f68.google.com with SMTP id t30so22086073wra.10 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 23:46:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=6rQyB8bAoYXjm/1QMtgnjDlPc/AlY1JOLxhwC+MJcz0=; b=JLgCN+aT3qrGC9KoACY35cXMUzwHoewu//M5Y2Dam29Z9zjz9v5KC8OftLCgNkSr6/ VnX1I1RBIpz1QKSmjzbl0pH04HiWbqDNJ6qRlX22+H6LLUW2NIR5X1BKKe227mdrbsnF pWwVmQ+/YZ2nRN8xSZlf3p3kkFXuX0nZt9sPGJX1Owufg2rn/o2iUZuxS+zhRZiGnG7C YZlOd3rmCzWNFsMnQhJiGk0va4cwH/25PK50V2/eN/i53FZNwAr2VkU70+vXdmqEQlR2 7p57k0d7LGDD7yEOHHnIr6hRkfbV2OmSFDewWHRzFW0EgiayxneXRqHGg1tUpJUfZetx etSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=6rQyB8bAoYXjm/1QMtgnjDlPc/AlY1JOLxhwC+MJcz0=; b=29s2oZyhyjv5MJSE/qyuSkMZb3zBQXa7mPMgGeW8YjByD6P5R18h3xxGSV3wcNJa+7 3kYphOyU70u4iSjn5hT3lMpw+UE20HVojcTw8Na+LqxF343EAReY5/dV11mdxAWiOQnW VktLTWW0rKzIzVXANwtCNITUo2MWxc/ghuUaQgx3ydIIb3GNbU07jJWKwY/udrxowVPm JCq750KRxQHTniVXuEc6wJEsyb27FGT4VOkL3DtFltmf7BBLAPPMVTn0Kb+5/sNM2/l8 QfTmVeJak3gA59zJ/CrqWZuwjv0rHJTn1ADdyuZvm0mPSPI9UVhD8yAhp8dsC/mOqtN4 iDXw== X-Gm-Message-State: AOAM533hgC7x3St75fK03ayUeLY/auw6slwwa1sWrEkoxLTr6FQczg8h mcAm+StL/CTznUrXPMODfl0= X-Google-Smtp-Source: ABdhPJzKI21jEisAeMVrxpszom3cC4rPbI2KAWnOJSLrIUxWkY0XjPArsu9NtvMIrISYgjBXXzrYgg== X-Received: by 2002:a05:6000:181:: with SMTP id p1mr15371040wrx.292.1637394414195; Fri, 19 Nov 2021 23:46:54 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id f15sm2388026wmg.30.2021.11.19.23.46.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 23:46:53 -0800 (PST) Message-ID: <15a8348b0c5b080d590f68cc14bca99afd5d7834.camel@gmail.com> Subject: Re: [bug#51838] [PATCH v2 18/26] guix: node-build-system: Add optional #:libuv? argument. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 08:46:53 +0100 In-Reply-To: <20211120043406.952350-18-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-18-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: > * guix/build-system/node.scm (lower): Add an optional #:libuv? > argument to tell the build system to add the version of libuv > used as an input to the #:node package as an additional implicit > input, so that packages needing libuv always get the correct version. Would it change something if we always had libuv as implicit input? I don't think it'd do much for closure size, but it might impact implicit package search as proposed by my solution to the #:absent-dependencies thing. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 02:48:42 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 07:48:42 +0000 Received: from localhost ([127.0.0.1]:41556 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL74-0005Nh-57 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 02:48:42 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:52787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moL70-0005NS-HO for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 02:48:40 -0500 Received: by mail-wm1-f68.google.com with SMTP id o29so10476433wms.2 for <51838@debbugs.gnu.org>; Fri, 19 Nov 2021 23:48:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=bYn7miIgDwESJHdUKUiJdSebcn/5pu1in5/H+uYHHuw=; b=EXcFBnRCQDYB/dvk6pdLnlm0jG+8Zcl/WjNuldW+s0sCqQqbfmENIUgJ3gH0YQynuv B7YQbuHN7mLUBb677jovqR8RM/+DNoG6zD7pnnmkSP3hfadr986Bp+qX7yNhV8zCLWme 57xdz0RYxsF77fLPTYh1Qvy+oeot07P7Gh74vUIVUYsf/7fU8z840k5qwFSdJrjwKMdz bT0UttDKiwwq0FC3+WaeTjjRcqv0RYc4Y/0SIF2y+7BRaDT+zrpEjItMRFk53XEjK+da GwJm7hBn22GLNqfyWl/MnDJFr7gr0vabsEUkeBcVhabrQl0NfcZI7KOVxVFJL1GDDQb8 3NIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=bYn7miIgDwESJHdUKUiJdSebcn/5pu1in5/H+uYHHuw=; b=TaTvrEP5OszNTbrYKhn9CxqKKBT9IQFPSP4xysgZXawSknWEVbSAVhuw7vM1hVPTNh 0ZfZ/rxLWR3OwRvE7Dywkpu2rqdqsYnKCwib4KoBjCHJDdYf6m/NhILU2rENYKC+aNtq bRwdrm6yNSqumdcizKI/TDzekhuHmSivf+t04xh+rJEr7JhuYVi+oEGh9hDxMfL5rI1H IG5ELsjyi52UtPNP3ewCJRiLbc4bN0F1TGa/UjhGCOz0o37A1U8drqueVQABhOHJsoLX Gsb/5HCIiiyPX5ZgCWIUscDfP+vcnIo6XOc4Ce9LoFBR/9Y2eW2cucXF7yTQ3FDZUsZo WcSQ== X-Gm-Message-State: AOAM531CI4ukRI39qe71rP/9Dfe0OJiMVs67nDk2G6pTrb1Ij5m0Y+9v UdKd+XFoUAJ3pzS/1rV+EBM= X-Google-Smtp-Source: ABdhPJyqyVrPeDQWWxTnL+4y68vQM6dzfDXzZMtsNHQrJdO1Nmr9Lkb3TfN+M55fTsBZ3kMsweRZzA== X-Received: by 2002:a1c:a5c7:: with SMTP id o190mr8077089wme.186.1637394512641; Fri, 19 Nov 2021 23:48:32 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id n13sm1985082wrt.44.2021.11.19.23.48.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Nov 2021 23:48:32 -0800 (PST) Message-ID: <76798c0422cb0e7eb0bfd11baa6af6a31688bf2f.camel@gmail.com> Subject: Re: [bug#51838] [PATCH v2 26/26] gnu: Add node-sqlite3. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 08:48:31 +0100 In-Reply-To: <20211120043406.952350-26-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-26-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Warning, this patch does not just add node-sqlite3! Am Freitag, den 19.11.2021, 23:34 -0500 schrieb Philip McGrath: > * gnu/packages/node-xyz.scm (node-sqlite3): New variable. > --- > gnu/packages/node-xyz.scm | 107 > ++++++++++++++++++++++++++++++++++++-- > 1 file changed, 104 insertions(+), 3 deletions(-) > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > index 60dbfc163c..a56281fe18 100644 > --- a/gnu/packages/node-xyz.scm > +++ b/gnu/packages/node-xyz.scm > @@ -615,7 +615,8 @@ (define-public node-addon-api > (sha256 > (base32 > "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) > (inputs > - `(("python" ,python))) > + `(("python" ,python) > + ("node-safe-buffer" ,node-safe-buffer))) > (build-system node-build-system) > (arguments > `(#:absent-dependencies > @@ -630,8 +631,7 @@ (define-public node-addon-api > "eslint-plugin-promise" > "fs-extra" > "path" > - "pre-commit" > - "safe-buffer") > + "pre-commit") > #:phases > (modify-phases %standard-phases > (add-after 'unpack 'skip-js-tests > @@ -660,3 +660,104 @@ (define-public node-addon-api > @code{libuv} (included in a project via @code{#include }) are > not > ABI-stable across Node.js major versions.") > (license license:expat))) > + > +(define-public node-sqlite3 > + (package > + (name "node-sqlite3") > + (version "5.0.2") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/mapbox/node-sqlite3") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) > + (snippet > + (with-imported-modules '((guix build utils)) > + #~(begin > + (use-modules (guix build utils)) > + ;; unbundle sqlite > + '(for-each delete-file-recursively > + (find-files "deps" gzip-file?))))))) > + (inputs > + `(("node-addon-api" ,node-addon-api) > + ("python" ,python) > + ("sqlite" ,sqlite))) > + (build-system node-build-system) > + (arguments > + `(#:tests? > + #f ; FIXME: tests depend on node-mocha > + #:modules > + ((guix build node-build-system) > + (guix build json) > + (srfi srfi-1) > + (ice-9 match) > + (guix build utils)) > + #:libuv? #t > + #:absent-dependencies > + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, > + ;; which publishes or downloads pre-built binaries > + ;; or falls back to building from source. > + ;; Here, we patch out all of that and just build directly. > + ;; It would be better to patch a version of @mapbox/node- > pre-gyp > + ;; that always builds from source, as Debian does, > + ;; but there are a number of dependencies that need > + ;; to be packaged or removed. > + "@mapbox/node-pre-gyp" > + "node-pre-gyp" ;; deprecated name still used in some places > + "aws-sdk" > + "@mapbox/cloudfriend" > + ;; Confusingly, this is only a dependency beceuse of > + ;; @mapbox/node-pre-gyp: with that removed, > + ;; npm will use its own copy: > + "node-gyp" > + ;; These we'd like, we just don't have them yet: > + "eslint" > + "mocha") > + #:phases > + (modify-phases %standard-phases > + ;; We need this step even if we do replace @mapbox/node- > pre-gyp > + ;; because the package expects to build its bundled sqlite > + (add-before 'configure 'npm-config-sqlite > + (lambda* (#:key inputs #:allow-other-keys) > + (setenv "npm_config_sqlite" (assoc-ref inputs > "sqlite")))) > + (add-after 'patch-dependencies 'avoid-node-pre-gyp > + (lambda args > + (with-atomic-file-replacement "package.json" > + (lambda (in out) > + (let* ((js (read-json in)) > + (alist (match js > + (('@ . alist) alist))) > + (scripts-alist (match (assoc-ref alist > "scripts") > + (('@ . alist) alist))) > + (scripts-alist > + ;; install script would use node-pre-gyp > + (assoc-remove! scripts-alist "install")) > + (alist > + (assoc-set! alist "scripts" (cons '@ > scripts-alist))) > + (alist > + ;; causes `npm install` (our 'configure > phase) > + ;; run the appropriate parts of node-gyp > + (assoc-set! alist "gypfile" #t)) > + (binary-alist (match (assoc-ref alist > "binary") > + (('@ . alist) alist))) > + (js (cons '@ alist))) > + ;; compensate for lack of @mapbox/node-pre-gyp > + (setenv "GYP_DEFINES" > + (string-append > + "module_name=" > + (assoc-ref binary-alist "module_name") > + " " > + "module_path=" > + (assoc-ref binary-alist "module_path"))) > + (write-json js > + out))))))))) > + (home-page "https://github.com/mapbox/node-sqlite3") > + (synopsis "Asynchronous, non-blocking SQLite3 bindings for > Node.js") > + (description > + "The Node.js add-on @code{node-sqlite3} provides a set of a > asynchronous, > +non-blocking bindings for SQLite3, written in modern C++ and tested > for memory > +leaks.") > + (license license:bsd-3))) From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 12:05:02 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 17:05:02 +0000 Received: from localhost ([127.0.0.1]:43593 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moTnR-0003vJ-QY for submit@debbugs.gnu.org; Sat, 20 Nov 2021 12:05:02 -0500 Received: from mail-qv1-f48.google.com ([209.85.219.48]:43641) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moTnP-0003v5-Jx for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 12:05:00 -0500 Received: by mail-qv1-f48.google.com with SMTP id j9so9298873qvm.10 for <51838@debbugs.gnu.org>; Sat, 20 Nov 2021 09:04:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=8XqaUeUuQGNTZ8xdOgb7pwod65g/pmsW7ZAJJGjAFeQ=; b=koW2E5I4UhhpzuS7kPKRdYScQijmc4yGhpedqSOse9CQAN/571op9EtTSWDoGTtbsB l5r+Saicc8sgWPOkHzGXEbyHkXt7wNnbaD8Nc/q1cm8fhpGLd8jFfLQHA7fR8wfuIvPe tVwSCRYRmkcuRO3PpwHlLy0RzeuDVL/s6Ddx2mLYa5EeJvrH9HodtRKyMrqpzN/Rm45h ZywyGm72V8pI2W/YG1inldlE6cCFhcyKRt/RfZGH/Ig3IwAIIIFhL1scf5jgcDjK4QCI G7DCfEvcZm18zVEELNBb7bFpigSedR1DsCpb0uHN+jdCgk58Gxx3p8IwbP8YYFeA3AEO 5pYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=8XqaUeUuQGNTZ8xdOgb7pwod65g/pmsW7ZAJJGjAFeQ=; b=oU/ttwgnktgpE/MHu3SrC0hIx+J0S4uBBdGei2N0T6c44F6lfucX7rl2CvxGomayhb WQGlfY1A9PQMlTbuySYxNXYXyOJVS7gv1PzUOmPhSfMMjoFKwISFZnVG0OhgD0rehJnu 2HkvFwLnhrHmAYF/3upOTXsCiBX3i9NfOolp24/r9qaBh4xiC+2/ZT4YchBywypyZRh0 1GKM1lYdDgyK6d1pDAqkMBhEnd3PaoUMfnUtKkeckb0+jJiKlgcWnTSKS4q16TKG5KUp C3Nqer3fXUJbz3XpoEzl4uZztHk2YdipU8bFLdxKgUHOdQWb/H00bxQc6WlTmfHdTO1I kXgQ== X-Gm-Message-State: AOAM530eqjgfg52szg4zHGtkkKH3WvxJlCMOeJfp/4Qx5psGMSzaagIA tDp2yVjGVhXJVjqZlJnpRGBo0w== X-Google-Smtp-Source: ABdhPJyaURNfjk/Eco7v9qcFXRqW63NjYDZF4mMXYapvjrpeH2e5heTZ6EBSwvEfmyzZz3fuzLBQzQ== X-Received: by 2002:a05:6214:8f2:: with SMTP id dr18mr84731962qvb.56.1637427890966; Sat, 20 Nov 2021 09:04:50 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bi6sm1773917qkb.29.2021.11.20.09.04.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 20 Nov 2021 09:04:50 -0800 (PST) Message-ID: <37768a63-5a4a-b604-2542-e8890fd68a16@philipmcgrath.com> Date: Sat, 20 Nov 2021 12:04:49 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v2 05/26] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> <8c07272b588fc059f3c445fe1f33c63cce8f31f1.camel@gmail.com> From: Philip McGrath In-Reply-To: <8c07272b588fc059f3c445fe1f33c63cce8f31f1.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 11/20/21 02:41, Liliana Marie Prikler wrote: > Hi, > > Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: >> Many of Guix's Node.js packages are built without some of the >> dependencies they specify in their "package-lock.json" files, >> either because we don't have them packaged yet (e.g. test >> utilities) or because we don't want them (e.g. to reduce the >> closure size). Previously, Guix package definitions would work >> around this situation by deleting the `'configure` >> phase (i.e. the initial `npm install`). >> >> This commit adds an optional #:absent-dependencies argument to >> `node-build-system` to list Node.js packages that should be >> removed from the "package.json" file.Retaining the `'configure` >> phase avoids skipping checks for the dependencies that are >> intended to be present and other actions performed by `npm >> install`, such as automatically building native add-ons with >> `node-gyp` when the "gypfile" key is present. >> >> [...] > This is a somewhat decent approach, but I wonder whether we could > improve this. Does nodejs complain if a dependency exists in the code, > but is not present in the packages.json? To the best of my understanding, npm doesn't inspect the js files at all by default, so no. (A package.json file might define a build script that does more checks.) I think a missing and undeclared dependency manifests itself as a runtime error when the require() function is evaluated. > In the resolve-dependencies subprocedure, we could check whether we > have a matching input somewhere and only include the dependency if we > do. WDYT? I thought about this, but it seems to me there are two problems. First, I'm very unsure about this, but, in the last few days, I've gotten the impression there may be some "package.json" packages that don't correspond directly to Guix packages. I don't really understand how that works, but I think it may have something to do with npm packages that can run either on Node.js or on the web and need to use some functionality that's part of the Node.js core but not the web platform (or vice versa?). I could be wrong about that, but I've tried, especially in v2, to only have the build-side code do things I'm confident are correct in all cases. The other issue is that deleting packages with no matching input by default would replicate some of the drawbacks of the current `(delete 'configure)` approach. I think it's better to have an explicit list of dependencies that Guix is deleting. If eventually we package all of the missing dependencies for Guix, it would be much easier to find the packages that ought to use it. And, in the highly dynamic JavaScript world, I'm reluctant to give up one of the few static checks we have. If a missing package that really was required were automatically deleted from "package.json", it seems the failure mode would by a mysterious runtime error, potentially many steps down a dependency chain. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 12:09:31 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 17:09:31 +0000 Received: from localhost ([127.0.0.1]:43603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moTrn-00043u-G2 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 12:09:31 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:43569) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moTrm-00043c-4R for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 12:09:30 -0500 Received: by mail-qk1-f170.google.com with SMTP id 193so13506642qkh.10 for <51838@debbugs.gnu.org>; Sat, 20 Nov 2021 09:09:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=CHbSz76CPuVnFbmF0MibKnvXiL/xv6F4D74o+342OTw=; b=JQvx9mNfecu5OOavsZQdvGZRKr6Y0RdJpesgLBUjlDKqvUWNIJAOCpoRH47MAn6ZGL WVr67JftYYn301vj3vIo4U2xmIaHZKKbt7qjL6aKUP9GMZjWRDISotJjQnm1UHkdSFow I2FCC2s1mkLGJ99kAPQ7nsWTFMRTGBpVrr8mBWirlgPHwjgN3AWCy2TuIOJRgKOpNqSy vk48ccJFZtcEKfzr3Tou0ja7hOTNmUihB3BfpFkyF/0cwRqQHM8GpCyu7Dttq/6UbTHN +iOzAJUaZuGRv3x6XLFgfeG/3C6qMhgH9+QSUgWS48/xq1gejMcHnG/iK/hEIpzpVxBb aizw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=CHbSz76CPuVnFbmF0MibKnvXiL/xv6F4D74o+342OTw=; b=Zi3H4hgPKjzFC0tg8ODGF/B+vVDJzstyT2uXIq5xutVjataR/ET5AWRRSRxXv3dNx0 olmkoiVSsFcnD1cHj2dD1kaxv+Unma+xnC53Kc31mtqH/WN92Z4MXKl1bfDICW4UJoat 6uSPJQafhXseYTPBs0fsqhf2qR22lF88saa1zGZA7QOJEvKQqABay2MbkWWmjiodr6ds humqX43cFbQAsKQLvq/6ACria2vAEmp6yFy52SetxF10f8kaclnW9RFR4yTwMBG7MT3F jy63xD8YWCAeysxTVhHViZ6kCMdEw0hMJeM/HkcOUo/gNA+0WZojZdehalbW6hJBbypN 3Rxw== X-Gm-Message-State: AOAM532/PpGn0BfJJSJoASElrP4DpnsZzK+kcTacLOIgq79AIbPBN4ug Dbyn3b5sWSXyhnbKRGsdXokZ0Q== X-Google-Smtp-Source: ABdhPJwg4hMYk97/4BezvNqD2NvtTbSugXURBs2TAh8Iv9roBhaOxo/4WAgZ+XW/4XeKEFvvxZOrqQ== X-Received: by 2002:a05:620a:2153:: with SMTP id m19mr38109617qkm.77.1637428164753; Sat, 20 Nov 2021 09:09:24 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j13sm1781006qkp.111.2021.11.20.09.09.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 20 Nov 2021 09:09:24 -0800 (PST) Message-ID: Date: Sat, 20 Nov 2021 12:09:23 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v2 10/26] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-10-philip@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) On 11/20/21 02:44, Liliana Marie Prikler wrote: > Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: >> (modify-phases %standard-phases >> - (delete 'configure) >> + (add-before 'configure 'remove-package-lock >> + ;; Having package-lock.json seems to cause npm >> + ;; to look for things on the internet in the configure >> phase, >> + ;; even if we have them properly installed. >> + (lambda args >> + (delete-file-recursively "package-lock.json"))) > I think a simple delete-file ought to work. This should also be done > by configure or similar, compare cargo-build-system. Yes, I thought about having the build system automatically delete "package-lock.json", but I'm not 100% sure it's always a problem to have it, or if there might even be some circumstance where we want to keep it. I'd prefer to wait until we see a significant number of node packages deleting their "package-lock.json" files before trying to abstract over the pattern. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 12:16:45 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 17:16:45 +0000 Received: from localhost ([127.0.0.1]:43620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moTyn-0005h1-22 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 12:16:45 -0500 Received: from mail-qv1-f42.google.com ([209.85.219.42]:46952) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moTym-0005c8-66 for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 12:16:44 -0500 Received: by mail-qv1-f42.google.com with SMTP id jo22so9289557qvb.13 for <51838@debbugs.gnu.org>; Sat, 20 Nov 2021 09:16:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=RpuOT16S+C5qDdRGaHM3A+72/IJ6HAtBPvyOfvbOaJA=; b=bwIb+KTSjc+vD8puMCYX4mEtD7yQURNHCgbK5Zt8C7lBNeaN30KBvHzhoSh5+etDif 1wdoCGaE9PJCMhFIuiaDxlStWqeVH1izyge2Ml7AaQ9txrvF5C7zATF/oeGNcOvLo+mS +G51berR2xEvGVjv4y8oBc64h0c10J4CoAFNTTkAEoGRZngLYZ3nLeaQoSQSZPZS4HI1 yJwbz3Kaaa1VG3z4Xmu0KYnjiZHQ6c0+jG61tMF6CCoSD23ACgi4Lz75cicNt3lmV2ro Lk1zhqyg+nNuvKBGhk/b08Iir3wV9sz1jVgA9rR3ta6iwtpP/AjtQkPqrToM5I+ApY+A zBEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=RpuOT16S+C5qDdRGaHM3A+72/IJ6HAtBPvyOfvbOaJA=; b=p75OvAiA+DlPn0n2HyhPUcdmbn3S0iMFG1j25raqYQjfyJIAK+lZtSQhcomvsejYyJ 4NGOr4EtYpfcx2A6wVEju2orAhRrTP7xJMsbFP1oLjfIs4AQdXNWeSh5Lhb8FJ6vDXiT 91SoudFpQ3B0EIOu4ib73hQYIaDmIlfnxfmxxAp4jpIhuF3TmvkYmc5ygUExOBTeFpWi lpqiQfgw0WJ3Q9FMvkmruqTKqiaznpybIahYIvXpYWFC7UpCebtbEePeEPRtu2d0cVA6 toNtAspGZNBG7nHAtyXhOLDFRqEE0XkN5cJEmxo/iAAfxW0aH2Hqq0bbytciwAjq8D+R 8CoA== X-Gm-Message-State: AOAM530o5TiBoGK/4vJkKLbjv78m4V8+7r6VoSRWm7j20FaDAryrO6WE iO7uuhZLKdewb9NWGTMYStXfNg== X-Google-Smtp-Source: ABdhPJxCTZytVa7zxsHJRbS+oTiFJIWnflWHIB6NKHkJGDzKqkG4zJJj3N4p6AkV8LgYazkg7EQxMQ== X-Received: by 2002:a05:6214:2b05:: with SMTP id jx5mr85347033qvb.9.1637428598675; Sat, 20 Nov 2021 09:16:38 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id n13sm1885512qkp.19.2021.11.20.09.16.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 20 Nov 2021 09:16:38 -0800 (PST) Message-ID: Date: Sat, 20 Nov 2021 12:16:37 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v2 18/26] guix: node-build-system: Add optional #:libuv? argument. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-18-philip@philipmcgrath.com> <15a8348b0c5b080d590f68cc14bca99afd5d7834.camel@gmail.com> From: Philip McGrath In-Reply-To: <15a8348b0c5b080d590f68cc14bca99afd5d7834.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) On 11/20/21 02:46, Liliana Marie Prikler wrote: > Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: >> * guix/build-system/node.scm (lower): Add an optional #:libuv? >> argument to tell the build system to add the version of libuv >> used as an input to the #:node package as an additional implicit >> input, so that packages needing libuv always get the correct version. > Would it change something if we always had libuv as implicit input? I > don't think it'd do much for closure size, but it might impact implicit > package search as proposed by my solution to the #:absent-dependencies > thing. From a Guix perspective, I don't think it would make much difference, since libuv is always needed by node itself. Maybe it would require more grafting than would be needed otherwise? But I think the recommendation for authors of node add-ons is to avoid libuv unless it's really needed, because it has fewer stability guarantees that other Node.js APIs. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 15:08:45 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 20:08:45 +0000 Received: from localhost ([127.0.0.1]:43715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfF-0005Jy-77 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 15:08:45 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:40529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWf9-0005JZ-Nv for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 15:08:43 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 7F1E45C00DD; Sat, 20 Nov 2021 15:08:34 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sat, 20 Nov 2021 15:08:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=HsUQuTj0Bte0NUdR0NSSDfi09hAe/fMsh+rhFccJNfI=; b=XGtRi+/f kH3UFZ+zBI+XQJ0zCQZfS4lMRm7AZhzPFKbdCPXG7We4hY9D9pZJybkMSh968Fmf AI8DhwZ11Tu9kxPK28TlAZeJkGHlO9TWWyzFd8pAh8FxsIdvIK9dGu0+QwyCZFCh 97sVbiqBCaUVDhx+3QWXOftA/OdOVcpFoQx+2VwUFVxsMSX4XkD0EqbJJXAFxXjE 5Ep99ZnjZCTdh4tmuBum0r+T5Wjslie6rI1EbPqvFoIlPcD7hEFIGj2D1I2jkOg3 yAWvxFJu5ONvyQdVApAwtapJ/cwZic/4I18Ez8xlowsEjryq7HvIjUkN+1u+Hk8v A6MdLVNEcXcb+Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrgedtgddufeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhffffkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpedvtdevuddukeevgefggffhtefhueffkeegkeevudeftedugefgtdefheef jeffieenucffohhmrghinhepghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 20 Nov 2021 15:08:33 -0500 (EST) From: Timothy Sample To: Philip McGrath Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> Date: Sat, 20 Nov 2021 15:08:32 -0500 Message-ID: <87tug6bnen.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Philip, There are some really valuable changes in here, thanks! I would like to start understanding and reviewing the changes so that we can get some of this good stuff merged in. However, I have one question that I couldn=E2= =80=99t answer from reading here or at : is there an agreement between you and Pierre that these patches are the =E2=80=9Cright=E2=80=9D way to do native addons for Node.js. More importan= tly, is the general plan that we merge these changes, and then Pierre rebases their Tree-sitter changes on top these? Pierre, maybe you could weigh in here? Sorry if I missed something. I assume everything is OK, but I want to be sure before I start digging into the details of the patches =E2=80=93 especially those first few more complicated ones. :) Thanks! -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 15:08:49 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 20:08:49 +0000 Received: from localhost ([127.0.0.1]:43719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfJ-0005KH-GR for submit@debbugs.gnu.org; Sat, 20 Nov 2021 15:08:49 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:60829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfH-0005Jn-OL for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 15:08:48 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id B400C5C00CD; Sat, 20 Nov 2021 15:08:42 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sat, 20 Nov 2021 15:08:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=swpPuVGvY/xlFAj3O5KVz6DKvUWtSER2V2nbE1xvCrQ=; b=Zi168FYe WAH1yYXAIXM7C9QW31Y/l91IRgonG/rXHXJqVII+aPF2hiaHCqzLFipQjao3/+tm ESu9EVp2N2zmDmtWXxf4GA8EjeCPR7bXWX0e4nHfy0zfn+eAwMskBctxX0DrMW6B lWegEgfC3IrEupeg7jZK5PhXhI+Zt8lXxxh7w4x7t9V8Zc9UXn2fjBRY6QES+cbN wWmRfzwgexDGMmry32bryDY02Pq5vGHTctrV22goACFIYOehZSVvCQKtuP1v8XNx G00MvCETFDtKoC3rXokFDTCeEB+WsoKptA0mFuWi4Cox0hYnGRWzBkq04Sofoq3d h/BM4lxAPrlo0g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrgedtgddufeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvuffffhfkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeefieeufffhuedujedttdekvdetffevudeigeefvdekkefhkeetgfehtdeu gfffkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 20 Nov 2021 15:08:42 -0500 (EST) From: Timothy Sample To: Philip McGrath Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sat, 20 Nov 2021 15:04:51 -0500 References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> <8c07272b588fc059f3c445fe1f33c63cce8f31f1.camel@gmail.com> <37768a63-5a4a-b604-2542-e8890fd68a16@philipmcgrath.com> Message-ID: <87o86ebnee.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hello, Philip McGrath writes: > On 11/20/21 02:41, Liliana Marie Prikler wrote: > >> In the resolve-dependencies subprocedure, we could check whether we >> have a matching input somewhere and only include the dependency if we >> do. WDYT? > > [...] > > The other issue is that deleting packages with no matching input by > default would replicate some of the drawbacks of the current `(delete=20 > 'configure)` approach. I think it's better to have an explicit list of > dependencies that Guix is deleting. If eventually we package all of > the missing dependencies for Guix, it would be much easier to find the=20 > packages that ought to use it. And, in the highly dynamic JavaScript > world, I'm reluctant to give up one of the few static checks we > have. If a missing package that really was required were automatically > deleted from "package.json", it seems the failure mode would by a > mysterious runtime error, potentially many steps down a dependency > chain. This is well put. I actually experimented with a similar approach when we updated the Node.js build system. This is a big improvement over deleting the configure phase, which would never scale to more than a handful of packages. Having a build-time check that ensures all the developer-declared dependencies are available (save the =E2=80=9Cabsent=E2= =80=9D ones) will be very helpful when we are maintaining hundreds of JavaScript packages. :) For the patch itself, it would be better to move a lot of your commit message into a comment somewhere in the build system code. If we had a section in the manual for Node packages, it would go there, but alas.... I think most people would be happy to see a comment in the build system code and be saved from having to poke around with =E2=80=98git blame=E2=80= =99. -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 15:09:10 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 20:09:10 +0000 Received: from localhost ([127.0.0.1]:43723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfP-0005Kd-R1 for submit@debbugs.gnu.org; Sat, 20 Nov 2021 15:09:10 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:41169) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfO-0005KF-96 for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 15:08:54 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 3FD795C00D5; Sat, 20 Nov 2021 15:08:49 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sat, 20 Nov 2021 15:08:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=drjm6TKiBGlj07b5FfV83MEeAs3KmWlQq3uGaDqsKuI=; b=fWa/heri eXQQ4xe4rkiDkR5rIDf2QF/AMO5vCKN8U6ocQFOFIR1hBjYH79HhRlF2cq1Tbj+Y 8epkXAFJrZ/Vsb5qRhbrdNn8r7xWsG3swdpnJ3XEIxIaM9bsksxtuJkFnwsWoLRm lodnX0ME6Wlveh8ut/joTpSQpkWABLTdv9CYezyGJvPIKw1KRC2oaDUGBJBEtTST pUbZBTwNgeQSGBUFHmWSKlRZ+VLyxwgBYOPh7cyy1vKogPRPBcPN4CT4k0pUAhUp zDQpuZsoW/kWbEGmTZgfSBClYdSqL840CdPZFd+zcNea+LGQEoR0dQolo+fcp5Yf S2yfDmVdHsTAKA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrgedtgddufeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvuffffhfkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeefieeufffhuedujedttdekvdetffevudeigeefvdekkefhkeetgfehtdeu gfffkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 20 Nov 2021 15:08:48 -0500 (EST) From: Timothy Sample To: Philip McGrath Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sat, 20 Nov 2021 14:55:31 -0500 References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-18-philip@philipmcgrath.com> <15a8348b0c5b080d590f68cc14bca99afd5d7834.camel@gmail.com> Message-ID: <87ilwmbne7.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Philip McGrath writes: > On 11/20/21 02:46, Liliana Marie Prikler wrote: >> Am Freitag, den 19.11.2021, 23:33 -0500 schrieb Philip McGrath: >>> * guix/build-system/node.scm (lower): Add an optional #:libuv? >>> argument to tell the build system to add the version of libuv >>> used as an input to the #:node package as an additional implicit >>> input, so that packages needing libuv always get the correct version. >> Would it change something if we always had libuv as implicit input? I >> don't think it'd do much for closure size, but it might impact implicit >> package search as proposed by my solution to the #:absent-dependencies >> thing. > > From a Guix perspective, I don't think it would make much difference, > since libuv is always needed by node itself. Maybe it would require > more grafting than would be needed otherwise? > > But I think the recommendation for authors of node add-ons is to avoid > libuv unless it's really needed, because it has fewer stability=20 > guarantees that other Node.js APIs. My assumption is that most packages would ignore the libuv headers, and they wouldn=E2=80=99t retain a reference to it (except via Node.js itself). Hence, I don=E2=80=99t think it would make any difference either to graftin= g or closure size to just always add it. -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 15:09:11 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 20:09:11 +0000 Received: from localhost ([127.0.0.1]:43729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfe-0005LZ-SZ for submit@debbugs.gnu.org; Sat, 20 Nov 2021 15:09:11 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:39865) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWfU-0005Ke-SZ for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 15:09:01 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id D2D095C00DA; Sat, 20 Nov 2021 15:08:55 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sat, 20 Nov 2021 15:08:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:message-id :mime-version:references:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=5pi7ZfFUtz3Ntyyr0 qNDE0DYvEuBsFhXRhIwcgItI4U=; b=HvLMgjnh/Qo1h37Ynf5U3CuzftkfY53up hMFVPahhRD8U7pod2AORBIv3OKeYkigPZoXOSsKPjz0XoNYzwfSxxE4wFYY81oNp jnYCDxHOVnyrnh50K7P63C6TzEUxPCWQqEhEsUX53kizOjpAPvW+gTa3A41U21lU ZZihk9o7WrTdiRtNliI6TmXCbDkN+/5HtOeoZpVXdiJLHkpYA8Di8q7FJIa/v9Fb yqWzwAXVwJp/0Ni+6W/JyUddIJ12hP6Bx22m+fv5R3Oo3acnOrlbYTJQQW8L+Yhr dz7D/mcUQG5bmX/HM/BUGhMuhU84cBLbKGGymYweCry8wHwKCb2Dg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrgedtgddufeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvuffffhfkfgggtgesthdtredttdertdenucfhrhhomhepvfhimhhothhh hicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrfgrth htvghrnheptdeigeegueegiedtvdfhudeiudeiledutddvffehgeekhfefheejtddvkeeg keevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsh grmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 20 Nov 2021 15:08:55 -0500 (EST) From: Timothy Sample To: Philip McGrath Subject: Re: [bug#51838] [PATCH v2 04/26] gnu: node: Add an npmrc file to set nodedir. Date: Sat, 20 Nov 2021 12:38:06 -0500 References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-4-philip@philipmcgrath.com> Message-ID: <87czmubne1.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi! Just a little typo: Philip McGrath writes: > * gnu/packages/node.scm (node, node-lis)[arguments]: Add a phase node-lis should be node-lts. -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 20 15:24:55 2021 Received: (at 51838) by debbugs.gnu.org; 20 Nov 2021 20:24:55 +0000 Received: from localhost ([127.0.0.1]:43735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWut-0005yi-EF for submit@debbugs.gnu.org; Sat, 20 Nov 2021 15:24:55 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:40523) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moWuq-0005yT-Pa for 51838@debbugs.gnu.org; Sat, 20 Nov 2021 15:24:53 -0500 Received: by mail-wr1-f65.google.com with SMTP id r8so24526021wra.7 for <51838@debbugs.gnu.org>; Sat, 20 Nov 2021 12:24:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=LMCl0VbOSdMz37jfugUvbbfC6nb8ZgdE89pH2x9C/BA=; b=Tk06Y9gKxBP3Me5tmKGPhmqI6/4V5EGbCQZNNfrd7TGRdlbWuS4tbRocrfECkszsC7 Ihl7DNyRcA9qkM5r6inbHebMTToUfir4PeKYIbHokmBNUGId8ngVV8aSYbUHkK88cEUd /GZArcUYTc1//EwR7OHqsotyN+xusXPLyNJNMDzCAQnCw+UmCzAZAY1MPtAmMEt4lxUd F73XuUanLSekuHc0Y1CB9NvIuVB5ORQ+zjoo2yR3OwBWP0wdFRKy4N5gDsJbpiShOQsZ UWl4LoYIp+Mi6D+A1kDYgp2gYfWMYcEXdwlu/pH1Drr34E1Ny0Hc+RB6GhmA1lzohp+g U6gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=LMCl0VbOSdMz37jfugUvbbfC6nb8ZgdE89pH2x9C/BA=; b=gxEXCwWGr70pSs/AWT5RHjplRuoxKm+0l+VUCxXdjw5HGXQ1q/0ihP5WQ8fREO7AOy Pb5UK4rezcSqOCtPKu8P3PIFSiedPZORqONil9AJDrmsSy+lwD3u3rlrHdYBDzv8pcb1 1NJVWRR3iBD4wqdK3BdStjfZWzqANAfdDZl2kZwEepxmQQJV1RqwxM1XJtgrqbYKGxGr GEdpI+xFPOfiVTq33FeNbSozFtqBiqJ3SsZrVUYKteYrwXwpYxDXigu56yeyBiGKrYfO 3CbTcip+gQ90mzi3nUyUkM/3gtYRCPtM+HQrJOmZ27KpC1pPDNusVkxl05uFzsxWsyog fQbQ== X-Gm-Message-State: AOAM531t1A0JFCAN1xyoT2PYgtaPvwggNfEr/gWM1qkrZwpP2P9zU/bL CLKPYvFU53Dcai/ZFt2yma4= X-Google-Smtp-Source: ABdhPJz3A+3n4RrV2iQZLuqtmeTAtVPR2iBoiabz2YxgEKDsLk68RYTIXgh6nXxKDzIo51daHkIVdg== X-Received: by 2002:adf:efc6:: with SMTP id i6mr21655526wrp.428.1637439886793; Sat, 20 Nov 2021 12:24:46 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id d7sm3566513wrw.87.2021.11.20.12.24.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Nov 2021 12:24:46 -0800 (PST) Message-ID: <62e2afb290ae88cc8bb42ccc26683f9d9435bbf5.camel@gmail.com> Subject: Re: [bug#51838] [PATCH v2 05/26] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 20 Nov 2021 21:24:44 +0100 In-Reply-To: <37768a63-5a4a-b604-2542-e8890fd68a16@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> <8c07272b588fc059f3c445fe1f33c63cce8f31f1.camel@gmail.com> <37768a63-5a4a-b604-2542-e8890fd68a16@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Samstag, den 20.11.2021, 12:04 -0500 schrieb Philip McGrath: > To the best of my understanding, npm doesn't inspect the js files at > all by default, so no. (A package.json file might define a build > script that does more checks.) I think a missing and undeclared > dependency manifests itself as a runtime error when the require() > function is evaluated. Sheesh. > > In the resolve-dependencies subprocedure, we could check whether we > > have a matching input somewhere and only include the dependency if > > we do. WDYT? > > I thought about this, but it seems to me there are two problems. > First, I'm very unsure about this, but, in the last few days, I've > gotten the impression there may be some "package.json" packages that > don't correspond directly to Guix packages. I don't really understand > how that works, but I think it may have something to do with npm > packages that can run either on Node.js or on the web and need to use > some functionality that's part of the Node.js core but not the web > platform (or vice versa?). I could be wrong about that, but I've > tried, especially in v2, to only have the build-side code do things > I'm confident are correct in all cases. What does "not directly correspond to Guix packages" mean here? At the very least Node must have a way of finding them, probably somewhere in lib/, no? While I did say we may want to rewrite these dependencies in ‘configure’, perhaps we can find a middle ground in which we only do so when a given argument is there. ant-build-system does that for instance, so as to cope with packages that actually have no ant build spec. WDYT? > The other issue is that deleting packages with no matching input by > default would replicate some of the drawbacks of the current > `(delete 'configure)` approach. I think it's better to have an > explicit list of dependencies that Guix is deleting. If eventually we > package all of the missing dependencies for Guix, it would be much > easier to find the packages that ought to use it. And, in the highly > dynamic JavaScript world, I'm reluctant to give up one of the few > static checks we have. If a missing package that really was required > were automatically deleted from "package.json", it seems the failure > mode would by a mysterious runtime error, potentially many steps down > a dependency chain. I get where you're coming from, but OTOH if you were to change parts of the package to suit your own needs – like adding or omitting some inputs, you now have two places to change, and they're in a tricky relationship with another. I think this is setting up some very error- prone boilerplate. I hope that in most cases the test suite will cover the important use cases, but that's not always possible (e.g. with flaky tests, networking, missing test inputs...) Furthermore, for better or for worse, stack traces did become the gold standard of debugging long ago, so even packages missing "deep down" would probably soon be dug out if they lead to hard errors. Soft errors in Javascript though... From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 23 06:04:52 2021 Received: (at 51838) by debbugs.gnu.org; 23 Nov 2021 11:04:52 +0000 Received: from localhost ([127.0.0.1]:50124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mpTbY-00038e-HO for submit@debbugs.gnu.org; Tue, 23 Nov 2021 06:04:52 -0500 Received: from mail1.fsfe.org ([217.69.89.151]:43316) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mpTbW-00038V-Ns for 51838@debbugs.gnu.org; Tue, 23 Nov 2021 06:04:51 -0500 From: Jelle Licht DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fsfe.org; s=2021100501; t=1637665488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=j60BIbJDK2epTa9wOXyv0+27FtnEnPK4dGFIEpdrjtI=; b=FoMbfGJ1miW37o7ZLqn6WrLNwFMEehRSPLyL3ew95fIs3nZzUTqpBmWJViTjQe/ns5WTxM 3jrnUB0JE9l5UaMwZAagQK85wtLJHvffxA1kGwY5E1RFis4n1bLlSI9WjSCpS5Yiq30fLd ig+owB8NVj+C7GiHkFi8Xm17AXrVc1A= To: Philip McGrath , 51838@debbugs.gnu.org Subject: Re: [bug#51838] [PATCH v2 10/26] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. In-Reply-To: <20211120043406.952350-10-philip@philipmcgrath.com> References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-10-philip@philipmcgrath.com> Date: Tue, 23 Nov 2021 12:04:47 +0100 Message-ID: <86tug39lps.fsf@fsfe.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hey Philip, Philip McGrath writes: > gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add > `#:absent-dependencies`. Stop deleting the `'configure` phase. > Add a new phase `#:delete-package-lock` to remove the > problematic "package-lock.json". > --- > gnu/packages/node.scm | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm > index 98a51276e7..9d4903a8ca 100644 > --- a/gnu/packages/node.scm > +++ b/gnu/packages/node.scm > @@ -479,9 +479,21 @@ (define-public node-llparse-builder-bootstrap > (arguments > `(#:node ,node-bootstrap > #:tests? #f > + #:absent-dependencies > + `("@types/mocha" > + "@types/node" > + "mocha" > + "ts-node" > + "tslint" > + "typescript") > #:phases > (modify-phases %standard-phases > - (delete 'configure) > + (add-before 'configure 'remove-package-lock > + ;; Having package-lock.json seems to cause npm > + ;; to look for things on the internet in the configure phase, > + ;; even if we have them properly installed. package-lock.json lists exact versions _and integrity hashes_; since it seems unlikely that after node-build-system's finaggling we end up with an identical hash, we will always have a mismatch and fetch 'proper' sources online accordingly. As far as npm + package-lock.json are concerned, we don't have them properly installed. >From what I have seen package-lock.json offers us no benefits (because we track exact dependency information via the guix store) and can (as you have seen) prevent builds from working. My 2c: always remove it in a phase in the build system. It's simply a preference though, so your please go with what you think is the right choice. You might want to update the comment nonetheless so it's clear we know what's going on. > + (lambda args > + (delete-file-recursively "package-lock.json"))) > (replace 'build > (lambda* (#:key inputs #:allow-other-keys) > (let ((esbuild (string-append (assoc-ref inputs "esbuild") > -- > 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 23 16:09:55 2021 Received: (at 51838) by debbugs.gnu.org; 23 Nov 2021 21:09:55 +0000 Received: from localhost ([127.0.0.1]:52397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mpd35-00067Q-CL for submit@debbugs.gnu.org; Tue, 23 Nov 2021 16:09:55 -0500 Received: from mout.gmx.net ([212.227.17.20]:41233) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mpd31-000677-KP for 51838@debbugs.gnu.org; Tue, 23 Nov 2021 16:09:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1637701779; bh=yOPHf0Dkn7OLFqAaFEaiZZ90ybOW5WFtI0oOUu0e/n0=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=Y5ubfdoM0M5OqVtWgC5JmAfieOVQnEz0/4suZXZ9N47UqKUB8GrmYMmrbqbV99Z9c XHgnBQ44F8YKaLg6JbMaj/RS7/9DRIBDHkcq5MvGEIcaVP7vjWN6RJjQkMDYsOW8mr 6ydZcJQLQ+LAlpb3i1MFkPK8qD3hLCUv8/fJXstU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1Mxm3K-1mQvgj0K2I-00zDD2; Tue, 23 Nov 2021 22:09:39 +0100 References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <87tug6bnen.fsf@ngyro.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Timothy Sample Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Tue, 23 Nov 2021 20:54:26 +0000 In-reply-to: <87tug6bnen.fsf@ngyro.com> Message-ID: <87czmqk29d.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:jHm32sgjaI+KguHwQBpbxAGPYWGnZEQDhuAGfzT43xZQP11p95a GOVvh0q7cL4IN/6rUvO8FWk9M/PYdJOGQQSYgk0TfeBeXo5apJOHgy+J1voTPT5sN1ugS+f 5N/qinX89fWGxp9TCdqHNACivGwLcPcQ52W7Q4Ki5q46tX6lnd65Wb40yPkWW37XmhL01pA cnGYztzcOCdgt4tsm+jjg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Wp8yutE+c7I=:Q+SOXaP0rdK0l4RuPi7Rss eeFwBwpMbqa6AOCBrFLeWw9CNEqqg0xtIWunbvO4hZgmqWCKTg6fRppKsRgB9qd5Zhw4qehoi Py4XJnh7Yz2lXS6//idwNSZI1KKesRYvs04fkS9VqmyJUxtXoxmBNVmWP5qik4w4Y+L95hVIb vWkM0XIB06D0T9edoAKqKqxtE7Xba0iiHYNf8i/XmrSb5ZehCnir2XwE+XH5zOVlT6RokyR8m m1iBNwqZO6PCkAwrzloKwMxsNTDhGwR1blsg4qENOWmU6Hfxi3ppv/qG5bH2kryelBZkNYOg5 2qXDbfaNvouROpizjkjtJI9DkvRrRpBj2XL8CbqL6bN0AwtJza9V2/2trVTzFikqN7aLNUHVL NbMZ+k5Per28bddOGxhw/uThAC7C05gNx9DtSqQgzapAWLkHaDPj360sap4eR/U3DoulOgiy5 i0gKdtcj3li+6CDJeeTiH4LIGSLqmMydi74g9Dzje5Rc2Q0dXaEzlhDCpg2rU5lkobfNexVOp YpJw6e43460xItPR29CUa8u0y1vUoU/oTLoQvbCmJUIj92oDGfaS0+sZf5vW3pgBLS+MWEelc tLQiQPugRH3WVun4nK0QOVU3WZDUAF8ce+EVObDFnOB3FdkAqSxU2sluQeSv/lvUsra9F+ZD2 1oN+X/ePfjkTO0DuhTIT07mPUeYtLj7QwWKd3JAXRMEtVhW38uXNvE/zlhfhHX8s7QZxU1ZeR C9efUGjLO2HIu9jMxa2Nf7mEC7YuUL+1pB5pnYsVaAVRTAV95eXl3iSPo5jXgNq3+XAHFwt+7 llT9yvA/7LMybomD/pgW3PUD5FOLA9bDpRjIrXd/53MGhcWm+CUiJS7bwIsQAhd5yR7kcI1cY yFXhXVQDUc826eEMO5IoFvyhmGUwDnC+2dlV1VzvxoEqvhxLUz3Da0rO9na76jV7x0rjnFMWI PKbUhjyVdLFSQHpx/+Krh4pU70tp6kfsr0sKxIQTnXdIpCB4lMuRSLbOzTtgF9TwUZv/7UePe M1WgOoOTYuQv8+wCIYnEvX1IZZmXtMecYhKN+oxF3Qqs9pSxblz13r5hMyNcda/V5bp1z90Tr xS7EPAXMxNvWU4= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Timothy, Timothy Sample writes: > Hi Philip, > > There are some really valuable changes in here, thanks! I would like to > start understanding and reviewing the changes so that we can get some of > this good stuff merged in. However, I have one question that I couldn=E2= =80=99t > answer from reading here or at : is > there an agreement between you and Pierre that these patches are the > =E2=80=9Cright=E2=80=9D way to do native addons for Node.js. More import= antly, is the > general plan that we merge these changes, and then Pierre rebases their > Tree-sitter changes on top these? > > Pierre, maybe you could weigh in here? The overall approach looks good to me, it's better than what I originally proposed for sure :-). That being said, I'm not very familiar with the Node.js ecosystem so I don't know if it's necessarily the right way, but I suspect the correct way for node isn't very Guix-y so I'm not too worried about that. It's on my TODO list to take another look at the patches as well :-), then yes, I'm planning on rebasing my tree-sitter series on top. > Sorry if I missed something. I assume everything is OK, but I want to > be sure before I start digging into the details of the patches =E2=80=93 > especially those first few more complicated ones. :) Thanks for taking a look! Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmGdWI4YHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31UeigH/27lKcqCARHJuK4pZ6W1nT9M Jn3dN6+VYNp2MZHlQ2OVQopytBCxMKuQoBnmakt9ifanZknzHWo1E5qOMuAJH16S mV8/rmZphJTafMuq2ZVhE5iibt4ICgnDwtGi5s0jsl0Ku75I6AFImcC88NpXmkWC PlesI3gG6IpSV5uMJ/Fk4ufCSzXA8V+zpTHmQo0fayplEVfLGYySdluLP3H3+LIV 4s+3L2zaIhl1jUNO1djieBOCXYHqXuBMEiDyNLqVGQqCRbW+CYb8odB0QfRPG544 pJSg04xhclJkhkfsbOX1+7UzsmWHB0kgHPJELEZnwzN0aCgh/YcXL8awHFUa/Jc= =9JOK -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 28 14:28:07 2021 Received: (at 51838) by debbugs.gnu.org; 28 Nov 2021 19:28:07 +0000 Received: from localhost ([127.0.0.1]:36373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrPqJ-0001sb-Jk for submit@debbugs.gnu.org; Sun, 28 Nov 2021 14:28:07 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:37179) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrPqG-0001rr-Gx for 51838@debbugs.gnu.org; Sun, 28 Nov 2021 14:28:05 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 0159B5C013E; Sun, 28 Nov 2021 14:27:58 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Sun, 28 Nov 2021 14:27:58 -0500 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=fm1; bh=gbMgWU/TQTRjWYFIWByj2K5buZGSp9UB9RihvXRJ5 9M=; b=S28OYgey13Wu80/dQXVyzfHD/fdrPmrYMKTph6Nwowjd88wq8cPjdnW10 XqUW8pP1OyGJ7+9H3lssC3GqpSLoYDFjdS29vLCquicYWKrM0S6nePALyjST6MXj NR8Gk4em0UaWCO+Pvm41Lq8n8sHRZZPcaaN8J3dCrlDPfUuaUy/6fYqeb6JBMmx8 diTb+mWgwt9EcDozCjsukHS6sQXrF2/qaEqjXnQvzumuMRggjTxlcImxh6SJIBe7 vVQEB6Kvtwo0do6Fa8rsjmeFvTbiQjUqDNOI6y+FWAwgVYsteW5r3Ch0T/p4QrVq p3DQd9rO4CS7NH1R2ZHWWYC+/sCGQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrheeigdduvdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepvfhimhho thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrf grthhtvghrnhepieduuefhgeegleelveehgedugfeuhfeikefftdevieelgfelhfdvtdfg ieehtefgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 28 Nov 2021 14:27:57 -0500 (EST) From: Timothy Sample To: Philip McGrath Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> Date: Sun, 28 Nov 2021 14:27:56 -0500 In-Reply-To: <20211120043406.952350-5-philip@philipmcgrath.com> (Philip McGrath's message of "Fri, 19 Nov 2021 23:33:45 -0500") Message-ID: <87tufwm66b.fsf_-_@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Philip, Philip McGrath writes: > - (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))= )) > + (define (resolve-dependencies meta-alist meta-key) > + (match (assoc-ref meta-alist meta-key) > + (#f > + '()) > + (('@ . orig-deps) > + (fold (match-lambda* > + (('@ acc) > + acc) > + (((key . value) acc) > + (if (member key absent-dependencies) > + acc > + (acons key (hash-ref index key value) acc)))) > '() > - (or (assoc-ref package-meta meta-key) '()))) > + orig-deps)))) There=E2=80=99s a lot of refactoring going here in addition to change at ha= nd. To me, it needlessly obscures the actual change (which is just the check for membership in 'absent-dependencies', AFAICS). > (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 "peerDependencie= s"))) > - (assoc-set! package-meta "devDependencies" > - (append > - '(@) > - (resolve-dependencies package-meta "devDependencies= "))) > + ;; It is unsafe to rely on 'assoc-set!' to update an > + ;; existing assosciation list variable: > + ;; see 'info "(guile)Adding or Setting Alist Entries"'. Good catch! > + (let* ((package-meta (read-json in)) > + (alist (match package-meta > + ((@ . alist) alist))) Why do we have to unwrap (and then re-wrap later on) the alist? It would be nice to explain that in the changelog. Maybe it=E2=80=99s just me= , but I can=E2=80=99t figure it out! :) Thanks! -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 28 14:35:26 2021 Received: (at 51838) by debbugs.gnu.org; 28 Nov 2021 19:35:26 +0000 Received: from localhost ([127.0.0.1]:36379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrPxO-00023z-E5 for submit@debbugs.gnu.org; Sun, 28 Nov 2021 14:35:26 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:34585) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrPxN-00023m-At for 51838@debbugs.gnu.org; Sun, 28 Nov 2021 14:35:25 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D12345C003B; Sun, 28 Nov 2021 14:35:19 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sun, 28 Nov 2021 14:35:19 -0500 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=fm1; bh=qBg2r6P6LM409FwY+KLvxrRWFYNRixQf8GIJX024n OQ=; b=KUff2xpcSp9lQsuk6ods83y3lJ2zDyNjTI9zpiww4rxGBW9d5/uqrxgUC bEmHtZkzVxdk3hAtDjtJVGDXIFiG84Bja5S5/E8c5BiP0vEbM0Cii6+vPbT8RDmJ M/HzPhDMxd2X/ca6DA10Zs8yHw9QYNiIucOaVkI5cSWUk+6heqhRaCIxf0SP57Fj zuK8ZpKiPKFAbHvpqbpVdhGFBZwj+BATxDz3KfnBre1rBTNxginjioPxZFKgn7DO 3sQVt6fEeITz8tCSeqyBsAnVDltmgJgJ9GXF7nnMIYFwQSRtLyYuRE9ejOXRJgcw 7pAeErWHqQTROdjYM4dLJaF6ST2dw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrheeigdduvdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepvfhimhho thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrf grthhtvghrnhepieduuefhgeegleelveehgedugfeuhfeikefftdevieelgfelhfdvtdfg ieehtefgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 28 Nov 2021 14:35:19 -0500 (EST) From: Timothy Sample To: Jelle Licht Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-10-philip@philipmcgrath.com> <86tug39lps.fsf@fsfe.org> Date: Sun, 28 Nov 2021 14:35:18 -0500 In-Reply-To: <86tug39lps.fsf@fsfe.org> (Jelle Licht's message of "Tue, 23 Nov 2021 12:04:47 +0100") Message-ID: <87pmqkm5u1.fsf_-_@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hello! Jelle Licht writes: > Philip McGrath writes: > >> Add a new phase `#:delete-package-lock` to remove the >> problematic "package-lock.json". > > package-lock.json lists exact versions _and integrity hashes_; since it > seems unlikely that after node-build-system's finaggling we end up with > an identical hash, we will always have a mismatch and fetch 'proper' > sources online accordingly. As far as npm + package-lock.json are > concerned, we don't have them properly installed. > > From what I have seen package-lock.json offers us no benefits (because > we track exact dependency information via the guix store) and can (as > you have seen) prevent builds from working. My 2c: always remove it in a > phase in the build system. I=E2=80=99m inclined to agree with Jelle and Liliana. I can=E2=80=99t imag= ine a situation in which we would want the lock files. We could be wrong, but we can always adjust the build system later if something surprising happens (e.g., =E2=80=98#:keep-lock-file?=E2=80=99 or whatever). -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 28 14:59:42 2021 Received: (at 51838) by debbugs.gnu.org; 28 Nov 2021 19:59:42 +0000 Received: from localhost ([127.0.0.1]:36395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrQKs-0002eW-9C for submit@debbugs.gnu.org; Sun, 28 Nov 2021 14:59:42 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:51773) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrQKq-0002eG-6R for 51838@debbugs.gnu.org; Sun, 28 Nov 2021 14:59:40 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id C00A25C00AE; Sun, 28 Nov 2021 14:59:34 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Sun, 28 Nov 2021 14:59:34 -0500 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=fm1; bh=0DIN/f9osEv9HSArYNlyI1uIeawvVxWOh0faRvpiG fU=; b=YQ+sh7adHCjtsfJDlp0H/IdN8anpPXzlYsxotGlRWZwhlfbiyF4homIIp A+/SHYbyaUs5lABr69KxCI4ihjbsxgIKYzR8r+HLnKpQuRFVVUb4O1nBrUN5szcK q2L2P+1mIaeMIy7PfZrQVYcxbYFkgdqaU3a5/jIgG/JRuZHmygwjp1ik6MiXcKVM AEYSwsz9hE/LXr7Za6+BESRpmQ3qf/LkOoFXydju3qECIsb8E9zt0euvDbbwZxmV CL3+7sBpfBGE8XJOKMiME6KU6uBvGtSIWc//YG1Sxv6yfPIdWcFS927BPycdxJQo fHrT09zLA/ljJwzZ3U0Bx0VWJs1VQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrheeigddufeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepvfhimhho thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrf grthhtvghrnhepvdelvefhheegudevjedvfedtveeileffveehveejgefgteetteejteel tdefueevnecuffhomhgrihhnpehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 28 Nov 2021 14:59:34 -0500 (EST) From: Timothy Sample To: Pierre Langlois Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <87tug6bnen.fsf@ngyro.com> <87czmqk29d.fsf@gmx.com> Date: Sun, 28 Nov 2021 14:59:33 -0500 In-Reply-To: <87czmqk29d.fsf@gmx.com> (Pierre Langlois's message of "Tue, 23 Nov 2021 20:54:26 +0000") Message-ID: <87ilwcm4pm.fsf_-_@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hello, Pierre Langlois writes: > Hi Timothy, > > Timothy Sample writes: > >> More importantly, is the general plan that we merge these changes, >> and then Pierre rebases their Tree-sitter changes on top these? >> >> Pierre, maybe you could weigh in here? > > The overall approach looks good to me, it's better than what I > originally proposed for sure :-). That being said, I'm not very > familiar with the Node.js ecosystem so I don't know if it's necessarily > the right way, but I suspect the correct way for node isn't very Guix-y > so I'm not too worried about that. The whole Node.js bundles NPM, which bundles node-gyp, which bundles a fork of GYP [1] is not very Guix-y at all, no. :/ This is one of those problems (like bootstrapping GCC) that will take years of incremental improvements and side projects and all that. [1] Not to get too off topic, but isn=E2=80=99t =E2=80=9Cgyp=E2=80=9D a slu= r? How did Google ever call something that? > It's on my TODO list to take another look at the patches as well :-), > then yes, I'm planning on rebasing my tree-sitter series on top. Excellent! >> Sorry if I missed something. I assume everything is OK, but I want to >> be sure before I start digging into the details of the patches =E2=80=93 >> especially those first few more complicated ones. :) > > Thanks for taking a look! I have an idea to simplify the patch series a bit: if we can answer my question here and come to a conclusion about deleting lock files , I could merge the =E2=80=98#:absent-dependencies=E2=80=99 part of the patch series. I think = this might make future re-rolls easier and help rein in the scope a bit. Thoughts? Philip? Thanks! -- Tim From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 16:18:13 2021 Received: (at 51838) by debbugs.gnu.org; 2 Dec 2021 21:18:13 +0000 Received: from localhost ([127.0.0.1]:49459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mstT3-00047U-5H for submit@debbugs.gnu.org; Thu, 02 Dec 2021 16:18:13 -0500 Received: from mail-qv1-f51.google.com ([209.85.219.51]:41925) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mstSy-000479-5u for 51838@debbugs.gnu.org; Thu, 02 Dec 2021 16:18:11 -0500 Received: by mail-qv1-f51.google.com with SMTP id m17so799582qvx.8 for <51838@debbugs.gnu.org>; Thu, 02 Dec 2021 13:18:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=ZCvym2FkD/kbTY+dCBJ8PFsE5pcXkg050AwuiraxPu4=; b=LqEDwf6HRwQVysjAd7saRPKhoOtYCKjcGCziIVnpqIt2VjxIAylyLWtvyvP+wH/5D9 mDH8138LU/cVH9McPiGUM8SZrkBIJfBZdqC0haOQyBYNHyWPXTgCgO/rXr0uArrskDoX PHWPLcdubt7fqus7mmhweHGQLeV/SVAc5YApaGXgWCHBjxhBQPwG8MjsRvdZRJfwDne1 2IXRT4ZTQTcjbWsErsSU797tfufmYXnWHXQ6VikRXIWUZDz4K7020WHqJERNqt9mXbbP /48as3U2DzXyiZneU+QIO1/ctDxBycPWTZeio19KHGbziDJK2dIWJpXTIeGT/Sdn2UCC qoYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=ZCvym2FkD/kbTY+dCBJ8PFsE5pcXkg050AwuiraxPu4=; b=zE7ozGbDjP8tGow8MWT1LZ0s/qTS0D52unMkQilOyOAjSDPxxkFOaTbArhpQFykbS2 qtrll2+xC7xpmNr6xuGpqiSP9Ioouks1/3OW5idLjM/y7+6MicKRj82k4W+3c8cxJsxd Rb+zIEyXgIrFm47LBy8kkoA1t6diVijOBJMKtrOkhZg8H2jYzHP3y5fQPPdDnYoZqA95 50df6XZ4NQrxb/TwQsPc4wEuaS8+srYZ9K7RQ3zCiQh2S0KNjE6kGJpRmYpSh75vONFc 466k30Nk9wBzvqAuAxEBADPg+uaOzNEhpwF+/IIDycjCCYAjHQIJKufJA8Wg4i+l8qBY wwBg== X-Gm-Message-State: AOAM5317p7RouWHvLAJtiPYarW0yOG1VZGsvp4Sb5dCvYKTqr+aguylc DI3Mp5Hh6CHn20oeX1zVUn7lgA== X-Google-Smtp-Source: ABdhPJw3hCLnBzjB05zT9LARhSuTQlLH/3742/Dds7KoJ3Wsv7On5rG7KrCNc5IXerqo06lkIxixUg== X-Received: by 2002:a0c:f8cc:: with SMTP id h12mr15856634qvo.122.1638479882615; Thu, 02 Dec 2021 13:18:02 -0800 (PST) Received: from [192.168.45.36] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g19sm762345qtg.82.2021.12.02.13.18.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 13:18:02 -0800 (PST) Message-ID: Date: Thu, 2 Dec 2021 16:18:01 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Timothy Sample , Jelle Licht References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-10-philip@philipmcgrath.com> <86tug39lps.fsf@fsfe.org> <87pmqkm5u1.fsf_-_@ngyro.com> From: Philip McGrath In-Reply-To: <87pmqkm5u1.fsf_-_@ngyro.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) On 11/28/21 14:35, Timothy Sample wrote: > Jelle Licht writes: >> From what I have seen package-lock.json offers us no benefits (because >> we track exact dependency information via the guix store) and can (as >> you have seen) prevent builds from working. My 2c: always remove it in a >> phase in the build system. > > I’m inclined to agree with Jelle and Liliana. I can’t imagine a > situation in which we would want the lock files. We could be wrong, but > we can always adjust the build system later if something surprising > happens (e.g., ‘#:keep-lock-file?’ or whatever). This makes sense to me. Should we also delete "yarn.lock" (respected as of npm v7)[1] and "npm-shrinkwrap.json"[2]? It seems like the same reasons probably apply. We might want to handle "node_modules/.package-lock.json"[3], too, but that seems less likely to exist. -Philip [1]: https://blog.npmjs.org/post/621733939456933888/npm-v7-series-why-keep-package-lockjson.html [2]: https://docs.npmjs.com/cli/v8/configuring-npm/package-lock-json#package-lockjson-vs-npm-shrinkwrapjson [3]: https://docs.npmjs.com/cli/v8/configuring-npm/package-lock-json#package-lockjson-vs-npm-shrinkwrapjson From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 16:51:11 2021 Received: (at 51838) by debbugs.gnu.org; 2 Dec 2021 21:51:11 +0000 Received: from localhost ([127.0.0.1]:49486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mstyw-0007B9-PM for submit@debbugs.gnu.org; Thu, 02 Dec 2021 16:51:11 -0500 Received: from mail-vk1-f182.google.com ([209.85.221.182]:44969) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mstyq-0007AT-S3 for 51838@debbugs.gnu.org; Thu, 02 Dec 2021 16:51:09 -0500 Received: by mail-vk1-f182.google.com with SMTP id u68so526970vke.11 for <51838@debbugs.gnu.org>; Thu, 02 Dec 2021 13:51:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=40zKOFAJXpC22fTOQwznN3MMLG1e+IqwiWd6R1GBiWM=; b=UddifdzLyv/yxjgxXLq0rqNGXrnWbUuB06rQLLKWP7+PKO2ldHURhSbkteGzrWcZwQ Jv4+jY/O8+AIVRkVpwcLsH/69ZC6lU9NNoZ6CLGLY+nR3+3d3h3O3c24wf294SX8qATK 3920SggOhhSLTUdsNWG5sSc57fxfXxy3Lp2CBOMJdlCRz8nU9Bdi9VxDwdr/Cv0zpvjJ Q+waBRGMXLg9fu6/l8xFIoCOZDoyQUKfslap/lKl+koOiJcK+Mp2QFZeeWVsMwxH+uhc Kwe20fJtzaS8Y7LKkXctd0SVypJnkMyXrYsLRhHUwTajnMpVnGHQZfOeulsMM74MhWuc fmfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=40zKOFAJXpC22fTOQwznN3MMLG1e+IqwiWd6R1GBiWM=; b=neiEu7TQivvyVpnezqhPGOHo1zIboIGGAZVq7hXYxYtfcXCn96hDk5xzXrL0vFPK2j AGuQB4X5m6vk6S/B0mNqWXqkgEDWSbRAVfzN8dr2tOz2hbF9Av1gqBhEUGZ9jgwPPhVI QnNCoyU+MLbgMZfRBHAcwj427C2rGXTcAeMXctjWFR8IsygW4ft+moewGKOf5tLnny6X JfH02/lez2jUrYd2Owpv83iEIO17pRj9BWS0vY15eVjmk8j0NjWAdQmQCZo53loj4tqw xe+bN2y45VmAtU1lPePJ2Uo0X1M3LfAESnN2KQfEhsaOYzp3faa6ChO4/QmWM3P2Oe9G S9qw== X-Gm-Message-State: AOAM533Jyfyut0xbqKJnx/oA81PZk0KByvCcXrlsnFEbJziKxF/MR1mj mdaJ+WEbLhzRy2DxFiYQi+IKrQ== X-Google-Smtp-Source: ABdhPJy9fbv/3UN+JSiTytBI82fo1BUPmZtSLE/dqQyO8hQUmuQ3ZhKbUxK/FhDfLOORS83OP/L/CA== X-Received: by 2002:a05:6122:64b:: with SMTP id h11mr18502820vkp.16.1638481859218; Thu, 02 Dec 2021 13:50:59 -0800 (PST) Received: from [192.168.45.36] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t189sm211358vsb.13.2021.12.02.13.50.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 13:50:59 -0800 (PST) Message-ID: Date: Thu, 2 Dec 2021 16:50:58 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Timothy Sample References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> <87tufwm66b.fsf_-_@ngyro.com> From: Philip McGrath In-Reply-To: <87tufwm66b.fsf_-_@ngyro.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi! On 11/28/21 14:27, Timothy Sample wrote: > Philip McGrath writes: > >> - (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)))) >> + (define (resolve-dependencies meta-alist meta-key) >> + (match (assoc-ref meta-alist meta-key) >> + (#f >> + '()) >> + (('@ . orig-deps) >> + (fold (match-lambda* >> + (('@ acc) >> + acc) >> + (((key . value) acc) >> + (if (member key absent-dependencies) >> + acc >> + (acons key (hash-ref index key value) acc)))) >> '() >> - (or (assoc-ref package-meta meta-key) '()))) >> + orig-deps)))) > > There’s a lot of refactoring going here in addition to change at hand. > To me, it needlessly obscures the actual change (which is just the check > for membership in 'absent-dependencies', AFAICS). I could split it into two commits, if that would be more clear. But see below. >> (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"))) >> + ;; It is unsafe to rely on 'assoc-set!' to update an >> + ;; existing assosciation list variable: >> + ;; see 'info "(guile)Adding or Setting Alist Entries"'. > > Good catch! > >> + (let* ((package-meta (read-json in)) >> + (alist (match package-meta >> + ((@ . alist) alist))) > > Why do we have to unwrap (and then re-wrap later on) the alist? It > would be nice to explain that in the changelog. Maybe it’s just me, but > I can’t figure it out! :) The (guix build json) module represents a JSON object as a Scheme pair with the symbol @ in the car and an alist in the cdr. I'd guess this is because, if JSON objects were represented as Scheme alists, it would be impossible to distinguish the empty JSON object from the empty JSON array. (Racket's json library instead represents JSON objects with immutable hash tables, a disjoint type.) I found it confusing that: 1. this format does not seem to be documented; 2. `resolve-dependencies` has the same shape as `assoc-ref`, but returns an unwrapped alist where `assoc-ref` would return a wrapped pair with @; and 3. prior to this patch, the implementation of `resolve-dependencies` was written as though the symbol @ could appear at arbitrary positions in the list, which made it less than obvious that it would actually occur exactly once, at the head. I tried to address the last point when refactoring, but I see that the patch I sent made matters extra confusing by leaving in dead code from the old approach (maybe due to a rebase conflict I vaguely remember?). I should fix that, and probably also explain some of this in comments. -Philip From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 16:52:56 2021 Received: (at 51838) by debbugs.gnu.org; 2 Dec 2021 21:52:56 +0000 Received: from localhost ([127.0.0.1]:49490 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msu0e-0007Dd-AU for submit@debbugs.gnu.org; Thu, 02 Dec 2021 16:52:56 -0500 Received: from mail-vk1-f176.google.com ([209.85.221.176]:33570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msu0c-0007DP-It for 51838@debbugs.gnu.org; Thu, 02 Dec 2021 16:52:54 -0500 Received: by mail-vk1-f176.google.com with SMTP id h1so591341vkh.0 for <51838@debbugs.gnu.org>; Thu, 02 Dec 2021 13:52:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=iN61T85hpiLC0+pieydAtpAMpRsYOL8CitCaJb3UZSs=; b=fHxhhYf1ujMXpOWIgXQ3QueiNgGMABeUyd0rBcxUu9eFawjMJHZkmLNYTPGCHy9lU5 bLWvXW6BC6jCviePRzdKIsvU8qBKDI0doH5top4dT4DFIP1860vJvRe2R4uLQ6j0FMf5 3m6wC4pyHl+easaZrSrfTqMke/ArPM/5L1J4nzdT/jkUEUubyjArV729I3+mr/QJ/iul degBfnZQt8StkoIO2RJUdmo6ngaH4T0K3XSuMdZcT8ttlICDnc5JAleBgyxatx4Z1c9Q eIEQs9wqDyMFf+Pz0dgeH4COq4kbPgKM9+Zs+eumQ2rlMfDCctMyFxCpePQgiwk5lCOz jjwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=iN61T85hpiLC0+pieydAtpAMpRsYOL8CitCaJb3UZSs=; b=k9yuQT+ffVBod4Hs9Fs+mAEHUCry9XKCNuripTkVODZlGb+NHgzKct1Y4g76gadQRJ D/86ycwekhNPQV7FWJ+zAutWmhzmuCYi/RkpkgKGoMl3bd8mrzSpY5ttF+RIRnTv6bkb D6EnUz47BvCYynrV24R/M1Lgk3bofftZbg3Na1XncNLIx5CP8ND+82vFPW2JHD0lJJGg 7n+uJ76/hcy1QojVlYqp+Th29OW1WoPqoHFFRjZMLnkihgT3AVnDjcw0vz69t3QXRNnY 74RmTr3E0KQvR25oitlzRxBMm2vXdmK84GAe0j1lF6IPixfG0bfnMwzWPv933GFLQVY0 rmQQ== X-Gm-Message-State: AOAM533c3eIcBUyJZgtP5POVFPNqVZ6SE0PXaqfVXaYb69LoH06CZ7m3 ukWO9ypAZodNJO2xNfDOZwColQ== X-Google-Smtp-Source: ABdhPJyUCw+aulJx/xnVjFoAmFAKK1ruY/L9VZjJEyhNqzTTLfLs2u6pAZ8rEStQfBHrB8/73z+2mQ== X-Received: by 2002:a05:6122:732:: with SMTP id 50mr13855938vki.28.1638481969094; Thu, 02 Dec 2021 13:52:49 -0800 (PST) Received: from [192.168.45.36] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u20sm198794vke.0.2021.12.02.13.52.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 13:52:48 -0800 (PST) Message-ID: <36cd2d26-f279-0bd9-b160-f03f0cce0f55@philipmcgrath.com> Date: Thu, 2 Dec 2021 16:52:48 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Timothy Sample References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-18-philip@philipmcgrath.com> <15a8348b0c5b080d590f68cc14bca99afd5d7834.camel@gmail.com> <87ilwmbne7.fsf@ngyro.com> From: Philip McGrath In-Reply-To: <87ilwmbne7.fsf@ngyro.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) On 11/20/21 14:55, Timothy Sample wrote: > My assumption is that most packages would ignore the libuv headers, and > they wouldn’t retain a reference to it (except via Node.js itself). > Hence, I don’t think it would make any difference either to grafting or > closure size to just always add it. That makes sense to me. -Philip From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 17:02:28 2021 Received: (at 51838) by debbugs.gnu.org; 2 Dec 2021 22:02:28 +0000 Received: from localhost ([127.0.0.1]:49499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msu9s-0007TJ-Et for submit@debbugs.gnu.org; Thu, 02 Dec 2021 17:02:28 -0500 Received: from mail-ua1-f43.google.com ([209.85.222.43]:38907) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msu9o-0007T2-Ci for 51838@debbugs.gnu.org; Thu, 02 Dec 2021 17:02:27 -0500 Received: by mail-ua1-f43.google.com with SMTP id w23so1832489uao.5 for <51838@debbugs.gnu.org>; Thu, 02 Dec 2021 14:02:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=3ghnhVVg5hchPUILyD6kF2bhce9DBxRISQHCFlt4wEE=; b=BF20jCRMMKlhjM0kPZn3WFjwSBb6tRKaDsA4sjg0vPI25ijx0hax5Stja+5tz3Zggi 98lLd8yI4ThSZhCEjt1jMbvoawm62Yy8yETG3GGXt6FRkLhf8UN7BitqqoHakX38noNE dV5QBcoAdlzsq9D7STHFspSf+MjH506OFjjNLZsr9dd+6M58dx9wNG+2O6fOPicRjEm2 LNPi8uHj+uoW3JO8A8y5gaHLqulzsiPiWPk49pOObgwWzAmCQYSwmGi/0R1ypN2ZYrUv QMaOLY1V8lQGAGl2TSKtCc4tkY0Atwx5YK9SEVw38INGuROktT85fWBTsFx2Ibwb2ylK 3yTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=3ghnhVVg5hchPUILyD6kF2bhce9DBxRISQHCFlt4wEE=; b=02IsT93cf6+huFcDP+IlCc0Z/qcTXnlARzeTeZ4zYxKf25Q6EPP9NkHuTxpNUJeIF9 cgWHbKL+6e9RQpbtGVX4RmsWGLh/zse952FbNY8gC9kjPpqB52Fh1mXaSLC7VTYpzaVa WB0jKNGfgcYZwK51+WYDWr5hQ00nmQJjWorM9JtfOm1UiVjd0/wnvf+XiB7VUcRbry28 Y7NbjVRdOYNCOYQJvy7ibEmNCPn6uZ023cgT2J4pt9IF6wvNCspC//8HViiKO36hSD3B 7Jd/VdYNDb6D2MjuncOfzGUB1VARkqXsYXvaBcdef/+GAfNStvyADDk4inEVaHrl1Lre syiw== X-Gm-Message-State: AOAM530joV6zfPyKVKkn3bZ7Mv6Xfo+fXSh4y8gNcrVXV2gJ9idXLUDd NXWGvk9+jeHR174/NboTl7NPLQ== X-Google-Smtp-Source: ABdhPJxJkGpOwG2dJ6NfZRCc4NJMR6vcM4g8+xLEOtlGd3oUm78JWzBGYJOPl5srbmPc1m8AKCQaSA== X-Received: by 2002:a05:6102:2910:: with SMTP id cz16mr18191876vsb.9.1638482538616; Thu, 02 Dec 2021 14:02:18 -0800 (PST) Received: from [192.168.45.36] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bj50sm198098vkb.7.2021.12.02.14.02.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 14:02:18 -0800 (PST) Message-ID: Date: Thu, 2 Dec 2021 17:02:17 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Timothy Sample References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-5-philip@philipmcgrath.com> <8c07272b588fc059f3c445fe1f33c63cce8f31f1.camel@gmail.com> <37768a63-5a4a-b604-2542-e8890fd68a16@philipmcgrath.com> <87o86ebnee.fsf@ngyro.com> From: Philip McGrath In-Reply-To: <87o86ebnee.fsf@ngyro.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 11/20/21 15:04, Timothy Sample wrote: > Hello, > > Philip McGrath writes: > >> On 11/20/21 02:41, Liliana Marie Prikler wrote: >> >>> In the resolve-dependencies subprocedure, we could check whether we >>> have a matching input somewhere and only include the dependency if we >>> do. WDYT? >> >> [...] >> >> The other issue is that deleting packages with no matching input by >> default would replicate some of the drawbacks of the current `(delete >> 'configure)` approach. I think it's better to have an explicit list of >> dependencies that Guix is deleting. If eventually we package all of >> the missing dependencies for Guix, it would be much easier to find the >> packages that ought to use it. And, in the highly dynamic JavaScript >> world, I'm reluctant to give up one of the few static checks we >> have. If a missing package that really was required were automatically >> deleted from "package.json", it seems the failure mode would by a >> mysterious runtime error, potentially many steps down a dependency >> chain. > > This is well put. I actually experimented with a similar approach when > we updated the Node.js build system. This is a big improvement over > deleting the configure phase, which would never scale to more than a > handful of packages. Having a build-time check that ensures all the > developer-declared dependencies are available (save the “absent” ones) > will be very helpful when we are maintaining hundreds of JavaScript > packages. :) It's probably also worth noting that many (most?) of our Node.js packages currently don't run tests: an unfortunate number don't have any tests, and then there's the issue that we haven't packaged JavaScript test frameworks for Guix yet. > For the patch itself, it would be better to move a lot of your commit > message into a comment somewhere in the build system code. If we had a > section in the manual for Node packages, it would go there, but alas.... > I think most people would be happy to see a comment in the build system > code and be saved from having to poke around with ‘git blame’. Yes, I'll add comments. -Philip From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 17:22:34 2021 Received: (at 51838) by debbugs.gnu.org; 2 Dec 2021 22:22:34 +0000 Received: from localhost ([127.0.0.1]:49524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msuTK-0007xr-Es for submit@debbugs.gnu.org; Thu, 02 Dec 2021 17:22:34 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:36516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msuTI-0007xd-Hf for 51838@debbugs.gnu.org; Thu, 02 Dec 2021 17:22:33 -0500 Received: by mail-ua1-f47.google.com with SMTP id r15so1930775uao.3 for <51838@debbugs.gnu.org>; Thu, 02 Dec 2021 14:22:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=PVvQKjqDS+MQ2V93BSQpcZFJn9S9LckyMoMVUmt8PSI=; b=M/eJI1HSABi8bp/VvkgNIqEAvUNEtO5n9cYL4zyJ0XeSbfOb8W/7UF1ssS7aHDRKaG iIHiyCej9fochxD5AeTFZNXc1m66kjMr9AAObr8wg/3sTJeCXjm3ywfh/NFC2fgsqw90 +3bosB0XtMCsuvbmY1Un00HwI3BQ1PuHR697ahVqy/X2e0Xy4OLH4qX3vC0k1c4qisoZ 8hpQisD6dR1tr/faUkGzYRlYxIKGU7KqG91aMxQcfl0Pl3Mv/+liIv7i2fovBGG4zPog XPeJku24wUVSGg5tqWgwxecMDIYIZWZln6xrRFYDCIk589MW0s+lD0ntNc6BHoI2v+HC f+Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=PVvQKjqDS+MQ2V93BSQpcZFJn9S9LckyMoMVUmt8PSI=; b=WEL5UAf6AIdfikoRoicIA+1/v4YkjQreT6D4MM4t2b226z7nu4do6d528VgAltXjKY /BSSf2ITQouGZ1eex89Q4w/CP2nya57K/O+Y0JsKPssoF3WRU4bCoLunHHIyAPT1gu7V QOqZcpNTEF0AVxC/Np1SwNI5IMANmT5AYAao7SU1t5CumgzniYFaMINShJpx/DKRXV0b 0y0b/ENkCcMlLu4+yfq08ctmChrGipDBDlGmlwbepB4b7nDKdnqwp7vls8DlEyxqjwXY 68ygB95aBOG4GlgA/hzoMaS2X9GviDp9H4X1xQlrcoVUypvaDXv0pOvGvIs/isNT0pe3 hUKA== X-Gm-Message-State: AOAM53162hsHs0eIOC+aJS+cYhbqsinJy0rUu3M4IfrYM+kAFKGRboAE 94rgwxFJGjzkGgkNwr1kpesKkQ== X-Google-Smtp-Source: ABdhPJwjZ0dI+W1WcZZImgwAOzqjqSZ4DWflXuWdwEqQYM1uQCxUZJ0TqtVKDnQh2m+yKjtc1fLqRg== X-Received: by 2002:a67:d31c:: with SMTP id a28mr18372089vsj.20.1638483747047; Thu, 02 Dec 2021 14:22:27 -0800 (PST) Received: from [192.168.45.36] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id q26sm221824vsp.23.2021.12.02.14.22.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Dec 2021 14:22:26 -0800 (PST) Message-ID: <4b99d8f5-73af-b1bd-bcc8-be77d87f229b@philipmcgrath.com> Date: Thu, 2 Dec 2021 17:22:26 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Timothy Sample , Pierre Langlois References: <20211114125830.45427-1-philip@philipmcgrath.com> <20211114130409.49241-1-philip@philipmcgrath.com> <20211114130409.49241-2-philip@philipmcgrath.com> <48018e12484d19466d9c6f253a8d7ebeae93e947.camel@gmail.com> <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <87tug6bnen.fsf@ngyro.com> <87czmqk29d.fsf@gmx.com> <87ilwcm4pm.fsf_-_@ngyro.com> From: Philip McGrath In-Reply-To: <87ilwcm4pm.fsf_-_@ngyro.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 11/28/21 14:59, Timothy Sample wrote: > Pierre Langlois writes: >> The overall approach looks good to me, it's better than what I >> originally proposed for sure :-). That being said, I'm not very >> familiar with the Node.js ecosystem so I don't know if it's necessarily >> the right way, but I suspect the correct way for node isn't very Guix-y >> so I'm not too worried about that. > > The whole Node.js bundles NPM, which bundles node-gyp, which bundles a > fork of GYP [1] is not very Guix-y at all, no. :/ This is one of those > problems (like bootstrapping GCC) that will take years of incremental > improvements and side projects and all that. It's something of a tangent, but, as I discussed briefly with Pierre in e.g. , I think it would make a lot of sense, even if we can't unbundle/bootstrap everything, to make the 355 dependencies of npm we are already distributing available as Guix packages. For example, I think I found a bootstrapping cycle with the Unicode data packages: even if the version we're currently using is messy, letting other packages use it, too, might unlock much more of the JavaScript universe. I've experimented a bit (partially looking at what Debian does), and I may look at that some time after this. > I have an idea to simplify the patch series a bit: if we can answer my > question here and come to a > conclusion about deleting lock files > , I could merge the > ‘#:absent-dependencies’ part of the patch series. I think this might > make future re-rolls easier and help rein in the scope a bit. That sounds like a great approach! I had not expected this patch series to end up touching every JavaScript package in Guix :) I was offline a bit for holidays here, and just before that I'd noticed a problem with npm generating implicit build commands that tried to rebuild node-gyp packages when they are installed. I'll page this stuff back in and send a v3 soon that hopefully has at least the '#:absent-dependencies' part ready to merge. -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 03 00:18:10 2021 Received: (at 51838) by debbugs.gnu.org; 3 Dec 2021 05:18:10 +0000 Received: from localhost ([127.0.0.1]:49873 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mt0xW-00084M-Kf for submit@debbugs.gnu.org; Fri, 03 Dec 2021 00:18:10 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mt0xS-00083u-Lv for 51838@debbugs.gnu.org; Fri, 03 Dec 2021 00:18:09 -0500 Received: by mail-wr1-f66.google.com with SMTP id a18so3238281wrn.6 for <51838@debbugs.gnu.org>; Thu, 02 Dec 2021 21:18:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=Y/vafsL0PP1pyk5iYm63COizwR86OHsipL8JvhhL0DM=; b=V6uPlkNGNn5BxIKPdYzssyzXWj7TaQiHF90YuTYIVgVzC0fQnskDBmryhWq3wwdSy3 Rtb2/QCS+0ZtfY1igNV/FinMN3DSXJRmZRYCyHLhO10818pfGg0bKSMxOrTpA56phSZ1 FccuPRvmxjLuDvQjjvhLCBja4OLR34SoXbIiWCLWPK2atcR3mN1jJftw5AiQB8HoNqEo iDetreP4YSeQWL60AnE10PTM3U2eN6ktjw/oOBnK6GnADPcwK1C0hE9Px+6Gr7DNFlDl uFXXOuu/IoDLLscG4mCvA0LstmvmJlP83CZP7qrj/whN0OyTpAQ0VnYNuY7mUtuEgdsB SmNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=Y/vafsL0PP1pyk5iYm63COizwR86OHsipL8JvhhL0DM=; b=Q/8B0EhGspGDu9nwmAVvhGVJiUTYwCCOldbEQYEgWMhysAyKknSlXRESG2Q6wBmX29 KvHyMY4Se44sp8lAKIZ3sJoiTwUxbI6JRze0L+RNhlG87M5U5RNJDw5n2vR2txHqbhCa SIbOZrGZHlnTozQY7iw96cZiHsSXBhMYjXOu3Lf3CKo7AdteiVWZtzh4A+2Me8tnAY6j i9eFr2FivgPOYM8TFfjI6o50ueLxAVut2dggreqxrMPnBvLlnKpP8MepZH30K0Dk/+KO JJGr22DoZSJN94qqyXjr7osre1gXB3GdQVtVdQ4OrmDq+9Pvr+11zhLz6QhpyeW0821p EVng== X-Gm-Message-State: AOAM531f2VHKDeUMqZxbA3jZMoQcGIb1thgMpIauymhtABEVc62co4/R imzs1VC0sx9qKrNjQPpRcE8= X-Google-Smtp-Source: ABdhPJxE/6n4BZm2DSKDzlTZ7T4Pa/DY1U+IW0lkwylMyTKou0YP+4SQgNAkxTFZ1u60JfUlzZg3UA== X-Received: by 2002:a5d:4704:: with SMTP id y4mr19074798wrq.85.1638508680617; Thu, 02 Dec 2021 21:18:00 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id v6sm4030270wmh.8.2021.12.02.21.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Dec 2021 21:18:00 -0800 (PST) Message-ID: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> Subject: Re: bug#51838: [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample , Jelle Licht Date: Fri, 03 Dec 2021 06:17:58 +0100 In-Reply-To: References: <5a04aa92-e80d-e11b-235c-b7f5e3a92d00@philipmcgrath.com> <20211120043406.952350-1-philip@philipmcgrath.com> <20211120043406.952350-10-philip@philipmcgrath.com> <86tug39lps.fsf@fsfe.org> <87pmqkm5u1.fsf_-_@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, Am Donnerstag, den 02.12.2021, 16:18 -0500 schrieb Philip McGrath: > On 11/28/21 14:35, Timothy Sample wrote: > > Jelle Licht writes: > > > From what I have seen package-lock.json offers us no benef [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.3 RCVD_IN_VALIDITY_RPBL RBL: Relay in Validity RPBL, https://senderscore.org/blocklistlookup/ [209.85.221.66 listed in bl.score.senderscore.com] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Hi, Am Donnerstag, den 02.12.2021, 16:18 -0500 schrieb Philip McGrath: > On 11/28/21 14:35, Timothy Sample wrote: > > Jelle Licht writes: > > > From what I have seen package-lock.json offers us no benefits > > > (because we track exact dependency information via the guix > > > store) and can (as you have seen) prevent builds from working. My > > > 2c: always remove it in a phase in the build system. > > > > I’m inclined to agree with Jelle and Liliana. I can’t imagine a > > situation in which we would want the lock files. We could be > > wrong, but we can always adjust the build system later if something > > surprising happens (e.g., ‘#:keep-lock-file?’ or whatever). > > This makes sense to me. Should we also delete "yarn.lock" (respected > as of npm v7)[1] and "npm-shrinkwrap.json"[2]? It seems like the > same reasons probably apply. If it breaks builds, then yes. > We might want to handle "node_modules/.package-lock.json"[3], too, > but that seems less likely to exist. What are node_modules in this context? To me that sounds like "vendored packages" and if so, they ought to (ideally) be deleted in a snippet way before unpack. Meaning you wouldn't have to handle that case in configure. Cheers From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:28:50 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:28:50 +0000 Received: from localhost ([127.0.0.1]:41531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YX-0005nE-JF for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:50 -0500 Received: from mail-vk1-f179.google.com ([209.85.221.179]:42630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YU-0005mp-E8 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:48 -0500 Received: by mail-vk1-f179.google.com with SMTP id s1so2354682vks.9 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KH4RQSW2Vl/+hSZ71LTsM4xePvjwFAevZ9cxlfrinCQ=; b=JscCN3sEM/eNw5Es+e2WaisMG8DVr4sztCMj8CQqfwaZlbY3qw+qz9/s8pTDbwDSTF aXdAqL5Zklc+g6rCS8aa17Qrp66OmNpswSEUyisW2vtX1ggAOIb7UnxuF10M93OVGE6K mDyOSHcOPoteBUPxKBn0Lf3nkzJ5TkOiboxHhfzopV7nuqoMAbVBJdcXs6GhUdtRC1Lo TwvrO0OSR2A9AhqQyjwMWAfA7NfoWJgFyIRI032yS3EcFhk9elOe2RbBneej0ntKJzzD oJw2vCMHzUcRGu4+T2S3NL2h9S17tQJqLnu2lrE8ObipzUCAYqVsD9PgChfon77y6An5 oO9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KH4RQSW2Vl/+hSZ71LTsM4xePvjwFAevZ9cxlfrinCQ=; b=U0jKWdk1B195/a3syqkXdiSYcq/JwkIqQfQqDg6YbScte5YatNsvUDeaHrYNkuqarz /ISwuoueWbEAWksMC0dYgneGcLNPKRT8/40nPYuVFacFcOO9DiXWHWnTppCXN8s6rLC8 s7pN86UNSroMOy626BLjMGwt9XIwiqe0oPGnGShbfYhm2uT4MAWElQLxOIldJGsJatxu LPlKTHlFZ4+FuYf16jF9gp8PD/F3bEpWsFvugR/EvuUa6jjfeTf70h+BcjqJKGZ4yGkZ MdUMZA3xr+2XM5QbMwmH+IDbw/ooPqhKdqsvl9HIPBd/phDwF3HgfEOqWJd+8kpLQ7Nq FZGA== X-Gm-Message-State: AOAM533wF5DjqxAaeokorPxJB/88jj2mRQJJreYl9fAqpR/dxuWxbfFQ 4aemdfTCjcogUnKX6ZUrehYsaycm3iTBK1pk9oM= X-Google-Smtp-Source: ABdhPJz2oSEXYCxOhM/StskfGj4eFLmSZUgqDZTKltmdPWE7Mhuy6F7b/OYC1oSojp1pCHHtoctJ3A== X-Received: by 2002:a05:6122:920:: with SMTP id j32mr1281166vka.20.1638995320742; Wed, 08 Dec 2021 12:28:40 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w17sm2525134uar.18.2021.12.08.12.28.40 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:40 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 01/43] gnu: node: Avoid duplicating build phases. Date: Wed, 8 Dec 2021 15:27:56 -0500 Message-Id: <20211208202838.752542-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Split 'patch-files phase into 'patch-hardcoded-program-references and 'delete-problematic-tests. Adapt 'patch-hardcoded-program-references and 'configure to work unmodified on node-lts, but don't try to share 'delete-problematic-tests, because those details seem to change too much between node versions. (node, node-lts)[inputs]: Use bash-minimal rather than bash. (node-lts)[arguments]: Inherit 'patch-hardcoded-program-references, and 'configure phases from the bootstrap node. Remove the 'patch-files phase, keeping its remaining non-inherited work in a new 'replace-llhttp-sources phase. --- gnu/packages/node.scm | 105 +++++++++++++----------------------------- 1 file changed, 32 insertions(+), 73 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index dccf871d2c..7ebbbc3060 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020, 2021 Pierre Langlois ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,14 +106,22 @@ (define-public node #:test-target "test-ci-js" #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-files + (add-before 'configure 'patch-hardcoded-program-references (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-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") + (substitute* + (let ((common + '("lib/child_process.js" + "lib/internal/v8_prof_polyfill.js" + "test/parallel/test-child-process-spawnsync-shell.js" + "test/parallel/test-stdio-closed.js" + "test/sequential/test-child-process-emfile.js")) + ;; not in bootstap node: + (sigxfsz "test/parallel/test-fs-write-sigxfsz.js")) + (if (file-exists? sigxfsz) + (cons sigxfsz common) + common)) (("'/bin/sh'") (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) @@ -122,7 +131,10 @@ (define-public node "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) + "/bin/env'"))))) + (add-after 'patch-hardcoded-program-references + 'delete-problematic-tests + (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -217,9 +229,13 @@ (define-public node (setenv "CXX" ,(cxx-for-target)) (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python") + (let ((python + (string-append (assoc-ref (or native-inputs inputs) + "python") + "/bin/python"))) + (if (file-exists? python) + python + (string-append python "3"))) "configure" flags)))) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) @@ -256,7 +272,7 @@ (define-public node (variable "NODE_PATH") (files '("lib/node_modules"))))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares) ("http-parser" ,http-parser) @@ -712,66 +728,8 @@ (define-public node-lts libuv "/lib:" zlib "/lib" "'],")))))) - (replace 'configure - ;; Node's configure script is actually a python script, so we can't - ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) native-inputs inputs - #:allow-other-keys) - (let* ((prefix (assoc-ref outputs "out")) - (xflags ,(if (%current-target-system) - `'("--cross-compiling" - ,(string-append - "--dest-cpu=" - (match (%current-target-system) - ((? (cut string-prefix? "arm" <>)) - "arm") - ((? (cut string-prefix? "aarch64" <>)) - "arm64") - ((? (cut string-prefix? "i686" <>)) - "ia32") - ((? (cut string-prefix? "x86_64" <>)) - "x64") - ((? (cut string-prefix? "powerpc64" <>)) - "ppc64") - (_ "unsupported")))) - ''())) - (flags (cons - (string-append "--prefix=" prefix) - (append xflags 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_host" "gcc") - (setenv "CXX_host" "g++") - (setenv "CC" ,(cc-for-target)) - (setenv "CXX" ,(cxx-for-target)) - (setenv "PKG_CONFIG" ,(pkg-config-for-target)) - (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python3") - "configure" flags)))) - (replace 'patch-files + (replace 'delete-problematic-tests (lambda* (#:key inputs #:allow-other-keys) - ;; Fix hardcoded /bin/sh references. - (substitute* '("lib/child_process.js" - "lib/internal/v8_prof_polyfill.js" - "test/parallel/test-child-process-spawnsync-shell.js" - "test/parallel/test-fs-write-sigxfsz.js" - "test/parallel/test-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") - (("'/bin/sh'") - (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) - - ;; Fix hardcoded /usr/bin/env references. - (substitute* '("test/parallel/test-child-process-default-options.js" - "test/parallel/test-child-process-env.js" - "test/parallel/test-child-process-exec-env.js") - (("'/usr/bin/env'") - (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) - ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file @@ -810,8 +768,9 @@ (define-public node-lts ;; TODO: Regenerate certs instead. (for-each delete-file '("test/parallel/test-tls-passphrase.js" - "test/parallel/test-tls-server-verify.js")) - + "test/parallel/test-tls-server-verify.js")))) + (add-after 'delete-problematic-tests 'replace-llhttp-sources + (lambda* (#:key inputs #:allow-other-keys) ;; Replace pre-generated llhttp sources (let ((llhttp (assoc-ref inputs "llhttp"))) (copy-file (string-append llhttp "/src/llhttp.c") @@ -838,7 +797,7 @@ (define-public node-lts ("python" ,python) ("util-linux" ,util-linux))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares-for-node) ("icu4c" ,icu4c-67) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:28:50 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:28:50 +0000 Received: from localhost ([127.0.0.1]:41534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YY-0005nQ-5k for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:50 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:37394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YT-0005mn-EF for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:48 -0500 Received: by mail-ua1-f53.google.com with SMTP id o1so6932765uap.4 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=azzG4iAm+UuqtJpRweu3X7VU3tTuNL0hhjc5m0vjdaU=; b=P4L6i7o5oBkCp99pLtwWDKkGCEGrxYYRH4RKl0cyMKUwUxerPOyzPOnFPzMZCy8AK2 50NY4IkxwKmdqOK6uxMXGMin5j4yp+w1O5XT2AhOKQ3t6NwxjzRrgVfeiAE+PA1cAAdz A+ryo6ib+YUui4MQK3YZm+Ow3ezGLrziwOH0lCWrXXc45tO9wWbAidUQRmDUlNbcrT5J PYTXFPf61UFU2WEMIUjqxae6ys7JixCV+jwlTZ8OxL+V1wgOq+JjiWFBLt6RO5mMNI33 2gmrpHuCHJBtHo5daYj58jV0nVJ78dJgJqUg2P4I5odaReDMirv9TApvsYtmG81glRPN sbzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=azzG4iAm+UuqtJpRweu3X7VU3tTuNL0hhjc5m0vjdaU=; b=XBiJ1p2JXeKN4QMvev2XRFsIy3CTDpGeQ5iTV5DKrwiph08xFykjuYD3gyFrFEceM+ l3XFgI1U8uNxGSbhlTB+bExW6cd1yzr5+JAjKpo33G9QA/YfDVSvYWoFTaP5ro5RDghb kgfvp8JC78KJCPgxmWye0gshSkHHc1YDFJ75YX+9pznMXwRnatJpskMoO9EuksC+q94O PbtO5nlWpV4wyplFpVWyVJNtSqECxaufbiivt8dEDeTxQYSVA0yp7bNf2nbSwybvFmJ1 qfTtqj87Qj0WaZqLPsH7MqAWYLpKIhddBnMP8Ri34h616vExLlJw6WwMKuGQx2ziniyB T1Hg== X-Gm-Message-State: AOAM531qcPqLJ7bqIo9eH73tA3QoICx8+eNp5oAa1XYwtju4TzlukJeE 2ztCC3C4E0PsZKgoXSECH4w12r5DsN3vPGX8/GE= X-Google-Smtp-Source: ABdhPJxvSjUAz2+QTxe/XqXvTrFTryqHUVQxwLkjM3BLjTVVok+LSYZ+HYmq9tVVtBudqjAWFRtFZw== X-Received: by 2002:a67:2f05:: with SMTP id v5mr1046038vsv.25.1638995319749; Wed, 08 Dec 2021 12:28:39 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s10sm2465334vkf.9.2021.12.08.12.28.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:39 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 00/43] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Wed, 8 Dec 2021 15:27:55 -0500 Message-Id: <20211208202838.752542-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi! Here is a v3 of this patch series, hopefully incorporating all of the suggestions. In particular, as Timothy suggested in , I've tried to make sure the earlier patches, at least through #:absent-dependencies, are able to be applied even if there is more discussion needed on the later patches. As I mentioned in , while experimenting with v2 of this series, I discovered an issue with the install script automatically generated by npm. Patch 21 ``guix: node-build-system: Add avoid-node-gyp-rebuild phase.'' fixed the issue: I explain the details in comments there. This series also adds two additional leaf packages, `node-segfault-handler' and `node-serialport', that confirm these patches can support additional styles of native addons. In particular, because the native addon for `node-serialport' is actually in one of the intermediate packages, `node-serialport-bindings', it serves as a test case for the new `avoid-node-gyp-rebuild' phase. I've also put these patches up at , if anyone finds that useful. -Philip Philip McGrath (43): gnu: node: Avoid duplicating build phases. gnu: node: Update to 10.24.1 for bootstrapping. gnu: node: Patch shebangs in node_modules. gnu: node: Add an npmrc file to set nodedir. guix: node-build-system: Refactor patch-dependencies phase. guix: node-build-system: Add #:absent-dependencies argument. gnu: node-semver-bootstrap: Use #:absent-dependencies. gnu: node-ms-bootstrap: Use #:absent-dependencies. gnu: node-binary-search-bootstrap: Use #:absent-dependencies. gnu: node-debug-bootstrap: Use #:absent-dependencies. gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. gnu: node-llparse-bootstrap: Use #:absent-dependencies. gnu: node-semver: Use #:absent-dependencies. gnu: node-wrappy: Use #:absent-dependencies. gnu: node-once: Use #:absent-dependencies. gnu: node-irc-colors: Use #:absent-dependencies. gnu: node-irc: Use #:absent-dependencies. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Add avoid-node-gyp-rebuild phase. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readling. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 833 +++++++++++++++++++++++++++++-- gnu/packages/node.scm | 219 ++++---- gnu/packages/zwave.scm | 65 +++ guix/build-system/node.scm | 28 +- guix/build/node-build-system.scm | 129 ++++- 5 files changed, 1119 insertions(+), 155 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:28:56 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:28:56 +0000 Received: from localhost ([127.0.0.1]:41541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yd-0005oC-MV for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:55 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:44583) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YW-0005mu-JD for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:49 -0500 Received: by mail-ua1-f44.google.com with SMTP id p2so6849981uad.11 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=vNLOSTWhsUvYl4zbQmT0Z6mwdgkAqlBATEO6lq8SgZA=; b=OCaN3+2LpdQqdE6Hs4Kefq9OVEHl3A4SOlWQ7ijfqT3ZNz706H9Cn9a5JO8MUOfW/9 x952Hp3MF/0nb9yFRnpodKPJKE8mBlqKadGPxxqwhWOvtTKY/pFe5Q8272etHT77ag3Z NjfGgr+98UDawyD02413LrkCnb/ln7x7f6FZ7L7w+MQbDHM5JAyNiS1+DCoHVHbHQVMT vh46sEdx75L5WIv1vRAUYg0X3Z0c2hQ5mOImuKhLrIO0TZi0vy81zs6/vvYX1eSbc+N9 giNXmn6yE+offTyuD3TcSoG3kaiVmNfoQP+MxkbD+cmbXfKx8M3N7/p6I4UQS+3Nbu1Q oPcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vNLOSTWhsUvYl4zbQmT0Z6mwdgkAqlBATEO6lq8SgZA=; b=ny5cdB6OLp5Lu5M0AeOjdZImUNNLJT9EJpQBseg4nwlGT8RaegG3rDcUvPgHBSszlR 0i9sJbj0sitSD6LDnJQkZtL2aeqrrOBJsLtSmv0V9fhUdlhODtU4KKPSPHG9o2KCRuaS Bps0XIoDzbzGYXuy0ekPNbJOjULhEXNMNjsykuQ5VVQP8PS1Wgh58R1mGPVsHlmRBVsX j3rFRxB872G2WFU1WrGvmNQqGVYAN8TrRM4Y5iaghMQSrBAsNnEmArEU38YfIg+lLEmD GldN9QuaYy6DFOXGuXc5ugnZjy9ICTyoiOJ06zV8E4SxI2Z7MDUNdnkDYjYEotsGOozs B5XQ== X-Gm-Message-State: AOAM532PS/+t2DR4l3lw5n9Bqx9ggd4XL/fCMCHBoTtZLFXzWpvFA2CU besAIH8dbL+dEU5DDSPoXUoOccFIpocZOXeTI5A= X-Google-Smtp-Source: ABdhPJwFid7i6ah0yHT38zV75S9K222oziLNTPoW22ahKFI6YhXSu9XipL4QUcoOCsJNUmmc6GzP+Q== X-Received: by 2002:ab0:383:: with SMTP id 3mr11255513uau.4.1638995322885; Wed, 08 Dec 2021 12:28:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bj50sm2512958vkb.7.2021.12.08.12.28.42 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:42 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 03/43] gnu: node: Patch shebangs in node_modules. Date: Wed, 8 Dec 2021 15:27:58 -0500 Message-Id: <20211208202838.752542-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang and 'patch-node-shebang with a new 'patch-nested-shebangs that also handles node-gyp and other shebangs under "/lib/node_modules". [inputs]: Add Python for node-gyp as "python-for-target". (node-lts)[inputs]: Likewise. (libnode)[arguments]: Adjust to delete 'patch-nested-shebangs rather than 'patch-npm-shebang and 'patch-node-shebang. --- gnu/packages/node.scm | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 71b66774a6..a57a74fb81 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -237,21 +237,20 @@ (define-public node python (string-append python "3"))) "configure" flags)))) - (add-after 'patch-shebangs 'patch-npm-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npm (string-append bindir "/npm")) - (target (readlink npm))) - (with-directory-excursion bindir - (patch-shebang target (list bindir)))))) - (add-after 'install 'patch-node-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npx (readlink (string-append bindir "/npx")))) - (with-directory-excursion bindir - (patch-shebang npx (list bindir))))))))) + (add-after 'patch-shebangs 'patch-nested-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (path (map (lambda (dir) + (string-append dir "/bin")) + (list prefix + (assoc-ref inputs "python-for-target"))))) + (for-each + (lambda (file) + (patch-shebang file path)) + (find-files (string-append prefix "/lib/node_modules") + (lambda (file stat) + (executable-file? file)) + #:stat lstat)))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -274,6 +273,7 @@ (define-public node (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares) ("http-parser" ,http-parser) ("icu4c" ,icu4c) @@ -799,6 +799,7 @@ (define-public node-lts (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares-for-node) ("icu4c" ,icu4c-67) ("libuv" ,libuv-for-node) @@ -817,5 +818,4 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (delete 'patch-npm-shebang) - (delete 'patch-node-shebang))))))) + (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:28:56 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:28:56 +0000 Received: from localhost ([127.0.0.1]:41543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yd-0005oE-Vy for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:56 -0500 Received: from mail-ua1-f46.google.com ([209.85.222.46]:33610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YX-0005mv-PL for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:50 -0500 Received: by mail-ua1-f46.google.com with SMTP id a14so7019845uak.0 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=P+ZUDX3oITFc2FXxDiv6NDaMY9nxH56ylZC7kmmocfU=; b=PXvxLVMoV2K56oitpUCdDKPqCH/BpEcOiw7AxsSnD2OiXJnvtFYdZwPXVRCiQOcuMy mvdNpavNYin25xjVOGeBsN4CqF713UVezQ8KDUlEd0E4x4sPUX2QqPhyT2qKW2w19gG8 1ZdwuHpZx6fCKxqNiHFQj38s9KLOLWijreqMh0vW5MB68vNOFYAogOJ2eT++jGza4yFI urIfq4v7R+d4tNjUPek2v/tg+bD4CqoX8laAtdqV6Tj8UE/LMa4LJ1Y02nFWPFZMuIr7 t12jg2zHIohltrebrM5Hl9RzpE/mBRn89oEeownXSPeS5uAq1G4A9Vgm4v5LLmkizO03 StGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P+ZUDX3oITFc2FXxDiv6NDaMY9nxH56ylZC7kmmocfU=; b=eROhuspLRwIT9edr/THfsgb2MQbFwTbJy2qA1Ew1eBtH20KrzY4Xqgf/gCcXW4APen 90jH7JvILPbKy7oxIeK+iOXLZaBtYNdp2lmJgABVLxdqXGskYyrk/LU5uQ6/QMLliqkh 0pGdnK8k/TZQX+z3ImwJWDOm14tBU2lyx7vzieRGMCpF66Vy9RW9i24P5DsHXf6UBmSg pbrtZL22i8E+N9Y+QUlI5WvfBmvxROnwuJuTIw76NMBrsNlGEEJm6DgkSQbeb/tXARnq A454PfkgkhxHBqm7CGEEFxNACxsRnpKagwO8gOBTzsNDJ5IhJ1Kvr+E8OOwmO4YMZlRs q/Jw== X-Gm-Message-State: AOAM531YYS9k5003rnYdrCyJhgb6HYzMzNusmSSkXKM5AKFVpqfht4kT qIv3HTpdss74eXl8sKqjUVaJjUuh3TXD/K6hqHk= X-Google-Smtp-Source: ABdhPJyJz45Vxa6kogZxBTtx4riTpXg4hmcDQcGhoCoieGvkRKu/mVHgaKJtMnfCf9df3RZ7m2RXDA== X-Received: by 2002:a9f:266f:: with SMTP id 102mr11225637uag.44.1638995324190; Wed, 08 Dec 2021 12:28:44 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 6sm2531521vkq.23.2021.12.08.12.28.43 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:43 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 04/43] gnu: node: Add an npmrc file to set nodedir. Date: Wed, 8 Dec 2021 15:27:59 -0500 Message-Id: <20211208202838.752542-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node, node-lts)[arguments]: Add a phase 'install-npmrc to create a "built-in" npmrc file that configures "nodedir" to point to the output store path. (libnode)[arguments]: Delete the 'install-npmrc phase. --- gnu/packages/node.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a57a74fb81..0f67fe79c2 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -250,7 +250,21 @@ (define-public node (find-files (string-append prefix "/lib/node_modules") (lambda (file stat) (executable-file? file)) - #:stat lstat)))))))) + #:stat lstat))))) + (add-after 'install 'install-npmrc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (with-output-to-file + ;; Use the config file "primarily for distribution + ;; maintainers" rather than "{prefix}/etc/npmrc", + ;; especially because node-build-system uses --prefix + ;; to install things to their store paths: + (string-append out "/lib/node_modules/npm/npmrc") + (lambda () + ;; Tell npm (mostly node-gyp) where to find our + ;; installed headers so it doesn't try to + ;; download them from the internet: + (format #t "nodedir=~a\n" out))))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -818,4 +832,5 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases + (delete 'install-npmrc) (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:28:56 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:28:56 +0000 Received: from localhost ([127.0.0.1]:41545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Ye-0005oL-BH for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:56 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:44598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YY-0005mw-LX for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:51 -0500 Received: by mail-ua1-f53.google.com with SMTP id p2so6850152uad.11 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=xz8xodiZFPQ+SAaK+8rKtLk3kisnKoUJYuaQkixgSGM=; b=KZdkxNOzfUtK9rwwC+zZBEHaerQHRG3FZv2Wf+yfCPYO7ttecHHq8MAGTAcovqVw8V 0DBvvmLhPZLLQF/UDGGuzqw625oS6PN1LqpxMNSLghHNuHslQfouJU0sqbUL8QX6otUL Iko4uYNM3h0aA5P/LQBxRS2wLPW0mNxQIcJldAbym2sfp+7B17BjUaOWNyWrGOkdSksU Shxp6BT63qbjFZ2Z6tb2uJ6xOMWuAJL2JykSzh9pqW83eG/DI6q5nVNZ5SWAjR5hP+6B cRp+B84auYdgoDJadeGpkmQ3jrFxI847YZHwGqk+FGEWxiFll3wcKF89ZyALlh020ywo zYzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xz8xodiZFPQ+SAaK+8rKtLk3kisnKoUJYuaQkixgSGM=; b=bmUAgWELMPFTOzYjOy019gg9FMRwlyHrTruP1ln/reGS0eomsMaKtXQ7oIs6oCieHl J26zRNCrzREGy7DGrlMNGg8CwDq1BVaRaxHtLKBtji+jcekaQs81ynasokBOwiNFzS/i /9LhXG9tMMAhW+aMTJC5qqD5qa3DW4Xx9iXTc9iqd+w+ZjcAKObQDjJVfm+FQGHQtyn/ ks1qXBQRjyYYlmFR6U9awfsFGe6SD/FjCUWpu4N+D7SNauARRuNEgDgUmn3fufX6MxoA q2h+iO5tJF5WvxXlLbG/xx9mkrwVvdKrRFrBzSvvE6eCx8m7fDV5aTWRJe7MC3N49NHz aGtQ== X-Gm-Message-State: AOAM530+sgV1VVLSrRfHTlJ1SNZMQlKoqM0nIr3e0SntyZ8waimHFWI7 /x6byRbF5RwiOnpLAKq/xkryLC/xjQts7r9tJzo= X-Google-Smtp-Source: ABdhPJzDcJeDCWdc8dW11PYo2e4yILj3GW0An2a7op2aDWTqV1WtqS9FBouuY7lyjpdIv4zpUM43Ow== X-Received: by 2002:a05:6102:c4e:: with SMTP id y14mr1188429vss.61.1638995325152; Wed, 08 Dec 2021 12:28:45 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j192sm2536286vkc.39.2021.12.08.12.28.44 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:44 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 05/43] guix: node-build-system: Refactor patch-dependencies phase. Date: Wed, 8 Dec 2021 15:28:00 -0500 Message-Id: <20211208202838.752542-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (patch-dependencies): Strictly follow the linearity rules for `assoc-set!` and friends. Clarify the types of the arguments to and return value from the internal helper function `resolve-dependencies`. --- guix/build/node-build-system.scm | 53 ++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..6fade54670 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -73,26 +73,45 @@ (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) '()))) + (define (resolve-dependencies meta-alist meta-key) + ;; Given: + ;; - The alist from "package.json", with the '@ unwrapped + ;; - A string key, like "dependencies" + ;; Returns: an alist (without a wrapping '@) like the entry in + ;; meta-alist for meta-key, but with dependencies supplied + ;; by Guix packages mapped to the absolute store paths to use. + (match (assoc-ref meta-alist meta-key) + (#f + '()) + (('@ . orig-deps) + (fold (match-lambda* + (((key . value) acc) + (acons key (hash-ref index key value) acc))) + '() + orig-deps)))) (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"))) + ;; It is unsafe to rely on 'assoc-set!' to update an + ;; existing assosciation list variable: + ;; see 'info "(guile)Adding or Setting Alist Entries"'. + (let* ((package-meta (read-json in)) + (alist (match package-meta + ((@ . alist) alist))) + (alist + (assoc-set! + alist "dependencies" + (append + '(@) + (resolve-dependencies alist "dependencies") + (resolve-dependencies alist "peerDependencies")))) + (alist + (assoc-set! + alist "devDependencies" + (append + '(@) + (resolve-dependencies alist "devDependencies")))) + (package-meta (cons '@ alist))) (write-json package-meta out)))) #t) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:28:57 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:28:57 +0000 Received: from localhost ([127.0.0.1]:41547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Ye-0005oZ-Qt for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:57 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:35782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YZ-0005my-Ot for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:52 -0500 Received: by mail-ua1-f45.google.com with SMTP id l24so6960083uak.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=kRfIOss//yVYHJCk72noI69K5G/UElqL3t+RrsJb1eQ=; b=Jj/w0o1Gmts7xhNLMzLvoqnvuSVBubF5CKewnB1KNm7SHRa1wLa5XHCRSH3TLmp2g0 gliiP4/dUGCCvMHg1OmQupJb9hcTDsN7K2wwF/1jVWEGZzyD2QdCcpZJCbe1Wez5q/9u V6ZLn1pkaQLU2aqchh8V3NC5SpTLtXKAFAjzbxifqzVK/fWxqGIypqLK5EK1PQP7Ibwq I28keDajvSa6UURfGEX7R5mceUUMHPms9FlKXVvSmtTDU7YEICw56SedJwkE8xBXlmgW JWN8J1t/7q55dIItwHIv/ssYRFSqZ+lI7xL2BmXhEGmNW7aFugfBjdASdnCSJhJ8vpNI dqrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kRfIOss//yVYHJCk72noI69K5G/UElqL3t+RrsJb1eQ=; b=IkltfgT6Z3vTjM4pt23+3VNSMNE/BQ34l18PoY4MHdGndy/TUbgjqvzVv1sUztKsoI 1YVmFM4Dl11GUT/b2JxQNyylebTEkrMkwAnPVvOA436OFVtGfn4/p8PUMLEZ0XhqGgJQ 90MO9w/Jlfr1VhhcITy/gzop2SEnjpcE8fWKokdrG7ZVIGbo+ArxlHm8VN3U23z+Fql/ XNrj8APny+gnat2cRUvLI4GFzJRMF2HzdpPAvZ0aBC1qbbUXzarYnFRlvU28SHqvhgpw aLCQ0TmCRUxtnPECXvoZDplQUVvAXcxE2Gr0QMElM2Aukw57aU+ezi/Db3+WwNaU95x/ Alhw== X-Gm-Message-State: AOAM530JMYBRFT0kWcDQoeejCzh/WH9lk6QjzDrYiTkGJEUA+NouxxAy n2qkqFyR3WTuFkAPohtk0yltVCNUMtAyWJjVqbI= X-Google-Smtp-Source: ABdhPJz4CNuJ+iEd8FRDyUwokeLmcCrzd9tzdEiNFWW6titjZfkX/5KKO6SW0V3ozE4Qo8HDq3NjLQ== X-Received: by 2002:ab0:2983:: with SMTP id u3mr11275502uap.35.1638995326104; Wed, 08 Dec 2021 12:28:46 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 6sm2531581vkq.23.2021.12.08.12.28.45 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:45 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 06/43] guix: node-build-system: Add #:absent-dependencies argument. Date: Wed, 8 Dec 2021 15:28:01 -0500 Message-Id: <20211208202838.752542-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower, node-build): Add optional argument #:absent-dependencies with default of ''(). Pass it on to the build-side code. * guix/build/node-build-system.scm (patch-dependencies): Respect the #:absent-dependencies argument, removing specified npm packages from the "dependencies" or "devDependencies" tables in "package.json". --- guix/build-system/node.scm | 19 ++++++++++++++++++- guix/build/node-build-system.scm | 7 +++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 98f63f87ef..4f437f9c0d 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -44,6 +44,7 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (absent-dependencies ''()) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -73,6 +74,7 @@ (define* (node-build store name inputs (tests? #t) (phases '(@ (guix build node-build-system) %standard-phases)) + (absent-dependencies ''()) (outputs '("out")) (search-paths '()) (system (%current-system)) @@ -80,7 +82,21 @@ (define* (node-build store name inputs (imported-modules %node-build-system-modules) (modules '((guix build node-build-system) (guix build utils)))) - "Build SOURCE using NODE and INPUTS." + "Build SOURCE using NODE and INPUTS. + +The builder will remove Node.js packages listed in ABSENT-DEPENCENCIES from +the 'package.json' file's 'dependencies' and 'devDependencies' tables. This +mechanism can be used both avoid dependencies we don't want (e.g. optional +features that would increase closure size) and to work around dependencies +that haven't been packaged for Guix yet (e.g. test utilities)." + ;; Before #:absent-dependencies existed, this scenario was often handled by + ;; deleting the 'configure phase. Using #:absent-dependencies, instead, + ;; retains the check that no dependencies are silently missing and other + ;; actions performed by 'npm install', such as building native + ;; addons. Having an explicit list of absent dependencies in the package + ;; definition should also facilitate future maintenence: for example, if we + ;; add a package for a test framework, it should be easy to find all the + ;; other packages that use it and enable their tests. (define builder `(begin (use-modules ,@modules) @@ -94,6 +110,7 @@ (define builder #:test-target ,test-target #:tests? ,tests? #:phases ,phases + #:absent-dependencies ,absent-dependencies #:outputs %outputs #:search-paths ',(map search-path-specification->sexp search-paths) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 6fade54670..249b3deee6 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -69,7 +69,8 @@ (define (list-modules directory) input-paths) index)) -(define* (patch-dependencies #:key inputs #:allow-other-keys) +(define* (patch-dependencies #:key inputs absent-dependencies + #:allow-other-keys) (define index (index-modules (map cdr inputs))) @@ -86,7 +87,9 @@ (define (resolve-dependencies meta-alist meta-key) (('@ . orig-deps) (fold (match-lambda* (((key . value) acc) - (acons key (hash-ref index key value) acc))) + (if (member key absent-dependencies) + acc + (acons key (hash-ref index key value) acc)))) '() orig-deps)))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:06 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:06 +0000 Received: from localhost ([127.0.0.1]:41549 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yf-0005og-7y for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:06 -0500 Received: from mail-vk1-f169.google.com ([209.85.221.169]:44923) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3YV-0005mr-F6 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:53 -0500 Received: by mail-vk1-f169.google.com with SMTP id u68so2339282vke.11 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=t5y3hwK9L6+eQR1y3VE4Cmi8oUepPqWpd78oyUMVhug=; b=DBeoHjYYxaz8wMI6HXtXddecyB0lSEWHnbuUFUrdlFHYDBwdehLBUY09oAJxO3Jiln h6+Oa7661mTvM8qxdkytUsrs7WAtJKJ6zJtsUjEq6ZvP2rNsrsU+pucQ008nWTZtGSV9 +0Zwtu/ao1KgXWVS4P2yONTFsgYkbhSzUwoiJPqCsxdI535EXZUDSNVFbWjj/4CLlNh9 S+91cfdKwSIf74tMi7ZZl8yTOmEZuNOolXJ0uJCoZZDrUBZiEiLsIj/xGkvKBGMtsL+3 rXeUk31PJBMnK4JGb0+olY5DyCyGMheN3BxOYjhS7GXJzDLNinxzd4XtVneXzQtHFJt8 hrxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=t5y3hwK9L6+eQR1y3VE4Cmi8oUepPqWpd78oyUMVhug=; b=I8CPDNJF5M5H52s4rISYhAk5GZPUI0iWm5/QJ3tl/kYlN2g2usJ4a11kJhyx7Tl4tl PO6lNNoSjsKOpUKxpp86XNZdkkg0EyvU6ZO7xVFk2EMudAY/pIQBN/PDWtcA6TGUm0CL uooXeCFILphiFYVhSNAzVlZsL0lTC8Tk6G+BiJWiPrPO2NYWjyn2JiYI1tf7fiOpP6ZO QMWzhplGLzjgx81xrvpL+SsyJ1NIMFA2XMVpwuhSFXmvEbgElLZTn5n2ii3pTPCuNfyF BNZxI5HY1o0AGpkWAuXBZAV4p8voZfQjJ20lsG2Ln+U4FDJytlHTqr7dXcpiSFlCgTNh 4d+w== X-Gm-Message-State: AOAM532Zr37VsoJVefDvsyz+lEGKUu3siVjtsy5ERc4d0IrZyXPnVjHy NYOhSNtjVOi9iYZ2YEaFJe3bKsuCaOH1YbFxSNE= X-Google-Smtp-Source: ABdhPJyjpMZehfL1wXmQYfWUVROb4d4k64tPmWsq45uEiv5Xqcjd7/DheC7iVCHGOTsORc7ROrMFbg== X-Received: by 2002:a05:6122:2210:: with SMTP id bb16mr1265820vkb.28.1638995321790; Wed, 08 Dec 2021 12:28:41 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v16sm2497857uap.12.2021.12.08.12.28.41 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:41 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 02/43] gnu: node: Update to 10.24.1 for bootstrapping. Date: Wed, 8 Dec 2021 15:27:57 -0500 Message-Id: <20211208202838.752542-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node): Update to 10.24.1. --- 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 7ebbbc3060..71b66774a6 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -57,14 +57,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "10.24.0") + (version "10.24.1") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm")) + "032801kg24j04xmf09m0vxzlcz86sv21s24lv9l4cfv08k1c4byp")) (modules '((guix build utils))) (snippet `(begin -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:07 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:07 +0000 Received: from localhost ([127.0.0.1]:41566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yo-0005qh-Ok for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:07 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:35790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yb-0005n8-PR for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:54 -0500 Received: by mail-ua1-f47.google.com with SMTP id l24so6960211uak.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ysCUypxPLTqJpCuJaOcxZ4DeIJt4wjdqkdolNkLabpY=; b=ZWTMBib9FIuC7ZAAizVMElW60q5h5KNxcENYHFNUgymnwHxvSBMpIovDtNF3QZd2lr SNe+R976ldl+maYCc5aQn5KU+I7t0azoi/2zhwv6EKd803BwFMFgFMfEuefW2mI3tL1d 9qc9L5I05EbIVuwDZPPy7VrN/jDPwHIqtOIMD7d2nybpiT4B+fbAr8oB+QGF4+czYaZC k7uDjPjEZZ8vO9/a7ZOvqT21A20mgXskKV1if9+Ndh59geRkAgrQKJhRqZHWa5NUUyVR grJJs6tNWlxvotZms4dZCjTbueHfXDLVsDnM7aM5j9+sG/IL7LN8/kSi0CJIYms9mDJt xsNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ysCUypxPLTqJpCuJaOcxZ4DeIJt4wjdqkdolNkLabpY=; b=LrVnHyz1ghKZwvM24NjHAurmC40R3ErHM4NBa1TbxptTO9L9NCUJZenbWHq5FhKzwH XOsZ9725bdfTqItQf19gFaYDeqq5wocGlqJr8Yox3Tqtxtk8k9gh5sf1qFvFlkaLrK0c C7d0bZWQqRDoHL/jG8uU9rIMG65hygiL9VZ8SwijRUL07oOkQkeKj4Dv86sGhZF//veE uI4xmdtiM8mIcWDMqYbsMq444kBr9b/zq2eplQ+zj9Pq9zevjXteC9hRhN7jzqAM4kQZ +2DcL8uSEKWHovJ5jctKGrFv22fuoo4jwDhzp65LUOOtqsRRZLjVI9odW3Z+Ya49CGwa 3HGw== X-Gm-Message-State: AOAM532XCU9lWU6dugtmHzzZtSojWuY0wsypN5/9TxfZNpxSFVUCTQfz Xw5AH5nl3oxRls8n+KDnp0hULVIDYt/TFKktPI0= X-Google-Smtp-Source: ABdhPJzigAqfunhw6++dlso4srvM7Q/LwiqgPSA420OJfjdsuKY8Ovl7wERs1lVzTlKznmrlu1rVqA== X-Received: by 2002:ab0:614c:: with SMTP id w12mr11575824uan.45.1638995328215; Wed, 08 Dec 2021 12:28:48 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i56sm2495595vkr.25.2021.12.08.12.28.47 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:47 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 08/43] gnu: node-ms-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:03 -0500 Message-Id: <20211208202838.752542-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6c958eebec..ca4bf1ad23 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -358,9 +358,12 @@ (define-public node-ms-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:07 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:07 +0000 Received: from localhost ([127.0.0.1]:41568 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yp-0005qo-2J for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:07 -0500 Received: from mail-ua1-f46.google.com ([209.85.222.46]:42659) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yc-0005nF-Lf for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:54 -0500 Received: by mail-ua1-f46.google.com with SMTP id t13so6892058uad.9 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CaP7f29V0VkxYNjFKOmVo4MDTT0lUMh0lH0dVf/o9/c=; b=GaKgaokpi8iogtd+sUX0tHMoCQpCWJQ5Lpuv6DBWK3SLaKwS/4A+vXE0dGA3umlG/0 PZu6X0o4IY8L4m8FwqDVSmAPqZEbMh+VfY51diWiT1QLlODCTnUu76hq4LAe7sB6E4Bp deyGSQobtY9VhO7qrKHgAah731O1upWcfOmbvZnCruwbAf2oL7R8e32eSUCsAAPuKsNL ZKkOB0MV2zWenW0aR6f5jdszzlNTKBe/pzk5lk+b3asa/Mp3fGcrHK+2Wn7T/SUsh+Wk lFzziYF8+56kIdtQYgigdyBMdugnyEgOmWXZKpa54rbMAL69eKixGYlBLFR4xjasY95y Girw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CaP7f29V0VkxYNjFKOmVo4MDTT0lUMh0lH0dVf/o9/c=; b=rbS35fZ98aCY0wjYu7K5BlAkmq9RVJuAO3HQC+M508qHmp3yQIK1e+yu7JoWC15rT9 A36pk1Twooms9iJbOl2YBngKnc0JVDr1sYJ6MjQdYFTMVQHBajJTHCjV/BU+CsPHhpW1 kwwkVTfqDNt25eSLIRT3O7XsLQLa9YBEwYmR3h2a3z7yA49m7UhvLdl+tCPf8Ji4JfAJ xrTT1kU211FbS8+9lnhVTQ0doDIkCdPYWhk8OLplhe5nj5a8CGnbxkurAQq6Lbtkg5n0 2X5HtUQcPKP/2YW1jhBKgpaRKiBG/bfRAkEohLkBPpfYcH8DVIz9kU+P0k3SLNodRYeF LaXw== X-Gm-Message-State: AOAM532zM27TNKWkMDUjpSRVzO22c+gvkvVaTeraHmR7bjgqwJ3vIcnK 1tHSrfBrO8n3Rxas/C+wwWYoO+B4yohI9NFkWPc= X-Google-Smtp-Source: ABdhPJyAPN9tsm5Sb3knljdOj5AGOzx+7OlLlfsUsNH6buohnt1QXHzX60IoWyZPmlDJ0dChQ8LUrQ== X-Received: by 2002:a05:6102:370d:: with SMTP id s13mr1131325vst.30.1638995329163; Wed, 08 Dec 2021 12:28:49 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r24sm2460768vsn.1.2021.12.08.12.28.48 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 09/43] gnu: node-binary-search-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:04 -0500 Message-Id: <20211208202838.752542-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index ca4bf1ad23..2cdae34ae1 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -389,9 +389,9 @@ (define-public node-binary-search-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("chai" + "mocha"))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:16 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:16 +0000 Received: from localhost ([127.0.0.1]:41576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yu-0005rG-Dt for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:16 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:36827) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Ya-0005mz-L5 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:56 -0500 Received: by mail-ua1-f41.google.com with SMTP id r15so6939158uao.3 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=AMULJXHyOZipuNd58scXr0HRCAdd2zT9ONR4onrNEcY=; b=BfTEDpsm3ke3Bm2AGXdcwnzahPJccG04NsPQGzmEFkMIz8LqzS7V8jW1HBT7Q/DaeK tkIZQv0uQ8llGmn0bQh8wiZcV298PNlvFBBwR1EcR7qOBNU7L1sMQ+D/TNYzc1K3NC8p 6sGad8jXxFpvriRLFFOxOaZOTeWlRa+OtBPsCqeTN+74Ui+XDHOdEZ7cI1rPrqqLQpGb vB/0TNb04AyIL01bEtuTv3VG+IvMhTpBvJ6ANe6m5dhmj28MlG0trcJny1QOCRxYtP4K 2rTq6FB05fFsDUzpOyhgvc377tapEFtzqxum8fSEgIoHaeHissKLO49TG2BT5vcR39Gw JJxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AMULJXHyOZipuNd58scXr0HRCAdd2zT9ONR4onrNEcY=; b=Pazz4p51vtY89eZm63MZrYm6xS8FlpnfZ37QBQAY0mznj3bQRvVzI/nyAzfafOgKrJ h7oXxoGR9+MtUH0P2s/oBPQ3cdAnvlUiTsBnyQVfp4Q2dtRX33E7BgJjQwlYnqAbdZRC MvavDGkJcPiYhISbEQ657yfxl1aXbdxyVItEFcOvnEU3wznFhH9Hmg1d985HuUhFUR9O mNnMJAx4FtgwNwPlfMyOcbxoo/CBrnM7IPt0Z+yWhTmpag/i1vohfDn/9os442lBV1qJ RJTfl8YrtNQlKhnc494zDjWpsRuEPJYUX0hKjf9TXXWW/6YHs8uulow+CjDlOc1gCXsV As1w== X-Gm-Message-State: AOAM531qVN5suOnlg8JPp5NCeGHxmqLtKqW1mACUPTnmUFOdPjo6Tb+S Nt6SPmUAV50BPVB3o2g00kbO8vFD64S/VV63LIA= X-Google-Smtp-Source: ABdhPJwVE9ny1RXft1OKPJTnPj0eXiwJu+Lv4mUq7vhYZVYKHk1zJpFXbimlvIpl6uqzHKCHKbQFDw== X-Received: by 2002:ab0:6f47:: with SMTP id r7mr11389706uat.85.1638995327095; Wed, 08 Dec 2021 12:28:47 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g28sm2450308vkl.16.2021.12.08.12.28.46 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:46 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 07/43] gnu: node-semver-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:02 -0500 Message-Id: <20211208202838.752542-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0f67fe79c2..6c958eebec 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -330,9 +330,8 @@ (define-public node-semver-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:17 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:18 +0000 Received: from localhost ([127.0.0.1]:41582 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yy-0005ro-J7 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:17 -0500 Received: from mail-ua1-f50.google.com ([209.85.222.50]:46902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yf-0005nq-M4 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:57 -0500 Received: by mail-ua1-f50.google.com with SMTP id 30so6851313uag.13 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=N3TFqL8mqVV/RyaIGlY/Q4s7Fe6YpLLescJ+hiM8MXo=; b=RGTr0QVFXB9hBzS/rZMlxek3uOZQ+/OzlaUf+F95kkpuaRA37y4PU24hTaQJg6t1Zb KVugdG5lcrHNveQ4lsGYspObz0xx+6d9eycayRCGd+dsuX8Y9hr0nNkOePYDP5KFfgQ2 NttSo7+u4ihoiSO8PVYiNLwCq5fLXUnPTWxPzXoz4vRFt+pLn6WRb+v2Mbm5T34jJQLA ueqimjEV1W+a7GmmTbTmjVl2VxT0Iz2ESm7neDa0Y7raFbdrjTK75A/akU2Ta7XVszkK oMCCe725odBD4hMHio+yZ5qLjVg97+Hr0C12XbYhQkxh+H+l/APOipS90+qOPv/U9VZS sBVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N3TFqL8mqVV/RyaIGlY/Q4s7Fe6YpLLescJ+hiM8MXo=; b=E+IqsCIFFOzwzDeJ0fGBGo8xUpREzz5fE0JoxNs9a9Ay0dhxaUnTPRDgE5wdXC6sdd aBl/DdgUVnS1uSyKszVpqwGY/Pxsvd/1pWoWh3GVYih2vgwa+/3o40o7zT16Jk/tBBjm SU9S1ltiZkkzjXoVsl/dy3r1KVWCWzBgaDKTNgffvyUwc728jn6HO7NXZZtyc6nFyl91 6gPqvhJ27SJZugnkuX6LXlg3DPutJmqgC/E2iAJbQDc1LaA3AnHDCuY+/siL5kn4LW0z xDvDbL/MNgw0JIBz/oAXSH6IgwV3hkxyuH000e+nEC5uJ3wt9NI4GfIBk3oKtyg/Nxrz Xd2g== X-Gm-Message-State: AOAM530YnY63630f/MYYMxjYqKfx6jXJAxd/wP6gUEHea5fqwl3NQQMb /vrVt0NbCczYoRADr9R8JXqG3kgCbKkuuCdWUA8= X-Google-Smtp-Source: ABdhPJx3HuULYNEUPEkfRBkK8dKrEmkv8kZSeRI/xBNow0QNfLX64AjtrKITZafzn/adAYCIiweqEA== X-Received: by 2002:a67:2dd7:: with SMTP id t206mr914558vst.62.1638995330079; Wed, 08 Dec 2021 12:28:50 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o7sm2490957vkl.41.2021.12.08.12.28.49 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 10/43] gnu: node-debug-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:05 -0500 Message-Id: <20211208202838.752542-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2cdae34ae1..98a51276e7 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -416,9 +416,18 @@ (define-public node-debug-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))) (inputs `(("node-ms" ,node-ms-bootstrap))) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:18 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:18 +0000 Received: from localhost ([127.0.0.1]:41586 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yz-0005sF-S2 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:18 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:40473) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yg-0005ns-6a for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:58 -0500 Received: by mail-ua1-f45.google.com with SMTP id y5so6891241ual.7 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qnaUEWsjeIbY8vIxJJCzrVMTy4UI+5cVLp2wik/nM4Y=; b=ViF0je7dNk/l9LpGT7YBsTIaWPxyoSqmsYyoHF7VquHNcb+o7h4YehAqxjvQZ44blJ TnwkMsqt0CI5Eq2gHJTVO/4Fs85bQQ87PK5g6lRGfb0sN0Qr2niADxi/tI/kn/bzxdTh QIDH5GRCvPWvVR2i8TWka0PHTsic+8bEDr8gjcwr45hDXQw9Uffql7xkDz8jDc/pz5Lm 3zWRIbk7H6gqQQps/dk6o7V633ROXvDVQvJ0NdQub69HX8n0ZlW4vlvw/k+3nM6oFLRK P1VcZ/vr5QBPguhgDmjkDGtXkvMtmjZgG84viWtTGvr/tsT+6AEEXg6MWCYdrqBY3T6C Folg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qnaUEWsjeIbY8vIxJJCzrVMTy4UI+5cVLp2wik/nM4Y=; b=qy4a9pR1+H7XM0KBdWhaK2nxabnrQsh88KGlPnl6eqorRDHCHI+N8me09IKUPkHOdK s7XpXsQp8S1UoMrYGuV6EWbTa8bnI1JWG/kHe+HGqbEKsTe3WHdsyUUOrHQSHqaFyarR /wr0GNpdceOvMdaNXu2KTCA9oCh7lDz1q3RyfuyJoK5fW6k6VKR+7T5A/+z9OUTiofGK Z7ZsfunIosVPgzCZ+W2WBINEuOrCpbRPXCXT4nFO9wUqhbQhxdCOdTRVYfECbcSt99o/ guBztvF4lYwpp5Xu/sI0yBCgBoff+q5xjEEoRsqzzT8PHeuoiH1oZl3D9C018q5rZ1lp TWWA== X-Gm-Message-State: AOAM53138wu6jzLxVW114JrwfQKkyDnH2qoc4qBl3ZgSiW4FzUXDiRBc 8RUb8UYkX2ybbLfNiQDhGxbVK/EzDqIwWJnD7I8= X-Google-Smtp-Source: ABdhPJyXlPFoEvDExmvsWQCcA4lTGcK4xefIbK7KaPzw3OuOvPvuj0xOO6pvt5Nb5nylm1v7i2QncQ== X-Received: by 2002:a67:db0b:: with SMTP id z11mr1157959vsj.59.1638995332814; Wed, 08 Dec 2021 12:28:52 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w2sm2441108vsw.29.2021.12.08.12.28.52 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:52 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 11/43] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:06 -0500 Message-Id: <20211208202838.752542-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. Add a new phase `#:delete-package-lock` to remove the problematic "package-lock.json". --- gnu/packages/node.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 98a51276e7..9d4903a8ca 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -479,9 +479,21 @@ (define-public node-llparse-builder-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) + (add-before 'configure 'remove-package-lock + ;; Having package-lock.json seems to cause npm + ;; to look for things on the internet in the configure phase, + ;; even if we have them properly installed. + (lambda args + (delete-file-recursively "package-lock.json"))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:19 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:19 +0000 Received: from localhost ([127.0.0.1]:41589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z0-0005sb-KZ for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:19 -0500 Received: from mail-ua1-f48.google.com ([209.85.222.48]:41799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yh-0005o4-Gx for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:28:59 -0500 Received: by mail-ua1-f48.google.com with SMTP id p37so6883771uae.8 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:28:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GkiJa612s69wtsJsqZ9gBQjB+UI22GYIWQ/+REU939c=; b=Gah3dw2RNMwqEg+ID/Q7N8RRaqzlU8gBlGYIaaFZehrDXL4tJzSBPSn2fL38NKHMmH 3ddKYf03cW+YuU5qiN1RA8ATSIYwW/fW2q+q6StPX158VCx06SI+wTyj0Lv/YuAgpMJa oL+aTIao9Y+7NVaIne4O/bals2WyZCFE5RS1ayeuOoM0KLX2BRO9nM1/2pRHMhHSQLg0 F2/e2ZZ/TkvmtyjNqZBl1Gg78UE0zzpehxCKgraX/cksHFEY37u/mr2/0qV/gAFB+9PU TgecDUG52iv+ZVPC6mD9P1lvELyBB/szmkMCZt2xymFnVenAuKubDL5ElSvvjWlvPSSf WdFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GkiJa612s69wtsJsqZ9gBQjB+UI22GYIWQ/+REU939c=; b=2yxC6/dwIMGC8xo0b5S5CtX45mOFGnr1g8OwPCrFfk3dwQ7v+aVLeRC9DjKeWmjkCH y3PW2aIoX0p9U2Vtbxxnl5SOf5F4kCpXMFxdXXpjj/N47epQgm655j1DOdErseQ5tGSp FX1smtu74BW7hgs0F4fpzC3H+PLkJjDOW6LcdIUHGciEcj5he8fxOz00f2h6eun6R9sr tePS7PQkJY+dFfLvrMfZRvpA78ZLspzTqj344bLM+v1i9Wxyv4TrlJ51fVQd2NBekBBI FARJrwypsDiEuKOaeox4BvOELXfkO7BzPOPe1unLEKDkNsDKG8gVyODYPG2w7v+bUaMe d3/g== X-Gm-Message-State: AOAM531AG0OM6Vkf4Gb6fplwY5DdrrbVLexcc8uOAXZngcIFa2w6oiUT fSe3wwHKNt/ZW2fqPzIB/MuNa8cH6hAQVGJMJLA= X-Google-Smtp-Source: ABdhPJxAWlq2HFWPML/FNIKUPW0w6noMepLVBD2xaORuseZX2NMHa7++ZdI14P2FzgnlgU4vha3mrg== X-Received: by 2002:a67:b103:: with SMTP id w3mr1104789vsl.84.1638995333998; Wed, 08 Dec 2021 12:28:53 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id q9sm2537227vkn.44.2021.12.08.12.28.53 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:53 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 12/43] gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:07 -0500 Message-Id: <20211208202838.752542-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 9d4903a8ca..298b9376a8 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -547,9 +547,16 @@ (define-public node-llparse-frontend-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:19 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:19 +0000 Received: from localhost ([127.0.0.1]:41591 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z1-0005sq-Aw for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:19 -0500 Received: from mail-ua1-f42.google.com ([209.85.222.42]:36854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yi-0005oB-HA for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:00 -0500 Received: by mail-ua1-f42.google.com with SMTP id r15so6939734uao.3 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zB8Q3gHUAjYZf7aD/m+qvVXNE+nk0p2Waz35RtU/tjw=; b=AXSyxpw5YbjCdNunQmky7CW3nY0hIu98zAo3EmnSkdY3quckkBvxjedEdUOjp9yQBF z+XVqXSE/6+HwDvzH484Nl8prTJGUu9EUJ6T/Pk18oGvF2238/pOBFMzEygjsMI1QfNq 5YvSD8uU5zOb5ULwKhCfWoftuY8d8GXQRz1ze/3rDtyG9HlNtYes1udIv5+/1jNlsn9J MBiJlIjkmNTAWNnxebiiv+kcWW44yxsXa0l95mTt925FM/En7hSnVJdO3wLWfAV10/Qv tTCAo3QkIQdF2QumL30q0iDkWLCfA2c1pXLtzOtUYsxPoc6tjjGCvFG9GFlNLOV5MI7Y 2Xhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zB8Q3gHUAjYZf7aD/m+qvVXNE+nk0p2Waz35RtU/tjw=; b=o0lB63RtokPiCBfbzrTEcs+oIsqYcNgv05U9CiCQDCpUjKsL/RBMZ35lUOECs5MReD 6Rc6FNLinT+bM13hrRKluUMMH1gJDtc30vNHdrHkahCCC95T4y9EqCHwMK0ChiKEqY4X m2x/KfutvOstdT3Ur6pGsLKe7kdIfOi+6EEH7v7kQ3+L1E2bPZe4hMeYugZHCY6CBq3H anjh58z7gIIXIlxpzjSGWogvZHP/Z8N3RqsTCNP0nudBOqq4nLSfETLUfyVcRmGa3Hhh pmmUAcO17KBqYR0aK3erBhvB/k2rdJ2odjahA0/C5E/6KeIzRPUiVHkDaz/6f3GccFoM ATAA== X-Gm-Message-State: AOAM53393zs4clt+2XbYiXEyWbfRVv2LjMJZFVwxc9Fm1HnwyOPDWy4r fdI1NtApNfQ9vKLT/8q7tSlwUzrPUuBa68MxxAE= X-Google-Smtp-Source: ABdhPJxiGJhMo1Eo2SxCsBYKgwf7TK7kBozAEd1h6BZ0hOegKXRPuT/+JkwPWe7qTKnMIq9NoeCRSg== X-Received: by 2002:a67:7302:: with SMTP id o2mr1268468vsc.68.1638995335053; Wed, 08 Dec 2021 12:28:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r20sm2435629vkq.15.2021.12.08.12.28.54 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:54 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 13/43] gnu: node-llparse-bootstrap: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:08 -0500 Message-Id: <20211208202838.752542-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. Add a new phase `#:delete-package-lock` to remove the problematic "package-lock.json". --- gnu/packages/node.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 298b9376a8..6d48816c77 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -609,9 +609,24 @@ (define-public node-llparse-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) + (add-before 'configure 'remove-package-lock + ;; Having package-lock.json seems to cause npm + ;; to look for things on the internet in the configure phase, + ;; even if we have them properly installed. + (lambda args + (delete-file-recursively "package-lock.json"))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:20 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:20 +0000 Received: from localhost ([127.0.0.1]:41594 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z1-0005t1-NW for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:20 -0500 Received: from mail-vk1-f172.google.com ([209.85.221.172]:46073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yj-0005oM-GU for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:01 -0500 Received: by mail-vk1-f172.google.com with SMTP id m19so2335569vko.12 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mbCEzsxFXNzbUn/m9lxyQ344wUbhcRY3RF9r5hsXjyM=; b=UUp5i7Qt4OZl4G3/AFbbqQ3QZJHDrcHuLwfJ8KBKUsLRuCmDo5JMZF+f9Qz+IXZ+Jl W4PYylwZBdRUVo+fKVOnOODzzxk25HNu4YGzccjrMcQzoxEduwtgezqevl9wYLqXlvoD edogmOKMJoU8AOfU3s7fvu8UsEER0fsY3Aa6TS6dxf2IKPbj5yOqKGJxXkIRbzvvh9VR gbeGe0560XCjAGJALKdIIzvaAuU1yXDy+ZimN6So1yL4bld8WHb/+3rQsBconkjBuPUD zyRr3TRJuM1Tdxftw0iCxlspmqx1RFUn4jgsuCD72v+MXtjyPR5isC/46gcGNhCMxt9P ZRSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mbCEzsxFXNzbUn/m9lxyQ344wUbhcRY3RF9r5hsXjyM=; b=eYazRlz4upec8+CBgl/13k/uZ0JWnruujhtQgs9HJSDTJsEHmHvGnIzzvyDZaHYONa CTOcpBtDcQ2JUO++CLbN47HSa/TzGduahweMwQCu9sbg/69wrnajlvr6WwH41rYOhuVD 0YEkeo1WGpqTj/2LB+mUACfNSGMPw9jmHpjKRejdABQDwXTV2vk/P+p+1u/efr01Hmbi 3W7KFqnWNPEfLPXaMdc8QUUgF2ooz293XlR/Rvux0sVvHnp++Xc5lPOjEyDcK1BLg+g4 zIQMPkN8bkfyWgvx//tvRJK/h8CcBFxaiCXStxub9zr/0QhjTUdAEfFMn0J+4iBIJdJ1 rjqg== X-Gm-Message-State: AOAM531TPPs/bZVJyWoavkLdZHi9pDrTTsG7cy2XwbHCEpmGxZ2lo4XW c0WL9PHdO4KJzPEEWomPaRKrxmzecIbz1HrxVk8= X-Google-Smtp-Source: ABdhPJxguJUECmyFArYb1hfbv+87F6tloE1z95/Buv8Ntdu4tsIEV+G+qbMkJgsMNUxa1CERgHGtjg== X-Received: by 2002:a1f:3807:: with SMTP id f7mr1367960vka.28.1638995336005; Wed, 08 Dec 2021 12:28:56 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s10sm2465748vkf.9.2021.12.08.12.28.55 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 14/43] gnu: node-semver: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:09 -0500 Message-Id: <20211208202838.752542-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 98c611f227..93a033d33e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -289,11 +289,10 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#: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)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:20 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:20 +0000 Received: from localhost ([127.0.0.1]:41596 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z2-0005tD-3H for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:20 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:40483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yk-0005ol-Db for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:02 -0500 Received: by mail-ua1-f41.google.com with SMTP id y5so6891526ual.7 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=rrgarsOG5qrDPqpcA3pfUfNYrtqtmYBYYCZ4jb/3Z+8=; b=Y/rav9bpIWrZGBKIU31mAPPVO2wDACltqn1LG4gCeiU1JO9SuJjEdPnXS6NnwOc297 pRgNDNHRqTdY3cqiptqXrATuzUIJzDQZoNYhWwiYumqz6lSU6f2IZTsrZG71xRw4qbBg lJanpdvBpSWkjtJevJG6HL9oyFyl+lx1xKg8dHGGoufJDJjZeD6sUL/zDuR/33xQvDeE M7Kr7hwS2slVbDD6bHAzAiecJZWPgvOKYJbf9SF8bgNknT54SGaT6FWVZ2IxigQMArRv Y614amU39KKxCoMO8k5Jp/N6wMBmkBTy5MQG+ryDbJ1hm7m/aeaP/wVlyUHeUZ/AklVE 9sTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rrgarsOG5qrDPqpcA3pfUfNYrtqtmYBYYCZ4jb/3Z+8=; b=nWX6M8/kjEl8DSJSx00kKoSNIhaESfpwZKp+KWJz8a6qgRjisgtkSdXFrhJOJngGWt J3KwgC1ZcS0rXHXL2pxfMZJbB/RUdrVTLydCf9nXVrTO9jT3dvJuMtgI0idkPrxOV5Qn ACihernmHOicGvTjUrqANZ9PF4q/7BL6xpXMEwADnRCWJml7zMlFRfwJfTb6vvUKX1g5 A37b73O7qWPzwo7oS4Ez+TeXPcKGfL/U0qiXPffAWq26cBmTWc0rdZOQ6L2Pmhgi0KOV ukV/Y2xSV1C2HNeUcCOGBhWE344V1vCWwBrwXlY4MEfv6V6cE6zanjVFUZyXAqHceqQY xKtA== X-Gm-Message-State: AOAM533tFYvu8ifzB1wgwSExtfEOWMNSY9ymljDWBTHrFcJ6iXbclGdU VJYeldO8gAtPr5UmZA1s9PCzwbv7KGua/VmT8ls= X-Google-Smtp-Source: ABdhPJzf3AXiI3flGD5+cY2yqnFDsh0Ltdbusbfvi1Agef+5TZbTeFBOoAhWcfGiGUfMaP2JNx7BkA== X-Received: by 2002:a05:6102:126a:: with SMTP id q10mr1252571vsg.42.1638995337004; Wed, 08 Dec 2021 12:28:57 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 92sm2373816uav.9.2021.12.08.12.28.56 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:56 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 15/43] gnu: node-wrappy: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:10 -0500 Message-Id: <20211208202838.752542-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 93a033d33e..77577cb315 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -316,10 +316,8 @@ (define-public node-wrappy (build-system node-build-system) (arguments '(#: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)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:20 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:21 +0000 Received: from localhost ([127.0.0.1]:41599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z2-0005tN-G3 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:20 -0500 Received: from mail-ua1-f46.google.com ([209.85.222.46]:44633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Ym-0005p0-DB for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:04 -0500 Received: by mail-ua1-f46.google.com with SMTP id p2so6851140uad.11 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ojMLjz/jyFKXXb+hBPomTkZw3w967K/vtlSskEGKkIE=; b=P3cceKZptsz58kGaXpD50kjz33Jm6w6aotTGYkvEMfMdLczQVzpmE1wRhnQOFfqWQu Opl32T9H3spfjwyahe67xMZRNNyUHgeMr1HHN8FM3CY5BXfGqPbgECGX6RWkx5rpz3Ic EelXmKyiX+tv6FgbtfO2Vglo2kP9aOFK7KA8q2eInyMl8+NShsvomezeh129baZcp/Xb OX/uQom5uZI5COXkU/lMzg5W9Bqvm1FP9LPvmgu7VlO4/bAVjQZkgM2aXNyJXmmRxNHh uyOOlCiElTvShQLOs1PxARJk9+ufw6O60ljQNEyILogh1mGceECXWNs6lbEYR3MRBCfJ g/Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ojMLjz/jyFKXXb+hBPomTkZw3w967K/vtlSskEGKkIE=; b=aScxGzkZUCuUqlwZflCuyOPyBeP7Oam+6brLWEb2Rjxmc8RN/KfMDpR5ye8M8FOt5O 5VP0kKqQt3bUDrSjYawHdwnKDiqf6kgOtnX6/g1VG4xnCpMLPhFcq6yKRa9OBDxRmbzL PtymXhU4Qq6LzFPGmx2e8mDckCQkRp1QcMrO1qHfDDAIegVsMe823jAI3yy0BCuCa9Qc AoYQCTS2SH82NlDHt3Eyj8lJ3AoRVGTguox9xAZThU31yXUEPt2SITS7rTCMC5U6jT6U zWQrmjyV4RsXAzgkbH0+KVszy6XLP7R9QLjx71MsFb4PkiPSuLhlgGxBVa+jfWYfAZQK Oh6Q== X-Gm-Message-State: AOAM532PgHjg714nRFkdsdmZDRAmpyg6d3rt/njFoTzrk1vjMEiOOf3w a1cyJLOVdwG7IHZRI1n+Ko6nWVBSLHwXpCvzEE0= X-Google-Smtp-Source: ABdhPJxOtp88hz2FmGjUTy+aqtVAIl9bcB/SK0pIqNR6AhzI6/n4rZJILVrjoXV/PLSsiYb3wRdHtA== X-Received: by 2002:ab0:67d7:: with SMTP id w23mr11470073uar.3.1638995338990; Wed, 08 Dec 2021 12:28:58 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 92sm2373866uav.9.2021.12.08.12.28.58 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:58 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 17/43] gnu: node-irc-colors: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:12 -0500 Message-Id: <20211208202838.752542-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index eb071320cd..9646c14243 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -367,12 +367,10 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("istanbul" + "vows") + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:21 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:21 +0000 Received: from localhost ([127.0.0.1]:41601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z2-0005ta-SZ for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:21 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:38685) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yn-0005p7-Ex for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:05 -0500 Received: by mail-ua1-f51.google.com with SMTP id w23so6926298uao.5 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=feDGPCoF9k7nqW0jkPTEDiu1HOZFsAcDjCrWloKVQvk=; b=ZVlyQ3xDchKY4XAU7WsWhybLokrIVe/NSiaNLkTUpx4FlLYq/nHcsrt3sI8TjaV1Pk a4gdywwF8K5kwwOomvXosFNrn8z/1TAGDqeCetiURhFXm8nMCUu03p/05pV1wqywpYHu WNY77SKIwYgSdLGiU/5hqepkfpvcijUaEJFcmgpLSP+TZMlIuz3QSO4bGn4GHYhaPhBO aWlMA9TYpQ/29B9nSsI4RpxP9l230UfAO5J7WaGH52VQ/kT8ZbPRU0O6waEJnE5If0pX zyYnhsBJgSx1erPAbxluLJitYyc2rLxvYMGjEt1cZhjTC3Y6/NpeSLdKVlhOVgCThyz7 LS3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=feDGPCoF9k7nqW0jkPTEDiu1HOZFsAcDjCrWloKVQvk=; b=X8eIWTh6fXzyyizlwai/UZXGBJptgHXVlnusDLG1GGfVeqqJr4utINC7hfaDD669aH qgbPrgrtmgN4Z1QXR4ai8gB1WYD+LbQfJqByq8Esn9QJYsswUHkbXDALEUwG+oeTWN04 mR+1u7fExyrF66HW/pLp8aL4MM0vTEmzTOTWX+uj/WP7YfFPKWSK3NaJ3pGBk4sRDPaX MXvJbvr+Gw1LItd2roL/sYIo3s/3Jzk4lo3+crYtAFc5nS4HVyWSHqnIJIbAM0RrDjJw RcKl31sAdJJehRwihLccov+l2UT0KOubiLRZ2Qg1dPDUZvXSPRwKnMerlPGhNK3O4cEt cuuA== X-Gm-Message-State: AOAM530/zAnzbXTvkrr2+FH+2C7aij9E6Tt17rM59beBpEZxNuYyxWAQ 8fJDQb0GtrjrFeLLiUOIR5MVR5wWA+LprIUmAa4= X-Google-Smtp-Source: ABdhPJwpLC2OLOFd5EF7xOkW618G1+1HPOHJ90MPh0/TIP5++3tYfhwHtlVdmebCbvsEaaa+rv7WKg== X-Received: by 2002:a05:6102:b01:: with SMTP id b1mr1227889vst.64.1638995339922; Wed, 08 Dec 2021 12:28:59 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 186sm2546187vsd.30.2021.12.08.12.28.59 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:59 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 18/43] gnu: node-irc: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:13 -0500 Message-Id: <20211208202838.752542-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9646c14243..998d0a9a90 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -394,12 +394,12 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("ansi-color" + "faucet" + "jscs" + "tape") + #:tests? #f)) (inputs `(("node-irc-colors" ,node-irc-colors))) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:21 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:21 +0000 Received: from localhost ([127.0.0.1]:41603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z3-0005ti-7L for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:21 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:39780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yl-0005ot-D4 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:07 -0500 Received: by mail-ua1-f53.google.com with SMTP id i6so6895885uae.6 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Zv0Max/Z0M9eGARhkXdFbG7nRPnZrOIPjGOnHvaOK6E=; b=fq31rTmHjtSFp3r/m+ljwCtqrn3uNr/H1DWMKqJ2qSZRYYSghjuPQl1LTFW8HPjVFa 5snLNjpKZd8zvJkbRsxSfyEB3KyeVWjIIjO5b9BOt7wDcMxGzj6iKFkTUeMFU8u7MPv0 UP63xscPdiSgZhEsUMjE90ONevqW3+yXdY33xTomGkTSAxS0G5UC7KCs6OphK1jsSvrZ w2j1QTmpZRaHHp/E87JDVSoci+3Ijzn6pBbue4xWWiaQYSTbwNOUOfMyNBoIRt13FbMC dcAoBUn0XR5g7aKjTVtC71E7oeDL2bffil3lhXs3t5+ut80TsYYrV81L4bwTcd/UqvVV 1dLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Zv0Max/Z0M9eGARhkXdFbG7nRPnZrOIPjGOnHvaOK6E=; b=7nv32hUPXLgaY8ysTIoSgn5rXz8ImvHIO/lYILxVcLdc6zzlu+qeG1RKBFOnC9URpQ ZpWm7hpqHeWpzt8QqEhmnc78Alq4PNLkbdzPRJgry+4zZ0KWOeeU4Cb4xPUW0MYmGIAe C6cCN0OaOuYrkTKnm7Dm37jEc5+ApsXN8ChTjB2U6PVmrKoiMGYDawR5GfieiZh17by2 lwFFl8IVYzeiY6S+jzXVvS6HhdTBcesssYWSF22bEiBoXn21hkvfq3wV/DfSG398dzDn T54+xHuZX+mkDScg4AXbaB1ucD3EhplEe7OF3F/tGsrU3pYHwbhqvLJrgcNdBFD7DU2y jokg== X-Gm-Message-State: AOAM530mUeBVWj8SRd3onfv1r3cduwfSpQSsVIlELjJ1otTf2csFg9NY MZ4RB3SrNkyw+6SS5/MpqC1Y/Sb84CldKwut35Y= X-Google-Smtp-Source: ABdhPJxTBxnVkjQ/m4kwXe2JkYw3KqbOc/gT3+Kh587EcE6/AAafYRl3xY1M1GpeaGL3ZY9X7D2s3A== X-Received: by 2002:a05:6102:f12:: with SMTP id v18mr1125513vss.0.1638995337992; Wed, 08 Dec 2021 12:28:57 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id z188sm2234432vsz.12.2021.12.08.12.28.57 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:28:57 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 16/43] gnu: node-once: Use #:absent-dependencies. Date: Wed, 8 Dec 2021 15:28:11 -0500 Message-Id: <20211208202838.752542-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 77577cb315..eb071320cd 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -338,13 +338,10 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs `(("node-wrappy" ,node-wrappy))) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:22 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:22 +0000 Received: from localhost ([127.0.0.1]:41605 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z3-0005tp-H0 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:21 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:44638) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yq-0005pf-G9 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:15 -0500 Received: by mail-ua1-f41.google.com with SMTP id p2so6851394uad.11 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GmQf+3nyLP4yk1qa1kKSk5fMjvztBAE12UbCFxQNkvY=; b=h9IolEJnWkmuHo/bCQbPmsSBo5X/7BndU8II0cCMyki42VSeIikQCNgNSMDV1e7T09 z6LuaYH+XSE8lAqLx8ehdfaA7LXAzlWM8aqlVZcaVcMxE1gzS0YRqvEsWlFtMfWJCsdM Nb8lyoxMT2w0OIKlTRVl8LESMi+OlPYKYPpGkdmY0D4Trr8Rvbo6BJ3nb/3BU24eUa0j 0vLBd0JCIC/ITvuPoyJULSn8lJXdriBiRGkUn1R4QVJzIzkTKpc7P6YGVHQ0t+Ptrp/f MGLZdqDYsPsDCu/5Lvi9DjeBQzBbltx1eHVZDHYHiCTYRnBYtmUpNFeDZBipse24k/3s T31w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GmQf+3nyLP4yk1qa1kKSk5fMjvztBAE12UbCFxQNkvY=; b=o1Czd+SKkp/qAyNlI4cZthugL9OUiCpeF/irmmcI7JYL3aeVp8Tf0f/neUf8ugdc5d 1eF2X3FvFct/ceMGLUnu+hZXl/u++VK7VGNqO/dNztUdq07i7xJPeB2eO0ezg+zJxRSW +v1ab4QTiLGP4Jk0E9xn1RB1y7hKgtOSyfouImBCzcSy2luc5Hq1mXoX7wBrd763Ard1 WMUAwYCb7dQJiYtOJq2VKQSD7WKv+dLdufqy1eAJsmybc9oVyVbOa0BbJVx1wabEDShg eJBY5LoN75q4XEt3LDV3VF/6fWLv8sY8SrVW6w4HePpQueJejRoYMumPF3OGaVxqGNC5 evBg== X-Gm-Message-State: AOAM532CXFd3XLPvn6M6VAFZWbIVhvXBhRGC7op6aZEnQhqGGi+HWXOB hnJkAJ+MIYyRSUh/UKqhTOc0gHjWjfnKGaczbzU= X-Google-Smtp-Source: ABdhPJylVEkCxiJqA6C1ioMt9LJ91O4WD29rIEnyC526CdRzM2/QpEhu63BQ/q48KdB58g3Na2dJJA== X-Received: by 2002:a9f:2c4a:: with SMTP id s10mr11151294uaj.50.1638995341962; Wed, 08 Dec 2021 12:29:01 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id q26sm2648089vsp.23.2021.12.08.12.29.01 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:01 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 20/43] guix: node-build-system: Add delete-lockfiles phase. Date: Wed, 8 Dec 2021 15:28:15 -0500 Message-Id: <20211208202838.752542-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (delete-lockfiles): New function. Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist. Because these files specify dependency both exact versions and integrity hashes, they only cause problems for Guix. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. --- gnu/packages/node.scm | 12 ------------ guix/build/node-build-system.scm | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6d48816c77..5289e2fe4f 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -488,12 +488,6 @@ (define-public node-llparse-builder-bootstrap "typescript") #:phases (modify-phases %standard-phases - (add-before 'configure 'remove-package-lock - ;; Having package-lock.json seems to cause npm - ;; to look for things on the internet in the configure phase, - ;; even if we have them properly installed. - (lambda args - (delete-file-recursively "package-lock.json"))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") @@ -621,12 +615,6 @@ (define-public node-llparse-bootstrap "typescript") #:phases (modify-phases %standard-phases - (add-before 'configure 'remove-package-lock - ;; Having package-lock.json seems to cause npm - ;; to look for things on the internet in the configure phase, - ;; even if we have them properly installed. - (lambda args - (delete-file-recursively "package-lock.json"))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 249b3deee6..892104b6d2 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -118,6 +118,17 @@ (define (resolve-dependencies meta-alist meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -168,6 +179,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:26 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:26 +0000 Received: from localhost ([127.0.0.1]:41607 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z4-0005tx-0C for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:22 -0500 Received: from mail-vk1-f175.google.com ([209.85.221.175]:43568) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yq-0005pK-Hl for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:15 -0500 Received: by mail-vk1-f175.google.com with SMTP id f7so2343180vkf.10 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Snc6DwrRiD/cOxhQ9nOOo8DfqibULx1Ev/pz6Q2mgSA=; b=WRysdaSkoPu2sy0JfGlU10grTyIPMCGYTOWiHtkWTbpmICAF+oWwZAJr/KPJnTYM6/ PhoiPwWI/ln8rJPXSwGYqjp+bbm2GrGRaUMwF3j2aALqZ0SBMRAysmERaLOJoxXUTZ+8 3aI151H2HVLn4fyAgPjc1y1RqMx6lq8/q0A7xVBp9HUC0oUD5y+VT8aofPNvU13HT3N7 qV8nZ5d2kmZLQg2AkH+KFGGOyUtFzCG+x0ZKpqMM3OhBOB2hojHEQFtW8jewhVmxdpj4 1YqOMmAc/ft3b0HzsuI/f7I4uCEVH64LdYb5vB8S7gCHI9NKyCCT+lG6GHZMBt0qAwmq JnYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Snc6DwrRiD/cOxhQ9nOOo8DfqibULx1Ev/pz6Q2mgSA=; b=SGKZi+pJ5tHZJOk8ErmvU7N+doadtNDO3RDmX0x7RN9UgF5gQwSDr7MbslfPcQN1ZG fkp5AqPwWZKpn5kk0roPcHu+56iKxPg1BQ5hgyngTbxKoaMaWG4uJvPzO43A5fYaWyIC U5ps01yK3gzMXwc2CzrptAq2BhQGJ1vIyhNv6jzRGZNEYQ+QXarADL5JWSokLCK4TDmb j0Z10ZaMKQC7s/CwZN88UOVQBJ5X/T0/hmVyak0ao7qc3oQJg4PcjVt7Lxs6NVrbhdh8 8VX5GiD9f4h2W12EI8g6GGUAHjsDO8inLLZ03BiggUl4uifA35+pX5s++OY7NcV8sJ85 XujQ== X-Gm-Message-State: AOAM533rRUFjqKCowQjGHOzr7EcpPJek7/SAuq05Bln3yjw6HHZIlcZK nq3+vCiojKa8bA4RAhHcm1/DSTZJqqjZSdw+JTI= X-Google-Smtp-Source: ABdhPJzvJqWdfgKB+hfCCIYPvAk3x8xb+AdE6tztEwb/mMAofB/bKGwguvTB1rb36bRIDYH0aHlbvg== X-Received: by 2002:a1f:450a:: with SMTP id s10mr1342497vka.29.1638995340980; Wed, 08 Dec 2021 12:29:00 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f11sm2467691vkk.50.2021.12.08.12.29.00 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:00 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 19/43] guix: node-build-system: Add implicit libuv input. Date: Wed, 8 Dec 2021 15:28:14 -0500 Message-Id: <20211208202838.752542-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 4f437f9c0d..179da65ee8 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,10 +61,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:27 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:27 +0000 Received: from localhost ([127.0.0.1]:41611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z8-0005uD-Ff for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:27 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:33670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Ys-0005qY-Io for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:16 -0500 Received: by mail-ua1-f41.google.com with SMTP id a14so7021355uak.0 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=pLwK59KfKzSeilA++Kp0Cllh4FKRX2jv0tBtW2Jiti8=; b=irWrPzCUHD3MKgwnW8kzZ1NbClHLeiWkDE64dBCfkA35zrMGaAZZnyUHL6s7PfEF30 mz2jIjTmf+BDvbRyY8Z3JdZ6bnazAG7sVr5Qcqpp0XeMKVIaeXO9s5HaUwaOYSs7W87d 6rQNVeFbC3GZXV49DFAbASPqUQd+t+1CdwNrCbVvDBabz7WqOgMC6J/PLPqxn0tV7qWR X96yByv5zP8yac+9t683a9OMlOu/06O0HpslSh774rpn4lBPFGacxCjYbtwat+8QJD9r 5pTGufZRdVqNNCNrwIJ/p2I/233F8ryK5zZc5OB0NMqyCT4HOkUisI4u0+5TwB9rorh5 7TDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pLwK59KfKzSeilA++Kp0Cllh4FKRX2jv0tBtW2Jiti8=; b=YNah4q63mY4o18R9Ka8wOn1vb65LDrRpfenOMxIZkSjH+kqAT50lfR9wo++1de10Oz HgVRLh2ryPEvcpvrVM2syhI9fauksmbtpSBS5i3BRhbVotw/l4wX8FB6q4mVap9NjlIL flpFpysoXktmczZMq8crQ5T28GE47KHAx4Q70BQOQUXGuOosCgwbs3O2bkQYJkrddBVA Bvw2eXjkAQCkHhlkv/i8/+9oGNt65EV82nf5dNYgQA97zld7qt1yA2L5+5RxYTGkNMJX oO/4mdHQPd80uD1ymn89Oo1N9W4SiLnZvPvX7yUl0nyD+9qP02xNXT0keDKu9soJMSAZ hb5g== X-Gm-Message-State: AOAM530qZZell0jE7QIdaNLFvcfM4maDxY5mM0BhbVgS7sw2LfAH3DHo zsCdrQKLTWTr671Q2ZOkx4rPDa19LmeU6MuluDE= X-Google-Smtp-Source: ABdhPJximwKr0R5dG6stHKXrtNLLypvtTOSNk5GarTgbTKYhYE3gLr8dcKEscHrCtDrXXqMBPG32PQ== X-Received: by 2002:a05:6102:cd2:: with SMTP id g18mr1160713vst.71.1638995345125; Wed, 08 Dec 2021 12:29:05 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o128sm2439736vsc.7.2021.12.08.12.29.04 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 23/43] gnu: Add node-safe-buffer. Date: Wed, 8 Dec 2021 15:28:18 -0500 Message-Id: <20211208202838.752542-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9d8bf27852..6dff0ddba5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -382,6 +382,34 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tape" + "standard") + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:27 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:27 +0000 Received: from localhost ([127.0.0.1]:41614 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z9-0005uX-9D for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:27 -0500 Received: from mail-ua1-f48.google.com ([209.85.222.48]:41841) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yt-0005qf-JT for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:16 -0500 Received: by mail-ua1-f48.google.com with SMTP id p37so6884681uae.8 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=h92M6cwNYqgQ6JGJIf9VzYOMEG4L/N3bg93emHyzF0U=; b=hdNlnbVK0R79wgMxgysmgtDO0v7KpcfUhKWvViEbxqAxbR0IDKBJ8ehxMr3475egRD rdBs078OdW8Uap8PeXhFhc8bE9pIrlVezcPZAJwg9t1b2/v+QmHt/7vhytRaomyyrr+M gh4uW+t3//5kNKURytdYXG+DT55AMEyI/LRl+1sqH6jb36+y2QMmkY7GfsGdlzsrr6di 5HAwPpYUwcD61eFNz9wK8ZuO3jDmEUQtR2HxFUhY2W1jizulPdaJ5Z+CD7lh403z6MV5 OZtYELCnVBSHsECqU60wQ/OBqRaFq5s0fcCsrBtTR9+MCpo8Tvcd5bcaiEOzNMqJaZPg AO4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h92M6cwNYqgQ6JGJIf9VzYOMEG4L/N3bg93emHyzF0U=; b=tOc2/8KuW4TVPkJmNQy+YYwg6dIyGfrAc2pFYxkCK+ytyq/boMNA51ZvpKQSrvdo61 MN+lwPYp3HzP9KNgPh3jE7aZv6Vnqn9j3YK5WLrtmLTFF8M59zLkbU/3mufmdgw3D/Cl vyPrzejMU8Tyg0ohyjYwhoFIuyRbhl8GPJmmHEHzsvThvuQUK+ZL8hFyT5BdX7ibzPga m0JSz/xT/8yal12izaL7FpUIYlxIDIV4oHK2BVYdH8js25QAHSUZ+97/9HJaqNVvasH5 v0avovwFFXPVVreB/ufiUg4U9hobtH9GsMdaVKVtJ52SSPLHk8NRUhWNjlUliOxWFAOq JaQw== X-Gm-Message-State: AOAM531AW1gmV5zhuMlGXFM2MoL9lz3b2imG+4n2TCbveTKC6BOojCuH OcquAmI6U+Kgpqh6eSXWXwlqiCe9CxUnlLnvBnk= X-Google-Smtp-Source: ABdhPJwV9ZUCI44hF8eidYxbHRPsmPGGLC4bw9xrAJzrHmyUhMBl1FlRwTvlvK3ulw/1tZqScm2qWg== X-Received: by 2002:a05:6102:c86:: with SMTP id f6mr1123829vst.38.1638995346071; Wed, 08 Dec 2021 12:29:06 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i24sm2541268vkk.5.2021.12.08.12.29.05 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:05 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 24/43] gnu: Add node-string-decoder. Date: Wed, 8 Dec 2021 15:28:19 -0500 Message-Id: <20211208202838.752542-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6dff0ddba5..c6cce64f7d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -410,6 +410,40 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap" + "core-util-is" + "babel-polyfill") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + `(("node-safe-buffer" ,node-safe-buffer) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:51 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:51 +0000 Received: from localhost ([127.0.0.1]:41623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZW-0005vm-Lr for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:50 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:40518) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yr-0005qN-Ez for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:16 -0500 Received: by mail-ua1-f53.google.com with SMTP id y5so6892114ual.7 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=TkzUiJnNGw9ur1c48y1bhJnpwmx0e71utk5vh1CJDY4=; b=hmvowKm+fGxaAWMTRGUnv37fauzYbbygyyLJQVBnEocP0YTxGWqqN5vvgjxALi4ize lBUohM+BN3tMgVZGGHXjOa4pPQB6APOo1vTza7LduT0AEtKlCKGutvEOdUl65nUeGRt5 NUzSDHf24jPqWC07EcS/yAt0FJcoGJbu9bBmeuwo7CyAS5/yrDZ5Ue5K4t8OFMWu8iat Xy/3psber5AfVfEU3vzLEyLsWHYBtQOgAOt9TnQKA0iKESjuGS2B5b9xLhatAGK8R50R 5/v4mapc1+xkQuwU/E4L6tSva/tnBPK5kpqRRfJRnQ7UWLrMmaWK5C6yPMRnvVrkA500 xILA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TkzUiJnNGw9ur1c48y1bhJnpwmx0e71utk5vh1CJDY4=; b=xto/PZF4MZYoriVZHYZihxsfoYQTypZPQNn8qwJrTMlGUjSIUyEvwvIQhsexnf5A6e WoNs5Wncj8fgKUUMKS0V+h1qBNasKdh6HIW8KxpF6oMv916Yu1lJxgj7Nk+xb2pkotLu Zi1JJERBBE9S+PHOFY9hlnqufsw1JOdATrLQMp8RLtg5fDJqLlEC9Mdzr2RxmVmKk2Su vnrNhmQi91W7lFkAZmVUDT2Wdsyl9p/zFNagAMUvzkuyRqPmLJ7qmv1a9fE3yVBLT4hd QBGp4inM5Zr70ChLWVynFkWvDw6yKIgy0NlFh4OzCYGVkT4OdIUso34VpQOinCuIv+SQ 4a4A== X-Gm-Message-State: AOAM5316wfMGeV+B2AuYQXR4bCW0gstYgQ/uF683+IBGEllgoMm+4FwX zn7TN74f10cDGWGpne1M9bxT1KYN9MmD8ko3s3M= X-Google-Smtp-Source: ABdhPJxvhP1gR7BlPXQqlM+c8pq6opsbpA4cMu7jVCxkxAuVVeELtBdIr2yaPGVxEYwg29TmgAizIw== X-Received: by 2002:a05:6102:7b3:: with SMTP id x19mr1116295vsg.24.1638995343992; Wed, 08 Dec 2021 12:29:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 66sm2667195uao.0.2021.12.08.12.29.03 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 22/43] gnu: Add node-inherits. Date: Wed, 8 Dec 2021 15:28:17 -0500 Message-Id: <20211208202838.752542-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 998d0a9a90..9d8bf27852 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -352,6 +353,35 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:51 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:51 +0000 Received: from localhost ([127.0.0.1]:41625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZX-0005vp-1L for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:51 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:40521) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yu-0005r7-PL for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:17 -0500 Received: by mail-ua1-f44.google.com with SMTP id y5so6892374ual.7 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RWVeazkP2j3GU7pQskCDix0dS4jhUU4VJh2ldcV7US8=; b=QTgaOH05Pxjyme4v2KDD+VweHj6CYeP4PPjLvKRjVc5h2TDfi/RFKeOakideNvSCTb b2aqhCvMpnqqtKk7MpL4rdNXn0W9x2dPW/LWy3P78X4bn43alsFnC2xQebALGP6fs1E4 1kImqgZimC/RGBdxMnxQ1naY+F+zXVP6YBbeBVDFhDvDLQGdlj3y6cQMUFEmBbwLycin CBuMmcAomel5DeYwWyoBKutrNodkUUgoBdkbr4PJXH9cpmAXo3P1Dx3nN2s9Vapc3nC1 urBUM1YPF00PFssw6AM/YYQd9/SPD+wX7hBTkCnRQcnQOaYQL6AQh8Bms4Xhd94+9Ekz MqVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RWVeazkP2j3GU7pQskCDix0dS4jhUU4VJh2ldcV7US8=; b=ktMEb2/b4hEGSSHcTH/fS6QJTjNqeakUEq63Hd5e/jW+mRQdEldXMMHq5F40JcFT/p UIiBezOQm2OffbnDK/2wQ8TxFhELV8Y0XQehSCtoFL/tzZSr8yWP86+lL6LWlz7whSd1 9s8XA9c3CWxCvEOJ/SY2OkPrQzYl5+13QA39CXQ8JCmUgfzE08Ei8T2JUaWqKYzB2ytE vcPxt/qxxLJmeS/15ctLHKejki8556vJ1TzkwNC5jyfl/l5qDvUbLRx26g+TJXlM/OrC 8Al0Y9q4mnykHxny8udUda/BmOcp8a5fEKo5gxscU2T64OAHKVZrrjNIS3GnIXIrq9V2 aGSA== X-Gm-Message-State: AOAM532F9r/w+dMWq7cK+YAgB1tCu5d5gJBG+VlLGuIhpdkIe2YwieNI +tuj0Dvn9JduFQ6ScRxf7rGviZMNercVGCKGiW4= X-Google-Smtp-Source: ABdhPJxvK9bAfyh5a56incCIbTrH1Yi+MRBTMtodNgj4aLcNB3Ru3mM322HY3q2TogGTIYaIikgrkA== X-Received: by 2002:ab0:3301:: with SMTP id r1mr11384676uao.96.1638995347242; Wed, 08 Dec 2021 12:29:07 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u145sm2666376vsu.25.2021.12.08.12.29.06 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:06 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 25/43] gnu: Add node-readable-stream. Date: Wed, 8 Dec 2021 15:28:20 -0500 Message-Id: <20211208202838.752542-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c6cce64f7d..3e06413908 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -444,6 +444,60 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify") + #:tests? #f)) + (inputs + `(("node-util-deprecate" ,node-util-deprecate) + ("node-string-decoder" ,node-string-decoder) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:51 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:51 +0000 Received: from localhost ([127.0.0.1]:41627 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZX-0005vw-Ba for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:51 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:36394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yv-0005r8-Lv for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:17 -0500 Received: by mail-ua1-f51.google.com with SMTP id r15so6940742uao.3 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=FlWDIicS3Q3yKZ0NRTXIzyixRW10lYA3Fo1yCGKwnBw=; b=KoxCzd8DwIWp+PE3VgG9iMmZVcqOPwT4avV2X44bHFnQc+gPCc9wpibPPYosVAmyKe /DCJNJOq/CqIaKqTO82aXl7cePktHI0gYayZJtGrW53ZIQd0IZCeqtp8d2evFssnf8Xg D0NaSISWzrBPyqL/6fxbQGJ0w+OKG/fmA28sWB/uu0fHUunx+9xyHo6sKsw1RO4eYRpu zz8caJbvLdpmpNNa2NgiDPeWjq3htpgjl/ihcHH7rMP2Lc7weiwucM7gzw4ZOlnuL5Ng 9pt8/t6HzVEPDY1VVNLF6C40ZUta398hZR8UED9wMEkCuDndLJ5eH3G0Nc7K/H9vQMjB Fi0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FlWDIicS3Q3yKZ0NRTXIzyixRW10lYA3Fo1yCGKwnBw=; b=hBAGmw8VmXeNous85wBtuR4G+gGnSHJiMLFHZtQgOnDXjsAUoQXidnXlCIE6lYVebN 8VeQwA/wDzDyxYz9BGr+kRmywDs9v08EcAOHU9znkmppJzpfE6NwQ98KRDLdZTaRVAAE C0Z95wma9WhPNIIhAYRGKl6N+owaaBm7catfny5+Re4fMex2eVkGVLg1Pef0cTOIPNuC sqa3cdyqQtLFgm+6gkTq96sPUmok0q2EhRmnoAXgKDTS9ULTpQRQZ+okh7BXDYrKzAi4 T6aTvcxIXgxR/RYDwxf0pGcsZhMUyqp9hHkcerQhu3jtFvwGa3vEiPoy349qX6FFEBYG byaw== X-Gm-Message-State: AOAM53302Gyy1aCDwylNVsGZMy2AMrQk6aaNYHfU7U9WRhMVu37xki6X q6XtbNjL9hU8JgLAfXGEBteCbqYCMNPn9cZmCHY= X-Google-Smtp-Source: ABdhPJxoupvR4+lGix+FCWTe232lVDnxueSu/VmbY6VQmCtrWrHeXBRJuDURXX1IYVb4+YsOkHgGzQ== X-Received: by 2002:ab0:6f47:: with SMTP id r7mr11392093uat.85.1638995348198; Wed, 08 Dec 2021 12:29:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 92sm2425055uar.19.2021.12.08.12.29.07 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 26/43] gnu: Add node-nan. Date: Wed, 8 Dec 2021 15:28:21 -0500 Message-Id: <20211208202838.752542-27-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3e06413908..ed169c0778 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -553,3 +553,47 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:tests? + ;; tests need tap and other dependencies + #f + #:absent-dependencies + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend"))) + (inputs + `(("readable-stream" ,node-readable-stream))) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "A header file filled with macro and utility goodness for +making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16. + +Thanks to the crazy changes in V8 (and some in Node core), keeping native +addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is +a minor nightmare. The goal of this project is to store all logic necessary +to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:51 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:52 +0000 Received: from localhost ([127.0.0.1]:41629 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZX-0005w3-JW for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:51 -0500 Received: from mail-vk1-f171.google.com ([209.85.221.171]:37761) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yx-0005rC-MX for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:17 -0500 Received: by mail-vk1-f171.google.com with SMTP id e27so2373638vkd.4 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GOfT5efxp3W1RoTTbqJYi7kpaw3hg0vmi3aqGO2Gvjc=; b=KS53zaKW5f94ZvY1AiNVCnP3Kq085sGH5chTFxx5f9OXbRZsiMqxJSBw/Xe6Nn5vAX Dw+8qK5wNL5zSPQ+a18R1GuEjbwcfao6qsP4txSviM9tv+bvDSjh98r71eUDH7UktVhv EQ5wXlAO0DobuKtBJ3A43/ELj1Ch+j5dKRztzOKnuK/GaIB34uBFTdhWQn0vHoLjYML3 OGfI2ZAUB2yfKyEoixoYZRex7DuLFxdXk9Yeht1gAdA684+vIvXknWVPc8htMIbhKdak a/CPfjAtJGjjA3Uu+isPQac8FBC2RXcYvTXCrwj4Y3FGCK51PouCL5pZKtcuvaAkdUUJ VT1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GOfT5efxp3W1RoTTbqJYi7kpaw3hg0vmi3aqGO2Gvjc=; b=TscqsSDhhr9nZ3uaXSPctFmbQ+R23snJfyLkXtnXFkekH+S1UYSmnZU0T6Yar1cW9V sRNmUySesGCbxC/y+Ndg1iVKDdiEAYcaSnAGzqkX7x1Y5dHMRHeXQncDheEoio+YZkop kYNIPJJLBtBUwRhDB/q0dplKufPXbCj7nf5kTWUozuAvpYU/IwhugfJdOAAeq559CGQZ vfAmFLWy3YOjUU0PNMP/IO1Eo9FozP5Y8AhSafLVMq8oqJOtbmT+cRk3svQ7lKNbHuiq irWOYRlgS2A/gHlcn7uAHR+MlzQzTKOqNO4LoYQSQhOK/oqKPmdBErov2k1ToL0ryE7X Q5NA== X-Gm-Message-State: AOAM531INIrvaXIXr6++WuoZ0yLgMMj7IiuKeOkuDE12u/VYC4xzdkj6 JQSIA+ZIc9UsrEuuz5ZrnyCfJh3q/Nc3WFDQarE= X-Google-Smtp-Source: ABdhPJxwDHrFH36FbQUjOY+VTBnvPLZqa/pHjrktHwb+trcthoPx5Zer19aYIWUSgZRYVGmDopuaLw== X-Received: by 2002:a05:6122:54e:: with SMTP id y14mr1227203vko.24.1638995350156; Wed, 08 Dec 2021 12:29:10 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w11sm2494093vkm.14.2021.12.08.12.29.09 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:10 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 28/43] gnu: Add node-addon-api. Date: Wed, 8 Dec 2021 15:28:23 -0500 Message-Id: <20211208202838.752542-29-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ed169c0778..60dbfc163c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -597,3 +600,63 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + `(("python" ,python))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit" + "safe-buffer") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (substitute* "package.json" + (("\"test\": \"node test\"") + "\"test\": \"echo stopping after pretest on Guix\""))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:52 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:52 +0000 Received: from localhost ([127.0.0.1]:41631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZX-0005wA-Uo for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:52 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:35791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yw-0005rA-MI for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:17 -0500 Received: by mail-vk1-f174.google.com with SMTP id q21so2367726vkn.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=YkLFi4eXUGryL51luQyPQd18ZOuo6/o9TnqK4328K2I=; b=NwehvuC5vXAoNbhOmQlQ/T3biW5UyKiePZWPadgX2kyUnldz9JkF83Cevu6eabkuiB DYNXBjIhfu75elwlNZ3vz40p8dxRx7fNfOaC+tJOd4Fa8A0WRjTMrQPwJmZP8AEp73/7 2y40HVhfFohwv3TNQZly7i92pAbP/DBFTutJuBXCS9HCseBRb4/8IRXLYYPuxs1c8A4x ab0w6bF+I5MgCdKjwpWbtLvOnZp9lLOXBOhUEheOWQUD68LmH2VCVCPNny10HxZmEqXF 1nuWIzdyveNHNQzEfoukQPc2y6owljTVcpGB6YvR8jOnMmVLkyJV4dCAQO2qmAVqyju7 2a8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YkLFi4eXUGryL51luQyPQd18ZOuo6/o9TnqK4328K2I=; b=hkN4xCkjATTrmrkuN9MlxI7+1EOin7KsTFPQvFZUV16gU4X4OcOZfMU6Npn96zOcdl uD9cSX9v0u7MVT+ibPGUIo97xTwFiRIOviPF53Dbsrcr4gYLpr4rqF7FXJkfUFIhlSP2 AZcG46H92319W9WVP6oLQ+Ajewyd1DSK5QMXbG2tac75PdSOc+bn61J96kw51VoxlLhS 5QfpZpBDpLbGR8ALuea4lnE7ZN+e6GK7m97DOReVgEWb31rpN613INwfY7G08ZVk5vuM ioxAqIXtM8gRI1jaYtfCZqj7fLpj1M9HSzJvK/UFwb4CMcGFp1mjrBwSEAfXX4D5Khda c2Rw== X-Gm-Message-State: AOAM530ze1Yy9ts9arK9ceD9gLR59WYwnQ8d2ro+fv5Sk+4xLQT0L3sG ux8JLwNtW/wxvJ+tGWxTjE9/8PrYLJPpmWPbRBk= X-Google-Smtp-Source: ABdhPJy1Gg9fPGCv9j+j8juG+p9LxaXVskCZNisAcS1LvzwLEEumKDW7ljC0ZbWAuC/HIhw9wLSFLA== X-Received: by 2002:a05:6122:54b:: with SMTP id y11mr1456692vko.16.1638995349064; Wed, 08 Dec 2021 12:29:09 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id c21sm2495185vso.21.2021.12.08.12.29.08 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 27/43] gnu: Add node-openzwave-shared. Date: Wed, 8 Dec 2021 15:28:22 -0500 Message-Id: <20211208202838.752542-28-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 2019ec32df..586cd66e1d 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -88,3 +92,64 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + `(("open-zwave" ,open-zwave) + ("node-nan" ,node-nan))) + (native-inputs + `(("which" ,which) + ("python" ,python) + ("pkg-config" ,pkg-config))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (define node-dir + (assoc-ref inputs "node")) + (invoke (string-append node-dir "/bin/npx") + "--call" + (string-append + node-dir + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp" + " " + "rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:52 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:53 +0000 Received: from localhost ([127.0.0.1]:41633 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZY-0005wI-By for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:52 -0500 Received: from mail-vk1-f173.google.com ([209.85.221.173]:47003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yy-0005rE-NG for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:18 -0500 Received: by mail-vk1-f173.google.com with SMTP id m16so2302168vkl.13 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HwHKjvqPi/qexahkWysEoNyVq/q9nvVYXJGGLFS5Zi8=; b=IGMAdZaqWuFoKQ3yzWDf4aWZ34FozJPDexdATGRs7/DlnN+na/UuyhSJBqtI/AmPNn w+B3qCaDVd+hHryv6S6NGl9M41yMN/nVK5MRaITRUYcs5OdznMGVDXb2h4GSFZPHXZh2 8rKW9Gu2E/Se+Q6eOSpW3N1qOhufl4QKOUNu3bvLMiszWB6UiDowqiJta6EcHbTPmMpA d0c9JM1y4UJ5JMsGiJJKFjgIr1dlTNieT364jFdYAVzzjhzBw38ybJg2+O2Y4Fcotz7z eaAckV0MfSwKqMbx4lx8YBpWvsBCucNTtIsmHUft4dFnXNmuwObXGZ6vZLyanHyYfGz/ n7PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HwHKjvqPi/qexahkWysEoNyVq/q9nvVYXJGGLFS5Zi8=; b=xH3yLTYHORPLIRPJmlqgZDmvmjrb26VOar2fpdi7OcJSHKcoIljyvUlQOM3x972aGq h7YL+wUDccv1i7VKMmDwbE4SNT7iddIE43j+ann2sWjkzVr8n77mOi+qCyC8wWCesKUK PFxPDw6vI/ksLf3zW/GvckCKRJ8Uc+9mKKXBFwS6zVL8AWlLQfLg7Yv8ja24ONXY8NVZ FY19E2ZuEyjRWbFzCQY5/lMAA0UvFd7o8qC0piKnvkI0Cx2QypP+mYDlG2RVmHd+PIWy JFmmEKoxURXpjWS9mVLifjGfUfB0s+gg7FJf2dIN4NYOazt4rxVjvS0e2He4aanHPABx 0Jug== X-Gm-Message-State: AOAM532DTlHbqyOsEhW7XIVRx9MEqE/qC/FubjBkb6OzfUrhXXudRP25 wuGSBoHRHGrJEAFokE6J6BKqeuh8EVtnh407hzE= X-Google-Smtp-Source: ABdhPJyTBgMlfBJVc8JfnlmzbyPzmyBvY/Fo/iz6l38744e+u6osDzEnnC/6kUvdktf/fzEhLfWglg== X-Received: by 2002:a05:6122:1812:: with SMTP id ay18mr1295277vkb.18.1638995351055; Wed, 08 Dec 2021 12:29:11 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w22sm2636177vsk.11.2021.12.08.12.29.10 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:10 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 29/43] gnu: Add node-sqlite3. Date: Wed, 8 Dec 2021 15:28:24 -0500 Message-Id: <20211208202838.752542-30-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 118 +++++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 60dbfc163c..b979d0cd53 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -615,7 +615,8 @@ (define-public node-addon-api (sha256 (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) (inputs - `(("python" ,python))) + `(("python" ,python) + ("node-safe-buffer" ,node-safe-buffer))) (build-system node-build-system) (arguments `(#:absent-dependencies @@ -630,8 +631,7 @@ (define-public node-addon-api "eslint-plugin-promise" "fs-extra" "path" - "pre-commit" - "safe-buffer") + "pre-commit") #:phases (modify-phases %standard-phases (add-after 'unpack 'skip-js-tests @@ -660,3 +660,115 @@ (define-public node-addon-api @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + `(("node-addon-api" ,node-addon-api) + ("python" ,python) + ("sqlite" ,sqlite))) + (build-system node-build-system) + (arguments + `(#:tests? + #f ; FIXME: tests depend on node-mocha + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:absent-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries + ;; or falls back to building from source. + ;; Here, we patch out all of that and just build directly. + ;; It would be better to patch a version of @mapbox/node-pre-gyp + ;; that always builds from source, as Debian does, + ;; but there are a number of dependencies that need + ;; to be packaged or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency beceuse of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") + "/lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + (with-atomic-file-replacement "package.json" + (lambda (in out) + (let* ((js (read-json in)) + (alist (match js + (('@ . alist) alist))) + (scripts-alist (match (assoc-ref alist "scripts") + (('@ . alist) alist))) + (scripts-alist + ;; install script would use node-pre-gyp + (assoc-remove! scripts-alist "install")) + (alist + (assoc-set! alist "scripts" (cons '@ scripts-alist))) + (binary-alist (match (assoc-ref alist "binary") + (('@ . alist) alist))) + (js (cons '@ alist))) + ;; compensate for lack of @mapbox/node-pre-gyp + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))) + (write-json js + out))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:53 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:53 +0000 Received: from localhost ([127.0.0.1]:41635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZY-0005wP-S3 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:53 -0500 Received: from mail-vk1-f169.google.com ([209.85.221.169]:33691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yz-0005rH-Fl for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:18 -0500 Received: by mail-vk1-f169.google.com with SMTP id h1so2404819vkh.0 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zntKBevc+BpGMMLzowBbj8/sAZVsqLJiuuD9PDNx5oA=; b=FHCu5ndbwBcH2S8Dmdrzo11pfuvBqcCAJX37i6FDMK1ys3DSYthDzYReh9SvLMvRvn 3tj6Bjflu6Lg7USE99Nz7ZGafizKlap/wWERlR+DoWXoIzCq93WO3zno6qd+u7UMtcKJ DejKiAJSni3KaDDgsP6ZgNWXvdpuB6mNzqWM5Ozn7as2fmPrw+E6TfMXQ3xFOJ3hcH7g +LmJgABcskKg1ZgitjxFqrdEUZ4oxn28AX5cpCTyU1tlp3M7cuI8POlxrgDb/WUwiEC9 k5lM5ikrKhG+5TRrX0sHSZZjPwL+5oahqpsSXVVfJimB1jXhp3GBiwggIpxxwACMA08k i7dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zntKBevc+BpGMMLzowBbj8/sAZVsqLJiuuD9PDNx5oA=; b=7A/WaP++pwq2S2MAeni8cwo64lVaA1G/0MZBCn4UOtuMvw6pTDZOvp3YxfEET+ZXdU PKHZwkyMyzo1PJ0v+0hHkiduat+PdKG8n+SYZyA6pgpa65hcYnDJCbIGoX50BhnmWkLn 0/WoXl3Pec2pk59rXYv9V76pRKOJ0vHYME4pR/hxbnDvcwRBl9fII79+dRLmHQzNS0HW YBXtBF3r4WQu0Iv4B2SuQ32xIVhPAwYIvE5pq3vivjg4Fr5gfoC+QwKvIoEafqIS3ank Ske/wQ0hl2uyc5FFCTttV6wIv5QlX7MwkzaTqYWhPyzgQfFsQY/ZLe8Z5VYK50T+eFN6 qY+A== X-Gm-Message-State: AOAM530X1jz5UYen0/j/IaVaFNjVvf/VquRc/qKAGFuJAjA8X2z38R5d opm4gWv95Wu4tTFyLs+0W439IQaGtVjX5gakCfM= X-Google-Smtp-Source: ABdhPJyRB9ETQWbyrW2K6A6QqqCXnL4Q3lGuz6RALPgWNc2G5G2cJgNJC/fhuEKNmOkaaR9XFwKQlA== X-Received: by 2002:a1f:ee07:: with SMTP id m7mr1182795vkh.27.1638995351945; Wed, 08 Dec 2021 12:29:11 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r13sm2427218vkl.13.2021.12.08.12.29.11 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:11 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 30/43] gnu: Add node-file-uri-to-path. Date: Wed, 8 Dec 2021 15:28:25 -0500 Message-Id: <20211208202838.752542-31-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index b979d0cd53..d23326fa25 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -772,3 +773,56 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + `(("esbuild" ,esbuild))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@types/mocha" + "@types/node" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "cpy-cli" + "eslint" + "eslint-config-airbnb" + "eslint-config-prettier" + "eslint-import-resolver-typescript" + "eslint-plugin-import" + "eslint-plugin-jsx-a11y" + "eslint-plugin-react" + "mocha" + "rimraf" + "typescript") + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (string-append + (assoc-ref (or native-inputs inputs) "esbuild") + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "Accepts a @code{file:} URI and returns a regular file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:53 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:53 +0000 Received: from localhost ([127.0.0.1]:41637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZZ-0005wX-70 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:53 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:39821) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z0-0005rJ-F8 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:19 -0500 Received: by mail-ua1-f47.google.com with SMTP id i6so6897020uae.6 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=KZfYtaEsxh0PqMSHOYnvQeNmBk1Ja0V4rNjMZvt4y6k=; b=d1fIJNDSOyjyBJxJ6JcWwxX/NGAGZl06YUCgXniP6Q6yxih4BPYbMt4vjaQ4hibBMf brNjZ3DY98HcjtASqnaqrGa+e1T79l9cJS4ufEYGZO+LgEzDp0BKAx5wq3LnfYWdOY00 Lsqt2zDBYKcFAZGnOcAJ4qEyieMU1QjeUgNV/kKmWI+RUmXfrbjLAxtHORZRnPb6AzRI uzjE8/F5YNDQpl7wCetbd/KGFhV3nb7lyvfxxgUxGz+GJzj/gM87Pie44Zxe/+9ptnSH S5nRJWcdItgYTgxluOEvsqqpeu95DKy4qIqMHdZS1KjGXmuOSW3lV/z0K8hoZwFPgjr7 Jd5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KZfYtaEsxh0PqMSHOYnvQeNmBk1Ja0V4rNjMZvt4y6k=; b=4lgXYuOGUH4AuQu0RxCmtyA2baa+M6az2okve6uEDyWWEViozgyP/DEsUvddPUtfCN vjVAqKHGHY8Bx/gkhSGkXzjYIkl5aj4ns/zPliW1c+37PlVlWsLX1Ye8RGslLbkZwSSg Nw9me2sDdXKr2S9jLOZXNcN6jooiZT4HC7a6uTv76xjY5UShdx3RR1hVtS0JwAuPiEJG hQaGhMKW0njdmhBQpeW3jIQYZH5Xn4eXEQqoxO1bBWZXCgWipNEiOlQgS1uojIaof2Fw 0/eA1QNwGZWjz5Ofxe+Y1dGkaUd/i1KxdOVX6u8BIM0Om/o39RuWyi9WEKRVC9w5aXJ8 mpUg== X-Gm-Message-State: AOAM532xSO6TbclE5x0EIIhOESxyLyKNSvC5hcwn7/FVjX74iHBz/oFD 4w/UjE07H+8JROanzh/SsmIvcCGVe0MKRW3aW04= X-Google-Smtp-Source: ABdhPJyG3+7Z+od5NlMr/1ziHAy/krUIj0rUYFlbQk452iApn2oRtSkxrDqF7MAchQDUXW9ba2A9zQ== X-Received: by 2002:a05:6102:e46:: with SMTP id p6mr1090540vst.33.1638995353008; Wed, 08 Dec 2021 12:29:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y7sm2492083uad.2.2021.12.08.12.29.12 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 31/43] gnu: Add node-bindings. Date: Wed, 8 Dec 2021 15:28:26 -0500 Message-Id: <20211208202838.752542-32-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-bindings): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d23326fa25..196fa55a39 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -826,3 +826,33 @@ (define-public node-file-uri-to-path (description "Accepts a @code{file:} URI and returns a regular file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + `(("node-file-uri-to-path" ,node-file-uri-to-path))) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "Throughout the course of Node's native addon history, addons +have ended up being compiled in a variety of different places, depending on +which build tool and which version of @code{node} was used. To make matters +worse, now the @code{gyp} build tool can produce either a @code{Release} or +@code{Debug} build, each being built into different locations. This module +checks @emph{all} the possible locations that a native addon would be built +at, and returns the first one that loads successfully.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:53 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:54 +0000 Received: from localhost ([127.0.0.1]:41639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZZ-0005we-HL for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:53 -0500 Received: from mail-vk1-f177.google.com ([209.85.221.177]:35799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z1-0005rL-Er for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:19 -0500 Received: by mail-vk1-f177.google.com with SMTP id q21so2367846vkn.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=QnGpL2rtIevxwBrEqqArN2uKxmedeFyThj9SVraaMrM=; b=V+0UgfTxrBjDBseg8V/pm3VoSSKK5rJLdOKwICnjCRoIO2CN25v8GXrGHOv85azWlN /HBD8ZKUMcitEtmEq9BOR7i4izpq7vNsHZ1P9pSGTAsVuw0ybRknDM59pXmod5kXdHyz LShGqoNgihmdvLRfufomI+ZsPlbXnYMBf1xLtZ/WtblPp5o1rD3r2D5fw1nRwZL1NP6Q UAImPfd5tyqqeYiO9Lm++jDalWus9rqxoQEYgeUWJcaRqxg52KHtlfUbzcFmzmkCztzf vya3lwig4YVXAGUqs7N5XwJtSZIDUsQ6Mq/5J3Eh8WkfbHb7m1FfMZgGC9rNrHH4x6IN SxHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QnGpL2rtIevxwBrEqqArN2uKxmedeFyThj9SVraaMrM=; b=pbzolqEncpzxfGylquIYE06wqp03XlcBlbwpMdS6+3gLmMtiuPqPZPGFdXWmRE4Jdt mQ6kze5gTh+hTsfRRwcXuUW1TnBiIEviqL+va4yvP6T4NgZHtjYlMFRKLmi/wpma2z8r p5snCOQ4aZwCGdhb9jR2KOJ9WwrnutwFBwMj8FJt8X5WgWAopMjVBJTJruqNmfjaYShd 2qQtMdi/4d4nCU0nAweWIinb7WphxLmIDfsZT4nEZMnRowPfP2zkcXqXETkKSYFPIdm2 V9mE9ILMF1QF3IQno8mnp+ZPr6TasN25w7RPQN9QrpmjOWZEI5WWvBIZPkBiCbETlaFQ +zOw== X-Gm-Message-State: AOAM532dViCMlRYclclo4/1PaGp7DFqjkc+KUCPYy4iKoQBCQCUi+ElP aZSEWfl3SVitYGYkQLPIfSnj//SBvAmLrpvTtas= X-Google-Smtp-Source: ABdhPJzRkkVjTISu2BrvgriYboZQ4Nto1RjSf4L9/x2/GlM+lzo8oqbt+bE/pHkFIODV3PXMWDjGjA== X-Received: by 2002:a05:6122:16a3:: with SMTP id 35mr1282660vkl.12.1638995353857; Wed, 08 Dec 2021 12:29:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y7sm2492118uad.2.2021.12.08.12.29.13 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:13 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 32/43] gnu: Add node-segfault-handler. Date: Wed, 8 Dec 2021 15:28:27 -0500 Message-Id: <20211208202838.752542-33-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 196fa55a39..27506062ba 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -856,3 +856,38 @@ (define-public node-bindings checks @emph{all} the possible locations that a native addon would be built at, and returns the first one that loads successfully.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + `(("python" ,python))) + (inputs + `(("node-bindings" ,node-bindings) + ("node-nan" ,node-nan))) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules, and is safe to use in production environments. Normally, when a +bug is triggered in native code, the @code{node} process simply ends with no +helpful information. In production, this can manifest as worker processes +restarting for seemingly no reason. Running @code{node} in @code{gdb} is +messy and infeasible for a production environment. Instead, this module will +sit unobtrusively doing nothing (zero perf impact) as long as Node.js is +well-behaved. If a @code{SIGSEGV} signal is raised, the module will print a +native stack trace to both STDERR and to a timestamped file.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:54 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:54 +0000 Received: from localhost ([127.0.0.1]:41641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZZ-0005wl-S9 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:54 -0500 Received: from mail-vk1-f175.google.com ([209.85.221.175]:34635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z2-0005rM-5m for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:20 -0500 Received: by mail-vk1-f175.google.com with SMTP id j1so2380606vkr.1 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=2FgmvitnxkNFDvw4vqRFL5nSn9Bxt2XEQV4uSeBgOX8=; b=XWiVWYEG/rML7O2HinfDLcBtuQcZ93GJ5KjoO8EMwbViL/cqMvxR2YmzmlfaAnGpDP JOS9TQa5ITETYIQ/xBBBb9UUY0fBXOO8vsHez4qN60ZhOFOyT0EU6zzlobnh5vCg2yMJ MkCaI5wstRE8uWAIidqCU6bbIcgNeWU5uBLX1Cy5nbFDtk/hVLsedktgBVGXdPkKW2DX zJVoYnyUTiOR7pFmMxIOWIacDJ4/gsrfhzhuDRqW2MrPZvJSNMRe+l9fUsolR3UrEtZX pE+JOgvUzEEchLBzEY9QGpw9Ri4tiAqoXya8Yfuie9EkxlZ2uGb+TB/811ICVzDT+1hG HpDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2FgmvitnxkNFDvw4vqRFL5nSn9Bxt2XEQV4uSeBgOX8=; b=pxuKhGrlqoaBw6BXexbU4ZqK/JVIDtL7SA6mu70TicQrqblmSEItUBuj6AbH70cIlt 66Vw8orI0lR9Uhu342WWCFkagrUUfYEvhHWti5BgWlieIj01L2ewyqnRtjGV6f6D2CWK 3TJ0iUBrCWwq6kO91IcwqipmFJl8zuiItcQG9niNlKgggNGZv5okjBe2RAYQZhAi6vUg KZKjAPsD4NfOaJVaWzQsCZyZRf6Pq+qnvD06kwz9BFKiXRrg2Y1iAumH528vLGteFLRI 4zw3sK91Y1L5htiL/rnX/NwNYRnD73Nb2W8hZwrffeIVgYX93lEd9oZh5VrecoX1dQGk hRUg== X-Gm-Message-State: AOAM5333INYIH0AD4YaNYvFZnlQc3rsN/dWgWswXQ3BQPa5vIkZPwL/K HzglIqZBsS/j9g8JYdJ8mTxNkL8QaaBVgOtI/Hs= X-Google-Smtp-Source: ABdhPJzLeTQARlE/nN3icXpSSsnhadhthLC7PkjKfEsRjYo8qk9w4F2kfRJgYZ7TsaD8YDt0/GyXUA== X-Received: by 2002:a1f:d903:: with SMTP id q3mr1197591vkg.37.1638995354780; Wed, 08 Dec 2021 12:29:14 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id n3sm2505739vkq.6.2021.12.08.12.29.14 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:14 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 33/43] gnu: Add node-serialport-binding-abstract. Date: Wed, 8 Dec 2021 15:28:28 -0500 Message-Id: <20211208202838.752542-34-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 27506062ba..69182ffcbf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -891,3 +891,37 @@ (define-public node-segfault-handler well-behaved. If a @code{SIGSEGV} signal is raised, the module will print a native stack trace to both STDERR and to a timestamped file.") (license license:bsd-3))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("debug") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:54 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:54 +0000 Received: from localhost ([127.0.0.1]:41643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Za-0005ws-7L for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:54 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:35373) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z6-0005t8-Su for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:26 -0500 Received: by mail-ua1-f45.google.com with SMTP id l24so6962451uak.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=aR9XkrFLQiN0GzsvExkBsiQ+qNOJ3M2ulsoG4gCkkBg=; b=C1tTrTxsSn5WgKA2vALrdE4nY8ZV9Bkz4IQtVv6oU5OenRKeAWo8xkuffKSNZGEfEG 9co5epwNO/Ow6rnOmUMl0EtRTQ+wut9mcjpVDHviJHTVpvQprmOrQVaeZtmyJr7njMFk aMO8Canzc3cJmB3v4drKDTgIYDHXQwBrwsIxCUI6OWKkh0wUOyfwu5C1hSkMN0DjaQ5j clKzi2nUUOYimmoghu6bM9LvXxfyVrvXConbV2oahe2y3aTWL0wrgQ9UCZXPjr6k0wzu wmYuC1vqVB5sDexmhSGlGRrsHJUCTejR9EdHi43tEFNUI/USs9SVEOVMbtQDjc3Y5/Q+ Yw+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aR9XkrFLQiN0GzsvExkBsiQ+qNOJ3M2ulsoG4gCkkBg=; b=7heKzedXzoyRMQ6/TKz81Cg85Mmz4OLUIiJxqKFlFqSMzOYRQEwGzvsE7ARDlTvla6 8VkFs/f+rJ7u6T2hFFeYDtyzW7l4RdC/X8brVyDDDfYog0wmolVm8hsKZR6Z2xs0UBTc 63ufqqF3bMVZKkXXAORHGiR4053kHmo2QXQK3DGmJ5rfkGk1Z9HB1U+QRVfe/tf/E/2S fhtswiFVwUOzyTs57QuwXymVNM7SKl3KnWKI/QAc/CazZK+alaG3szFbJyv0D4f2ajCm Da3/QDppIthbBkGVU0K9bEM0Rd/8WP13+6KN4stOqwjl62CtaQ7vQPmjdOj27RyE0CbZ pn4Q== X-Gm-Message-State: AOAM530spO0EFpOfLrmj3c8gJ+LBnln+J5V8sQvJKpCYLN3W1fqTPag0 gCR/qTuVB0dObCWu2UAN1fl5fwCX+jX2LF2a+oI= X-Google-Smtp-Source: ABdhPJzzZH9LGDORL5mvucwJDHn8VTyZV8Dw52MLq3BefsFsKJx7U8ccpjyVK8hxYcpWoT/sDlXYTg== X-Received: by 2002:a67:ac49:: with SMTP id n9mr974021vsh.65.1638995355653; Wed, 08 Dec 2021 12:29:15 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id h22sm3204185vsu.0.2021.12.08.12.29.15 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:15 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 34/43] gnu: Add node-serialport-parser-delimiter. Date: Wed, 8 Dec 2021 15:28:29 -0500 Message-Id: <20211208202838.752542-35-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. --- gnu/packages/node-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 69182ffcbf..394ddb28a5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -925,3 +925,24 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:54 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:55 +0000 Received: from localhost ([127.0.0.1]:41645 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Za-0005x0-JL for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:54 -0500 Received: from mail-vk1-f180.google.com ([209.85.221.180]:35810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z7-0005tT-S4 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:26 -0500 Received: by mail-vk1-f180.google.com with SMTP id q21so2368018vkn.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=d0mBgXm+wsBDzYQnRaMeXLRgV/Kg2HJR53L35m4dDhY=; b=frROz0qdq6W1w9ndcvfBd+HRAo2DLY98ZTfSylFFU50qdkUjLH86E+aUDpsw+qJ6HJ 9ilKcEo4V+b/dtR9VEOIs+MxKIwG2xMaaTHeJm9jM1lLPidr+cBPl4AQmmUM5pNv8f4V mSU1FDMZJZOkJFP2cgPucC1E9aQMDFQdV7KPBQOpLr+0WHiBBtaqHaQDhXzEPLWY9SXe Aa7k9604TAEePeIBq8v8MKYI+Jo07b5qdoTim/o/sNFUzDMs4QvZxgPV3IHXnGUikHXP yEuAwJXkAfUuTUpq3U6eqjxpotHWxsyCpYuILsQBuiKgggX24/pUT8xWcX51fTJOQc98 y8kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=d0mBgXm+wsBDzYQnRaMeXLRgV/Kg2HJR53L35m4dDhY=; b=VHjcq1eoZCS3SV7vceoFNaWqOMPDhnVb0Ssj6ECCZP1/bWCdGKeT5rJHlwdhXlVk2j HE+jY4Aogy1HDFMCnWhcEnKNazWsU40ZEwcGqjxpfxI6Y7DwbKmmiJ7i8UXURi5fXi19 bJ8BaYv8rBf+F8S3Hw0Up0hySG7+C+1m8FO6F5W3wpkJd/Sly0HndoJ9280ES2rB5+cQ YJXqS1BFF6nEJx6ONy8bEL9zUapsPagyIKzqB52j1rS5D/KacDyddSTZh+/d5sjovbYf kNTGTcqlCNINooQ9WLpRLaxUE8qWwqAmLXST6ai3Xak0j4SIV/XJ7SgNGzU0GAHyxGzK /k3Q== X-Gm-Message-State: AOAM5325oXwdz3olac4j2AvvZJgfeMOyoGi4zgP9WC6eVB6n88Z2cIS4 aGxpkwKsNcmpnL5JFadsMf3+j08IKTaRXBnERaM= X-Google-Smtp-Source: ABdhPJwj+hib+VBLgpOjoTeXjn/tv9imIiVzYl9UYa2i/gu3R2fcCb1s47IjZvzg8dsJyXq006wKMw== X-Received: by 2002:a1f:a857:: with SMTP id r84mr1259859vke.0.1638995360320; Wed, 08 Dec 2021 12:29:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id n3sm2505882vkq.6.2021.12.08.12.29.20 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:20 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 35/43] gnu: Add node-serialport-parser-readling. Date: Wed, 8 Dec 2021 15:28:30 -0500 Message-Id: <20211208202838.752542-36-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. --- gnu/packages/node-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 394ddb28a5..495fc6f854 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -946,3 +946,27 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + `(("node-serialport-parser-delimiter" + ,node-serialport-parser-delimiter))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:55 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:55 +0000 Received: from localhost ([127.0.0.1]:41647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Za-0005x7-Sx for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:55 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:45748) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Yq-0005q1-IK for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:16 -0500 Received: by mail-ua1-f49.google.com with SMTP id ay21so6844427uab.12 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=teAJKTWNnkKR3SVaIcZCGsnlAr4obIHoNhyOOMkV1fc=; b=JRNz8JRUOi14sMO95oJoi9m62/eHnO6SEH9WXLD6Rl/GVn3HtSSh8E0aNM6aDjmjlh FhA2jBKsNi2Ku78Ql4HiEDEQinR/UL5yI5XIzWmH3MFoUX7u4Iu1lh20ouHQneKYlRtE 4kntOrmnlYSapOJEfhUlXwTV/Ph9MuapI6ywsvuNgutheXIjqwYGIoPtslmI7+OqUmHu flnmfdKXHgRLZ5twS3u/syir17BSON6t/acTfV67O5PKiTMMZmbcivd8m3s4kFA9LgLy YvWxlN5Gr6CV4CDNBM9bbNKIw2mJn5bgl9FWT/ScnHjO3NpKYmEpWn/ZswPFENmUrk27 Ysuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=teAJKTWNnkKR3SVaIcZCGsnlAr4obIHoNhyOOMkV1fc=; b=5kr474NMHhLzHrdogrp0N5SIgf8bzXOitfBYBCUE+ax4z01PSePzIvbYM/XbbyYQTH 7CKY3H15Khepj6Tjc6zVqE3x/7/X55ku8hvnmbe6z99eA8YFDEo1UdA2u96Czx2ZtJXT Tb16yIGlJ1uZjxwZyqIkDt6hEi621TsocTCJC3arATuaVFamno//G4ra4GebUarRQXUu +m8QhRixddqOfhYs9ggCAzNxFbLh4lEnqfnliUzouNdW/kpsovq9N5r4sIp+7VzUr4+2 9t5dtmv/ueU1ywY1KG3CdrvjWBC1+zgiI0SVIfdkratVY9bA/6+lx4UBefQdsOP9BMZ8 vfmQ== X-Gm-Message-State: AOAM532QbWKcSUlM8eFIhP7gt3KfXfOE+p0CWD/P/s3ATmzGy54JksRH 7YPqObRmpTBBj51MFzMqk/fkT+FGgDgDyc2Jis4= X-Google-Smtp-Source: ABdhPJyTcJamuuiq5m0K+ncKP/868A04FTDNn6jmknnw9d3bYKk9lMTGJg4O2O43OVdhDZ29caSiog== X-Received: by 2002:ab0:719a:: with SMTP id l26mr11370587uao.88.1638995342940; Wed, 08 Dec 2021 12:29:02 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id m3sm2589008vkf.35.2021.12.08.12.29.02 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:02 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 21/43] guix: node-build-system: Add avoid-node-gyp-rebuild phase. Date: Wed, 8 Dec 2021 15:28:16 -0500 Message-Id: <20211208202838.752542-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New function. Override the default install script for packages with native addons to prevent it from attempting to write to the store when such packages are used. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. --- guix/build/node-build-system.scm | 59 +++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 892104b6d2..f9ca515d58 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -175,6 +175,62 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (let* ((package.json (string-append + (assoc-ref outputs "out") + "/lib/node_modules/" + (match (call-with-input-file "package.json" read-json) + (('@ . alist) + (assoc-ref alist "name"))) + "/package.json")) + (meta-alist (match (call-with-input-file package.json read-json) + (('@ . alist) + alist))) + (scripts-alist (match (assoc-ref meta-alist "scripts") + (('@ . alist) + alist) + (#f + #f)))) + (when (and scripts-alist + (equal? "node-gyp rebuild" (assoc-ref scripts-alist "install"))) + (call-with-output-file package.json + (lambda (out) + (write-json + (cons '@ (assoc-set! + meta-alist + "scripts" + (cons '@ (assoc-set! + scripts-alist + "install" + "echo Guix: avoiding node-gyp rebuild")))) + out)))) + #t)) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -184,7 +240,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:55 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:55 +0000 Received: from localhost ([127.0.0.1]:41649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zb-0005xE-C2 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:55 -0500 Received: from mail-vk1-f182.google.com ([209.85.221.182]:40510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z8-0005tv-QK for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:27 -0500 Received: by mail-vk1-f182.google.com with SMTP id 70so2357451vkx.7 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=UDvwQMONhN/F5H1yDlPcjsz1nGLDvlWAq4wI23KTY5E=; b=ScdvYtNWQYBws7VeixMoGogvWsD3k/+Pr21LjuvfU2pX1HjzbZrj+ko8TVnoyhW2pb DZ5njApqNFGKk+fqPyhRMXtaMZ8uFkhgcZMyI9RBKD+knDCLxjGlX0AcvmUZP9gnlRO9 0s13Ww9Kd7KZTLXPT61+Z4I3LtkjOB2c4j16PF692xSZ6tl3vUqbLLo/CdhMCAcS7pBZ FzSDE4UwhWXqzNYMBHrISXNEp2a+hasKUCy4x3eX54k4ieRgOmvkC9uzadYkvyoCWH+L QrAThtlxGAWqggVq1PeiVtQc++1drk6rq/+/mgZK9FyWUsbfzAuxnWDDtNi4c64LtTR7 l5Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UDvwQMONhN/F5H1yDlPcjsz1nGLDvlWAq4wI23KTY5E=; b=Wtqa+22hL2+1fxs7ayCH4OvZYtwD/mTXsjL6Pnrn+PfvNLmyWTudVQSRMewxqwXEXf nbaMmXjZ5QoIEyLlOvWC77LY5iGOhkAeDtwY+lPCWnSQAAj5V4Wjb6QJ+HrRCOTs2/4g bsJQ/GoelcxpuKlZQJc+iG/8gx8DN9nE3Agym0EjFqpN3gtEbRgS7dQjeBW0IKxmYz4B g/1f7fS4jpTkGqj70bYbnm+OgKiEsmkhU+gWsmCBh+D/9maXRDwzo6JfruVfQCFHtan9 enKKed5xN/VOfsqaAH5bPBo2/H/rsAidH3FRMuBSxPeWH+O51EaeYk6XiEwUKrtEV7Q8 Gz4g== X-Gm-Message-State: AOAM530aDRTGno9/ueiERb9IITc+E43bWQywfZE6t7BaU74HvbzfEWwY TLZR+iLPYlQ7nREQiNU4wYV5wT+4jWNbeL9Vz0A= X-Google-Smtp-Source: ABdhPJy0CaJgsYrMU5HSgkYtXDuxamYxD3PNvspOPrlRSEKgprHYROe3Epln2w2u/7PITOgvRf2rIg== X-Received: by 2002:a1f:3f4f:: with SMTP id m76mr1239713vka.1.1638995361251; Wed, 08 Dec 2021 12:29:21 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f7sm2428672vkm.31.2021.12.08.12.29.20 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:21 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 36/43] gnu: Add node-serialport-bindings. Date: Wed, 8 Dec 2021 15:28:31 -0500 Message-Id: <20211208202838.752542-37-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. --- gnu/packages/node-xyz.scm | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 495fc6f854..a60ec33506 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -970,3 +970,59 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + `(("python" ,python))) + (inputs + `(("node-nan" ,node-nan) + ("node-bindings" ,node-bindings) + ("node-serialport-binding-abstract" ,node-serialport-binding-abstract) + ("node-serialport-parser-readline" ,node-serialport-parser-readline))) + (arguments + `(#:absent-dependencies + `("debug" + "prebuild-install" + ;; devDependencies + "@serialport/binding-mock" + "node-abi") + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-file-replacement "package.json" + (lambda (in out) + (match (read-json in) + (('@ . meta-alist) + (match (assoc-ref meta-alist "scripts") + (('@ . scripts-alist) + (write-json + (cons '@ (assoc-set! + meta-alist + "scripts" + (cons '@ (assoc-remove! scripts-alist + "install")))) + out)))))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:56 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:56 +0000 Received: from localhost ([127.0.0.1]:41651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zb-0005xM-N5 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:55 -0500 Received: from mail-vk1-f178.google.com ([209.85.221.178]:35812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Z9-0005u4-Ls for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:28 -0500 Received: by mail-vk1-f178.google.com with SMTP id q21so2368094vkn.2 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Jz0yhkrW/kh41phRDnHCDFJjcWD3BgyIu+LA5vey7SY=; b=dkQiWZGn0wpyyyXtUBEDigZsoMyOLg1s94zSW0Bw67dXgu0GySeTiOle77wzoF0HgC x5omlyiI58CqpGThUaSwvwpcz7Ied6Vxad4czPhTBUS3qdCYgDKoubOog3WJESkjOC6O U4kmAnGpGikdLe2EQ7zsXg8DDXcqNx3ASE1tXMzASFAiMR3590gvnztNZXLA2xL9pC1g DOfJR1x7ISORFRC6sH7JPfnSA/HA0jMSL4jFsOW1Vlh6U2TSB1GWRk7a6GL9X0ksLTau JrO//XJYQX4rUYTN8KCjUAUTKevJDK2+A++9bPT1DCU+f6Q+glpq1DkZRam9UDSxkBgV kSuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Jz0yhkrW/kh41phRDnHCDFJjcWD3BgyIu+LA5vey7SY=; b=v6LxNJHKrACVcL4ZqjPawfeOS4aOP9+90usVgt2qDnGIHhUTRaQkpgFb2ZMYscX/ef w2nSWwA6XpFw7+fWIZIOMKIL6vMlJv9HVT9j3Fe8SBrHunpLQKZB68HJiAnJ4D9ZGmKH pG6mZO5BB3tfpTKMKieBVk/OjWXZpdk2chQNLs+tvGl4jkbLnm5rzC2GeQRK9LOMFzqk D3Bj7n87njeAqZFGv9EauC20gRf8TthMPTnxR7BVE6ZbXOshPK0WYOT9bsgQovQm0LA5 p92cCqQKlxkHq0NV/19dVoQfEkJY367JRgCzTVQhFhlsqDcAQFhsyvOzpC6YZwOpmh1B ZXfg== X-Gm-Message-State: AOAM533cNgZCq8uJENWztiBhwhPfta025nbvQ+WKS2RiDoeqnr+mAvXM K4Fji5j2FIGiV0vpDWZrjZ33qR5q52HyrbVCsGg= X-Google-Smtp-Source: ABdhPJyzjKDpzvo6g3M0m4a1HfX9qogVELUqIFnGszdtIH7oJSXAAHL38uFuntS1aBMPwhUeJx0WqA== X-Received: by 2002:a1f:9f04:: with SMTP id i4mr1294049vke.33.1638995362123; Wed, 08 Dec 2021 12:29:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t5sm2571737vsk.24.2021.12.08.12.29.21 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:21 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 37/43] gnu: Add node-serialport-parser-regex. Date: Wed, 8 Dec 2021 15:28:32 -0500 Message-Id: <20211208202838.752542-38-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. --- gnu/packages/node-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index a60ec33506..409dfaf38c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1026,3 +1026,24 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:56 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:56 +0000 Received: from localhost ([127.0.0.1]:41653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zc-0005xT-0p for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:56 -0500 Received: from mail-vk1-f179.google.com ([209.85.221.179]:38752) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZA-0005u6-I2 for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:28 -0500 Received: by mail-vk1-f179.google.com with SMTP id s17so2372810vka.5 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=T+tsSJGpyQ463zVi9x2sCCYTMG0F/iHf2Hj1vJOhYwk=; b=BZUyyXGULVsMpVu2qFOKZFHRBuS1MaKRgndvjvO69IIfo3vlx/3JyidHXHBMEtzbSi VFS/x4lUI8FBSJtU4MCYRW0+tTlDKxCJzrCqwEuWBhn1Sfz3alq16/BRCi0uWwJ5Lqb+ Xe8H25qO0YKZMoHMWWnc/yQfnhTeh83psAOIVGt5+sBEJ1pmJ+91yGP6Mor4SH/WDFr7 XmAmgWOaIcqwYtDBe1aMqFiQZk8wp4Sh0lIRT736nKypf/86u5ZDtM6aZDfb9cUpyyds Q+Vw8S5NZ3GJ8FyuKXhkwMemFmoJniAONoeGD6jI7rx/H0SznkngM6iaHfsx/jUoGvU6 ZXoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=T+tsSJGpyQ463zVi9x2sCCYTMG0F/iHf2Hj1vJOhYwk=; b=IsIbg2Z52oQnL6bvcn29PbV4+t1IuoGxZXZoLMy9LJ3jKmH+hrPiSI/lVBAJdIteRg CfxvxxZDrs1YjXkQKH8qrnU3q2EdWe50AzBQ7m90xF1bIhNgsqOxNNz9OdKkA6ayUaRQ ePGmS2fcuJuNxcLldToffL39BPtA2iLrZgi55k3zLvTUU9nTkxGcv6a5szz6hBzjAS7w uFvyZBBjwEJv54xq2HADAEYQ4Gj0LcYOuYZyL/MHubvds3zSs90T+geSXE6k59sEEcCp GtankY1YEL4M1nBieBVbnoU//mWI6apQ3zB0fVcT0T+c7xEwWJwaLr74/f86T6yNacOC bYpg== X-Gm-Message-State: AOAM531c5Y0aid0SOhtpkjRN8yCXseM8xdiI2pxcpTMyJ2sqIjHAbd4J aModt++IqHeyVNjm2/ZgpNov67V55aAPsSZ3fKc= X-Google-Smtp-Source: ABdhPJxPabtp4h2+FXSNE8kyQpmw0kriHS8Yry7NwBd3J+rivllaor+OqaL2CpUWKI2d44DvhZzUYQ== X-Received: by 2002:a1f:2e94:: with SMTP id u142mr1382802vku.8.1638995363132; Wed, 08 Dec 2021 12:29:23 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v81sm2462137vsv.14.2021.12.08.12.29.22 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 38/43] gnu: Add node-serialport-parser-ready. Date: Wed, 8 Dec 2021 15:28:33 -0500 Message-Id: <20211208202838.752542-39-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 409dfaf38c..d78d4610f4 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1047,3 +1047,25 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:56 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:56 +0000 Received: from localhost ([127.0.0.1]:41655 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zc-0005xa-CR for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:56 -0500 Received: from mail-vk1-f175.google.com ([209.85.221.175]:45600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZB-0005u8-MJ for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:29 -0500 Received: by mail-vk1-f175.google.com with SMTP id m19so2336316vko.12 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ki8qhuVQ/8peOcP1JQ5OtfLEiHxaPjGddBe9iYUp3OQ=; b=OetkIhXvvg5suNDMb9jPwMP7yJSNImFc8Efy8L0z1j3Bfhj6wCkFnggeb9cIurfs2G fK6QNSOa76hj/IojAsqZKBIYunxLQ1aHRZvux6SRa6OP3kL1JaMJAg/IcdjYDyZfYtON lIMI3DR+s/DbOyv0GPJwM0P+QaUJnHDP5Moo75x7cHm6InH29bJP2aZOcoqZN0rYzTDi QEXTXvVroCIinCY6/9GQEkQFyCYnE30ub9lTfqT9MbQfgYzuYJj6Cf3VOc1gmphlDRX6 A4Y43NDSjfC8mXst5PVtNtBZerSGZNEb9pAeAHfuPJCLvcLkSHsFWIYHZWZxWqt3t1a1 s/lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ki8qhuVQ/8peOcP1JQ5OtfLEiHxaPjGddBe9iYUp3OQ=; b=UekCMuwJlk4aovSP+DlbR4mZRhkmaZgcc5JUsBGsyzhb7sJ+qfNjczgTjTwrNa9mbB cG91bs8xf5GhPkdmSl7C5cfNo5Z2FxnjDgk94lGcuTkVDDT1pyA1a+C5+3AvKBLYot21 p02hG4FmXNmcsKM9ub6FBN+7gIlNJ58wtPkv27DdGUzMza4BOU7XKBmx18q3o9GWHirW 1c0b2BFmpKDPcIgwBDI2TmEG3cUixExwJq/eyNY6+JrqiIbBYUzY96i1FUb16YIFS1ft S04q/hcEIkoXvXJ5A2gSYo8euJ1+IyvkwZURiOLBcMa4G7k6MbgUQTmG2JETZu5N8IgO Gsbg== X-Gm-Message-State: AOAM533TEkvdcxTkUT8HrMxXLi0qRdKmbAD36q4SHgqqSQuiHasJBX/U Ua2w3R36+sie5aRNyt45O02JAcjh95nJWYsAPao= X-Google-Smtp-Source: ABdhPJy5kSktZGHkXPVpV8XMPmmOua85r88JdwfZc+CeHjBbrpEwtxHLZ+S8KGhVZPBN8THvv03sIQ== X-Received: by 2002:a1f:2e94:: with SMTP id u142mr1382958vku.8.1638995364240; Wed, 08 Dec 2021 12:29:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id c23sm2546161vko.8.2021.12.08.12.29.23 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 39/43] gnu: Add node-serialport-parser-inter-byte-timeout. Date: Wed, 8 Dec 2021 15:28:34 -0500 Message-Id: <20211208202838.752542-40-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. --- gnu/packages/node-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d78d4610f4..8715765003 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1069,3 +1069,24 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:57 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:57 +0000 Received: from localhost ([127.0.0.1]:41657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zc-0005xj-NH for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:57 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:39867) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZC-0005uA-Lg for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:30 -0500 Received: by mail-ua1-f53.google.com with SMTP id i6so6898004uae.6 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=tL5Lz3wj0I36umM9yBZDENQ3HIqSItiVN0vF+21xEkU=; b=OXMNn22lCiw5A0fT2X/Y8I9x4sczSaeVnkdwfU/IihZ/Dq9VcIMbxvOL46x09vh7qv gkxI4vHI9SWRjWDipScnjY4k+G+a7CSNQvNbz3xF5tuGeApIwDB8g5TRyV1pF57OOkf8 kY5QGa3WrISDNdyr2mVwL9QhjfXWaZUhj+cSWYur+0139ysYEJL/+8iuF/bqdeHATOkW dQmwTCOx8KDKG989o5wbhkKiKJPgYY3EgZbew3Lm2MTnOiMPxt+5aTTo17Lr3/CMQsWY BJaEi3+tWnHrPOZSSWJZ2RHbHF4Ht2OsfSRvykAHU+vqx1NKS5sDQDX4lyt+mSFPm+ML 9l4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tL5Lz3wj0I36umM9yBZDENQ3HIqSItiVN0vF+21xEkU=; b=ap3pRs6UBT7Mb6EV/jGhR1781b3kBQATsazvJF5qaHbtkyqE2IYEtlOKT7CriIYmz8 Cdd7aJkSiT3Oqg0cgACD4TAMRgr/L65MeT17CGJiIaoyfioNJWM52T3Sfl26hCMtDQdV MmdalgPNM98fdcuGhH/pt1rWkLR0FN4JPhvyoyrDCh8ZQfS+hnVw35V9dDkSG7R5lzNi Gj7hl8rHH0P2UKk4PfeKcc/xx1G+GlQaNAVmOBec0P0/aWXgIyUYb6B/2Fn5KrLNmmza E/coou7laVQfzq9ywXBgqMXrYf5S9XHMdLmAqwPFBs9lZP9rB/mRWIEX64eAQArfUzzO pVDA== X-Gm-Message-State: AOAM533JHUQrfgYqRNWdOORtzrGKAk/swdFyQcZgXr1wNrSjgRjY/TBG d7ynfBxgqCdnRIetPzpYf1Q40RVOiV/97WRyaN8= X-Google-Smtp-Source: ABdhPJwa730N2+TUvMQKjA7z6Bhu9siHI4ZU7KxxGdqmcMbqnPabBoAQ7T+aCfSh90xiEHxzlqwTJw== X-Received: by 2002:a67:c106:: with SMTP id d6mr1063352vsj.77.1638995365248; Wed, 08 Dec 2021 12:29:25 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id q12sm2530698vkd.1.2021.12.08.12.29.24 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:25 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 40/43] gnu: Add node-serialport-parser-cctalk. Date: Wed, 8 Dec 2021 15:28:35 -0500 Message-Id: <20211208202838.752542-41-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8715765003..7f59b0f987 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1090,3 +1090,25 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:57 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:57 +0000 Received: from localhost ([127.0.0.1]:41659 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zd-0005xq-18 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:57 -0500 Received: from mail-vk1-f181.google.com ([209.85.221.181]:43606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZD-0005uJ-PE for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:32 -0500 Received: by mail-vk1-f181.google.com with SMTP id f7so2343819vkf.10 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=G5bxuezEE44bOHd4puKQphex6l7/vPnVPudMkt2oYiI=; b=C69UZ/CsGoNvGY4nxr+KDOXH9A2MaEB5Ouw/jN3smMzi6xdXe7JxTUHD8p+80tBz1r mbux7vFqmizSiZjgS6Jz3cNKcFViSbdHLyFk5EOyIsNyaqfM6UPXv+mvBX7D1RpFi3uN ThN01AeSGIwvfJtHNQzNEL94dKagxVjWXpNBVYBnfcK95gN32GzL0hfigyoqYXjRKT8f LVhQKZuymg4bfwUTX9MfS/bvB/JWccpYkfUyCn7m1o5UuFSbwENkHpFoARfzlg0k0+gf nJzquA7Is1cVdlFAbRUou/bUhmCvNWb7mJJH2E7KRvRei0Zn3BbQuuzCexHD9yRvN2FS hedA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=G5bxuezEE44bOHd4puKQphex6l7/vPnVPudMkt2oYiI=; b=nS3RsVUD7RNtwMcyo8BxwUCZ3aHTYfYcleW7MrNCKvm6Ra41dU9B6CBFzgQfKZa7wi FLOnrVfYEWUtwtAM4Bk1nuesDHkfOy6Bup0y7LlMnjIxpr69NkcrJUSG8Jk01NdNUeAO pzDbHNJkWl7ZlmdFKVjVi00pRZYYz+PYUhqz8nWGiH1fTviB8uv3l7/mOfpkLPmfjIao KwRjwp+7d7sWRZUZyqflmYz7Pken0GpOd9fpt0R1CZMsTIKdQfzlhZv9WAI3tcmJV/4F tqrXXDRhwN+E9EPU7SDq52eLqwY68w9Dr/4rb2V/+nVVYWEJ9d23BD7Tkl1UD2Q0IAgc jvEA== X-Gm-Message-State: AOAM532g+FAi0eBUs1hlxiGtTp2DOBc3fcPq684JPRcrrIbqMW1GHAi4 qJa0v8v7NTzlTAW+6QzgBXP+f4jNz1w53LoWLOY= X-Google-Smtp-Source: ABdhPJz4E1fqQ6ISQNyOSwpEeLTY91AStzHeKZMVKXLwZVSnVubh4EbMIt4+ILG2d1vG6//sd4IqoA== X-Received: by 2002:a1f:9b84:: with SMTP id d126mr1288375vke.31.1638995366235; Wed, 08 Dec 2021 12:29:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j15sm2323154vsj.32.2021.12.08.12.29.25 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 41/43] gnu: Add node-serialport-parser-byte-length. Date: Wed, 8 Dec 2021 15:28:36 -0500 Message-Id: <20211208202838.752542-42-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. --- gnu/packages/node-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 7f59b0f987..3722f90e3b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1112,3 +1112,24 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:57 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:57 +0000 Received: from localhost ([127.0.0.1]:41661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zd-0005xx-B3 for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:57 -0500 Received: from mail-vk1-f176.google.com ([209.85.221.176]:42685) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZE-0005ud-Jd for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:32 -0500 Received: by mail-vk1-f176.google.com with SMTP id s1so2355849vks.9 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=oPU4ndsUbmtQOBr2D9ylm4Plrszvgo++q4KBNhSDWv4=; b=QG3Jsj+4vlK9JMOvdhpsrVGOL3umWjRnbYJJgaQf2vpyFEfcCUpFlnIy2u260mAhSd Zq23O3p783RLXKag91h0l2nsBAjKhjt7P9V/lwlz0mymgsg1PDshuT1ROGlofHITzXBs 9UXdnPJhtF+ocwKtjHcQ2rXpD1Bnuqg+N62/HCIA45mm7ij+s7k0Jo4jirgHpto+IODG umS97YLWf3DfRRuQUFvCteUJdMAyLNxaOsy66/M80Fx2pjnAsbic7tMxo8TNtyyVCa6g 47j3lPlPLGYOf9YBczMiW9vaWMkfsA0RLpiUsKBuivVtR8hC68uX2qYvPSd2dHoDsG2h C5nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oPU4ndsUbmtQOBr2D9ylm4Plrszvgo++q4KBNhSDWv4=; b=RVUawIc9JcUiONx/T5eZCMp6A/hpZZ+i45EVe7MCZy6he9zd/UZHTyJ9lKu/Dh/umT 1ZG0cqnNyE4edaNHVx0Sps9tB8ocKYYOFH5MA9T2fSZappjzLiShmD/E3AANkltkDFkG DFEGqxSAxOcEq+GoVJfuIzrqv4bKqfw7DXK2/Ntn08d24NGjp6InF4dIDk+zbyeelhd+ 4ueC8hP6c5v8bplPMoPiR3+BKPjmsP3QtMf4wmOymRSGPl82MpDhlaF2Irc6nkoRkJ1N 6xdPRmJ5K/J4E6mDSMICLBctMHqNcoglgDs0QSRj3TIkuj62vLuKkj0rwoxkyp+KXE+y q9rA== X-Gm-Message-State: AOAM530g9St026mjvz5PWLPOxbwLFdBBu5H4tTPSzVbPglKobqERmWaR qh1YsHB6c9SrxEVZXxG06ZtVS0N/nAZgKyFhvxU= X-Google-Smtp-Source: ABdhPJwPxNfKRKoifT5pbPCB27RVrnJBxikCxPUmZRJU7RfBHhEEEE3NEU1PB+Qq7dcnqrVL7GrxQw== X-Received: by 2002:a05:6122:98d:: with SMTP id g13mr1228010vkd.15.1638995367118; Wed, 08 Dec 2021 12:29:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p130sm2512416vke.56.2021.12.08.12.29.26 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 42/43] gnu: Add node-serialport-stream. Date: Wed, 8 Dec 2021 15:28:37 -0500 Message-Id: <20211208202838.752542-43-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3722f90e3b..904c0be89d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1133,3 +1133,29 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (arguments + `(#:absent-dependencies + `("debug" + ;; devDependencies + "@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 08 15:29:57 2021 Received: (at 51838) by debbugs.gnu.org; 8 Dec 2021 20:29:58 +0000 Received: from localhost ([127.0.0.1]:41663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3Zd-0005y4-KJ for submit@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:57 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:36453) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mv3ZF-0005uv-GW for 51838@debbugs.gnu.org; Wed, 08 Dec 2021 15:29:33 -0500 Received: by mail-ua1-f44.google.com with SMTP id r15so6942247uao.3 for <51838@debbugs.gnu.org>; Wed, 08 Dec 2021 12:29:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=XSG2xl4XMrrpeRuhNK6e2CzF3pjBMsqLLUHy8yinrsU=; b=e/K9ptlMhjcLqwq8XrKMNGxKYX21PGsrYUGeBh7kVYxIffabqu2ME++iSgYW01hpFS 5WCVgqBFiIlKEHAYZxK9Y6Qs4gT3PMYxElEenX8Da0fc9TPVyrbIUgkIjCrJ79dYLE9q oblT8iG7rO+Vc9q3pasA+M9XPWElx6KKGN8x8xy5ZKdvysqWTmiq86bNHOsVHBdX4qaf FMzwHQtMdIeyLGrk6W8vw2KKH6WJEOdtrzcTNvuJWgKLj8HDj6KzhElAhsK4fm0ued/N EgBn9bli/cfNcE9VIxin6aO52RKggrvzODRXYBlt3mfC0F3kcmxkwqIyP4tHYjHeEvjj qqBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XSG2xl4XMrrpeRuhNK6e2CzF3pjBMsqLLUHy8yinrsU=; b=vBRykS0CbxqB0fUiUjg6sVoddJROmdp+k+z18gsjHf+lCUinWrncwKWU8gdX/rcwm5 QGOdfU/XbieuPJsD4+ZUfHmBjRMfQVvudMV6hEhU7Nq5WuKtMFuHLEIvqnzLdknfxP7k +KChoIuv6Vb5fwNvPUw/KgR8c1pX1fi9mbgd0bH6unYIYr26wYVDwoTcM3HR3wObmR1t ZBMGpV2ovy6SlAkqA8qKrI8YN/0GyOdmqjrhNzvcqwtpr3BbWo9RlmyBVjpvP5pZk3JX WVaQiiy8l7Zks32aqpS4VV5L/RDxD3KakiUGFiJxJUduVNxUyxA4GIfR7yx6CyU+FEO6 PRww== X-Gm-Message-State: AOAM5313VR00Cv1s9+E+HXRqJ+hDek4UB/rh3lR89ls+goW6U/hsbvL1 syOe1kbC0z5sDknaQz74vZJGHXodjmS7kIlUl7k= X-Google-Smtp-Source: ABdhPJw9WhCFcjWyqrpEe759GyfTCtOSGi941emIEIMX0u/GVwyfKJduUg6XYl6oGT0uQ5QLCpN2FQ== X-Received: by 2002:a67:c202:: with SMTP id i2mr1035870vsj.69.1638995368062; Wed, 08 Dec 2021 12:29:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o188sm2454364vko.48.2021.12.08.12.29.27 for <51838@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 12:29:27 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v3 43/43] gnu: Add node-serialport. Date: Wed, 8 Dec 2021 15:28:38 -0500 Message-Id: <20211208202838.752542-44-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211208202838.752542-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 904c0be89d..03bc250132 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1159,3 +1159,36 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + `(("node-serialport-bindings" ,node-serialport-bindings) + ("node-serialport-parser-delimiter" ,node-serialport-parser-delimiter) + ("node-serialport-parser-readline" ,node-serialport-parser-readline) + ("node-serialport-parser-regex" ,node-serialport-parser-regex) + ("node-serialport-parser-ready" ,node-serialport-parser-ready) + ("node-serialport-parser-inter-byte-timeout" + ,node-serialport-parser-inter-byte-timeout) + ("node-serialport-parser-cctalk" ,node-serialport-parser-cctalk) + ("node-serialport-parser-byte-length" + ,node-serialport-parser-byte-length) + ("node-serialport-stream" ,node-serialport-stream))) + (arguments + `(#:absent-dependencies + `("@serialport/binding-mock" + "debug") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:05:02 2021 Received: (at 51838) by debbugs.gnu.org; 12 Dec 2021 16:05:02 +0000 Received: from localhost ([127.0.0.1]:52908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRLR-00006M-R9 for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:05:02 -0500 Received: from mout.gmx.net ([212.227.17.20]:50829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRLO-00005t-Jv for 51838@debbugs.gnu.org; Sun, 12 Dec 2021 11:04:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639325087; bh=Zx3VEd2LVXvT8hLxbgmVlyTMAY00wLTwl0GNnD54tGs=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=i5l1J/vfz/AAnkyA89t+fucfOuComXQeL1tbbHpkmpezbvEimYUHseY/VFzxtLm+q ChE5nbYOdeUSehHUMlqYk63ttOebK2Zi3Vxt9wt+FZSl2HKc9AZi4qOpd9uy9j5Gnl o99Oede2YLdA6S3OS6Zrp5DO18UwTYKHCytl7Sjs= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1Mlw3X-1mELAC2J5n-00j3zb; Sun, 12 Dec 2021 17:04:47 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [PATCH v3 00/43] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sun, 12 Dec 2021 16:01:41 +0000 In-reply-to: <20211208202838.752542-1-philip@philipmcgrath.com> Message-ID: <87ee6h24it.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:vMzPQsySHxztWcZ5ENqbAOo/Uh9SvsoOINz32egJRIjX3nFiUEE H49DG3Lh3YTV/PIKV5fuaGi3s6qwjd7+bSlkpknDjEU+BeqIdHzYt4OnFfRWAVNjNpVRmWu z3bMEW+kXbU/Y5OX5PpQdqMTPM0nsi/S8m7WNK8lKOuJ+5CIT75NpYLV14bniZ2BMP6uQ4e E2lyHO3cj+qWJAngiUamQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:2e/8UlNOSlU=:9CElUvKRdL2efw5Ytj+YrP 7wZzXyQHvL3qBWb4YFgQPC/Ou/coBDZ7O65oULAtLtNwFmhp9XcnBoHUedSs5KtffkTdPxbAA fEATTVfWVDqhrm+lIpOLSz7twcfS0Y5025WBbxpGANauBVIebBpMmwULodaIfISRWmKLXihPa NwJxsPH86sLwu+kS5h/ny3yGk0qSqZSdxqs7V2U/AmPPhaAo9i+x9NHDrOl2WAvKu3/pVNEIw 0GgBtBQAVZDvTj71HQztBBVOC4G9+8VkuPgOO0mgzks5ocMeTbt3KlSaF8ACeCkBa90Vc3me/ 8/vogb38mWZygTAYjX62kMyM47ecvP8FG6z/aHLIc+o8xjzv6labvYzM+d3bVHgeyh63CNXfA BV2FgdW7ffhUh5moeBry+37EI5uBuZMmk/luOP6O0OncdswB7N6omwQb208qGgPfh/4ejqAlP q+XP59CJw+UDLNLdZl1tIUE1MrAxgXCm2/sFhy/opYjLvyVCPPl7RY71b5JgSECL6HK4KySD1 otXxbj+Jys8BPK7qotWzHlILuIVAMK1H9mxdCJH5jHorrmcOPY6kdCORTyl157MUeoZcwbwzd 43eIJRP55Wtm5GdIu+YL7yh8PEtWcmbm00yvf+qOgo+uWbjeEga9z4zxIjmnpQSOquE8mOHdu rn3wlUYo1kUvRkjAAFIixkDqtFPVEYx0NOXwSyI8RUUr5NdDjtATvePnPX7ro8vATunAsTNnk 2Q2jCHYPq8VeXXwgBhX4YH4DZG3fjgC5SsyH3b02uKrJYBkMvJ/JxZ1DUvk12OcEcuJ/CW3wG 6+VCbljzGooS39cRvv6QIjoah4jzIzy6HjE1soa5C4vRkutnwT3f8RJY8EIT7GUIN5ERb+s6I uLF1qO/RPQbDeUGlDK+VnO27RPCTHdZdChdOZLXOM/hA5vbOabJM6KN6vym+pGGpztQb2JG18 O/LxbHezuq8FfLi7192riVJpPUgdQxIobZk2rxuTj8eQr/MfrlEToWBvvsVhnVY1wg/LluFyg dKM2aKwDH+fmDhZcLEApeMsXqYFyD9V65NNXq8y+2WgZAx4gGyh8Jd/O7Ge9Je+dnsQl0z8lS wOcAdGdN3cAVho= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hi Philip, Philip McGrath writes: > Hi! > > Here is a v3 of this patch series, hopefully incorporating all of the > suggestions. In particular, as Timothy suggested > in , I've tried to make sure the earlier > patches, at least through #:absent-dependencies, are able to be applied even > if there is more discussion needed on the later patches. > > As I mentioned in , while experimenting > with v2 of this series, I discovered an issue with the install script > automatically generated by npm. Patch 21 ``guix: node-build-system: Add > avoid-node-gyp-rebuild phase.'' fixed the issue: I explain the details in > comments there. > > This series also adds two additional leaf packages, `node-segfault-handler' > and `node-serialport', that confirm these patches can support additional > styles of native addons. In particular, because the native addon for > `node-serialport' is actually in one of the intermediate packages, > `node-serialport-bindings', it serves as a test case for the new > `avoid-node-gyp-rebuild' phase. > > I've also put these patches up > at , > if anyone finds that useful. Thanks for working on this! I've tested the series and rebased my own work on top locally, it's working for me so feel free to add: Tested-by: Pierre Langlois The series looks good to me overall, I'll add comments in each patch. Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2HZoYHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31UG54H/0cQAunqiscLjtpyMzbMzBPQ QrWZEpyAehJkOUubyG2TwTaQb3ZuHpZMaXoNBJwlUuNOTA0nO9JDSkpwhytCZxHy M5xFXY+BA109EMoxfWRP4bz2n+fkvqwTrg82j9bKZN/wpFE2v4wq3bgfy5jfXFrC hgLWXu9eP+538JQhI0OFJRWgIzMf7qs/Aj/f8RuYIJPO2DqU8Lzgob/2hy2uFq6D bHdeGUjFKNK/2kPeQ8Qa+9EJta1wUjjw0OlRXqjeogvfFIOHGUA8foOvIFQ0/OvG RKQ/hBv5wjZ0QBPZxJbVHhHJTIXwS25HTBLi3rCiOITdEViyXUDzN65a1+G36FY= =Y2U9 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:05:50 2021 Received: (at 51838) by debbugs.gnu.org; 12 Dec 2021 16:05:50 +0000 Received: from localhost ([127.0.0.1]:52912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRME-00007i-BR for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:05:50 -0500 Received: from mout.gmx.net ([212.227.17.21]:55587) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRMC-00007W-Le for 51838@debbugs.gnu.org; Sun, 12 Dec 2021 11:05:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639325142; bh=MbNwfFhtYIiyJO4sFhpy0ljg+BC8H/v1AHKzniwRDNc=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=VviGzGpHTiygTF8tR6Y0nPvbOcgURWpGbLW11//7V9sfKY6rffwMKtfGYQuZtwJ4z VTV+OP9F0y+2bsXGsQFgu21RhBBObOtSrw30z+FRh6M7uWqAs9tRby/bBYANeswDKU UAqK/Y/ArpwsbH5kk0SM8D3h2j6phskvrVuXjENs= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1M72oB-1mspuz03XL-008Yo7; Sun, 12 Dec 2021 17:05:42 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 04/43] gnu: node: Add an npmrc file to set nodedir. Date: Sun, 12 Dec 2021 15:19:39 +0000 In-reply-to: <20211208202838.752542-5-philip@philipmcgrath.com> Message-ID: <877dc924h7.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:KwJnunaYDaj6IClH7PZxHuCd5BmspHj6hJVO7yT8wRq2CALGs2V dHfBa9bxOjJRze3EUPVBmgtmAbIeHglakNZwHulxJFZC7AiXsHP625fb6PnOTKCHYTZeqGp xfhNmpnP2Z1CaUT4TvN5HcMkxznYnpliCOikpK1F0Fu9OEREZAO8/ZR7zrluDMMj4WEvd/g vGHEiKpBfnIUZlooX7LMw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:GGc+q8etRu8=:LTPl57AnvS0eQh6yhK1zCX iI3qxXV9xfnxF0XDhLpn2d8HiMBaCePTm+H6fsbX+na0fHwVUH6gv7QuGQYwPpgOrF6cd7fPp BCDAL59pjleRn6kwuOtiF3yhRdJ967sjfMapvipGiQzKnNJgnrAkWRCYvvaMUjyXrQFcpLPeH pjCapk00dT64lxQqGv/nZ7+f6yUqG0ohA7EBlRPu3OIVfs534roLdnz9xZUfMU7/ZiEIhC3Zj ySR9fdD10eTW7KwOSctAq3gKOp6ZPGauLQ1t+gKNOvH3dfverXISJBWzTASrZ5TSpLf2S+x3K uDgpZnndECAKWSXUNonwwcBVhs8Qdpo9xH22DTlIRTmfrzRloSN4kMMfZ2S1T7KTRBXQMJ3Tt qRfLbgQT6v7aeppSkRLr6aoDdQ+8IGCgzJqZnzWrT8H29sHHtHCGqRy1lwNVJdfjiNji0CVaJ CzFjsArWgQom5QtlKF34o3HDXZ7S3Rh1gJSB+YSiAqz/L0VlqL3x5Xg6SOdRxf4ewEMc3OqyC UwRpkzAtgQ9Q/RKsIongG20GozxK1x5NUqxg2CYmM5wH5cW3dERYhFXf6LLhnAepq8P8uyVjA w8Qmb3JIXJZCmqNQ+bhOfVHq0IkNWorZcifER2bPQ8AoF/nKH3CcUh0rvNOsyvbFWloDQAptp tQPJQ0U6pT7qRlSM+TqnAm2QgHekU7Q07/wIFBIzgd2YEwsVjLpL7+kaCdpZFKQEgVKR7umhb CUbhAXRlc6VWmjQ/LvoEXGXI4vLXZ4+krsQy0PzkfJ+AoTCY5h50F2jUmPXxRad+yVNCiQHP3 TubJo4ZR8SAsSQr7aHDiCeG80UYGZeIYXs7uPnHYzsWTx54DAyW9A3+6Ag1yKuufwKnp9u/6a hK4qGmzYzysry7tQzAZ//BI46O4EBAyS4iAJ4/9qSUvbXnWAgzX7Aro5BnhdiJiKKoqU9D5iN RD1EGrzHEka/Nk6B1eqxHeMP1XXk5xkNQCWPvO51Og2gJ6I8daJ7BWng+NUx5G8BQKgiFcQkn aUc2tr4/pUDS8T15nQ7a9jRXOdUwXfLxllSwu7yCy2PKJ3bx3zNNJXowX0i2JOL6mExQZeMAg rEPiqRxrEIQADA= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Philip McGrath writes: > * gnu/packages/node.scm (node, node-lts)[arguments]: Add a phase > 'install-npmrc to create a "built-in" npmrc file that configures > "nodedir" to point to the output store path. > (libnode)[arguments]: Delete the 'install-npmrc phase. > --- > gnu/packages/node.scm | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm > index a57a74fb81..0f67fe79c2 100644 > --- a/gnu/packages/node.scm > +++ b/gnu/packages/node.scm > @@ -250,7 +250,21 @@ (define-public node > (find-files (string-append prefix "/lib/node_modules") > (lambda (file stat) > (executable-file? file)) > - #:stat lstat)))))))) > + #:stat lstat))))) > + (add-after 'install 'install-npmrc > + (lambda* (#:key outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out"))) > + (with-output-to-file > + ;; Use the config file "primarily for distribution > + ;; maintainers" rather than "{prefix}/etc/npmrc", > + ;; especially because node-build-system uses --prefix > + ;; to install things to their store paths: > + (string-append out "/lib/node_modules/npm/npmrc") > + (lambda () > + ;; Tell npm (mostly node-gyp) where to find our > + ;; installed headers so it doesn't try to > + ;; download them from the internet: > + (format #t "nodedir=~a\n" out))))))))) When I run `node-gyp configure' in my tree-sitter packages, it's not able to find the node dir and tries to download headers. So I need to set `npm_config_nodedir' manually, like so: --8<---------------cut here---------------start------------->8--- (add-after 'configure 'configure-gyp (lambda* (#:key inputs #:allow-other-keys) (let ((node (assoc-ref inputs "node"))) (setenv "npm_config_nodedir" node) (invoke (string-append node "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp") "configure")))) --8<---------------cut here---------------end--------------->8--- I'm wondering if the npmrc approach here is working properly? I see in another patch you've used the `npx' command to run `node-gyp rebuild', should I be using that? Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2HdQYHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31UMYsH/0t3lyRkctDDEwfk/xPi24Lc FTCBdmkbnFDts/x8qWz8AS+P2s+ll3uzammOBspuvoMojBedh1nrA23DXm0reO6l nF2WqU6RHSo8nPWaU0leKBMTL30MxkjERo3xQpDBxOtc99q5ZiKxNXkXq0SeZkUv rlkCMFBlp8yIKfvnKvLrRDSKXjXchZ1Tli6Oi97xn24ZyfSMj0hxlL+c/QVnFAeF hA2JuX7LEmT/Seo3VqEgfzn1HQFh5Dnqi0y795tEC9gB4n/0zToRrnkGdoeVxFxr DESzIr7tmQGeK1VBoG0ru3sFdkqlZQpi2rOwOTrAdFJnTABtYvI5F1mFsoRToX4= =aZC9 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:06:46 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:06:46 +0000 Received: from localhost ([127.0.0.1]:52923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRN8-00009o-5r for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:06:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:56900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRMz-00009X-6k for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:06:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRMy-0005UA-LP for guix-patches@gnu.org; Sun, 12 Dec 2021 11:06:36 -0500 Received: from mout.gmx.net ([212.227.17.21]:54119) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRMw-0005Uo-4z for guix-patches@gnu.org; Sun, 12 Dec 2021 11:06:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639325185; bh=HLb3myBaCJw4tdPQH1RsL0qgOyMfO5XQwC0ZLOXRTcM=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=UygLa1Ec4DG12h5rM98xOuXMmorUFyusrXxZuHsY2pG9Hy3NXXz+re4S2/PwES+XK ux7jwZCZHURRPdvAcSo+iZxQ0KOPCUcWTDGeJLWjksu3ytqiCRYLO6K8sdlZl/L/fg 2Sfhgs5R5hMsnffSubHtuKrWw0srM/2NZGBmn0js= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MKKUp-1nEv3n3u6J-00LjmR; Sun, 12 Dec 2021 17:06:25 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-7-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 06/43] guix: node-build-system: Add #:absent-dependencies argument. Date: Sun, 12 Dec 2021 15:31:10 +0000 In-reply-to: <20211208202838.752542-7-philip@philipmcgrath.com> Message-ID: <8735mx24g0.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:LGI0j5zIjuWhMasL12USngkD1LbVLoSkEtx7moJeEfjZre7Nou/ k6MuZuma9irhQ0YqIi83gqc3RcV6XtjzKgBQmKyr+q/x8q/axIVPnJuEizrierUf9xVqEqS Ijj8NZLXzW0kWT4SA6RAAEyj2tM2+EYcZjygv45yv0g0sPIZU6NapJYSs7id6Dd8V5Mc61h nojK7aPd1TjfR0Qmf9FpA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:YgqX1DDPJjg=:DE6QelVfZ7TO7VJ08z2QB4 ooWIMicqs8RvgkkwCRTm4rzC3P9Dvwe8GC3I8HZzTT50JVa53O4iK2hv32W0ofGYxYUKweLhC NAtzfGX2GQeuBkUt4NK1zFrnUWIGD45HTKOtg/pzWK9AZHDL6gzugxseOa5ucMGsV76j5/vYQ Pmoxrzez2boYXNyA/qokvUL1BoxVD7nUbI2CfaNZ0FYr/HsgV/kNUuSRcaRSxu3+ABxV3ZSmM i81RN8R6GTTvNwottkU/cwY9PM0dUn62MHxoFe49IDyKjiSvQMORVp/fT4yfv5Pl4WEd/ZyFh rRZo8LGILRO6KHqpjspu9EHcdoanXxw5FgUeUapw1vtm8jd26t/0POgGqqAXR0ko+020/Kcmv 0yap1Q9OgF9q72yts0pT1LmlS7VLkjQfz6DGIk5pXUxMKwYLtW3ynEfd/dJQzbRdAg7ygjBtv 9KRbrvpCVW0Np42meP9e2IweEB5k5FvyRcOov+dBPRSglXwINftnrs70IT+74UkWHkUTSJQov Kub+D443TrfpkFP2HdikBxqbZKUCkDnuR3dxMAcj7YJd2ybJ01G8NK/bNJEtsvod7hRm/wlOc 6CQNrOjSF8oXZLQWgDkCiZHDD/6hlNxvVADLX9swhAYojtrnUxaFxN83YJlmFj1yLZ4o/NdRF hSm/nRDR+xON9fxm5RtCAQAUbUFqUxBarzovi+IZBxS4GKy0Gv1q5Z3f121nbtRSeJ5CQ6XdR PK5qaNU2e/v6RJEk5XLJHJsJt4xz/PS2Eui+TXD5RzxvwWLVLkP+QH14hkbdcgVJQ1WaZ+Pfz 2hip4BNKH6XFrj9zRGDlL+FuYYFg1TY3WQ+DoPDZ+AZpGGBy1o0iuHFsQ9WAPJiOK59fvLNdV cmcL+cLNdlKVBA+t1EpogV8Sz/S7riYeyQ+adRvvMX0MRZx3+fsZWKLuCJeXDxy2CVU0FdXMQ 3eS3zABR5SHrwgcxn+b5L2BCJIEPnPd1XJWDHL7PLQDjoM6ozJx3+dVR5W5DCKVMR3nvje8w0 ReuLfRpt+U7huQNgMWGaBScHaEnVqkGf3TDH7pgElmiKuee6iaxDWrKlzybJy1R11IDPLDl1e CZMWsGpzdlfAi4= Received-SPF: pass client-ip=212.227.17.21; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Philip McGrath writes: > * guix/build-system/node.scm (lower, node-build): Add optional > argument #:absent-dependencies with default of ''(). Pass it on > to the build-side code. > * guix/build/node-build-system.scm (patch-dependencies): Respect > the #:absent-dependencies argument, removing specified npm > packages from the "dependencies" or "devDependencies" tables > in "package.json". Nice, I like this new option, I've needed this functionnality before as well. For instance I've seen dependencies like "prebuild-install" [0] for which the whole purepose is to download binaries instead of building them... in Guix we always want to remove those dependencies. I'd suggest to add documentation for this new option in the manual, but that could be done as a follow-up. [0]: https://www.npmjs.com/package/prebuild-install Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2Hf8YHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31U31AIAJtOlxG1+7UIKYy5mMErsHCh 5Qy/cXJ8du6EJM0LMMUKkhrnwntMBpAYHsysKHU8yOJLyBau5qEAs7l2pXKCPQ1U ROEkDyMqM+oe1wYw0+vaub0eeebj9WDB2iSTEO1+c+OZXYn16pIdwK6kuKS72z5T Bk82hEuwv9g5CMCAxNdydAnbLaWfbvWE6PrK07UrvZ91OM5FNoz7swRIFnJ2q1ba yvTlaIX3Y72/xpOEP4SvtszlLNRAHfaAdXsr1/vOU3m69oEZr553fBGICRuVb3Kw UlHOJ1JSU+r2j+h3rAaxclCGsWNccXD3D3z6cmXmEN68KvrF4IXyQK3N/ATrygc= =6YiD -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:07:27 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:07:27 +0000 Received: from localhost ([127.0.0.1]:52932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRNn-0000Ba-5l for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:07:27 -0500 Received: from lists.gnu.org ([209.51.188.17]:58334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRNl-0000BS-Fu for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:07:26 -0500 Received: from eggs.gnu.org ([209.51.188.92]:32958) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRNl-0006Tw-4V for guix-patches@gnu.org; Sun, 12 Dec 2021 11:07:25 -0500 Received: from mout.gmx.net ([212.227.17.20]:39607) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRNi-0005en-8T for guix-patches@gnu.org; Sun, 12 Dec 2021 11:07:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639325234; bh=YkAHgk5+Q1WYHVZ+jM30XEps9acmiRb36/uzLpNnUDk=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=UwzJOv+Yfvf1KKO5OZeaMM8ndtRycmvHs0mNLXgE0fWzQIKzd7KM9R03zeLBa1Any OUTPhEqGhoHS6ZJ+nm67fm/85S5uMuxyeIoFwD1TBP7ifpaiJXAM3UeppYpArvX0sl T+8qbV9MyaxFQfxRHtYtIqEM+lKRP22g1u+GfttU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MBDnC-1moD6d3y9e-00CfNN; Sun, 12 Dec 2021 17:07:14 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-30-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 29/43] gnu: Add node-sqlite3. Date: Sun, 12 Dec 2021 15:42:47 +0000 In-reply-to: <20211208202838.752542-30-philip@philipmcgrath.com> Message-ID: <87v8ztzu1a.fsf@gmx.com> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:hPqPJcQQ+AFf6YFQQDyNI72/s1vey0NjnfZP94hOlhKfZje5VQ4 oWyojXPsgL+Tnp05bXxvRTvGAEnjvF024nTGthzutmww1EmFlOfW+oLBn4qssgz8mh8gNYB xN80cNvnHckxeFUW3X7bmko1qtBapNxtwmbbtgPIaNHLv1Utu5qNjr8VZB6T7e1IMuIp14x wde0cZpY7NhYBOmPGEDRA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:XmqaF2+fIWM=:8WHp6dOibCikSEmKbEdqop CVgxCLoNUHonGegScLt9ogL0MAP1f8zM990EA42ZBCRCrZjN6V/6n2y1EDkVyijKpr6HaD589 qCM8ysFK9Rkw5GfMGNq1EZZ2+t8sA+JswZbj9KAiZiaB8K/FMU8VpYOYBke90gEpzqcHKpjiB +qSu/IzpFZve6kbov6pfaDfEeKmRLJz76FBDxOjp8T7HeuDTVFZEkUgfl68WRvXdB2DtDa66D XuOHZ/Of8PhboHOqghMg7bMb/aDJKGe9bPfWkvLJOVlxgFenv7RDFz0U98Jyg1gQ/N130EIKt UgsLdnG84dHcabk1JpjTG3Vefla3XameUaOkLeV9K5tJHJNmLsHlQMaRwc+LOVY1OgAkVTGvP QFdyx4SzFhFyTeV1s11BxRvezY1dACEjimCCKtkLm59rdUihaiejOLNzrTMgGaDH4JQawKUHS PSgfPFdLYQPOVg+0NRQRYIPJ3qdaTUMjtkH/4Ppr/aQqFVtCnJwPSw+A8kxqiLrbNEXFl7ZAQ jsv0z+aX2/IfnC0sQz8tygtYDDwseJodL6YQex2XTyxLon3Pz/3rMj1173Qww+Da97DkxlfqZ ZlK97c5t3L/CvoGFFGnXiM8isQcjihn6ezSH/r0yvFR/HU9CWU7ZN/XvoLUL4wHLMqRwLeKN/ Hr08yB+RdmdPgGsEilslkV+faXcQERS0d2rZdnhwAzkn7J25uxJSz3sX/61YNX9KS+pYIm1b2 kw9IQew0BeVCtym4DJYs0LD+JVi2ARR+wJ6FeJB+2ZzknJcD1a7A9zM8plPc0619VEIBWTeiK FyvEsawuVdyEv00pXK3aOUMar7pFLfDduBOxZQRBRkcAiEOBpOq7WdjXVdGPwfMB3JnEq9erG L+XijVW0HXU3PgNi5A9OQnwNURiWSiWmfetZU3g79CvXkYVKTjz74Te6L7fDxrw4PkJffXJKx /gRN2KIPFOjoL8lMjUVqofd5agdfSGVMI6immgYrBYhEV7sA6mG/JzcuxkY2lXijbF+HSidQy srzS5h0nxvknf23KPzU55HCSLIWsIOG2d3YAOErjwLCWpy9llZSbRuUmqO/rPy3/SrLKACdLD bPAZEeJMj6krXY= Received-SPF: pass client-ip=212.227.17.20; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Philip McGrath writes: > * gnu/packages/node-xyz.scm (node-sqlite3): New variable. > --- > gnu/packages/node-xyz.scm | 118 +++++++++++++++++++++++++++++++++++++- > 1 file changed, 115 insertions(+), 3 deletions(-) > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > index 60dbfc163c..b979d0cd53 100644 > --- a/gnu/packages/node-xyz.scm > +++ b/gnu/packages/node-xyz.scm > @@ -615,7 +615,8 @@ (define-public node-addon-api > (sha256 > (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) > (inputs > - `(("python" ,python))) > + `(("python" ,python) > + ("node-safe-buffer" ,node-safe-buffer))) > (build-system node-build-system) > (arguments > `(#:absent-dependencies > @@ -630,8 +631,7 @@ (define-public node-addon-api > "eslint-plugin-promise" > "fs-extra" > "path" > - "pre-commit" > - "safe-buffer") > + "pre-commit") > #:phases > (modify-phases %standard-phases > (add-after 'unpack 'skip-js-tests nit: Did you mean to include these changes in this patch? It seems they should be part of the node-addon-api patch. > @@ -660,3 +660,115 @@ (define-public node-addon-api > @code{libuv} (included in a project via @code{#include }) are not > ABI-stable across Node.js major versions.") > (license license:expat))) > + > +(define-public node-sqlite3 > + (package > + (name "node-sqlite3") > + (version "5.0.2") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/mapbox/node-sqlite3") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) > + (snippet > + (with-imported-modules '((guix build utils)) > + #~(begin > + (use-modules (guix build utils)) > + ;; unbundle sqlite > + (for-each delete-file-recursively > + (find-files "deps" > + (lambda (pth stat) > + (gzip-file? pth))))))))) > + (inputs > + `(("node-addon-api" ,node-addon-api) > + ("python" ,python) > + ("sqlite" ,sqlite))) > + (build-system node-build-system) > + (arguments > + `(#:tests? > + #f ; FIXME: tests depend on node-mocha > + #:modules > + ((guix build node-build-system) > + (guix build json) > + (srfi srfi-1) > + (ice-9 match) > + (guix build utils)) > + #:absent-dependencies > + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, > + ;; which publishes or downloads pre-built binaries > + ;; or falls back to building from source. > + ;; Here, we patch out all of that and just build directly. > + ;; It would be better to patch a version of @mapbox/node-pre-gyp > + ;; that always builds from source, as Debian does, > + ;; but there are a number of dependencies that need > + ;; to be packaged or removed. > + "@mapbox/node-pre-gyp" > + "node-pre-gyp" ;; deprecated name still used in some places > + "aws-sdk" > + "@mapbox/cloudfriend" > + ;; Confusingly, this is only a dependency beceuse of typo: beceuse -> because > + ;; @mapbox/node-pre-gyp: with that removed, > + ;; npm will use its own copy: > + "node-gyp" > + ;; These we'd like, we just don't have them yet: > + "eslint" > + "mocha") > + #:phases > + (modify-phases %standard-phases > + (add-before 'configure 'npm-config-sqlite > + ;; We need this step even if we do replace @mapbox/node-pre-gyp > + ;; because the package expects to build its bundled sqlite > + (lambda* (#:key inputs #:allow-other-keys) > + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) > + (add-after 'install 'patch-binding-path > + (lambda* (#:key outputs #:allow-other-keys) > + (with-directory-excursion > + (string-append (assoc-ref outputs "out") > + "/lib/node_modules/sqlite3/lib") > + (match (find-files "binding" "\\.node$") > + ((rel-path) > + (with-atomic-file-replacement "sqlite3-binding.js" > + (lambda (in out) > + (format out "var binding = require('./~a');\n" rel-path) > + (display "module.exports = exports = binding;\n" out)))))))) > + (add-after 'patch-dependencies 'avoid-node-pre-gyp > + (lambda args > + (substitute* ".npmignore" > + (("lib/binding") > + "#lib/binding # <- patched for Guix")) Would this substitute* be more suited to live in the 'patch-binding-path phase? > + (with-atomic-file-replacement "package.json" > + (lambda (in out) > + (let* ((js (read-json in)) > + (alist (match js > + (('@ . alist) alist))) > + (scripts-alist (match (assoc-ref alist "scripts") > + (('@ . alist) alist))) > + (scripts-alist > + ;; install script would use node-pre-gyp > + (assoc-remove! scripts-alist "install")) > + (alist > + (assoc-set! alist "scripts" (cons '@ scripts-alist))) > + (binary-alist (match (assoc-ref alist "binary") > + (('@ . alist) alist))) > + (js (cons '@ alist))) > + ;; compensate for lack of @mapbox/node-pre-gyp > + (setenv "GYP_DEFINES" > + (string-append > + "module_name=" > + (assoc-ref binary-alist "module_name") > + " " > + "module_path=" > + (assoc-ref binary-alist "module_path"))) > + (write-json js > + out))))))))) I was having a bit of a hard time understand this phase, let me know if I have this right. We have this JSON input: --8<---------------cut here---------------start------------->8--- "binary": { "module_name": "node_sqlite3", "module_path": "./lib/binding/napi-v{napi_build_version}-{platform}-{arch}", "host": "https://mapbox-node-binary.s3.amazonaws.com", "remote_path": "./{name}/v{version}/{toolset}/", "package_name": "napi-v{napi_build_version}-{platform}-{arch}.tar.gz", "napi_versions": [ 3 ] }, "scripts": { "install": "node-pre-gyp install --fallback-to-build", "pretest": "node test/support/createdb.js", "test": "mocha -R spec --timeout 480000", "pack": "node-pre-gyp package" }, --8<---------------cut here---------------end--------------->8--- And we: - Read the "binary" entry to find the module_name and module_path to give to node-gyp, so we can use our own GYP instead of a bundled one. - Delete the "scripts.install" phase, it's not using the correct GYP. Maybe a couple of comments would be helpful here :-). > + (home-page "https://github.com/mapbox/node-sqlite3") > + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") > + (description > + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, > +non-blocking bindings for SQLite3, written in modern C++ and tested for memory > +leaks.") > + (license license:bsd-3))) Otherwise this looks good to me! Thanks, Pierre From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:08:31 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:08:31 +0000 Received: from localhost ([127.0.0.1]:52940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwROp-0000Dk-0F for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:08:31 -0500 Received: from lists.gnu.org ([209.51.188.17]:58786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwROn-0000Db-G6 for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:08:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33148) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwROn-0006qc-CH for guix-patches@gnu.org; Sun, 12 Dec 2021 11:08:29 -0500 Received: from mout.gmx.net ([212.227.17.21]:35231) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwROh-0005mK-GC for guix-patches@gnu.org; Sun, 12 Dec 2021 11:08:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639325295; bh=IG1Sdj5SBIbeB/D13UzC6RWRCHtpij20aDNxLqW3UZg=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=IVneHYke1H7nukjZTI58U8mVg/VDYMnvMagOWNrME5UuOoudu6HiO93cbKDXeFx66 QEYGzxL0HKOsRhO4aX1qHk55RdzTmzKNSsy3xkcZ6yYAcPWGQAVd9mAHNeoZaPoRKd It+8C7rYD5xlgp5t/8T7DRR1Y2NoH40rZdrM+b7U= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MIMfc-1mi9e72C4S-00EQOk; Sun, 12 Dec 2021 17:08:15 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-32-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 31/43] gnu: Add node-bindings. Date: Sun, 12 Dec 2021 15:57:54 +0000 In-reply-to: <20211208202838.752542-32-philip@philipmcgrath.com> Message-ID: <87lf0pztzn.fsf@gmx.com> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:j/GId5A92vJEpsd9WIKlANWsa5TZaTDPfI1XLXHw1muZyWFywDv j038W5Czleff/n/BlUlL19UdHdjcjFBPBdPpthZElzdn4xH+KGZtHqp1m7dU0UmUlKVDNC9 2vOfFqzg7yL6ouAvRHpLutHnGrbtauwaAs89C6MrHNGuVz2CK3uIcoZbUAOeBuibBrv9Kk8 Vyvlko5bjil2Tx7opi59Q== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:L2tUVZ5pORE=:BrTist1/AUbFY3FkCZTNUf 0svpmI7dxDgvt99SvPyT1AaBtvt0ucv1p2I9AnZQbs5sEvhAY/Lw366ENDCVArUJIVPPGapRn 3ZE/YicKYQT6jJMhsLIfZa3lK7HQope7abOSgUNwIQUUU7nCQe91FSGJmHUjlM7hf3QgkXRVv lk768tAKlskqa0e3nkSgCHYO4Mx7ihx716BUiWOvFTbqghKN3ME1N0RDg44Nt2J23kyqeKKze oV2kekVXDfVAmOoV8NdKYZZX4ZqfTtzz51BsP+Vp6a+9Gsro9LiwZ1XkAzEauXv5PE6xhw4Tp ubpxW7oYZtQeGAqLRWpAY8xm6+8BBrhgCSK+Txkg4bdN7BkYG/Dq/l01gh4RmUbFaOlImHt7m Szo+b5Df3nFWnYpOJUYaWTuCHEP5UNW9E73YuLJXq0QKYpUBq4nI0VNtH4P5m/5vIzPryzFk2 qEKtyUnEYCPXSm31F+RwUCMD2iz1d64sq0IntrUh36XGiroE5pauD4FhyqM1wvX2bODx5y9d4 4gGDibCjTxSfzX2NnFeV01sLstapYTpE7IZMTjHxuBk865XTv+SnWbqUrFwwRkKtLO8nC0xjs hJ6KOtfFg3tsvOq413JFgVrQJCdyq+rZIbJlIzt7XHRu9+O/pCsUuEd8MmnFICSZsI6nM9bcJ 450F4ReOYTZnAz2XVTzOqMc3SN0/mBW41CMeCsmLqM4mBLUTrO1XuyM5GjiMLE0lxb/qNypr8 eWXfQMNfMP1AiboH9xiecPB3DNaxZmQ+Rj83EVpLGffioJekKHh1vns4ie62jmHqzFmcp1Bxm vNvXrbD7ghTmaxuT/DW8dcLLz0svlYCczd3knnWtIB03Jff8P7sg4juVtF/pQqOaAaIhvQVqf Umo/Gt8jZ5efv/lZnI0sIReh8wmFB8VzewBpIan5sMRu5oqsVAjsx/azqLfKxJBSP1DUlq4P1 5o7MA0/zOjHLa9kt9z+ra2a/sc+jFee5gJVPAAILz0zkFjMzYaja/2vozI0ylV0XrkMjQv39Y TWG/ZknrPRMTtgGOJmv21O03LB5dPULXUVqZ7kphn5Pvx38jSdB9Dkk5eI6SooORhsm4/LcxL Hxth48AcJErk9w= Received-SPF: pass client-ip=212.227.17.21; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Philip McGrath writes: > * gnu/packages/node-xyz.scm (node-bindings): New variable. > --- > gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > index d23326fa25..196fa55a39 100644 > --- a/gnu/packages/node-xyz.scm > +++ b/gnu/packages/node-xyz.scm > @@ -826,3 +826,33 @@ (define-public node-file-uri-to-path > (description "Accepts a @code{file:} URI and returns a regular file path > suitable for use with the @code{fs} module functions.") > (license license:expat))) > + > +(define-public node-bindings > + (package > + (name "node-bindings") > + (version "1.5.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/TooTallNate/node-bindings") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) > + (inputs > + `(("node-file-uri-to-path" ,node-file-uri-to-path))) > + (build-system node-build-system) > + (arguments > + ;; there are no tests > + `(#:tests? #f)) > + (home-page "https://github.com/TooTallNate/node-bindings") > + (synopsis "Help for loading your native module's @code{.node} file") > + (description "Throughout the course of Node's native addon history, addons > +have ended up being compiled in a variety of different places, depending on > +which build tool and which version of @code{node} was used. To make matters > +worse, now the @code{gyp} build tool can produce either a @code{Release} or > +@code{Debug} build, each being built into different locations. This module > +checks @emph{all} the possible locations that a native addon would be built > +at, and returns the first one that loads successfully.") I see the upstream description is prefaced with: --8<---------------cut here---------------start------------->8--- This is a helper module for authors of Node.js native addon modules. It is basically the "swiss army knife" of require()ing your native module's .node file. --8<---------------cut here---------------end--------------->8--- I'd suggest to just use this as the description, I'm not sure we need to mention node's addon build system history here. Otherwise LGTM! Thanks, Pierre From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:14:09 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:14:09 +0000 Received: from localhost ([127.0.0.1]:52953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRUH-0000N0-AC for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:14:09 -0500 Received: from lists.gnu.org ([209.51.188.17]:59694) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRUF-0000Ms-Qy for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:14:08 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRUF-0007ji-MZ for guix-patches@gnu.org; Sun, 12 Dec 2021 11:14:07 -0500 Received: from mout.gmx.net ([212.227.15.19]:44183) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRUD-0002HS-Fs for guix-patches@gnu.org; Sun, 12 Dec 2021 11:14:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639325636; bh=ShsU7MimZbBTWyFRSvsZMhCPxt7GqG4mUnnFj/4hxas=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=GGzM+oBSP+pob6Dd+nVfoOl7Z7jOCTbXSJj2CNUuyf8YCgQkSYHB0oikaU4by8GxW wjTE7tJOKxLyak6TUMRBN22drbLDWB7rYogpmyN/nFDxlbGJ1envxG4miHuo//drlN RV3mnkj591jkeCotCURf1kYRGztLjioS5Wv9rk7c= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1N7zBR-1mRaZb17el-0153GE; Sun, 12 Dec 2021 17:13:56 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-21-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 20/43] guix: node-build-system: Add delete-lockfiles phase. Date: Sun, 12 Dec 2021 16:09:59 +0000 In-reply-to: <20211208202838.752542-21-philip@philipmcgrath.com> Message-ID: <87bl1lztq5.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:S/kf7rFYgtKZlGF3nuz8cTAnBqOsWuo3iEWEidxQ2Yramr+z5P8 fsvXtlI+fst8EZDJ0At9fWs+LIPdUcqw6/Nk1WHRe+u2GuDHofC0E27Cqp3SbIbb45muI7U UrzLEWS9veXEUrcLCckciW1zgPS4WdWVF2WnlmASVYweJ+T0k6U46tFOOjn/VVeJKXlP9NA SZrwpmm6LrSesJFHFZBnA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:zBo4kj5pxcs=:QcjG22W9RnRJ1fV8ywp3/d KdzLGxCH1NHVvAZWrxQt8YLylUwR7Vo8AoIDX/uSbIdpr/SdqpGUUITFeZ5e2d0oVp8PsUwq9 Q4ALgVadLm2mzQ7boW3LLtgQVskiYgP41o4lbyARkhhacKEIW8wQxv9NGzZNOtmuJegU6TGIN vWzXtjCof61KA0LQtOvxAQgIOi9zg0FLl7IA2b5PTf3k78oycanhXybJe2wQZNS++4M9UQokl iMA8PTHKEgWCFlnG8hsyUDdGffoeukVbfG/B9NTlPF8g9PrQW0vErXtVX544PhdA8ryUkvOFf JU/rCK189SvW3boSRmFp3ATzJV5+T2RG1U6VMWyQ7eyNkQktBPlPtG7cVGrZT2xLOv/6bMtBy EhZgafcfZey0gV1jld4UyyCgjU2LHbM6MoZh0qRcdUDtDMFNu+pWNEhJrIb5B2iXwVBZD94yr XiYwMO3k4zS7agfgg+qSv8fs8rMl1AdemkR36qF6HEgIJUSQ5BSTn4v8g5CRYQKGAglPZOku+ 2G8cxz67qMXfGbUbZMe9/x7G8Q0XVm+y8+4Oa2btVJi8Ku+cFbKq6KNRObn1Ge9eU5KeKernv CfAvKPW+EbPVXlUfvTIe0Mj0fztaJO+lr8JXxNd0xE7aogMpPKC5ypjgjk7bINM8q2JF93XAx +FXAzLLOya9P9NLHI9pf7kI+ap1+vsvS8FsdLC6qSme3qjjV4g6qp9o9q+jfHOp+uR4OrV2xa n2Jak+o/PnGdvWriSyC4KTDkSBmYi8MuB7EVTC4ue0Uljmdu1LL6Y64ge6gTFWW7HLw4Zjw1y lRqHBvMcW5/qrMtmEglc1PNfiw5vch88HNhjnIMloi4fpJgaks9TdAfKn6QFAwvPfmt6f6wUM 6fVoP0Az2ZZ38tOL10h66TPmDAUehbVi5XlW1twUa0MBbfixJSuZbHF/ehU5a+tFUIp4KjdMD XS0S6ug6gEYO1S7Qo1/JP2UxvDO8T75c3oATLruNv1FGln9b3cSCXi5Diy73Ulg4Rf5fhcS/W 3h39tAoGMss/UC/3EqzeJkgkZjs0dIiKn/3j8/cpuWNPrB1VM7JZkB/CQ44Fg2axIJM/eskN5 qbvyAwsbT1yRcQ= Received-SPF: pass client-ip=212.227.15.19; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Philip McGrath writes: > * guix/build/node-build-system.scm (delete-lockfiles): New function. > Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', > if they exist. Because these files specify dependency both exact > versions and integrity hashes, they only cause problems for Guix. > (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. > --- > gnu/packages/node.scm | 12 ------------ > guix/build/node-build-system.scm | 12 ++++++++++++ > 2 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm > index 6d48816c77..5289e2fe4f 100644 > --- a/gnu/packages/node.scm > +++ b/gnu/packages/node.scm > @@ -488,12 +488,6 @@ (define-public node-llparse-builder-bootstrap > "typescript") > #:phases > (modify-phases %standard-phases > - (add-before 'configure 'remove-package-lock > - ;; Having package-lock.json seems to cause npm > - ;; to look for things on the internet in the configure phase, > - ;; even if we have them properly installed. > - (lambda args > - (delete-file-recursively "package-lock.json"))) > (replace 'build > (lambda* (#:key inputs #:allow-other-keys) > (let ((esbuild (string-append (assoc-ref inputs "esbuild") > @@ -621,12 +615,6 @@ (define-public node-llparse-bootstrap > "typescript") > #:phases > (modify-phases %standard-phases > - (add-before 'configure 'remove-package-lock > - ;; Having package-lock.json seems to cause npm > - ;; to look for things on the internet in the configure phase, > - ;; even if we have them properly installed. > - (lambda args > - (delete-file-recursively "package-lock.json"))) These changes were added in this series right? I'd suggest to re-order commits to have the build-system changes first so that they don't need to be added at all. > (replace 'build > (lambda* (#:key inputs #:allow-other-keys) > (let ((esbuild (string-append (assoc-ref inputs "esbuild") > diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-sys= tem.scm > index 249b3deee6..892104b6d2 100644 > --- a/guix/build/node-build-system.scm > +++ b/guix/build/node-build-system.scm > @@ -118,6 +118,17 @@ (define (resolve-dependencies meta-alist meta-key) > (write-json package-meta out)))) > #t) >=20=20 > +(define* (delete-lockfiles #:key inputs #:allow-other-keys) > + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', i= f they > +exist." > + (for-each (lambda (pth) > + (when (file-exists? pth) > + (delete-file pth))) > + '("package-lock.json" > + "yarn.lock" > + "npm-shrinkwrap.json")) > + #t) > + > (define* (configure #:key outputs inputs #:allow-other-keys) > (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) > (invoke npm "--offline" "--ignore-scripts" "install") > @@ -168,6 +179,7 @@ (define %standard-phases > (modify-phases gnu:%standard-phases > (add-after 'unpack 'set-home set-home) > (add-before 'configure 'patch-dependencies patch-dependencies) > + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) > (replace 'configure configure) > (replace 'build build) > (replace 'check check) Otherwise LGTM! Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2H8IYHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31UFWQH/0USgXIMwfNz6WpWBwhzrBAb oCcLus/V6Iy/HzXeT/qE6SQam62AcyH0Ahz02ll3/95kFAKXOineIc0UQCt6HOSA sNYh/knI3O7iEtaLuqx0E5ucbofBMngFDGhbIHdLOhDuSTxCg9NDxTPAgrZNXL4E L+uD6kUiYV+vUtukUbFSwfOu/DlzG7pg+U/28/SMk/r/j0avjwUUKKNumzkk7BmR Qdnr4naN7oKr3DGGA0wRzXONiEfdnZ3YX8fepKB7IfG6uDd9IonPn6Ay5Y9qHRbA cU4QxExAmnqzvVST3KMBOSEA0k80fdzevfSD7Fy2bmVmWPTc4UY+YuP5LYuWTvo= =dzQF -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:24:49 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:24:49 +0000 Received: from localhost ([127.0.0.1]:52972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwReb-0000dY-6y for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:24:49 -0500 Received: from lists.gnu.org ([209.51.188.17]:60650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwReX-0000dH-JU for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:24:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35658) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwReX-0000Tt-EP for guix-patches@gnu.org; Sun, 12 Dec 2021 11:24:45 -0500 Received: from mout.gmx.net ([212.227.17.22]:55349) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwReU-0003Yf-4Q for guix-patches@gnu.org; Sun, 12 Dec 2021 11:24:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639326273; bh=/Hk/5+EJ3f1JOmJlkBwLczh/k8qMOxhUjkW0ZSslFQM=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=L2ZZAHhx2yh4dkghYLVG4ZDyPgfdRnksMdj8PwluT7NK7+gM5SU8xfW+PsC49jAX9 Y98+89r0TxQMlKYHPsbtkncRfy8C++PJyv7qmIuWHlU5R9T0YfLJg+Z1CmFd/URZNh FPYuTeIxXfkkNswsStAiHOYlC47f/g9llh5Fpf8s= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1N0oBx-1mZqnU0StJ-00wp7t; Sun, 12 Dec 2021 17:24:33 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-27-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 26/43] gnu: Add node-nan. Date: Sun, 12 Dec 2021 16:17:45 +0000 In-reply-to: <20211208202838.752542-27-philip@philipmcgrath.com> Message-ID: <87bl1lyeo3.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:c6wW0VvmLrzrSAHAf6Hr/rnd9D8/8zgL81F0uqE4cP7mrg3tlc1 FutJerrSVVZ4eJBz4Qvct4C+yHH1VTMRPjy6XAlMZeUuBHzog5IWEVJQ2cysklnavSXsksj EsiRNbENe+rNj8sRX0+PydvKR7USD59gGoPzZX5Uw6faw7iifolnFvM33eW0Ct7qDoNue+e 6xzZKX+LZHMcRTEszlvGA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:ZojZGpiqX1g=:nMGALg/gQUVk9f+22dV5c8 wK0Z9iJ6sbcVldgpThzem8YxgHxX/nQdXdJPcXKt4/fCrAFRyZAi9PLtuXlwuag3X8vu+Xkwc aqJ5SSqokv2z7pDG/UO29Ayf8yau4YNUwgoCgampEO1y3VUjnrC2pSWmK7g/KOJOODOFLerCN 6KjyOZlMIH4ktl7k4HoT81hwBDRApugTVIbQK2lWwauDQxauS1y+MB8sMgceNgnAMrIbEr7sF 96VmT7fqP+Jfhu8AIRXXLJMdTfpZIDp3abfCbP4RfPOfZI3jcqqyLZAdaJEFojIPWfvzB8IGo M7C3yzAiv2TbNFTsUZEeK9iNpn3/0mivBCBBix7Gkev8mzkukkXUugRbE6nvHUDZ92tISiXkQ znY8Hj5tA2QTL6BWP8X3r4EkBAGHMfBsLFAhpZjyzibUtmZsHqYHhBB1sWLCm5AE9amISZ3x4 mkOZs/CHu+LFw9JeJjl2ak404zYwEmzvhw4nlR7yFgq21HRRrOJ0ohyxhR3E7jOK2BVBa3lyI w7K/YSLjxqBL3Jix4hLw8GQ9MvJh3djhuRRWGv52TeRdcXD4x1UMiTTDAqhj+mEsz7m3MMoIc XwGL1YSP0p1BD3ImJgIZq+NRBHZwcOSS9hslz7gYRns/2WFBczDDjsD+v0IwzjW8Mk6Zc3Dpf m+qAa593CkeKoq2LdPPQulHxu0IzpXw+lTTodjjRzE0zbAumBNmg7dgpMNATT8CDHUW2Vchl4 k0OxPTIde8Vh5xIm7KOBnXvy9uk50JdPX23iRA23vNv264t2EPG7i0XzAxsJDmd6JJZAmnIrp Lg7Q9V+euY5Gd4mSzgnY9tIkwgrKCryfxFUCpjhGKmTyI5WB+JDu6BuOSoIS5VCRNBCfL9EGq l0cRdQabJv46lrzYfnR6x5/tX5J8nnLiZZMEiCbdYTwrM/xtMoyVGtioKTzqbjbZet7N8fzwm vNUZuVUjXGtHpZuXunihAeY+ocdSxt2R7fCU1z4/5zCUutUHobIoe9k7GWmf4xADKQa9KB2bN jnpgR50p+Vn19cgvvZPwtmZhs4xNlIIkHOxqldmgfPWw6cG9cxrh6WBH0obp8cBp6vpfaSiyA /Noba4Q1dqJhtI= Received-SPF: pass client-ip=212.227.17.22; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Philip McGrath writes: > * gnu/packages/node-xyz.scm (node-nan): New variable. > --- > gnu/packages/node-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > index 3e06413908..ed169c0778 100644 > --- a/gnu/packages/node-xyz.scm > +++ b/gnu/packages/node-xyz.scm > @@ -553,3 +553,47 @@ (define-public node-irc > (description "@code{node-irc} is an IRC client library for Node.js. > It has functions for joining, parting, talking, and many other IRC commands.") > (license license:gpl3+))) > + > +(define-public node-nan > + (package > + (name "node-nan") > + (version "2.15.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/nodejs/nan") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) > + (build-system node-build-system) > + (arguments > + `(#:tests? > + ;; tests need tap and other dependencies > + #f Formatting nit, you can write this all in one line: #:tests? #f ;; Tests need tap an other dependencies. > + #:absent-dependencies > + '("bindings" > + "commander" > + "glob" > + "request" > + "node-gyp" ;; would be needed for tests > + "tap" > + "xtend"))) > + (inputs > + `(("readable-stream" ,node-readable-stream))) > + (home-page "https://github.com/nodejs/nan") > + (synopsis "Native Abstractions for Node.js") > + (description "A header file filled with macro and utility goodness for > +making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, > +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16. Given our packages only work with the node what Guix uses, you could remove the version numbers from the description. Mostly because we probalby won't think to update this description when future node releases appear. > + > +Thanks to the crazy changes in V8 (and some in Node core), keeping native > +addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is > +a minor nightmare. I'd remove this sentence, it doesn't make much sense in Guix given we don't support older versions. > +The goal of this project is to store all logic necessary > +to develop native Node.js addons without having to inspect > +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. > + > +This project also contains some helper utilities that make addon development a > +bit more pleasant.") > + (license license:expat))) Otherwise LGTM! I hope my comments make sense, I agree in general it's good to keep our description the same as upstream. But I think it's OK to reserve ourselves the right to tweak them a little bit, after all we provide a "curated" set of packages, not a direct mirror IMO :-). Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2IjwYHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31UQ48H/2RSZipqIuX6edb8m2sxKnGU COp6WOigZYt/hUh+MVh6ufH7enrGV2fUSHT2gKHKx+vQQQjSmuxkDOcOHSx1uQVR dGtOWdA+coc58SqSZ+YwtfTOqgEcipmrY2rKrxOVd2W7VDeN8tcyA0XxXT5thOLQ ap2S8U8lqt0mj7GZ9Hc6s25Luu2Pxm2IV0fs6iHhl/XwD3Rk8ctuRrL9V6FWCu97 iyGKyJVlRpJFzsbE5Za41bcU/6dDwGYoI9M+I1s5TN7HbiNQ75QBqU1WnoOFF5hV e6ylfzVa46ON71yYkJ/IjkGnXLxslD9GiuwPAGqUyE9jDk9qnIZZU5mhBg5q8UI= =u5OW -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:28:50 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:28:50 +0000 Received: from localhost ([127.0.0.1]:52981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRiU-0000jW-6T for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:28:50 -0500 Received: from lists.gnu.org ([209.51.188.17]:34874) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRiS-0000jN-KY for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:28:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRiS-0002MD-Et for guix-patches@gnu.org; Sun, 12 Dec 2021 11:28:48 -0500 Received: from mout.gmx.net ([212.227.15.19]:58423) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRiM-00045n-IJ for guix-patches@gnu.org; Sun, 12 Dec 2021 11:28:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639326513; bh=9MSMKUcAaC90KZGg8ojAjh3/qLQM8rsxGX7AT4QgDlQ=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=jpbqHoy3d3eLBwxxNd2u11rN0F1yrrInZ6MPEezASSktJvRKFce3KigrUO1SP3Ugx ObPjhLLu1ambDSJvbldX5//m1JwfMWjiqCvydkQ01XSEL/01vZQyK1TMWJoQCYdKPk AuJ/8TV186rCqJjkq+kJq3XKj02Uli7DU8HpUpSc= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1Mdeb5-1mNezY0KHJ-00ZeP9; Sun, 12 Dec 2021 17:28:33 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-31-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 30/43] gnu: Add node-file-uri-to-path. Date: Sun, 12 Dec 2021 16:26:08 +0000 In-reply-to: <20211208202838.752542-31-philip@philipmcgrath.com> Message-ID: <87y24pwzww.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:g5pQA4MkmCPmsbqgAOIVvksoCILt9C5ycOXKgzmp6NiD1kvMvlX X13X6mz12mSvCsYu0UTRwU5h6oMrzHkAYg7ZBJl4av6k9mtorBpMq+i/pHwu4EokdP8/4WK SryUCrZ4v/TBatjWxO0iSd5uJ418JBkkIxCBoL4oTX8zRYf0RYo0o1oM2RROwtU6L47GPGn 8PD1WBD9jZKDIZosU1sQQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:+woC65SWx1U=:bxoGcmDRIOjm7gTzq6pIg6 BfOb8QZpYWYYaXzhoDz4dBhLEH506za1Wdc0JI/kNnM5ZFA7TaAb5shb79MlWRdDpxM90koQf WslmNDMdbyWXOwPHW5v9OGAwhPmRzq7LT45UL+vbxAYyVRwo3yCelsfLRwieDxre+actCBOQq Y7ht8UuZSFTfh8Ovwd9JMqEm45rdIhdLv6R0pg4Cm/IjzZGe7AI4Z1aHae13EUyZzlhcpteh2 njkGkATuQo8dBdVDFe+4869C2G/pVnWkruA9G7vbZHpNisWTXBkPNaGJ3yhS0z6bRSBlo+DLZ BFxqCboh6apELueKGKOXj9CXtBbg2i+IbKS2jJoQR3kARCroXek43izV1MtcjqB3v1j8QcWbX 5YR2CP2k542Z1vIF6LBLuerhUtq6vnF0F3Sz0XsLBWSG7M6CXp0UXxhLmDCSvPRZTabJEFCWb F5xZx/Reo47JhmO1yw1f8yGRGqwpH0YJNqzem6vXIDB2+wnIDDl57JTjDWRhCQlwLH/NnOSBc O3E4A7dd9YH8/AqlAhyUqSmnUmnaAqVlh28YKYbzdQIB7y/Du3qRwIG1Xl0CX1jOr5NlQLpH/ aBTOXKl3ZMI3AvG1JhNdcEiiUUj3R9JI3L21lpVGBT082Bq1m5tK1tjQIWzNKcf5iC92HJixT swePDw5WemC/1InQYsLC9kBbJxVOy2jzjfy0Vm6bCSjxJnAT0be/pMaeixOt2I1HB9IS06rQn SaEnMEeYVU+oL/ZJiKr0dd2gv7Yzc8Yg4Q+N3HWlNwc6KcnJ1fpfaBJtH0i9NN7WfvA8whvE5 UGCOOns8WYOTB8Y3Qd+f/lbFCBvfDsQFJ6Np96VrjvRMVSrxb//Sdo4XtxLzamYy4ZLXG62wN eTtbetI1+D0GDWkVgJlaoyomC6KM93Czt7dJBqE7485mzxWwleUulfeEkFPmM5ZKdMNPwwDWt uPtlORBRHy1U8rFAWqO87LqJ/s3+ctH6Ep2kHY8/4NTUJ9QrPHKPOs1LYb63sluGB0qm1yVb+ xJqVz/WC5hr4ToNkgM+3P3fvG1ItKEmgvcVSPeGdW1DXrqWub+biFxFlHzLHS5xZxXfKpxCAm uOwy/oECUfijVE= Received-SPF: pass client-ip=212.227.15.19; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Philip McGrath writes: > * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. > --- > gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 54 insertions(+) > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > index b979d0cd53..d23326fa25 100644 > --- a/gnu/packages/node-xyz.scm > +++ b/gnu/packages/node-xyz.scm > @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) > #:use-module ((guix licenses) #:prefix license:) > #:use-module (gnu packages sqlite) > #:use-module (gnu packages python) > + #:use-module (gnu packages web) > #:use-module (guix gexp) > #:use-module (guix packages) > #:use-module (guix git-download) > @@ -772,3 +773,56 @@ (define-public node-sqlite3 > non-blocking bindings for SQLite3, written in modern C++ and tested for memory > leaks.") > (license license:bsd-3))) > + > +(define-public node-file-uri-to-path > + (package > + (name "node-file-uri-to-path") > + (version "2.0.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/TooTallNate/file-uri-to-path") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) > + (native-inputs > + `(("esbuild" ,esbuild))) > + (build-system node-build-system) > + (arguments > + `(#:absent-dependencies > + `("@types/mocha" > + "@types/node" > + "@typescript-eslint/eslint-plugin" > + "@typescript-eslint/parser" > + "cpy-cli" > + "eslint" > + "eslint-config-airbnb" > + "eslint-config-prettier" > + "eslint-import-resolver-typescript" > + "eslint-plugin-import" > + "eslint-plugin-jsx-a11y" > + "eslint-plugin-react" > + "mocha" > + "rimraf" > + "typescript") > + #:phases > + (modify-phases %standard-phases > + (replace 'build > + (lambda* (#:key inputs native-inputs #:allow-other-keys) > + (copy-recursively "src" "dist") > + (invoke (string-append > + (assoc-ref (or native-inputs inputs) "esbuild") > + "/bin/esbuild") > + "dist/index.ts" > + "--outfile=dist/src/index.js" > + "--format=cjs" > + "--sourcemap" > + "--platform=node")))) > + #:tests? #f)) > + (home-page "https://github.com/TooTallNate/file-uri-to-path") > + (synopsis "Convert a @code{file:} URI to a file path") > + (description "Accepts a @code{file:} URI and returns a regular file path > +suitable for use with the @code{fs} module functions.") nit: We generally write description as full sentences, I'd suggest: --8<---------------cut here---------------start------------->8--- This package provides a method to convert a @code{file:} URI to a file path. It accepts a @code{file:} URI and returns a regular file path suitable for use with the @code{fs} module functions. --8<---------------cut here---------------end--------------->8--- Otherwise LGTM! Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2Iy8YHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31URwAIAJPl3bBjQuWQEAgWX1H+IIbK ZpSzDetlbNyH7CXZ89obIJic5JvnOviLDgj7Pg0eEUuwyCgrQij6nuVDCwDNkUQd ko4+sAaZEQS+jOnK0jyOKMUGAVysnA+5aucdmI5GIml7p/LEF2PFrzq+H3mEtdGx iT/9+2+a514rXif34mDszfSg7zVd2eE9rhqyXuiMgbgJmLr6k+Ya54WFpSxbPz/F mSbYKferhKwL7bKGoUvYDWeeDH7IOznySH11BIFzSsfn6vpfkk09fXYbdr82ieGm TqTUV58pH7Fk1aTbThnTIiseoYi8mP44gWUDzmy+L+v5iFW0dD0vkEw8YfqC09o= =O7fw -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:35:32 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 16:35:32 +0000 Received: from localhost ([127.0.0.1]:52990 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRoy-0000uO-93 for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:35:32 -0500 Received: from lists.gnu.org ([209.51.188.17]:35696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRow-0000uF-M3 for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:35:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37496) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRow-0003I6-0S for guix-patches@gnu.org; Sun, 12 Dec 2021 11:35:30 -0500 Received: from mout.gmx.net ([212.227.17.20]:35077) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwRol-0004uE-Ce for guix-patches@gnu.org; Sun, 12 Dec 2021 11:35:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639326910; bh=eBRGxrEcXetCglfw9WYznu6HQN8xBJYsDoHmqJX25IM=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=kUpsc01PTt+0/H2aiNZv6jVxNClVNML0qTcmPq7bLBo7LFhyY+mdHKxQSIKKQQ6E9 RT5wjXRYhqqjOrnPqP9amOsR+TTMKV5+UnJUNEZ19TkyGaBWtdyrRcv7kjZTq0pI+t RjcJ7cJYQYFs2uRLOCTEvmM0+BDdpJvRf5E+625A= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MvK0X-1mfKZT0L1l-00rLRl; Sun, 12 Dec 2021 17:35:10 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-33-philip@philipmcgrath.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [bug#51838] [PATCH v3 32/43] gnu: Add node-segfault-handler. Date: Sun, 12 Dec 2021 16:31:45 +0000 In-reply-to: <20211208202838.752542-33-philip@philipmcgrath.com> Message-ID: <87czm1wzlv.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:zC+4WKsYg3PHJojbCm+E3jp5tLH7I5IQEJ/m0hGtQSoePWiLDOY jioLzqJE/agl5NtnTeSSPeb3UduG8PTpxskicja92fhRSL1pXR0xvv3a2KZ0xxBPkWAqVIh YFnWFQ37M/Au/uxxCKpJlQusSms92Gw2Ms7WWhxFT78uDOhx06ODbd72iAmJEIoU8m3wQBO Z37ajdWNxopj9SuPE2WzA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:hW3thuBTAWQ=:9zGThu7+VB8tONCAywt7gX 8odZTJTLcP2GHdB+qSdcDH0hbuHt8zOPN6vzjJZK8qPJkIpxaxjcTiUFco08I/juErQGC/TmV UgTgQ1t7fq9Se5Cjwpv5+kY2KHy23ytyUV+I4xM0DfvA1VCki4pkSeZflYxv+QtJoKRXDbdT4 iuX8BQhtic1SxfsUfY67OtIBnQWg6jJEmYwn1d/D6qvpPQ5hKwmeQiBk8vysUEB8Mf2z1Wgl9 1c5NEW8mwpI1Cu4GYWQYzGGuhu2Vtv3JybZsy1Kn9gieCeyHowG/Wghe/gLnHivWg54aWZU9d nDoLP2aRhrl+AxsrDy1Jp/aGKE/3bTWDqDxVC8UuEzmEkrsCk5Zp5r4Il0u0m0k0Djn80fW/F QKm36rZRldBqCYAcVP9S2cwBRt2iaCmZh8ErZiTGZ8oDji7ct3ptlsgzUaabPZAkwjtMatB9g SL2HybrZ1GXFiKmhPUivS+Lvu9Z0W+pyJTWzoMxPejXnLTFKh6Gcq4qb5Siy9/G7VCBQfzRjM FU4AbYBQthnCwgcfo1uMmCGYwWmaMwlgmxJajdF6Ar1r1o/fBl3mRCrABvrJqhDZjCX8hvlwC wOiiZbC5zyV3sa9aYByaXss23tN0inZ8Pzj6BOGPBoSiD40hgEeSvOZGdwphN99buF2J5zphg aeoIOnbzeH5YbQrU0PEVXZ3Q9Bf8UjZa9I2Y9wXO/db/OgRYYEXRSUhcIzEZAL3rktaoPocS+ 6sfGAimCe20INmNXYSa7Vcz9lgNTOghaiN1GVnxrDHcYCWpsG+3pmVQdBuDlECJkA3TQTrZ6d eqj3buOsCItYQ4qQwmN7T1amwOeQSv1e7k038Hod5dR+E184YEqiczth2jDHae0DmoMDJkIZq 0bNhZvaDNC/c+VvbKY6G/S7GLLOwm+o9Ipx2cz1+Qa1fS6wvw57GYKVs93k4Hwf8KX3ZGQr+s TTqkZ8HzfbBhw72b/rSoFwlaEBguXijQx5/C2EWPqB+H7feg/OvZGkWpe5sEPWO6b7F4eAyhB pllBYTI3Q9KAp/y0XDjYvV0ON0jPAZTrE2qWhzCsad89op+paj7lnEkp4v+2awwUzJY2S0mfT ucQm69aoLg8Vw4= Received-SPF: pass client-ip=212.227.17.20; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Philip McGrath writes: > * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. > --- > gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm > index 196fa55a39..27506062ba 100644 > --- a/gnu/packages/node-xyz.scm > +++ b/gnu/packages/node-xyz.scm > @@ -856,3 +856,38 @@ (define-public node-bindings > checks @emph{all} the possible locations that a native addon would be built > at, and returns the first one that loads successfully.") > (license license:expat))) > + > +(define-public node-segfault-handler > + (package > + (name "node-segfault-handler") > + (version "1.3.0") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/ddopson/node-segfault-handler") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) > + (native-inputs > + `(("python" ,python))) > + (inputs > + `(("node-bindings" ,node-bindings) > + ("node-nan" ,node-nan))) > + (build-system node-build-system) > + (arguments > + ;; there are no tests > + `(#:tests? #f)) > + (home-page "https://github.com/ddopson/node-segfault-handler") > + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") > + (description "This package is a tool for debugging Node.js C/C++ native > +code modules, and is safe to use in production environments. Normally, when a > +bug is triggered in native code, the @code{node} process simply ends with no > +helpful information. In production, this can manifest as worker processes > +restarting for seemingly no reason. Running @code{node} in @code{gdb} is > +messy and infeasible for a production environment. Instead, this module will > +sit unobtrusively doing nothing (zero perf impact) as long as Node.js is > +well-behaved. If a @code{SIGSEGV} signal is raised, the module will print a > +native stack trace to both STDERR and to a timestamped file.") I'd suggest for the description to be a little more succint, maybe just: --8<---------------cut here---------------start------------->8--- This package is a tool for debugging Node.js C/C++ native code modules and getting stack traces when things go wrong. --8<---------------cut here---------------end--------------->8--- Otherwise LGTM! Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2JLwYHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31U7tUIAK3HAE9LGpexjWIda+O7UP90 X2OUR6xT1j0DSoBrXwk0fwYPeb35gcjAb/LKmaRduTv7dFWZ30HEeX+W/1YJYPXJ eQD0yiB9rHVjcv3Ed6aMkm1gF+nDtLjdiEAfmPw5KGPh8KxVivnpMrED6ivdyQGC uHCvk1JUVlrfqPTMCwOHo0j3zusEQfkk/A4jV5QjRRT6kd/4pKQBziv4mVA4FgYI qk7hKpCDOidqSEqdtS6dhsaXKa9iHdtvNA4sVij2d4cHNv/e/29kEzpmFO3k6OWP h5kOsEvlLZ3ymDN348hiiy4XTfH8tlFRgt3Jp7tQxTvA51GkTug6pdGdcWiTTzI= =Nha2 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 11:43:19 2021 Received: (at 51838) by debbugs.gnu.org; 12 Dec 2021 16:43:19 +0000 Received: from localhost ([127.0.0.1]:53003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRwV-00015o-Bm for submit@debbugs.gnu.org; Sun, 12 Dec 2021 11:43:19 -0500 Received: from mout.gmx.net ([212.227.17.20]:59131) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwRwT-00015Z-FR for 51838@debbugs.gnu.org; Sun, 12 Dec 2021 11:43:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1639327383; bh=wTgRnus4y7X874gjSzztYVxetGYapnuGFQWl9fXeHw0=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=A3Z3XNNFtb5MXFyHF7TgtL0s7mlir51jGT26qto8XHM2Le7ZvqcNujhSdnwGqClvE H/KmVUMzeRequhQzwv7x7c5FTLlNxUby3HvNcL5L/s0/8093dyuQC5E3EitU0PO7e4 94oMFTvMOCD1W3w1X5Rnb8Dv4TvtjzmBArDEA598= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MeU4y-1mMHhq3Kx2-00aUpi; Sun, 12 Dec 2021 17:43:02 +0100 References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <87ee6h24it.fsf@gmx.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: Philip McGrath Subject: Re: [PATCH v3 00/43] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sun, 12 Dec 2021 16:36:46 +0000 In-reply-to: <87ee6h24it.fsf@gmx.com> Message-ID: <87r1ahvkoa.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Provags-ID: V03:K1:sRhhoWel4qJefZSlmwEHI9xUGNRunFr6NaQdH+vTOoyES/GnZ4W jMB8agM8NVcqZ6hNCuWnoHQj9/JE/XlrEXLXc4iLeytRL+lGYF2c6yNv/nyNpLo25hVWNur FZUy5xtWRKer06HXVG702vzEV4lUpr/4O1VmaRXcR4PcKuxAj8Hs8tOLqt8tCrFuviwO5QU 44dyVY4cR5e6GWh8Rsw1A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:1myOP9FA4q8=:SLJ68mnSNy5FtjQ8rm7f0R qDc2J15uzYpm/3VN2MXWYJA/j0HXEwCbIoVa+yAfLoo1wQgyLL+wUZwhb3GkJQxY3Bl4gr5xE 5oL44XS4BausEwvIWnqBYGh5JBnpa6pe7EuWgWYN2HZZEPglim/Q0BSObISXHfQ0aVoNWbFPc heyI2fxUo6z2Ve/qCFr67QfhDe4Q8Ibb+elzFPOHT+gM3vaWgNwTfW2+CDwJuTv0Vbh7Hz7C+ adl59Ax4M8581l9UXk3d1M58wKTRpHCp84VC+8tip5I7w2FPJCIr4/F0B1Yn1drg0YzN4fp3K DgUC4xf11AiVjJ4PCGLbw3RpZIZCQHFhmbush3WHtqmra8v0Ur0nBDXkwaY+IBl2R47MPTBoK q3M6o3OkU3KQIUbfrqd1Mwd7+Pf+OWr/LSoO+9eMuXWOnGyi2W7Klt0OkRf0Wu7ucX23kAqW9 44+EoHmkhmm1M8tm5N0587PC7TppJ+5Hb5uRzaNxUb/Jb2nPuhXpr4gZenL9IycoJVmwgy0Lr GhABbY6ZBgiAu4pThXds5uF9SYF5rtB+lFMBus973idHrTDNiY2+7hOVkVrDFAdoHuRR7nz7H d2wdcNoImXN3FZVqIJYrWwofl9h2a2805XizOK4xdFGBG4+S8kEXcjSF+oHyJeZxse/wu1+w7 LKOD8feCid8yJ6roF/RgYUqWvblN5sNtC8xxelQBUVchkdmCHT1GW1V63Ymt5VHpO7J/DhieS h2IQbvHCXg4Jgp+nloOaprNz2sgMdbblmVe0/W/zYNYuhLBxDLRBDXekm0g2XRfSzEFsEeFXY s0ffmdJCzajhzH434QCcUBDGLNj40Qz6+UJoHvnoKwiXWIkcJFOcXQb7gpGKVBRcjh0HAOI5k AXDK0dWhuFKq3CmYRP8yOu6M3Hs5JtOFCFUnUNGLDQrMdd1ZkBujhJC7BsAC2cgV9GI7fWuXh wEAbrvwHHBk8fDj6DfU2FSWDJgzkkgxCvpls177NJb5TTbNG6lnROXZm/+tv6mlwglqgFoY5H pt3CEEouhLGvS9+ZeCKp1aQkj8E4LzFXhGgPRfqKoB3x0V0EAlshWZCmsRnNzZBC7n3Q5nqIK PQaqrjYPkTiIaI= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Pierre Langlois writes: > [[PGP Signed Part:Undecided]] > Hi Philip, > > Philip McGrath writes: > >> Hi! >> >> Here is a v3 of this patch series, hopefully incorporating all of the >> suggestions. In particular, as Timothy suggested >> in , I've tried to make sure the earlier >> patches, at least through #:absent-dependencies, are able to be applied even >> if there is more discussion needed on the later patches. >> >> As I mentioned in , while experimenting >> with v2 of this series, I discovered an issue with the install script >> automatically generated by npm. Patch 21 ``guix: node-build-system: Add >> avoid-node-gyp-rebuild phase.'' fixed the issue: I explain the details in >> comments there. >> >> This series also adds two additional leaf packages, `node-segfault-handler' >> and `node-serialport', that confirm these patches can support additional >> styles of native addons. In particular, because the native addon for >> `node-serialport' is actually in one of the intermediate packages, >> `node-serialport-bindings', it serves as a test case for the new >> `avoid-node-gyp-rebuild' phase. >> >> I've also put these patches up >> at , >> if anyone finds that useful. > > Thanks for working on this! I've tested the series and rebased my own > work on top locally, it's working for me so feel free to add: > > Tested-by: Pierre Langlois > > The series looks good to me overall, I'll add comments in each patch. OK, I'm done with my round of comments :-) I'm not a maintainer but I do have commit access, so I can volonteer to push this on your behalf if maintainers are happy with the series. Hopefully with some of my suggestions incorporated if you agree with them. Thanks, Pierre --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmG2JpUYHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31UyA4IALNQ3qTzVrWRc5c3xdcvpE7j roD7QT4C0PS61yPwuhpuiczGnu6l22mDXXaL+OGzTjDE2ElTfTwsNMcC2PbF2pKO sbLk6cvXokQetGebQzB6prckYM+gaJuXxEvRggB4DRVG40nfWYw9J0U6G1EE5qeu aX76yo8g1sTAypCkXSz/5V6MkpeUOccv5Jf5Ta/v+IaY5k4ialJVynHL3ELYjH94 xEn2sxizjMBMzma6eOu6pzutcH4swIFiBj31Eg5QmjY/ZtQFbGtp0UIiM6lVfLz+ b30jqO4cmxc6TtKXOdYybtVNoTS2QvuxU5lIwnld31PNPVLIYdm/vlWBtoxx1GY= =I/l1 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 15:19:12 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 20:19:12 +0000 Received: from localhost ([127.0.0.1]:53233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwVJP-0002M4-Ub for submit@debbugs.gnu.org; Sun, 12 Dec 2021 15:19:12 -0500 Received: from lists.gnu.org ([209.51.188.17]:39776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwVJO-0002Ls-CB for submit@debbugs.gnu.org; Sun, 12 Dec 2021 15:19:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45528) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwVJN-0005lS-7P for guix-patches@gnu.org; Sun, 12 Dec 2021 15:19:09 -0500 Received: from [2607:f8b0:4864:20::92c] (port=37795 helo=mail-ua1-x92c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwVJL-0002bc-23 for guix-patches@gnu.org; Sun, 12 Dec 2021 15:19:08 -0500 Received: by mail-ua1-x92c.google.com with SMTP id o1so25916808uap.4 for ; Sun, 12 Dec 2021 12:19:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=/w5+MkleRl86arSpXWLolmhpNEs5ZSp8uvtUchoA6Qc=; b=jT24bmOZj2juiV88UwreGhw2efWpsdr939oHBn7gPUewwI20AgHsm7BUcx/7fWSNsT 4uAeeoOxKxeavj4HZIUIyOFY74Ca06BH8xqB4M9kmVx6EpaPdvZNuoywRmEdFxpQIziL asvlNkVi5vXKfKHJDHLYikKfZ4g3kVauFbRywfgNKeVs7ZgKXUR3FVJAJf0P/2G28myS Z+Ex2Pl+NkJzkto1Da1I4mqC1T+nBtLhyhhpb6hqPpY3cTIFlGTFSYJduAcHh1HmLPLZ IR2xiDJSzyQosCbJJE2GwV4HSoQvQBcYnxNKmsAJ8jYwL+xc/jHD366PClJpixmvjzdz UimA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=/w5+MkleRl86arSpXWLolmhpNEs5ZSp8uvtUchoA6Qc=; b=WuqTa1FJArmSgDPiTar3THoVqVCdm/9HXpjc6p4QJwMqbcF6Ax5lcOdQzrs50EAUgR xFYGPTkCL2BEdacBdC26TZFJDO5BG66zi1MHTh0xbL1EXEiLCIk5wOwclYxwRzJ//y1J 4AAifXY9YxfXlCoKLd7jOIQrqcck16btwOwxzaYmd4wVqKEKkNxY1VxSR4AhDY/KZaj5 SDBXZkpdHbOm6O9JvJLAF5E4AkdRWvlio4wf2SCxrMSiJS4+2I70WMoy+dNXom9skVEE aMK1EQPasmROocaYJ4GaFBM4PW57B8GOopiHGJLG3JUKr0EaJ16dQxMdDi99WG9nxT6B lqdA== X-Gm-Message-State: AOAM532qzkx3nYOLLN66aejL6+68oKkjV/RbHwZelsr//mmawD+NebTA JeC1vA1SoncLukJc9Ir5yJR2cfrsLwa9SuPT248= X-Google-Smtp-Source: ABdhPJwp6/pmn/IkPKKpr0F84h3UUunoOhhQTNF1fWSu/rbkMvrm9RE8EieMr7BK+TW/8PGd9HZUQA== X-Received: by 2002:a05:6102:d8d:: with SMTP id d13mr24710909vst.54.1639340345291; Sun, 12 Dec 2021 12:19:05 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id l11sm3626153uak.4.2021.12.12.12.19.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 12:19:05 -0800 (PST) Message-ID: <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> Date: Sun, 12 Dec 2021 15:19:03 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 04/43] gnu: node: Add an npmrc file to set nodedir. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> From: Philip McGrath In-Reply-To: <877dc924h7.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::92c (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::92c; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x92c.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Hi! On 12/12/21 10:19, Pierre Langlois wrote: > When I run `node-gyp configure' in my tree-sitter packages, it's not > able to find the node dir and tries to download headers. So I need to > set `npm_config_nodedir' manually, like so: > I'm wondering if the npmrc approach here is working properly? I see in > another patch you've used the `npx' command to run `node-gyp rebuild', > should I be using that? The npmrc configuration will only work of node-gyp is run through npm (or npx): https://github.com/nodejs/node-gyp#npm-configuration In general, my current understanding is that you shouldn't have to run `node-gyp configure` explicitly. First, `node-gyp rebuild` includes a `node-gyp configure` step, but, more broadly, Guix's configure and build phases should usually do any needed addon building automatically. Aside from packages that deleted the configue phase, the main exception I've found is packages that try to use some strategy for downloading pre-built binaries: in some cases I've patched them enough to make automatic compilation work, but maybe sometimes just doing things manually is less work. If you do need to run `node-gyp` explicitly, the `npx` approach is the best I've found. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 15:22:47 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 20:22:47 +0000 Received: from localhost ([127.0.0.1]:53248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwVMt-0002SD-9h for submit@debbugs.gnu.org; Sun, 12 Dec 2021 15:22:47 -0500 Received: from lists.gnu.org ([209.51.188.17]:41326) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwVMr-0002S4-DX for submit@debbugs.gnu.org; Sun, 12 Dec 2021 15:22:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwVMr-00070M-9P for guix-patches@gnu.org; Sun, 12 Dec 2021 15:22:45 -0500 Received: from [2607:f8b0:4864:20::929] (port=37818 helo=mail-ua1-x929.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwVMp-0003P0-5x for guix-patches@gnu.org; Sun, 12 Dec 2021 15:22:45 -0500 Received: by mail-ua1-x929.google.com with SMTP id o1so25925396uap.4 for ; Sun, 12 Dec 2021 12:22:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=c7M4Q231da6rQsFSSGciLcu6Bm2AA2eHmD2Mq19Qgb0=; b=fQ2ej6B6a7i52qRjqf0H4dZHAhbIrZc9ce4HCOB7EsaWQoHFBOWvSpoWmTR+e+Pbac ko0iwkW+DggbW+Khfj8KSZ5QK4dCBQfIvbki51iLzcxb4VW4v2xcOxlP8u0jraASZZo5 FvhS2COAwMyg3CFq6cbgppAtDG0BdmVrbfMZFSeCUTFpV1YCoGTWsE9J1Y20OMKJnyRn XJTsMovOBlfwnTEoU8FhgjiSFaH0QqySed4qrycC6RDyNc1B2vjbk+C73PaaoBdFQMxo uRxkIRl4munkjea7G6WU4VarjsjA9DKoHaAytfvk8Im1AQKD5zRKc9HRg0TPFxh3Qp5H 8eHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=c7M4Q231da6rQsFSSGciLcu6Bm2AA2eHmD2Mq19Qgb0=; b=qtimu0V/LR3BtBFssNVUSScwN+zxicuf3KP2dSxW25bWBRbRukFo+5AavJ8mBfFAbp 9fq8Zm3yo6+e6Zo/b0o59NYtXjPbKCBAldr54RxTELGMcaiXkUPHQhTqnMer4G3oFqL0 YEYIYp6ESucSx+1CWJtuKOmX3GwK8tG5CMzKuw/AOzALF15bAiXGJO+WZIZ7menuL8jy WondwlgX+MFw9h+AsTV4j3b4D9STb3O7gLxTMo76DUEB9YtiqSNWIKut3K0GTJcwi1+b MVi+HG6vN/YxJFyWYhSKLSt3nVYvuG/lzVbwOduhc5d6DxoeFNczDVF4fAbNvB0BQZ0p 0bjg== X-Gm-Message-State: AOAM533nyGrPbGCH2tcsLK1cRu5RVShOz0sDK/YbyeX4aFW6VCVZDV2+ MW85SHGTjQthQhm3dFAkNNO7N1xX7M/GT6dJUxY= X-Google-Smtp-Source: ABdhPJwNrPF3NmSZmBVfjB1gn1ER1TlHvhkR7sBWFEeqo7mUfuJmkXKwku2qyUUfnpcn7V4AFkN4/w== X-Received: by 2002:a67:a409:: with SMTP id n9mr24559224vse.74.1639340562330; Sun, 12 Dec 2021 12:22:42 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w2sm3308419vsw.29.2021.12.12.12.22.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 12:22:42 -0800 (PST) Message-ID: <95d7e26c-33f9-fcf6-a2ae-c543979264fc@philipmcgrath.com> Date: Sun, 12 Dec 2021 15:22:41 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 06/43] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-7-philip@philipmcgrath.com> <8735mx24g0.fsf@gmx.com> From: Philip McGrath In-Reply-To: <8735mx24g0.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::929 (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::929; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x929.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 10:31, Pierre Langlois wrote: > > Philip McGrath writes: > >> * guix/build-system/node.scm (lower, node-build): Add optional >> argument #:absent-dependencies with default of ''(). Pass it on >> to the build-side code. >> * guix/build/node-build-system.scm (patch-dependencies): Respect >> the #:absent-dependencies argument, removing specified npm >> packages from the "dependencies" or "devDependencies" tables >> in "package.json". > > Nice, I like this new option, I've needed this functionnality before as > well. For instance I've seen dependencies like "prebuild-install" [0] > for which the whole purepose is to download binaries instead of building > them... in Guix we always want to remove those dependencies. > > I'd suggest to add documentation for this new option in the manual, but > that could be done as a follow-up. I agree documentation would be good: I don't think there's any for node-build-system at all, yet. I haven't written texinfo before, but I may give it a try as a follow-up. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:18:44 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 21:18:44 +0000 Received: from localhost ([127.0.0.1]:53300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWF1-0003nj-IA for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:18:44 -0500 Received: from lists.gnu.org ([209.51.188.17]:57048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWEz-0003nb-Dw for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:18:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54100) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwWEz-0004xs-8N for guix-patches@gnu.org; Sun, 12 Dec 2021 16:18:41 -0500 Received: from [2607:f8b0:4864:20::92e] (port=39698 helo=mail-ua1-x92e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwWEw-00083a-Rn for guix-patches@gnu.org; Sun, 12 Dec 2021 16:18:40 -0500 Received: by mail-ua1-x92e.google.com with SMTP id i6so26012000uae.6 for ; Sun, 12 Dec 2021 13:18:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=2RhdTvEwvQxxE/zwUfFVz2h7628iRuBuX7YHOFRfcbM=; b=Zp6Jd16hksaz+e1Z5KQFFHIAcoQGuIms1uV1uCoUFr0YebLdISCI40cKODe90JgQ4A WHmzZYzNHI1bMWsDfuCwreQCdqMzi/KEmr4s8wQ1w3aDLe0fpLKHiIqTjqndNDEjlDCM P5TuBD3s36An1Y7+nIv+fht3+jMuS+9ZJFf5CuyyL4P0cqNBh61RPbACMOzy6OL9SudZ X29kJXmpWGp5jhOC1jV+TUlbmbt9Y1S8aOb+mQTapSSIBaSq40NSd3ONG6VFCiLcUR/k 08UJIq+UZRwA2jSpquL+7SIP2IwonuMfZi5FzaeE1FqLz+g1LHxefqMUJKutUOk5Ph/i hepQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=2RhdTvEwvQxxE/zwUfFVz2h7628iRuBuX7YHOFRfcbM=; b=vj9d9rfaAHpXjiD2cJ/3cykL6V3fNco/HQYwNInqjmT9CU8jWcrRuLrcEqBGgMnj3b E01T7PeeOTla3mePVJy11cTLl4HcMKlpQuj3FDl2IqnA3JgkXH02eU9LX1CXa44a2fdQ kdrsEkE+WpXgszplOlw9iP2jr5G5WvrpxYUYCVS4aehpDIVnB3A/OmivKYuiDoekATb+ z84CflDnSSfyfoAJRZeULANMLAQ5JlcMRChaGE41IhLNCbvZxZgrFgM2TJBPwP9Oe0pL fC/wBxWj9Rvxh2L+yIVcpYGZCoCoHkw4IVTRP8zHiV8flzYVNYax0UFuHm/lIZGU7wuO OTBg== X-Gm-Message-State: AOAM5319VAOpk1kjUwiCRksuufuLyjMdZhv3/7sq2RVssbK0/ps83pQq J82tIeX3RES8Fe86rpn+2Jy1RhORMqI+grOBpsw= X-Google-Smtp-Source: ABdhPJxM+tORmLp0R35GT+ro2jhqhnquLqJkqtZHmnz0xRlpAPCkF0wmfIEfjCFCoQj7Tq8hh9Nskw== X-Received: by 2002:a67:60c2:: with SMTP id u185mr24382044vsb.73.1639343917704; Sun, 12 Dec 2021 13:18:37 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x23sm1816007vsk.24.2021.12.12.13.18.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:18:37 -0800 (PST) Message-ID: <5791d5f0-60c7-5f34-be4a-9d9c2333c703@philipmcgrath.com> Date: Sun, 12 Dec 2021 16:18:36 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 29/43] gnu: Add node-sqlite3. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-30-philip@philipmcgrath.com> <87v8ztzu1a.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87v8ztzu1a.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::92e (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::92e; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x92e.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 10:42, Pierre Langlois wrote: > > Philip McGrath writes: > >> * gnu/packages/node-xyz.scm (node-sqlite3): New variable. >> --- >> gnu/packages/node-xyz.scm | 118 +++++++++++++++++++++++++++++++++++++- >> 1 file changed, 115 insertions(+), 3 deletions(-) >> >> diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm >> index 60dbfc163c..b979d0cd53 100644 >> --- a/gnu/packages/node-xyz.scm >> +++ b/gnu/packages/node-xyz.scm >> @@ -615,7 +615,8 @@ (define-public node-addon-api >> (sha256 >> (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) >> (inputs >> - `(("python" ,python))) >> + `(("python" ,python) >> + ("node-safe-buffer" ,node-safe-buffer))) >> (build-system node-build-system) >> (arguments >> `(#:absent-dependencies >> @@ -630,8 +631,7 @@ (define-public node-addon-api >> "eslint-plugin-promise" >> "fs-extra" >> "path" >> - "pre-commit" >> - "safe-buffer") >> + "pre-commit") >> #:phases >> (modify-phases %standard-phases >> (add-after 'unpack 'skip-js-tests > > nit: Did you mean to include these changes in this patch? It seems they > should be part of the node-addon-api patch. Thanks! I've rebased, reorganized, and squashed this series a number of times: these must have ended up in the wrong place. >> + "aws-sdk" >> + "@mapbox/cloudfriend" >> + ;; Confusingly, this is only a dependency beceuse of > > typo: beceuse -> because Thanks, will fix! >> + (add-after 'patch-dependencies 'avoid-node-pre-gyp >> + (lambda args >> + (substitute* ".npmignore" >> + (("lib/binding") >> + "#lib/binding # <- patched for Guix")) > > Would this substitute* be more suited to live in the 'patch-binding-path > phase? No, at least not as currently written. The upstream .npmignore file excludes the compiled addon from `npm pack` and `npm install`, so patching it after Guix's install phase would be too late. (Except that, unfortunately, Guix doesn't seem to be respecting instructions about which files to include or not in built packages ...) The 'patch-binding-path phase, on the other hand, replaces code that dynamically finds the addon to load at runtime via the `@mapbox/node-pre-gyp` package (which we don't have) with one that simply uses the path we built directly. Because that path depends (or should---see below) on the expansion of the `module_path` configuration, including parameters like `napi_build_version`, the most reliable approach seems to be patching this after Guix's configure phase, so we can just find what path we actually did build, rather than having to accurately predict what we're going to build. Instead of all of this, Debian packages a patched version of `@mapbox/node-pre-gyp` that always builds from source. This has some appeal and might mean less patching overall. I started down that road in , but I found `@mapbox/node-pre-gyp` really did need its `npm-log` dependency: we have `npm-log` as a dependency of `npm`, but, when I tried to package it properly, I found (if I'm remembering the details correctly) that bootstrapping `@unicode/14.0.0` from https://github.com/node-unicode/node-unicode-data seemed to involve a dependency cycle. That seemed like a headache for another time. >> + (with-atomic-file-replacement "package.json" >> + (lambda (in out) >> + (let* ((js (read-json in)) >> + (alist (match js >> + (('@ . alist) alist))) >> + (scripts-alist (match (assoc-ref alist "scripts") >> + (('@ . alist) alist))) >> + (scripts-alist >> + ;; install script would use node-pre-gyp >> + (assoc-remove! scripts-alist "install")) >> + (alist >> + (assoc-set! alist "scripts" (cons '@ scripts-alist))) >> + (binary-alist (match (assoc-ref alist "binary") >> + (('@ . alist) alist))) >> + (js (cons '@ alist))) >> + ;; compensate for lack of @mapbox/node-pre-gyp >> + (setenv "GYP_DEFINES" >> + (string-append >> + "module_name=" >> + (assoc-ref binary-alist "module_name") >> + " " >> + "module_path=" >> + (assoc-ref binary-alist "module_path"))) >> + (write-json js >> + out))))))))) > > I was having a bit of a hard time understand this phase, let me know if > I have this right. We have this JSON input: > > --8<---------------cut here---------------start------------->8--- > "binary": { > "module_name": "node_sqlite3", > "module_path": "./lib/binding/napi-v{napi_build_version}-{platform}-{arch}", > "host": "https://mapbox-node-binary.s3.amazonaws.com", > "remote_path": "./{name}/v{version}/{toolset}/", > "package_name": "napi-v{napi_build_version}-{platform}-{arch}.tar.gz", > "napi_versions": [ > 3 > ] > }, > > "scripts": { > "install": "node-pre-gyp install --fallback-to-build", > "pretest": "node test/support/createdb.js", > "test": "mocha -R spec --timeout 480000", > "pack": "node-pre-gyp package" > }, > --8<---------------cut here---------------end--------------->8--- > > And we: > > - Read the "binary" entry to find the module_name and module_path to > give to node-gyp, so we can use our own GYP instead of a bundled one. > > - Delete the "scripts.install" phase, it's not using the correct GYP. > > Maybe a couple of comments would be helpful here :-). Yes, I'll add comments :) What you said is mostly right, but, to clarify, the upstream scripts.install is using node-PRE-gyp, which tries to download pre-built binaries from S3-compatible storage. Since we don't have a patched version like Debian, we definitely want to avoid that. When node-pre-gyp does decide to build from source, it arranges to supply module_name and module_path based on the package.json definitions, so the binding.gyp doesn't define them. Thus, we also have to pass them to node-gyp, and the GYP_DEFINES environment variable turns out to be the easiest way to make sure they get passed on from npm to node-gyp to gyp. What we do isn't quite consistent with node-pre-gyp because we don't currently perform substitution on the module_path, so there ends up being a directory literally named "napi-v{napi_build_version}-{platform}-{arch}". But that could be improved later. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:20:57 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 21:20:57 +0000 Received: from localhost ([127.0.0.1]:53310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWHB-0003rg-9D for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:20:57 -0500 Received: from lists.gnu.org ([209.51.188.17]:58048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWGw-0003rA-Me for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:20:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54432) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwWGw-0005mc-HL for guix-patches@gnu.org; Sun, 12 Dec 2021 16:20:42 -0500 Received: from [2607:f8b0:4864:20::92e] (port=40844 helo=mail-ua1-x92e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwWGu-0008Lu-Om for guix-patches@gnu.org; Sun, 12 Dec 2021 16:20:42 -0500 Received: by mail-ua1-x92e.google.com with SMTP id y5so26030731ual.7 for ; Sun, 12 Dec 2021 13:20:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=aAVTUZSV3jPgH8F7rDYM/LmaShaVwmB9soPS51A1fpg=; b=V+s8W9chmwUbCu5QWrORcjmGt+TzTtZE6rQD2FEjvZZ1o28Y7938TXXR8dx9Q+1/mB 1f2x+XX98BfDk2MaVTZ3jN3AjCb4QUxU/GLphwpupnbKJPszBQn5brXPDRRQX1tXmkZ2 vza2LH7zVgPQdwPOkjEs/KiUt0lfSZnIIRX/wMspvQX8swDivSxr6nfcZHrBt+FtnboB spOw11yksdOWaCS+fpyuEjksgSF6bQ6RUANH5vLvdXryA8E4vngr2aGj9o97JtK20JPJ mT2FoHRyE6ou7KZ8HIpqOKskxPjpGUHfM3INliiW8r5QSR3Ttt+2V8zI4P1OsmUPWzNk okxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=aAVTUZSV3jPgH8F7rDYM/LmaShaVwmB9soPS51A1fpg=; b=ftOnVw0mHZyEE3YT8yd42jauIqmE6fh5Fo3OUW/96nojXoSy++Z8Dc2JhfhbjWBRIj FGDfG7vtpjSbQkPrc1I958A/YU1R91uXIGhySmR6ARWN2ytVrJWTmYap4fJwVahrzMWE 4Z8vRFuKIE3n58aPTFNuoDFqPCPajekSIRaAVY8f/lXyF69QQ9YOgE/oVZJwFfAoZs03 /lngEpPiWYGJcWddbMNX49zTEwhkWWIK433BiZD6A8TuHH/1wNEYKNJRrDct6gYuetMW K77oceT5bPxFXuug4Ww4oLjdY76EGzl9ku1QDc7+7yOmwloN0WPjJaa9IBO+sF/EM7Rw Mk+g== X-Gm-Message-State: AOAM531ieJEngm7vhlsGX3hUhd6A1GtN6jtH5iEfjwLhtCS/Qatsl7pL o6NxofO7+azqi7JtNjbKUAfDJ/cpVJbryghGFJ4= X-Google-Smtp-Source: ABdhPJwdCgy0aOLafasitbaPNy5GOCjQ1eF3PKpWIlMiAeRSH8XQiBgH83NyPCYMdHD0tOX7M/JwAQ== X-Received: by 2002:a05:6102:b13:: with SMTP id b19mr24153349vst.1.1639344035993; Sun, 12 Dec 2021 13:20:35 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f26sm3491666vkl.51.2021.12.12.13.20.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:20:35 -0800 (PST) Message-ID: <43acc425-72af-a816-cd70-d98c885d592e@philipmcgrath.com> Date: Sun, 12 Dec 2021 16:20:35 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 31/43] gnu: Add node-bindings. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-32-philip@philipmcgrath.com> <87lf0pztzn.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87lf0pztzn.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::92e (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::92e; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x92e.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.1 (/) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 10:57, Pierre Langlois wrote: >> + (home-page "https://github.com/TooTallNate/node-bindings") >> + (synopsis "Help for loading your native module's @code{.node} file") >> + (description "Throughout the course of Node's native addon history, addons >> +have ended up being compiled in a variety of different places, depending on >> +which build tool and which version of @code{node} was used. To make matters >> +worse, now the @code{gyp} build tool can produce either a @code{Release} or >> +@code{Debug} build, each being built into different locations. This module >> +checks @emph{all} the possible locations that a native addon would be built >> +at, and returns the first one that loads successfully.") > > I see the upstream description is prefaced with: > > --8<---------------cut here---------------start------------->8--- > This is a helper module for authors of Node.js native addon modules. It > is basically the "swiss army knife" of require()ing your native module's > .node file. > --8<---------------cut here---------------end--------------->8--- > > I'd suggest to just use this as the description, I'm not sure we need to > mention node's addon build system history here. Yes, I like that better. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:26:35 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 21:26:35 +0000 Received: from localhost ([127.0.0.1]:53315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWMd-000408-3X for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:26:35 -0500 Received: from lists.gnu.org ([209.51.188.17]:58506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWMb-000401-Ts for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:26:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwWMb-0006MI-OQ for guix-patches@gnu.org; Sun, 12 Dec 2021 16:26:33 -0500 Received: from [2607:f8b0:4864:20::930] (port=41719 helo=mail-ua1-x930.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwWMZ-0000bv-Tw for guix-patches@gnu.org; Sun, 12 Dec 2021 16:26:33 -0500 Received: by mail-ua1-x930.google.com with SMTP id p37so26032446uae.8 for ; Sun, 12 Dec 2021 13:26:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=tWIzKqnTTptWjYlbwtCoc73MgQdI5IHczct97k/nS8c=; b=E9m9V9Cq+Zp4cInfZjmvGmI/8IFgD+VtH5YabXxj9L5FAi8S2m8ZyWDSd+4YvdaUyY Wdqopc9CZThb8b94vohALfXIn/WvDVmUtIck3yM6XFp8/Js18upaw8cRTOs9i/Asq/2A DQnPWEXliHLv31IlkWHmrylr/C5Z2WLGT3apOvevBBXVRXvAY1j4KOnToNXbaOwQ5YJs nVSdGbsS7F4XxshfigHgiN8yxxpDhJL0s1GTsjxTOyj41Om7peF+EsTu1YwRQ0eAUBi0 S/2wsTwETYgOWvm0/BxQ6ou+Vln+3YbXswas0ma2B2cKn5Pn60Z5Qzxs6McpWOu/75ll mj7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=tWIzKqnTTptWjYlbwtCoc73MgQdI5IHczct97k/nS8c=; b=hdZeZe5RWBUBMVr354lXVYQpbDZdlz5IhZz2EakbXRz4g9xq5/+gOA9fw1jBF4doCy fRm1ojnBwEtfkWtZQ0jMAznYiSEGE9nz2nTWMFFwhiPw6CwoBh0mysGqYrXhAdfOh0ZW 2dbZPj8F1fJvTMMLY/tdck+tCih2ug5kJTqFDKKmrN0LNokKjD5ziBlqI6m95MRwgUdv Zov6vqxibaWqkkWAT7+gHLEzYJ1U/PMYvygSzxtTbvQioPikkigoanupukrTyBNubq34 0LDiBP8b6Q6aSpi0h2XLVz7C5jN30QDK6/r2cBXMezjCarPd5CukOx3EXqcfxIRhxAHz uRqw== X-Gm-Message-State: AOAM53230B9DrvKFzh4qF9KypU4evCHBQCumiIB8qqnbL/btx7nzOdvT ApgonZMwSYpoWaL3+FNRrSPZX6yXUi7yn/oSG2A= X-Google-Smtp-Source: ABdhPJw/2lcYFoYB3ZlwnWaRYtMYGoO4MRr6uQJVF4BRWgeaL86gXb6XjXxx6tHxziZi+3UhPhc/jQ== X-Received: by 2002:a67:efd5:: with SMTP id s21mr25456455vsp.73.1639344390960; Sun, 12 Dec 2021 13:26:30 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v17sm3682244uar.15.2021.12.12.13.26.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:26:30 -0800 (PST) Message-ID: Date: Sun, 12 Dec 2021 16:26:30 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 20/43] guix: node-build-system: Add delete-lockfiles phase. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-21-philip@philipmcgrath.com> <87bl1lztq5.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87bl1lztq5.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::930 (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::930; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x930.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 11:09, Pierre Langlois wrote: > > Philip McGrath writes: > >> * guix/build/node-build-system.scm (delete-lockfiles): New function. >> Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', >> if they exist. Because these files specify dependency both exact >> versions and integrity hashes, they only cause problems for Guix. >> (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. >> --- >> gnu/packages/node.scm | 12 ------------ >> guix/build/node-build-system.scm | 12 ++++++++++++ >> 2 files changed, 12 insertions(+), 12 deletions(-) >> >> diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm >> index 6d48816c77..5289e2fe4f 100644 >> --- a/gnu/packages/node.scm >> +++ b/gnu/packages/node.scm >> @@ -488,12 +488,6 @@ (define-public node-llparse-builder-bootstrap >> "typescript") >> #:phases >> (modify-phases %standard-phases >> - (add-before 'configure 'remove-package-lock >> - ;; Having package-lock.json seems to cause npm >> - ;; to look for things on the internet in the configure phase, >> - ;; even if we have them properly installed. >> - (lambda args >> - (delete-file-recursively "package-lock.json"))) >> (replace 'build >> (lambda* (#:key inputs #:allow-other-keys) >> (let ((esbuild (string-append (assoc-ref inputs "esbuild") >> @@ -621,12 +615,6 @@ (define-public node-llparse-bootstrap >> "typescript") >> #:phases >> (modify-phases %standard-phases >> - (add-before 'configure 'remove-package-lock >> - ;; Having package-lock.json seems to cause npm >> - ;; to look for things on the internet in the configure phase, >> - ;; even if we have them properly installed. >> - (lambda args >> - (delete-file-recursively "package-lock.json"))) > > These changes were added in this series right? I'd suggest to re-order > commits to have the build-system changes first so that they don't need > to be added at all. Right! I'll do that. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:33:26 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 21:33:27 +0000 Received: from localhost ([127.0.0.1]:53328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWTG-0004BK-EW for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:33:26 -0500 Received: from lists.gnu.org ([209.51.188.17]:59080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWTC-0004BA-Pg for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:33:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56082) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwWTB-0007C7-1w for guix-patches@gnu.org; Sun, 12 Dec 2021 16:33:21 -0500 Received: from [2607:f8b0:4864:20::936] (port=38581 helo=mail-ua1-x936.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwWT9-0001JV-DA for guix-patches@gnu.org; Sun, 12 Dec 2021 16:33:20 -0500 Received: by mail-ua1-x936.google.com with SMTP id w23so26079028uao.5 for ; Sun, 12 Dec 2021 13:33:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=Fh0n71o0yBejAfFYUu8ZkIT5wWTgB7nmIsZAs4iFpmA=; b=QBOQw8P7a3zV/7FF4lfmFeFy9Eoi4NMu5YQ1dF8EzwxT/wwfnvymaCYIqyw7sIDcVi GTO/6gQ5L5dYzsbnZQDK82zpVYxR3F4C15/A+RaR7P1pTSgVG3keZmdbM6NSK7ZVfQGR PrQnzm2jP6FJoR+N6v1h9KVODwecVNTjdGVU85NEvj7fBWF/6mKbYc0nlOZR/A3lz5T7 2h1LDHbi/GjchWZNQw7BeiCHez8lLI81w/2q8YkRMtaLzKY3tH1k2sKdVHznBSVSwM7w Apwme5CfMwBlimMgKNvv66WdTIHzsGDy1qDvBte6V/FDWTe/B0y2Z1HD6XyVUmkhjREH fDhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=Fh0n71o0yBejAfFYUu8ZkIT5wWTgB7nmIsZAs4iFpmA=; b=Yr66yZwo85/8cZNtIutuuF1GcgoS7ZIphR+sIM2jh0xu31qvmrWeGRE8eAe6fCt0Aw kbTlsFTYbJAZKjpqmxpk0HGu4Zf+cOe+bxrtRZ8BnEHoNvL6oMvW90Yzoq4SwpQ5W2pV qYjpdTZGO8qD6zojKEKaaTTJbMoUfw1oidxFW/sD4lBaRrScsFRSaMZCY1xZB79HSz04 d3Ash26wFzdzu5+HmIV6++xPCQ3+nNSX+YsywB4kmYgleajS9QNwR7Fdd83zR4CV3pcO gUHjlx89v4GFNUSvcjPO/MpT6AKJqpipAZF8cm3zlgznpjTSHKFbue7DPXcrl322BEkO BSaQ== X-Gm-Message-State: AOAM531goOBKZjj7/9Fc0YazTSje5TqQD0C0gSFcJ7dacS/AVtON77Mp 9hKPQdd4Jc+ZWECpxa1paEriOQ== X-Google-Smtp-Source: ABdhPJwj9MLBPAB9LFxh/z/lKKSOTHFRTczSfOSEBe1bBMEhn319WQxcaJRz672NxSW57KpkHv8hcw== X-Received: by 2002:a67:2dd7:: with SMTP id t206mr22463350vst.62.1639344794288; Sun, 12 Dec 2021 13:33:14 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s13sm3602749vkh.32.2021.12.12.13.33.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:33:14 -0800 (PST) Message-ID: Date: Sun, 12 Dec 2021 16:33:13 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 26/43] gnu: Add node-nan. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-27-philip@philipmcgrath.com> <87bl1lyeo3.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87bl1lyeo3.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::936 (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::936; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x936.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 11:17, Pierre Langlois wrote: > > Philip McGrath writes: > >> * gnu/packages/node-xyz.scm (node-nan): New variable. >> --- >> gnu/packages/node-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 44 insertions(+) >> >> diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm >> index 3e06413908..ed169c0778 100644 >> --- a/gnu/packages/node-xyz.scm >> +++ b/gnu/packages/node-xyz.scm >> @@ -553,3 +553,47 @@ (define-public node-irc >> (description "@code{node-irc} is an IRC client library for Node.js. >> It has functions for joining, parting, talking, and many other IRC commands.") >> (license license:gpl3+))) >> + >> +(define-public node-nan >> + (package >> + (name "node-nan") >> + (version "2.15.0") >> + (source >> + (origin >> + (method git-fetch) >> + (uri (git-reference >> + (url "https://github.com/nodejs/nan") >> + (commit (string-append "v" version)))) >> + (file-name (git-file-name name version)) >> + (sha256 >> + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) >> + (build-system node-build-system) >> + (arguments >> + `(#:tests? >> + ;; tests need tap and other dependencies >> + #f > > Formatting nit, you can write this all in one line: > > #:tests? #f ;; Tests need tap an other dependencies. Yes, I'll do that. It causes problems for automatic indentation if it's the first line, but I can put it after #:absent-dependencies, as I started doing elsewhere. > >> + #:absent-dependencies >> + '("bindings" >> + "commander" >> + "glob" >> + "request" >> + "node-gyp" ;; would be needed for tests >> + "tap" >> + "xtend"))) >> + (inputs >> + `(("readable-stream" ,node-readable-stream))) >> + (home-page "https://github.com/nodejs/nan") >> + (synopsis "Native Abstractions for Node.js") >> + (description "A header file filled with macro and utility goodness for >> +making add-on development for Node.js easier across versions 0.8, 0.10, 0.12, >> +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16. > > Given our packages only work with the node what Guix uses, you could > remove the version numbers from the description. Mostly because we > probalby won't think to update this description when future node > releases appear. > >> + >> +Thanks to the crazy changes in V8 (and some in Node core), keeping native >> +addons compiling happily across versions, particularly 0.10 to 0.12 to 4.0, is >> +a minor nightmare. > > I'd remove this sentence, it doesn't make much sense in Guix given we > don't support older versions. Both of these seem like good changes to me. (Personally, I think a lot of complexity in JavaScript land comes from trying to support obsolete versions of things.) -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:34:46 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 21:34:46 +0000 Received: from localhost ([127.0.0.1]:53337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWUY-0004Do-7p for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:34:46 -0500 Received: from lists.gnu.org ([209.51.188.17]:60060) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWUW-0004Df-EP for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:34:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56406) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwWUW-0007uz-80 for guix-patches@gnu.org; Sun, 12 Dec 2021 16:34:44 -0500 Received: from [2607:f8b0:4864:20::932] (port=46750 helo=mail-ua1-x932.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwWUU-0001VM-55 for guix-patches@gnu.org; Sun, 12 Dec 2021 16:34:43 -0500 Received: by mail-ua1-x932.google.com with SMTP id 30so26034183uag.13 for ; Sun, 12 Dec 2021 13:34:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=Ufownu7BKAZ0hKHgWgG8Dh0lnqluVU8DW510SIRT8Cw=; b=j1TqjrSBTak5zLUFheX94JfCprsgxah7EgtWRezeWUyZv2oF89vR0x2tD88jcHtUvw 9EkSM9kG/GgfIDMftHLj2jpyDX0etzN8+2mogVZqeP9VAPw1eS6JPJ6qqWs0r9MA6K6v JFKXV5D594qm8bhLdWhz/5uGz95yBvRz79kjzaPj34tFkpmOmhe6mXvW/hPSzHMaD26V spQriXW4N2lVK/bc/cFbGVJlP+Namooj7b0z89sVqQkGliCShy2VVigQZj6H4BGKcB+Y 7YjkPqoiV5B9gLUEMiyXmigzpmpRWgs184dIrVhuAMWNXQFvCs4aSPAMbgZDuw2xl08g Y6Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=Ufownu7BKAZ0hKHgWgG8Dh0lnqluVU8DW510SIRT8Cw=; b=5L9dEC1hYBPOF47UkcS6WRuLGWGvsBBmA6E1eJCFecEs3NQI71XddZ0LCd+DPSU0kd LL7Min2eWZiD/sMvf+F5vYtuFS7gkkaeYN9DJBYlXH58fOCHjsOjvs2Lq48pBlD1KqeE rFv+CgoZKJ2vuFLjwYkpgQyzjflqD43KspKERn/1aTmcejdAFhfxWnuhv3MZLP3I6BCI lYxp7p/jLVH6KvP+XOPolEbFlkiuUvYko/IArnfSbuMmTcyRbnxqJoxhWPcVzv7dSvDI WNSA/NUzUJWKHORMdAUOKra2IxQoZqfn7owJEWB2XZw69AZGEta3EfO10/Uo9w0YCbXh Fg5g== X-Gm-Message-State: AOAM533fQHxkr15wTDKlqzxaysYDR5cHVl5EffOICVtTPJzwdt9m9wfh wEiHorDPXUOupGuCVUzYecsdbg== X-Google-Smtp-Source: ABdhPJzMNp9xe9D1Myn+hfHpGJLkPPxfNG8BgFCWCnbRDCciIMzuwDk/YTSF2mfCs4kMHhK27eRBRw== X-Received: by 2002:ab0:164d:: with SMTP id l13mr37985753uae.34.1639344881194; Sun, 12 Dec 2021 13:34:41 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x21sm3770026ual.11.2021.12.12.13.34.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:34:41 -0800 (PST) Message-ID: <3ad58557-bc73-07bc-6af7-de7d0b424095@philipmcgrath.com> Date: Sun, 12 Dec 2021 16:34:40 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 30/43] gnu: Add node-file-uri-to-path. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-31-philip@philipmcgrath.com> <87y24pwzww.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87y24pwzww.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::932 (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::932; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x932.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 11:26, Pierre Langlois wrote: > > Philip McGrath writes: > >> * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. >> --- >> gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 54 insertions(+) >> >> diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm >> index b979d0cd53..d23326fa25 100644 >> --- a/gnu/packages/node-xyz.scm >> +++ b/gnu/packages/node-xyz.scm >> @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) >> #:use-module ((guix licenses) #:prefix license:) >> #:use-module (gnu packages sqlite) >> #:use-module (gnu packages python) >> + #:use-module (gnu packages web) >> #:use-module (guix gexp) >> #:use-module (guix packages) >> #:use-module (guix git-download) >> @@ -772,3 +773,56 @@ (define-public node-sqlite3 >> non-blocking bindings for SQLite3, written in modern C++ and tested for memory >> leaks.") >> (license license:bsd-3))) >> + >> +(define-public node-file-uri-to-path >> + (package >> + (name "node-file-uri-to-path") >> + (version "2.0.0") >> + (source >> + (origin >> + (method git-fetch) >> + (uri (git-reference >> + (url "https://github.com/TooTallNate/file-uri-to-path") >> + (commit version))) >> + (file-name (git-file-name name version)) >> + (sha256 >> + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) >> + (native-inputs >> + `(("esbuild" ,esbuild))) >> + (build-system node-build-system) >> + (arguments >> + `(#:absent-dependencies >> + `("@types/mocha" >> + "@types/node" >> + "@typescript-eslint/eslint-plugin" >> + "@typescript-eslint/parser" >> + "cpy-cli" >> + "eslint" >> + "eslint-config-airbnb" >> + "eslint-config-prettier" >> + "eslint-import-resolver-typescript" >> + "eslint-plugin-import" >> + "eslint-plugin-jsx-a11y" >> + "eslint-plugin-react" >> + "mocha" >> + "rimraf" >> + "typescript") >> + #:phases >> + (modify-phases %standard-phases >> + (replace 'build >> + (lambda* (#:key inputs native-inputs #:allow-other-keys) >> + (copy-recursively "src" "dist") >> + (invoke (string-append >> + (assoc-ref (or native-inputs inputs) "esbuild") >> + "/bin/esbuild") >> + "dist/index.ts" >> + "--outfile=dist/src/index.js" >> + "--format=cjs" >> + "--sourcemap" >> + "--platform=node")))) >> + #:tests? #f)) >> + (home-page "https://github.com/TooTallNate/file-uri-to-path") >> + (synopsis "Convert a @code{file:} URI to a file path") >> + (description "Accepts a @code{file:} URI and returns a regular file path >> +suitable for use with the @code{fs} module functions.") > > nit: We generally write description as full sentences, I'd suggest: > > --8<---------------cut here---------------start------------->8--- > This package provides a method to convert a @code{file:} URI to a file > path. It accepts a @code{file:} URI and returns a regular file path > suitable for use with the @code{fs} module functions. > --8<---------------cut here---------------end--------------->8--- Yes, I'll do something like that. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:38:18 2021 Received: (at submit) by debbugs.gnu.org; 12 Dec 2021 21:38:18 +0000 Received: from localhost ([127.0.0.1]:53348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWXy-0004JL-G3 for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:38:18 -0500 Received: from lists.gnu.org ([209.51.188.17]:33040) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWXx-0004J6-9Z for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:38:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57118) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mwWXx-0000V9-34 for guix-patches@gnu.org; Sun, 12 Dec 2021 16:38:17 -0500 Received: from [2607:f8b0:4864:20::92d] (port=40951 helo=mail-ua1-x92d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mwWXs-00020i-Iq for guix-patches@gnu.org; Sun, 12 Dec 2021 16:38:16 -0500 Received: by mail-ua1-x92d.google.com with SMTP id y5so26070003ual.7 for ; Sun, 12 Dec 2021 13:38:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=bsxdj/ZvEV3UzB/8/vYjPS0sAo/FkiD/DZEPXbkdeVA=; b=jEHr6+2f/2L0twvlDLU7xCaptEZyBI6OwlFfog2brwIaZYmcgKQbYMt4TZL4GzIu9e LHkwgQshTEifRSCGtOkMqEK5ZcDuCL7L0P8RAdAnwU7a/DmTpxd4FA31lkGRJt9DtNDx D3njPofQSaUgYNSvYwiXN6p03l2Bh6VzwZTx7KqV9uTAsurffW8yfezYzaikoo/ojS1+ XQMy6MPfrrXd59PPOJWoUYT11J2KK9y9TGftRhgriYbO9pcyqXzrjHdUePifLykXjiJN 22jInRGOVQgrF0Th5VynwM9JJVqBHH80kr/21cPq2R/Sxm4nieLSeOnya+dOu8JMmEuQ s7rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=bsxdj/ZvEV3UzB/8/vYjPS0sAo/FkiD/DZEPXbkdeVA=; b=qa5rzGWiJXq3tJKP3VmQLtqV+7S2PXSlonYSMaNy4NwoP6wKqQUF/BzotKP05QxNBz tBzYN/U5ee3m15hb998wSpzXELq7vlp16/mztn3pYk3zEbLs/HNVEg3KRz3rzkzbQqbT JYSU2N8/b91rBSiKqwH9CcsoYg5A4pjyNqWleS0kEdY82x7LTAD3EDl9NvF0oIubGeQW MRnZ1SIy7bbFRbqcXZllbwOKU+8aEVJorMteu8KFHDNrLTs2sXRNfbIR+ymPPvUyOQXX pgLEJQCOQMxt8jQ8ejBEhxf6ybs9XzbQVfYHyn7UXOUhk4ekOPH7Dni6+xJrN6DSzDk9 H9nQ== X-Gm-Message-State: AOAM533E5P85U/dYglLdW0jJkqBsoPmLMRhoM5QX0Rv2LsnAJn22FkLz ZAVjiW4qmO9eulJEdjFMpPE99w== X-Google-Smtp-Source: ABdhPJwwBxbenQKis7hiAxhndq0e/HqlFEXt3OwBcTKz02v4ukFHugHYI7v9584XeAt4hyjcCL/DWw== X-Received: by 2002:a05:6102:f12:: with SMTP id v18mr25423181vss.0.1639345091487; Sun, 12 Dec 2021 13:38:11 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id e7sm3535337vkn.20.2021.12.12.13.38.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:38:11 -0800 (PST) Message-ID: <88859ca2-0862-c48b-61c5-3dfe9b5e40bb@philipmcgrath.com> Date: Sun, 12 Dec 2021 16:38:10 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [bug#51838] [PATCH v3 32/43] gnu: Add node-segfault-handler. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-33-philip@philipmcgrath.com> <87czm1wzlv.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87czm1wzlv.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::92d (failed) Received-SPF: neutral client-ip=2607:f8b0:4864:20::92d; envelope-from=philip@philipmcgrath.com; helo=mail-ua1-x92d.google.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-2.051, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.7 (-) X-Debbugs-Envelope-To: submit Cc: 51838@debbugs.gnu.org, guix-patches@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) On 12/12/21 11:31, Pierre Langlois wrote: > > Philip McGrath writes: > >> * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. >> --- >> gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> >> diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm >> index 196fa55a39..27506062ba 100644 >> --- a/gnu/packages/node-xyz.scm >> +++ b/gnu/packages/node-xyz.scm >> @@ -856,3 +856,38 @@ (define-public node-bindings >> checks @emph{all} the possible locations that a native addon would be built >> at, and returns the first one that loads successfully.") >> (license license:expat))) >> + >> +(define-public node-segfault-handler >> + (package >> + (name "node-segfault-handler") >> + (version "1.3.0") >> + (source >> + (origin >> + (method git-fetch) >> + (uri (git-reference >> + (url "https://github.com/ddopson/node-segfault-handler") >> + (commit (string-append "v" version)))) >> + (file-name (git-file-name name version)) >> + (sha256 >> + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) >> + (native-inputs >> + `(("python" ,python))) >> + (inputs >> + `(("node-bindings" ,node-bindings) >> + ("node-nan" ,node-nan))) >> + (build-system node-build-system) >> + (arguments >> + ;; there are no tests >> + `(#:tests? #f)) >> + (home-page "https://github.com/ddopson/node-segfault-handler") >> + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") >> + (description "This package is a tool for debugging Node.js C/C++ native >> +code modules, and is safe to use in production environments. Normally, when a >> +bug is triggered in native code, the @code{node} process simply ends with no >> +helpful information. In production, this can manifest as worker processes >> +restarting for seemingly no reason. Running @code{node} in @code{gdb} is >> +messy and infeasible for a production environment. Instead, this module will >> +sit unobtrusively doing nothing (zero perf impact) as long as Node.js is >> +well-behaved. If a @code{SIGSEGV} signal is raised, the module will print a >> +native stack trace to both STDERR and to a timestamped file.") > > I'd suggest for the description to be a little more succint, maybe just: > > --8<---------------cut here---------------start------------->8--- > This package is a tool for debugging Node.js C/C++ native code modules > and getting stack traces when things go wrong. > --8<---------------cut here---------------end--------------->8--- Yes, this is a bit long. I think I'll keep the last sentence, too, though, so something like: --8<---------------cut here---------------start------------->8--- This package is a tool for debugging Node.js C/C++ native code modules and getting stack traces when things go wrong. If a @code{SIGSEGV} signal is raised, the module will print a native stack trace to both STDERR and to a timestamped file. --8<---------------cut here---------------end--------------->8--- (And maybe I should be using texinfo markup for STDERR, too.) -Philip From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 12 16:45:48 2021 Received: (at 51838) by debbugs.gnu.org; 12 Dec 2021 21:45:48 +0000 Received: from localhost ([127.0.0.1]:53358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWfE-0004UG-LW for submit@debbugs.gnu.org; Sun, 12 Dec 2021 16:45:48 -0500 Received: from mail-vk1-f172.google.com ([209.85.221.172]:41932) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwWfD-0004U4-T5 for 51838@debbugs.gnu.org; Sun, 12 Dec 2021 16:45:48 -0500 Received: by mail-vk1-f172.google.com with SMTP id 188so9276894vku.8 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 13:45:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=agJkUz+kyVg872xovENixtzvHGZ58+6S4GJznL9EkPU=; b=FmihIQm8ui2bRSExyFHCzeHySOSYUIIDlnty4IVrIlz6UWXgYVVhEByRK7Sm5QQotb E3ChXxodeF0xRza1+90Mybgv+qB5AD7Z6UvZgAtLcrHRUIxFxgfMyfvvaZsQPDLCs43k hD1Tdhuo6OxmvLRd9AHI7fd0rxoFmNACRMsSYg8bhLQhk7yuxbPKtB5Dc/7gb7dUeCLb 5Rr1HR6fMscamKtqu8x23ua1E0SbzEdiMPo9O8+eZo6vVyLgG1AxiIP9oW5cv0ID7OHZ rTM7WouX6sLrd9MoCu++wVOtNU07eBO5SnO0q0ICRvtnYo2MABd4Z5VBOLUlM8lkpBAD FbJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=agJkUz+kyVg872xovENixtzvHGZ58+6S4GJznL9EkPU=; b=iTnChJBMtC46MN3wV29kvMF3fSro5CHIAtw0PMlXQZ7Q08jqea/BvSYOmp8+2N5H2k b7k8Eq1PfHz34Ej7BtuHnfVmYW7ANCVv5STlIRbR8DOGZw/z90b9z/hlwWcK1G1YNlsQ i5qcyaxIwV4Rt24Z20RoWhmFWs5D+DExVA/dlmzTQPRLMFeUKz5TswMTyz6aEKdRcJdP k/eu6aLMwdOTRHMWP5kLgUo61aYplUBpMhdBr5ORE9RlKrHuvfsr/HG5L3dNgSFD9aJF h7E3Mz6wsHZEBsxjgt523sXUkWUju1yNXIZkEYeIHRy0tZ56B4e9QisUAkGRzzPD/pDt OrFg== X-Gm-Message-State: AOAM530lKHlAfK/KMVc2fFgZJp5A2U9c+LlqYYK+u5gN2tMdEjMZF2ZO pmRDES0mAmyZ8XugjOJuXce7bA== X-Google-Smtp-Source: ABdhPJzJiNsfU3XUQEsf+ar5rv+GxcEI4CcieLF6ie+Osqjw7a92I5+omDxCIR7m05kyIK5QHbFP1A== X-Received: by 2002:a05:6122:997:: with SMTP id g23mr28736850vkd.15.1639345542282; Sun, 12 Dec 2021 13:45:42 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id z188sm3392292vsz.12.2021.12.12.13.45.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 13:45:42 -0800 (PST) Message-ID: Date: Sun, 12 Dec 2021 16:45:41 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v3 00/43] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Pierre Langlois References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <87ee6h24it.fsf@gmx.com> <87r1ahvkoa.fsf@gmx.com> From: Philip McGrath In-Reply-To: <87r1ahvkoa.fsf@gmx.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Jelle Licht , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi! On 12/12/21 11:36, Pierre Langlois wrote: > > Pierre Langlois writes: >> Thanks for working on this! I've tested the series and rebased my own >> work on top locally, it's working for me so feel free to add: >> >> Tested-by: Pierre Langlois >> >> The series looks good to me overall, I'll add comments in each patch. > > OK, I'm done with my round of comments :-) > > I'm not a maintainer but I do have commit access, so I can volonteer to > push this on your behalf if maintainers are happy with the series. > Hopefully with some of my suggestions incorporated if you agree with > them. Thanks for the review! I'll send a v4 incorporating your comments, probably later today or tomorrow, and hopefully that will be ready to merge. It will also include node-debug, because I discovered that the lack of it causes some problems for the node-serialport packages, and it turned out not to be too difficult to add. -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:09 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:09 +0000 Received: from localhost ([127.0.0.1]:53676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwePZ-0002O8-3i for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:09 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:43951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwePU-0002Nd-OA for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:08 -0500 Received: by mail-ua1-f51.google.com with SMTP id n9so8326944uaq.10 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bHtKzZxESzm2iXjWnUND/mnhM/iHVNo3pkLp+MLU2HU=; b=V6T26ewsYaVHrYS680YjzalMLye437VKfcVWAuVMcwfAieqcJMT5aKtkhIY66ZbHfw S4sKqLXxNdyQ+7MenJLa7sKyknQl/kt3K1Y++jyB2KJP1Pu2Z54vpm80Jb0zg2WuAjuc AoQzwQzJ3YkXM7KqVBg/oRKO1qKaxNyvsmtPX85xKRb4Fj03l4yzbey3YNGheSZ1aq5t eVx1iR2M/hHyW9OlFJ2haRZJZwTmQbCNZedzvV5KF17rGXHaE+apc2VUtLsjeTcLYM7i 0wAwCitwIR9kjwDkxlib8/PNH/sKhboFo4lMTyRhJTfoR3UKlh+iCRGflGeIpWD+NpCf ooSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bHtKzZxESzm2iXjWnUND/mnhM/iHVNo3pkLp+MLU2HU=; b=a1u5lFoltbdWfhEmXgFRRlZ9BmjVUiAordNk1oYBomTPlVLyZ3Mhg1MY1eEJuSufZ3 wucGe3NgEZPQq/3p4V7pqiGxx5GK86gJZDwQqJoBUSi2TVte2pFXdIAsqm7gq6NN8zPL SskybSu12cWG8nlE59RSHux/zi0B8qs9f+8oeeMXkp2C8s2rQzaAQBLUXi2NPD13Tssn e4fw7UquOCt4o3S6vw03ksnDND9g60OOw5rtw3II55PGv17VJAr+DmC2Z7vOt2KGvVoS IiwVo33Ke407epL3ISHWyY9Ut+wg2YojObwqBl+06bMYgZCTEN/UZ1SzePkkUI2JeSCc nl4w== X-Gm-Message-State: AOAM532+kHdToukRr8e3yOJqMTuvQcHSuf1M6tx9Ywv38zIBg1WB0/yJ H8Y2G+y010m6IP/RzugA1H/ElSLeWba4PwZjGlE= X-Google-Smtp-Source: ABdhPJyjKS7uhjIXh1kbitlej55J2ufPmSIEmU4/4BRItB7Jr955kWlUvMReUjHqBdlt9OUQvmvuHg== X-Received: by 2002:a67:d58f:: with SMTP id m15mr25298378vsj.34.1639375318981; Sun, 12 Dec 2021 22:01:58 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id z188sm3564094vsz.12.2021.12.12.22.01.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:01:58 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 00/45] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Mon, 13 Dec 2021 01:00:22 -0500 Message-Id: <20211213060107.129223-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi! Here is v4 of the patch series: I've also put it up at . -Philip Philip McGrath (45): gnu: node: Avoid duplicating build phases. gnu: node: Update to 10.24.1 for bootstrapping. gnu: node: Patch shebangs in node_modules. gnu: node: Add an npmrc file to set nodedir. guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Refactor patch-dependencies phase. guix: node-build-system: Add #:absent-dependencies argument. gnu: node-semver-bootstrap: Use #:absent-dependencies. gnu: node-ms-bootstrap: Use #:absent-dependencies. gnu: node-binary-search-bootstrap: Use #:absent-dependencies. gnu: node-debug-bootstrap: Use #:absent-dependencies. gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. gnu: node-llparse-bootstrap: Use #:absent-dependencies. gnu: node-semver: Use #:absent-dependencies. gnu: node-wrappy: Use #:absent-dependencies. gnu: node-once: Use #:absent-dependencies. gnu: node-irc-colors: Use #:absent-dependencies. gnu: node-irc: Use #:absent-dependencies. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add avoid-node-gyp-rebuild phase. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-ms. gnu: Add node-debug. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readling. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 932 ++++++++++++++++++++++++++++++- gnu/packages/node.scm | 222 ++++---- gnu/packages/zwave.scm | 69 +++ guix/build-system/node.scm | 28 +- guix/build/node-build-system.scm | 129 ++++- 5 files changed, 1225 insertions(+), 155 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:26 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:27 +0000 Received: from localhost ([127.0.0.1]:53679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwePq-0002Oe-Es for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:26 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:39725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwePo-0002OR-Ma for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:25 -0500 Received: by mail-ua1-f49.google.com with SMTP id i6so27290313uae.6 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KH4RQSW2Vl/+hSZ71LTsM4xePvjwFAevZ9cxlfrinCQ=; b=epdTGtFKodUCbiaUAIG3/UEftiYqjs20zX1g1EJQ9VLRvb/MA/Nlyej4ngml2q7mYP YXxjFZXiny1azlfHx1C82xLp2/Pnroz9kl6mWxiGSa31+amjyYzgNjXHwpSX9AEnltyw pYqFkC9XWLgSeLNS0RAj7far7+7CGru+z7/Plj2nxhHMv8a8rygbmqThoj9AT2scAiaa +V/AwJ0+ZKMtdNTmY5/YMtzNO1ajgyN5cNkkumiFmAwT8yfqNqX5Y6717gf8fy2Qso/M FuHndST4OPHsHv9VToiJ/iqvV9cQ0PFK7BKyhDjUJW03pqrPGCSJlNZMCBRVwfD80AW4 bRrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KH4RQSW2Vl/+hSZ71LTsM4xePvjwFAevZ9cxlfrinCQ=; b=cBo4zxy4TeEIpBhIDfjyaO13SAq+vrA17UQUL/NlMuCUL17aACyRH8K/xdLfyBqjYG 69dO84/qjTqvDN3DozLzdC5kNbmkq377kFqdVZ30GBUgVHgM/kkHWOFoCmGRxlA+h4c6 Ul4g6r3JHUceRb2FRSO1T7gEwxK1jem/FeEUdWVQ/kNHkKBrB6jG/uDHqFPr1SGPNBSq lpYGHia34Bl734+s6TUqQ552cDNvQN+pJd2O2s3WG4FyVITOLTYFHGqPZhYthiitX7dU AWw4K3yqFRZgwS6f8ZCIbvwD7wpTLDDTZCIEqO0JkYivNiwBQaCv0Zk0pGidmqZb0Exl a8/w== X-Gm-Message-State: AOAM531Nyqr0b2qj3P5TTZvtO68DXgrTSuDdF/Tw9u43XRcoCtSPSh+u kdvO8sp0LqWYXNDSxkV4g+6BBYrqNV03MWvp4UY= X-Google-Smtp-Source: ABdhPJwJMxIIbSojcStIh5zpJF8/LXaGtnJCBASC5Pghb+Z5fk3GfuPA4OUSuEnDI7ZUXl/gmDFLig== X-Received: by 2002:ab0:7784:: with SMTP id x4mr39592518uar.143.1639375338996; Sun, 12 Dec 2021 22:02:18 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 92sm3901425uav.9.2021.12.12.22.02.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 01/45] gnu: node: Avoid duplicating build phases. Date: Mon, 13 Dec 2021 01:00:23 -0500 Message-Id: <20211213060107.129223-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Split 'patch-files phase into 'patch-hardcoded-program-references and 'delete-problematic-tests. Adapt 'patch-hardcoded-program-references and 'configure to work unmodified on node-lts, but don't try to share 'delete-problematic-tests, because those details seem to change too much between node versions. (node, node-lts)[inputs]: Use bash-minimal rather than bash. (node-lts)[arguments]: Inherit 'patch-hardcoded-program-references, and 'configure phases from the bootstrap node. Remove the 'patch-files phase, keeping its remaining non-inherited work in a new 'replace-llhttp-sources phase. --- gnu/packages/node.scm | 105 +++++++++++++----------------------------- 1 file changed, 32 insertions(+), 73 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index dccf871d2c..7ebbbc3060 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020, 2021 Pierre Langlois ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,14 +106,22 @@ (define-public node #:test-target "test-ci-js" #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-files + (add-before 'configure 'patch-hardcoded-program-references (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-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") + (substitute* + (let ((common + '("lib/child_process.js" + "lib/internal/v8_prof_polyfill.js" + "test/parallel/test-child-process-spawnsync-shell.js" + "test/parallel/test-stdio-closed.js" + "test/sequential/test-child-process-emfile.js")) + ;; not in bootstap node: + (sigxfsz "test/parallel/test-fs-write-sigxfsz.js")) + (if (file-exists? sigxfsz) + (cons sigxfsz common) + common)) (("'/bin/sh'") (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) @@ -122,7 +131,10 @@ (define-public node "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) + "/bin/env'"))))) + (add-after 'patch-hardcoded-program-references + 'delete-problematic-tests + (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -217,9 +229,13 @@ (define-public node (setenv "CXX" ,(cxx-for-target)) (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python") + (let ((python + (string-append (assoc-ref (or native-inputs inputs) + "python") + "/bin/python"))) + (if (file-exists? python) + python + (string-append python "3"))) "configure" flags)))) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) @@ -256,7 +272,7 @@ (define-public node (variable "NODE_PATH") (files '("lib/node_modules"))))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares) ("http-parser" ,http-parser) @@ -712,66 +728,8 @@ (define-public node-lts libuv "/lib:" zlib "/lib" "'],")))))) - (replace 'configure - ;; Node's configure script is actually a python script, so we can't - ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) native-inputs inputs - #:allow-other-keys) - (let* ((prefix (assoc-ref outputs "out")) - (xflags ,(if (%current-target-system) - `'("--cross-compiling" - ,(string-append - "--dest-cpu=" - (match (%current-target-system) - ((? (cut string-prefix? "arm" <>)) - "arm") - ((? (cut string-prefix? "aarch64" <>)) - "arm64") - ((? (cut string-prefix? "i686" <>)) - "ia32") - ((? (cut string-prefix? "x86_64" <>)) - "x64") - ((? (cut string-prefix? "powerpc64" <>)) - "ppc64") - (_ "unsupported")))) - ''())) - (flags (cons - (string-append "--prefix=" prefix) - (append xflags 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_host" "gcc") - (setenv "CXX_host" "g++") - (setenv "CC" ,(cc-for-target)) - (setenv "CXX" ,(cxx-for-target)) - (setenv "PKG_CONFIG" ,(pkg-config-for-target)) - (apply invoke - (string-append (assoc-ref (or native-inputs inputs) - "python") - "/bin/python3") - "configure" flags)))) - (replace 'patch-files + (replace 'delete-problematic-tests (lambda* (#:key inputs #:allow-other-keys) - ;; Fix hardcoded /bin/sh references. - (substitute* '("lib/child_process.js" - "lib/internal/v8_prof_polyfill.js" - "test/parallel/test-child-process-spawnsync-shell.js" - "test/parallel/test-fs-write-sigxfsz.js" - "test/parallel/test-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") - (("'/bin/sh'") - (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) - - ;; Fix hardcoded /usr/bin/env references. - (substitute* '("test/parallel/test-child-process-default-options.js" - "test/parallel/test-child-process-env.js" - "test/parallel/test-child-process-exec-env.js") - (("'/usr/bin/env'") - (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) - ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file @@ -810,8 +768,9 @@ (define-public node-lts ;; TODO: Regenerate certs instead. (for-each delete-file '("test/parallel/test-tls-passphrase.js" - "test/parallel/test-tls-server-verify.js")) - + "test/parallel/test-tls-server-verify.js")))) + (add-after 'delete-problematic-tests 'replace-llhttp-sources + (lambda* (#:key inputs #:allow-other-keys) ;; Replace pre-generated llhttp sources (let ((llhttp (assoc-ref inputs "llhttp"))) (copy-file (string-append llhttp "/src/llhttp.c") @@ -838,7 +797,7 @@ (define-public node-lts ("python" ,python) ("util-linux" ,util-linux))) (inputs - `(("bash" ,bash) + `(("bash" ,bash-minimal) ("coreutils" ,coreutils) ("c-ares" ,c-ares-for-node) ("icu4c" ,icu4c-67) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:35 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:35 +0000 Received: from localhost ([127.0.0.1]:53682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwePy-0002P3-V5 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:35 -0500 Received: from mail-ua1-f54.google.com ([209.85.222.54]:33305) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mwePx-0002On-BG for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:33 -0500 Received: by mail-ua1-f54.google.com with SMTP id a14so27419950uak.0 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=t5y3hwK9L6+eQR1y3VE4Cmi8oUepPqWpd78oyUMVhug=; b=fIpa4vhwBsppirv3UhnnTnDTrkPHLPwMdAk8smK0mRI+fUqDRVwDUeqe6m6yFtBl3v Y2yGH6f+/eulAZ1Yllvu1p2V7ZFohPeMFQbKzVwaFaLh6M7lV4BQFz14ctrMts0lyKKQ jCXFnXoQfVf64ezpq9e+yzZ5kzNt5BUf3lx0PFW1uD/PtgOe7Ggopgeni5A0QzS13Q5L TYFio4kZCGdeeSyySx7ZWMH48DTe+iiWL2OK9G2W/F6KEbLYSujP0Za3YF0mBQHUenLT Q+d2QMV1zJKCKFZNvHo4PN9/IdZ3IPmOJkaYUBlrpiTm6p1sE8FTXKW8zraKVkquV7qZ r8WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=t5y3hwK9L6+eQR1y3VE4Cmi8oUepPqWpd78oyUMVhug=; b=QTxbMAk93pGULwrUuYESMUr53mYBR0Bib4NBAUkbVjkrZHMiUb87yjmqJ4kdIxvGu9 j59q5npEBzR1dqh7rECP9pH99pYW1jULrM0syBriDWV7Tbc6nUhogTYbiISjtH4Ju+13 wnMbJRUTPmn5vLKNnMltazlycJzIf8xFe/Z+ei/OYadR2y1mZwVr+AfRzI2EVbA+DE/8 YxIB/9ytN3v5WCWwrVJTr+BecOPvfaJkw2ZuQl9xtVX5q1b4JuDH6dwGVOLBLUsh6YHG SpDYphE+RsispiIgIsuesS1ZAAEmGU8qHNQGawfnRcdr6sWkEoqQlzbEyIbelXMwWmMc /Kkg== X-Gm-Message-State: AOAM53244lBqmY/gkGFIdW2z0bLCAgE0twK/p2kXwXxG5CTXDYGNwyez KXGwJv9Q/+4utDmrPtYrkwfl7Q7cXrrL0DYXSWs= X-Google-Smtp-Source: ABdhPJwEadnolf+HIQLIkLa6uX4h1702+NNoTy/brijjc8DNwq7JgUPgCPBE9gSqyFD1ojR/Mg/1eA== X-Received: by 2002:a05:6130:424:: with SMTP id ba36mr39865890uab.1.1639375347832; Sun, 12 Dec 2021 22:02:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r13sm3688336vkl.13.2021.12.12.22.02.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:27 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 02/45] gnu: node: Update to 10.24.1 for bootstrapping. Date: Mon, 13 Dec 2021 01:00:24 -0500 Message-Id: <20211213060107.129223-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node): Update to 10.24.1. --- 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 7ebbbc3060..71b66774a6 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -57,14 +57,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "10.24.0") + (version "10.24.1") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm")) + "032801kg24j04xmf09m0vxzlcz86sv21s24lv9l4cfv08k1c4byp")) (modules '((guix build utils))) (snippet `(begin -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:40 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:40 +0000 Received: from localhost ([127.0.0.1]:53685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQ4-0002PN-65 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:40 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:45927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQ1-0002Ou-CL for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:37 -0500 Received: by mail-ua1-f51.google.com with SMTP id ay21so27247095uab.12 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vNLOSTWhsUvYl4zbQmT0Z6mwdgkAqlBATEO6lq8SgZA=; b=AIjqCNjFjedGguEGy2DVpLiUL9xlRvB9So1RPvSW+nzATkEhun3nRw2PWY1fb8xx6o /wBroCefZ1EpVcN7hkbTgZxCyxxgqipkYRuI8FPr5btdEnyHeDsCjOAyLe1oog5vwmMT YlKYACnNr7+EYzVs5cWN2YTtdp9hsRsw0uONnhTazLMH/rFpcIWOf+tG/PHd+u98iXG/ G7+F9g1eqH+/fOb2sbIxb38viSBkpg9gVRiH0oNsDf0WkDKXtSJlOsNQLn98sXHfGbM4 U/gsm6taIC6U8dknfvUeD6BjL1+4aPf3lXADJyHITpIilCi0OQ0bLlc4xYoX2GbNQTgT gdbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vNLOSTWhsUvYl4zbQmT0Z6mwdgkAqlBATEO6lq8SgZA=; b=V5GQAOaZj9W8Is4ujIZ8fotQIMkvtWW2jashpmjsv0MjZE0HGlK8afLajeQ51+jJkC OdAJvfKjFcf2skCeli5lSm3XY7sfn6zS98nuY9sz2xsUSzotOe7dHO1j/G2qRIwH4Q0R gyqH6jVqrEoZMfRA6I2nY3rZfWeWnvXvG+7OOkKcvRD8CBXovBUoEZBJPf6bbe5TFbKZ 0iLhxGNjletI9odOQBstbpl7JNECXc1JBKk5MSedftK1VkCz8Wwht6Fy4P65ITehXsuH 1kR32sjhtKYjFlHZzrmU0KhrTi3iEsS8nmBxz5UWF8/xuaAyC4+o759gQz7qYu7/D+hR ppoQ== X-Gm-Message-State: AOAM533iKtcv8oof2agKtmmYFOpGZMtG0DuQ6Y/tYuFnknNiJiTOkc9l K6mycMi7//tYlyY8jFmmFWuD/1Y62QOhm40A7SY= X-Google-Smtp-Source: ABdhPJxoOkGgXGSN8HzjeYXZiVyv/RTkGszKCrU/UOMCPsPbjsNwYTlHFlsFS4w+Exl9i92h2iIKJA== X-Received: by 2002:ab0:7041:: with SMTP id v1mr39840971ual.95.1639375351924; Sun, 12 Dec 2021 22:02:31 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o128sm3561495vsc.7.2021.12.12.22.02.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:31 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 03/45] gnu: node: Patch shebangs in node_modules. Date: Mon, 13 Dec 2021 01:00:25 -0500 Message-Id: <20211213060107.129223-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang and 'patch-node-shebang with a new 'patch-nested-shebangs that also handles node-gyp and other shebangs under "/lib/node_modules". [inputs]: Add Python for node-gyp as "python-for-target". (node-lts)[inputs]: Likewise. (libnode)[arguments]: Adjust to delete 'patch-nested-shebangs rather than 'patch-npm-shebang and 'patch-node-shebang. --- gnu/packages/node.scm | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 71b66774a6..a57a74fb81 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -237,21 +237,20 @@ (define-public node python (string-append python "3"))) "configure" flags)))) - (add-after 'patch-shebangs 'patch-npm-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npm (string-append bindir "/npm")) - (target (readlink npm))) - (with-directory-excursion bindir - (patch-shebang target (list bindir)))))) - (add-after 'install 'patch-node-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npx (readlink (string-append bindir "/npx")))) - (with-directory-excursion bindir - (patch-shebang npx (list bindir))))))))) + (add-after 'patch-shebangs 'patch-nested-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((prefix (assoc-ref outputs "out")) + (path (map (lambda (dir) + (string-append dir "/bin")) + (list prefix + (assoc-ref inputs "python-for-target"))))) + (for-each + (lambda (file) + (patch-shebang file path)) + (find-files (string-append prefix "/lib/node_modules") + (lambda (file stat) + (executable-file? file)) + #:stat lstat)))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -274,6 +273,7 @@ (define-public node (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares) ("http-parser" ,http-parser) ("icu4c" ,icu4c) @@ -799,6 +799,7 @@ (define-public node-lts (inputs `(("bash" ,bash-minimal) ("coreutils" ,coreutils) + ("python-for-target" ,python-wrapper) ;; for node-gyp (supports python3) ("c-ares" ,c-ares-for-node) ("icu4c" ,icu4c-67) ("libuv" ,libuv-for-node) @@ -817,5 +818,4 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (delete 'patch-npm-shebang) - (delete 'patch-node-shebang))))))) + (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:44 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:45 +0000 Received: from localhost ([127.0.0.1]:53688 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQ8-0002Pf-LI for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:44 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:35738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQ5-0002PE-GD for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:42 -0500 Received: by mail-ua1-f45.google.com with SMTP id l24so27361166uak.2 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oMJBdwZ4+Xn21yGOr6RykspdCfJ7NdoBqQsI1LH/rLk=; b=WdOp41oMYvsBwTUTW2LNrgHvGiXZBSKg29/mSB5WHhHNB/+6UaXDSpWeFYx9BQJcTs 93lnKEy9iw722yKG5ppWaYS7kpOihMkGatKIV6io6F3vBO7bPmBrqqXlF4907NunBFae jpqPwfKV2vFP4tQ6AIg6WUvCgeIL0nQl/jByEDmkkuSuPnxoRQZepyzklWgIH+fFjGrV cMZKRZtWQSvh/2FYNASQFZlfov5nb57E3hia2+5O4YOfLFshdSOoXYtFs75L9ZwsHpUt Fo56y4i7ZnNQ07N8UcfnSSR4LRdrNp9dnbtJ0g0Cnv+0Mde13mLeFVh/tKPt/ISDhLHO bAAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oMJBdwZ4+Xn21yGOr6RykspdCfJ7NdoBqQsI1LH/rLk=; b=7fUS09Gjm8GtJzywJY4AIEGKnM9CgEhf0MBG3igBGXrXIwjHo0lLt03XHcf7wxlgnd N0zNX58SxlG/1OYnJpWBVPLYFXnDLTTko+aEfvrVf9EgDK3R/KGanM/Vhaq1Sb2ENc5Q z+SsHWVRiW4usNWie8d+Dx8mshoUe2AtcWEBUfmh+Vxp3yO75ouxxIMfELFcQ7kk8Nk1 c4BcaiK8IDQwjJu8j4N4FD5pqeVJMXYeQ1Q4WPwlKSZiDrs9RT8KWJ7gKTzO7bBszOaR ZzuKQO9x6b/B2arb1KBeVVhcDQLCuZlvfqQPqPgEhShWyxIavpjUZ6uh6jHw9NPUQ92v /NIA== X-Gm-Message-State: AOAM532D4uIQ3cAhwGD5/6wMAnacNIyRip65tQKwofnqqx3aDrzNdyK9 lMKCTvpA/HYKCd35xCqdg/NsQWxwWyN08Hgoi58= X-Google-Smtp-Source: ABdhPJwraxH+4DXzcohl/mBEuYq7EBQPUpo2Rj1xBxZxtCjGl5veq6ltZuD+fr1vIUxfQlbKUF5jhw== X-Received: by 2002:a67:1ac1:: with SMTP id a184mr24057470vsa.22.1639375355970; Sun, 12 Dec 2021 22:02:35 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 92sm3759120uar.19.2021.12.12.22.02.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:35 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 04/45] gnu: node: Add an npmrc file to set nodedir. Date: Mon, 13 Dec 2021 01:00:26 -0500 Message-Id: <20211213060107.129223-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node, node-lts)[arguments]: Add a phase 'install-npmrc to create a "built-in" npmrc file that configures "nodedir" to point to the output store path. (libnode)[arguments]: Delete the 'install-npmrc phase. --- gnu/packages/node.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a57a74fb81..346cbd488d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -250,7 +250,24 @@ (define-public node (find-files (string-append prefix "/lib/node_modules") (lambda (file stat) (executable-file? file)) - #:stat lstat)))))))) + #:stat lstat))))) + (add-after 'install 'install-npmrc + ;; Note: programs like node-gyp only receive these values if + ;; they are started via `npm` or `npx`. + ;; See: https://github.com/nodejs/node-gyp#npm-configuration + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (with-output-to-file + ;; Use the config file "primarily for distribution + ;; maintainers" rather than "{prefix}/etc/npmrc", + ;; especially because node-build-system uses --prefix + ;; to install things to their store paths: + (string-append out "/lib/node_modules/npm/npmrc") + (lambda () + ;; Tell npm (mostly node-gyp) where to find our + ;; installed headers so it doesn't try to + ;; download them from the internet: + (format #t "nodedir=~a\n" out))))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -818,4 +835,5 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases + (delete 'install-npmrc) (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:49 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:49 +0000 Received: from localhost ([127.0.0.1]:53691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQC-0002Px-Tp for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:49 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:34612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQ9-0002PO-GR for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:46 -0500 Received: by mail-ua1-f47.google.com with SMTP id n6so27363453uak.1 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=faFcURG4TQlSAGOUnyB6KLqF0ghBt1qh6ARSUssJYZJv93s5KGtplKVfjLFih4sK+Y I+cz1HWPwSUbEf8r2q0FVIHSOdNTzpplvWXqyyCZ6mcZ2zXEvCqSh/0p7ETDcKojHWCI 94AnRww9m/w/ZImpyrNCjIVlmVeakgvSf1mySYt7PHUXNUwd2Qoc0EKf8qYs7uSWxHfV 5K1tkGnM3r9DnFuE/OIU4dg4xN1qZJ17ybW0+PdMT7XvlHZNtNqo47M+lHp69WRAFRvP Obe9bWDIiCor6byjbIJjLkZRCI6hYEgHMNpHIuYWDApDDqnx6e0JS3JHW28Ph8Ko9b/m eweA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=c5OTw80yMsYVAOa87ouUC3nSuy7z335zKCvM+SO53WwyNFIezsbTuKKirQUXgiJF4G RZz0IpyAoDabOqJzS7XjG1H/8DsRFZClB7A8izBu33MVUOQLNvXP1sF7muwFXNT44a9v hVjX0Dp2YLLV7P7ZooQ85uZe5aHRbMOUofLOc2eE4Dwc5mkwJ3fNfFfrcm1ic7qwiZSU BoAl1mZpYo7t8hDPyoV1bPCpefcnICo+A4kFptN4ZkN1WxqSTFftAhTrwIfxhH0BVUL7 0cnr99KHUulrJx/EJAHOvJ+9ak8lGhQzgwI5ZTNI2uv26k740rcVfb3Oc4kDpBOpx7gE vCdA== X-Gm-Message-State: AOAM531QX1pdY+8WNHePl6FInWTGnwZwEx0IJP3yOxC+8g5pVCI9QioR FGdANk2fYyEoHnEPy8dj77I21F8ZlqClnKC3BQ4= X-Google-Smtp-Source: ABdhPJzitM2Gbw7Tf8C7cqQXKV8/u0QsT267thwQQDhtIrB8yWLTrqUU5jdswTZnpyG6J4F8co69zQ== X-Received: by 2002:a67:5fc6:: with SMTP id t189mr24690800vsb.79.1639375360050; Sun, 12 Dec 2021 22:02:40 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id a26sm3819330vko.54.2021.12.12.22.02.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:39 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 05/45] guix: node-build-system: Add delete-lockfiles phase. Date: Mon, 13 Dec 2021 01:00:27 -0500 Message-Id: <20211213060107.129223-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (delete-lockfiles): New function. Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist. Because these files specify both exact dependency versions and integrity hashes, they only cause problems for Guix. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. --- guix/build/node-build-system.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..dcaa719f40 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -96,6 +96,17 @@ (define (resolve-dependencies package-meta meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -146,6 +157,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:02:53 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:02:53 +0000 Received: from localhost ([127.0.0.1]:53694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQH-0002QE-5Y for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:53 -0500 Received: from mail-vk1-f178.google.com ([209.85.221.178]:41765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQD-0002Pe-JB for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:49 -0500 Received: by mail-vk1-f178.google.com with SMTP id 188so9696857vku.8 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HgDhxkred0qxyTO/DMBSW0NymNIb0O6DOenE65nfmIE=; b=BMfcTiQwSy8CAjCEbDDIIDu6WYZP/cbh0QB3hHxjJQoDkfBZlNEu5CawAALNvpVV/c R7N750ZKm282Uk3HjfBay/huDLTEV+n8+oGXzzbISGuWvXKFtSZasfVx7SUzfIS2gVpI RTYUTfYYLKdAq0DiM9/4DQS6AuoHgM29/UP+9ELx3kQTszfqow2m+GvCDOTdv/OA/O2g f5ojJ+yeriFvX7esi3R1LR+R+A1DByCP4n0aXLxY734w4ZuOJYbYM/6K6vv7K2b/ISGp 8o7YGxG7Reflf+WWXnuBT7FTCWhitxqRJNwQ/4fD5kEoFlrAD/9Jx3yOtDgW7XrKda5H MWaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HgDhxkred0qxyTO/DMBSW0NymNIb0O6DOenE65nfmIE=; b=pwLYiOhdTZZhIf099U05C/bt/AhW7JHGoC5+HZ/Fl9JE2ySFCp1Gm/zJnJZQgBxKnY OZPcWYNt0EpIw4pfIE3wcHoWht6CTHXWHnUyQv+CZ52RiixRixoxF9BrWMRbnZG/4ee8 LbARzCoCoFDLHZQMZMjljlKnmpJ/Jb+grmi5MCU+CCSIc7dSIuwdgSKVpKcbyIk+7051 3Bp1tD65RQPQ9CRDVtosiJ248G1BhmTWyA/pofavJxihdNGszidvvgYS6vJCXDYU0rni oC6K1zYJJFymRcqRFeSCkVsC+U60LS0+vZmKHgHk67ZtkabzbxKeYUUuz6EQfg/BhD2g 4lYQ== X-Gm-Message-State: AOAM5317sbDVM4mYBEEiE7x+UZNEhneLPbcEzUW1faUud+A8N8jmC0Wb c9IdpjzVW4GwpLEmYfUxOn1dt5CLyGnLbcWT+/c= X-Google-Smtp-Source: ABdhPJzyrfU43zsbzNMpoz7yiYuZXVX1G2n4WuGhlqUOvlPYpxFcqa+6V8PgWqn5N0P/7QKA5yEf/A== X-Received: by 2002:a1f:3f4f:: with SMTP id m76mr30825007vka.1.1639375364018; Sun, 12 Dec 2021 22:02:44 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r13sm3688391vkl.13.2021.12.12.22.02.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:43 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 06/45] guix: node-build-system: Refactor patch-dependencies phase. Date: Mon, 13 Dec 2021 01:00:28 -0500 Message-Id: <20211213060107.129223-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (patch-dependencies): Strictly follow the linearity rules for `assoc-set!` and friends. Clarify the types of the arguments to and return value from the internal helper function `resolve-dependencies`. --- guix/build/node-build-system.scm | 53 ++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index dcaa719f40..b74e593838 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -73,26 +73,45 @@ (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) '()))) + (define (resolve-dependencies meta-alist meta-key) + ;; Given: + ;; - The alist from "package.json", with the '@ unwrapped + ;; - A string key, like "dependencies" + ;; Returns: an alist (without a wrapping '@) like the entry in + ;; meta-alist for meta-key, but with dependencies supplied + ;; by Guix packages mapped to the absolute store paths to use. + (match (assoc-ref meta-alist meta-key) + (#f + '()) + (('@ . orig-deps) + (fold (match-lambda* + (((key . value) acc) + (acons key (hash-ref index key value) acc))) + '() + orig-deps)))) (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"))) + ;; It is unsafe to rely on 'assoc-set!' to update an + ;; existing assosciation list variable: + ;; see 'info "(guile)Adding or Setting Alist Entries"'. + (let* ((package-meta (read-json in)) + (alist (match package-meta + ((@ . alist) alist))) + (alist + (assoc-set! + alist "dependencies" + (append + '(@) + (resolve-dependencies alist "dependencies") + (resolve-dependencies alist "peerDependencies")))) + (alist + (assoc-set! + alist "devDependencies" + (append + '(@) + (resolve-dependencies alist "devDependencies")))) + (package-meta (cons '@ alist))) (write-json package-meta out)))) #t) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:00 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:00 +0000 Received: from localhost ([127.0.0.1]:53698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQN-0002Qc-GU for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:00 -0500 Received: from mail-vk1-f178.google.com ([209.85.221.178]:38692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQL-0002QC-GM for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:57 -0500 Received: by mail-vk1-f178.google.com with SMTP id s17so9713911vka.5 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1f8aPPdjsmYmcQIaUGLxzt8qhco5oJFUuLRzHQ2b+70=; b=dsIRVfcrqk/nOsY5Rp+Rvaaw9fOn/cd7HGo4CkeGIKuG5EmpI1F1crYU9miWN0ECpa gLF1vSTxPp6VIwnueWz2xbl3y2CtmJFWM+deshjTgGP5gzLcgAcyV56S9Df+5KzosgeB 8+DvGjlOJCoDXH7iEWYZJQ6YLHXzNToC+e09WIHViPB4nTeOES6auVL/KEU25xvz53G6 8KaK5gAZ07urL/Pq0t5mWTeH+T0QyUKzv/Kxn4moBCTLVNiSNw1X90JDWSPc4Q8+u67a fj5JWk/ERR8yYMjtiUFhcook7AXIlhcXwBEAuVWOki44eQP5U5kFOB7oL0LEihJ+mp8Q BzLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1f8aPPdjsmYmcQIaUGLxzt8qhco5oJFUuLRzHQ2b+70=; b=6IIHQ+HodhsMqMzDvuanCmO5Lr9dQf1YTIy6QCLi8FSL2dUZbTHvo0gq9c68ntcyL0 eqPmloyaA3eAavf82TfJoRtKu243ynK0kTtuASMTkVXxbPiGAZ5m13eG4WHVori4rK3L Sjk46ykJv96D8jQJczz/Hz7S2bDGsZsqmbXZxkKFxxlY2eZmUOR6A/vDPypDXlyTS9l0 y1CVmp1EBqNVj4wQ6It6Gc5TQ8b+qyUcwhM6xc8YIgL5YEJ9ntiamWXkCJSs3AhFzk0V 1pQW41LxTsfT1CTMuz84MFEqoePIvqWV+wTdjvmTlnHpVHgKl+Vy+tFnNQM+84wTp4EO WJKg== X-Gm-Message-State: AOAM531pIyhCSc585+/nRc6JYMiTGUDWp/0Y9oVDKv2X19hyLuzSGuH6 vcBDpPsUgjgI7EuUNuV38QijnvmwaKKFOCAIYqI= X-Google-Smtp-Source: ABdhPJzwpQAoKCIsJMxx3Ib7J30FJhdAuzli6XiLd6R45/ftqtt0mgmLdXNrSv7tayTJH49I68wHzw== X-Received: by 2002:a05:6122:7d4:: with SMTP id l20mr30994894vkr.26.1639375372086; Sun, 12 Dec 2021 22:02:52 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x142sm3661885vsx.15.2021.12.12.22.02.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:51 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 08/45] gnu: node-semver-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:30 -0500 Message-Id: <20211213060107.129223-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 346cbd488d..0c33c6906e 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -333,9 +333,8 @@ (define-public node-semver-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:00 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:00 +0000 Received: from localhost ([127.0.0.1]:53700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQO-0002Qf-3D for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:00 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:34626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQH-0002Pw-HR for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:02:58 -0500 Received: by mail-ua1-f47.google.com with SMTP id n6so27363793uak.1 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:02:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1mbu81k4yDaew4+7r6xEYK266/gywq2rhdqVXPIlqZ4=; b=gDzar9Ez1n4TvxsuJX3nqDCWc5jD3ZfosenEnhWTlHhqHwHWOuV4ek3Z51TKn5/gBn MrPUO7mkWbsJIVaZnxhSsxrjXNUtOtWY4n7G1sLUc4eBANkvV04ovnexuUKhoF79lJRd 0a3neIa4T1m07Gq1mBSAydXUnRWqZHg1g3fHdWJPcpyfdhWlSmqjlPgO9J7uDlml/3iW o1AkZMZrrfJrxKPXv+BAAPvn7RoUGnD83Jy9+8/SdkVEkzaG5cWZ1nTa9e+j+oYXZXBQ 7sFYYKgkGqalXt4c93SpKleiI4xTStO5MgBIYoKiTkb/BzDh2YFXejeBOum6fZJTUTFg Gimw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1mbu81k4yDaew4+7r6xEYK266/gywq2rhdqVXPIlqZ4=; b=nR1DcgGxtK89p56R8iyryPVtFBO0CCgxe64QNvU8bB5MaanBe1TTAOTwCLNKaSfyKT 9zIL0p7/pAy+fScES4YH+1bgqiSnRzqDPUVMT1fauQEVl5lLJJPXA9CJtr3S0ely4KRx BG6gX24iXiKelvnjRQPuj2Ztzf5VwUsZd0Xh4F5OepNO/2t5l0OdqibgeSj3KGGxhV5O TvEtDPSru6anxkBMW6i9rJvqOLJki3zqxggHbanD4azmlt0ZLTu98yEysVbLRX2UIM8F JAeDX6UzkbMGaYQjAWscsb/vjdYNv8OYs6/ISJCe8hEBRD2nzw66cu32JYUsgi05C5ZQ ufCA== X-Gm-Message-State: AOAM530mYjfxdED4AtB32sqxctwEBdcHLzXMZBYK4OT4AGF2LgCLBQ9j 2iJnc7yU/09lYvDGcd8ummTUyk+WL1YWcpwWMrg= X-Google-Smtp-Source: ABdhPJzYfFYbFw7gfrdHfGco6lII2f9UlTutL13mTwPG5rDHsTd4twhhYARkFEzSWGanXFASgLvAHw== X-Received: by 2002:a67:6187:: with SMTP id v129mr25741160vsb.68.1639375368066; Sun, 12 Dec 2021 22:02:48 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bj50sm3721776vkb.7.2021.12.12.22.02.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:47 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 07/45] guix: node-build-system: Add #:absent-dependencies argument. Date: Mon, 13 Dec 2021 01:00:29 -0500 Message-Id: <20211213060107.129223-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower, node-build): Add optional argument #:absent-dependencies with default of ''(). Pass it on to the build-side code. * guix/build/node-build-system.scm (patch-dependencies): Respect the #:absent-dependencies argument, removing specified npm packages from the "dependencies" or "devDependencies" tables in "package.json". --- guix/build-system/node.scm | 19 ++++++++++++++++++- guix/build/node-build-system.scm | 7 +++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 98f63f87ef..4f437f9c0d 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -44,6 +44,7 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (absent-dependencies ''()) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -73,6 +74,7 @@ (define* (node-build store name inputs (tests? #t) (phases '(@ (guix build node-build-system) %standard-phases)) + (absent-dependencies ''()) (outputs '("out")) (search-paths '()) (system (%current-system)) @@ -80,7 +82,21 @@ (define* (node-build store name inputs (imported-modules %node-build-system-modules) (modules '((guix build node-build-system) (guix build utils)))) - "Build SOURCE using NODE and INPUTS." + "Build SOURCE using NODE and INPUTS. + +The builder will remove Node.js packages listed in ABSENT-DEPENCENCIES from +the 'package.json' file's 'dependencies' and 'devDependencies' tables. This +mechanism can be used both avoid dependencies we don't want (e.g. optional +features that would increase closure size) and to work around dependencies +that haven't been packaged for Guix yet (e.g. test utilities)." + ;; Before #:absent-dependencies existed, this scenario was often handled by + ;; deleting the 'configure phase. Using #:absent-dependencies, instead, + ;; retains the check that no dependencies are silently missing and other + ;; actions performed by 'npm install', such as building native + ;; addons. Having an explicit list of absent dependencies in the package + ;; definition should also facilitate future maintenence: for example, if we + ;; add a package for a test framework, it should be easy to find all the + ;; other packages that use it and enable their tests. (define builder `(begin (use-modules ,@modules) @@ -94,6 +110,7 @@ (define builder #:test-target ,test-target #:tests? ,tests? #:phases ,phases + #:absent-dependencies ,absent-dependencies #:outputs %outputs #:search-paths ',(map search-path-specification->sexp search-paths) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index b74e593838..892104b6d2 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -69,7 +69,8 @@ (define (list-modules directory) input-paths) index)) -(define* (patch-dependencies #:key inputs #:allow-other-keys) +(define* (patch-dependencies #:key inputs absent-dependencies + #:allow-other-keys) (define index (index-modules (map cdr inputs))) @@ -86,7 +87,9 @@ (define (resolve-dependencies meta-alist meta-key) (('@ . orig-deps) (fold (match-lambda* (((key . value) acc) - (acons key (hash-ref index key value) acc))) + (if (member key absent-dependencies) + acc + (acons key (hash-ref index key value) acc)))) '() orig-deps)))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:08 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:08 +0000 Received: from localhost ([127.0.0.1]:53713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQW-0002SU-FM for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:08 -0500 Received: from mail-vk1-f172.google.com ([209.85.221.172]:39767) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQP-0002QO-MT for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:01 -0500 Received: by mail-vk1-f172.google.com with SMTP id 84so9691844vkc.6 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yhICGqTTw+Y+wRTHopl2MiRNk4Dxx5M8+snFSYgx/ik=; b=OhKszhti6b7u+ZLjubz+vdkrISjJ1rkFwEYVKTcJb4Xn2BV+NIzImaI6pHzUbN0vX2 Od5aUwlREW5JSwncdLU2qP+aWMmxfSd+4XD1tZzVm3pNKkX4HgXak6X6DYMESmTbjuPr 7mR55BYx3hTeScSlvEhJn3tfe0Ga1uYqQ/LqBz1p/dQG10UtR3mGrisLCgNFeIdoXVNY /MycGzawwwexXjv1Lrwy8XuRcvdxqRbkNxVruqBIpCE92DscGXa/vgaj2xv51YJ2KKpv 9smWTG8gLJJQ7zz5zNd3sX5BDHO1Vgd6FTfNVYZcvX1zHuUhZEcNgJ12e2uBhawO64qU t2Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yhICGqTTw+Y+wRTHopl2MiRNk4Dxx5M8+snFSYgx/ik=; b=3Ek5BLFXU6hiXfeacAxP3ZoYBkUAobA5gTQTa1Uw8dAxkkNemttfS5A0uaD66XR3YP cP+p4Ake+DQh3G3lGCf2g4qFxyAVgriGqX/2VhD1Le546oHR6UyhaH1aO4dYdhLvdLiM 7Tgohy1asvds/TGO3TxV6B8dPzxoxSwuYV89CGjvaB+XXJCQs743Y8fKMWrOjTIWVzuo QyAHOXuSFUhbxPpz7zbSux2MNWdKg4NrSTThAu27Oy+cpmU1hEIrXaIaLiQXIlkz9Wz7 GTTSPrTibIHrPHO0wnzAsHG9ip3F3ErewPXxBqe90Ur/J7niNhzIlD/VJdF4FSutQNtw EOQA== X-Gm-Message-State: AOAM533+XIjq6zZJl3CPTfC/jTZXc8QE+uhctapO6nJxS/xL2QLbvEnA ygfRhteE53hoz/cv2Fyuh+wz+rxIGWeW0x51gjo= X-Google-Smtp-Source: ABdhPJwNomHoBfp1uw/7q+hzLookxG+80NkU5gqwowebI11UGrUUM7xl0FiCh8vS0qHOGgN3kg8MbA== X-Received: by 2002:a1f:450a:: with SMTP id s10mr30069192vka.29.1639375376150; Sun, 12 Dec 2021 22:02:56 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f188sm3632394vsc.16.2021.12.12.22.02.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:02:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 09/45] gnu: node-ms-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:31 -0500 Message-Id: <20211213060107.129223-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0c33c6906e..f2dfa1476b 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -361,9 +361,12 @@ (define-public node-ms-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:09 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:09 +0000 Received: from localhost ([127.0.0.1]:53715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQW-0002SX-OV for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:09 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:46629) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQT-0002Qq-L2 for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:06 -0500 Received: by mail-ua1-f41.google.com with SMTP id 30so27277679uag.13 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/MrWqKoFSLDTMazBvKhwa1p7KphQcIOcNbJiJkAVEc8=; b=DWo2CKmXUGcbKTI6GPkFn6inVRdJvkFKIrt32zSEM4JGX2NTisPF74jpCVSMEOjknS RKWMJSnOvAnSPccUiexGK9MLKUhZYf6IVDeUrVeQfXVFqmOxuODtlaWlnLuYCWP5Yk3Q cvIZr0PGMtf2emNVwZjdIko4W9upoP6NEUKVZuzCbAaTeof5tT7PqDP7huB9K8kQezpN 6OhFKzpEbFFAFGTofnOyT0YnmiRTNIo7UsCnDFa9ShafCZfA/u5wODUQ+cdJd4Fz5oM9 9cDkM4GEyH1fv1o/ZSHSO5ZZBZNin4RdlBsEwdTwfA88auLRrUXUTi8lERYDiAA2ZS4U 9uIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/MrWqKoFSLDTMazBvKhwa1p7KphQcIOcNbJiJkAVEc8=; b=x0blkxXRFp/GvDYIVsbzr6g0frb+kVMPdOjNhdLIkv8UXT+MDt2rs+FLUdO3teOdrm eGiW6EMRRvHTNcvsgyKVHYlf3pVkBDXSk+ChD3d1opk50kJQDoQgO1JlwT8i9T/cVd/B T3vUd4QhkHaxiVfsFz5WScRy9dE9QF7E86dYOE2J07fnS5Y5ifxsGnAsN8/ptDWQaMfb EzctJqLyfV0BSImsEanf/Dxa0zMIKkDl2xsaXLnnqfHRxuKLuvxFP7vQsYNhgpJdrWAE wHubO7mIAt0pkop4JsS/4nHxZ0kYGPgFgJmDHziRbiCnlQu9PHn3lVpMUaz0hGaqqNJw Wi0g== X-Gm-Message-State: AOAM533yG841sNJoeSRloSrMEG4xZQkHbf7xvSmq9oajeVlA5R2G2jSt mz8JrTRw0QARZIZBe5utoOHsU1wPzY/gDl4JER4= X-Google-Smtp-Source: ABdhPJxCRWYADXMAp/PAxhItOMzBChAQDsdys4dcpwDApT1lNjMYZFPE9Kby3H1Wc/pEn6hGNGwvFA== X-Received: by 2002:ab0:3d85:: with SMTP id l5mr40661808uac.55.1639375380185; Sun, 12 Dec 2021 22:03:00 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id h22sm4675606vsu.0.2021.12.12.22.02.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:00 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 10/45] gnu: node-binary-search-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:32 -0500 Message-Id: <20211213060107.129223-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index f2dfa1476b..b9f6e181b6 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -392,9 +392,9 @@ (define-public node-binary-search-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("chai" + "mocha"))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:16 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:16 +0000 Received: from localhost ([127.0.0.1]:53719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQe-0002TA-1X for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:16 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:33376) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQX-0002Rv-M7 for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:09 -0500 Received: by mail-ua1-f53.google.com with SMTP id a14so27421810uak.0 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WM0EsvCBO3UU28HkqzXuK59SRN4irpKqdF4+dGSBnvo=; b=koH8GzFUQjZm8/K9rMIPFBapJQdp9E3AGS3aCe/j+BQwnOWiWng0XNGuLEnTUNpMmE zYHC4ALe327g743nOepNBJGoaysQLSH9l+15YlJ0AD2gdF2hL4wfhRoptk4lbdn76dBK /ZLNWvsGXfimjZCtkuWapnYGDePGKnvXLjRxJLJi+4moBY+Rp4HCV4/7rjTb/eHhsl0W R8NKEJb8baU8/nd0iykBgzKhPmWsAEdqwazwGzB0mLLtNjZPcjvRx+eJnoPDZOdqtEbp 6Y4NfzmuK1kwBQ/XiUtmgoY/HDo6GuDgCW/knT2yfo9xB1MIVsZCi5KVSnaURsPejzLp AgzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WM0EsvCBO3UU28HkqzXuK59SRN4irpKqdF4+dGSBnvo=; b=u6wL2n3xItDwlMiq3togFHfWC16hJ8HgskhZCQ8JNlmG7eIhJXl0YP9/NmdygkIuwb E1KHSPu4iqt2Ot86gm1em6CCQWBvfo/KyYBzKdnXF3TjMyfKfmgMmm8deQ3WECYwuBBs +nyHzErhvrr+monfuLzpchnJ8/2mfrzXzzmj6imWxcgHusR8T3uUvBXB7GwaaFRfed0Q XY/gBHkLM2wmQTP6wWUXw3HQElI1lfQ4pghEDgdLUGyML3kJ7VH+8LYC+I1jRZwCVywO ubT57zanTeFJIjFQ+WsEkxVj02j6OoyBUUnEnUNEe3tNsyP7cnqgF3y0rY/4z5fchrhR WRUQ== X-Gm-Message-State: AOAM530rURlc2G9cSLJ/j/K5fLJTlgrkWkdXiCHpfaSNGkAyYEI4kcX6 s25N5lRYQyox3EgWZQm4pm1s0HqqSNHmC1g4/Fg= X-Google-Smtp-Source: ABdhPJw7ixMCvXXHfuflyt63PPiVmldstUyjq9gf2Dp9X/87eAXL/gz4M2YpEuRJG9YHgrqLhwAhDA== X-Received: by 2002:ab0:6905:: with SMTP id b5mr39585214uas.43.1639375384258; Sun, 12 Dec 2021 22:03:04 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y7sm3849776uac.3.2021.12.12.22.03.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 11/45] gnu: node-debug-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:33 -0500 Message-Id: <20211213060107.129223-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index b9f6e181b6..b605442f64 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -419,9 +419,18 @@ (define-public node-debug-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))) (inputs `(("node-ms" ,node-ms-bootstrap))) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:16 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:16 +0000 Received: from localhost ([127.0.0.1]:53721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQe-0002TD-By for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:16 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:43576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQb-0002SV-OD for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:14 -0500 Received: by mail-ua1-f51.google.com with SMTP id n9so8330410uaq.10 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LyVwJpwISXXW6rVC4F8JBijLrOiqq7StVdltVt6nMho=; b=Gh+hiH4Eb+jX8J57v7Sou81RrrzfzLfiA+JfGkRCa0Wag2BXGv8/qVG0C8rPHANJUX nGDN8q7qXxSduTJQ9Z5x0jwEkgDOwyTicNhQEprGp4ahw5+DufcpTPuBtDmHs+AO2fmA B4jHL6Wb5pvWhi82WpOn1BoOwBmRHxrW7ryRQiXzmEw/J/LwJ6OXecexFa4nOQofZNjr IyV8AdLNVoJWu0eZiZGtLoHrnh5ODYCG+7fLIyk24X14X+oMP5P12nujHuoJ9NYPqACz xv8lKTMN725xZW5r+7viaTcNu2wh8l4QUBfFBVHpvL7S3u0s6QneY6CURjH9OxxIEPyw lHtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LyVwJpwISXXW6rVC4F8JBijLrOiqq7StVdltVt6nMho=; b=uBaOtxvCJ5KEP9VgpaLWiyR5OjahhJdF7wUyAnzmsP7/xLf7j1MtV0e5hEtlKcCU+2 ZkqQO0oQtcNIZ6pNcHLVI5L8GZDFYVSMsUfq1xVd5msLhTJscDcdy29uaqSoCPmCz1Z0 33oRLahbglDrVbU32YIV0Y4VorS4HcasvDz+yuw2iWYraimIAKmJC6t3/+x3g8qD95mV tpzbIP+3iRjI0qgHItLR84jY3Kx2rjyeuk5kBqHWkxxn/KJLtdXVk/2EIjzYlbVzx3nf yFnp9WUAawjdOedkGBgVp6YK7sX6gKLwTIB+/4f0GaJN+1EQhUgCsyOyZDuv4QVq8F5M Q43A== X-Gm-Message-State: AOAM530nykXnIqqBcjmDnyVG23cN7Ouzuhq6ewHek/+mf1Bi/qrYbWOS HngrVQL99QWdoquX2yH75JNDUGaK7UdHvab7WsA= X-Google-Smtp-Source: ABdhPJx2Xuo9Ce/V5oduJUs9wtOOUQyR5YWS+vucNH/xdXwXz9YDEiUXJFnSN1/P/rsdl01gP5ol5A== X-Received: by 2002:a67:2f10:: with SMTP id v16mr26927741vsv.82.1639375388314; Sun, 12 Dec 2021 22:03:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id e7sm3725170vkn.20.2021.12.12.22.03.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 12/45] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:34 -0500 Message-Id: <20211213060107.129223-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index b605442f64..2dddea8239 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -482,9 +482,15 @@ (define-public node-llparse-builder-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:23 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:24 +0000 Received: from localhost ([127.0.0.1]:53725 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQl-0002Th-Lm for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:23 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:35809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQf-0002T1-R0 for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:18 -0500 Received: by mail-ua1-f47.google.com with SMTP id l24so27363025uak.2 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A836ZUa7L7rkz7iFou6IjCkeZSvUHbDC/2w5O9gXTjE=; b=R/db6ostz3dbxrMFkso7QAdhyBhYFmY3Y5EVW3zhbgbjc+I8PAdpCS9tvk9vjvGiJ4 JKu4gJUVvKYZsXfwMOGCVHJRC1Jnh3MVdpRZW3n0uksDpzv4L4/XASS0sIdq4tcts1Kj 89OKSZ22F7ILqnP5V15zAogCq5h4EdpgReOV5T+vteCWd5xfWlH/wNo8y7SIJgz0HJXQ SEvwAMe4r4OTl06o45E04/wEa6sRXit2kv+iVLTtFefh2T6J1KrHLkxS3ox4CLJUQs4p k4mfWAwUApcJd+5xsFt3FEZBax6dF8kYJ4s6mlfFp/GXuuyjgPLU6HaZR8RMmPffq+wK dq8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A836ZUa7L7rkz7iFou6IjCkeZSvUHbDC/2w5O9gXTjE=; b=7lmB4jDnIOXD/xwHCVj3FSF5qu5nj6NUMuMpUcLeH2iRZc2dCcBGFO2P6CkysDjprL /zKGLxJBp5vH64m6dwm1WRLdzNC6zqmtk7UphdNk2DHon2d3e3tlmpTTGwicQ6wVx5wp dMIL5H5OVxV7D0tcoLjjDsVUy/COVOkiszw2rnSn+DaX52FoVNmArSwd8NukXd6HK5Hz kiEJT7CyMqQPrfReuQq2e+Pbt64GTyTflHYrsieIqNa+SwTcUZs3Alxdbw8dD/mDQQcx U4HcDRKCmyhk86+DwGxqs0J1baHo2ibMatb1VWajH5kpMg84rvEM60t7iqY7b8IzptLE Bb5A== X-Gm-Message-State: AOAM530XhB/y0gJCtSXEH6MR5zZjnXGUymfSn3k/y806jovsaS2NNbSW Ipshv3gnvvrNwYFtXg5MqRm5Ykh58Ndf5XIg5p4= X-Google-Smtp-Source: ABdhPJxzM5OGcuF1RbIrUNrL7//OofiIag0JoBCVfCKR29pl3g3m/RGKsRZL64JC1ElcjC6Xmh6QlQ== X-Received: by 2002:a67:6ac5:: with SMTP id f188mr24853690vsc.61.1639375392420; Sun, 12 Dec 2021 22:03:12 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i56sm3741647vkr.25.2021.12.12.22.03.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 13/45] gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:35 -0500 Message-Id: <20211213060107.129223-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2dddea8239..c429495955 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -544,9 +544,16 @@ (define-public node-llparse-frontend-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:25 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:25 +0000 Received: from localhost ([127.0.0.1]:53727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQm-0002Tk-Vm for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:25 -0500 Received: from mail-vk1-f182.google.com ([209.85.221.182]:38712) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQk-0002TP-0p for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:22 -0500 Received: by mail-vk1-f182.google.com with SMTP id s17so9714327vka.5 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sp5DRCNwcn7OO7zmtYhhnOaCtTnS5EzyIUQWK+DL8wY=; b=j0jXIRbePtPHnA376bVpR3OlTInE4ICSU93eNEoZ6zHvwund5eog5Q9XU4dtdxRGrH 8JsRHMzsjWeF7NBSu3EImEwlhU3RPvbqt0y5bhszUoCuSOiWfLNc0WM9+/wa74cqzSJA kDqLLnSUQRPq3Mzqdbrm+E7p4ifz2GuhWpvJzwYLtKFcMOfZFE/X0MrBANIeWje0fLIl m0SJd7RkODXc2cdaSQ7jMaJNWiH31WpfjVWsIA1LWdtmSp3SkhYEb6TE1SGAWQx01sDw BhB1zguUiCWOkItYnsbB+p+wg560dpyqCUTCuG04EJ6DH723UviljptslnIF1u3sf0Iv 2OnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sp5DRCNwcn7OO7zmtYhhnOaCtTnS5EzyIUQWK+DL8wY=; b=dU7MnqTO53qjpE/TqCxtKbnLJFBGut4KchdBemBnepG82tgUzdI14WcX490a2uHF8d 6B63lDWyi4s10PiJ8poHOXs4bq/RtPnZ/Jnin+nONT7i1KyN75AydcHql6Si79htdttk hFaEApZ7v4R2ZmUO7baJtdVwAfPHrudrxRW8XnAVVCmEDm2HUHWLubWtRQvDANZZgYNp tz07u6hfbtYbwtQQpPsks3OhkOQouLaLDqLH/kFy9k2hy9x+5xW39LjF5fn5XVq9qBLJ O7ySSN85BN3zXNlcuaACj4eHFqaibtuyPy2am/cpa1lpeNvUyyPEROwkwWANKzv7+49V evUQ== X-Gm-Message-State: AOAM5335V3pp133Y6A5bip+LcmkD8MCeyMI8u6G+i1uX2RpuBg3lD/aQ DwuxJgUWiT1fq1XuBNQ7fTtX/uyZIH7O+GlaKr8= X-Google-Smtp-Source: ABdhPJzn69PmHrlPmigzNDEbUTII9VEA+vak9zAXLnp2ofGXwQGFiJwo2CacPXQQylOAJPu9p6Rt0A== X-Received: by 2002:a1f:fcc6:: with SMTP id a189mr29731493vki.31.1639375396566; Sun, 12 Dec 2021 22:03:16 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w17sm3980316uar.18.2021.12.12.22.03.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:16 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 14/45] gnu: node-llparse-bootstrap: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:36 -0500 Message-Id: <20211213060107.129223-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index c429495955..2baa382cd9 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -606,9 +606,18 @@ (define-public node-llparse-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (string-append (assoc-ref inputs "esbuild") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:31 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:31 +0000 Received: from localhost ([127.0.0.1]:53731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQt-0002UH-A8 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:31 -0500 Received: from mail-ua1-f42.google.com ([209.85.222.42]:41860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQo-0002TZ-8I for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:26 -0500 Received: by mail-ua1-f42.google.com with SMTP id p37so27295667uae.8 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mbCEzsxFXNzbUn/m9lxyQ344wUbhcRY3RF9r5hsXjyM=; b=KtFzKVRrhIDo/2rQQUC37S71gla8DhEK4nk8f50b0D3Ylke+7DeRyp1I3ImdNwyHC3 W6jaYJUCgofSlcrlG04xN9WDx7rH4nCd8jMX410xBteRK6O8r47+i6b7KaDxWXIgKp7h jdQd3YhRKzGJMhbPgy29t5yQJBlkc6G45IQXx1rbdmPCG428IFUtcIObeNAEDnvF9u4p KFOb+UEFqlWKPn3nN/F2H+qI8RyKYIeAPIAHRW99zjWCqLwV6NB15WD/qdJ2vs8tpiZo gk7TxZCveO5rqmJm5KFwvT3+mFzPwwhgmDuXWWvQX8wfcfGG4DPNV/5Ln2AH4DM5LZSP 1HXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mbCEzsxFXNzbUn/m9lxyQ344wUbhcRY3RF9r5hsXjyM=; b=VsRIgcrKbwosFXF/qgA0unm1e7QH9+8ZXxnz0yLajeGkodyTjVm8ovbZf3PGqSCAsh v4Xhf4MDmxVggznlc/PP/7UnlErMPqz8JWcbC9aOJZWYhkSMQ3PXekuNgVgQA24XEO44 FZy/lRxwzu98SPI/lSz2p9/WIn5TZuaTZL7iWXTEEvGGeV19raDFFcasKwY5ML8pzlRy XgDAhtu9yQkVBs1TUducaOJeLUQGky0MTpJbnPguaevz3hNIchS6ACPaACbMnsBaj7no jevs1cTS8Il+58hAczEeR7/tQ47FHNZuJMkQ4SPsmj1r4mvI0eT+2pvWAXmf0UNTcauo G/xw== X-Gm-Message-State: AOAM53095ad2DxcTqbzHjFWphScNzR2kutSwUoV7qUDOIKvKRxUmeE8H ZZ4rT2lSgQZrB2fehcKD6Yayebg4No6UKZCHqKM= X-Google-Smtp-Source: ABdhPJx/KZGwZnQ1RaVBBv51yOeG8rrJGR5qoJUyUiqpd67242KrB4iBWdUgHR0LWqmsGcNVt+VLlA== X-Received: by 2002:a67:33d1:: with SMTP id z200mr26296604vsz.1.1639375400769; Sun, 12 Dec 2021 22:03:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s2sm4065519uap.7.2021.12.12.22.03.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:20 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 15/45] gnu: node-semver: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:37 -0500 Message-Id: <20211213060107.129223-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 98c611f227..93a033d33e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -289,11 +289,10 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#: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)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:31 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:31 +0000 Received: from localhost ([127.0.0.1]:53733 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQt-0002UJ-H9 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:31 -0500 Received: from mail-ua1-f42.google.com ([209.85.222.42]:38745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQs-0002Tu-7u for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:30 -0500 Received: by mail-ua1-f42.google.com with SMTP id w23so27321886uao.5 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rrgarsOG5qrDPqpcA3pfUfNYrtqtmYBYYCZ4jb/3Z+8=; b=jgS73BPwppUDuRmkOoxDIV3Clui/m93xjXKA+0UB1u0fh5mzj+KYKsXSORKsfDmXCg a6WWeZwLlcDFYNPdrQ3cbruqaTognOu4ztwJJIAi2quPx8/xpJcf6unH7fu5YvizVt4Y n7zVjLr3DSFSLq6m0mrAN+3ta0uhnGfVUwJ4P+W8nUmv5iGKEUX8NKEKd/WK44nrKRFN RvzyvBhjC28NSmhlwMWd7hAe5cZm/BtTa1fRGbjii/RoqXQWl+BnMq+t9DdXFaKyq2HB L5xB4uGoS845RyzWd6x+/LIFIuskSsiUIpfG2ieFUBOaaHFbk2NT0ut7cBKOCDXn+wsN VYwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rrgarsOG5qrDPqpcA3pfUfNYrtqtmYBYYCZ4jb/3Z+8=; b=TrQ04Rf20xFBZuA8jE6JX0XQWFYS5BzezEmyJa+V239V8Y4uLr8BRIY7v5jzCZDKLG 0s7qjhadkkOaKlhSmrc98HbAA8w3O4XHHMZPWx3ZcB/4cy4AbHdqzo+cJdQCnREB2zdl liMHXyKLzqvAIvi4xeuHld8vNeBxLO/Jl89McwxloYkFV0xWrisgb8i4uDSUq+kkF5Y0 j8lblIUBGeLH0ZfURctWdh6c89u7PJMQyaJQ/qQGsj4YWDO+hb0Erq5UBho+fKEptRmE tYIaYlzyIQ7rKvrSddhh8pdBF196OiVDAToRUL/3+LCHnLG5eX1FV3cR7uUHvvwwZgxy kR0Q== X-Gm-Message-State: AOAM532RGDUJx9E0vVlw+0eUH35VM/A1jplKf9mQTb+rKvRTj7JdIG07 kNEABvfzVKAh/q6KkK7zsHoHTV93AH2XIZf2FmE= X-Google-Smtp-Source: ABdhPJwVH0/GpMYeMYrEAm01klUzuJHHsaSLS5MpJEtRR4ApFm7Adltyf28HnJvK27WhX/YsjJrlDw== X-Received: by 2002:ab0:3349:: with SMTP id h9mr39553963uap.111.1639375404883; Sun, 12 Dec 2021 22:03:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w22sm3768576vsk.11.2021.12.12.22.03.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 16/45] gnu: node-wrappy: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:38 -0500 Message-Id: <20211213060107.129223-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 93a033d33e..77577cb315 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -316,10 +316,8 @@ (define-public node-wrappy (build-system node-build-system) (arguments '(#: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)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:41 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:41 +0000 Received: from localhost ([127.0.0.1]:53737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweR2-0002Ur-Ot for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:40 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:40958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweQw-0002U9-FA for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:35 -0500 Received: by mail-ua1-f44.google.com with SMTP id y5so27305343ual.7 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Zv0Max/Z0M9eGARhkXdFbG7nRPnZrOIPjGOnHvaOK6E=; b=Uo9e/McxwdvXgSGEqv7gl8OYf9AgJY1V7AFFh78/10h6Eb6LGFZzd1o0PPnW1PjmE4 ZXj2FvAZSZE2Y5bQa4Y5uSed8TdB2Dggf8xr1NmveIDTW7I8KoBGcKLZL/R+RbeQ3tt9 wCGAFkKt6LKt/bFV0/BFmfFhvl0juxBaE8r0aVvKb7Uag+HtMIUzJYNv0Q5hosJ1FwhK 1uEvHtfdwwBTy4AqDr1OrCXyL6+B3Z3A31cFo51yu88ujMkl+oCGkQZP6szQH5apwkvb 3AAguVuwdz5DeYJxlzh0N4s9iPrCh/8nWQJUgMXDHy0tdU+I6EE2yxXIa/AZvyZHdD/5 vryw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Zv0Max/Z0M9eGARhkXdFbG7nRPnZrOIPjGOnHvaOK6E=; b=BKA5NjkF1WWXCfUe8+A10kiBH/sg6lV17m5RY2YhvSME57m7rtEpLmLqkuM2XgP+mI rpshUreO34Jtz8HnBQ0hgXX1og6dOG3pAmBk41D7fNZiVD8cMvJLkOngqNubK6iEtN7z RHNEHLothceLfZuJQVZZB+OO606T5xwBhVWGpjOiwp4lz0JrR8prtnQ/lijn0WDxso83 k+JWQUbFYe7hlWrAJUAe7ue09cn66gweK2GxvjK7HigXpQIr7CnUxAYGKZCQgKfFC965 iKEgoWzpsveRJFwfy4AElNxZYYVk8MUIc2koNaRLohzr7Mpcw0+0QftL7PKE7MuMAuyb qXgA== X-Gm-Message-State: AOAM533nCb/24xEsDBg3HOOv9BQYFAPRK6X95j6/ZssDjlTTL6ujJJa/ ddWhHS7HM856TRE0XifzX+TBJ0koeUBZG0lRsfk= X-Google-Smtp-Source: ABdhPJxzSRmxldUpeETVRE9rNO0ufYRbDduxTsVSD2DNg8QsTyFs1FQPjTBp/u1GB4jPZqHvs+/rbg== X-Received: by 2002:ab0:1d10:: with SMTP id j16mr39584248uak.40.1639375408923; Sun, 12 Dec 2021 22:03:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t132sm3685208vkb.19.2021.12.12.22.03.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:28 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 17/45] gnu: node-once: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:39 -0500 Message-Id: <20211213060107.129223-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 77577cb315..eb071320cd 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -338,13 +338,10 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs `(("node-wrappy" ,node-wrappy))) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:41 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:41 +0000 Received: from localhost ([127.0.0.1]:53739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweR3-0002Ut-1W for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:41 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:36421) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweR0-0002UX-AW for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:38 -0500 Received: by mail-ua1-f53.google.com with SMTP id r15so27347859uao.3 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ojMLjz/jyFKXXb+hBPomTkZw3w967K/vtlSskEGKkIE=; b=NWQdAC6qzIfMM8xseKmsJC7uiiCdWSLGfHLxGbqezdE2Eb/c+jkapi/L7i+gz1PqyG YgxvftPCQO99gOgSAramqeD3eXfFbRsewNH0vySSfrIS9s+mtQiOk04XhBrhNDZciUPe s/jGpF1edMY/iuB/0cC3yT+z1mzDraMn8ItpOxEDZE10ANyCeVJkVQaPUZnGhfXIByce XYIHEvN5Di9CtZ+jZysc+FEpX+DTtYwYnAZ0Vr2RvRkeRSkeslbORrsxtoTPcMmzZzhM +s/BVwQbHuecudhSs6d1juMvMBO+WR8qXD8hOHzmOCk49JWZ5M6AGtHDsnWeE5W+PdoW BgWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ojMLjz/jyFKXXb+hBPomTkZw3w967K/vtlSskEGKkIE=; b=ET8lFKJ6vAhFIJ+7561M0vEWXMF1y9AOtvyqr2SxNG9bUShzupdAx/L2uWHUFykYEG Zvc4gboWYWeePWSKLChtLPbjOIXV4jMgaxOoV9ltZF+zdUSBX6Yklv3MhFWCcYfSsYV8 jiwdSdNMESnzzk2Sw7zXmiP5HXeFtES6Gaxvz2O0fApgqQHFWTL0+Uu4QIDzgYbnZSXQ 2OlTa5tK0WZsaq0gqTiryBqnaDDr6rR3h/aF/2bse8UYI/azUe64GAOpO21YNoUsfEgt kfkemG1TJ6gYJC+RkveBZ33qD7TqyDb2WTd6jRY06CM8/M2sbatkPdw/5rguwy/8kERr Dk1A== X-Gm-Message-State: AOAM533QoV+AOuGP7Wm+OeF/8El1wAqBSRr0kyxscCZEAy7p6ggAuUbf mRvsg9YveYehs+rweRfMcX3jcC2IwF8hVEvtw/g= X-Google-Smtp-Source: ABdhPJyJD3pQFxvMNVm8uMUSFl3VkocXXX36J/daGwq4JdZWqyhyjz1Bai+CCSN5MM0XRmrrJRuyZw== X-Received: by 2002:a67:1985:: with SMTP id 127mr25706657vsz.34.1639375412980; Sun, 12 Dec 2021 22:03:32 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x142sm3662093vsx.15.2021.12.12.22.03.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:32 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 18/45] gnu: node-irc-colors: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:40 -0500 Message-Id: <20211213060107.129223-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index eb071320cd..9646c14243 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -367,12 +367,10 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("istanbul" + "vows") + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:49 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:49 +0000 Received: from localhost ([127.0.0.1]:53743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRA-0002VN-A6 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:49 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:41901) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweR4-0002Uh-Ao for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:42 -0500 Received: by mail-ua1-f47.google.com with SMTP id p37so27296528uae.8 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=feDGPCoF9k7nqW0jkPTEDiu1HOZFsAcDjCrWloKVQvk=; b=M8K8qYopLxAJvI8/L71N8B0jjDvorXRdaTDmp0fbHQnZCuyE2jBqeiHpeGC6YSq7FE j0hg1eGCFKjo/cDH3hrIS63/OkI4pRrGA0nUvDOL+IN9nCUc1c5fLvYPBjHNbwtkruMd JxFO1L9uPLsbzIHGid4t+cq9onL6yeaOVL3LcQOloPon2bQQadLEZZ3lGL2UWDT5npNc 0NJOt/c1714ozI8BxvA7gqNJsOHX56bhCU428jkYxbRyfBLJCVyUjlSCWjnuXbxl3FBZ 3Ckgb0/Bz/tlM1QXBFYDrlvjgvlRGOMEEQa6715KcobS0e8lfOGonR71V2RsLVXMG+Ev 7jLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=feDGPCoF9k7nqW0jkPTEDiu1HOZFsAcDjCrWloKVQvk=; b=1qFa3TVYYkOo2eBZ4UUqBxVgVtH4xj9TD6ClLC3i/Q8KVNpWowdgjcrvucu1ewY7ao ZpiHuFijnU9UhWe74q8QqMD4VPJ/l3AAWARzINy/oTBsRlpzkqbcNEBB8UMP1ExLM1WN Bc81KYBRrgDa2SxSJNfQnCgGg4sztGJGDVazpTK0mspntENa0zKZzuqQHw1agIbwRqKL QIfgLMZ3XQZVBtfxG8Dnq6A8n/479Z7wwXq2jJuCzjRJOdVFlvmEQAaOjcF/BdXLgJ1l jsAO2ApBwPWcfEg/PfkSqW989U44/3z0ifcEbgxdd1itsah5yfBazHsS31Zf7+uvZrd7 4Ezw== X-Gm-Message-State: AOAM532Zi6ansgKumvksIKJA9BSCZTLtqMXS3zrLVLAl3cOTfwki34kE 4bMhRoTDHdfUFEWDQ8x31z6wrxWqCWfO3xGST/w= X-Google-Smtp-Source: ABdhPJyk64TxxJyebN8M9g++MsY8Kc2d+Hqfk31L0fx7jvl5eHwY0/ZpL0BcrVbuWLvc4vrQ71MlNQ== X-Received: by 2002:a67:f8c2:: with SMTP id c2mr26283635vsp.62.1639375416999; Sun, 12 Dec 2021 22:03:36 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id n10sm3582264uaj.20.2021.12.12.22.03.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:36 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 19/45] gnu: node-irc: Use #:absent-dependencies. Date: Mon, 13 Dec 2021 01:00:41 -0500 Message-Id: <20211213060107.129223-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9646c14243..998d0a9a90 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -394,12 +394,12 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("ansi-color" + "faucet" + "jscs" + "tape") + #:tests? #f)) (inputs `(("node-irc-colors" ,node-irc-colors))) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:49 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:49 +0000 Received: from localhost ([127.0.0.1]:53745 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRB-0002VR-6B for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:49 -0500 Received: from mail-vk1-f175.google.com ([209.85.221.175]:33685) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweR8-0002V5-PZ for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:47 -0500 Received: by mail-vk1-f175.google.com with SMTP id h1so9734281vkh.0 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Snc6DwrRiD/cOxhQ9nOOo8DfqibULx1Ev/pz6Q2mgSA=; b=iRyQhP1GepTLjuoO2Vq6LxEQiKzZC/o9/TmXcY6/GrU23pYRWGhV/83n4NmM6HIhb8 eef8IgZASzX6mmxA97jnNh0K9XAMIsI/7eVQS+noibf4zN1nDkXoZPG5OGnpdXkkAOgz R06fG8Jk51oPTNgHur4b4LExn45M0MlHxppUPxIOKmP+08y4PtAw5mhaDFwSr730ZLUZ qIqaRkpZLKLEt4Gl/w8XOb9K3oH2Ula+OWSTB/Ga6FYtcPKHjgz/lOF8n0T1WuLpZaxV lM/S6bTiD1RC2rkuZES/P8zaaFs5ebIorzOTHsqdO8m9qxcvndWNeLT+NsVdq4Qoqd+R IUmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Snc6DwrRiD/cOxhQ9nOOo8DfqibULx1Ev/pz6Q2mgSA=; b=LNk2pWRjT4vwIwRvo9Jmd/rf352xxwkzvAJT4cNaIeTwK72tqVArYI211R9lI+pvPd t6jAIpwuhHXGPFsqlhyasVy7qzlk7VdQH69EIol3UhdSE5AGmqXYXO9n7Ih4nAbMyhJJ 39CoWkf49FJH2nF76Q+zGN6rI/9W6VnnE9TsWZ5pUnw2jPgjNXLbSIbrWT1fylrPcBTD gvFP87rXoFy8+7jKXXDObs2LqYRYBuS/NLI1Q7T2CNjcT/GiMvMSMR5yy0XERH7JhpoH Yizl3q3XGEv9ONway28iMFtsuF4zg8KhgfXSsbDpDi2gE8o5b60UVVO7hZmXxmLufAkb V+uA== X-Gm-Message-State: AOAM532r2VheF7gb9eANonInh7CuoB+oc7fddldkybSnMfSe6VXtoOe4 UOqEmO7zcvDUxUET9bdy1qIT6V5sB2FFiENYpv4= X-Google-Smtp-Source: ABdhPJzUcyZZzD2lJh/JgWLK+R36KKneYo7VwIan9IRIGpjW1Xir8PftNnDAfY1ACG50Wc52FXX8UA== X-Received: by 2002:a1f:e1c7:: with SMTP id y190mr29894328vkg.31.1639375421360; Sun, 12 Dec 2021 22:03:41 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o7sm3760116vkl.41.2021.12.12.22.03.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:41 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 20/45] guix: node-build-system: Add implicit libuv input. Date: Mon, 13 Dec 2021 01:00:42 -0500 Message-Id: <20211213060107.129223-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 4f437f9c0d..179da65ee8 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,10 +61,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:03:56 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:03:56 +0000 Received: from localhost ([127.0.0.1]:53749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRI-0002W0-GP for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:56 -0500 Received: from mail-ua1-f52.google.com ([209.85.222.52]:40489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRC-0002VF-UN for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:51 -0500 Received: by mail-ua1-f52.google.com with SMTP id y5so27306279ual.7 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=teAJKTWNnkKR3SVaIcZCGsnlAr4obIHoNhyOOMkV1fc=; b=Bg5y8/GRfd8s9qcM1HVavO1W5Ec69q5DIAjzC1p89p1sdXgVsqM598OKEySIKNCxJa VSggd3yKPFVMqqNmLC1UroU4v2BbLFjApApVI5soA469vLEnFekcfRIzYi2iPTCwEDNX kZc/dVv7m421lyUZsE6dsfkRfCYAQchmF1ty7Qgi4gkLL+s2UVHgpfsPzOxutJijRdfJ hfboCZmnhsXMixEJMTcRfLVfkit6ZEJBM++yeXc3nCY1ahpAdwquNLBOVmMJkyDRHvJr F9Amz6XXZtapo2DnmOdPQ6UbgNIy5QrcyhtH9EoD3x9qwok8vOMVWCrcRmEWKEvNeDTe dL2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=teAJKTWNnkKR3SVaIcZCGsnlAr4obIHoNhyOOMkV1fc=; b=4ErhIGRquJ9juilHRY8lZVY7IqIPOKSreIndP0yL74PU9ywUOCD5s2eL4lvsn641Ac aSLZfbtyFXUWyajvgqNJln5y0HJjVqsBII8oYG29Qxe1hHvRFZEbn/qD7+eGdDSX8ITs V9TecsO+ZIgICFSgCVl/XWsfQk8KeeaXuH9PO6MYHoB+GsgfpEhqK3wpXeAkzuOck4l8 BBulz2U9rEsHJ2Kc4TQEOj6MhzmSNaSHYMKuIkE+fSMKusNXxHeNm2qfLU5iDlvd0Iiq yx2qkuWgVOZbOu2fK3acSj28PIOdFoDgmCmTCLd4XRe3Xb8wPDPtxnQ5gnKjm7mZu+VG oQ6w== X-Gm-Message-State: AOAM533P1OUgEaQroVqndS+zhC8QP9EXVJkqw2AVWfsYIaCqs3TkNHai ZUaX5u8Hb6FAWpjpeb22CrfMVfRigQN5KaJ+xlE= X-Google-Smtp-Source: ABdhPJx3yJv2WvlvI3pGHKZTv4Tun13hUuhgCfKaUel0mA9Xql3pmUTCkVVNXP3b6Gjz/CN9dFlacg== X-Received: by 2002:a67:b103:: with SMTP id w3mr26364496vsl.84.1639375425392; Sun, 12 Dec 2021 22:03:45 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t11sm3708225vkt.34.2021.12.12.22.03.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:45 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 21/45] guix: node-build-system: Add avoid-node-gyp-rebuild phase. Date: Mon, 13 Dec 2021 01:00:43 -0500 Message-Id: <20211213060107.129223-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New function. Override the default install script for packages with native addons to prevent it from attempting to write to the store when such packages are used. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. --- guix/build/node-build-system.scm | 59 +++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 892104b6d2..f9ca515d58 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -175,6 +175,62 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (let* ((package.json (string-append + (assoc-ref outputs "out") + "/lib/node_modules/" + (match (call-with-input-file "package.json" read-json) + (('@ . alist) + (assoc-ref alist "name"))) + "/package.json")) + (meta-alist (match (call-with-input-file package.json read-json) + (('@ . alist) + alist))) + (scripts-alist (match (assoc-ref meta-alist "scripts") + (('@ . alist) + alist) + (#f + #f)))) + (when (and scripts-alist + (equal? "node-gyp rebuild" (assoc-ref scripts-alist "install"))) + (call-with-output-file package.json + (lambda (out) + (write-json + (cons '@ (assoc-set! + meta-alist + "scripts" + (cons '@ (assoc-set! + scripts-alist + "install" + "echo Guix: avoiding node-gyp rebuild")))) + out)))) + #t)) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -184,7 +240,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:11 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:12 +0000 Received: from localhost ([127.0.0.1]:53751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRI-0002W2-Sc for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:11 -0500 Received: from mail-ua1-f48.google.com ([209.85.222.48]:46732) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRG-0002Ve-TE for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:03:55 -0500 Received: by mail-ua1-f48.google.com with SMTP id 30so27280137uag.13 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TkzUiJnNGw9ur1c48y1bhJnpwmx0e71utk5vh1CJDY4=; b=HSNlTljnKMukpzA/KCPXPa7PFbwcRMmgQVUxUe022yOmseUzr8tZFXmuqbfLC1V12R 6lg1spXj9HY/D8V3U0weUa+qk8Ol5Coe588ViKhUvJVEXOOVPROoAu6fztbdGh1g7iYP S67I/X1cvAIFPm/tihhKUn91vf9vaZNFGxDcQ+Lbi+0m8NAhWL0AHogVC4zIzZ0W9qF4 dTPqrUbJUoygTF1nwXaMU9dxQinrT5xk4066vluQ378iYr3xLCWlnGFGhE8Iezih9ABw 4m/NmdwzTT9OfYVYydkk3+/ual/6803fN/VfUzXIZfauiLo5pPbnRD7Jg0h5Wq3qtB5k lxCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TkzUiJnNGw9ur1c48y1bhJnpwmx0e71utk5vh1CJDY4=; b=L8UyU/F7HO4Y93hwK1UTKYCSF5kcFnqbvy15sd++oHwzDuA/Cwn4dxGrCubr06WdwN ySpO6XiJWuFnCeXqyr7EI7PD8HOW95gk+rTV0Oh95Gtb5PAvGkhhQ2ZNHse5HsxzMcIt K4rtn3enWMyg8ddxo1juPKVqNSIZZHWsxSg891zqEV2Vp4S1g9A7DJxl+FhwgKA+4oYN kePNpuYSiFVv/1x5TluMNUwEqoXNtCko6EaPdmf6Gl3lukjxfY5gnFngSh4N1ofpuoXG zD+ZjUJT7GzaI0uQsiTx29rEdeUEUi/LMV8sJ6Cd8MHaznvJM4StnvEliJc7Vfucq1rO 0RAQ== X-Gm-Message-State: AOAM5304vI8SssDz1nGsnDGqr8SsWg49XrkVc29drL84ng8bKbtA3lvN w1rqgwzmYr4fz315EKijB9bVj+/iu0ZcwvU+8xc= X-Google-Smtp-Source: ABdhPJwPbIlKKRqDe7u+ACgpCjYKLYn6Z5ofoWBAEGQtWQ/AMz4Vp7P0XqQgLPHEov2qv+oRjgBf3g== X-Received: by 2002:a67:301:: with SMTP id 1mr27106404vsd.11.1639375429443; Sun, 12 Dec 2021 22:03:49 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u145sm3902941vsu.25.2021.12.12.22.03.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 22/45] gnu: Add node-inherits. Date: Mon, 13 Dec 2021 01:00:44 -0500 Message-Id: <20211213060107.129223-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 998d0a9a90..9d8bf27852 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -352,6 +353,35 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:12 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:12 +0000 Received: from localhost ([127.0.0.1]:53770 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRX-0002YU-VJ for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:12 -0500 Received: from mail-ua1-f52.google.com ([209.85.222.52]:37620) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRK-0002Vp-VP for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:05 -0500 Received: by mail-ua1-f52.google.com with SMTP id o1so27339177uap.4 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:03:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pLwK59KfKzSeilA++Kp0Cllh4FKRX2jv0tBtW2Jiti8=; b=UfTS7zUlS/2Pc673gAcfWbAskAFjeMbNFfeOCDJOd0h8VWTxIM3geuAl6tSbgXZ/B2 tPCU0E1JMX5PPqD+2DscxN4QFAu9CYOZmqudTAtBtgvn7BVL0iEziIR0r7o1JV5A8Ucr T8kG2hdCrHZzS3SKzp235xUKvLzfEaPSAtPcRB2R/IjOP9zy2so2F9oLm7oue7QTPjaW XNcgfpXpycMAJ45j2amOoXJZ9k9ujxxCRtrsRF8yJL6TePT6oDtrSpv3gtcXjlOMNlzx B8uCwqoakupA+eO9PDJiKnFoxHjYMhDFFSQLuntC6CFQHhd4TEeGqRqIThj4FwRyrHU1 GCkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pLwK59KfKzSeilA++Kp0Cllh4FKRX2jv0tBtW2Jiti8=; b=6jOdgMyXcIyA1pJEz3ItMc9A50xmM88S/LkNn+6aJwCIPG/7WJMat0LZokFHhJwMb9 b0pD8WC+CSeiymxqPn/wQtNFwzZ2msh60hwapMPIHDuaGHoDwyX8DQOtxgwqrey6dZeO MhCYDM+FM+CayWiqleCgWN64prTz22lBIZYKTvzLdp4pX9qu9niqruQrYZ/FtIX2kr9j EnEYbkRSbPCkh0lk1Jp2bFk5sXW1GfDwSW+BDwm9IYD89y1r5k3ztqnONvsJ/lv9025K K0LanpWbk5Phm7Q9D7BKt/TidBjbN4Qop2P0ymuLra5PC17DcKo7Sa4Qc657PMUTQY+0 npjg== X-Gm-Message-State: AOAM530ihVqitfrLjlpmBop7pwFNcSWv84yBI4IufsxZ2TPTEQIkouK4 skBNk4gL7ACInvYGP1178DUQbhZWi7hsM+kVR8w= X-Google-Smtp-Source: ABdhPJycjGIPqNuw8ICQwEEsVgUvjq1lAJbFiXf/NblFTt7D1lw+UG3Elg02WvW5EKAfcTituEyXMQ== X-Received: by 2002:a05:6102:c10:: with SMTP id x16mr26676457vss.38.1639375433541; Sun, 12 Dec 2021 22:03:53 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id z188sm3564743vsz.12.2021.12.12.22.03.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:53 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 23/45] gnu: Add node-safe-buffer. Date: Mon, 13 Dec 2021 01:00:45 -0500 Message-Id: <20211213060107.129223-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9d8bf27852..6dff0ddba5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -382,6 +382,34 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tape" + "standard") + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:12 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:12 +0000 Received: from localhost ([127.0.0.1]:53772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRY-0002Ya-AI for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:12 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:46755) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRP-0002W9-3J for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:06 -0500 Received: by mail-ua1-f53.google.com with SMTP id 30so27280603uag.13 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=h92M6cwNYqgQ6JGJIf9VzYOMEG4L/N3bg93emHyzF0U=; b=TT08wPizUddzL17GiqDxW6z8Dg8IyskJL9tM9UYUrGVXMfHa9dg4bZCfEkXONlxycV sDrZe9sEAH40i80X5vi5rgPP4yWzVE9MyIjfduY4RVNp66HeyrG8JxshFwB0QJqisZFH TBN/FxdNwWkjeKXcZYzUn7ZTPL0B8iGQlEcHnCwbfGlsO96c3IPI5xynRAVyjDL2Vp9b oh2P1X7KWKBM2bXqFuAV/55PBIyWNP4dpQpzuvtS4LKIHZT0OA2e8x+6trszJwwx+Whs ylpfvnv5gDGntny5YXJkj77N/Hn2RbLVQicFNp8LD0dhimrlpXxdubTVxYqjVYXafYLO 7SlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h92M6cwNYqgQ6JGJIf9VzYOMEG4L/N3bg93emHyzF0U=; b=cNM3UCywMyrQBo5LsBrgLaDh7pne/ftJwOKUSMf1pm3mT9zT6ficp393YScXY8X2D9 QnnPGSkiA2/Q2e1KyTvaHg4m4trHN1hKi7CsNZr3MdstmnqHL/tWqMZyqlLijZh/PcZR gdM6DVHGEQQIwQuBfLc6LCzrM4vSwGn7doXYX4Hc0e7dOyeDtISQzr9R7dwlbG4Uf30x yNvYHB56MgvMMr2PO5o+/BJAuQXqt3GHqJAySwhHvvml4Sm+4uP2j8u7qOov8lbfY09U SrlXgfiHysa10f8Z7gUaZ4VxSs7r35M1dIgY6RQsiUzyxCFoRoNfKNBIdUqehO19MGLf uL/w== X-Gm-Message-State: AOAM530d52ncxFesnNlj/7dgeOqPw3TOJYJ5P8MEAl9J5BUjWsFSAwjw am7RiqgRi1/8nAdlgeqLTKwb35Iolg9T914KSiQ= X-Google-Smtp-Source: ABdhPJy24SbGtsDu5kGnmhTLhzgcWZ2hBVyPu0Ucnyiof830vrqFdx5/zHHERClFt3djxRbpGDQduA== X-Received: by 2002:a05:6102:945:: with SMTP id a5mr24983703vsi.87.1639375437685; Sun, 12 Dec 2021 22:03:57 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v7sm3838423uaj.13.2021.12.12.22.03.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:03:57 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 24/45] gnu: Add node-string-decoder. Date: Mon, 13 Dec 2021 01:00:46 -0500 Message-Id: <20211213060107.129223-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6dff0ddba5..c6cce64f7d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -410,6 +410,40 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap" + "core-util-is" + "babel-polyfill") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + `(("node-safe-buffer" ,node-safe-buffer) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:13 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:13 +0000 Received: from localhost ([127.0.0.1]:53774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRY-0002Yh-Kw for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:12 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:36473) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRT-0002WL-5L for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:10 -0500 Received: by mail-ua1-f44.google.com with SMTP id r15so27349415uao.3 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RWVeazkP2j3GU7pQskCDix0dS4jhUU4VJh2ldcV7US8=; b=ftbC1wyXshSlCFI8yOb2UjjEvK2PT3WlB0TAKQuQYuoeLA22RlvM4jnDz9BJfY2CCa dTm1+XY0REC/qw7t+LsnDG5NANqfH7+O2tbEhNP9V3w/9JryNTv2Vruslb7+2dO4b2Un Gg2Tt0ReJ0cHWedWZm+39KZ8gFuXvtviMPJeQUV4qg57I2Pzn9S6xPPmLovGRP/8RuZH dSq1THjCukVhS9cZoi21DbKpskQWp//pqNsWCwngy24IN5cirUrEpkOZYHI0EJRWa5yt DLTePmo8l7bG7OUrBv1IaD0YuNFPykY0OEDexSSZaj3nJD7V10R20wzNWOINDxp5QIZd KyvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RWVeazkP2j3GU7pQskCDix0dS4jhUU4VJh2ldcV7US8=; b=PW4KHW03CNs3bNDqGuK50n37GN9c45rtiJYx5V01GEQiYfGIZbGvWGafPUkXfdY2al Fk9YCV/c9kQbrYq2sthk1GGdRh8SyFWfiu56JzbvLGs/NIrM/4uzRjPZBS7KDCvF2S9O Tgsm7qWo37pe13tPQNemQQev+C3yLP1SzHCghX5fdehZAKInr795Vwkk6nDdG46ih2GB esODznr20w2dEHVmKYrFeNSh5Q9TudzbkN73eKU2GjpRbY5LhsfPo6ooC9XWvIFd99/D w/tbay/RuzJGBV8VgfBH6ucHVOMdLXa6tOzBTtK+suDJTuIHHmGQMx80epUVUQZLpLMW U7Eg== X-Gm-Message-State: AOAM530HyAqp9Z20vxlLNoyGOIbmhilE9i8t8uV/oIyKMh/4xRMe4og2 oGZZATO+T1YEm1NWacJEIlzCDji6TRhdcMXqEaA= X-Google-Smtp-Source: ABdhPJwMpUnOQAse5C9YiomIXNVjZDIfRuYbmXKcfJT6ymEVmlTLVwL6/5txwQs9moR5mEqFwniDmg== X-Received: by 2002:ab0:6f4f:: with SMTP id r15mr40019800uat.17.1639375441826; Sun, 12 Dec 2021 22:04:01 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v16sm4013309uap.12.2021.12.12.22.04.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:01 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 25/45] gnu: Add node-readable-stream. Date: Mon, 13 Dec 2021 01:00:47 -0500 Message-Id: <20211213060107.129223-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c6cce64f7d..3e06413908 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -444,6 +444,60 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify") + #:tests? #f)) + (inputs + `(("node-util-deprecate" ,node-util-deprecate) + ("node-string-decoder" ,node-string-decoder) + ("node-inherits" ,node-inherits))) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:20 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:20 +0000 Received: from localhost ([127.0.0.1]:53778 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRg-0002ZA-01 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:20 -0500 Received: from mail-vk1-f179.google.com ([209.85.221.179]:44937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRb-0002YK-IT for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:16 -0500 Received: by mail-vk1-f179.google.com with SMTP id u68so9670550vke.11 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HXFMkUR7Pv8RG2WEXK66tg3oqCcv90+SKVcWp5dT+Wc=; b=e9oEESlJuMsWWza3ucZdrgS6+wS5vM5YhjR0hIJ+Wh2sRaXEk6ruB+NHPEYPgYEm4z 0KQEelM1Roe+Qu4t3sTI/R5U8P5JHCk6BPOlkzd6KCnFieZCoG2U+GaJoyPA8LNVink7 AhiRIUnM7CGYqe8hgPfSgKj6s355EZJg4IVRU9wjGoznpjz91pX37sOcopild6OptSEJ 7tTInCaEgWwcbgJhASezBzXpAXyyVPzO3eVkSRd7v4q6aEeEOCO6eMVzl14y4ANLQ99n 7TsR93GIrFDwHl/O3GF5Sgjx7+MmvsG70Y4KxZe7GPwVt+9mcRGYCfGbLqfQT80gwyxS V89A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HXFMkUR7Pv8RG2WEXK66tg3oqCcv90+SKVcWp5dT+Wc=; b=ua2wmh+Q2Axs4QcZEmp8RM/zb7JdAtXyrUrLottHIboRFiy8otBe61YRj8uwK/ctV8 1w1QdKxeLIMupF+CkChg9vwtxIHkN/TS91fHqqx0HSnvxIlERDruWSkJmxogIsdpQf2H zYVR7xrsbCt3wTrUy6CWY7whXVFCxTxWkUek0ujz3CNm80F28T6SdSC91vMypdSBWyUw HEAh6I3EY1H9oR96NYqSzEKynTeOvosykvCOqZ0DGK6dg2+s68UqIF6fiR08oQWpoT5P rp1vHYNWnr/a6NaM2QDPTel2g7XDapfBg08D38YkfKTpxB4YmT6BMqS4bHokauuTGTHW cQDQ== X-Gm-Message-State: AOAM531T8H6D/4QI1IjtWF0VhkPzQFEbYN9Hf0CoAKK1Nrrg+1nIosz3 dkefRiP7YWEVLYChPgBKIke1efqFraE5U/sguxA= X-Google-Smtp-Source: ABdhPJyWhLMRKkS+1bmuEdL94xvSKiRw4C6R9AlHBqyTe5FhU2/NkFZCpIbGpoWu9TBMBhu1m75Egg== X-Received: by 2002:a05:6122:130d:: with SMTP id e13mr30056496vkp.6.1639375450074; Sun, 12 Dec 2021 22:04:10 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 17sm3937938uaq.10.2021.12.12.22.04.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:09 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 27/45] gnu: Add node-openzwave-shared. Date: Mon, 13 Dec 2021 01:00:49 -0500 Message-Id: <20211213060107.129223-28-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 2019ec32df..feecf51e9c 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -88,3 +92,68 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + `(("open-zwave" ,open-zwave) + ("node-nan" ,node-nan))) + (native-inputs + `(("which" ,which) + ("python" ,python) + ("pkg-config" ,pkg-config))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key inputs #:allow-other-keys) + (define node-dir + (assoc-ref inputs "node")) + (invoke (string-append node-dir "/bin/npx") + "--call" + (string-append + node-dir + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp" + " " + "rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:24 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:24 +0000 Received: from localhost ([127.0.0.1]:53781 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRk-0002Za-Fp for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:24 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:45612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRf-0002Yy-Kt for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:19 -0500 Received: by mail-ua1-f47.google.com with SMTP id ay21so27252175uab.12 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=I1oJY3wEWEJBJRIbnxgfEGPFrQ9yStZqSgBvISDkYWo=; b=ejaUuQp9wO2+fOIirJ+p8aEpiifDPseFeQZsIBimkXTCNylWM5TOQjSGnTBrzmiqRi uRiIZ4uWxR8Y/clDf8Y7CWhzIHA1NrbQH9BwW7JuOqBTpEwcCH0WulIg9vJIZ5/9Odv/ nCHftE18ZGYpTgMVyI/1A6FveFdV7SCEoDekjrP3VdqvFQG3cSFUCwJn+YHtxo97QyCP XmjFVlC/oDBX39LjCm4x7LpzkFju0LY595vgrRdWE6HjNuMEbrSEE57fAtDrEBgpKUwj c/xzNQnt4skz5g3FNRgvY3w523u8K/P8x3dpsi+uxEV8JqXsPya4ohiyUBDIODQaUiIk lkdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=I1oJY3wEWEJBJRIbnxgfEGPFrQ9yStZqSgBvISDkYWo=; b=5Z3qQ82oELJ1qAiUPl4cnvuV3le815SR4Hrs/IvKDHB0ji3PIWmgO4MP0tOXDO4WTV QgKr9NKRQJ6/rOnZYGJt7eFbCb7fU5nn47atmbKvx0F+ZDqxj7m3nblB9Ei/Qfc3sGg3 7JUwDV19aGmUuAklft1uhecgDEEN2R3mhfOtXRl6f3SyPEOyXo+xRU8u2oQ2f042wwNR mvN98T//KsvLUkSabrjrb9QDhxysZdS+X4P1wl/ImzX0wV/i8ukPWTBUAhYE+RSERN0j eDBGE1px8y1+EtdeCfHcNfuYIMFGCBB+clBgjNLOtdr9aS1caCYdkE8spJcSOUvjCAqG XSwQ== X-Gm-Message-State: AOAM530XuMGNnbwA7MWD6XtfmASsGJ8LbjJqgg49pVZVOdXZGGxxegOE QnuUW0lYYHLkVi2ybXT+jUL3iVDDVHYGP4+5ouE= X-Google-Smtp-Source: ABdhPJw/XMDkon/nrs+5unoLGoNXmAU1sQgUAWD9xmd1OhXO4Asl/Fp6iKarlKz/8rX/kTdYPcNclg== X-Received: by 2002:ab0:378b:: with SMTP id d11mr39304941uav.61.1639375454266; Sun, 12 Dec 2021 22:04:14 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j145sm3716404vke.47.2021.12.12.22.04.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:14 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 28/45] gnu: Add node-addon-api. Date: Mon, 13 Dec 2021 01:00:50 -0500 Message-Id: <20211213060107.129223-29-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 43cf9fe660..c7bc660134 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -592,3 +595,63 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + `(("python" ,python) + ("node-safe-buffer" ,node-safe-buffer))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (substitute* "package.json" + (("\"test\": \"node test\"") + "\"test\": \"echo stopping after pretest on Guix\""))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:39 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:40 +0000 Received: from localhost ([127.0.0.1]:53783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRk-0002Zc-Qk for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:39 -0500 Received: from mail-ua1-f54.google.com ([209.85.222.54]:36491) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRX-0002XY-Ai for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:20 -0500 Received: by mail-ua1-f54.google.com with SMTP id r15so27349631uao.3 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Qj8jqvL8bD3SfwI3+xb/HfqVrKnenR1IhyjzHtHz2FQ=; b=jlqGfHJA/bIDfOcUjGRr25FdtF75cHWy2OS0jHkHv4oa9DXLDhXPwtn2Zz51pB6Rcd 3gXJYblRswADb8sDAxPV3ZpvjZQN64EBfqGTxRge9t3RYFpds2GnqbK8jNUyuZXhudl6 v95hdDNMqJlCWcU3ryeUxoCRf496Kna9gGG/+MMlsjxr3sEwSwC8/5BU0vg8+QmY26zL jESac2efY1p2+xG7wygTe3obP+XjCvc0B5MC51ubiJKBxf3P4Wkkk1vI7QUUNWH2pF0G G2YfsSBZREBmfeVrC2wHfY8Rj1zBNv2W3Y5Y+8+9hdzdvHV4yui2rsB5CVWPk2CkisDX QjUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Qj8jqvL8bD3SfwI3+xb/HfqVrKnenR1IhyjzHtHz2FQ=; b=mkUDBFBtCh6xJFaWhoyd7JCVXtaNFsW13TdMGmVLjCPEnpgfzrBTH9jjdN8Wo033mm mZno75xpdVFYNgKLiHXnyUtsotCJZH944N3NElODJ8CxMoNGzw4nPRyDhdY01f+msa9Z ee4NFsV++VjCWgWaf/OEG0y7q1N0n3T4cXmly4NW1Z5KupYudikIDPsSXGIsk0Yc6JqD UM9eYgfMQEc2hNWfuBZvNxuST3jB+KyPs1TCYKWGmKO+1mHumlMjL3IYfzi+11aCrO9R 15ywl/XT0xM1HDzojirt53aCrmandET0p5WLJY2tbA7RqkdmZ5oPgJuv4J39wvkyPS66 R5BQ== X-Gm-Message-State: AOAM530nFa0n8mLZgcUJLO6XDet3UyRWR0dFS0A5yx5EOAVuSWK0wMga hza/gVp0HfGK4Dj81zI5RTqzfiO0Mq+nAzG9y0k= X-Google-Smtp-Source: ABdhPJzW7AE6bUd9SKA6lfcWGj/KM0F4LXXOmBGGRDcfpnQNHlLhUc/XlimYdU67XqU3eE0214C69g== X-Received: by 2002:a67:de12:: with SMTP id q18mr26432290vsk.17.1639375445936; Sun, 12 Dec 2021 22:04:05 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id h10sm3571911vsl.34.2021.12.12.22.04.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:05 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 26/45] gnu: Add node-nan. Date: Mon, 13 Dec 2021 01:00:48 -0500 Message-Id: <20211213060107.129223-27-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3e06413908..43cf9fe660 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -553,3 +553,42 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend") + ;; tests need tap and other dependencies + #:tests? #f)) + (inputs + `(("readable-stream" ,node-readable-stream))) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "Native Abstractions for Node.js (``NaN'') provides a header +file filled with macro and utility goodness for making add-on development for +Node.js easier across versions. The goal of this project is to store all logic +necessary to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:55 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:55 +0000 Received: from localhost ([127.0.0.1]:53794 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSF-0002b7-Am for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:55 -0500 Received: from mail-vk1-f179.google.com ([209.85.221.179]:44944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRn-0002ZS-Un for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:40 -0500 Received: by mail-vk1-f179.google.com with SMTP id u68so9670746vke.11 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wuTOYhWFuCzBnnewEXtbvxybDm7Hg+tS8zFvFoCfClg=; b=RjDXsV0N2UhzEG2A+Y7cZ3DHfhVdlWgnWjZfXhSBqsLrpU6lJKsOmwg7+NWdb6DBnr AkyN5m0pLKXSq65CjZYLS+h4TGvRR9w6TMR2Fm/eAwvxv8r4ixcTPB+wwS2Vx7rkTeoN OttlaRjFHmW5ZnSWhWxv0s1vVVc/+JeA+Xv/HnAsg64e0l9OaMYUt3RPc8foyAylkHKZ RkG5fff3veZT6Ttan6su4N/yojEbiDKXsgIk6KeLg3RUFdJbSNw+lEClKnvG0KopmtK4 lKP6TQWebxvCYH7PV/LcvhsKKEkBnpCNdsZBaLExnqPVeApRQ56SRcQMhzY37Gch+nA+ lRRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wuTOYhWFuCzBnnewEXtbvxybDm7Hg+tS8zFvFoCfClg=; b=dIiFZBV3TQs93jHTOYQZAznCzopbK8Ys/cou43gew4LRp3DFAhe4W4cgaDT/0ndtrL 2uO5IYFZDhc5Kis0dD18kwMWyW7u1cD4Oxc5221cNH1OtW/8HMLwvHpzDyYhzD7K/9DK d2Kvey6RcFR1IWzfQMsvviZpzKHekRL+W0VV5Ba0QjwfnMpD/z15J0GN9/sDF0DX1UD7 BCoDFnaHRZNm8vaaolS1EjcKOwu7cxGjrSAIb94GWeE4d6j+Lj/GY0MbnTcVI+jCX+po zAqdJog1xlElgT3XJqA1bWcpqBr9ciudDQJtBJ8uf6Hp0fJ8Hl2/SrJXvOporyBKAesj vIuw== X-Gm-Message-State: AOAM533EzTe4/uvXrc+kIy9uWKrG5sf+1jAPKwI3SPknkHqvaTuK/Ohh TeH5FRQ7rxw8wffXmjl+o73p+LAWyUreIrZQYfc= X-Google-Smtp-Source: ABdhPJw56Ddj6Fmpp8YyeqtWUyzNzf1sW4EijBuLAfbpQUkzOWajSC1asVeATnaU7PT0xoqRpXfnWA== X-Received: by 2002:a05:6122:1782:: with SMTP id o2mr30373226vkf.3.1639375462566; Sun, 12 Dec 2021 22:04:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j15sm3703933vsj.32.2021.12.12.22.04.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 30/45] gnu: Add node-file-uri-to-path. Date: Mon, 13 Dec 2021 01:00:52 -0500 Message-Id: <20211213060107.129223-31-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. --- gnu/packages/node-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d1bb236186..bdfe71a1f3 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -787,3 +788,57 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + `(("esbuild" ,esbuild))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@types/mocha" + "@types/node" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "cpy-cli" + "eslint" + "eslint-config-airbnb" + "eslint-config-prettier" + "eslint-import-resolver-typescript" + "eslint-plugin-import" + "eslint-plugin-jsx-a11y" + "eslint-plugin-react" + "mocha" + "rimraf" + "typescript") + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (string-append + (assoc-ref (or native-inputs inputs) "esbuild") + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "This package provides a function to convert a @code{file:} +URI to a file path. It accepts a @code{file:} URI and returns a file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:55 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:55 +0000 Received: from localhost ([127.0.0.1]:53788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRz-0002a3-VY for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:55 -0500 Received: from mail-ua1-f54.google.com ([209.85.222.54]:45627) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRj-0002Z7-QN for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:24 -0500 Received: by mail-ua1-f54.google.com with SMTP id ay21so27252382uab.12 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4QlSe+2vPMDGTufcnOYGxZK20Lpc6crlgOBa5eFV5z4=; b=ELcx9hEyutAB1wHbWzyzTxR9N1oBQIqzkyBt5/jIT9odoG9hzK2RnJl9QH9FmWw8hL xZ1EwtxUJKvKBRxG0nP5Hw4nuNRjduZKZHJBOoRn4DWoiymjErn488n919k05Z3xWLTu XKPgA0wWPNfOty4PbA07+N8m1WNgE93x+QbT5ePYBEN/LMiEwOlD9/5P3eALX4d6xhvd +9ZLeV1Q9U1zJXOuiHr3AevpuDc0FcvMGxL5MpoKKAh7i47pgo4kMwwGClEwxj9f7NlV kVu71OUsaPhpa/PkcvNpSwdNkJik8mwhlRkne0PNu7SQ3FA/SfnpWi3j6c5jSzHb4mN/ dQ2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4QlSe+2vPMDGTufcnOYGxZK20Lpc6crlgOBa5eFV5z4=; b=IuIMc1W9HtCaaoCAzV3B65wApxXwaQXDV3iuh4IyoBOZ21fjUFF9jJV+CbLQnfvs6P AR41au3BIVDIkMiab+t4DQC0NgwyiIxyeW2vE8ncUrcCxKB2pfYpCaEe5xctTb+gkPV3 dLLcUEfYCd5wrlnv87xVVUeTBiwt+rg8xq0NEvj/m6MU8mLcokEAKIOHvJq0qvwA4Fab VL+sFSMN6yaui3+K+uusUl7xnDlRmh7e7D9YV1FuD78OrQ4qgiYecFRf3KgOODIuWzBj 4QowHkKg8HMvoEr73OuT3+EWFm7y+tGD4nAyrNmItKuuMWtZ0tpdTamtRvG64sgWOAXu gYyA== X-Gm-Message-State: AOAM532ejvnG8Z2wGj6Ga9N1PDXpYPcTh6g4xzSp2uAEdq4KU3wPKixo Kx8/D79P9xFK8Deb2Bg8LLoHQhUiMiBGzz+7buQ= X-Google-Smtp-Source: ABdhPJy+Ts/lrPhHTOiu0Q1WSKYXB0wXlHQ7GCSIBoDsg/e1EEXiu/jza/gNYXJXkpN+8M4+CYssYw== X-Received: by 2002:a67:e44e:: with SMTP id n14mr25859999vsm.55.1639375458411; Sun, 12 Dec 2021 22:04:18 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id e13sm3694595vkd.21.2021.12.12.22.04.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 29/45] gnu: Add node-sqlite3. Date: Mon, 13 Dec 2021 01:00:51 -0500 Message-Id: <20211213060107.129223-30-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 132 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c7bc660134..d1bb236186 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -655,3 +655,135 @@ (define-public node-addon-api @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + `(("node-addon-api" ,node-addon-api) + ("python" ,python) + ("sqlite" ,sqlite))) + (build-system node-build-system) + (arguments + `(#:tests? + #f ; FIXME: tests depend on node-mocha + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:absent-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries + ;; or falls back to building from source. + ;; Here, we patch out all of that and just build directly. + ;; It would be better to patch a version of @mapbox/node-pre-gyp + ;; that always builds from source, as Debian does, + ;; but there are a number of dependencies that need + ;; to be packaged or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency because of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + ;; We replace a file that dynamic searches for the addon using + ;; node-pre-gyp (which we don't have) with a version that + ;; simply uses the path to the addon we built directly. + ;; The exact path is supposed to depend on things like the + ;; architecture and napi_build_version, so, to avoid having + ;; hard-code the details accurately, we do this after the addon + ;; has been built so we can just find where it ended up. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") + "/lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + ;; We need to patch .npmignore before the 'repack phase + ;; so that the built addon is installed with in the package. + ;; (Upstream assumes node-pre-gyp will download a pre-built + ;; version when this package is installed.) + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + ;; We need to remove the install script from "package.json", + ;; as it would try to use node-pre-gyp and would block the + ;; automatic building performed by `npm install`. + (with-atomic-file-replacement "package.json" + (lambda (in out) + (let* ((js (read-json in)) + (alist (match js + (('@ . alist) alist))) + (scripts-alist (match (assoc-ref alist "scripts") + (('@ . alist) alist))) + (scripts-alist + ;; install script would use node-pre-gyp + (assoc-remove! scripts-alist "install")) + (alist + (assoc-set! alist "scripts" (cons '@ scripts-alist))) + (binary-alist (match (assoc-ref alist "binary") + (('@ . alist) alist))) + (js (cons '@ alist))) + ;; When it builds from source, node-pre-gyp supplies + ;; module_name and module_path based on the entries under + ;; "binary" from "package.json", so this package's + ;; "binding.gyp" doesn't define them. Thus, we also need + ;; to supply them. The GYP_DEFINES environment variable + ;; turns out to be the easiest way to make sure they are + ;; propagated from npm to node-gyp to gyp. + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))) + (write-json js + out))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:56 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:56 +0000 Received: from localhost ([127.0.0.1]:53796 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSF-0002bI-Od for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:56 -0500 Received: from mail-vk1-f175.google.com ([209.85.221.175]:36507) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRr-0002Zk-Sz for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:40 -0500 Received: by mail-vk1-f175.google.com with SMTP id b192so9718732vkf.3 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/6Xhi4KFgYER1BuQweWzYcvvzBS2NiabqGoGq9oQsjY=; b=kI17OpUzFO/JyNh7Z6KDDn3x8bO9RQy5+QkCEBlr9WOePYZUNzH99Z8wyxKiOeOPna 5j189thZ+ODZppijK1OHDORtdfT66BC8mtKQZ7zQMgHmUTTYy+COutURG4J3Fjj+nDGT enhnKQxagKym+lPdc0UvaJ3UxU1WAz+OhIGQYqcTL7+WNEQ55BO1f0pL1cd4KuP4ZCr9 JwF8GbU0EfF5qDaoPwBhr+wu0eBs1Q15j270CxmH7dGTda78ruESHhbjgGXaBjFUfcd9 lFY+8vuuuWbEFd65/d5CqI4U0SsHviKTMd9KS+VqFbCjkYJYyLhTtSUUxBrmTN8lSy0m qpKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/6Xhi4KFgYER1BuQweWzYcvvzBS2NiabqGoGq9oQsjY=; b=Td8UV4AUSjDHO8zQECKeuPoYEUfw+eDiLGIZkutEpYMXqB9Ua3+4h8Xa6Msu4ubcGE zTk0YUL4VYhz7wnJ4gEVnOjgv2kuSedgVUPCNFbJUUPT7oE1pqMpErZ5KK3ZEt6vgMnA LO6evrMtkk0aPeqOTVSTt8Tbp/5tNtvXp6NV1ouL2EMmVFwfeLo/dnCKoJ/lcqTSg6Tk /co2ejC048QhSu377rsRW4N5m+k7KHMTj3OkN78l+v693/4xYJKwUrZE8MI7JPvEZvte hbAeQ2iCOgPE34nb3HQeqqzYAuenzvT6w52nLm1cNzI2EWmVDpmwWL/6DGmp5+AGvybJ vnYA== X-Gm-Message-State: AOAM53314mEKxk/M41Q+BE1OMpz9CwMfuax3gSvq38J4JmyfvnU09EzT r0nuNXFihUBSf3i4IEDjzY36YIA2dJgrdfj+puE= X-Google-Smtp-Source: ABdhPJz1x4Guo8tYzIZoI4ndIiqnmTYYDhg7oXDztb1MTIaxshRu7wqh8SjPm3RxzonMzKaIlmrQDA== X-Received: by 2002:a05:6122:2005:: with SMTP id l5mr30465590vkd.4.1639375466565; Sun, 12 Dec 2021 22:04:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id b13sm3771494vkn.38.2021.12.12.22.04.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 31/45] gnu: Add node-bindings. Date: Mon, 13 Dec 2021 01:00:53 -0500 Message-Id: <20211213060107.129223-32-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-bindings): New variable. --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index bdfe71a1f3..021bc81403 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -842,3 +842,29 @@ (define-public node-file-uri-to-path URI to a file path. It accepts a @code{file:} URI and returns a file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + `(("node-file-uri-to-path" ,node-file-uri-to-path))) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "This is a helper module for authors of Node.js native addon +modules. It is basically the ``swiss army knife'' of @code{require()}ing your +native module's @code{.node} file.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:56 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:56 +0000 Received: from localhost ([127.0.0.1]:53799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSG-0002bP-3c for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:56 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:36541) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweS3-0002a0-St for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:44 -0500 Received: by mail-ua1-f47.google.com with SMTP id r15so27350994uao.3 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=e0AuYnxbhshMPYQONvciTF84/2mq59N4FQ8rklVmWuo=; b=e3aBSK2TuhFCOjXa/iLdcycy9YRKvVJOudgu0lLXBHdiF7vhqxrDtt55IhA6sGfZZt Cvatw0aNe1Nul6kuPsjLKVZXMCfIOKTHIFv7i77dCBnCGb66g3L9VXq/hizJ9Pg/RQm5 6wjVu6tcjYnV8aCeyuo5H0zWa7Z1f2jsqZfDJHZfca1I/DR9VxJAZERlNivPP0597hTz ZF7z9WLqvGWmYrQw49O92RSXn57+8KR+ysXGc7QKfcQjiYcgtewxzmfobWBzF407pEZo bSU8+ozLWXqEojzjE2hbudgYjzHPndxB1jDio+XN54lxVr1ZJIecNayF7/IXDNma+3jO ANGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e0AuYnxbhshMPYQONvciTF84/2mq59N4FQ8rklVmWuo=; b=DWu4Ne1g96SuQzQNxJ+ji2cH9yq6XmNjgLwAVh3ItJ/VjxsUcld0EshfuvCh5Px4Oa mnUmg8q2MS1TDCClRUWKufArRQm97GjHmmRVPj4IlzeL4VFsJ2Y5WzFQJx0rBnZds5T8 Ele4nBNZirdiziR2nLSXsXL4YKZsNhYs7KVRqFk0qwyh5w01+XFk1mQM0LWkZSrB56fO nUKtm5llscEMw71/GUKM7JK6lVg+kfQCDlKyvsNLQqpdTBMBYgkPyo3uwW8n+umld5WA +OoNJN6pxbR3AGBA6CYaBtpaGLs+2bajX5zwJ/YIkmGrTwTM8jx6h+jAl9qmQ7w+EAzx +fvg== X-Gm-Message-State: AOAM530UOxB3c8ET0/AxMN9g/10macV1A42okizcGuiA3WNIzz6viHA0 Xr7tCb5MS+GkfkMIWLYbze/R0xDvUokErb1Hguk= X-Google-Smtp-Source: ABdhPJzEAEB1nzwpqMzg2KN//9t7GNY4ir4mNGAiw9/LOabrZchdCDTvmFgzSphlJBtNFH4blMAY4Q== X-Received: by 2002:a05:6102:2274:: with SMTP id v20mr26495380vsd.40.1639375478576; Sun, 12 Dec 2021 22:04:38 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p46sm4012368uad.16.2021.12.12.22.04.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:38 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 34/45] gnu: Add node-debug. Date: Mon, 13 Dec 2021 01:00:56 -0500 Message-Id: <20211213060107.129223-35-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-debug): New variable. --- gnu/packages/node-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 82ac537133..782c66e160 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -941,3 +941,45 @@ (define-public node-ms equivalent milliseconds is returned. @end itemize") (license license:expat))) + +(define-public node-debug + (package + (name "node-debug") + (version "4.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debug-js/debug") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb")))) + (inputs + `(("node-ms" ,node-ms))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo" + "supports-color") + #:tests? #f)) + (home-page "https://github.com/debug-js/debug") + (synopsis "Lightweight debugging utility for Node.js and the browser") + (description "A tiny JavaScript debugging utility modelled after Node.js +core's debugging technique. orks in Node.js and web browsers. + +The @code{debug} module exposes a function; simply pass this function the name +of your module, and it will return a decorated version of @code{console.error} +for you to pass debug statements to. This will allow you to toggle the debug +output for different parts of your module as well as the module as a whole.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:56 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:57 +0000 Received: from localhost ([127.0.0.1]:53801 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSG-0002bZ-GY for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:56 -0500 Received: from mail-vk1-f177.google.com ([209.85.221.177]:45804) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweS8-0002aQ-2b for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:48 -0500 Received: by mail-vk1-f177.google.com with SMTP id m19so9678266vko.12 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vnfbjzUbHCstanzoBzAR9i1wdpF3nySyMNt7HoLHw2c=; b=HRkiVVphKfVd49ov6Dm6t9QObEUQ5ZEdEuhFRbGLMMWNYX8VcW8/M9AHBY5IOzZm4r DkLpHyRNPJEhH2xTiUIJBY74y5qSzhNcy/9QPNm3NEnzKRASbAV65P++L+u/gbJReoL7 f/paq+0n3I3ycHj0gl9HlgehxgLgrb1Tzs/9yywYsMt8vK+vuGgadft9ugs+mwCN66pA Bj7eJ95TGsuLnPCtgIA2Cb7K6H2pRzJ0STC3pBdi1kK8RML0gX+PnfQylM+l68zmqaet GRFbIis7M4gJ37aorjAr76MQOcMrPN/8UvE7wB0aDYcaf1S3a0pXInqatcnqia1LmWoU McXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vnfbjzUbHCstanzoBzAR9i1wdpF3nySyMNt7HoLHw2c=; b=gk4Ek/9dpk6XhuANjuxcN4Xwq3moCUoQ14/VoRY4Ff4mZBG4vfq/O6nGX1qWNYSeiY R2rR9fR5/UiIdFIPMUbW5P3Wsay3oJnYoKGw+xFsdN/upMamZYCiEDO7Jn4K2LxeDOVu o4POmYmYUzqpr/gzmqCCOmqHSeeCAFeBm+Eq1sc4U8EyVJZEDLaGA2aIp5uPTORD489c NmjRVnRUyvoxj0FLa8QRrbIZ9bSiqIv2XHSQkZoI7HQnpZVX8KHcnWAI3NtcQXV4hKz5 /p+aDyc5uHZE0Tf9Lh59rvMlAgDc5kMzB/oTTxS51Xm7Ex0+mdrsWvY3VfzwGFbq8sir hJzQ== X-Gm-Message-State: AOAM530jit7MDqqbG75mui6FoyswovEUPkWm48obBsnrskWQv6jWm7cE mWXDPzEbg2/to88OGmip2xzmqUrN4DmbZqn5ulQ= X-Google-Smtp-Source: ABdhPJwZSdR2onDd66WC69SXzeIKxriBOMUYtkMtNUn4/quGES+tZ8ImScjGjs0cdZN7RUmezdRjSg== X-Received: by 2002:a1f:ee07:: with SMTP id m7mr29925325vkh.27.1639375482628; Sun, 12 Dec 2021 22:04:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j15sm3704041vsj.32.2021.12.12.22.04.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:42 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 35/45] gnu: Add node-serialport-binding-abstract. Date: Mon, 13 Dec 2021 01:00:57 -0500 Message-Id: <20211213060107.129223-36-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 782c66e160..d821790ecb 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -983,3 +983,37 @@ (define-public node-debug for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.") (license license:expat))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (inputs + `(("node-debug" ,node-debug))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:59 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:59 +0000 Received: from localhost ([127.0.0.1]:53803 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSI-0002bq-VY for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:59 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:43772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSC-0002aa-0Y for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:52 -0500 Received: by mail-ua1-f47.google.com with SMTP id n9so8335399uaq.10 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FDG2I7aDnM1yPbSTw1bniogNXgwAhacbqIfXmXqdAC4=; b=EDZgXWLU3+m6QUcUm3+Y7tI54x1nYTfUZiojjI5+MiEz7sdJkc3zHuMd4P2k/CPxL+ MA1QhyCWw631Jj8z6E+YDpG3UFCpncQ3r6o0SrGsMGpW4i1zjFrHvIB+PK5c9hIIyl0o aApkQk2PSJVL7Qx7UPHAhOvztpNbdX2cb1lU6Av2GbWMntwFQKJ0IQUpaiYsNMX0M8bw UdrTjXDZstasCA3/pWvPFpdDamY8mmS3mI6P1DQ6X40bi1usuOawV+47mMLXDAaE+caY Y+mlqAB9WRVciSc/7ar6Qah39B3PZTqKv8P5YDUj88YveUWLxNEfEgn/KVkKehkvaz7u dpGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FDG2I7aDnM1yPbSTw1bniogNXgwAhacbqIfXmXqdAC4=; b=QiI+7zSX5M+LQcRFq9RU+d3+NW2cyZE4APJZNZGB/I1SP6RnaktJVnaY5RU55fu5Td eetwNWxMOiK4NsAFJm5Xr6I/sqKZyZSsPmhDg4mJUZVXKImY8r4anLTglm3tlfUviEJ6 vnWEhtSS1xqerMVgs6LjfZxSJxYQX0K+fg6MVi4FvEyPAOduOvFl0CaD5Jf2dA/Z5PNx rBJaH6y6DKXqcB1kmIdVVhrK9O36QMrgBMPJoefCrlnT4BbzhkTG3kc5/WB9FyhihgF2 pI9zGreS5HKbIL0BN2baaiPj7wcN01UuHXMzvlUB+gIKw/LpayRGfDt8vBmZF5rMRVoV efdA== X-Gm-Message-State: AOAM530bTq7yQfVFsK1z3EiNS4WuN2ZSo1jOCCvYFepHmcbb3M7sqRRs qhSp/GRcNWxOLkp1QLcRvvruW3f+VknulwW1ly0= X-Google-Smtp-Source: ABdhPJwvI2tvm6yewK7uzsmMeIC4Ux3SzwhqrGQruRuV9hIWhxKP3ycKX4EScXQwlu5sclimV5SCxQ== X-Received: by 2002:a67:df90:: with SMTP id x16mr25369442vsk.52.1639375486649; Sun, 12 Dec 2021 22:04:46 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id j15sm3964894vsp.8.2021.12.12.22.04.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:46 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 36/45] gnu: Add node-serialport-parser-delimiter. Date: Mon, 13 Dec 2021 01:00:58 -0500 Message-Id: <20211213060107.129223-37-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d821790ecb..4e69fd146f 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1017,3 +1017,25 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:04:59 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:04:59 +0000 Received: from localhost ([127.0.0.1]:53805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSJ-0002bt-AJ for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:59 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:33716) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRw-0002Zr-0t for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:54 -0500 Received: by mail-vk1-f174.google.com with SMTP id h1so9735040vkh.0 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GsoQQebLlBzr7ablElkGa+Js4eAh4ZVd1bbBbcYAa80=; b=f+COxHvbATUlWrNQaXN3T7giukMgKahT/78Nvp4dhRZYMZgzV8yxKX5nUcyVqTx/Mv sY1wK6MDfXmhbMcXbxwrPO6nnfiKu7HaDicuKV8fzQ09PA04RpQzjjHFFU9Mw9vAxOo7 OGdk4C6AtTRm88XtxmTW02BUrErfIKyVuF2YjO4Yd41p4NC0Wf+GFxP9s6me/bDXqo9Q l0YepzAF3Q+lGf6KbRnnjJgrDAca3lZy5LkIAwIuzG8x1GTHdqM0r4dY5gLGOVyO1l+7 TnKWHEPULGK9zbK7VrOszBULMErUvvlnELRquV8ulb3X28ro41e2ZOY6371paiwN8nkG jUAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GsoQQebLlBzr7ablElkGa+Js4eAh4ZVd1bbBbcYAa80=; b=6x4OEo7cQ07He695pENaaD88rLJN/nbJr4S9WGQdwfxO6lfaKd5ISrC1klSvcNheWj GHllxGZDR8Lv3J6/GGll0b+CAlp6dAAJgHSqa3pl7csE4Cd8iFVAfq1fTk2BpJjJ6SrW R5dui2hm00WnPBewxjbozgtv43WQkN0wHZGV3JY9FjX0t3TyIcfYQ+gYri6jO7eEk1nc CBSFeiL4HHD+ckXcki+ORHEYPgSujJXNBuhK1fEjD/LT4LAxcVoZbFABH7DUmOk1o9B2 wVCmtOs1e9k5k6AWFP+CqAdokMO59N1VnL4ty7nAwHzjL350+T9uXO5jFl9zEh5Te+03 v3VQ== X-Gm-Message-State: AOAM531/muhVTpPz+5fhG5yqt3AOe6B6usoauSe69JNlVwejYKFO06Z9 wt/EYjqJsHLGazjv4WnlMgqBEv6AM7aq6F7bJEI= X-Google-Smtp-Source: ABdhPJxbxG+U967+K3KFCpbT2+wpgyYqxBBqfFRK/ObsHk43EBKXhfiUIjU83DquldlnSyGlfBq7Tw== X-Received: by 2002:a05:6122:894:: with SMTP id 20mr30092439vkf.23.1639375470609; Sun, 12 Dec 2021 22:04:30 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id b11sm3446356vsp.6.2021.12.12.22.04.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:30 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 32/45] gnu: Add node-segfault-handler. Date: Mon, 13 Dec 2021 01:00:54 -0500 Message-Id: <20211213060107.129223-33-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 021bc81403..b63cd46fdd 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -868,3 +868,33 @@ (define-public node-bindings modules. It is basically the ``swiss army knife'' of @code{require()}ing your native module's @code{.node} file.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + `(("python" ,python))) + (inputs + `(("node-bindings" ,node-bindings) + ("node-nan" ,node-nan))) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules and getting stack traces when things go wrong. If a +@code{SIGSEGV} signal is raised, the module will print a native stack trace to +both @code{STDERR} and to a timestamped file.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:00 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:00 +0000 Received: from localhost ([127.0.0.1]:53807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSJ-0002c1-KR for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:00 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:43752) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweRz-0002Zv-V1 for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:55 -0500 Received: by mail-ua1-f49.google.com with SMTP id n9so8334876uaq.10 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Po03U5hKCH+O6vSfkBqyiv3/aJnr/Byyr90CAG35pOk=; b=g6zEU6YG2jZhjyAhP1bK5Kg9Q/Cn0o9cp7L8bDkUyv4uM9wqUNJ0My5Glr7vpbayz7 Wr3EAfIbyF7fMcxZ80U6lR8M415VgcJgeGbEh3Bt9stWlUB+6rsQteFtsQQjfmsYSEae jUQNB6yxJqfRSPN9dSr9cxN0laxr++YohQ6ZOzm9nAuPgTE8n1m86rfIsK/zBGoBwS0k eDZ5nl+TC/YFmc5NzW+zu5dFZxbdylRzJTKEQ35FYUo6M1sznVKe2j9DySkrPLB1EIP1 nmuTyaC2SQCnOTIig0Dhim+PHLVsRE5DVTHHQ1aY4wg89139n0nrfVoTvAflJfZjBLce I74A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Po03U5hKCH+O6vSfkBqyiv3/aJnr/Byyr90CAG35pOk=; b=IthYs3VbHfE4KEHD5E0IWAgwGDFEKjcRlaWF0DsqkJvA8TIVHo17TO/sSXoA+yFkH0 aQfMKvja30XSRqwgpcgOVrP2Kjy5E3NCFnTxZP8Uzmc6wEEYygfHbEc3AobrufH2Uv4C JdPwEkoAAxMJ1rsgcjK8l70B9mV7ZLQY1ebtFyUFf4Ab9/eMKrFxbxaaCK43S3ir/eJH 0SfFP/rw8pGRX9vf4QvNoqB9P/4PalmpciTtJHNFTvCqrANidRZe80ZFTCs48koV93l+ Msjjl4o2/8mV5DIomi+j8ht6pYhVy+WBhBa5n3+QGGSi2iWnG2rCkcu3N8+wSjmOQtHv mD4w== X-Gm-Message-State: AOAM530Ty/O+HNK9XNQwH3hhqSMWy9ITQghaAmj9irEuO9K/gh7Lon5e /Ww1IJd06X+jUcE+VB7ubWg9+jCFULwKFl13RjQ= X-Google-Smtp-Source: ABdhPJx3C5VhVgp5eRvktD56GvzfijZnqu1R6Z9tLUzq7RwY9PGAxSmpjtCVar5AUQqPQpXpDcUe8Q== X-Received: by 2002:a67:fa12:: with SMTP id i18mr25098637vsq.49.1639375474601; Sun, 12 Dec 2021 22:04:34 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i7sm3721139vkh.24.2021.12.12.22.04.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:34 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 33/45] gnu: Add node-ms. Date: Mon, 13 Dec 2021 01:00:55 -0500 Message-Id: <20211213060107.129223-34-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-ms): New variable. --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index b63cd46fdd..82ac537133 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -898,3 +898,46 @@ (define-public node-segfault-handler @code{SIGSEGV} signal is raised, the module will print a native stack trace to both @code{STDERR} and to a timestamped file.") (license license:bsd-3))) + +(define-public node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha" + "prettier") + #:tests? #f)) + (home-page "https://github.com/vercel/ms") + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time formats to +milliseconds. + +Features: +@itemize @bullet +@item +Works both in Node.js and in the browser. +@item +If a number is supplied to @code{ms}, a string with a unit is returned. +@item +If a string that contains the number is supplied, it returns it as a +number (e.g. it returns @code{100} for @code{'100'}). +@item +If you pass a string with a number and a valid unit, the number of +equivalent milliseconds is returned. +@end itemize") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:00 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:00 +0000 Received: from localhost ([127.0.0.1]:53810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSK-0002c8-6V for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:00 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:36527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSG-0002am-0s for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:04:57 -0500 Received: by mail-vk1-f174.google.com with SMTP id b192so9719212vkf.3 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:04:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ba+tsJOVlqWy5oRYwOXFKh+Lk78JBhg3ybvcimvcfGg=; b=CaJf/7dEgQLCMyaXXExVQN/GUMu2mGXEV+zf4lPUR0TWd2CYZgKmD0RprMWkQmYQuF 8yXF8Rf+QUpkW/EvO1PlhfS3ALWK0mljKCuVE3AkDji5TUORC829cX5Wa4vx5fZze1n4 KU9ExGYFgfUWnb8/acgtPadBzC2UfxQxxkbtpDB3fB4EXVmfCtSytG4slN2oyg+fuX2L 23dNEtnfNIJIn+Na/NPNwU/4EPnRu2qw7WaZwgspjS+1AdVykodl4PWZZzJfz3MZwbc2 igvJmup2sHZTGj3sdkHpMdifDVb5krnx6Fx7iH/gMIVLEXY8yrSPjbIqVpk2VrK7i082 0kjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ba+tsJOVlqWy5oRYwOXFKh+Lk78JBhg3ybvcimvcfGg=; b=xbS7FzVWkmtA+Hz6FYGPTEenzU84eFBbdeLUj/Oj2QqOFRa/RYu4zpzI9jo1rkTNEQ l5m2geWZ0N+fVOKNe/0Wisx46j6Z6f9CDo+51rxvUw5WohZXhSbAmGm9qA5TXg2E9nLq cpUC3C26jcVZQDjGn38v+SlJ17RcX0eHG07bPH7hHd5VWoO9w7/wDl31emQoiTVcnfJU cOV7XHI21ss7KY7OY6vVX9JnQlaKjuwiOGouk2Yz/QocIM97qe0R4EI8J0g07jkWXPMu 6OwmohZZeTk+dSzlc91eBY1Y6qNgAcUThCYtxKr0hLLOOTL5LCH8ZaTkkDJ7jRfoQMAP 8uxw== X-Gm-Message-State: AOAM5309xL//RJ6gEisS4859TwJSXUvpzItO9EuBaGfS79b5KSpa+VVN ff75ccRyQYNcknZL8RagXxP9UOJRitYaaA7TfcI= X-Google-Smtp-Source: ABdhPJytlqzd2jB5IbPYc7NDHAiw+e6BRzGpFJM/1MSdBTtNLTaKwE7BW0fyWNzsYPAOTXy8d5uOdA== X-Received: by 2002:a1f:3094:: with SMTP id w142mr29390003vkw.7.1639375490723; Sun, 12 Dec 2021 22:04:50 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s10sm3881018vkf.9.2021.12.12.22.04.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:50 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 37/45] gnu: Add node-serialport-parser-readling. Date: Mon, 13 Dec 2021 01:00:59 -0500 Message-Id: <20211213060107.129223-38-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. --- gnu/packages/node-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4e69fd146f..873e0f9a39 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1039,3 +1039,27 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + `(("node-serialport-parser-delimiter" + ,node-serialport-parser-delimiter))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:16 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:16 +0000 Received: from localhost ([127.0.0.1]:53831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSZ-0002fE-Kp for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:16 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:42633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSK-0002b3-0n for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:02 -0500 Received: by mail-ua1-f51.google.com with SMTP id t13so27289072uad.9 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8oER+gIbu7c1NWgvvO8xEY5e/UgWsdRQk4z4YK3kxwU=; b=XNl0dNdTIa/FpJ6cQmTvLkxBKSgC53N8fm4i6g8p3WGrMTWS81blw+uvrlxz2K1Sgv ymYDhAC/ADDQxpebPXgglNZGM1Q9ZTQt5nTUS/9szIryh+weEJXG2VinmkH4H4xT0MnS dp5SX9A1sJb2W4pSkipSjEBpL6jRzQi6VtJTuKkkXCMdLbRegUvhCwyuHIxPkQgOxzCY w+pSaPqCakttC/8Zbr4UklQRCiW+M84+1r+f3pkK4+mivVdUWm/m6ejab6PvSNEj2oSQ G4qb+bXfxCLPSj+VltCETjdovhdJiOSLqWNebRsm+lUi4OP+yOyHwBQ8YhnSXbAy9r17 CqTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8oER+gIbu7c1NWgvvO8xEY5e/UgWsdRQk4z4YK3kxwU=; b=Hu8BX2Y2hlpqMAzdOf+hyq9haC4VxkwYS1yTMqYBQ959THwwKC0edjMxrPPKElgV4b EDJLsFU7AhIdH8fKEOsTyGV52fEEmXKMU9X06bMKffAqDa8TW9bfVKTxJKVLCRu+C2hd yh0+r8SEIYAQO0Q1Y2Mf6Psc72f7U6kBk9VC6J0OuBcCBsDC2L9aGhIjWCR5W8ln5A5B aqQpV36gfGVSInPm+roZZe3WFeztDye7/vBSCxquF9xHBLhL06M8l3V6aRozoDXJox+L 6+RIk7NyhinrAWjgJGtq6RJYqSimeWL6YKkVp1n0hfiTQ7Ta9FhE2Oi1UAwD2XvPHkt8 E6ng== X-Gm-Message-State: AOAM5332xDxsRMlYwxyvqbnZAXvoaFSEAhKJ5W+7fhcko+uOa1rTpdG9 p5v1meCN2fQzdycWFJzrPuNmZ9YBmtgwWBT6qUs= X-Google-Smtp-Source: ABdhPJx17lJPiFEByEFtcnV9ied58zZ1rKuNFd2+VKtiPetKNwPXDn3amx0bos05jVp6o1KhnJenow== X-Received: by 2002:ab0:6c44:: with SMTP id q4mr41230298uas.72.1639375494689; Sun, 12 Dec 2021 22:04:54 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y7sm3850520uac.3.2021.12.12.22.04.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:54 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 38/45] gnu: Add node-serialport-bindings. Date: Mon, 13 Dec 2021 01:01:00 -0500 Message-Id: <20211213060107.129223-39-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. --- gnu/packages/node-xyz.scm | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 873e0f9a39..9ee33c7402 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1063,3 +1063,59 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + `(("python" ,python))) + (inputs + `(("node-nan" ,node-nan) + ("node-bindings" ,node-bindings) + ("node-serialport-binding-abstract" ,node-serialport-binding-abstract) + ("node-serialport-parser-readline" ,node-serialport-parser-readline) + ("node-debug" ,node-debug))) + (arguments + `(#:absent-dependencies + `("prebuild-install" + ;; devDependencies + "@serialport/binding-mock" + "node-abi") + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-file-replacement "package.json" + (lambda (in out) + (match (read-json in) + (('@ . meta-alist) + (match (assoc-ref meta-alist "scripts") + (('@ . scripts-alist) + (write-json + (cons '@ (assoc-set! + meta-alist + "scripts" + (cons '@ (assoc-remove! scripts-alist + "install")))) + out)))))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:16 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:16 +0000 Received: from localhost ([127.0.0.1]:53833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSa-0002fH-BC for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:16 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:45017) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSO-0002br-6N for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:05 -0500 Received: by mail-ua1-f41.google.com with SMTP id p2so27273768uad.11 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Sa7KN+RS0TgVULAtzfR/iGqMlrOG/3LR5CYFAV/deQc=; b=ddmcLe6POLHpFtjv9wzljEAm1AUhX0IFCJvzmQHNpnLCz4E04xjtBV08SfS5Wy5dvL b4TArYkv/LGQvNcBdROuT/Nepc2dXK+s4ZQdHLiNSe3m4RT0fm05ihvOphs4hPc3gda5 /Fa7xYVw0jsTUsPMQvQOVDuIGfA4FJjy84jrdRvCH05XkpeemWDT5VP0T1mE77taeOFT WuT3XeT9F6NFobSw7WgDoag4WgAbQcX8Cr7GkSkeIdBBHcRqcBhS94u+QusMPkqd/0lN /qT5VF40iNgwHooyXpQjUd7B5rDS6XBu7guKJos1m+rIX8nIl7UKC19ZubUMasAtD5ME /C+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Sa7KN+RS0TgVULAtzfR/iGqMlrOG/3LR5CYFAV/deQc=; b=R8q327GYfbb0MG0BVTTMXkbdtNDf0aCf23ul3iZ8LoDzQpR1W2Y6PiRMYLKye4Bof6 lhdF1wfoWGVc1Q3oWx9B34gwzZk612g/u2d5zzKHJSdIRg0suGXU+gNdl0JUzyi+L/++ 1aB2QgE5DI4twYkqe3kxf/C1NNtQGXgiQT2K+MG50fkEh3Im9+rV2u710ROTzrUFNAkd H+oFR/9v6z3skiBtLlIOXUYRUoZFScO1b676krqNNffY9QpckOSpesUKYLG0K3obmAKI qqWHywWqkNfvBysT5OgH7LuNkYWXMWuzsIfhwIAjj17D22TNO46wamaJu7b5NU5i8hfA P7gg== X-Gm-Message-State: AOAM533f0wt55izQ1tbAlvWTHglGtYB3ainnf+F/GFm4h8pjIFh8n69F ZS1EtV/OtnevdVcoSkKbjF5II6mVRKSnUJi2syM= X-Google-Smtp-Source: ABdhPJzdKfYSCmYpnYAa87HXoy4/l3OqHKsxUk5cvDX+TPVAGo1pa3ocufuaJOLpzZKVEBNIN2+DiA== X-Received: by 2002:a05:6102:953:: with SMTP id a19mr25147161vsi.28.1639375498791; Sun, 12 Dec 2021 22:04:58 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id b10sm3884569uad.8.2021.12.12.22.04.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:04:58 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 39/45] gnu: Add node-serialport-parser-regex. Date: Mon, 13 Dec 2021 01:01:01 -0500 Message-Id: <20211213060107.129223-40-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9ee33c7402..f8c6cce95c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1119,3 +1119,25 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:17 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:17 +0000 Received: from localhost ([127.0.0.1]:53836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSa-0002fP-Lm for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:17 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:34376) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSS-0002cz-9V for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:08 -0500 Received: by mail-ua1-f47.google.com with SMTP id n6so27370268uak.1 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZiJjluInYMQG+WQpbcc5jFp6ZaJO44WYhIQJR2MUaCo=; b=XNVGFNgqQtui6D5wn7K/oHlh5Alkj8Rs9JnrVYuXnphK5plW5taO7hVWL5WFGYQaiJ X5ymMzs+PuFwSKPgxV0o8hx4Tr2TCmXMP2wftgqRCGQpTgCUaUHFWBrAuh1lKcHcMqPS /qzLp5C53x+AGDbu2ZV34dOxn8y9e+2FQY0GSywdoAZiPDO67bq+simibCkXmQkyQbrj Oe+qCBSjCZymeI/aJe+vROLSuwmjeuGSQEyR4Ggx8rpEPKqgCXeAIdMsHQWUAY+Oeirq 2ZXGwiZVsYzV2CD22K9lxmq61EzqG4j9yUqSemlsYCJI9LhNAv2n9o+xjCDt6DXCyXbn 42iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZiJjluInYMQG+WQpbcc5jFp6ZaJO44WYhIQJR2MUaCo=; b=VBSzTE003gw0yCxJqwiHRstJ+xt67elJHOmKrYcygUsC3f/HyTON45dHNC/UDla3gF 4SrHgr2T/Obx4MAMU6jyiYRxGwexAsUzzZGw1YFF68N/pFkagNohdU1WvOxQV6eohYi6 fBxxJ3UgwpTFyibMO47lKOEza2+qy6LGBRSbW6+T1uyYT9mn6xb1bMEIl8SdBem6lB+4 XCY00VS+GfvVjelptfRCRxi6YnPv7yU3xCPVwZgla0tqk3iUYThSdDzFJLYbR0sTMHFB JgR/Eexbi3a+OH5uyL52z8yjcF9vzqI6/vQFcgPtiIabHtz43Rblp8ZcpXQF+y929b75 nPJg== X-Gm-Message-State: AOAM530RTJYFOjngkSGQedS1zn8nK7h5AqQ0Aeht+Lt9jD70lk4WaISl BvbW7OmXsU7e+Hm/Xp0+XQ3PGGjdCy9Pxrdl5ag= X-Google-Smtp-Source: ABdhPJxRLAZzBRjJFnqIYAtGvnf5Q/+TJKWcXsZJG3iQ/dfEeYy3noDMcyWH7ZZL8IX54rv+Uo5Q3A== X-Received: by 2002:ab0:2696:: with SMTP id t22mr39267732uao.13.1639375502916; Sun, 12 Dec 2021 22:05:02 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bk3sm3719792vkb.33.2021.12.12.22.05.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:05:02 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 40/45] gnu: Add node-serialport-parser-ready. Date: Mon, 13 Dec 2021 01:01:02 -0500 Message-Id: <20211213060107.129223-41-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index f8c6cce95c..8cc4efeed8 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1141,3 +1141,26 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:17 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:17 +0000 Received: from localhost ([127.0.0.1]:53838 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSb-0002fb-6c for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:17 -0500 Received: from mail-ua1-f46.google.com ([209.85.222.46]:40643) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSW-0002eE-DU for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:12 -0500 Received: by mail-ua1-f46.google.com with SMTP id y5so27310296ual.7 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oFXS/pGuc7TKdS6r+PpnoFih9hoe079OTUnr3NmtDPg=; b=hDuNClny8J63K0AFQwdsNNrOMLdVxHEIF25uLAgr/ZhikPnUS52Ywc9wk8e8Lj1kBg A8k+LGDO4p/NGDTHxafyASBDLxLs7W42vpGQqbc4lfR15dMDhk7SF/ui4TdIzHmlAv06 qZutECC84NnjfZ7hQkCL2ZNn6EXpXVtKA1Ty7t19DKo9N/7YnmEjPCm6T44aHFSHBNnp i5S78uaYAnZHjOFvpIXc2kp29Le/VJH0ibDeZagKn3zmMW2CKRto8CPdk6yg6HrHrZpS 3dilig3tcfGrcLNwl/MO9P1yS2NRCYOi3FA/i2zSLP1zCaOxg9jB5/m9RCp4+ZSIrNVZ iqaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oFXS/pGuc7TKdS6r+PpnoFih9hoe079OTUnr3NmtDPg=; b=DDYD2XVrWXSlNx0vGrIYd0BHdvLErtn9yjMHCke7mky42CkJiifWpQ2gfwZmLGL6jm vgasSr0eqg6iwKUChs+Ubi5MJjYMkXJSoYPU9n8u+cGawqBxAqzUG3Aqw76qPc13iim3 vF5fLa+hLHp59LSJjO/vRRO/d2zQPsmv7SRwR9CrVJPuZ7f/yEwHDkwtKodUso623C5i HfE8LEFNbJk/agrksOaeqiEazwKUME6u1U9mXRKTYQf85IYAoVJrp5iDEpkqbDwUqeDb PWNRZ1VYPFndBxTDNjWOCUGIHG6ymR1tXbwOo5+GHqCZ8S+dqx2ezZwbkAgnutije2h5 qBnA== X-Gm-Message-State: AOAM530OxI1GvEB3jtsNsr6b361CJZwa1y1058ZtoA6U3F0zqETAKRjS yQ8+I+oE0LfHdQZax33WTlGvKobXnxbpiMRwvjI= X-Google-Smtp-Source: ABdhPJxvZvaHRezfb/vbIPaK0xi/l3hsfKUTmBAkMOHjkA66Kwqb/iFz3wJUecsHuAz28XmtkvNEog== X-Received: by 2002:a67:6f04:: with SMTP id k4mr25780635vsc.27.1639375507004; Sun, 12 Dec 2021 22:05:07 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 66sm4183916uao.0.2021.12.12.22.05.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:05:06 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 41/45] gnu: Add node-serialport-parser-inter-byte-timeout. Date: Mon, 13 Dec 2021 01:01:03 -0500 Message-Id: <20211213060107.129223-42-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8cc4efeed8..3df6c37584 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1164,3 +1164,25 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:32 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:32 +0000 Received: from localhost ([127.0.0.1]:53843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSp-0002gE-Gr for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:32 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:34388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSa-0002f0-Ao for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:16 -0500 Received: by mail-ua1-f44.google.com with SMTP id n6so27370661uak.1 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jp7BnZc6mfgPF1aMGomE1uqg6O8UhC3Uq/AN+wWmN30=; b=V+rhW5ab8kVvRKr/DrOuAc9JLojMMShCUe7rnvF/iHCj4jhz28zGiZoqaUNVnqxRcX smQ3rJX8NQE4WI929M+ahvbDixeozqLXjdP2XAkbsCfwnF/8dlIi7nYM2E/EoUe/Clsh FZjyTySbpz3jG8IazCrBrgxjm7UNPNBYbvicRzvWm6aVITTboSSINRBaYdyORtwpUPk7 3qj0FWKK9si9zW9xle26WKgOIT0gFsb5kyhGS1F2B4lmHjZyDcMS5dn1ateRJEcECVbJ uy4VORX6tq/HJ6kzYOz5ENavrAhatuaPRdfalDOig3NiwTbu/MWA2S+kdtSvH/PMnIcj c6eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jp7BnZc6mfgPF1aMGomE1uqg6O8UhC3Uq/AN+wWmN30=; b=cMNMY2pcKB8OhYBAaxRD0CZPCBeX0NdzmKbg6HLBKEIi8dlqV6EmmJ/l9Wk+wxCFLN WMDG9DKO0HQ0yc9JT/09A/mqZx6caD6DOgUNEIM7L16nEWoUB025naGZvXGCreyXMjzH 9jtoWFqB3I22fBo4RowuBStLu/vbOBwaJZeBPh6ZfH3gsUZze488cFatUMQ9wZ9EZGQ/ e/bmogNSPlUT8mLs/1+qX+Hv/siwTnSY67GvF1AG53TbdMmia+TisQczBFi0iHUOFS91 rbtqs2N56KAv8tDVluwrgpD9pacdbaSvOjyA+v2mzFF+xaOBzRRSFaSVhUuHFiCvWCw+ jrmA== X-Gm-Message-State: AOAM533adZ/+Q6e8B+ICaiOFsfNeEjpPnJ8KW25oPFD47b2F8NT7aN/d mSTsRjefT7RV18jbvUaaf+fRkhC9nf2JCGbfTak= X-Google-Smtp-Source: ABdhPJzBSnFlAGKdLHyPR15+V5Axd1KIh7nJS6r/c8HjLA27e61bJY5r04PvYNAvejA6gwVaTpv4yA== X-Received: by 2002:ab0:74c1:: with SMTP id f1mr39321884uaq.109.1639375510994; Sun, 12 Dec 2021 22:05:10 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bj50sm3722301vkb.7.2021.12.12.22.05.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:05:10 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 42/45] gnu: Add node-serialport-parser-cctalk. Date: Mon, 13 Dec 2021 01:01:04 -0500 Message-Id: <20211213060107.129223-43-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3df6c37584..00d5cb7665 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1186,3 +1186,26 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:32 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:32 +0000 Received: from localhost ([127.0.0.1]:53845 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSq-0002gI-84 for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:32 -0500 Received: from mail-vk1-f182.google.com ([209.85.221.182]:43770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSe-0002fB-Dj for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:20 -0500 Received: by mail-vk1-f182.google.com with SMTP id f7so9712796vkf.10 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=udke9hVIQSW5Hp1V5aM32MWM0oG37/1g2sNRR/89uuU=; b=ehaHEs1Yo4MfjkTrmVaSQzRJEHBeSPosuHXNkpoKoZA7vc1n5vXMzB2zcIBHHB8o6N KCxauh9srA2Ig/9d7f94cBkcfiaXXmE29Ic46mO5lsNC4/XPRw6LjAiiuu7cJaK7dZVp 2j6PQQgWFpp6bZ2mjhRHCD41pK1P+p8xr12/MnhqdAyPzjmIr0qZZcIlMBAe75u2hams a0cNJSip7povWFYWKbQ5JbMFSfBFfzYA7t8kGyP50wwTaVe+usmDoLni3AbYNKoyEu77 jIQNobBwbdLQuEKdNvPTtFLurt2yCuaC84iR0OLYBGv+5B8PnSsvnrz9LniMXEzgdn70 EU6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=udke9hVIQSW5Hp1V5aM32MWM0oG37/1g2sNRR/89uuU=; b=AKT8SNX9427wVf7hBhylBJqiABKnYkV66WAhqdOgzGCis67lsJFYsvfIC5ysEZg0sM 2WbXQj9tqlwCMRFCOKNubkK/10aFnwoYSlVmv+zVA24MFZIVurUaYVjkXyzH9ZLtePQx Mcl1kc4cFNTDtZO8j34C+JRLofyghignG+uX9ep6xrr0YnKxTzMq96N1GM3B8yRbnrgP uoL0GZY0ovV/iLBrDvMYbBd36MQJbQ/MYbbwlmXxRl2qJDmuwnjkGgQ55OTdpdbYIlc+ 1hjbyb5BTSc0T72Z1gJDUdYQLdMZpkmuHBtgYJ1xpQS88beDg5S9RFfrJRft5DPzj3kB xn9A== X-Gm-Message-State: AOAM530JO2unZyRBhGk7zSkVskWlKrlIzOIKytbwcfBGy5VNHzSmMpkt 1QxqsMeTGTPm2+mAYtFrSfin1zc4d/WI0HZizCQ= X-Google-Smtp-Source: ABdhPJxsPslEcMQdXPebRuefrU/OBfk/0qMrcMWJ7QLRmzXRseLYLRlZs14VTL9/izdo+0nGQ0a+Bg== X-Received: by 2002:a1f:9f04:: with SMTP id i4mr28906401vke.33.1639375515036; Sun, 12 Dec 2021 22:05:15 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id o7sm3760536vkl.41.2021.12.12.22.05.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:05:14 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 43/45] gnu: Add node-serialport-parser-byte-length. Date: Mon, 13 Dec 2021 01:01:05 -0500 Message-Id: <20211213060107.129223-44-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 00d5cb7665..3a4d155b02 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1209,3 +1209,25 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:33 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:33 +0000 Received: from localhost ([127.0.0.1]:53847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSq-0002gV-QA for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:33 -0500 Received: from mail-ua1-f43.google.com ([209.85.222.43]:39575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSi-0002fq-Gq for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:24 -0500 Received: by mail-ua1-f43.google.com with SMTP id i6so27299577uae.6 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=klMSCld2txBYfd9z2tw2McgEXAtJN8Za0v6/7p+14xc=; b=kkogEC0svPAwnL8zTp2EL8lzNspmxnxnU37BmqSXS6c6ddPvu6/QwtiRi0Bh5IOBVg sD0Xkq+If2eY7Wg/YMpaqZtFnALZbWT8QzSFfPWfa8Om5Ebsg/GjXIBVAqLJiD6b99kg b3L1p/R8XknZ0BEIq69gNd9Nx0zuFeqKmBsfEcWTUTb1/iMGJVqnrj6rtyjIRePRKYrG js5jz0h4kqTay9cikIPGTeJxeEn5mYE5doc85iml3wm5u86NKf/P1xs/Qz47YOUhCyc9 HXRDkQz6tZP82eXSoWcfRQ5SJ7tHPpWgWiAMWSE1QfY2k8odD9/CWkQjYtpXbYkRhWQ8 RgmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=klMSCld2txBYfd9z2tw2McgEXAtJN8Za0v6/7p+14xc=; b=8KcwNj6piSm3iPPiWY57CEc8DEC7DHUIvdYloFXlbbNCka/7eQe7xrxTJqTFk0aMwb P4/rmveZ55ZCAcquX/iqaRxwgOAxS3ggD+1EupDX4NABbW/b0MAtxy4IBs+QYl3OQfNp jXnRybxcV3Kw9hjIMiS75seOIfGbxIgf/cqxvZC95Auqa/MORDniARPWWpGhAQitn3l1 G33tbABSjWeqI88bFfno+AhVtPKf6RWSLe2XelUec4eFdnLmT7m5qqY5hqAKXt4KHNjZ 1qfDYMkqKF3XjXUgll8Rowdk2mVz7Qda19tnjiZxq85yEnwLkRcFXbT262EkwK3BMJ2M 60Bw== X-Gm-Message-State: AOAM533CbTwUaWSMt3GtPKvA7Icy7dTJZKsujq/rOMOZ9fbghnfxDC2w Q+WeHm15q8Jjx7503/ZMNzPD4anLs7RfePwaxME= X-Google-Smtp-Source: ABdhPJymunzTpAM3d7UZR/jnC99EX236fg/qw6CsCfdC4nMt3TrnIInRhT4/jZrF8FayFW6sXAG58Q== X-Received: by 2002:a67:db13:: with SMTP id z19mr25887900vsj.4.1639375519096; Sun, 12 Dec 2021 22:05:19 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i1sm3697637vkn.55.2021.12.12.22.05.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:05:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 44/45] gnu: Add node-serialport-stream. Date: Mon, 13 Dec 2021 01:01:06 -0500 Message-Id: <20211213060107.129223-45-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. --- gnu/packages/node-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3a4d155b02..271082ce5b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1231,3 +1231,30 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (inputs + `(("node-debug" ,node-debug))) + (arguments + `(#:absent-dependencies + `(;; devDependencies + "@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 13 01:05:43 2021 Received: (at 51838) by debbugs.gnu.org; 13 Dec 2021 06:05:43 +0000 Received: from localhost ([127.0.0.1]:53849 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweT0-0002gv-8j for submit@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:43 -0500 Received: from mail-vk1-f173.google.com ([209.85.221.173]:39878) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mweSm-0002g0-Fs for 51838@debbugs.gnu.org; Mon, 13 Dec 2021 01:05:32 -0500 Received: by mail-vk1-f173.google.com with SMTP id 84so9694341vkc.6 for <51838@debbugs.gnu.org>; Sun, 12 Dec 2021 22:05:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Uj8l1PwC5yonT22mdkT7rXciKsL3hh51MxZpTdJB9d0=; b=Hab3bwd2B9mUzV0rQ8iDXqDBKMvRRT4U2yscWIKBKlsTtQNkE7yAO4jWDBySfVCjog qPCGAU5VvEfXL5jjDzw1zsR2wAIenJ5J5eg9CuKJTgApHAgowl34Cb0Cm6unKRIXIf+u mV+81CKWG1BpxAQnTehrd0pZIiFZtkn1j6pYI9PNjIVfsHslivl2U59npPxAejusyxyi lW5kSgGzIJaXLewY7868ixrMbAjRcCLD5MqWOgI83Y3wWOgEhhOyeVujReYEvF/rf+tu NgzG2/53QoDTcEcIfTB3P1VZki7HXZdBebnc+CuIaJtQApQTBFnIQ/mNhzWLa3OgStZW jQ6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Uj8l1PwC5yonT22mdkT7rXciKsL3hh51MxZpTdJB9d0=; b=AiYlpgUtDaVpN6U0CD02xbq6wbH2PTp6+19I8kzCxMTnn7X5/SimuiAr5MVbFt+0lW UvUXQU2t0i+zMccq2Ly+lqLA/vmTd7Tla5ERu0odsd6AdkzC3ihuQYQtFQRR5zws568j 6jzs7g7h6uEK1q/jcJqvNOqL8FHWyo/bXZ9TpE5/noqeU1mtTpwAfqX5WWsmH9HM6YCd GQ1H7HqCEEz6jfvWeClkM9DYvGKbDPjgQWhtvUave7qkQfzBmG2yZpYPZwBCaRwBVr/z trvPASRh267Q0EBvQuw+i5MEXg75jXyoyfKqADp2Cpzp9fWx/IyOULzrCeCYMP0nZc9T KXLw== X-Gm-Message-State: AOAM531fiEtghYa/jQYPWw0GQvGIwRpwRW6dSHO3cXrY12ghwpEcDyAu R2zagYhmEaMs00W3MWpuegEah162QxNeE+MBAF0= X-Google-Smtp-Source: ABdhPJwpi6aJV10FomoR4bN0zzXVoX51ufDL1hlpBOdJKBuCrAwCTqKSAYYoocNpbLnGPZIjzvFdyA== X-Received: by 2002:ac5:c183:: with SMTP id z3mr30257065vkb.20.1639375523101; Sun, 12 Dec 2021 22:05:23 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x142sm3662660vsx.15.2021.12.12.22.05.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Dec 2021 22:05:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v4 45/45] gnu: Add node-serialport. Date: Mon, 13 Dec 2021 01:01:07 -0500 Message-Id: <20211213060107.129223-46-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <46a042bc08eb72a068b1e8c69bfe28cf2d4b2e53.camel@gmail.com> <20211208202838.752542-1-philip@philipmcgrath.com> <20211208202838.752542-5-philip@philipmcgrath.com> <877dc924h7.fsf@gmx.com> <5c62c3ce-dd50-5dcd-00ed-ff1524be4e0b@philipmcgrath.com> <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 271082ce5b..92e16f2dc6 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1258,3 +1258,36 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + `(("node-serialport-bindings" ,node-serialport-bindings) + ("node-serialport-parser-delimiter" ,node-serialport-parser-delimiter) + ("node-serialport-parser-readline" ,node-serialport-parser-readline) + ("node-serialport-parser-regex" ,node-serialport-parser-regex) + ("node-serialport-parser-ready" ,node-serialport-parser-ready) + ("node-serialport-parser-inter-byte-timeout" + ,node-serialport-parser-inter-byte-timeout) + ("node-serialport-parser-cctalk" ,node-serialport-parser-cctalk) + ("node-serialport-parser-byte-length" + ,node-serialport-parser-byte-length) + ("node-serialport-stream" ,node-serialport-stream) + ("node-debug" ,node-debug))) + (arguments + `(#:absent-dependencies + `("@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:03:45 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:03:45 +0000 Received: from localhost ([127.0.0.1]:37253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2b2-0004zs-Po for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:03:45 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:35335) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2az-0004ze-7h for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:03:43 -0500 Received: by mail-qt1-f182.google.com with SMTP id j17so1217701qtx.2 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:03:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Kk596TqHxGJDYvXJ4SSki7czVU/go//6fzFNfeCfEjA=; b=IBBOU9fxAkg8U0owXZ7jlHkMKfq7wUdu+gTuV+PjWwk5lmDDSBWDASh8deKrhit5U9 9DYmiRSfVgLzWzKUrXIGrRFBI2NYIWWDmk7/voFWGayjhK5t5cCJbx/aEVv7hf/qNz51 t3w49qcgs13Bn6Umevps6/hfnXuNfxp0htCev+LvUfYnFzx8s1EAHJMTWbDy8mYLL2rh HPzr0OyXc+wote409gzKD4i0ktjYNDV9UeASVFaSmEb2yj8ASoy3HZyas0gC+ii6qnoV ucVpdWHIuPHLAGjmc/qttcr8UDVY+OhIrT+YP68zmQQZu4KBfazPfNZy4+iyE1O3SYTW 0dlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Kk596TqHxGJDYvXJ4SSki7czVU/go//6fzFNfeCfEjA=; b=kviDNXHoLfgockyoGyxod/tWQ8KLtHQhh2947KFatndlB5vY6yB8igAXTkMJnizZ4B 6wnyxoyPleA6AEn2BbRso2YXUhbwJS530OnJNjVFe85qGoalH2KltnNNKzROUntwKVcF ah7J1EpwrXA61KH6ZDhGObP1OWkaGuH8hwmuj0qbImqa2GsWGfPqO9X/aziXOO/RlppH sfKUVGem/aGyjRW2ogHHj7JxQAw6NBrI6l/duRn3lC1tseIGpW/POfWV1J41AwGa6rcg 2zo43DdfCiDQ7pVMsvZ1Q9IIKMPIt9Q0wlJuO6aukNZi2+k0iuDSllohdajARSdCi0Np rTAw== X-Gm-Message-State: AOAM532Fvy1ns1C5S3mOyqDi3GlfS3yLH3b+DSbhk3BcYczqNu9xQCg4 uvmaEJDuXsKyQGzLQGHOdk9IMJVYBo9OGZfQisM= X-Google-Smtp-Source: ABdhPJztYN8K0pD7CrScpbyaF7qwftoJvlFFiYlbgQJuyX2kmv3qjLiWP0Nln0yf2BTvgz27fenfPw== X-Received: by 2002:a05:622a:1351:: with SMTP id w17mr696606qtk.276.1639706615684; Thu, 16 Dec 2021 18:03:35 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v5sm5316855qtc.60.2021.12.16.18.03.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:03:35 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 00/45] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Thu, 16 Dec 2021 21:02:40 -0500 Message-Id: <20211217020325.520821-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211213060107.129223-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Since core-updates-frozen was merged, I've rebased on the latest master and adjusted these packages to use "new-style" inputs. So, here is v5 (also at at ). -Philip Philip McGrath (45): gnu: node: Avoid duplicating build phases. gnu: node: Update to 10.24.1 for bootstrapping. gnu: node: Patch shebangs in node_modules. gnu: node: Add an npmrc file to set nodedir. guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Refactor patch-dependencies phase. guix: node-build-system: Add #:absent-dependencies argument. gnu: node-semver-bootstrap: Use #:absent-dependencies. gnu: node-ms-bootstrap: Use #:absent-dependencies. gnu: node-binary-search-bootstrap: Use #:absent-dependencies. gnu: node-debug-bootstrap: Use #:absent-dependencies. gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. gnu: node-llparse-bootstrap: Use #:absent-dependencies. gnu: node-semver: Use #:absent-dependencies. gnu: node-wrappy: Use #:absent-dependencies. gnu: node-once: Use #:absent-dependencies. gnu: node-irc-colors: Use #:absent-dependencies. gnu: node-irc: Use #:absent-dependencies. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add avoid-node-gyp-rebuild phase. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-ms. gnu: Add node-debug. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readline. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 919 ++++++++++++++++++++++++++++++- gnu/packages/node.scm | 232 ++++---- gnu/packages/zwave.scm | 66 +++ guix/build-system/node.scm | 28 +- guix/build/node-build-system.scm | 129 ++++- 5 files changed, 1220 insertions(+), 154 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:03:52 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:03:52 +0000 Received: from localhost ([127.0.0.1]:37256 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bA-00050E-3B for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:03:52 -0500 Received: from mail-qk1-f172.google.com ([209.85.222.172]:35610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2b7-0004zt-VE for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:03:50 -0500 Received: by mail-qk1-f172.google.com with SMTP id m192so808798qke.2 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:03:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9G9JU5GMY9JQ9bis8V5NVUyL/WQZGAwZPgOXXsTKZr0=; b=hVh4HV1eurOxd4CA/yrrMhG1LBe+NrthbQ75v58TGUOeMLtool20eeXAT8rBZJOYT8 nj5qIlHJX/SH8Abf1MCKZqk1XhrRlmGvgeZSv75RQUQpHWa6aiEQtbYOt9nR/m2vgwyA FcpkKUYetCMf+fkFGMftLk4KV04sWNnGSC7JkcIU6s1Y+AaBFJHLtLXezD8vSr9C2gtg OPlR9Wv1vOUg6mKOHzqFaiFohmQXHtkTSLlEVL2jjH/8Ug2AyLjENM2w3So2CoUOhKrP 9m/RoARm42vLpwNNqHTqzUEg8yt379UQCXNBaJngduDxuMg6+Zr9PsPzkFK7+RdttDW7 At+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9G9JU5GMY9JQ9bis8V5NVUyL/WQZGAwZPgOXXsTKZr0=; b=U4V1r7nVZYEy7UqT/+Klrw85JnWPG2+cuj65ZNMCHU6o84JXjUwVpI0xl7pPfuJk/j 3p9KPyX+LCiz9cKqY5yPXmlUIT/biry2v+swHcQ0cRUvR0knLvv+xYb+/Jc9J7hgLDg5 mTMnFe41H0SuFygdcf8jL8sQMn2j+gNmXZuh6NfkLhvUjZ9c14IJPmJsccqQKHgbBeRP fGYSpv1Hw9XnF/RtScu2fuq1N9P6DLAqoShiFWLWqM8dQgck9bkPF7cz71cIPCgeft2f QoK5Iq3Dey1iCp4g3vfd6rkOuW2UA7eE7CjIYio4XMVoeytwP+0FWbo52Mc1p08XM8li 1/OQ== X-Gm-Message-State: AOAM531SCHu1LiA+Lu71zTtEkbOQHglWy9qq/uwljmiaWRKMGLPQcFl/ hQJblfRkpCt5NwIFmlcP1lgM9kPyQlEfaieHTc4= X-Google-Smtp-Source: ABdhPJzbhT39NukABPzYXwPHhZV3G5DUerHnbh4wDmOKu8dTWVa5uQLdwaduWK+k0viXpTJNIt+dRQ== X-Received: by 2002:a05:620a:108d:: with SMTP id g13mr557486qkk.338.1639706624261; Thu, 16 Dec 2021 18:03:44 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id l14sm3736558qki.133.2021.12.16.18.03.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:03:44 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 01/45] gnu: node: Avoid duplicating build phases. Date: Thu, 16 Dec 2021 21:02:41 -0500 Message-Id: <20211217020325.520821-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node)[arguments]: Split 'patch-files phase into 'patch-hardcoded-program-references and 'delete-problematic-tests. Adapt 'patch-hardcoded-program-references and 'configure to work unmodified on node-lts, but don't try to share 'delete-problematic-tests, because those details seem to change too much between node versions. (node, node-lts)[inputs]: Use bash-minimal rather than bash. (node-lts)[arguments]: Inherit 'patch-hardcoded-program-references, and 'configure phases from the bootstrap node. Remove the 'patch-files phase, keeping its remaining non-inherited work in a new 'replace-llhttp-sources phase. --- gnu/packages/node.scm | 107 ++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 72 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6b543acf6f..1635df5b1a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021 Guillaume Le Vaillant +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -106,14 +107,22 @@ (define-public node #:test-target "test-ci-js" #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-files + (add-before 'configure 'patch-hardcoded-program-references (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-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") + (substitute* + (let ((common + '("lib/child_process.js" + "lib/internal/v8_prof_polyfill.js" + "test/parallel/test-child-process-spawnsync-shell.js" + "test/parallel/test-stdio-closed.js" + "test/sequential/test-child-process-emfile.js")) + ;; not in bootstap node: + (sigxfsz "test/parallel/test-fs-write-sigxfsz.js")) + (if (file-exists? sigxfsz) + (cons sigxfsz common) + common)) (("'/bin/sh'") (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) @@ -123,7 +132,10 @@ (define-public node "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) + "/bin/env'"))))) + (add-after 'patch-hardcoded-program-references + 'delete-problematic-tests + (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -218,9 +230,16 @@ (define-public node (setenv "CXX" ,(cxx-for-target)) (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (search-input-file (or native-inputs inputs) - "/bin/python") - "configure" flags)))) + (let ((inpts (or native-inputs inputs))) + (with-exception-handler + (lambda (e) + (if (search-error? e) + (search-input-file inpts "/bin/python3") + (raise-exception e))) + (lambda () + (search-input-file inpts "/bin/python")))) + "configure" + flags)))) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) (let* ((bindir (string-append (assoc-ref outputs "out") @@ -256,7 +275,7 @@ (define-public node (variable "NODE_PATH") (files '("lib/node_modules"))))) (inputs - (list bash + (list bash-minimal coreutils c-ares http-parser @@ -705,65 +724,8 @@ (define-public node-lts libuv "/lib:" zlib "/lib" "'],")))))) - (replace 'configure - ;; Node's configure script is actually a python script, so we can't - ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) native-inputs inputs - #:allow-other-keys) - (let* ((prefix (assoc-ref outputs "out")) - (xflags ,(if (%current-target-system) - `'("--cross-compiling" - ,(string-append - "--dest-cpu=" - (match (%current-target-system) - ((? (cut string-prefix? "arm" <>)) - "arm") - ((? (cut string-prefix? "aarch64" <>)) - "arm64") - ((? (cut string-prefix? "i686" <>)) - "ia32") - ((? (cut string-prefix? "x86_64" <>)) - "x64") - ((? (cut string-prefix? "powerpc64" <>)) - "ppc64") - (_ "unsupported")))) - ''())) - (flags (cons - (string-append "--prefix=" prefix) - (append xflags 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_host" "gcc") - (setenv "CXX_host" "g++") - (setenv "CC" ,(cc-for-target)) - (setenv "CXX" ,(cxx-for-target)) - (setenv "PKG_CONFIG" ,(pkg-config-for-target)) - (apply invoke - (search-input-file (or native-inputs inputs) - "/bin/python3") - "configure" flags)))) - (replace 'patch-files + (replace 'delete-problematic-tests (lambda* (#:key inputs #:allow-other-keys) - ;; Fix hardcoded /bin/sh references. - (substitute* '("lib/child_process.js" - "lib/internal/v8_prof_polyfill.js" - "test/parallel/test-child-process-spawnsync-shell.js" - "test/parallel/test-fs-write-sigxfsz.js" - "test/parallel/test-stdio-closed.js" - "test/sequential/test-child-process-emfile.js") - (("'/bin/sh'") - (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) - - ;; Fix hardcoded /usr/bin/env references. - (substitute* '("test/parallel/test-child-process-default-options.js" - "test/parallel/test-child-process-env.js" - "test/parallel/test-child-process-exec-env.js") - (("'/usr/bin/env'") - (string-append "'" (assoc-ref inputs "coreutils") - "/bin/env'"))) - ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file @@ -802,8 +764,9 @@ (define-public node-lts ;; TODO: Regenerate certs instead. (for-each delete-file '("test/parallel/test-tls-passphrase.js" - "test/parallel/test-tls-server-verify.js")) - + "test/parallel/test-tls-server-verify.js")))) + (add-after 'delete-problematic-tests 'replace-llhttp-sources + (lambda* (#:key inputs #:allow-other-keys) ;; Replace pre-generated llhttp sources (let ((llhttp (assoc-ref inputs "llhttp"))) (copy-file (string-append llhttp "/src/llhttp.c") @@ -830,7 +793,7 @@ (define-public node-lts python util-linux)) (inputs - (list bash + (list bash-minimal coreutils c-ares-for-node icu4c-67 -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:01 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:01 +0000 Received: from localhost ([127.0.0.1]:37259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bJ-00050j-JQ for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:01 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:42663) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bI-00050P-Ob for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:01 -0500 Received: by mail-qk1-f181.google.com with SMTP id g28so764003qkk.9 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/GCs5FSPuMudlxbnhtfTO6p6aS6mWIoImv/Xi1QCLso=; b=cJIVhlMtxxLEZbZIHm8U6HfPQlS2T1593RvGssfvCADuoyLj/K34/84AeYgSkJmD1A DLsug+5OHziTIaAkdQCHg6VZ2r+FjqG/SFbCKptQwT/y+mpbh6XbvlCmn8bsb21VNaQN kXsxCSNVzxAjLy6K9Gvb6/RIHRhAjCxvw9QMozYV9SzuukB13d2PKOFrJ82cJ1DknW4s fmYxU6Ps7l9qD8SO0w6fBg4T3Nu4ulyufope8GlxkzNOSZAhL+LHa/70UQOCdg5kwD9h GcWDCsWI23FBKpdt/+EJJTyWymj/RgXOubis+ZsBGPs88gi0dZII/fR+NB3QGs1O5Fp0 0UcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/GCs5FSPuMudlxbnhtfTO6p6aS6mWIoImv/Xi1QCLso=; b=aOs87t5P0/6B7FI6XgxIwiaOZgeVLNZ1IHkvyXnDi4whbJ1WwOidwYm4544VYQv+B/ OX71r+n9G6oWq7jIy4izn4/zg7cX+v+u5KkqQyLdxzIP0FFPnNDPBy6F5funmbQXUhDa C7NAcXC2n9Ooi6jgDvdS7azWp4TKJxQv2jKopVNPTvnU9ZWlsgo2GltoEpsCrH4EgWOu gskfHFSkCi9j+6IiumKT/2OpQRrS5j5Tkg7BWatBHPFKevsitvgl7QMDN0rxCV6UtKbJ e1Lx7/bz4MIpNHJUxmxE08ZvPAemiG7bqV8qEaQP8v4+M7Q4dfRtQnIdPoh0c2+T49Xl LDbg== X-Gm-Message-State: AOAM5339IKkWWzr+nxY9VmJvHX55dxlt447f+1G5b1M7qSNVz7ffYBGG AJaLkgNUq2Sxtn+9SDAgICwYP9a/MSXa1PxoN5k= X-Google-Smtp-Source: ABdhPJzjKJu7lSKfO/9h/yn+X2Ul0n5DJ3oNx3Yq71FxR8omm/TaKpMRwkeC8h9I5CiZHLYsOFUfyg== X-Received: by 2002:a05:620a:404c:: with SMTP id i12mr558200qko.298.1639706635314; Thu, 16 Dec 2021 18:03:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id n12sm3784963qkh.52.2021.12.16.18.03.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:03:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 02/45] gnu: node: Update to 10.24.1 for bootstrapping. Date: Thu, 16 Dec 2021 21:02:42 -0500 Message-Id: <20211217020325.520821-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node.scm (node): Update to 10.24.1. --- 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 1635df5b1a..d433118213 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -58,14 +58,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "10.24.0") + (version "10.24.1") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm")) + "032801kg24j04xmf09m0vxzlcz86sv21s24lv9l4cfv08k1c4byp")) (modules '((guix build utils))) (snippet `(begin -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:09 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:09 +0000 Received: from localhost ([127.0.0.1]:37265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bQ-00051b-QA for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:09 -0500 Received: from mail-qt1-f178.google.com ([209.85.160.178]:38515) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bM-00050U-Q6 for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:05 -0500 Received: by mail-qt1-f178.google.com with SMTP id 8so1196916qtx.5 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QueHgRoKFRxviTVu8gMv/hUHJMXaPMpsFH0B0TaseE8=; b=RyH8f3aIxPUvyOP81Zh7AmKDP5JMbBSan2R/MeAqzOLpxkw/Zrj3nfIwwde7L7kUdG Ayy9fwab1XPTgmXg3L5F70EjfiQmqswlJd4FYvLJSHrPl+uRVb73Citu3HWPYm1jvkZa Qzo9QC3rRdbdYvQ01oJ6pdQy1IlZ9KLbkf1M7CHndMq/NTzS3/BdMM7K0qZr3Q1kCLg+ lNIosW2o6sLsbs8RniB7mCqO6v2M7/zAl9SZ31SsBby/pw1R9GnIpoIKxvnWMN/kzfz4 md7o2JfMwT/4VfhBmF1jgOzwPLSjNj4Etc+7OXGAgdEou2P0xqzZjv3fg1LAmUq0JhlV s70Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QueHgRoKFRxviTVu8gMv/hUHJMXaPMpsFH0B0TaseE8=; b=et7hgVbHoE0OU8Mz0Q+DwpvfnB0IIfqAsjzfMOzUXNfEz1yyk05mwOhfQZhJ+0AV6a WcnVs7nnqBnO1N6JoR+jSdhvR0JLwgVGNqkBRB8exVPWaHLzjOTWapPDo4/1wPkmh7XR IpwVNAVH0Fuv5b1Wz3qba2LGrR2Fy1cOGaCpFksdl5mjqanLStbiuyMWkP7Odf7hp2qW lU4fYOd6ioSsJuAJU6QqLCgvGo3w9zj1F2UknESm04fqCUSbQr36wewwYMadYlcs1hhm Yib7aYAWpnjYT0fgaRgDPIy3zCGExn4ZZMDCi6J8jTrNuOv8jSbcpWv45ErivMBoOA/J JL8w== X-Gm-Message-State: AOAM530MCZN2j3PTltsoxgq4tcVtm3GagT0gfe5GXlsoldLpxIlneE8I gJbufmPVODDCeR1/wAiKRxxbl9H6J77PC1dWA2c= X-Google-Smtp-Source: ABdhPJx8/QfYR/UWC+MOh5UOrxxOFbSFmyXpbzMv/RzlzMtBAXuobY1kGVvFuAcnvbrR7FpCvGuHnQ== X-Received: by 2002:ac8:5dc9:: with SMTP id e9mr733729qtx.12.1639706639351; Thu, 16 Dec 2021 18:03:59 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v5sm5317514qtc.60.2021.12.16.18.03.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:03:59 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 03/45] gnu: node: Patch shebangs in node_modules. Date: Thu, 16 Dec 2021 21:02:43 -0500 Message-Id: <20211217020325.520821-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node.scm (node)[arguments]: Replace 'patch-npm-shebang and 'patch-node-shebang with a new 'patch-nested-shebangs that also handles node-gyp and other shebangs under "/lib/node_modules". [inputs]: Add Python for node-gyp as "python-for-target". (node-lts)[inputs]: Likewise. (libnode)[arguments]: Adjust to delete 'patch-nested-shebangs rather than 'patch-npm-shebang and 'patch-node-shebang. --- gnu/packages/node.scm | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index d433118213..3bd98c715e 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -105,6 +105,11 @@ (define-public node ;; Run only the CI tests. The default test target requires additional ;; add-ons from NPM that are not distributed with the source. #:test-target "test-ci-js" + #:modules + ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (ice-9 match)) #:phases (modify-phases %standard-phases (add-before 'configure 'patch-hardcoded-program-references @@ -240,21 +245,23 @@ (define-public node (search-input-file inpts "/bin/python")))) "configure" flags)))) - (add-after 'patch-shebangs 'patch-npm-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npm (string-append bindir "/npm")) - (target (readlink npm))) - (with-directory-excursion bindir - (patch-shebang target (list bindir)))))) - (add-after 'install 'patch-node-shebang - (lambda* (#:key outputs #:allow-other-keys) - (let* ((bindir (string-append (assoc-ref outputs "out") - "/bin")) - (npx (readlink (string-append bindir "/npx")))) - (with-directory-excursion bindir - (patch-shebang npx (list bindir))))))))) + (add-after 'patch-shebangs 'patch-nested-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Based on the implementation of patch-shebangs + ;; from (guix build gnu-build-system). + (let ((path (append-map (match-lambda + ((_ . dir) + (list (string-append dir "/bin") + (string-append dir "/sbin") + (string-append dir "/libexec")))) + (append outputs inputs)))) + (for-each + (lambda (file) + (patch-shebang file path)) + (find-files (search-input-directory outputs "lib/node_modules") + (lambda (file stat) + (executable-file? file)) + #:stat lstat)))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -283,6 +290,7 @@ (define-public node libuv `(,nghttp2 "lib") openssl + python-wrapper ;; for node-gyp (supports python3) zlib)) (synopsis "Evented I/O for V8 JavaScript") (description "Node.js is a platform built on Chrome's JavaScript runtime @@ -802,6 +810,7 @@ (define-public node-lts brotli `(,nghttp2 "lib") openssl + python-wrapper ;; for node-gyp (supports python3) zlib)))) (define-public libnode @@ -813,5 +822,4 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (delete 'patch-npm-shebang) - (delete 'patch-node-shebang))))))) + (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:15 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:15 +0000 Received: from localhost ([127.0.0.1]:37269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bX-00051x-6R for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:15 -0500 Received: from mail-qt1-f170.google.com ([209.85.160.170]:33531) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bQ-00051Q-VS for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:09 -0500 Received: by mail-qt1-f170.google.com with SMTP id n15so1261817qta.0 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pAjgFEXwjFWIf/Xl/G42tFKyq9sxXqZV9/ZAN/eqYGI=; b=FehbZ2xqRw5sgrY4a2m34n8XWEXvXOBSYVNoWyry+wByHEyReD/Gb2Bh1LBdmdig7k axjrMPLIVvFG15zD7jThqvZoWpc04qB0shzGW1o28VkqeDDBq3/SBM+z8qyCsA4l5oOl 9rm9BImCyz3lKZJPJoRC3uaPxh9ArjX/7na45/gGsCE8AvjobQM1K/cNdsHLIrECDDMY EkujuTdyS2voOGmC1savCWGD12xTTEK3E5AWGlFZjRC6rSEi+jAWjbaUK6BkhCYOAr6p YLfgJzhB9LHeILb0wYP7YK5wroR3Fj5wVk27kn13TyxyLeaKgsnaXaujFgpzzYme9OK5 UrPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pAjgFEXwjFWIf/Xl/G42tFKyq9sxXqZV9/ZAN/eqYGI=; b=QpBJDwnw5BGqpoqqLnCzEC4mUZEQ3oXK3FiFegY/zlZjrjDRJir4aMoZCkGQqRAxME miaj4X7wNlGdvTaoZ3RN47VjTXQ/yzwZ+SLuXAwRZzDEi+oaKEEB0oWXTsa6Wope2Kv4 5tbux4VSOOwopMDe1Nqd8tT4BB+Aa5rQHlyUiREREj2/CoNr7FWViv4xM1lNEbhNEpab Vwtsm8YGYMTTB8nq9Z4P465VUN5U4HNyYYZ1aHZtlikSD8tX3OR8tri8tk5j2SwjX3BC ZHGUP5ZYrs3SnSS5/tqREPD5qLj79k3txCf2ZOjmR8cL+JeOVd/UQ0tbDI2GBr0nbsbY IOtw== X-Gm-Message-State: AOAM5336vf1svQa3xcHthotRIAE7JYnrEp2XKSkiQ50VHLf1SwevfsPI ZQcaEdmm9/SGVrSFn/DEb/GVmQKzUEfEO0lKRDc= X-Google-Smtp-Source: ABdhPJxCp23oKqgT7XXdhhdjEPu+OcUZASrDLwmZv4wMZcI65WgCtwMIVevq+CjU3mFCVa2OKYWWYQ== X-Received: by 2002:ac8:5d89:: with SMTP id d9mr695913qtx.49.1639706643538; Thu, 16 Dec 2021 18:04:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x16sm3913299qko.15.2021.12.16.18.04.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 04/45] gnu: node: Add an npmrc file to set nodedir. Date: Thu, 16 Dec 2021 21:02:44 -0500 Message-Id: <20211217020325.520821-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node.scm (node, node-lts)[arguments]: Add a phase 'install-npmrc to create a "built-in" npmrc file that configures "nodedir" to point to the output store path. (libnode)[arguments]: Delete the 'install-npmrc phase. --- gnu/packages/node.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 3bd98c715e..51a393caab 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -261,7 +261,24 @@ (define-public node (find-files (search-input-directory outputs "lib/node_modules") (lambda (file stat) (executable-file? file)) - #:stat lstat)))))))) + #:stat lstat))))) + (add-after 'install 'install-npmrc + ;; Note: programs like node-gyp only receive these values if + ;; they are started via `npm` or `npx`. + ;; See: https://github.com/nodejs/node-gyp#npm-configuration + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (with-output-to-file + ;; Use the config file "primarily for distribution + ;; maintainers" rather than "{prefix}/etc/npmrc", + ;; especially because node-build-system uses --prefix + ;; to install things to their store paths: + (string-append out "/lib/node_modules/npm/npmrc") + (lambda () + ;; Tell npm (mostly node-gyp) where to find our + ;; installed headers so it doesn't try to + ;; download them from the internet: + (format #t "nodedir=~a\n" out))))))))) (native-inputs `(;; Runtime dependencies for binaries used as a bootstrap. ("c-ares" ,c-ares) @@ -822,4 +839,5 @@ (define-public libnode `(cons* "--shared" "--without-npm" ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases + (delete 'install-npmrc) (delete 'patch-nested-shebangs))))))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:20 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:20 +0000 Received: from localhost ([127.0.0.1]:37272 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bc-00052L-H8 for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:20 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:41760) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bV-00051a-H6 for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:15 -0500 Received: by mail-qk1-f174.google.com with SMTP id t83so772735qke.8 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=T54Z7tru4r/5y6mpO5/aF6P3Okn3gk4tNEJ10zX8qfIk7aJgH82gTlI39qN/l7wPj8 EJWEa43xIb9R8N1hjGh0OREtCBS7CceF8G/liiLdsyqqVDQVQUx4udXAXrr4f6+IhcV9 9uEgQJqZAgsDuovfP5TIgzvFkijNO7L0d2jGbYg0MMT6tAE++LuXbkUUDYwAeTL5lUnt o/DlVDO2D3AnmWxNMneE1S9CyeaBdUdWscgbdMOy1GCvsWBIy2/XhFlhfW/hk4Gh5L5c jqoBHkoS8gO2BN8tH3G9dC1SacuuFnY4D+G95WJ3Lfi5nliEeIVVxvS8YRVvPBVh0uTr HuxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=oqsy5KD2d1tcrh8xQTM71752lDNtiye3/djWX/SkX1DExfeRCdMJpzpZe3G4RyCjZg FEEY4l+YAwFOmO/V5fAlrJlsmGZt7TJXBJdojGzeQl0HLGXi9MaDfl/4Ffr1NukuO5V3 36zzKD8q2/2CPHbhVgBE2aFMAEGXko37c11H0LhQRwVYBG302S+9acvsfcY/395HT4Ts +pCpuRba8yhPktKDjZZtrufvjNhmyJrBNpCfprJlzDP8uFtw6vei6ffhphWtkR8/Jaj5 bTQVGD0JG0MdWgG9t6Kcx9VICvr493CvAaYFyMr9ii6ootHPXvGq5HWc9gbYorerqrmR bNaA== X-Gm-Message-State: AOAM531leA/s5TkbvlRv64xtE7nLSeFRBxfxPcjpeK+gGF0/AvRtR/gc i6cAGo2PtcWSTSZ4QTXHA8nUHADB6273ULa7xp8= X-Google-Smtp-Source: ABdhPJz0dlYPx7xHGh3nUNWuMi/fUfXPpIQW9fTK0kUYGU0AKSe2jYhCG6ul9NkOCDMiv6gWOiHVeQ== X-Received: by 2002:a37:6312:: with SMTP id x18mr569894qkb.198.1639706648084; Thu, 16 Dec 2021 18:04:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bj32sm3897402qkb.75.2021.12.16.18.04.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:07 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 05/45] guix: node-build-system: Add delete-lockfiles phase. Date: Thu, 16 Dec 2021 21:02:45 -0500 Message-Id: <20211217020325.520821-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (delete-lockfiles): New function. Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist. Because these files specify both exact dependency versions and integrity hashes, they only cause problems for Guix. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. --- guix/build/node-build-system.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..dcaa719f40 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -96,6 +96,17 @@ (define (resolve-dependencies package-meta meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -146,6 +157,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:21 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:21 +0000 Received: from localhost ([127.0.0.1]:37274 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bc-00052N-PB for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:21 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:41944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bZ-00051s-Jo for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:18 -0500 Received: by mail-qt1-f177.google.com with SMTP id v22so1180471qtx.8 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HgDhxkred0qxyTO/DMBSW0NymNIb0O6DOenE65nfmIE=; b=g5e7KSnmlzB5bixd6TPp1mof7Fc7EJaDbVx8wVkPwJ9XbbX+lWc6Ku6SQ+3LuhULlu 7vW4SEAMPC/sugjJg2FyZZi1GVfem+plWSab3tr6VqhSZ8QX70q4Fs+CepfnDXsW2rHe 28QE45VhyvfFKikf72xsQclGc49x6VWPugV6j88D0DdxNbsFN5lQ55d+HtqxOgi9wcDp RBBJB/0OUgP8wYAixroJfZXSbJZwGHZKBmcRy8jqcmTECz0vB4KFPEGsQPl25fLPVUGJ D6KzZNorz4z2hIfihn/J8RrpDlJWXjS4L2LsICzvaeTnCdhOc1fxa4GB9Uz0MHtTozC6 tv2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HgDhxkred0qxyTO/DMBSW0NymNIb0O6DOenE65nfmIE=; b=VYksO5ZpSKjbfCS5vhne/5pzbw3v09SPGq38pAaZmBk79GCdo9AgokRdeGvsdmEtZx kvUlr6HB7hQYadoHsSha5NXrJbXtfgVB/SneA/rZd4IcJUUV86961SOdAOcc+RZu6e9B Ys7STthdQzS/LEFzg1WbQ5hFA9H5AMwpkahcYem3kvPwFTQ1n2jkOXez2v4t3OXCneBf fHz09xXX1RF0wCpQVFNuBuB2/dZBIj0BFp2Y4ke/Oo2A6gv0OTLrfSMRE+aBHAqkobFh NNM/6BixCSi4mD08ENhPDAfn3MAk0js5x9OeQ1Rz37V9AQvZa5L/FUkPFiJZJ0WdmBoa FO6w== X-Gm-Message-State: AOAM5330r8gzOa6QH/ix3dc5Z8HS8nRwuGesHTC0D0uUkMSnH9fHkZ48 6909TuMpvGi82UmR4IGeeMg9DYDD4b41uIWYuNA= X-Google-Smtp-Source: ABdhPJxBpLXJ31rkCLUMNqnYtBesl6PBUeS0iZTgzLbAgIGZb9bhyM06Zn9uFdTvNw0O7+OFIIJesA== X-Received: by 2002:ac8:57cb:: with SMTP id w11mr721947qta.41.1639706652133; Thu, 16 Dec 2021 18:04:12 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w10sm5945238qtk.90.2021.12.16.18.04.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:11 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. Date: Thu, 16 Dec 2021 21:02:46 -0500 Message-Id: <20211217020325.520821-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * guix/build/node-build-system.scm (patch-dependencies): Strictly follow the linearity rules for `assoc-set!` and friends. Clarify the types of the arguments to and return value from the internal helper function `resolve-dependencies`. --- guix/build/node-build-system.scm | 53 ++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index dcaa719f40..b74e593838 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -73,26 +73,45 @@ (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) '()))) + (define (resolve-dependencies meta-alist meta-key) + ;; Given: + ;; - The alist from "package.json", with the '@ unwrapped + ;; - A string key, like "dependencies" + ;; Returns: an alist (without a wrapping '@) like the entry in + ;; meta-alist for meta-key, but with dependencies supplied + ;; by Guix packages mapped to the absolute store paths to use. + (match (assoc-ref meta-alist meta-key) + (#f + '()) + (('@ . orig-deps) + (fold (match-lambda* + (((key . value) acc) + (acons key (hash-ref index key value) acc))) + '() + orig-deps)))) (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"))) + ;; It is unsafe to rely on 'assoc-set!' to update an + ;; existing assosciation list variable: + ;; see 'info "(guile)Adding or Setting Alist Entries"'. + (let* ((package-meta (read-json in)) + (alist (match package-meta + ((@ . alist) alist))) + (alist + (assoc-set! + alist "dependencies" + (append + '(@) + (resolve-dependencies alist "dependencies") + (resolve-dependencies alist "peerDependencies")))) + (alist + (assoc-set! + alist "devDependencies" + (append + '(@) + (resolve-dependencies alist "devDependencies")))) + (package-meta (cons '@ alist))) (write-json package-meta out)))) #t) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:31 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:31 +0000 Received: from localhost ([127.0.0.1]:37279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bn-000532-3n for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:31 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:33486) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bd-00052A-MB for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:22 -0500 Received: by mail-qk1-f175.google.com with SMTP id de30so848435qkb.0 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ofj5f41WUr2qAmebZULIlZn7/9H/dArRRzaaH6zxQ3o=; b=M3nTIAIvyIkD/TGPp9syx/jbLVYhThnU35k11lEBPEsLfSheX33KyNO6Cmj8LTkB6z wvlCCPghkm4uaH+cUeAsJIQ/BY5ouesPokW/RZhaRt6gFagF7iUpZ4OxIiguLGSLBe68 f7GEllaB/dNfwvHVlyjg3Deg5q2LS1PghAjSCqLXUyOx3iUSg+scUayBZ2G4icKjgBbe 6QJLi6vpmaV3P1WxDXS9QDN52F8MvxfjQLu69jktg+As4en/3ZNdXE+RdTn1zfX6GzGS TpiBQlcPUC0hATgT+pHRb/PqsTcb2SU87Od6s3bEkXOpv4+87CCktXfeJ0zNJ66Q8lqK 16Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ofj5f41WUr2qAmebZULIlZn7/9H/dArRRzaaH6zxQ3o=; b=lbNT0pW8JgJ5ydLrdCA5ERkbmPk579h2KDa8fn/kVVEJZgDuW6icxvyVARPalXQfsN 6W7UMS6ObDp8fgk1EPfrnSl/S3+ieHOQVBv56gW2VDmCQo+UbcIyY7Sw+ZEtasIXpXgz eoeUAqs2Lf8wqNK/sX9cXhEdk3Kv8ioFs4ovgRbbSMA4Ivr5ixTlHZ/a4s2E7Z7p65Dp 91ubv65tXLLgkAnPBOtyrw4i3TAfDGaurSkT+JKn/bjNSnSg6bOuNJWmettqQjw1KUc5 tmZwGGarAA+k7SjEpWuV04nQww+UFWkxjh85gQH8jximiEeqZ5cx33GM3wpZZ4tjmTNA yWrA== X-Gm-Message-State: AOAM533LSXPUg1Cmjzd4P8qNkYEqcqxvolHJltgQvki3FUaPU4pGsDzO 427YpZDTqEqBMgUUwmTGedrGbYNFu1tyWHgqdE4= X-Google-Smtp-Source: ABdhPJzPMZDctv91yRM0gSmL9avGTqk2eW7X4/2A265+iICMV5dWiOOgVpzLhZQsc+x30/xAMJ5nQw== X-Received: by 2002:a37:502:: with SMTP id 2mr533448qkf.701.1639706656142; Thu, 16 Dec 2021 18:04:16 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id k23sm5249952qtm.49.2021.12.16.18.04.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:15 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Date: Thu, 16 Dec 2021 21:02:47 -0500 Message-Id: <20211217020325.520821-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower, node-build): Add optional argument #:absent-dependencies with default of ''(). Pass it on to the build-side code. * guix/build/node-build-system.scm (patch-dependencies): Respect the #:absent-dependencies argument, removing specified npm packages from the "dependencies" or "devDependencies" tables in "package.json". --- guix/build-system/node.scm | 19 ++++++++++++++++++- guix/build/node-build-system.scm | 7 +++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 735f8dd06e..330d10dca5 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -47,6 +47,7 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (absent-dependencies ''()) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -77,6 +78,7 @@ (define* (node-build name inputs (test-target "test") (tests? #t) (phases '%standard-phases) + (absent-dependencies ''()) (outputs '("out")) (search-paths '()) (system (%current-system)) @@ -84,7 +86,21 @@ (define* (node-build name inputs (imported-modules %node-build-system-modules) (modules '((guix build node-build-system) (guix build utils)))) - "Build SOURCE using NODE and INPUTS." + "Build SOURCE using NODE and INPUTS. + +The builder will remove Node.js packages listed in ABSENT-DEPENCENCIES from +the 'package.json' file's 'dependencies' and 'devDependencies' tables. This +mechanism can be used both avoid dependencies we don't want (e.g. optional +features that would increase closure size) and to work around dependencies +that haven't been packaged for Guix yet (e.g. test utilities)." + ;; Before #:absent-dependencies existed, this scenario was often handled by + ;; deleting the 'configure phase. Using #:absent-dependencies, instead, + ;; retains the check that no dependencies are silently missing and other + ;; actions performed by 'npm install', such as building native + ;; addons. Having an explicit list of absent dependencies in the package + ;; definition should also facilitate future maintenence: for example, if we + ;; add a package for a test framework, it should be easy to find all the + ;; other packages that use it and enable their tests. (define builder (with-imported-modules imported-modules #~(begin @@ -96,6 +112,7 @@ (define builder #:test-target #$test-target #:tests? #$tests? #:phases #$phases + #:absent-dependencies #$absent-dependencies #:outputs #$(outputs->gexp outputs) #:search-paths '#$(sexp->gexp (map search-path-specification->sexp diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index b74e593838..892104b6d2 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -69,7 +69,8 @@ (define (list-modules directory) input-paths) index)) -(define* (patch-dependencies #:key inputs #:allow-other-keys) +(define* (patch-dependencies #:key inputs absent-dependencies + #:allow-other-keys) (define index (index-modules (map cdr inputs))) @@ -86,7 +87,9 @@ (define (resolve-dependencies meta-alist meta-key) (('@ . orig-deps) (fold (match-lambda* (((key . value) acc) - (acons key (hash-ref index key value) acc))) + (if (member key absent-dependencies) + acc + (acons key (hash-ref index key value) acc)))) '() orig-deps)))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:45 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:45 +0000 Received: from localhost ([127.0.0.1]:37281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bn-000537-GA for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:45 -0500 Received: from mail-qt1-f181.google.com ([209.85.160.181]:36498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bh-00052K-KT for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:25 -0500 Received: by mail-qt1-f181.google.com with SMTP id t11so1207550qtw.3 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZhdPDpnksZab3jRF536pAVOt8rkPDSGFtmMZyMvZmBg=; b=LOc9jXajX36BOIhWK2Tm79nlNKgkwSSi5Nc8r/aZMz3W42UAuSeGlRtFBLrEk3cTX9 68Bcw3Wna2ukYUYxK1qIUkZmInG/F09seUjGfQrRmKnrdxREhl5kcPeQdYue0161yfhQ D8bipLkZi+JiNQKxp8yfLhSsDcjw40adu6h4cQkMTYb/7zMFbr4Yk+cgSjjlNVP2YfSK ZnHlY2w8cUAnPAMHGm6aAhUBC8rn3z8JbRkffTsJwkVLOqLH2oCUw255wacRFmuMgwdQ XpmPfZL2MFIGqRqUmCucK/xjTOOgwpl559NVMsOvnDoSWrj5Be0rxKlvN6MzY8jUwrEJ zsZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZhdPDpnksZab3jRF536pAVOt8rkPDSGFtmMZyMvZmBg=; b=YaRd7IblDMnr9hfs4KCWR8TJKClnRoCMqtbZx6eMr+avMIAxuIOARAKoIkq3VcfZDw XTRRBxancgBnNfMlt6q/08TqGlMNRx4oe6ACeZ2UlL+9fWLo6z0hrwBGIoslccCxeJ5U rWoexRVPCGVTtpFPn2nB1c4Qr/1js3QQ9XOOeXncV+f5KeqTNYIK7Dn5wCzfvGLymQ0i f+NzTfk0XVI06kUr0BbybMHJmhTSNNeTpaoHP4c02VHxuxp/vJFIzQ8NXNpUHoDtqATh IX0T5KsI4KrJIT4OgBhMgA9tinETxjezfAaIBPZm4mnn6KzdcFAnkx/Yy5b817QQ8nRt p/Rg== X-Gm-Message-State: AOAM5323fvahcYKiR1coIzKxzgnRC+lATczwikvM9RRI+TuJmopEk5VY BqePaDGYo9HsTOEkMB5Utws2oiAf+gEwxZdVVoc= X-Google-Smtp-Source: ABdhPJyTLCzbeHAuJAqnZmDi/LM3h8SOe0sqiDV8g9wyIYQZWgJWzxdDeyIsyZY/YEfuJa0FEzGfZw== X-Received: by 2002:a05:622a:60e:: with SMTP id z14mr654867qta.639.1639706660200; Thu, 16 Dec 2021 18:04:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id h22sm3772988qkk.14.2021.12.16.18.04.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:19 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 08/45] gnu: node-semver-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:48 -0500 Message-Id: <20211217020325.520821-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 51a393caab..95f5f28b3d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -344,9 +344,8 @@ (define-public node-semver-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:45 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:45 +0000 Received: from localhost ([127.0.0.1]:37286 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c1-00053m-Cx for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:45 -0500 Received: from mail-qv1-f47.google.com ([209.85.219.47]:44771) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bl-00052h-JX for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:29 -0500 Received: by mail-qv1-f47.google.com with SMTP id kd9so1016414qvb.11 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NoVPktuLVElyZq4/B5P1b94fagv33Ex/iGXUWAz6Ovs=; b=LYT8uuj95EG8XtXH14wuIalEUYy4BKuNZuEOChH0nLUHDEExQDaW1r8rZRx2hrGUIu /X25R4y1m0BEikW4TGKNJxM3z8zXvCLedxocrZCq87Kxd3rmczP/sRGtwo7G96mDocPZ Kj+Gc/0axWCD7etU46grvzvSbaIJxfa+rD0VU5oejB9OD4Qz54yjjn9yBRPNsi8RFVQy kOdAtL5drWDS+jkqTejRReUCQRRUnz2Jvn/6fOY1V0VMH7uoV04jmNat53M1TTH77d1T 1Ul+SDR+L2WI168ahIgwYEPS/6hnBI0eDjk9RHcQQugRlz2+i3q8uFyrpuaPV5z48jy1 497Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NoVPktuLVElyZq4/B5P1b94fagv33Ex/iGXUWAz6Ovs=; b=pMtbDXl25y22aD7iHT1Zc1mWwzg04mDKnhYv8kMEOs0ajoCmoguFY0OyJvLvZKBm2e /dzRjGGG97hcIMoqCcd7wWwErFY50OXWvWJFH9j80aITBBZzNyBM9n0ahcZssXRhCsbA rn90kcdCAX0fg6waog/L05AbdRzGoYbCV9LMzXhmbc6K36PNxJv6R23+8nz5oOYEobQP PFGJEI+Y5Rae14iXiPdXZw0s3eIPOaRlrWQTibCkOQNdDSkfCkcBxzNdQkuDOyAiIzu0 OAaesRLTHE7uq2/HfwP9aUgPeiHmoYW71YXq/mQ1Knw23o6cmYYyqWhpRQgrzpMJhZc0 LlAA== X-Gm-Message-State: AOAM532sha1FQlghjvlRxxKAuJfDcu8PawYC85feiwynFx1kItXyPKR7 xQiCfb9+AmjVezPVoI4KK/RIDgRYpO/WAXQf0eo= X-Google-Smtp-Source: ABdhPJwVM3qdBCbgCGcgH18ZiwTjlztvjFtzsmdlJcvtc+AoyRBf1fHMvWl/VLvFrcr8Dq9ujh5JHw== X-Received: by 2002:a0c:f8cc:: with SMTP id h12mr570717qvo.122.1639706664163; Thu, 16 Dec 2021 18:04:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g19sm5727686qtg.82.2021.12.16.18.04.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 09/45] gnu: node-ms-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:49 -0500 Message-Id: <20211217020325.520821-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 95f5f28b3d..bec3f4620a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -372,9 +372,12 @@ (define-public node-ms-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:46 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:47 +0000 Received: from localhost ([127.0.0.1]:37289 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c2-000544-N8 for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:46 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:35666) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bp-00052t-Kp for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:33 -0500 Received: by mail-qk1-f177.google.com with SMTP id m192so810028qke.2 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JOMkPJGKqe1Mk52UuXwsCKdgbg5ksW3ZRME+37auirk=; b=SaDyl85H8EmgVe0H8be9QRkhwLoyx2DaL8L7bE/i7mBx5qPLfTrzIQOlP3JjXZbnZN DDVyrH++1VU5nq3mYEi2+Ppxh+fRsCHMGdARKUQAg2iSF2tHnJrTgdm0PD3LZS6ENq+f A5E/tn/04tbEFhZZFwt/zz6FIoP4f11cYm5K6xQzl9ckosCenyQMQ+GTrYVJ79hg4RcL oL8PFHRDTXpmK8J0kKGZ4ZkH7lctMu/lYhKhRdXIIVFuR0j+7HDF+Y7Hi6+qNwOxr1K3 WjcM4SZmEGbQzhh4EYytEzG9p4BoauUkRfL6WP7zJoqaKZMyKpSm5grG+9ZpIYszfG9b o2AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JOMkPJGKqe1Mk52UuXwsCKdgbg5ksW3ZRME+37auirk=; b=b+/clbTCCFdxlIxc4v3zfhzoSYmUzBGUUz4lKhMw3Wg5TU+DRQMtu5zHL5IiS3cBgi Mw3z+OQhRXuN4W8RlAmvwURNJhj9WS3RUjAHvihFMHj1Gu8WivjhhNyueuVo8d3hIweM OpR9Uzk/xSpP0p7rzyII89I5OLJTR4G1d6V1tpDy56x6HESKhCV6KJgDkskIm/HxOfMh 5JMBDZVNzrWbCoSs9y+Y1Jn39og9Te4/T+lUp13hWzi4mV2Pfcv4tfqhWAXyhO08QiAC QG8yx5qkdYTtjbRQCCPyUmpzcgLUHw16CZ4JgWhgUnh0e6g+d9S9hqU3UM5A6v+jxnR3 QJMw== X-Gm-Message-State: AOAM5313Mi3HuxxII0xMU9V36RgNZpjR91pzVRiqFvCrIzZViNIY3Oet sXO3S57JbjTRSqb7ZcRrg6R5EgSvfK5Fi3q7ECo= X-Google-Smtp-Source: ABdhPJxpiXGbImUAT1ZKiig3GFUe9Bi08p9eXR1reAYvdNNQhY1/elwDpWNNaZPKJGmgSUPYBs2Ogw== X-Received: by 2002:a05:620a:191a:: with SMTP id bj26mr548738qkb.37.1639706668248; Thu, 16 Dec 2021 18:04:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f1sm5717878qtf.74.2021.12.16.18.04.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:28 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 10/45] gnu: node-binary-search-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:50 -0500 Message-Id: <20211217020325.520821-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index bec3f4620a..0a66b032bb 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -403,9 +403,9 @@ (define-public node-binary-search-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("chai" + "mocha"))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:47 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:47 +0000 Received: from localhost ([127.0.0.1]:37291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c2-000547-Vb for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:47 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:38548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bt-00053E-MR for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:38 -0500 Received: by mail-qt1-f169.google.com with SMTP id 8so1198043qtx.5 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2t1hGeRBoDe44g+9pKpHyIZTkrgMnLBzlvaqId09aKk=; b=aC6t87+J54khwJV4i44pU6qRi7V2m3phNmwNpy8JCfJ2t6qJ0VnSDvXG7qdUM5PDYG tgrvFRDgCUuqtmEiEjZm8LHqmaXLjssl2Sob5XDb9g3YUus3eQEIdBY2cZT2XE6NSGvs cC9CdWpj+RKDs7CdrMrvz3CVAgw0749/cUDt8fmHMIhoUazhD6X+k5o6JxGG/QrsnX+Y kknfwF1AWzzKl8OnnEaRyFtA9ed/0xEkyhWczR9Wk8cXVDbvxNDPPvVnLwdvaiun12mD Ug2z8jcslVD3cEhrWgnOsKprteygkGJlZStIH4pTNTdGPqoIVB6th51qa3XGJ4MKVfyA LJNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2t1hGeRBoDe44g+9pKpHyIZTkrgMnLBzlvaqId09aKk=; b=zMZ9VcIqFHS9YBgQ9CX9h3kbbApuumcbFseHTRJSWbfFqI6DQtnseVT5F0PVMXAXFI F5O6PSrVlGGoBkI73GYnpvPePBHhgmJesTs8P5vfK17KPwWMO9xSEUqSn0BCgVRh4rPb VHIu+7tIncl5RPjFuLGyu/IUEyD+NpXLtCgtMMy6pLpmRMvSamg3HPL5vTsnypiBAaak +2djcILAKNm7LXDNU7a/hkzAai/jLt2p/KuecB4S5hCQl77H5X5q7ulVgT/1tCh5WDEo ocs293mpWoSxTDJp5Q4/LVAvW+V+KvpSs0SIJuGdbsnOl18qdGy/nvC7wDGxswL0d5Un pPHA== X-Gm-Message-State: AOAM530D/d8EuQpsSY0/7FpJ6ecWgb09Mq11IQI/I8cpwt1S644yjwbF DVijsbVYfV9EOdygFTAnS/eqG/DU9UFWRyoSliU= X-Google-Smtp-Source: ABdhPJywGRZw6nqr1hChmVK66J0n86hkdEvPF105zhnUsg/2zIIGmTGJ5pL09NeOY3ofLAC/HmgHCg== X-Received: by 2002:a05:622a:100f:: with SMTP id d15mr723436qte.500.1639706672314; Thu, 16 Dec 2021 18:04:32 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id q12sm5855904qtx.16.2021.12.16.18.04.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:32 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 11/45] gnu: node-debug-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:51 -0500 Message-Id: <20211217020325.520821-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0a66b032bb..985a2fdb20 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -430,9 +430,18 @@ (define-public node-debug-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))) (inputs (list node-ms-bootstrap)) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:47 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:47 +0000 Received: from localhost ([127.0.0.1]:37293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c3-00054E-8Z for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:47 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:33572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2bx-00053O-VO for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:42 -0500 Received: by mail-qt1-f173.google.com with SMTP id n15so1262887qta.0 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CWltbrMixw7MK+mqo2xAs7iSQPLcJZDJC8D/wnQLcWs=; b=i813kJruP1q6JHi/IBPAy7xX2OTLbYbFKNf+0lhn+TodmStX1YhS/gM8E2OT1xmv/W KWuTOjPEqR7y83fZlK2tkYyiO4CNaT2MY1WitFERJv2OnQ6Hn7qm+mtYivdiu4rXChUs kvl6TmH9PegMPjQmXQ+PPFSOZoF71AbK+kVfN+PzXIIcA6KIZZ0Ahl/3wZKVDcCUJoai oeJCThWAXe49/Btuibucl0rjLLYwUn4SYpoqb1ok60ZktBwutlenbqk9FgtnDxHZ0u81 oNthh4lBaxFPq9rm+GmztIwha16V4lV7OUKEVCtMs7rg9WR88BYsebEe/MQCRI4s09SX c6LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CWltbrMixw7MK+mqo2xAs7iSQPLcJZDJC8D/wnQLcWs=; b=1HaIT7a9aqXia8jeNrilwfrcnhSrOp6vW4HpYZ0DoX0OY/0SQtmWHVNYJRAkaKqbf8 BK+QVTZWo0t+TiEs6lFP+WDB9cBG87LqiKA1v9MZ8jYk57hhNMTaFWHSF4PejxqINDOp v/wUl217OI+xcdpLf4Y8oP7m0cbV8yS2Ieimbj4Vwsn1bS+j/ac90TBL2Ss8/Yb1sJRC RwSno6yCNHjIu+8ElVI7MtiO3/zJXDbsAk/Soy6yr/N76qNytSHAemSu50IgfF/qwMvP ZzFYUYu4DMa7nE8Xg87k0i4Biq92Zw3CJaW6K5jzeVQxM44WMsUVyC5AhSjBZSFF9G00 /mqw== X-Gm-Message-State: AOAM530mvK227JHpoygMWV+HTAww0hMw2vFCligfgEghITI5I2nLFN+O pw3dm+LPfaPpj12za5jBzUg1jY2fnq1b72yf2fQ= X-Google-Smtp-Source: ABdhPJx2g/EN+4vU/DxjgRy/DuxJi8N57/wvdHVFYXEqYzY16pq2dmp8GIh4Zo6mqB5MCHZnLNt8Aw== X-Received: by 2002:a05:622a:1386:: with SMTP id o6mr726149qtk.64.1639706676592; Thu, 16 Dec 2021 18:04:36 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id k9sm6071874qta.48.2021.12.16.18.04.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:36 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 12/45] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:52 -0500 Message-Id: <20211217020325.520821-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 985a2fdb20..31df15ffc3 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -493,9 +493,15 @@ (define-public node-llparse-builder-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:04:47 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:04:47 +0000 Received: from localhost ([127.0.0.1]:37295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c3-00054L-FH for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:47 -0500 Received: from mail-qt1-f179.google.com ([209.85.160.179]:40596) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c2-00053Y-0U for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:46 -0500 Received: by mail-qt1-f179.google.com with SMTP id t34so1193712qtc.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=alzFPs9VxBK7PuPT6bkxdLEK9QDwDh6q0yadvrgs1Ck=; b=htqtJS1kMZWJmJT/IOt/6Vrz9IU1e4icQUIw0ye0fjuQJUo0XWz2xdINP+LCn1wKo2 JI9VcH0u1oGMBalJ/sV3FypkBhXfdk4la4zyxABi03MWMzlBmSW1XXg5yEfzbtkkIwZx ABwpLgTVfV9T5uDwIbGLSvBgSAIICJKVFLz36ctO3YojfcjGoukug6HY8PtatNUbpjJd Gfzg2aB0/EBWZ3MdfOvqmDkoptGolzhaHL128DOHkYtlG3Ep2RpHkzxSRACiH6m8qSaL E6S//tY3TnTp3UE2BYYb0wKhf8+7oVZBdQodPSSE1EHoC4GEU5GUoEMgjYCu6X8RnwuI asFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=alzFPs9VxBK7PuPT6bkxdLEK9QDwDh6q0yadvrgs1Ck=; b=a0nIn3vp3AiupyHhC3KK5Am/S+o8xa3i2CSsuIhTCmGBUaki6t8XJTsowwUljHt5fO t1+ZhFYNKfnPosHbYvryG55Nrmcl1UeM1m10ygAYjL5KH6kwN/5AFmmG5Igem3sPANYj +5jrOoPbPOIugpokmo8DkuJBA950341Yebq/1pcKMIUuupX+q6/Z0uBkaneK9bJNXFir 0cdtIlqjwn2TgwAoEobcaRhxUcDWqrPuXA8iiTG7nAlDeCRnZZwGz/bujRQ1d5X8bEdG bcjpX1/DEL/HxiGtR2UL4sOFh1do4dbLdFuWpvB1xG0bqWmj7xqFDVxArCzv9pY7PoE9 uEUQ== X-Gm-Message-State: AOAM531uUlxZ4woLCF23m5X0/TbuM94BIT3XbmRHGmA/ifb/8fqSxncu HDNVJUFBn9rtl+HjxA9OjTgejATmycFY2VTiS70= X-Google-Smtp-Source: ABdhPJyhiYFj8PIcdbeMnz5G+rhxypAwlwKLNHm8YMvLNDJjEF/brCzHmN4BN4uA34fSwwMTxiJsXg== X-Received: by 2002:a05:622a:188e:: with SMTP id v14mr695179qtc.301.1639706680622; Thu, 16 Dec 2021 18:04:40 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y10sm3870628qkp.128.2021.12.16.18.04.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:40 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 13/45] gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:53 -0500 Message-Id: <20211217020325.520821-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 31df15ffc3..4d3db6a8ea 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -553,9 +553,16 @@ (define-public node-llparse-frontend-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:07 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:07 +0000 Received: from localhost ([127.0.0.1]:37312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cM-00056f-Mq for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:07 -0500 Received: from mail-qk1-f173.google.com ([209.85.222.173]:40546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2c6-00053k-3H for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:50 -0500 Received: by mail-qk1-f173.google.com with SMTP id p4so781067qkm.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+w/Q16IbQKlQxfpprcahTpTf3XCsrcv2Vi2yoMBDb10=; b=GqDs7TvF/w8WTHX126/iYRXFhBoLeHtDctAwggiVrnZOmL+ifr4ckH/PBvafPzut4M BIUGhNRSUgGy00DBs9n4K8HOtIHOxQv4BCsi2FuBZJxOL8kyCA1cyF1eQIELLrB2BCDl flH+vdbbRJfuC+lBkvuPtW/TIsD8iV6D9EEa+f/NVSAI7vH/f7UYRVR8zEt7OWWJaRbT U8xJAstqXLuejlSnFmxqTG4xPjF95RuoQA/78AQv88T+KfvV/Eh/e30uh89kAQZdUoOd da3/+Z6eq3RmyYt53c8j5lb8xwPD5w6I5rYI8zUIJaZpFs8M+Hu1UmS0qor0+TwsrW2F lSXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+w/Q16IbQKlQxfpprcahTpTf3XCsrcv2Vi2yoMBDb10=; b=tlg7JmAH2xM5RMMcrk7Xq2tleq8a9mPS49TpfRLeyrg5CEPPIXGKgxwIebM3Qmfppg 8C1s0Mk7HaKq+VLnb6w74PIdJ2AthwH3o7KY+b0JB6DB/1V5tlL/SdK95m/X/x2S8eFs Iwy/eUZ0OrTSLtGfgNgaSDCfJ56L8pJo7QMPVIhMLJiXYsbFY7xCPTeh91j4PYNNwwXE qN8ndawDhJFYtoMVtrqTcJYZ4XrEHRV3qBxlcgD6c3Y/7tLPawIHU3qFLoj/yyGkE+vj bHCIL9mbLLZWb9LGA+NBRNKZc29dDDzskjAZO8lIDJ36dFpjYRsHpmZozaaHS8YlI0Bl zRQg== X-Gm-Message-State: AOAM533ZGoYZYLuTdgalL4PUmyxpDXz8U0JaRsDM1EpuD9/T+WR6WlAS EQ0t7fkrLu1Hn9S3RBZr0Ya14Y7/W2okWqurMCk= X-Google-Smtp-Source: ABdhPJzQwAougHEhf5omGZwIt+NkU6cW94al6YYAzbHmaVjUiqI07h5CjUQLrGqWScPASgVRybVf5Q== X-Received: by 2002:a37:4cc:: with SMTP id 195mr541441qke.349.1639706684666; Thu, 16 Dec 2021 18:04:44 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i14sm4053515qko.9.2021.12.16.18.04.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:44 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 14/45] gnu: node-llparse-bootstrap: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:54 -0500 Message-Id: <20211217020325.520821-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 4d3db6a8ea..f952119a9f 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -613,9 +613,18 @@ (define-public node-llparse-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:07 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:07 +0000 Received: from localhost ([127.0.0.1]:37314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cN-00056s-7e for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:07 -0500 Received: from mail-qv1-f53.google.com ([209.85.219.53]:45616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cA-00054a-8t for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:54 -0500 Received: by mail-qv1-f53.google.com with SMTP id js9so1011939qvb.12 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IUuGmP/WAhLf6xAmxt7ShFjsGdztlHx7allStQsdfNk=; b=hU1DRB26F48dSrDKT8iVe/J7qpoLvf/f8BrXHOBEm4nApXoilWD5nF0uG8b7rqlull Ls5mFw+UXGbzxo/oLXnSRK6TY+Xs3n5aBdOs22YI9tRvBu/Len/MU5L8FqfOO51ZvGOQ FITLo3McfVG311oMlbTvjU5G8IMcU2GullV6/TEDgBMVR0g8TGLgjRQ7Nw+EqWxh5rwr Q42G1Y5R80E5TUj2yVuVCksL+FXSVDYR8p+PZ8LAWLU7kUHw97Q4LZOwaxpqOYRq5EgE gsrMNhn/ZxP/hhPQTrkwHNfVMVRHRaWS7POh72KkjbXM496sGEB0zJxnxvNzIQX8IaKW RByg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IUuGmP/WAhLf6xAmxt7ShFjsGdztlHx7allStQsdfNk=; b=JbmloWcyVlfOAYyuEpa2My9oX3dGr0S398v8n05nUUcYfx+oeDJfdCPJLfy+MhnhS3 AGf/1Y0xhnFjg4DLB7ttvrdp+IxAicMwhr+BJAyeFCkg8dZM5ooxRPlAs+IBiR3jPkS5 EBTv3GNSYsBmy0NW5OfHR1iTQnNo8mNtofW64I5qoYsSBUf07slBkVMeJmsdRmFPcI/q ccmrc38ZMIrMMaDMsadxRDSGSrQcO2XMmcf5yCxb7ScpGnFhrtEFeWSxJBWR0upRPUCZ VmUp3ipEX1xXZG+XBgack51J7S1uxpyEcs0i71XtJqH+YDYBlsZ/rGGmVxuhjkjz5taa k+0w== X-Gm-Message-State: AOAM532e0Cvw0EcyYB0nuTV+fVPaO7pZ3TLukT9yFcvDK903bVX3dtXr HHNRxuXzvLRh8c9qaV94vBmK4G4JUcZ3/1okLWY= X-Google-Smtp-Source: ABdhPJwS9pgCDQLcV+q++Dg8IJmik93UlkfiDW7f0VfCPmED1WdVtzdLn1AA92UBVPlBLcABXCx6zg== X-Received: by 2002:ad4:40c6:: with SMTP id x6mr636985qvp.32.1639706688795; Thu, 16 Dec 2021 18:04:48 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id g19sm5728357qtg.82.2021.12.16.18.04.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:48 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 15/45] gnu: node-semver: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:55 -0500 Message-Id: <20211217020325.520821-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9a0be96852..bd72eea807 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -288,11 +288,10 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#: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)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:08 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:08 +0000 Received: from localhost ([127.0.0.1]:37316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cN-000570-J4 for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:07 -0500 Received: from mail-qv1-f49.google.com ([209.85.219.49]:46890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cE-00054j-6q for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:04:58 -0500 Received: by mail-qv1-f49.google.com with SMTP id jo22so1006207qvb.13 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:04:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=POCuJoZ2RJvDoPgZdnU2k4K4wevtu0JAoSaspd851mE=; b=flPE8r+bacg8vqJUPyyXsoOc2x2tkmNV4KRWLSt2nJGaPiwp2pLO09Y9G1YAuuH1bY RM7eegLzOdciw4+m32nNxiVaUdU6fmMne+AJUwpy6cX7YHWZoESjteuLnvYTl9+XxALM hyUfnI74NdnS+cRXJ8N/8wRkl+53kdCG23HtxuBIfFP3RhPlCZkOAIkO7G8kBuFRJAhL ebU1w8LSgvcFuIhEGJls0eJyi4PdhySFTd6IUYTAxdMjrY88prgV1UmAgLidQyP92Bb8 x5dU50igpH9PiWhzk20IYoIesWtINP+s2NJnY53dV7vUnGHJfadsn2SpbCdc4VkQpcVP 3Piw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=POCuJoZ2RJvDoPgZdnU2k4K4wevtu0JAoSaspd851mE=; b=OMyZILHpjPfGrwIPvUQQeVE5DauBCy/OL75Gv0vKcEtoZsvy6tiXeeyJhbnKCtDL0e DyUX40nsfLm9HsQMJta7bsJUfiH+pMRDZjvR2OQ8EGm+ST7BUkoGhBRIe2JFYTRDj5Vl 5qHGthSKjvP0s96eKipMZDMwUrBGNOayXm1SrUKtht2hoiCkibyDjJsAWaXuWfiQU8MS E3Q3OR/CyyonjLt1ahmhXnsHstbMvE65hVtp4IAFod//oac1QKWyt/wU1YGj92noVh6P qhW/Zg9LTvbNuR/5OfFkVyqM+uiXhpiSqlQnQR00DPBEiYLWBslbGrPXWzbBibW9qSoh 9LQg== X-Gm-Message-State: AOAM5317XX5f9aOx19BYokOOMFy9z3Oup3DrhlUlJJi6vCmvl9I8pIrs pKfo2OtGT62KCnPCtlt6W8RWNVKppCAudxM7b1Y= X-Google-Smtp-Source: ABdhPJxKWy15DYUVgHlvINxR6xwdq8I57EA+szYYPWQE0ww3gKbimOFf/c70BucnhfvJ9bR4F2lphg== X-Received: by 2002:ad4:574f:: with SMTP id q15mr854700qvx.97.1639706692808; Thu, 16 Dec 2021 18:04:52 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t35sm6700798qtc.83.2021.12.16.18.04.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:52 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 16/45] gnu: node-wrappy: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:56 -0500 Message-Id: <20211217020325.520821-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index bd72eea807..ceef48887e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -315,10 +315,8 @@ (define-public node-wrappy (build-system node-build-system) (arguments '(#: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)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:08 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:08 +0000 Received: from localhost ([127.0.0.1]:37319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cO-00057B-0p for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:08 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:46843) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cI-00054t-9X for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:02 -0500 Received: by mail-qt1-f172.google.com with SMTP id m25so1152942qtq.13 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aDBcDHwnNx8KibeQ7SIpaK+IxaHT5ofP3mV//D3d9/o=; b=HW+DlS6R++cqXxl0XgPvBqD2+amF7fwnTCmFmfLRj2acEXAeHB1LuW3KZUuMFTb+Ih MoTDuJ6oA68LQYegeKKMjhhybeuXxAY7hMqbtkgVdRr3wbHxfpGvGwGolyLc6pFW0uH5 n8u/B3nGyBdZVP78k5s4qEUPhXuf/T08VJXJojiE/vCD1wGEqMiNqdXuTyIIQ7rDAwFk VFWBP2ZkOTzGDEV2zQzB3hWehC7GJ85quTK5OVcDHwcSaSyYNxAuCBB9/ME3AcP7vd0R qtY9dHvhcMRowzD+0wxNVeSc0TQAAS0883dtiHEZKCcQRJUZwf6A2Z7FWmMUF7XJdzeb R9fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aDBcDHwnNx8KibeQ7SIpaK+IxaHT5ofP3mV//D3d9/o=; b=W3f/2aYib+8F4btz3R8XFyXLMMYA0Q84nG5Z/5jaPZMKlgUu6g7TQMguGbCaFM1l85 fJtv5Prl3HgUR/DZ85LkTT/W/y3n11xTEVPw6TJ9Vhan7pcKTTNTYl593+hPkpRusTyx ZqSJAdSlEEtAvEU8aSGzHtXfFIQUJ40dOyTZyHT/caIdP3v1HB5GBc/P9HAhTIh6/HBu lAYlw0C9Wv6r5XDiNkVjP0qr1cQJRC4h/OOukI+6U9a7eJx1o/aACbZXdPFWluuGuEb3 HMWNvlczWpcDjSF0oGxrWR8iCIOegB5qq6XZFXjCP8f4nPoBMEice/6wrQT8o+MIjSnq laaQ== X-Gm-Message-State: AOAM533X1P/jvU7wTefa73uRuz3u5tk2hkZ/VHt6blbiToR7KoAU+rO8 U354kJDJhCnhE8aZIHwDwmD+5J2Hr/R0f1vN8PU= X-Google-Smtp-Source: ABdhPJxzzcow0uLGxV1PiQreXc5HXW+HiSTj3f4VVH9NFc+NAJe472MJHAabrG9c6b4nR6DpucBJBw== X-Received: by 2002:a05:622a:54f:: with SMTP id m15mr721697qtx.540.1639706696819; Thu, 16 Dec 2021 18:04:56 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x190sm3804445qkb.115.2021.12.16.18.04.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:04:56 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 17/45] gnu: node-once: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:57 -0500 Message-Id: <20211217020325.520821-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ceef48887e..9e602fd0e8 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -337,13 +337,10 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs (list node-wrappy)) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:28 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:28 +0000 Received: from localhost ([127.0.0.1]:37326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2ci-00058M-Bm for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:28 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:40575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cQ-00056K-CD for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:10 -0500 Received: by mail-qk1-f181.google.com with SMTP id p4so781596qkm.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2hl6+fqbZUHZRB9+6mdE4yfOfDqi9ykNvCMM51Yg2OQ=; b=Yevv9OxhwFlNhq2DmQJoRc0lc3Xy1grObbDhxGTkylsU4XlUe0GJsq6N++H6RL8ibr l0QNtV+Kz6gn4F6jd7lMWlyCccyR6rQTKZ+fbsm2uhRIRlgGNpIaNqWwT9lLqrflv9mf oRaxaVDSh7lzBO8WdSpiKFanxayJLu6Z7I4plFLkOSDxByHJE4UGycKJOvVEwqJWAv2h 731fhkJEronu1SJW9Yq6To2A4oMYTKOz8rUXQSztf3qct37rUi2Vb1R1powbFrvUUd2S 97rIAEVg8f1WUIIz4Hi68qTBclTJu/a6yN1LcDu52I5x0TCKPxTcT5D2Y2D+fOXdFMEl WoKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2hl6+fqbZUHZRB9+6mdE4yfOfDqi9ykNvCMM51Yg2OQ=; b=557Mrz9KEhAzKU4o2V8OkHxaAmgvKyam3Obie4p8eF2j4I45274aIiEYCQ01yAMJgl zHe3INqFVHg76/4EXtK2coiGK3SJ7N2qdtxZH4z+7hz+mknOs2udH47Z0JEk787L7IbC GhYOqAmy/9iot8dhjE5Shne4o6M/hG58ZkIRAY4zaxafEUFLhyonSCKpsZmEG0eu2SFM 8HDps79PPrwxRygT1e4oADIy71KhJUarlS4JF5pqeJNFIWamt3G0zd0HvmDfjaRxqrMe pyqHJJwwQKd1VU7PKOdg5yV5qR/K4AO6ReB3wkpef6i/7zMuAScsOyXz7iGTsjQQwjSi 3DCg== X-Gm-Message-State: AOAM531sJQHqTlA/OqTSQsrn7vbyS0nV21NbGriAdSIqg1M6w85nHN9/ WkotIqhSW2fqc04QnPtuThmqXCJgkwsNSWwEtWQ= X-Google-Smtp-Source: ABdhPJzToY++VLLz/phyQqF4BJxdHyefQaovn3jSq/FYp3rqzRjhhwrcHZGgjZYKUBtxvQLntjczgQ== X-Received: by 2002:a05:620a:414a:: with SMTP id k10mr547738qko.489.1639706704993; Thu, 16 Dec 2021 18:05:04 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i6sm3943409qkn.26.2021.12.16.18.05.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 19/45] gnu: node-irc: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:59 -0500 Message-Id: <20211217020325.520821-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6c3811528a..93bd067311 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -393,12 +393,12 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("ansi-color" + "faucet" + "jscs" + "tape") + #:tests? #f)) (inputs (list node-irc-colors)) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:29 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:29 +0000 Received: from localhost ([127.0.0.1]:37328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2ci-00058O-KH for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:28 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:39797) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cU-00057O-Eu for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:14 -0500 Received: by mail-qk1-f170.google.com with SMTP id b67so791403qkg.6 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ctoqmjnDv0LqeaRDSObHFET0FHQH1emar7q4mgvxiic=; b=iS4shuf9gOxurnbNCvgwJBZc6d9u2ULG11VENEHc+FzJGEdl0bLQXiw2X0xB/s2v+J xnLFIrTTxSx7EDhBMetO3xFPy5GqLk5lAsZNJw59HqdUc3W48IX8BNzeoEpvBFk9dmqu TxpKjjdeYOCgJ4rFBIADja9Za6n+ZE3k5Ub//OVkrHiOEEwx//58CNhGsRtRR6BSiEfA 1o+mQGy2NK0XvdcsP8Dz1cIL8vI2fRGjAVu4CiThIiegbjs6OMhlHz8/ItdcZAAzKP22 pVs595ilXJKm7zA9t2wYmQOsw5+g+ohvj4nq+JtpzfskqduOm22AlQPtXU+qmKjq/MYR aDbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ctoqmjnDv0LqeaRDSObHFET0FHQH1emar7q4mgvxiic=; b=JOBNP6lU0Q3MKg2YAvrXPuJMTKlAD1D2Wy3Vt6O1h4TrF3RbyIeLs+bL7qoHtZwMMC Xecep4FNgjk5XNGvN1cHGizHBBZMjvOHNJos2SvQaUf7Emmezd2QNIfaJG5Yz5G6qHbl fiArTYm768LAA/C3hQCmmivVAYJ7OMoghiaWaTDcUGzr8PvhJM+NQPKTeyy4N4zgJiOY Tn3aIljgUsBcBigaYWBTOawFd7zdkQ0l/digHF7++eEthe0v9IuQ403H+lYdFvVfHfNj s03zZMejTUzf/h681uT0lcYDxXcXLf11+/1YnAVAgeMiPNHy9ur9QntVOB9JMf+BUNfL uLKw== X-Gm-Message-State: AOAM532aNoDxkHNvcJVylxRwnokzNaeG2u5Q6xnTObYx8z2lWtVyUXNj Bw9mXbU/kfGiVmcULU1wWhrEyJDRoYcFpYSejT8= X-Google-Smtp-Source: ABdhPJzj39wlZWI4djAsxL7NzADUyTfF1f+2k4Qi8eO2tji5W42ztcruSeySmlDc+bg+rc6wAxQX9Q== X-Received: by 2002:a05:620a:a8c:: with SMTP id v12mr540841qkg.73.1639706709018; Thu, 16 Dec 2021 18:05:09 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 143sm3936716qkg.87.2021.12.16.18.05.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. Date: Thu, 16 Dec 2021 21:03:00 -0500 Message-Id: <20211217020325.520821-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 330d10dca5..47af4bb9e2 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample ;;; Copyright © 2021 Ludovic Courtès +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,10 +64,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:29 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:29 +0000 Received: from localhost ([127.0.0.1]:37330 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2ci-00058Y-Vq for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:29 -0500 Received: from mail-qv1-f53.google.com ([209.85.219.53]:40800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cY-00057c-Jy for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:19 -0500 Received: by mail-qv1-f53.google.com with SMTP id eq6so1036345qvb.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=teAJKTWNnkKR3SVaIcZCGsnlAr4obIHoNhyOOMkV1fc=; b=E5bMjI/DdRLMg3CPgVJv0hK6CYkzmi9vFxHDgLgshAySH2tmVlrHIWVdar+tbbCuay zkg99ACEpIgWZNvVK7Z95px2Z+I4GDOBSBkxs1QqoAwq8Dr7MDtvJ0kA5s4M53IK7pkH yDp/2ikHYl5uTB0wl+e+ELzr384SaFX98mdnu5zOeNmM+Gnkap0sAJCzTOomVbUE9M6n PnEqQCrfhn0A5pcIWjzlcwpP0hZd44nPlOzurO+Fp26eTqi3qeHaNTtLaFKTwY5p5Onu /BhRjuVi1Rt8qpLfysrgapPeuUPHBXbEcYNy3G15vIgX59yna4sw7zFU0f6GiQ5lDNIQ cZGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=teAJKTWNnkKR3SVaIcZCGsnlAr4obIHoNhyOOMkV1fc=; b=FmEnQIevGz7g8Gpwuecq8+SC1QSfxmwFxqjPbMZKaRZy433XBXUTKPWWPRekDOxLRV eHzpGbF5lmCagyxDJ10Za4D2G8wcX/wezfljkWdXjnTkLUD54kUxfY4PDOLTsnyJ7YYM pfMcaUaOePld01ULGkMR+O4nYNOFdCb9FLxKFB0EfJ9mDChPXg0BFhmvblC81aokRlmc TTSTrc7r5CPQfqPAIJPEOX3cpEI/4KFgRO8AVTMFXk3+rAGFFWGkNHdONcOqiAOL9tEI mqLmJWcpw4G8NOX5Z4nNA0iAD4k+Oi/HdQJAXMGhrdl8a9FK0uMMJY5pN85IsgjNSeLW 8Ltw== X-Gm-Message-State: AOAM532H51D+uQOhyYvn6Fy1WoFWPvd47dSoArk8IK5FIqYrJhUeKiIx XaqVjmSXb2LwLuAb5HEzpiTeqDSe9XvNQlD99tg= X-Google-Smtp-Source: ABdhPJyH989kZUc4QwB6QYpJQP7l6SyRsevv00lOmORcBTufauYrv+UKqeeMvSISsC9b0iU39dwdgg== X-Received: by 2002:ad4:5365:: with SMTP id e5mr552742qvv.127.1639706713220; Thu, 16 Dec 2021 18:05:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id s4sm3990486qko.47.2021.12.16.18.05.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 21/45] guix: node-build-system: Add avoid-node-gyp-rebuild phase. Date: Thu, 16 Dec 2021 21:03:01 -0500 Message-Id: <20211217020325.520821-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New function. Override the default install script for packages with native addons to prevent it from attempting to write to the store when such packages are used. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. --- guix/build/node-build-system.scm | 59 +++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 892104b6d2..f9ca515d58 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -175,6 +175,62 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (let* ((package.json (string-append + (assoc-ref outputs "out") + "/lib/node_modules/" + (match (call-with-input-file "package.json" read-json) + (('@ . alist) + (assoc-ref alist "name"))) + "/package.json")) + (meta-alist (match (call-with-input-file package.json read-json) + (('@ . alist) + alist))) + (scripts-alist (match (assoc-ref meta-alist "scripts") + (('@ . alist) + alist) + (#f + #f)))) + (when (and scripts-alist + (equal? "node-gyp rebuild" (assoc-ref scripts-alist "install"))) + (call-with-output-file package.json + (lambda (out) + (write-json + (cons '@ (assoc-set! + meta-alist + "scripts" + (cons '@ (assoc-set! + scripts-alist + "install" + "echo Guix: avoiding node-gyp rebuild")))) + out)))) + #t)) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -184,7 +240,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:29 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:29 +0000 Received: from localhost ([127.0.0.1]:37332 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cj-00058g-CZ for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:29 -0500 Received: from mail-qk1-f180.google.com ([209.85.222.180]:33541) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cM-000554-AP for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:21 -0500 Received: by mail-qk1-f180.google.com with SMTP id de30so849648qkb.0 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TMgem4H3fHQav6S6NglQm63R9WVV7mA8cBSQXOsp7X8=; b=f1EigEZUu51Ie/pRni+rmHz78PNf3kYrF7M85u3gUUSvRHnFSWjon2VFFn8ABLtrFJ WjzKJ23t5Bd1K1Xuc0UUE6cmFWaDalUcwA0v1s0LlI+LpMHKJ8ppZsR4rcbc795ZySKE 36Sz2Aqcj8xQts1c0Q+D0X8NTzIzxyg/fkE/BDRq6FjdWaFCuTFAc/Edsjhf3tpMNWHE 8XnzEfrFEM6A6WS1AnHW4DLsdVX/XvnPuTkP+IOjAkupYGEOSbf1brhu47q9gOo0CTvk HZ4wUBaLVUEGwo2033Fcszc6N2mszIwq2eob0u9ttRV7mWuelF5StlYapG+U+QGdGkPn +Iag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TMgem4H3fHQav6S6NglQm63R9WVV7mA8cBSQXOsp7X8=; b=leJLcq0g+YzSiGuZVIL9R/JSkKmsjPCc3x6hvbYEnTRjahIcGcMW+98QLGqbjCfarW FBY2H6Ol74rqn1KBcCjQr8fR6XoOlOkKtCazh7cOOh8dGf0cbTjot7opXGukNJVaymxc fpyrgdqcpm13ahVifowtPCy6HrIM1TmFohgzrbaM7btAAAZdIM87MMbfjBq2MA93x/MV 35uEojr5TS+FLbH1vYKlibqsovAuJOC114RLYZlUFfyzckGaLscpbsnff6xR3yuwLD6A oNFrcB3bIYc0U5tPrqr67/3hHeIi4wDnpEszsYNwOuBDTaBFhVgP/xhNubPhXDThbud6 MOaA== X-Gm-Message-State: AOAM532SOvfj04whJO1DLeetCiXwb4Krqb7V9/rYKy79StDxzgV24E00 y3Rxr2WET/o6LGvlIBxjby2ddDo45HIOS1dk8uo= X-Google-Smtp-Source: ABdhPJyY65aOR9kShVdYPPku4gfeGJaJGxgJVRPJgDoEKzQznzVLLN4eXmICd01MTpR/uRVIuyAwvQ== X-Received: by 2002:ae9:eb10:: with SMTP id b16mr545459qkg.191.1639706700896; Thu, 16 Dec 2021 18:05:00 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r4sm5461645qtu.21.2021.12.16.18.05.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:00 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 18/45] gnu: node-irc-colors: Use #:absent-dependencies. Date: Thu, 16 Dec 2021 21:02:58 -0500 Message-Id: <20211217020325.520821-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9e602fd0e8..6c3811528a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -366,12 +366,10 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("istanbul" + "vows") + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:30 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:30 +0000 Received: from localhost ([127.0.0.1]:37334 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cj-00058n-LW for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:29 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:40643) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cc-00057n-KF for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:22 -0500 Received: by mail-qt1-f182.google.com with SMTP id t34so1194911qtc.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Qbu66hRbdthtW+MHRTqq3c9Web8l5l+K1eRX5kDX9YI=; b=hLsSPh7XaxEJtnVH/naQPTCY0ibVCVkXmVwyMeyUQOwvWwBay6+BZ5WsxwkwFp1wmi 00i1QGpO+rYhDfR6geifhjgi/+ksY2SH5XwUio9Tq0F/JBFrp6FXLxGbkriX4D3Lz9PJ wHME52hXQCotSLHe0NpGZadudYUo5f+pX3yy3I6VMr2dlF6D+7173HLdbJ15OgP8l2j/ 71UQ73JMN1ro5l4K4cYC1uKIarW3xu3K0MFhJUGsJ3LSs+uDUASw54N1RRYE+rfOJQAq R5T7LYl/ZKbnXayDXND6wR1EHObwpJCbqlODsy+/Y8v6aWPzQesncxvYjz3lCnSAZ331 cZjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Qbu66hRbdthtW+MHRTqq3c9Web8l5l+K1eRX5kDX9YI=; b=gSZLQYCWzNuRXFXHA1bPrwaR0Dzr9IBnhzyd+CCvKbHci/ejOv7Fa3SmgT49mjAr1O vRILwfrTrO1y9oGTKv5hRiQdBg2iAy5uxsWNwIHw2zGMFBSBY6P781cXyqoY6v82fmvW tT3vDZI0FDJSG0n1E8uOXaFwYWfvVfaW23btlu1i/HDL4qJpcb9L249DTe8lpd+8emyb q6QfTC03w2ANPyJsl+MX5MDr1JoYMOalxJfyY2nD/fGe4LKciRaXhRg9wWl7Hw37L4a5 mUOdOb9kLVqDozwDLmOpfOh1F6MNB0oYRcVOlekRfCm1/xfzvcTqMumlAceRdHnqV9Z4 P20A== X-Gm-Message-State: AOAM532FMgsGzKrh2/iMvyZ2I85TBjiliQJ+3LArATOoxuvcytn5bQi4 eeb8nEK8k3ftmtTKT0QuMBBAWuQih00RhpDIQIk= X-Google-Smtp-Source: ABdhPJzPq0X+HRkJzeolcBq+Lx4l+eCFlTwvXQiNHYJbdZnYeUeJ8zI+9D/sp3ZvQuxYWGgrgs7eyA== X-Received: by 2002:a05:622a:1a0b:: with SMTP id f11mr721117qtb.454.1639706717292; Thu, 16 Dec 2021 18:05:17 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id y11sm5961292qta.6.2021.12.16.18.05.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:17 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 22/45] gnu: Add node-inherits. Date: Thu, 16 Dec 2021 21:03:02 -0500 Message-Id: <20211217020325.520821-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 93bd067311..ce098e6e8c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -351,6 +352,35 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:30 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:30 +0000 Received: from localhost ([127.0.0.1]:37336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2ck-00058v-0R for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:30 -0500 Received: from mail-qv1-f50.google.com ([209.85.219.50]:36738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cg-000584-LN for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:26 -0500 Received: by mail-qv1-f50.google.com with SMTP id kc16so1069575qvb.3 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ui25XhOyPtiM7d82eRyHjz1cLKRuQqoWgyrull4aLDY=; b=aEYWw2E3EMg3RQFiZNbxCT6peoDzV5VpKJ0EUDUQqBpFie0wkvusO66saisAm83OyQ U3XutKUlaObYZep+aF28bwWmahK2LLYmFu/ytrfAN7eUMUpuxcWVFy34a919K0VQj1Jp ieRFCDT8bkZtS3dVGI3V7dSsAi9d8TdWyLhf+1RfZeXjkwQNm8705yyvUdhm1BEG5WLA dO2MIq+rHu1XQrV8SCFkn6cmYhkfOTgcXkuHBWAtihQE+rnm+RzXyOqzbhi9U87lU6y0 WVak9yZA07p4ZMB5z8nJWO93v2eWLwpHrJSe23Cwsgngcwm8AhzkFmzltF8hZCei8qmT e1Hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ui25XhOyPtiM7d82eRyHjz1cLKRuQqoWgyrull4aLDY=; b=qBDGJzh1fqp/kpfc++J//uQ30lJ3jHxbJkXBjQALxJPdQjV86LFFOExa5DGYTFkZ69 SC8Ycl/pSUfxbVXeJ3rqhZojWdzULahsW0k4QCFs59ltIKK1U0NUgjDpOD/bWk+8QEy4 SLlwjKudup38Qr3lRogCMxcb47GLOp5YCFMb2kVKkMe1204iUxV/UpqUtbIiYPqfdQ3z jcgRhazbBYf9E9K8e4TRrp3Q/MsQ+Cctlde/SPdCcYK7Sip94AEcdyQ1e63XnmkUg1+e ryJ28Qu4fFitZRaUoZhtMO+ZaFGfMp7cMzbbHPlUbzaMPjdWiuYyTzv+amieWlALoTas YsmA== X-Gm-Message-State: AOAM5333TYV8kj5Xa6IwDKy49iAufV/IrWF8NOVKLpAGVeRTPb/3fKFk 1bHOniMS0pNlXuwS5lkt9o5k9wuoUa3JMg/LB6U= X-Google-Smtp-Source: ABdhPJwK95Ite79Yobz8hrxTqVheqTvJMjm2srKHzsjBeUPcDratZueZacz73f7wvi0k9y2vyBva0Q== X-Received: by 2002:a05:6214:29c4:: with SMTP id gh4mr713938qvb.118.1639706721272; Thu, 16 Dec 2021 18:05:21 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bk39sm3896028qkb.35.2021.12.16.18.05.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:21 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 23/45] gnu: Add node-safe-buffer. Date: Thu, 16 Dec 2021 21:03:03 -0500 Message-Id: <20211217020325.520821-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ce098e6e8c..410dfd6a62 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -381,6 +381,34 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tape" + "standard") + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:59 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:05:59 +0000 Received: from localhost ([127.0.0.1]:37346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dD-0005AO-B4 for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:59 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:37729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2ck-00058D-MB for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:30 -0500 Received: by mail-qv1-f45.google.com with SMTP id fo11so1065942qvb.4 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6xQogN9y7F78Pg82dwCcJ+kUpzMEpdVAXHL3eVI7HnE=; b=HMV+0iCyNSYuFNHSe8wdphOiEuMwOR7tgh90Jl6sF+jZAPMEtM7Nj1Tlf15hHARNGJ vgYWpAfjwINkyfiddvlwT2oEjr5U/Uu9bDmKXiFOq//qTZ/oiS29aWbr2cySzDNVWx8M OOK8MVJaerEHGl8bUuNo2oBWZZQsFvg/7ljGweKbEuQdcg1Z/+fUcE5XKNV3QX2y4hU5 m8grmB3H8TsfGCkfRyfoQ/sq+uCVVvx0FAFhyZ3atDhAxGW+G0c+lNhoVUg/lf/c7WT6 q/tXhLanKfDEdEU4xt3pn5Pm4IXzk9CpJlNvLUHtN0n/6zAcfKCNKuIwylD++J9gNXzJ Pr+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6xQogN9y7F78Pg82dwCcJ+kUpzMEpdVAXHL3eVI7HnE=; b=IntqnpbjLDrU7V9EgGstfCJDp2oaOrgMQDOYbS18yJrIphA1wCMBfsk01ec3bcZeJ4 atiIZBHuEt5QQnb8wo1vyd1ihYYHtvt2fu2QJZSYYyQEYLnMq48oH0FUYh2NI78b+KhZ +44+kN2mhytzJaTARud/pHFyaZSXqpk7bSiRw+ic3EUCZyKg1jl1CuteUleciT2w7Q3j nC8JlEKwovls2ekE3NXQsehJ5G2+lgiKHlatsHfJ/f5zQsEVRApKqgYiV0VslvCh1rr3 AgVdgtEzrylijsLO5PTYaLJFnA9/r+tJEQCulgPIgHD38wMylJeeiPwOUoFbHyTHUmOM fg3w== X-Gm-Message-State: AOAM533hq9WD9w2AFGI2T7bjEQIAOe3CR75ugmy6bPcuDeOsK19c4NP+ LxfAC8Vv+rsGzkTfI7A7n+z2kj9AD8OHnvKezOE= X-Google-Smtp-Source: ABdhPJxmhOp2JKO8PrNp3y8o2pvfX2K7HyyS7JyKVUYW0hbi/1IuT+ojiTUAa4IoU/ygQZ/VVib9QQ== X-Received: by 2002:a05:6214:4007:: with SMTP id kd7mr651138qvb.52.1639706725207; Thu, 16 Dec 2021 18:05:25 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id h22sm5856279qtb.86.2021.12.16.18.05.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:25 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 24/45] gnu: Add node-string-decoder. Date: Thu, 16 Dec 2021 21:03:04 -0500 Message-Id: <20211217020325.520821-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 410dfd6a62..5dbe2cf244 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -409,6 +409,39 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap" + "core-util-is" + "babel-polyfill") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + (list node-safe-buffer node-inherits)) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:05:59 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:00 +0000 Received: from localhost ([127.0.0.1]:37348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dD-0005AQ-Jx for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:59 -0500 Received: from mail-qt1-f178.google.com ([209.85.160.178]:41527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2co-00058s-PR for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:35 -0500 Received: by mail-qt1-f178.google.com with SMTP id v22so1183007qtx.8 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wsSmPOqCiUj/TB6PyaQCpYhFg48MasJ1OG87/HYhyBk=; b=IzyERKIobM1qRSWouIYj5IeLg0sveAz3qHYruG54NwaIq+qHsaLAZqorx6QYfy0B/U yG/3FNVPe+ILeyy1MYfuhzh+r66DQkqHyqYriKZGojovFC3nbY/MEHOWE9Smy2it2h65 pqP7qwSt5DdAeCY72O1WC7rQx/iP4RWbfDr/vMCe8K3C0vjDsDR0qUnEk9YJ70/wW133 vQk/GsbeKqugMUIdZhidaFyT2hb0PjBh9gZKlVySoTFtYZvFjT3MtJu/tgBHsRoxqvMg jlzgviQJPqpAYsHx5U8Jxs0O4TdnITq6qf5r3W7ZrXgCD5PwK9RH4PxVTuoEWZR1OhIW hYfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wsSmPOqCiUj/TB6PyaQCpYhFg48MasJ1OG87/HYhyBk=; b=TcMmDz0r/ls16BVFIOWuyYB3QhSnWp1xCa2xad+pOxQkwJwVKfYUbYHFTquP+UQF1P Ir1MjECht0SrKiAtBr2c+qYhqj6DzHIl5DOpMozzX8Cq2MCwauWQFxIxZd2xEq1sCtcU wmsbJkrr56icHQ0x2+SEXbrNivX0XTmP32cIj8g9PmI0e2aD3AOgp+OxJkfjktz8Acos IQufy3k4Cw8TTENHRWmKLv/LprYTGIYd7frU8V/sOXPGHFE9CX4pkhjVexRDBEoOsqEK NJL38/lb8/svkbeVDWqJ2D74hHYJOLmmHBISRZ/hA6QRz903CedHriwmD1zPYGnVCrIH qDCw== X-Gm-Message-State: AOAM532MoryUsjQ6mzgdZedtI8xb53ptc7jZU0jIdHd1jhB1CIlkMObw arQ5E2M75foUP/7qRSVmUVoQ6Qj4MzSmngR1Kno= X-Google-Smtp-Source: ABdhPJwIqDcTLiA6MMbqHYqqWpe3upmQnAF4s/+hQyPgjaRQlB26et41jcz9ovn1LaY8gAy7XrOhTA== X-Received: by 2002:a05:622a:ca:: with SMTP id p10mr695789qtw.302.1639706729261; Thu, 16 Dec 2021 18:05:29 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id br13sm4063316qkb.10.2021.12.16.18.05.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:29 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 25/45] gnu: Add node-readable-stream. Date: Thu, 16 Dec 2021 21:03:05 -0500 Message-Id: <20211217020325.520821-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 5dbe2cf244..87694c7d00 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -442,6 +442,58 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify") + #:tests? #f)) + (inputs + (list node-util-deprecate node-string-decoder node-inherits)) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:00 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:00 +0000 Received: from localhost ([127.0.0.1]:37350 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dD-0005AY-Uk for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:00 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:44819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cs-00059G-LP for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:38 -0500 Received: by mail-qt1-f177.google.com with SMTP id a1so1169485qtx.11 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0Lh9qF80uvB9hxQKQrIXC7YsX0TKbp8jPgDqxgE80dM=; b=hDfUt8PpY7W17MD/roX2ciNc3QFZrdVc7OpS4MO+WbdwSyg1LAoHn1BkFtX2EgSqtE u1dCcG03YZYUHkmjQDysd11At5SW+fkG+fcHCZ5l5aTeK2CHyc3wG+tm1sNqOQJvVcsR +cil+SOMR5mUizfRwW4y8rGzmFW7zSXFVXijSL6uXaZuFdqkStZxfmSWC+SvQ42cMAS6 00mFndTJC0zGgw04JgBCCNHtTOZjoQ4LP7WNgzRsEHHoeGqo5hG1cS3oTE5V3qkvqQFT EcotTNDDyJ2Kx7uSkSKtmClTIlMQf9JVkC/EzZUnpvKXj5JpJ/1W+SYMKFKl0/UZNXpc ZyAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0Lh9qF80uvB9hxQKQrIXC7YsX0TKbp8jPgDqxgE80dM=; b=bBl+VFCovJGNYLivYk2RV9KlElSB0ldbLN872I+tt84CvMcQ9t0JsNcTZ/iOOri7Io /kx8hnQxTNdPPlxONuh0h1Fz7D4Suvi5J+s/aZmvOAQ7E7pFfNOfhRY5iVkE70Qul3lD tOLTiA0VCIaKRiZkjRjwcrvCn0SADYOA9W5d5kx/aalmbYJwiGCF+1lt9msE4mnTUTYw w3AmnVF3a9fDTVcSR9QiyDvwiLUnv9iGela0eKau6Ljd2cZYpmtZk+l5J3ipBerhmrzP HM5OwtB6lPZEeK+amJsEk9OPyqEJtBoP8fmECN8Mg+pm++Tb7m2jhF7AoIY6qly3Hxnn +EIA== X-Gm-Message-State: AOAM530g3zOvtmkQybJFHPymvzg4z4qVpUWiijaKzBvrlrH/W1KKiCFk LVCIbpSm0qyO0EpD/FW7ht5wXuNJrDLAKd2O0/8= X-Google-Smtp-Source: ABdhPJzKa5QSkt80V/t5c4MpK6JgrIqGcGJ6gMYo6J2WCbfHI/d/6NdilGE3QbSKR/f8/FHtw3nxnw== X-Received: by 2002:ac8:7f86:: with SMTP id z6mr731654qtj.162.1639706733271; Thu, 16 Dec 2021 18:05:33 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id m9sm5218652qtn.73.2021.12.16.18.05.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:33 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 26/45] gnu: Add node-nan. Date: Thu, 16 Dec 2021 21:03:06 -0500 Message-Id: <20211217020325.520821-27-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 87694c7d00..d8ce7248f8 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -549,3 +549,42 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend") + ;; tests need tap and other dependencies + #:tests? #f)) + (inputs + (list node-readable-stream)) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "Native Abstractions for Node.js (``NaN'') provides a header +file filled with macro and utility goodness for making add-on development for +Node.js easier across versions. The goal of this project is to store all logic +necessary to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:00 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:01 +0000 Received: from localhost ([127.0.0.1]:37352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dE-0005Ai-E7 for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:00 -0500 Received: from mail-qt1-f181.google.com ([209.85.160.181]:39557) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2cw-00059Q-NY for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:43 -0500 Received: by mail-qt1-f181.google.com with SMTP id l8so1196746qtk.6 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9kFzm2cWD3XBCWmjkJOLNPXi74hleyE4vrg8wvKIHow=; b=jgTfaG+WagrxlUpphYJKhugecC8JsnCBdwqArA4DK5Qb/Hpe7L3GHGjQKtN51TbGs9 jr96iS68WYC7hNazWX7CpP+MCki7TfgEicCOlZbnl3EDI2VaounUGo1VD2u3lD3FXXx6 HuZCZw8nzqKJ+/LvywyWDLPa52XlsWPlJj2jQMsKNhddKZZdIR0dOeFNbeQbCH5KSb7t 2XfFqdi27ncfwQKUPPOoTzekW1RNBKFhD2695Ia3WHxRPUFFsZ0RX+iH8aq30lgUEkia dU4OlIoR2u/H54K0ZczfcOyWl5ZpRWZ3wTjc54hYGWvXoVa2wEbgINDc+C0QsNXx+kVC iIgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9kFzm2cWD3XBCWmjkJOLNPXi74hleyE4vrg8wvKIHow=; b=txJ+lbo2zbzc/I9t8oTnJZs/nHnd3kLyBltWo1d/ooqVeJLRcKS1FqCAaItrqnHcQ0 iQrN9CC2RGiJPvNmj1eZz+DKW/b8Rs68CxS4Wo4KXWxWNKr4oOSHDUnOVsI0NZcIS+E7 unMgMWUcgNGgS2dS7y8SLGbXP6lNk5iHIPEzl9TiruEoe1/M8/eIkIAsMw2CQPNvCy4c a0NiSXxG2HJwDqgGbxG/NPV0O28g+XoEllvXKybqLjlzVdfkXdya89L7vf+rZtQV5W9O O3KbsXHRCjOk0yyFq2sD/sPdZQhCTBpShv9wkZGgGIv0FQxGpTXhsW+qWyxRleET+c8R x4Jg== X-Gm-Message-State: AOAM530yHs6IFgWpP1ofok8H/dg5mHFzk99KcPBvlqG/mI0k/LDuYS5s jqDOZazGoXft6upwEgf576ro+wGdzT4V83o7obI= X-Google-Smtp-Source: ABdhPJxcKAr6OG2GmUWqAn0hDa1YZNXtGWVQ6SVmp5ZQsBdgTQEw9Ukf+M+b94mUmzfU0lKqnUdv4g== X-Received: by 2002:a05:622a:1a05:: with SMTP id f5mr688794qtb.283.1639706737305; Thu, 16 Dec 2021 18:05:37 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v10sm5959816qtk.13.2021.12.16.18.05.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:37 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 27/45] gnu: Add node-openzwave-shared. Date: Thu, 16 Dec 2021 21:03:07 -0500 Message-Id: <20211217020325.520821-28-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 66 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 4d8286e334..e247c8488e 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -85,3 +89,65 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + (list open-zwave node-nan)) + (native-inputs + (list which python pkg-config)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key inputs #:allow-other-keys) + (define node-dir + (assoc-ref inputs "node")) + (invoke (string-append node-dir "/bin/npx") + "--call" + (string-append + node-dir + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp" + " " + "rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:01 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:01 +0000 Received: from localhost ([127.0.0.1]:37354 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dE-0005Ap-Sp for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:01 -0500 Received: from mail-qt1-f181.google.com ([209.85.160.181]:33655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2d0-00059b-Kc for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:46 -0500 Received: by mail-qt1-f181.google.com with SMTP id n15so1264905qta.0 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kFG9UmTY34FL2o455TQzKeJyYhqM2Uws405NMCYUxMw=; b=bMa3IeGw8vZkhDOFlE5qLM9gYpKifBQtCLcio9T1Ft0lM7onp5cDhvv2N39rZw9g+w 8sG9TksLs+cPXDV/l2wR55cpEnJ+8BWPZgG5YJY1AdxldcHFJDJKGFDHee2uHYLH9Oel sSgASygWJpfzPgE0fRHEnfvWpqW1L2j1XJjl4fQvgtiW0RC0nvBj+o19K8gVafoNvcS2 5Fo5Mwhwofsj61Ufk5woPyV9sHxuYLkOAiqdOXwk96I9ouAHtfBecTMaEXzUcDpjtxN0 ky73h5BODRtDm15xjGKR1tAj7Pt4q28Hsv4IzvtGQXjiDpiK8VrkehAvTwkyZ3J/WJbK os6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kFG9UmTY34FL2o455TQzKeJyYhqM2Uws405NMCYUxMw=; b=G9WoVfrmX1lQ3oZ4WVUiSLvBUCqERMZW2nrDGFmj5vRPE2g8p/VglFEqKq8Of+/fCx snOhm6njGBbpZPCMaGpoFf3RRc3BA3fb43g5Zofh1iYuAPUnddbWCh8quD3tSBdzwgPR HIUZdgP0bjrTPyd0CsA67pxxEqv1QRT69XC33fRTZVOYaVWVBmKIkgJ4p0dGmG8YGoX2 cUj/mMnUbmrCQD/qWl0MAaw9Ws0FrKTn1Oz9Xw66N/GhUyTm7UxUHYDbjhuDHk3Wt0a5 C2zajBxOIsh8yOdTk5f809qEhL6buhvQl8NhQ97NUqSrhibecV36aI6WUyZWJnqEly5r i8RQ== X-Gm-Message-State: AOAM531LRwmhNFDyucRLNowCsjPZHbS1WFUQzMIdGfL7h1sG6L7CQqXx iHByA2gHB9Ymg8YwPiprqX8TaU78zpk/8isksLk= X-Google-Smtp-Source: ABdhPJwXVM/751B52kVoWXKx3AFn4ZLah55O7loAH4rCaJ5nAaRlg/Oon8NmykeiTT17qOEfSWbMpA== X-Received: by 2002:a05:622a:216:: with SMTP id b22mr730052qtx.148.1639706741314; Thu, 16 Dec 2021 18:05:41 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id l15sm5890257qtx.77.2021.12.16.18.05.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:41 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 28/45] gnu: Add node-addon-api. Date: Thu, 16 Dec 2021 21:03:08 -0500 Message-Id: <20211217020325.520821-29-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d8ce7248f8..beebac7a40 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -588,3 +591,62 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + (list python node-safe-buffer)) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (substitute* "package.json" + (("\"test\": \"node test\"") + "\"test\": \"echo stopping after pretest on Guix\""))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:02 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:02 +0000 Received: from localhost ([127.0.0.1]:37356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dF-0005Ax-9K for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:01 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:42785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2d5-00059n-55 for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:51 -0500 Received: by mail-qk1-f175.google.com with SMTP id g28so767163qkk.9 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=44FB1zj54SjqaiOtmegrvdn0Y4TBIILYWcHMvoWsBoA=; b=i/c2/gAYlkXXlbZoxfSx2YNZzfzr39SDS7IsO77m54xZClRP/R649bzLrAcrfVbspV dX0t+cWN5cARI/Lo/+7X6D7PS1zY4oAI1XopB46hZuEerlGtDgIP4yvUZxa2RA0x25eg U+gBcJopvVv4XwWMgt7ABct7qBzermBRB1+ofjGNesLTI2o1Iet+PIhOejNNywHsNn9+ pne5wjpFL60G6Z1Yp6j3Ckn+OOl7+s0RAooiQJgzVAITJhXt9aPaHjvz2fgpAdtFKnJX MH1XoAYwwvdr4UewCmpnEH+CBgrm1cqC7HrwEnY710FU6H7ph8vlTxxtjS/pj52eww1v OcgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=44FB1zj54SjqaiOtmegrvdn0Y4TBIILYWcHMvoWsBoA=; b=kmVC7e9uUszNJwWXvH7jLoTm+MJfPXj/fqbBAtqvdhVwSL6eORJfGx4TFnFxsqpu9z OzO6S+L567AwzRcW5gnXFmmh1jV2WukQCdPqFaB/trsMM2iGF/FphZZUKJtC/Wqc8srk 9UfbSIzIyC8zoVObPsOR0o34DtGm3K/NSV/Q4F2qaIVV9vdZFG3KOhmA8xd0Tnfcc5W9 N6YCWAuUdnOaq1hvZ4NzpENUF4m9KSkwvP/y/mJj4yBZQciZrx+p4QoIaZC4OYp3X4h9 RbhSkFnHXSvgKFOsvv+NVu1VMoTi3x0lRTU7EthD4PRc6LYkuH1jqz11RDOw5zRJnspB CtPQ== X-Gm-Message-State: AOAM530iIZzevqRdmoALCXTMgkEfOw2njbKUyrjRppQJ64gWRRSbcJHc oamj/ckstmXATsaCIUdOB1ZLI4L6OktzrG/QnE4= X-Google-Smtp-Source: ABdhPJx0ynEnqEI8DX9byp69rT1yhqb359TT6y9hiAexyDa/5aFOckxjLzBZ0U+iO6pLpOGnx+3AHw== X-Received: by 2002:a05:620a:94c:: with SMTP id w12mr573658qkw.190.1639706745403; Thu, 16 Dec 2021 18:05:45 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p10sm6017909qtw.97.2021.12.16.18.05.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:45 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 29/45] gnu: Add node-sqlite3. Date: Thu, 16 Dec 2021 21:03:09 -0500 Message-Id: <20211217020325.520821-30-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 130 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index beebac7a40..f5297c869b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -650,3 +650,133 @@ (define-public node-addon-api @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + (list node-addon-api python sqlite)) + (build-system node-build-system) + (arguments + `(#:tests? + #f ; FIXME: tests depend on node-mocha + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:absent-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries + ;; or falls back to building from source. + ;; Here, we patch out all of that and just build directly. + ;; It would be better to patch a version of @mapbox/node-pre-gyp + ;; that always builds from source, as Debian does, + ;; but there are a number of dependencies that need + ;; to be packaged or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency because of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + ;; We replace a file that dynamic searches for the addon using + ;; node-pre-gyp (which we don't have) with a version that + ;; simply uses the path to the addon we built directly. + ;; The exact path is supposed to depend on things like the + ;; architecture and napi_build_version, so, to avoid having + ;; hard-code the details accurately, we do this after the addon + ;; has been built so we can just find where it ended up. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") + "/lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + ;; We need to patch .npmignore before the 'repack phase + ;; so that the built addon is installed with in the package. + ;; (Upstream assumes node-pre-gyp will download a pre-built + ;; version when this package is installed.) + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + ;; We need to remove the install script from "package.json", + ;; as it would try to use node-pre-gyp and would block the + ;; automatic building performed by `npm install`. + (with-atomic-file-replacement "package.json" + (lambda (in out) + (let* ((js (read-json in)) + (alist (match js + (('@ . alist) alist))) + (scripts-alist (match (assoc-ref alist "scripts") + (('@ . alist) alist))) + (scripts-alist + ;; install script would use node-pre-gyp + (assoc-remove! scripts-alist "install")) + (alist + (assoc-set! alist "scripts" (cons '@ scripts-alist))) + (binary-alist (match (assoc-ref alist "binary") + (('@ . alist) alist))) + (js (cons '@ alist))) + ;; When it builds from source, node-pre-gyp supplies + ;; module_name and module_path based on the entries under + ;; "binary" from "package.json", so this package's + ;; "binding.gyp" doesn't define them. Thus, we also need + ;; to supply them. The GYP_DEFINES environment variable + ;; turns out to be the easiest way to make sure they are + ;; propagated from npm to node-gyp to gyp. + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))) + (write-json js + out))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:02 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:02 +0000 Received: from localhost ([127.0.0.1]:37359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dG-0005BB-14 for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:02 -0500 Received: from mail-qt1-f170.google.com ([209.85.160.170]:38635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2d8-00059w-Pn for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:55 -0500 Received: by mail-qt1-f170.google.com with SMTP id 8so1200349qtx.5 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TMEGHgjDqWvJ21ZVQG9fhDd/jUJbOW/c1B/jRRJdX8A=; b=iRav/mS3sI6POV+Tjv1aLY/XHH4vXklsHzOlTBK7jQnR19skdAH8NioV0DGD62Oglk rqOSmX6slm7dBWMQQfb/Gh//8ltVfxgK+r7CTm9cjfxEki0YsvCizxUBAy2sdiZELHBu RCrx38vIawhOj1EAcoX00uOMhxMdnhTMWb+WNKVZBcR9KdTRtNMa6pMQAQxxiHBUaKnm XjoDUdv1Cq5/hO345MCJIH+dCks7LR87CbFqI9GwyRMW+y2g3w91f+s7JGeSaOCxJ1Go yhiKv3rGuNF5+KWGLkM9vMQFP6ZPvmoektU610Zu5P6mCUofc1Gu7ZZhq33SDjVZUPjx n1pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TMEGHgjDqWvJ21ZVQG9fhDd/jUJbOW/c1B/jRRJdX8A=; b=JTH2WGY2qi7yQ6L5zNbVq1iNPkFNirj71EuNcKaa/hd/AVmv8m0DSq38Mfbv5jdBUC iSmvBe24hHaCnW8/V6K8zat8D4rN+xlBN/pAgMUpnXZznRO/2aevIY/J7pYwzqyzbD+j 9LcaeLjHUZI7fJnAoQWPJK2/QK5gCyhp81IuiOG8oKWo0MYUsz6rK8gj0pz4amBqtYA8 HlhRB/4jN0qu/QMc2C3K5aIP8FdRQyOcKNdOOe2njFSunLngxW0Zt4AO41AABu6RBpgt Xhq6NFFowQ/hY5Dg9iNV6HRmWuuaGW/3bM8EMn8gsBgDySOa8L4yTpBXv56ClXUvkfl9 HQ2Q== X-Gm-Message-State: AOAM533F7UspoKYq+xzqmcpeyI3VDgY68DPc+9VQEsBWWnjKlSfROWdj wY7y7+1iK7k5AjYbuI7ahJHeUMB0rUe9pgcHEOg= X-Google-Smtp-Source: ABdhPJxMvtZ7hnAZye0LILM5yULYJhcVx1QZ9WAPetgMAjIfG/Px3w9LoogAday05uz93UoPL2+lLw== X-Received: by 2002:ac8:5991:: with SMTP id e17mr713356qte.344.1639706749435; Thu, 16 Dec 2021 18:05:49 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id br43sm3955646qkb.57.2021.12.16.18.05.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 30/45] gnu: Add node-file-uri-to-path. Date: Thu, 16 Dec 2021 21:03:10 -0500 Message-Id: <20211217020325.520821-31-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. --- gnu/packages/node-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index f5297c869b..c9afe8ccd2 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -780,3 +781,57 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + (list esbuild)) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@types/mocha" + "@types/node" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "cpy-cli" + "eslint" + "eslint-config-airbnb" + "eslint-config-prettier" + "eslint-import-resolver-typescript" + "eslint-plugin-import" + "eslint-plugin-jsx-a11y" + "eslint-plugin-react" + "mocha" + "rimraf" + "typescript") + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (string-append + (assoc-ref (or native-inputs inputs) "esbuild") + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "This package provides a function to convert a @code{file:} +URI to a file path. It accepts a @code{file:} URI and returns a file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:35 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:35 +0000 Received: from localhost ([127.0.0.1]:37386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dm-0005Eu-Nc for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:34 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:39577) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dC-0005A7-OU for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:05:58 -0500 Received: by mail-qt1-f182.google.com with SMTP id l8so1197267qtk.6 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:05:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nj9L3qO3cqzx8qXDO3ln6/nDaUJ2+an2oKZvTNkKMb8=; b=Rt/cGb/bnFJCBpqn2DuLaqZrKQLOAk1CD0XrGJIvdEg1VzOso7qDZ4edU1I7Pa13wi /Te3a5ifIETf/A7XJaltjF/SXBnYBJRbyUwrtplyV/pSAeRvKLhIAWTHNlu5RPYnc+Hb jsAV1nx3/gtr7H+5Vlg7+d6spwhedqq7nxTcFNx4m5tw8iE3EpNKZIM+w4zc5H3QAdbI KPTYbl7dSY4TMnODWC7qxS8hhGIE52cWwpFyGLs1RzM6P4LIG8t9uyw6HPX/kEvFan+M dBwh2yXhvuFjrUvUZHHparlscXUYRocOnv9j50VVedOXbjEPvodcbHfgiD2iGt0+oGbs gpDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nj9L3qO3cqzx8qXDO3ln6/nDaUJ2+an2oKZvTNkKMb8=; b=Vb8ejx2Eun9lZV1zKV7PcPexjuGuiv/aOCEuR41iEuid/jYcrzV0jOxlEFFg1rwBPW /NQ08NZIpFsbPLpmH+cc96OZSdhg1+f/8eKPwz7cT7aVHEtgdgzzr484eHU2DdwbiZQ8 7vEr3W+QWOPWVzwM28pBaHjAm/WcXnSN9h7TYxjy43dM+hRAhqDIT28wOc78voIowlYq A9vSeMnit49rxOZ+87yNiBlkpc5Jt+twbksPEx0ruxkX57V7jKPz4JQtGXr3ywO9Rjlb amogn0HZxVr8A6TN4TwxEOOvqMIP8Jok58LD5+Zwo1DdGuFdFTHYlbf2ZgBM1E5iQmKQ 618w== X-Gm-Message-State: AOAM530oNH2ZZuDMKEza+1jDTyejxaLdSePuHiRCuIDYVPt12KioDN5O lqlmO7dAi7/fk7CCgNxGKnhdn/XDujIdOZeM1rc= X-Google-Smtp-Source: ABdhPJxNKbp1nQF4NxZTznJGHOcwpNJ/inT2GT6wFSNKdvqlPBl/B/8Ce0rPe7OWNeCrA7G4Ispwjg== X-Received: by 2002:ac8:598c:: with SMTP id e12mr682235qte.337.1639706753416; Thu, 16 Dec 2021 18:05:53 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id z4sm5940090qtj.42.2021.12.16.18.05.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:53 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 31/45] gnu: Add node-bindings. Date: Thu, 16 Dec 2021 21:03:11 -0500 Message-Id: <20211217020325.520821-32-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-bindings): New variable. --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c9afe8ccd2..913bb7d149 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -835,3 +835,29 @@ (define-public node-file-uri-to-path URI to a file path. It accepts a @code{file:} URI and returns a file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + (list node-file-uri-to-path)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "This is a helper module for authors of Node.js native addon +modules. It is basically the ``swiss army knife'' of @code{require()}ing your +native module's @code{.node} file.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:35 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:35 +0000 Received: from localhost ([127.0.0.1]:37388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dn-0005Ex-0F for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:35 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:44845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dG-0005AG-Vy for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:03 -0500 Received: by mail-qt1-f176.google.com with SMTP id a1so1170134qtx.11 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UCZiKwLmoXexNMV3cB1wGh7j/+uISbF5bzHOpDOJ7Rc=; b=fazhWUJ+pRniLy78KhU2qMhKZfzmWYYvLA7BH/57eqonOZTu4JiKcn+25dcXPWa7G3 snH+a9HHGchiD5YQKH7RQOmOEIvxZlsVNBK6bta8F3b1cWqd/boDvjfS22SbEcaTJZK2 /43uA3bg6d04snBDmzQg1KUURARXIoRmgr9g4e0MoVt+YEIlkyZk3WqWPT77uuz94FsP DKU+R3J62fLEq/NZLPci86yCkPY4Z279f/cQULgs7lHY4zWlb7NYQKYVKikOZ/m6JgJ2 7XcBEMCsxJNGai9tMz31M3Qc/ywgri3/Q1od9gBWB3fegYMINDKpG8wULMNV2l4KOuA9 aNVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UCZiKwLmoXexNMV3cB1wGh7j/+uISbF5bzHOpDOJ7Rc=; b=g2AkFqQEb0hP0N20pEiCHR6zxgKdz3TCJFbJB29dSa6KI60+sE5hk+NKhm+QU5pBxZ Ll+tn+//Dn2Ttc6V7duoDHzgWhTwM9H/d2re2iqylWwWdOhij0cbbY3hwVQp1r/xtwlS 1L+v7Btn7TN0coW0ky0kv9HwTjtM3te7YuD35uk3ztLh69wX3kOU/5w69iIAw+LCE57j CJjtyNmoJEt8DpANhKZqjVRpwWM/jkPWg197QgG5BiDSCyXyfhK4/oU2fzayXhyJOrlz bOQWBZ8/eCFZSmsELJzfHbNvNEPIQxfi/B4aW9DOR9cwPDPdQak7Y3HpxobjgPfAw2Eo PR8w== X-Gm-Message-State: AOAM532XpgquhnNkZRiJ2zlP3EaqMeECYtm+3jhBAc1Puxwbo4ZGxjEh aK++jnFO7jiwLRxk6TEnBRbB1S+uioTAbk8Ss5o= X-Google-Smtp-Source: ABdhPJxl0xqiaPrDLJxR5LjRvITQ6+8V/0+W6AyOXUH5zlAKK5BMOcqcnh5aO7TcUB4QMWMIuPYbxw== X-Received: by 2002:ac8:4e4d:: with SMTP id e13mr675397qtw.293.1639706757575; Thu, 16 Dec 2021 18:05:57 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id h22sm5857138qtb.86.2021.12.16.18.05.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:05:57 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 32/45] gnu: Add node-segfault-handler. Date: Thu, 16 Dec 2021 21:03:12 -0500 Message-Id: <20211217020325.520821-33-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 913bb7d149..30a0174063 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -861,3 +861,32 @@ (define-public node-bindings modules. It is basically the ``swiss army knife'' of @code{require()}ing your native module's @code{.node} file.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + (list python)) + (inputs + (list node-bindings node-nan)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules and getting stack traces when things go wrong. If a +@code{SIGSEGV} signal is raised, the module will print a native stack trace to +both @code{STDERR} and to a timestamped file.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:35 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:35 +0000 Received: from localhost ([127.0.0.1]:37391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dn-0005F4-Cq for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:35 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:40680) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dL-0005B9-1Z for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:07 -0500 Received: by mail-qt1-f169.google.com with SMTP id t34so1196218qtc.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4VSfuXjq4zhld1EslVV096Eh+uUvrMa9UEVaDWmORp0=; b=BaRsi3GKBeP4M7su2J2NYloVNenrgHydY1G6HMirhpDpJmgb2pc/1grSzLQQdPvdqz PV59W8mfZLkFUGP9Te675+oiIKShCZah4+7kZJQpTPzwW51J+o6ndVTlCsQu9euKB8BK 2F53DX1XDTa4pyYzx6Grf9CiBEyRFV8ojRZkX51X0VqOxvXydT7Z5+VeG3xLlis6NKLQ 86Elbt+XdZIui6BYPgU9KQwxL/jWMjKM18VbXW2mBgE46qTGpBCfGhQLLZaOna9yr+sq Ili/jdjgl0bN11KYSjosnLMZtPVksLMdUd7XCiAiun8ZOgLJ43hMLsBDVqEi8sgvaLRu wRYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4VSfuXjq4zhld1EslVV096Eh+uUvrMa9UEVaDWmORp0=; b=D/PhTb330yul7xEz7UCbmUEbqqRt7DeJpGCLn+2gvekvONF9YL9o/T8Gu4EU+eI4R/ OfCj2PCc49AOlEhJwmDm1jDRkUWbNwNq1lJ/9LAQFjDQXCbD5+d8rpjIf10q1YN5CuqI dlgGTtn/dGgT0mUDQHZF0JqbEwLo+aD8Em8PbFHAMOJhOU67pHheSlrzGE35ZuM0dvSM kGiNqtkLBgwL1QoUuSnUw8XDZwXwTdvPs99pRYm2F/3XPDBuoCEEgeYPNnKFDDHO2NYr qIJ8RZmB41eOfizTpuiAEnY7GxeCbg5tVY4teLwbgCV5keR8g4zc4H+BvMtyUWVAKOa1 LgIQ== X-Gm-Message-State: AOAM5330U52Zsj8U5OAC27zUZkyipVXL6IEE4djT1yBr/lqMrOaybdu1 CRr5pemlhr1QhUewAW30ZaoN0VoNgdmXKObdC4s= X-Google-Smtp-Source: ABdhPJzYJGDKgOKo7ysujVBHuAe4oau3gCZBg1K9IkX1m6gO/81D2Lpcwna9j4mce4O3cO0C58zU/w== X-Received: by 2002:ac8:7c46:: with SMTP id o6mr741146qtv.210.1639706761699; Thu, 16 Dec 2021 18:06:01 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id az14sm3938731qkb.97.2021.12.16.18.06.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:01 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 33/45] gnu: Add node-ms. Date: Thu, 16 Dec 2021 21:03:13 -0500 Message-Id: <20211217020325.520821-34-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-ms): New variable. --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 30a0174063..3103124bed 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -890,3 +890,46 @@ (define-public node-segfault-handler @code{SIGSEGV} signal is raised, the module will print a native stack trace to both @code{STDERR} and to a timestamped file.") (license license:bsd-3))) + +(define-public node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha" + "prettier") + #:tests? #f)) + (home-page "https://github.com/vercel/ms") + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time formats to +milliseconds. + +Features: +@itemize @bullet +@item +Works both in Node.js and in the browser. +@item +If a number is supplied to @code{ms}, a string with a unit is returned. +@item +If a string that contains the number is supplied, it returns it as a +number (e.g. it returns @code{100} for @code{'100'}). +@item +If you pass a string with a number and a valid unit, the number of +equivalent milliseconds is returned. +@end itemize") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:36 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:36 +0000 Received: from localhost ([127.0.0.1]:37393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dn-0005FH-OP for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:36 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:33607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dP-0005CV-3G for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:11 -0500 Received: by mail-qk1-f174.google.com with SMTP id de30so851458qkb.0 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NS25UhGn23l78aSUOP5a/YmTNgy3G5OXPqXupLyyRJ4=; b=L0NWlUTDDFSrajyldtgVqWU2DWw3+hLrBLThu6C6R/0pQd/rkkoouwZZqtmI18szyV Z+fDuAlGazj64/1fR0Qr+csUcLns7ZQoGBnmAiQQauz67O2pKkZuaHTLwWyqiCswzBm/ 7/6YRoAFfZWkfWDV/a4rcICQdezRGtaSvhiHD8fI0OmjLvK8u5V479UTeu+PM6Jrrez/ scEb9CqXNTyuKV3h7WKXA3jgxWy4m2Jj3R8BHjcMPVerZ7HH0ymf9/1EDMBdkObBnEwX ueVeK1Icfzuxb+kMJSGM+TPmeQJq8pHVHxWkbAl/568riPKEUooynBknMc1ZjDRGR/YD +QEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NS25UhGn23l78aSUOP5a/YmTNgy3G5OXPqXupLyyRJ4=; b=bCQa3QYGYvT5+k3ViqR1VfHHZYOB2ZajiyoMhAn0t/ef+7Z5oM7Wwe1pc8SAOL11KF 7OLI085v+PHRNBntbjSzmOd6kwJZuXyc8WYuRJZRFzRF0ossLTSSKbxSYCD/TZ72GAjZ iTGq1ypZ8LpPhp4v9dWrucBZvVkJN0hPgtSZdJEVeylIcShIBG7iZb3LxlzXWMtBm5cZ vHqN3Yhdb98mBLhlSqZQY3Z0/LHbuy3xh+GYb1Pg7aNy83DrZ5Ay6o713lHSSpDQmE67 hF6FNAx8/3dGSV/zd7AzRpl+5FPOsnPQOZyeWCt/o74DvssD0OOXcjc4bZVJSZPSeP1Z zNmg== X-Gm-Message-State: AOAM531Yv39VQNre0fPoAT5BjPuxFrn8e4Oea6fHRhTd9Yia1ko3xQtu i1QXx73f2IzoPv7qF/iMxdvKaYGEv4bpuE5R97I= X-Google-Smtp-Source: ABdhPJyQC8NZVHhhILixGLfzxJ4yb8cRv+w1qdwBnopYKUJBQXTbruW88qDhVqp9k3WLjMjmML1VRA== X-Received: by 2002:a05:620a:191b:: with SMTP id bj27mr567163qkb.118.1639706765717; Thu, 16 Dec 2021 18:06:05 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id l22sm5401621qtj.68.2021.12.16.18.06.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:05 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 34/45] gnu: Add node-debug. Date: Thu, 16 Dec 2021 21:03:14 -0500 Message-Id: <20211217020325.520821-35-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-debug): New variable. --- gnu/packages/node-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3103124bed..8de98fe046 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -933,3 +933,45 @@ (define-public node-ms equivalent milliseconds is returned. @end itemize") (license license:expat))) + +(define-public node-debug + (package + (name "node-debug") + (version "4.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debug-js/debug") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb")))) + (inputs + (list node-ms)) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo" + "supports-color") + #:tests? #f)) + (home-page "https://github.com/debug-js/debug") + (synopsis "Lightweight debugging utility for Node.js and the browser") + (description "A tiny JavaScript debugging utility modelled after Node.js +core's debugging technique. orks in Node.js and web browsers. + +The @code{debug} module exposes a function; simply pass this function the name +of your module, and it will return a decorated version of @code{console.error} +for you to pass debug statements to. This will allow you to toggle the debug +output for different parts of your module as well as the module as a whole.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:36 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:36 +0000 Received: from localhost ([127.0.0.1]:37395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2do-0005FP-4C for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:36 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:41574) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dT-0005Dq-60 for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:15 -0500 Received: by mail-qt1-f177.google.com with SMTP id v22so1184248qtx.8 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qG2NmB0naMoabZczBwyYutGUFPoFkiHxwfo4KrK20SQ=; b=dl0LRZ+jpuAt8Y3yWHYUinjhfqd37p9fULATGw/UuXRZcbmgKwWAUuTggY6R/GFr6p GvVEFjAzXjo8uoDEYph01EhbHtB93RWcLznYehisuWSObWU9ztfBMgpdPv7NTXSDUM4p CY55aRmj1PNlH8GCiQ9w41KbUTGjtEU6JjQD3Szx2XvcEUQWHb5r2WU5BCJZ9nyMtEOC FkS5EhJb7JoaKcfnNZACGRLRm/JWwqYg7W6J0a67+wt3BxmKIVMRGULafohiJDmBglMQ E4nSFl83X5W/BzuHbaTF46NrgD0gLLlyuLDQMdTeSLGKAtbu5SXwT1TSndBfxMKmzWd8 J7Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qG2NmB0naMoabZczBwyYutGUFPoFkiHxwfo4KrK20SQ=; b=rRTXiphbtpYnpVGiNAL6zEFyJDjUx7nm4AyKjvaT5+vvKRBZCSY1dgR/MOhctxNau9 fwFs5+JABgLSQXMoOCgeGWyNuGroOWaO35raUWQ4ON7+43vroo037wi/nvRaldDwPSMb ZuEFoGUznmBFX0pCKJh0wfODwQ1J6TNZ7om1+r7QBaLTlJm17j6dti0ESx7kU/Tft7r3 AW+HQ3wdTGGiXh7ksnNUSgHTqt3PUJTvFao158clPbUgvcjfPcYGVPS3TuESDMddoGyL YxyJpM/zUikb451GJyTniir6H8OgxzSu9uqYlv3Qux3HNMXryfy8taSvVCO7RbGXU2aG rxdA== X-Gm-Message-State: AOAM533xv8lX7ucY4ztshJ0D79OB6dW+rrBHMV1Hyf8mW8wesXyZhAjI tI51VteHeFQFxuWzanK0mGWNDJlSphiiWruaigk= X-Google-Smtp-Source: ABdhPJxg1FCkn1cLLaqL9CxdAs7g79fbzul50qDmvBS6dnXSBDke2XXHBDdYfl+kUYTsBuN19Vd2tQ== X-Received: by 2002:a05:622a:3c7:: with SMTP id k7mr684712qtx.307.1639706769840; Thu, 16 Dec 2021 18:06:09 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 15sm5902453qtp.55.2021.12.16.18.06.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:09 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 35/45] gnu: Add node-serialport-binding-abstract. Date: Thu, 16 Dec 2021 21:03:15 -0500 Message-Id: <20211217020325.520821-36-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8de98fe046..ef833678d1 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -975,3 +975,37 @@ (define-public node-debug for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.") (license license:expat))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (inputs + (list node-debug)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:36 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:36 +0000 Received: from localhost ([127.0.0.1]:37397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2do-0005FW-GM for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:36 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:37483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dX-0005E1-5a for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:19 -0500 Received: by mail-qt1-f182.google.com with SMTP id f20so1208001qtb.4 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xBHuQBv8fyoqCFh6kZLHsdDkFRTI1wXi5fKIKpmKCQM=; b=SSux7+rHT75OOf413RSp8VDcF1v7lvpx3y+dWR0LLrag1R1nMzTdUNM+gwLgyNk6vz Myc+LvQM32A3zVTk6IW0lXi9WccvNNIzCrxjGbaiN0PfSNsNmlT0YR5C0br2yRcGomcz ca4Xo+sUbYAANrAIANpf8UuoBnrVrICAJjDxER0Po8pp6BvAt73IR5Ulj/27OrCRTALG eH8fWuojz6lmhu0q0HJBEh+dsqm2ev+twXjNfmuxp22DnLBz9DxUwgkHdg+Nlu//b9az ohPYpkhTIXQBl15bFOLj1o1DgMIks4J+Ln8s/2bp61Wu8mcyDXKwfXt6mssMJNIPx1j6 6TEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xBHuQBv8fyoqCFh6kZLHsdDkFRTI1wXi5fKIKpmKCQM=; b=hygmgDrBSxAoQNM8QIUkSbicgDya3nC8SuQkGOpPFkp/M0+++NF2D0lnQYC8aaBJwh XcXBq9uMaH1nhF0FET7QVTx2JodWqFatkFhi0BhYgw8qlwPNjJd46Sk8h565b1YBD+pD QZPfqzHEvv8jEj7p5LxlMVwKmofz7a41gfQKEjwtg8u9Eztes/BF/bUefbk7fVWDWvNy 9CJZCU5dUF62Icyc6RLlYWw5sv12idPIo5EPJHEkhz/AAIUoo3qEbObPDqKQHc8pewmX 9ENZsrtTo6FA5FUhePtV9XYaroJ2OTvQtrJwpdUeKqDBDk+OUgZ7TbfiCl++9svXdEHx bPfg== X-Gm-Message-State: AOAM5327YRfWFEYeHNbsE5o7lM4Luf8vqMH/3TlpJHcqW4dmti/TrAlh Jb+lTWsajPhE9ZNztqYD6jL08CwKxHY6g5cKHCw= X-Google-Smtp-Source: ABdhPJy4SWpbxSNXyTMT8TWo/cT0wOQtateqj8R8cu69KnUER7fGqFSdNfZfVjC7hReCGswFBh9Bnw== X-Received: by 2002:ac8:5a90:: with SMTP id c16mr700279qtc.199.1639706773808; Thu, 16 Dec 2021 18:06:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id k85sm3842042qke.134.2021.12.16.18.06.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:13 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 36/45] gnu: Add node-serialport-parser-delimiter. Date: Thu, 16 Dec 2021 21:03:16 -0500 Message-Id: <20211217020325.520821-37-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ef833678d1..abe0e9b291 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1009,3 +1009,25 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:37 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:37 +0000 Received: from localhost ([127.0.0.1]:37399 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2do-0005Fd-Oy for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:37 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:38672) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2db-0005EE-4N for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:23 -0500 Received: by mail-qt1-f176.google.com with SMTP id 8so1201227qtx.5 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g5MV5LQ3+k2btes54CvyTIPC7xNta+MB9jFsIKyVqXA=; b=HATTwQAZPAvfWroZ1aGb4lqR9rwKdokk2Y4XlPAeukHpQvWmp02rYykGlRFOhT0wuL M3v5Zeh8C3hIYhmC4+kp9NzEsNx92iIIgeMOZiKlEUvC/p2i0HDLXYjL+vSGK6WmbC2a 2TX0uU1Xpnx09pbA3CRBtlsyrJKv+w05P8Rlky/neE9aySNxyA+qT026y8ooz+5x6hRT B5oQpKoA2+NnEI/Yhzi3e+FpLAM9lLVuR4F5IGlUUUndfy1NKLMWu84a/oc1zS2OemBQ 0sB+FSWqgbrpQb3SzO2rM8KkNiltN5bULV7y1i6111bk81iBYGI+Xd9JowgYokelDIbm LiPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=g5MV5LQ3+k2btes54CvyTIPC7xNta+MB9jFsIKyVqXA=; b=0P9r9US/9z9a0GxgXU9EFgLweySG7FozeaGD/iOzPhB6TA/EOyyn0mf9qSKxdu1rZM cffzbUvlNYgs1jAGOuB33zd7mpH9uyqn4KI9DrwDK+d2mpyft72xkZx7JuLDF5SwFuM9 u5sLCCG8HnJR9BUaN6iC4XI3rvioI/BmKH5EvZZhW5kO+uoG9S/oyoh11yEoVxHehnYL Ctyz3lpGY3pMn+CrFsvqD4sgvGRb/0Ss2b1Xj0e0yOkxpPqzeLp6goiaCa0QdVQlMQ83 268s5787RClpi84kjG59+Sods4zfJsOeqP+LA6Xu0f+esR8AKkzX7GrMt6/lyBHsVr0P ZLcg== X-Gm-Message-State: AOAM532W7BD6tj83z4/5o44y1Vgwdx915UAF1YDKYgvAO4sEYFsn2oFu ubHj5ctllcaP6u7v/htz9oNNaaKbRDCvp8xrcrg= X-Google-Smtp-Source: ABdhPJxgMdvND4vjOulEUAoIEHwM5MrOkt7B4gSpnLlF7PaHX+r03CAw14doyhTe9s6w6rwvzPwlpw== X-Received: by 2002:ac8:5710:: with SMTP id 16mr739556qtw.140.1639706777746; Thu, 16 Dec 2021 18:06:17 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v9sm3860182qkf.90.2021.12.16.18.06.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:17 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 37/45] gnu: Add node-serialport-parser-readline. Date: Thu, 16 Dec 2021 21:03:17 -0500 Message-Id: <20211217020325.520821-38-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index abe0e9b291..d117df1e81 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1031,3 +1031,26 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + (list node-serialport-parser-delimiter)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:37 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:37 +0000 Received: from localhost ([127.0.0.1]:37401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dp-0005Fl-2F for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:37 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:40709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2df-0005EN-25 for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:27 -0500 Received: by mail-qt1-f172.google.com with SMTP id t34so1196830qtc.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D+HtodE2T5IPa2GBofP9xdVEGRubonIxpApSbpcmptw=; b=LhD+WeM3aOiVFz2irnmbPC7LAzutyErfefxvJki3a99TseUw0s5HPnDBaG2fz1E7Q3 bePcjltcrwKTkw4nRMBIWNP0vGlIPF7foDSkm8QQ7uQZGmaUPW9IaISJyz5RJqtXX8i0 ggQu+2rtmwCZeRKMjXWE1aLPss5qIs8/r61W/fDijNKcQ0/fOAxMZPfmxQRN8HE70hXn EK5akkmNYb3zxErbIX/D8lC3wpmjeHGNtgX85sEGZIbka9qHdnGfJM8xW7iHNQqOzI++ RIzUTQCdnMIujUOO3ZavYSsS9hLD20Aab/QVWG1D3ihg7jAYW3kZ4hIJgV/BMAbTvKpt doqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D+HtodE2T5IPa2GBofP9xdVEGRubonIxpApSbpcmptw=; b=SpfKOFW5qOp/3PmXPknuleK7LkadQfH2k/IznsCebCiBaCcY8dgFIz6z6pn1UxOyc3 DNT60UMUHi5DG5yFOwZaBlYdKtSVQAAZkLb/Zl15w9F+PqrwHMIldj7XSjplMAbWKz6l 3GzDg45f7ZnHFB4OL30z/fxpE8ICdM7rBBY+V5bjO+BXRsjDlNBG5pC579rFQFV/PaKP Nv2fZb5BKg77fUP9oKfrT9ZEIv4IQ3ITZ7GVkAuhOt4hBAA5HY/h4IGX0ivqqXLd7f7f DDhOnNSTCecguKBUAOjO81dyeHgPweSSUNHMF/ixKwn2dVl0sAXLx2y13nXl2N124R9w Nsyg== X-Gm-Message-State: AOAM533jeH1EbLq5F899r34tU23rfP3H7cOl952Rl4QYpeVs7uMNc4KH 30uKBNNU48wS6TiFOtYqc7mAvuqwwljQgBbjkQg= X-Google-Smtp-Source: ABdhPJwOeh20C4PHP661NlNlv0Pa4YEJJW2xfJTL4BOgOr9zZJ2qIrNz3bi24MU72dd7KNzq4cgkRg== X-Received: by 2002:a05:622a:216:: with SMTP id b22mr731907qtx.148.1639706781713; Thu, 16 Dec 2021 18:06:21 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bq36sm3934243qkb.6.2021.12.16.18.06.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:21 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 38/45] gnu: Add node-serialport-bindings. Date: Thu, 16 Dec 2021 21:03:18 -0500 Message-Id: <20211217020325.520821-39-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. --- gnu/packages/node-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d117df1e81..e56bccb895 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1054,3 +1054,56 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + (list python)) + (inputs + (list node-nan node-bindings node-serialport-binding-abstract + node-serialport-parser-readline node-debug)) + (arguments + `(#:absent-dependencies + `("prebuild-install" + ;; devDependencies + "@serialport/binding-mock" + "node-abi") + #:modules + ((guix build node-build-system) + (guix build json) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-file-replacement "package.json" + (lambda (in out) + (match (read-json in) + (('@ . meta-alist) + (match (assoc-ref meta-alist "scripts") + (('@ . scripts-alist) + (write-json + (cons '@ (assoc-set! + meta-alist + "scripts" + (cons '@ (assoc-remove! scripts-alist + "install")))) + out)))))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:06:37 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:06:37 +0000 Received: from localhost ([127.0.0.1]:37403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dp-0005Fs-Dl for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:37 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:40654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dj-0005EX-2t for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:31 -0500 Received: by mail-qk1-f174.google.com with SMTP id p4so783774qkm.7 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D4vsTDzcGAdf8yQq26IWqqQucAothel7xX10SsrGGP4=; b=jHQfLGE2EBv30ie69b5juMnuECvr7GmYd992CJ3cMjAIhUkwix1wse6sOxPKaic7L2 phFThLvksIcMgPA7qrTyCWmEMs29iy3Rkpm/OlrFM1lLbFKvLFo66XYAC/TE/h+5sQ0J uOiRd0l7sEEnsKFicyi+x4Bmk50hXk4ljyq833onQt1qRVnUuZpvgntPbi+pBm5Gw6II wuXabbumjzEbKoBBdBV2fcQVZB7m2Y7uQyuucbAHEcN62hjNgvbKeiS7GNRX0qWk6ZvG 8oZ6O7rbgnyGDqU92VMfQm/hJgjo1GWrv8V/1XJyyj94mVjkzJgsdlRfXJiwExxBX79+ 7K8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D4vsTDzcGAdf8yQq26IWqqQucAothel7xX10SsrGGP4=; b=QPsWuFUnG/L65A3DLE9RqCkB8sRgzkUimVSh80BG17F3tA+AXxP4fofjeu+KREzuXv W2lLzjVySNBJVXyXXkzENiHl33OekrTppOK29LOEzz7+FBmIgvymAvBmQEOtKhjMCbLG Voi+lRVHLwMgA7zfR0sfmTZSZDuCRFKcHDWXLs3jKyTLA9S97BMwpQpsEL9nZPtSHXHW ap4N081Yvp9BjkK4zCI+pATTe3qdPPb7zHps912IfSDfpmzudKD0npWmhbXggOcr9FcJ hztc2+EaJ4a40SQUV8NUaJbqPw0rpBTT17Ip9DUHSa5MYPJZdAzxGfIebiThND5Gzzt3 6VUg== X-Gm-Message-State: AOAM5302jdXT1lYpQQ0NQoxRuNBphZBSM0mWVSPnRuI0oeQM6V0FuWvN n0vNphB2ZwReIE+K1pt8jlwuoEOCWQLAsISJxfU= X-Google-Smtp-Source: ABdhPJzmG7WPMAuspTvhNMnUAjgeSG5EVNMD4b6bdc+CwY9/TS0CBrozvzUmDV4zugLj5ijhTV2nSQ== X-Received: by 2002:a05:620a:40d0:: with SMTP id g16mr534506qko.27.1639706785730; Thu, 16 Dec 2021 18:06:25 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id d11sm5417756qtj.4.2021.12.16.18.06.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:25 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 39/45] gnu: Add node-serialport-parser-regex. Date: Thu, 16 Dec 2021 21:03:19 -0500 Message-Id: <20211217020325.520821-40-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e56bccb895..be96a00a37 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1107,3 +1107,25 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:07:29 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:07:30 +0000 Received: from localhost ([127.0.0.1]:37419 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2eT-0005Id-QG for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:07:29 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:34418) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dn-0005Eg-7e for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:35 -0500 Received: by mail-qt1-f182.google.com with SMTP id o17so1229334qtk.1 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MANI+P1V6aIvWuTttSdTfkiq7sPZjR+VpUELrJfPqdc=; b=UP/rODxbYoTLp5dAyxWTZAb7UrLOMytbKhlxz2fVDVFoiSNyY0SlL2NTwfxV2m9BPS LI2T+pi6uXAXxWKS7K2SBMcCeMx1eNM5egkiDlj8iwvoov8gs1J07gB2Z1q2brphap9I TOxx/0ucGymZIpRiBckx3vZCAvgcoR+QdAYaBWOq29Mb03gCx84LU72A3b6F9BWVyqeE QVPoSFqPk1PLw0N3ekla2UjHw7M9YRYzn0DZfeqYVNnjB2SBPAyAq/eSZggxrnt3QwOK 6aovMtMSZ0ybiS8O4tPNLYRV++7GPr1lKagS4Ic0uultxOQFwbnBGKmVFF5n/ZPQEhl2 V1cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MANI+P1V6aIvWuTttSdTfkiq7sPZjR+VpUELrJfPqdc=; b=iSZLQUtMrRnAzWya8LIz/VWO/HhL1J6e16mEbnFfak0ikrbs2i6Dm7SFD1MQcPY4Uj kpBa3fuDGI8jv4fTVfnjEvMmP2pvzihoZVHiEaNjoiV64mHq5N4VZSittTgyHVM3+OTK 3ZNQ2THzpKXG8AWrCyYtKZcZSbPDSYw5jWYzYKyO7AkOrSdlGM/OblZk8MoiesQXSJen P+d6HcJ64eO0GfjA0h9gawqF2ff5GXMN/HfEWYYGwuB1S/jqjJGcCYzfPBbjdedHZV8m IPv+hQB+YsEjIHT6eJLTBcQeAyDe71TF3ERluUbLi3eLHEELR+/fsw7h5+kTid/sy1A5 OtKg== X-Gm-Message-State: AOAM530Ac9L+zN2kbjtYvtup9lap4lrIWD7uc80SBp0nwk2yQuKNMjxD iNhrekH5f+5oUXqZP+BLR51CZ7L+rjzydj8rfLo= X-Google-Smtp-Source: ABdhPJyv8tqrcJ+T7gakUD8ZBBoT7HOUbbwO6qvYGawyAk9W5noynVOJIFReZn/IFk+or8TmyPYpgQ== X-Received: by 2002:ac8:5e08:: with SMTP id h8mr734248qtx.204.1639706789873; Thu, 16 Dec 2021 18:06:29 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u27sm6003758qtc.58.2021.12.16.18.06.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:29 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 40/45] gnu: Add node-serialport-parser-ready. Date: Thu, 16 Dec 2021 21:03:20 -0500 Message-Id: <20211217020325.520821-41-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index be96a00a37..412bb0a3bb 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1129,3 +1129,26 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:07:30 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:07:30 +0000 Received: from localhost ([127.0.0.1]:37421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2ef-0005Iu-Te for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:07:30 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:37500) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dr-0005Et-8y for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:39 -0500 Received: by mail-qt1-f172.google.com with SMTP id f20so1208697qtb.4 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vO4LftcU3XKjrbn1ROp6zfmoctxy3q8nMPW3EUtlHEE=; b=SMSB10jYC1XfF9gO7Wjlbmc5c4qOtqcZ8m2Ah1upvMMPij3OvACeEaxKbAPYJ3woO7 TsmY9LQ+ifPotiSbAuPjUb4clB54h40wiAG5d2Aoi1XvXLClFB8On0xo79LdOj+ba9FM fJ2L3YQ9CCHFn7pSa210y7POdR0DLO1O/dHMvzEH1r9BEripxjNfG+DM9Wlr64mkH3IM HOA+90+lF1dAIgoDIbR4iRJn9wYvm5ZVDGCLX6VIaRcPdghkvax+Doy3O6TNH/itHtd2 knm0mrY7Qmjw27QPDTqLn5nGf7IXzAF55nfSrXQ9TNWM4/Mnoxr1oQz7B7LQCm0TFcPC 4Ezg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vO4LftcU3XKjrbn1ROp6zfmoctxy3q8nMPW3EUtlHEE=; b=jrqiW/OMrHIgxAh9MSmNMZq51QbhIGWAmIVBtOHS1eULBoUpwB7hFmfpLb6puItlcW V6pQ104mnws7VUT2PcNW1FNr8oAPDreac/vgjoz+u8+EAd9CgWV98cPf7jDSs9gjPCn5 tWIH5PV+t1XuyBOVSBGcbqubBosaxEwWRn4dfogvutzrWmlaUXYzH/qkYPepzKJx3xuk WUUBqt6VRXkVuU3J32dYewFx81IyGNr9b4ZIPKL1wx2ef/e9/CzqB1fyA0BilrbxEnKU bm43LfVO87CNKZ4+39kcn6emnVltBTLG0G1zDalpZd/zCO3qooCHtrKA30HuSlOFmmk8 eQnA== X-Gm-Message-State: AOAM530Ilu3yclo74b0J/0eEatzjUJiHJPAwl6CXl+zkNz4oeiRQsN8V QcRQe94j0UQiQODf7GczPDyT4mqKxIORBpMYArA= X-Google-Smtp-Source: ABdhPJz006EXvLzxRof36Wb2xgJhWL0RXmFuTtZP7lNuVMS76u60u17dSs88sLgBhakcXK4dqgxedA== X-Received: by 2002:a05:622a:649:: with SMTP id a9mr686648qtb.229.1639706793841; Thu, 16 Dec 2021 18:06:33 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x24sm3736055qkm.135.2021.12.16.18.06.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:33 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 41/45] gnu: Add node-serialport-parser-inter-byte-timeout. Date: Thu, 16 Dec 2021 21:03:21 -0500 Message-Id: <20211217020325.520821-42-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 412bb0a3bb..405bb92327 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1152,3 +1152,25 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:07:30 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:07:30 +0000 Received: from localhost ([127.0.0.1]:37423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2eg-0005J1-9O for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:07:30 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:44888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dv-0005G5-4m for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:43 -0500 Received: by mail-qt1-f169.google.com with SMTP id a1so1171367qtx.11 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8TnxT0WOO40Pm0h/W6KM1fp3LMIyKCe4f5OICPaSPXE=; b=dMK9f8SZz06rhEgiLaZtP6HuG/VEXbrhvmisElilQyUS56m0woBvsWEPUR5gvyMKiT bjHpc1BsudArST68JPP9VPo6M7+GwqfUHSAouPD7/rlbQN5YTysEL3HKI8+FIXPbUpGM FaH09I4i8B6b5QXkqgYFiyM0zYiJLbkO+sLVgmAuXmxl2vHfXlnRbEykHnotjQimqWc+ VXAQEOsd5WXYg0pflhwtWHQdadDYr5wtauXGjQoyCoukqqOKzEHlmqx52vu0uKdIZ9Pt YVzrOwVddrmRjwSABWPluVgrcXMjf8gyq3IBisb2XviMAL167KFGK/dBz4wZZvGXRCmO nknA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8TnxT0WOO40Pm0h/W6KM1fp3LMIyKCe4f5OICPaSPXE=; b=aNXFLe2wH65n81QP8WfkV58nV3iv63XJAjB9HbslsHOKT4hDgNyS6OJfDux9mTQ19c AsMT/acwUogBa4sxrupKw5C9JmjPIp2u5FmJW/v02d+KP70jQthxnIqackWjTk/kZ6Vf eZ+cVfogEMLOd/nRvFhz0fX0v26iv/G95/vfnsshKNjDn2RRnttuQc/BbfVamDKYETIl JAyE74EWLgHzgp2KZHpVhbkpS2zHrG5dfRQEQo2jWjOoD14hlShSxNeLqF68MvdvGD4c A1CJRa2+lgTv122R4eKflZ3hpZVrgBxE8EcZbFSbcUxnyV+FbHgfJJEGwUrHRCaex6MG LqCg== X-Gm-Message-State: AOAM533IqRL6rsBdvwRNzPnC6Ns2/I8Lzq0xNOPIohkV9EMT3rtZRJt/ nI76lauo93JIrLt6+oYSeixtokb7GPTgKhXYkL0= X-Google-Smtp-Source: ABdhPJzbi22UuPCtC+gfZv81nXfi7PiF/eVuWGTFbTVs7YE2AtIb6Ln6QrlmWce+ggD8W2hpyKYUgg== X-Received: by 2002:a05:622a:40f:: with SMTP id n15mr704662qtx.296.1639706797829; Thu, 16 Dec 2021 18:06:37 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id r16sm5552393qta.46.2021.12.16.18.06.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:37 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 42/45] gnu: Add node-serialport-parser-cctalk. Date: Thu, 16 Dec 2021 21:03:22 -0500 Message-Id: <20211217020325.520821-43-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 405bb92327..4dd17aa20f 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1174,3 +1174,26 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:07:30 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:07:31 +0000 Received: from localhost ([127.0.0.1]:37425 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2eg-0005J9-KN for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:07:30 -0500 Received: from mail-qv1-f46.google.com ([209.85.219.46]:36821) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2dz-0005GE-71 for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:47 -0500 Received: by mail-qv1-f46.google.com with SMTP id kc16so1071999qvb.3 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=K1Bf3g+cPiEYZg50GVjoKgOzsZvR5WTbuLrj+jRWZaI=; b=Ba/6TMhyY0aDwM/v1po066Lls/i7I96U4ZvwfbKGphP1KY7MddnG/qctUwP+NjLMVX BPj/FeaX+/xKjgUH1WNFc2QiD4Ov9qsEBhbQrp2RxwzVNe2s1ArYB1rNLuTo75popKl0 ydrDw4fgcFxxLfp3PKHezMre/H47y0f+/tbJSyD46UnCfIOy9XSLo8SFbEtrMHN/ak+Q Mw1mbnfhs41+91jkNmVr/BY9xli8p/xjmDZzv6tZX8F3jc20O3UMpSytpm42f2WGrEBF 03Ar0JvkP8Gjd+UvseoiXhoJ1lNtW3x72Bqo79jaKC4AWIMINwuxmy76ya4ZL8TuKT5t m2Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=K1Bf3g+cPiEYZg50GVjoKgOzsZvR5WTbuLrj+jRWZaI=; b=7BOPcji1OJ05maIe5Fym0gxxCC+dj3b5Qeln9cdXVl7rPSy2W+1IzZkcNL7hXTFnzs ogE8C6OqWRAznaqbOjxK12+brVWq9hvCNbLZgrnn0SxMtot2IlpttLigbjM4C4utFOiM 3ALXOwG6QjNVL1RfTrFt5SnQuJcL9SYFIGWnax05D0qugfQIcE1yJhU/NQmfTXT8jxp9 luARCiDmzy9kUz2oC7FS4iTNhJvmoyZKYfvoGH3KrNbEmxzCoRiz5caLWAdKeGtHTFH3 TTqzYY56sNzDGNFXbukdUqM96XkRQfSN+ePT6auMk6g7WENZQCl6ZhbXLMmDS8ODi/kk JGzw== X-Gm-Message-State: AOAM5328APgPES6OCR+9e/01iY7VSj8ER6EJss0lRqD5+74YG14NDdcd 1pAneS25gBzxm9yU6q9hCbGNDMpc+GHTnKdwsU4= X-Google-Smtp-Source: ABdhPJzsOPNnR2Uaci36PLyYS5von/SxEkfwitrlF17QhTSSBYiH9t9umXxPktoIdL4XaZa6B51W/g== X-Received: by 2002:ad4:5cef:: with SMTP id iv15mr575951qvb.102.1639706801816; Thu, 16 Dec 2021 18:06:41 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id e20sm6026748qty.14.2021.12.16.18.06.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:41 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 43/45] gnu: Add node-serialport-parser-byte-length. Date: Thu, 16 Dec 2021 21:03:23 -0500 Message-Id: <20211217020325.520821-44-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4dd17aa20f..b2c2d62220 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1197,3 +1197,25 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:07:31 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:07:31 +0000 Received: from localhost ([127.0.0.1]:37427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2eg-0005JG-Ud for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:07:31 -0500 Received: from mail-qk1-f179.google.com ([209.85.222.179]:34668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2e3-0005GS-7x for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:51 -0500 Received: by mail-qk1-f179.google.com with SMTP id t6so817403qkg.1 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P+IqyFt+c1GImqDABKXuqmMrmnD5UDmVrfRfIVa4mJU=; b=LUXD3Wvag0dTw/a6SNeT7Ow5hq+xZ6aa5xmYmNAXf8E+oqHwwYpl0HLYyWc/HRShqs OExTwHc3pFFWuZZrBqguYImHWOOxRqedE6CR3HWXVk+XnXJORZ0jOAwgd3oBk63mbiYy grZED3I6AysgL9L8fO8z7nXuW2GufmrknRHfhCbRbklEjYMhZL6Ebn6v47RUdE/Ss6NQ klI64moLwuRFzwFBJ2C00yTkqnZOm2JqN1ifDNmDPKrQ48cGLJ6cvTIYRa5nKnT75cWE qDQvBKJvwGCpoBn+XeqmBrqfXFoGIHrJzzSvdrMNzjB5CSO+DZSmDYdasdLVmJGBOdXP HxEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P+IqyFt+c1GImqDABKXuqmMrmnD5UDmVrfRfIVa4mJU=; b=D344DY/IJ8yGQkn2DiYMZV88QbHHBpxCr5o/QlulGN0oT2ndPKjnNC0ABdQminAPm+ StHpXMzu+QioVf1kDlRw/8jkC84djCz1kch3mpWhM9Or0e3DeyqAMMMmh6PishHLRD8Q UFPhJkqBsYs2PWF3aT1Q6gV8HukpxjMr/yDVf9kecw9xqxB3XnA7Xw0ymbH6CY8MWssc 1U3MvwWaMveupewkQq78zESpN656ZqQcHeipgPmaiKNWxBXiFCJtEUk4DhyjzQ3nBh4W U1jatx94Y47bjNZbqq7d89ELqrGXRpNrzTa0Bc2v8Aq0AAwA55WCwfGkY8yTRtrwIT09 F1nA== X-Gm-Message-State: AOAM530zlusruUtoWMWkFQ30DgpFVBQrm7XV8hUz8mXj82yGg60MmLrm ztixs72TZthX5/YV7E9dBv4+ep09j+A6aRyIjzM= X-Google-Smtp-Source: ABdhPJwtISRWcIvMGQZiONxK1Jt2OQCfYRKSw8ZTRgzSSErYJfc9/KnSFDAROukeS2fm1SHpBgVvGg== X-Received: by 2002:a37:813:: with SMTP id 19mr518041qki.729.1639706805808; Thu, 16 Dec 2021 18:06:45 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id a24sm5174381qtp.95.2021.12.16.18.06.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:45 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 44/45] gnu: Add node-serialport-stream. Date: Thu, 16 Dec 2021 21:03:24 -0500 Message-Id: <20211217020325.520821-45-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. --- gnu/packages/node-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index b2c2d62220..083f43e33f 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1219,3 +1219,30 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (inputs + (list node-debug)) + (arguments + `(#:absent-dependencies + `(;; devDependencies + "@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 21:07:31 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 02:07:31 +0000 Received: from localhost ([127.0.0.1]:37429 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2eh-0005JN-8Z for submit@debbugs.gnu.org; Thu, 16 Dec 2021 21:07:31 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:42529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my2e7-0005Ge-Ax for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 21:06:55 -0500 Received: by mail-qt1-f172.google.com with SMTP id z9so1182674qtj.9 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 18:06:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6FUHpCJc8NoqTi9b6RTRt/hgudmG1JBAPk4KqHMWUIE=; b=FAPsd/760n2qVrCy9iI76YrYYXqvkYlWEPOSIlR4Lac+XG7IBPkPtaQDRqg6xNyXoD J96tef+DhZSZBEJ95QTbynkMumW4IqzDJKcZumDrazhRgYThP6XV437vyCxm6Ez6p2Mr WUTpk5+aD8KZBGxGHUMXv8CIelI1FTmIyOvBtAJOR9V3uVTZKRr2+MoFRN5QasL3Ez4s VRjWKcev81+HiEDz4r+/YqqKPQU+yv+P4Q4GBwjv68VdLOaoyJv29LMLM3auyuy0SOOk c2PCCNXLmMtgERaMTYtVCaUiwUqF+YfmOIHAy4JdM0MTGjos000JwfnOkf2jrVO+giwu Egyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6FUHpCJc8NoqTi9b6RTRt/hgudmG1JBAPk4KqHMWUIE=; b=MbNS0vFyai0dPL/Z2GatNy82Usilbuo34pMb0lWhzOEAY0kIWW9BtL7ed0SffA4g98 i5pxsQaZoQInpjyK1AZTmE0cKwL8x2BbNt5l1wNS3pN6OyPhmIT0UHPQ6s60AmtK3KwJ gVeaIgk6A30Rci+45S3Wk6In12D+aq/HIIeKXgkLJ7ZvTssmwnZM9KnIblcVMnixOAeN UiJf3e9NbA0pgZ8/Gk36eg9zuJYC8IFsjpUgcPrsX2L1TmipIb06XtcHcd+embztO2Vh Tue9fgwjyXAgQIrDEyPIB4RcMVasI1RGDKX+3XtwJhLJsjvJyc460Ln8e/nRX+xdvud+ ehOg== X-Gm-Message-State: AOAM533eONQ2U1+Qb0LN27GSgT12gf4MNsyUO11lbFDzPZVlkQJ1rZgo UVJvnZk5yyExt4RqT3GzCkNFejDZVKwsDFqDBeg= X-Google-Smtp-Source: ABdhPJyFXe2MVLlfcEFJIIbDvihSspho8ih76Rk7uzznkKQ8B98gBEssmUUEs2hM/Gahyl7jGJmueg== X-Received: by 2002:ac8:5f52:: with SMTP id y18mr730060qta.534.1639706809929; Thu, 16 Dec 2021 18:06:49 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x190sm3806674qkb.115.2021.12.16.18.06.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Dec 2021 18:06:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v5 45/45] gnu: Add node-serialport. Date: Thu, 16 Dec 2021 21:03:25 -0500 Message-Id: <20211217020325.520821-46-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217020325.520821-1-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport): New variable. --- gnu/packages/node-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 083f43e33f..52dec0423b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1246,3 +1246,34 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + (list node-serialport-bindings + node-serialport-parser-delimiter + node-serialport-parser-readline + node-serialport-parser-regex + node-serialport-parser-ready + node-serialport-parser-inter-byte-timeout + node-serialport-parser-cctalk + node-serialport-parser-byte-length + node-serialport-stream + node-debug)) + (arguments + `(#:absent-dependencies + `("@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 23:30:10 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 04:30:10 +0000 Received: from localhost ([127.0.0.1]:37575 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my4sk-0000gf-DE for submit@debbugs.gnu.org; Thu, 16 Dec 2021 23:30:10 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:39527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my4sh-0000f8-Fv for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 23:30:09 -0500 Received: by mail-wr1-f67.google.com with SMTP id a18so1673074wrn.6 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 20:30:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=5FmmcL2PZNth21hYIhPETgfc2ulW01FeyEfRMWikDLM=; b=Ypvs7p9ChQrIsMRW453XKfBI0ndfo8jyT0RggxP8Ht6qvgsk1brnCfGDhjyZghHqfI EkpFrch1/gvyUmT864pKWIrOyHbA/eTYbTwBSXkWJh6q85zn8b7/tLke8redIm8DqdK7 WrrtspPFaKkV3ZDK3ZdK1cT8i4bab9r35rHkuMajiLQy1gOOaNyVmwEadTHOIX/0yD1t 0ctQcQzc64npHcyfaPbrsMBkPUJsxOCcn5/fkIfdJPgZt7aeVYiAoG5IMDOQL/IPz+K9 b2hRWOqcTOcQZXDosl1IqjGefH7Ygm+V0+ykN+ys3HW5XMyc0GbnW3oDwdBm30pyNTER 8e/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=5FmmcL2PZNth21hYIhPETgfc2ulW01FeyEfRMWikDLM=; b=umQnCx3Y/3SCu8NHLQwRp+ivNJ/pBA72GG4xsA6/ttB1qccP+DZasJZxdUdpdBWgdu xDiC83QvVfQgc/bH0bSVUsYIe+sspJ7WmRYCeAMU3cUXSe4Zon7AMEkCLgv2nXnzpS6P 4AuMv0+iybGEyAWyxChWkAErhTTGfB2iB44j3aRJkLZA0GElJaCt26tvvVJ7kujMjrAk l50dcCCldsVfXdMFQGpDHmN7LZAaN+k3XIufg9UKORa6zW08mYlT9XCMZcXU8qEJKBfw Lo9cA/4x7/k1Fh73O18eAxlbF6TdGkXqktglu5brR3KwrYScXzIekCVC9bW65MyD8m7b ICRg== X-Gm-Message-State: AOAM531CJLBTuLRzqeBr1SUNldlcwyyXasj3hCgtW7sgbat7uoutuS56 y/zlkBglpIjaht41r6DRwLo= X-Google-Smtp-Source: ABdhPJyDkboRwJs/Bd/x7Q+17dtgU8niFH+k+NYCovyPjyPPkKKivqlTLwj7cZHh/tZ7Oyiv5oEz/Q== X-Received: by 2002:adf:ed84:: with SMTP id c4mr857194wro.275.1639715401611; Thu, 16 Dec 2021 20:30:01 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id f3sm6244706wrm.96.2021.12.16.20.30.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Dec 2021 20:30:00 -0800 (PST) Message-ID: <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Fri, 17 Dec 2021 05:29:54 +0100 In-Reply-To: <20211217020325.520821-7-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Donnerstag, dem 16.12.2021 um 21:02 -0500 schrieb Philip McGrath: > * guix/build/node-build-system.scm (patch-dependencies): Strictly > follow the linearity rules for `assoc-set!` and friends. > Clarify the types of the arguments to and return value from the > internal helper function `resolve-dependencies`. > [...] > -  (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) '()))) > +  (define (resolve-dependencies meta-alist meta-key) > +    ;; Given: > +    ;;  - The alist from "package.json", with the '@ unwrapped > +    ;;  - A string key, like "dependencies" > +    ;; Returns: an alist (without a wrapping '@) like the entry in > +    ;; meta-alist for meta-key, but with dependencies supplied > +    ;; by Guix packages mapped to the absolute store paths to use. > +    (match (assoc-ref meta-alist meta-key) > +      (#f > +       '()) > +      (('@ . orig-deps) > +       (fold (match-lambda* > +               (((key . value) acc) > +                (acons key (hash-ref index key value) acc))) > +             '() > +             orig-deps)))) >   >    (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"))) > +      ;; It is unsafe to rely on 'assoc-set!' to update an > +      ;; existing assosciation list variable: > +      ;; see 'info "(guile)Adding or Setting Alist Entries"'. > +      (let* ((package-meta (read-json in)) > +             (alist (match package-meta > +                      ((@ . alist) alist))) > +             (alist > +              (assoc-set! > +               alist "dependencies" > +               (append > +                '(@) > +                (resolve-dependencies alist "dependencies") > +                (resolve-dependencies alist "peerDependencies")))) > +             (alist > +              (assoc-set! > +               alist "devDependencies" > +               (append > +                '(@) > +                (resolve-dependencies alist "devDependencies")))) > +             (package-meta (cons '@ alist))) >          (write-json package-meta out)))) >    #t) The Guix codebase is generally not the place to play around with destructive semantics. If you can avoid assoc-set!, I think you ought to, especially if it helps making a two-step process into a single-step one. Anything I'm missing here? From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 16 23:43:40 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 04:43:40 +0000 Received: from localhost ([127.0.0.1]:37600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my55o-00014N-2V for submit@debbugs.gnu.org; Thu, 16 Dec 2021 23:43:40 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:41798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my55j-00013z-GO for 51838@debbugs.gnu.org; Thu, 16 Dec 2021 23:43:38 -0500 Received: by mail-wr1-f68.google.com with SMTP id a9so1689340wrr.8 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 20:43:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=8BR1qRBJA3Q4AIDxPE7eukpmyexmuwbXQ69/leCIYyE=; b=VjMjW/ZHaA9bLjFEsoW7MGCAob4wDT6x91fuvTtPJymljh/usn+3/1XKIgkN8vzXEV xURJXgtFQkoc4iGZWK6BDcVDPYsOJ1VlAB0tG3z4xAErkucZFrydMnRwgWu0XaS3yjUJ E64YpCtkHHYJUygcms1bgi5lQQGI11sgezWpINlGolwloewaYXOihSR5l4e1HgN5QAek GKPSIkU6ekvf49VQcgn0NmFiqaU34elDecUSADNrSGLiuMYAhh5QM6xL89gWQXeh0iei tjDmkxf76yPfyORLxwVy4NRxm8TGBiyk6xBqlzVjLx7yJYb86zScq/+K+37GR+SNCD8k Skpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=8BR1qRBJA3Q4AIDxPE7eukpmyexmuwbXQ69/leCIYyE=; b=vY578Oapsf47YLqo7BmkfiE9WG49DHI4XIsgcUIZ/i0paheIddjTX+ihcd48Oh9n4W w5dFoZp8FgKSnA3oEYOhC14h3OTiWeiZrsPC3AcLJXy3VfSfV+i8nyqJ/c5F2G6wneRB oWbpk3kGTx1FLBY3+DVhLvRNoOVF2UAPNs/YI0UKRNTqOELh16MHacIs4wlh7XEk/0nc u0YcWnnTKRFtXYiacHBHC7vCu0e6yWcByDltRLa0Dx3PI4t1q1wOUd+rALzm0R/D5Rfj b3JBkQ8/ONSUseopMI9TWg4R7+2PbEUnt6nrTzdYsyZrGSjq1oSJXSwAaA0S9DHQHCBN I8gA== X-Gm-Message-State: AOAM532cm9i2VNPn2Mz6wB9121/vr+17G/lhiY70160m1f0heUcwvHEe ETUactSseBANpYLrdaPRQPg= X-Google-Smtp-Source: ABdhPJy8bNpBBB5qETJ23cTtBqJLLPibK+EZ1Yjirf2iGlZDE8KY9Kc7gLr14VkqLPVdvduuaj5mnQ== X-Received: by 2002:adf:d1e2:: with SMTP id g2mr945111wrd.362.1639716209641; Thu, 16 Dec 2021 20:43:29 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id j3sm1160841wro.22.2021.12.16.20.43.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Dec 2021 20:43:29 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Fri, 17 Dec 2021 05:43:23 +0100 In-Reply-To: <20211217020325.520821-8-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, Am Donnerstag, dem 16.12.2021 um 21:02 -0500 schrieb Philip McGrath: > * guix/build-system/node.scm (lower, node-build): Add optional > argument #:absent-dependencies with default of ''(). Pass it on [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.3 RCVD_IN_VALIDITY_RPBL RBL: Relay in Validity RPBL, https://senderscore.org/blocklistlookup/ [209.85.221.68 listed in bl.score.senderscore.com] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Hi, Am Donnerstag, dem 16.12.2021 um 21:02 -0500 schrieb Philip McGrath: > * guix/build-system/node.scm (lower, node-build): Add optional > argument #:absent-dependencies with default of ''(). Pass it on > to the build-side code. > * guix/build/node-build-system.scm (patch-dependencies): Respect > the #:absent-dependencies argument, removing specified npm > packages from the "dependencies" or "devDependencies" tables > in "package.json". > [...] > +                (absent-dependencies ''()) > [...] > +                     (absent-dependencies ''()) > [...] > -(define* (patch-dependencies #:key inputs #:allow-other-keys) > +(define* (patch-dependencies #:key inputs absent-dependencies > +                             #:allow-other-keys) >   >    (define index (index-modules (map cdr inputs))) >   > @@ -86,7 +87,9 @@ (define (resolve-dependencies meta-alist meta-key) >        (('@ . orig-deps) >         (fold (match-lambda* >                 (((key . value) acc) > -                (acons key (hash-ref index key value) acc))) > +                (if (member key absent-dependencies) > +                    acc > +                    (acons key (hash-ref index key value) acc)))) >               '() >               orig-deps)))) I might be sounding like a broken record here, but again for the sake of being able to add or remove inputs on the user side without duplicated efforts, I'd use something else in lieu of absent- dependencies. For the time being, I think a switch between "fail" and "warn about missing dependencies" ought to be enough. In the future, we might want to make it so that packages can specify which dependencies they absolutely require and which they don't (or if possible infer that from dependencies). WDYT? From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 17 00:08:47 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 05:08:47 +0000 Received: from localhost ([127.0.0.1]:37622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my5U3-00040s-EC for submit@debbugs.gnu.org; Fri, 17 Dec 2021 00:08:47 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:34539) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1my5U0-00040c-UW for 51838@debbugs.gnu.org; Fri, 17 Dec 2021 00:08:42 -0500 Received: by mail-wm1-f65.google.com with SMTP id bg19-20020a05600c3c9300b0034565e837b6so2257040wmb.1 for <51838@debbugs.gnu.org>; Thu, 16 Dec 2021 21:08:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=QnUvDA5hWsFhtq2zrtK63++2yE+ekDg/YdStq5YOBdI=; b=Pukvv/aCmQUQzjAF+cUDUPo2V65SNU23itbhqosIJubhYpdxzaXCHiDYHMpp3wTg8+ aOCIBDc1BgkHDJgHrVjnuaxtz23LV1ZCbRPhJTLlvsGUGNNP9l67hlmUi2xdUDqulOIh domlrYksIapCjMbaCBL7VgV1CQh5sXDdWMqmfDdWqYm1WjKlsrodhxQT/tnAG/thpeKk 1w9Vz0q5uaPZucSD/vRh6YeA731SWsc4x6vP8dz1oiQPNFVFczNVsnzJFuHLX2SHVhGY bXs4TNj8LeqSPpl7OmJ64bqFjF9Vc/aE0vuMIr+GggFAsmB5O6CRH3GKlZJoYwvxbkxg +psw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=QnUvDA5hWsFhtq2zrtK63++2yE+ekDg/YdStq5YOBdI=; b=QatGSes4DA3l/np/Rf7XyP7jn14xn0yDJUsD8Yeu609U5qZRqzpJ3Dj2P8eNfqEs3I yQ5P9jm4YOVtzUXLj1h2n7aUxL4+DTRSQyLYE9q+ruSKbvNtrNYiirqQ+k8mvbi5HBPb axzupLMycLfJ/XI5y+BwGEJIDrD/n48mu8IJlI9WfTLBfbYExz4i7+inomN2QRmdn+BT EYRn+rVatc0q4QTfKfPB7Jw0JwI5kB0UjmQPKrU+KargPmyF4QGKvkCVhHnthjp8SX54 hz/iPoEYhp/y5eWbwcDGgKQnsYjT0E29cqEeII2FP1hC2BeGKkSWfrfo/SAIZlwWgyGg aqJQ== X-Gm-Message-State: AOAM532jlb+s4XHzcluZiXbPS0oxnOY+gkHXgXXd7BEIIe9SNj96dNs/ 3tD2/NPj2dyBVyscaronTok= X-Google-Smtp-Source: ABdhPJxhW/o15RwOr87EJberFr81fHKl6/ow1DUWbXwNEfi8b1L0stY/Zqz23U5DmJD+JI2lZXFmlw== X-Received: by 2002:a05:600c:21c3:: with SMTP id x3mr993021wmj.13.1639717715132; Thu, 16 Dec 2021 21:08:35 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id 12sm4417488wmi.35.2021.12.16.21.08.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Dec 2021 21:08:34 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Fri, 17 Dec 2021 06:08:33 +0100 In-Reply-To: <20211217020325.520821-21-philip@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 16.12.2021 um 21:03 -0500 schrieb Philip McGrath: > * guix/build-system/node.scm (lower): Add the version of libuv > used as an input to the #:node package as an additional implicit > input, so that packages needing libuv always get the correct version. > --- >  guix/build-system/node.scm | 9 ++++++++- >  1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm > index 330d10dca5..47af4bb9e2 100644 > --- a/guix/build-system/node.scm > +++ b/guix/build-system/node.scm > @@ -2,6 +2,8 @@ >  ;;; Copyright © 2016 Jelle Licht >  ;;; Copyright © 2019 Timothy Sample >  ;;; Copyright © 2021 Ludovic Courtès > +;;; Copyright © 2021 Pierre Langlois > +;;; Copyright © 2021 Philip McGrath >  ;;; >  ;;; This file is part of GNU Guix. >  ;;; > @@ -62,10 +64,15 @@ (define private-keywords >                                `(("source" ,source)) >                                '()) >                          ,@inputs > - >                          ;; Keep the standard inputs of 'gnu-build- > system'. >                          ,@(standard-packages))) >           (build-inputs `(("node" ,node) > +                         ;; Many packages with native addons need > +                         ;; libuv headers. The libuv version must > +                         ;; be exactly the same as for the node > +                         ;; package we are adding implicitly, > +                         ;; so we take care of adding libuv, too. > +                         ("libuv" ,@(assoc-ref (package-inputs node) > "libuv")) >                           ,@native-inputs)) >           (outputs outputs) >           (build node-build) Do this and #21 have to be separated so far from the rest? If not, I'd do build system first, then new packages. Otherwise fair enough. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 17 10:47:02 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 15:47:02 +0000 Received: from localhost ([127.0.0.1]:40459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myFRm-0001nf-AX for submit@debbugs.gnu.org; Fri, 17 Dec 2021 10:47:02 -0500 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:53285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myFRh-0001n5-DE for 51838@debbugs.gnu.org; Fri, 17 Dec 2021 10:47:00 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id E6F733201EA3; Fri, 17 Dec 2021 10:46:50 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Fri, 17 Dec 2021 10:46:51 -0500 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=fm1; bh=3WHSVG49wQOkUzHlBGo9hYPPSWTPjVrv8BoxI7jkP HA=; b=KrCMF5+L06A1AMecvfdV8jws6KIvDQbXdcwyyLlrm6Kn4+hu6p7dmSAIH JcoLLn5DUP51KyIYFvaSYRIi9wfdXCo/tcDKFQjI2zIvoe3mi2rcdk550XECEqUk 8yKMa5J1gFxofaZG/mjFlAAPxqBQyRkVMYU4bR6w6MWeEHMOKFEDCAeRGEj7BZcl JCAas5fZtENagidRs4vuxuKdr16NYMccj0mE//M29Dt82uyF9lBY/jI586XlWpMZ 5BoTJklq0bpJvj61u2QnXapHR6Q5Mi0m2loTbmR08GeEB/8qvQ0Y3qpvCO3visDV +X5HN7Y6OsPOzDnCSbeA1LYgfucKA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrleeigdekudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufhffjgfkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeeiudeuhfeggeelleevheegudfguefhieekffdtveeilefglefhvddtgfei heetgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 17 Dec 2021 10:46:49 -0500 (EST) From: Timothy Sample To: Liliana Marie Prikler Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> Date: Fri, 17 Dec 2021 10:46:48 -0500 In-Reply-To: (Liliana Marie Prikler's message of "Fri, 17 Dec 2021 05:43:23 +0100") Message-ID: <87k0g36xp3.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Liliana, Liliana Marie Prikler writes: > I might be sounding like a broken record here, but again for the sake > of being able to add or remove inputs on the user side without > duplicated efforts, I'd use something else in lieu of absent- > dependencies. For the time being, I think a switch between "fail" and > "warn about missing dependencies" ought to be enough. In the future, > we might want to make it so that packages can specify which > dependencies they absolutely require and which they don't (or if > possible infer that from dependencies). WDYT? The way I see it is that we are basically copying the =E2=80=9C--disable-X=E2=80=9D/=E2=80=9C--without-Y=E2=80=9D features of a G= NU configure script. With the GNU build system, if one of our packages specifies =E2=80=9C--without-z= lib=E2=80=9D for whatever reason, and you as a user want to modify the package to use zlib, you would have to 1. remove the =E2=80=9C--without-zlib=E2=80=9D configure flag; and 2. add the zlib package to the package=E2=80=99s inputs. That=E2=80=99s a =E2=80=9Cduplicated effort=E2=80=9D, right? Similarly, for a Node package (with a pretend Node zlib package), you would have to 1. remove =E2=80=9Czlib=E2=80=9D from absent dependencies; and 2. add the =E2=80=9Cnode-zlib=E2=80=9D package to the package=E2=80=99s i= nputs. That seems okay to me, but I=E2=80=99m worried I=E2=80=99ve missed what you= =E2=80=99re trying to communicate. -- Tim From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 17 14:40:20 2021 Received: (at 51838) by debbugs.gnu.org; 17 Dec 2021 19:40:20 +0000 Received: from localhost ([127.0.0.1]:40680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myJ5X-0004OG-Q5 for submit@debbugs.gnu.org; Fri, 17 Dec 2021 14:40:20 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:38802) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myJ5V-0004Nz-Q2 for 51838@debbugs.gnu.org; Fri, 17 Dec 2021 14:40:18 -0500 Received: by mail-wr1-f67.google.com with SMTP id e5so6023465wrc.5 for <51838@debbugs.gnu.org>; Fri, 17 Dec 2021 11:40:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=l77w6RSIPhnSxr/BEddCgsk0x9oTVNDE/ekBRo3bGfw=; b=qVyGZ+N7pZ0ep+0NOK+4ccrwWWN///MJzVlYQyKCSIdKhT7gBMDbV1wB5oqLSovLTk pk5Exosc6swvZaO9BvRWbAgluDhpTaciwA/YTVoAvf8UIVeoPrjMcI/l9miEuWQyPzGk qUdEGjLdPOQd6Cbv1bjmX0xYTGEVIavBvNneXqGVlCnHjdQ/x3C63RydVKb9+9JAZzIt TVSHgIxVuv8H5+RrA8Hh68vmCfN7TY0eX7fS6NWgfpaM9Y4cZ4NQBJsMJ3TRonm3zDlE 9JzPUNt1hJAOqKkbkmVTByrjaLrTnTNMHqDS5rHN54fSCVRra+t8iAjOK36Fu2WvPbOg Kzog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=l77w6RSIPhnSxr/BEddCgsk0x9oTVNDE/ekBRo3bGfw=; b=neqF5Z6H3ph9OY1pehhQJk/imyQVN3dddw6wqPLLiO4ttleGZl7ei4iQUCY4ZWk0xU a5RPI69iSb3iFgQyfH369k5kd0xP7OBTcrww838f/PHbxoBv79hJ8zzqzpB3Hx4jWFro PcgWkStptF0SdTtJ8C0sh88r+O3d6uSK8cA3OL4gg6TrWEqw32QhbftT/5/MrSRNlgrl mCLq59mD48d/AdjC651b3STtsVSZS2bxG9vebGSotKMua66Jf3jHJKlsJZ+y2voJS9rE sYYulkle4/8JhIzpHQ2hlBy9x1nI/5YBL7gnqoW3ur79giDGuDhmNjG8lPTPsRHmu16r Cx+g== X-Gm-Message-State: AOAM530fRDyg7INkTaGgNv2LUc4wqZvPuuhUt8Qr1aipcW5zhuaxippH JuewVJoKVwIcsgtm5UXaz6Q= X-Google-Smtp-Source: ABdhPJxSmC4F4pPHJTgSGftXUC60VvDQfZ0IUR+82GC8jFp2EAlldj8bHs+8a4xwsNndsg1M7VZt2A== X-Received: by 2002:adf:f201:: with SMTP id p1mr3617865wro.243.1639770011803; Fri, 17 Dec 2021 11:40:11 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id n9sm9603223wmq.37.2021.12.17.11.40.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Dec 2021 11:40:11 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Timothy Sample Date: Fri, 17 Dec 2021 20:40:09 +0100 In-Reply-To: <87k0g36xp3.fsf@ngyro.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Timothy, Am Freitag, dem 17.12.2021 um 10:46 -0500 schrieb Timothy Sample: > Hi Liliana, > > Liliana Marie Prikler writes: > > > I might be sounding like a broken record here, but again for the > > sake of being able to add or remove inputs on the user side without > > duplicated efforts, I'd use something else in lieu of absent- > > dependencies.  For the time being, I think a switch between "fail" > > and "warn about missing dependencies" ought to be enough.  In the > > future, we might want to make it so that packages can specify which > > dependencies they absolutely require and which they don't (or if > > possible infer that from dependencies).  WDYT? > > The way I see it is that we are basically copying the > “--disable-X”/“--without-Y” features of a GNU configure script.  With > the GNU build system, if one of our packages specifies “--without- > zlib” > for whatever reason, and you as a user want to modify the package to > use zlib, you would have to > >   1. remove the “--without-zlib” configure flag; and >   2. add the zlib package to the package’s inputs. > > That’s a “duplicated effort”, right? > > Similarly, for a Node package (with a pretend Node zlib package), you > would have to > >   1. remove “zlib” from absent dependencies; and >   2. add the “node-zlib” package to the package’s inputs. > > That seems okay to me, but I’m worried I’ve missed what you’re trying > to communicate. For the GNU build system (and likewise meson-build-system), the default behaviour if you haven't specified anything as per upstream conventions is typically to error if the package is required and omit it if it's not. The default behaviour of node-build-system (and likewise cargo and most other build systems that come with the advertisement of "we know package managers better than people who actually produce useful package managers) is "Oh my god, you don't have an exact copy of the machine that built this stuff locally, I am going to barf huge walls of noise at you". Therefore, we can't meaningfully compare those build systems in terms of strategies. On a slightly related note, I recently had the pleasure of working on a patch for a package that fails python-build-systems new sanity-check phase. If we really want some static verification for node-build- system, I think we should take that as an approach rather than hard- coding (absent) dependencies literally everywhere. Although in writing that I must concede that Python is still too sane to be a Web standard. I'm sorry I can't explain my reasoning in a nicer manner. Your point would be totally valid if node-build-system did act like the GNU build system or meson in that dependency resolution is DWIM by default, but sadly we can't have nice things with "modern" programming languages and their build systems. TL;DR: "--without-zlib" is usually implied in packages based on the GNU build system unless zlib really is a hard requirement of the package. The same can't be said for node-anything. Cheers From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 17 21:48:53 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 02:48:53 +0000 Received: from localhost ([127.0.0.1]:40994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myPmH-0001I3-G1 for submit@debbugs.gnu.org; Fri, 17 Dec 2021 21:48:53 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:52349) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myPmF-0001Hg-0Y for 51838@debbugs.gnu.org; Fri, 17 Dec 2021 21:48:52 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 703253200C6B; Fri, 17 Dec 2021 21:48:44 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Fri, 17 Dec 2021 21:48:44 -0500 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=fm1; bh=NXAWh92hIGDtihUKqL3FQLnKf/15r1zWypVmJk3/D jk=; b=OdkSESbBi8hwq6KQ8OG2IfKHSSUHei+ARF4KbJ858r8IcJtwQKZK/v31S 7XzjlJ280t1oLM7gqqbHxj3uSqeEUkZt27y4K4erCviVnyE8zyu+P9Lb3fV9proq cvxkOiULZI+jjE++8Qf4BC6l5qrmaweaDwKmUBtEfFiiSOdFxB+6optcsk4KDuBM P9fFKxlVBcpnAEASqfSGdXSYdv5Ol0+PzodK3JFevT4rYytZppE0r8JUexEYHVce Sfc33kEK7VlDxUDkVpMZEThSupoTzrvYjUub/UjmUUZ6gvTSQoAwWWT4RXJnJLNM NH991z2DBkmio4A8yD+/dav8aDpug== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrleejgdegvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufhffjgfkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpeeiudeuhfeggeelleevheegudfguefhieekffdtveeilefglefhvddtgfei heetgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 17 Dec 2021 21:48:43 -0500 (EST) From: Timothy Sample To: Liliana Marie Prikler Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> Date: Fri, 17 Dec 2021 21:48:41 -0500 In-Reply-To: (Liliana Marie Prikler's message of "Fri, 17 Dec 2021 20:40:09 +0100") Message-ID: <871r2a7hme.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Liliana Marie Prikler writes: > For the GNU build system (and likewise meson-build-system), the default > behaviour if you haven't specified anything as per upstream conventions > is typically to error if the package is required and omit it if it's > not. The default behaviour of node-build-system (and likewise cargo > and most other build systems that come with the advertisement of "we > know package managers better than people who actually produce useful > package managers) is "Oh my god, you don't have an exact copy of the > machine that built this stuff locally, I am going to barf huge walls of > noise at you". Therefore, we can't meaningfully compare those build > systems in terms of strategies. NPM packages tend to wildly over-specify their dependencies. We already remove dependency version checking, and before this change, many of our packages skipped any kind of dependency checking by skipping the configure phase altogether. To me, the =E2=80=98#:absent-dependencies=E2= =80=99 approach tries to work around the dependency over-specification by listing exactly those things that are only there to elicit a useless =E2=80=9COh my= god [...], I=E2=80=99m going to barf huge walls of noise=E2=80=9D message. The= rest of the dependencies are those that the Guix package author deemed required (or at least important). Basically, =E2=80=98#:absent-dependencies=E2=80=99 he= lps us translate between the NPM culture of over-specification (which is really a culture of prioritizing package author over package user) and the GNU culture of =E2=80=9CDWIM=E2=80=9D dependencies. > If we really want some static verification for node-build-system, I > think we should take that as an approach rather than hard-coding > (absent) dependencies literally everywhere. We need some way to know what to statically verify. We can=E2=80=99t magic= ally know what=E2=80=99s important and what isn=E2=80=99t. The two options in t= his thread are =E2=80=98#:absent-dependencies=E2=80=99, and only checking what=E2=80= =99s already in the package=E2=80=99s inputs. What worries me about the second approach is tha= t it offers no help when updating a package. With =E2=80=98#:absent-dependencie= s=E2=80=99, if the developer adds a new dependency that really is required, we will get a build-time failure letting us know. Whoever is updating the package can fix it before even committing anything. If we just check the inputs, that=E2=80=99s not the case, and we might end up with Philip=E2= =80=99s =E2=80=9Cmysterious runtime error, potentially many steps down a dependency chain.=E2=80=9D Hopefully tests would catch it, but I like the extra assur= ance. Another benefit is that it would help us gain knowledge as to which NPM packages are often used but not actually required (e.g., NPM publishing tools). With this knowledge, we could write a clever NPM importer that ignored obviously inessential dependencies. I guess I=E2=80=99m starting to sound like a broken record now =E2=80=93 th= is is basically what we covered before! :) Maybe we=E2=80=99re in need of a fre= sh perspective. (If anyone is reading along and has thoughts, feel free to chime in!) -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 03:30:26 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 08:30:26 +0000 Received: from localhost ([127.0.0.1]:41246 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myV6n-0001fq-Vi for submit@debbugs.gnu.org; Sat, 18 Dec 2021 03:30:26 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:37629) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myV6l-0001fd-Pa for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 03:30:24 -0500 Received: by mail-wr1-f67.google.com with SMTP id t26so8472545wrb.4 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 00:30:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=HPBT34Bd4d/385NLcMxIMiBAZiH9adqlM2nGkEuWMFs=; b=j6QMYGIAnwK5tBEMP6AT7UOqoAK0vfBP9l/xOII+hYbWq3TZUhnPtGY4OQUvSSCQiC LZmOJrD9sR//IoZUiDO9Kpzw8XrFjntXh+W2oPTBC7sOx0XTvrn5WUpQscX+A/z5SbqY zc39NXxYR/CUXdkyyPwmocb/WayyL0Ps+mtW2evwKopvbMMzJf3eVGlumhMayi9Sd84C Dh9dmzobtSUXFXqTNU6KHJDY5btr5IqBy+hDbOpCCvOYe8PU3Y/SgEAB5ZcSLtz6lwuQ IW4NYgFG2t6IdhdALHYhenSMNCF3t0c1+dZf26oIii+0uOjzMRq5p7x8B+3ltwqZ19U8 vs+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=HPBT34Bd4d/385NLcMxIMiBAZiH9adqlM2nGkEuWMFs=; b=bSdS0atMZnvVyatutR43d1bvqhclq3OqZmFwytbMZ9DwfMBCHzkX9P8Cs07jys2Gf0 kM+EhKJNrZ6wNq9sHlTTHvBWh7BCR9Gal4yFf7CNKGNj6IXW1W8g4cySBrLucz0R65JI LEu1fO6vLWiYi4GynxFo0mKNx9vTbutXbBrmmQctyLyrjo1dhr6bDSuLcvdJVyy90yWC Lh869haow32/IIoe9ccOe4YSA7IWoeINkAaOaW78BmK4D3+hnZLuBSwx7Q7TBxYbYkFK O0ZqPY6/p1rqX/urbgI1cPoa4sDW6+Z07/ik3xnA4an5l+eQDsFjYlRVVBRrW8aiTq4o PvzQ== X-Gm-Message-State: AOAM530BzLfPhlLBd6tp2eAsOEVOyCaIZWlAV/coYIHi+O+tLMInBa9k 87HDPOtpimS/8Rmp+FGWmis= X-Google-Smtp-Source: ABdhPJy5phsWOVWcOmFbLVsYyxTTm3nyXrlp61a/gC9DTiCAa1qkf6LISfI/sX9qAqaKoqg+ddo7QA== X-Received: by 2002:a5d:588c:: with SMTP id n12mr1449453wrf.363.1639816217893; Sat, 18 Dec 2021 00:30:17 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id w25sm9627241wmk.20.2021.12.18.00.30.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Dec 2021 00:30:17 -0800 (PST) Message-ID: <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Timothy Sample Date: Sat, 18 Dec 2021 09:30:16 +0100 In-Reply-To: <871r2a7hme.fsf@ngyro.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 17.12.2021 um 21:48 -0500 schrieb Timothy Sample: > Liliana Marie Prikler writes: > > > For the GNU build system (and likewise meson-build-system), the > > default behaviour if you haven't specified anything as per upstream > > conventions is typically to error if the package is required and > > omit it if it's not.  The default behaviour of node-build-system > > (and likewise cargo and most other build systems that come with the > > advertisement of "we know package managers better than people who > > actually produce usefulpackage managers) is "Oh my god, you don't > > have an exact copy of the machine that built this stuff locally, I > > am going to barf huge walls of noise at you".  Therefore, we can't > > meaningfully compare those build systems in terms of strategies. > > NPM packages tend to wildly over-specify their dependencies.  We > already remove dependency version checking, and before this change, > many of our packages skipped any kind of dependency checking by > skipping the configure phase altogether.  To me, the ‘#:absent- > dependencies’ approach tries to work around the dependency over- > specification by listing exactly those things that are only there to > elicit a useless “Oh my god [...], I’m going to barf huge walls of > noise” message.  The rest of the dependencies are those that the Guix > package author deemed required (or at least important).  Basically, > ‘#:absent-dependencies’ helps us translate between the NPM culture of > over-specification (which is really a culture of prioritizing package > author over package user) and the GNU culture of “DWIM” dependencies. Except that it's not. The current workaround is "I know this thing's going to barf at me, so I prepare an umbrella and hope it has no holes". > > If we really want some static verification for node-build-system, I > > think we should take that as an approach rather than hard-coding > > (absent) dependencies literally everywhere. > > We need some way to know what to statically verify.  We can’t > magically know what’s important and what isn’t.  The two options in > this thread are ‘#:absent-dependencies’, and only checking what’s > already in the package’s inputs.  What worries me about the second > approach is that it offers no help when updating a package.  With > ‘#:absent-dependencies’, if the developer adds a new dependency that > really is required, we will get a build-time failure letting us > know.  Whoever is updating the package can fix it before even > committing anything.  If we just check the inputs, that’s not the > case, and we might end up with Philip’s “mysterious runtime error, > potentially many steps down a dependency chain.”  Hopefully tests > would catch it, but I like the extra assurance. That's why I didn't want to default to "do nothing", but to *warn* about missing dependencies in configure. Then whoever bumps the package will at least know which warnings are produced if they do so and they can cross-check by manually building past versions. Including #:absent-dependencies is no safe-guard against a failure here anyway. A dependency that was optional in V1 might become required in V2. > Another benefit is that it would help us gain knowledge as to which > NPM packages are often used but not actually required (e.g., NPM > publishing tools).  With this knowledge, we could write a clever NPM > importer that ignored obviously inessential dependencies. > > I guess I’m starting to sound like a broken record now – this is > basically what we covered before!  :)  Maybe we’re in need of a fresh > perspective.  (If anyone is reading along and has thoughts, feel free > to chime in!) I think the NPM convention is to put everything you need "at build time, but not at runtime" into dev-dependencies, no? In any case, one approach I could offer is to sanity-check by searching for require() statements and trying them in a controlled node environment. This could look something like eval("try { var dep = require('" + dependency + "'); true } catch (e) { false; }") Once we know where require statements are made and whether they succeed, we can start estimating the impact of a missing dependency. For this, it'd be nice to have a full function call graph, in which a node is coloured dirty if it has a failing require statement, lies within a module that has one or calls into a dirty node. However, as a primitive approximation we can also count the node modules with failing requires against those that don't. We set an arbitrary threshold of allowed failures, e.g. 0.42, and then check that whatever value we obtain from the above is lower than that. While that would be nice and all, I think the overall issue with the current node implementation in Guix is that 'configure' and 'sanity- check' are the same phase, so you have to disable both or none. I think we could easily do with a configure phase that does nothing, not even warn about a missing dependency, and a sanity-check phase that requires every dependency mentioned in package.json to be met. Packagers would then outright delete sanity-check as they do for python and as they did for configure (but not have configure fail due to it!) or deliberately rewrite the package.json for the sanity check and dropping absent dependencies, i.e. what you do minus the keyword. If later needed for the purposes of an importer, we would then still have that database and could at some point introduce the key #:insane- requirements. WDYT? From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 11:16:50 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 16:16:50 +0000 Received: from localhost ([127.0.0.1]:43630 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mycOA-0003ne-7Z for submit@debbugs.gnu.org; Sat, 18 Dec 2021 11:16:50 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:35447) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mycO8-0003nS-EY for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 11:16:48 -0500 Received: by mail-qt1-f173.google.com with SMTP id j17so5786000qtx.2 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 08:16:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=7rKT/PMnT4TM/URN2Jq7EelxpIGA1hcAHbBAHS13w+c=; b=TjkA9dsgu3n5MTvANTKhbWynqLpoU6Ksvf1V5GCvo9JfPd+mLviOemReXB4nnaUHdh qRCN/YM5IDH0VyYgSvoL0MJbrvMLGmCwLfjInKwa9Hhft4zSKHHTYIyRnBYbvYjjSbUX Zm54raRrrC/D4/gmRbEl+ifYT/2n9O/9FhVCumDBOsyAug77i43U5+7NKPUwQ3BAw3+U D9mYlqld6xjmBP1pZLouOvqy1z1OOesTYUGQi2QsCY/BNiGANIRVaIlqIB5/g4aXsZH8 1Z4q+Z4Z/zvhUfWiR/DU2HaVC3cGijCJg80mw6J+q5Dy/lmnI6VKpeicDQNkC+1WKKPn nH2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=7rKT/PMnT4TM/URN2Jq7EelxpIGA1hcAHbBAHS13w+c=; b=1jJnAqsktvt5oE94FTGFkY20Rk3CZVYDOIT66fDC+5XWUS6mVJB22usZOsso0mHNli dGm6SfuGTg/aeqh/g+LRCJTWe/lzPo5zYLcTZRYpkUq5JI0qB2LgkqqIMcJ52+yCUm5/ b97Nix0y6S8IkHYBCReLz1JWexk9dv8M6W27GQrWcaHFF+bYw1KQc9Vg6o7l5C4v+hSj HpaPb/DEhzoT54rY1VX56lpQ8p1vqTEkQWmlPTH2hHQUmquCJ7zNbUx9eSLcIzz2KCd6 s5H8946QdMmz8vPa7ytXIpMaxzxKa7dQCJH4v9Xww7YXN2rDpb9VGDY6fr/NpZ9jQ3lO PamA== X-Gm-Message-State: AOAM531+L+GtjMZI2gEv9CctBQ5SZ+05U6+i83BfvO+mT7gHlH5py/HQ Kth2p48aQ8QtvTELJgQg5l0P+A== X-Google-Smtp-Source: ABdhPJx7Ru9dfyZfDRB+pPm3X6xFR4ho93G0vpnoavMSiog9cXrEAEPrPg8+goRGw5Jio/DCV1eBWA== X-Received: by 2002:a05:622a:1a03:: with SMTP id f3mr6805980qtb.141.1639844202940; Sat, 18 Dec 2021 08:16:42 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x4sm10043749qtw.44.2021.12.18.08.16.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Dec 2021 08:16:42 -0800 (PST) Message-ID: Date: Sat, 18 Dec 2021 11:16:41 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/17/21 00:08, Liliana Marie Prikler wrote: > Am Donnerstag, dem 16.12.2021 um 21:03 -0500 schrieb Philip McGrath: >> * guix/build-system/node.scm (lower): Add the version of libuv >> used as an input to the #:node package as an additional implicit >> input, so that packages needing libuv always get the correct version. >> --- >>  guix/build-system/node.scm | 9 ++++++++- >>  1 file changed, 8 insertions(+), 1 deletion(-) >> > Do this and #21 have to be separated so far from the rest? If not, I'd > do build system first, then new packages. Otherwise fair enough. I tried to follow Tim's suggestion in to put the changes related to #:absent-dependencies before the changes to support native addons, so that the earlier changes could potentially be applied even if there was more discussion needed for the later ones (if #:absent-dependencies were less controversial. But note that the patches before this one aren't adding new packages; they are changing existing packages to use #:absent-dependencies rather than deleting the configure phase. So the series is ordered overall as: 1. Changes to the `node` package itself 2. Build system changes for #:absent-dependencies (including the delete-lockfiles phase, because un-deleting the configure phase exposes those problems) 3. Packages changes to use #:absent-dependencies 4. Build system changes to support native addons 5. New packages to exercise the support for native addons -Philip From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 12:01:14 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 17:01:14 +0000 Received: from localhost ([127.0.0.1]:43684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myd58-0004vr-6f for submit@debbugs.gnu.org; Sat, 18 Dec 2021 12:01:14 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:36858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myd56-0004vP-Sa for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 12:01:13 -0500 Received: by mail-wr1-f65.google.com with SMTP id r17so10009975wrc.3 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 09:01:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=gykgJNfUFopVnMk7CnfulvVGn7ZHciaiQSrEVXeks18=; b=Cw5VccFEBHE4SNjtow9BD1H2Ow76n1cyHThZp6T8/lz+qXTBxxAWwofoM9wdHqkoAI kLjjE03HVNBE+WcSFk0gRAEFm5zsnyt0lpngXEtJxSupmX+cXAiL4iUM0vbybbXhBrRN Mp9vZ8kQ4RimPVPLMZ3a07X5wWzhUI2B1fn6/2qVjUaNIn96UhtrrL2e2Pw+DBzmypo/ U40YjwIxNHrAvLukCr+1w+3ulB0ncWrzVAClwbUnNlN7Wb9QE4u+1UBqC5mgIhSsI6vk lbaWZTZgYFtR3KAFJ3r2tg25Fa/1V+ip+WFLR6Ehu2V2/DNJ4i64TfQqEETgqm00CQpI vfSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=gykgJNfUFopVnMk7CnfulvVGn7ZHciaiQSrEVXeks18=; b=S8XeCGX6tMrEPkMPfpwcdUvpENV9xI81jh1lFKJfbHiNC293U0t7oK1uFt3N5xrxTp rrpeVDLvv6BnBcddNyynxwlrRHMGqZahpJXdS+eOeelTrEFTzyjCH3REc3CA3cb0VtV6 9lR1tGCV+0vAB+y5eTTWLD8fduX70jZsl5pS1PlMZ1svWpY2a4hSW0/NiFjE+ofFdXxB 6bXZoQ+CXpFPsV5KTjxLfN2s9OlGg1rjk7v41e0kln7JhelXNoeUB7qzpDXMpLVDMzAX OfWbEasHWU7suTGDWohx3gYvBGkimxQYf5EigjCTrOycUMI/z9mjQ2kAXQbcVFUBPYze Z90w== X-Gm-Message-State: AOAM530bGfE0ySyZ7APOlgOMW5xoB666IYh3B2Zlxl0MNNoIC1upJz9Z X52U34soNCxgGQQwjenBVME= X-Google-Smtp-Source: ABdhPJyGrmp4IcwO2+01bP/WWW7Bm5pDTPr/Z/q6FsuSr74t1OiY61JJm59LxPcfHbJAiiNlk6aEtA== X-Received: by 2002:adf:9d8c:: with SMTP id p12mr6715278wre.622.1639846866881; Sat, 18 Dec 2021 09:01:06 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id u10sm14435952wrs.99.2021.12.18.09.01.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Dec 2021 09:01:06 -0800 (PST) Message-ID: <39f8ce0c54d60adb54c1bb9035ff1b31d40cb5be.camel@gmail.com> Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 18 Dec 2021 18:01:04 +0100 In-Reply-To: References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Samstag, dem 18.12.2021 um 11:16 -0500 schrieb Philip McGrath: > > > > Do this and #21 have to be separated so far from the rest?  If not, > > I'd do build system first, then new packages.  Otherwise fair > > enough. > > I tried to follow Tim's suggestion in > to put the changes related to > #:absent-dependencies before the changes to support native addons, so > that the earlier changes could potentially be applied even if there > was more discussion needed for the later ones (if #:absent- > dependencies were less controversial. Fair enough, that does make sense. However, I do think that "add package X" is not too big of a review burden, so I personally think the fact we're deleting 'configure everywhere is holding back the change to support native addons rather than the other way around. > But note that the patches before this one aren't adding new packages; > they are changing existing packages to use #:absent-dependencies > rather than deleting the configure phase. So the series is ordered > overall as: > >   1. Changes to the `node` package itself >   2. Build system changes for #:absent-dependencies >      (including the delete-lockfiles phase, because un-deleting the >      configure phase exposes those problems) >   3. Packages changes to use #:absent-dependencies >   4. Build system changes to support native addons >   5. New packages to exercise the support for native addons There is an unspoken bit here in #5 in that those packages still need to get rid of unwanted dependencies, which makes this set still unsplittable in a sense. If everyone else here agrees, I think we could at least upstream the changes to node itself while we still discuss 2-5. Timothy, Pierre, Jelle, WDYT? From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 12:03:35 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 17:03:35 +0000 Received: from localhost ([127.0.0.1]:43698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myd7P-0004ze-7v for submit@debbugs.gnu.org; Sat, 18 Dec 2021 12:03:35 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:39779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myd7M-0004zR-3V for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 12:03:33 -0500 Received: by mail-qt1-f177.google.com with SMTP id l8so5844533qtk.6 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 09:03:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=9IhIYAEOKP+/vcbHDd2Ae1pc+p5sFAMA2+O+8Uzu/Sw=; b=LdO/sIhSg5QQBwDkBNDFq9gd8e4cZgX4AjtsjwRT26nV1cUmbXVWeo2pts5pdOIcHK vGuHXuXrNFFWdkBPMqeg/rQWMKoKGdxSBfS0LfWpZYT+RXfOWXtK6KKKF2GoOMecTYDB 9VAjqcbKMGBQo+g+0ACudR8nDiKzSwpK1labVfY+xAjzb6K63iavFpF7eXqNHkRRDWNo fPTjfW0E1KFt3FHWPj4BvV9tzU/JH3N07jj8OrJre92YX5ZnnIhwRP4a9po4qWqBGC2a S5+8U0zte+pi3u7Z/IALR6TOhd2FLpKHToltBS3hrCp/7N/6yO2aFFXh1W74hk7CHGIs vNBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=9IhIYAEOKP+/vcbHDd2Ae1pc+p5sFAMA2+O+8Uzu/Sw=; b=gTLQg37G5tzYb6458GEXzDP9KNR5z6sX2TqOJPh+hxCe8lqa2N+pkhij32hbXTo9fK 20wx9xfV3lJndaACT9W1sXwWO6Sn9wqVG8yv+bb3AXBKSXNRAyMIcYHAI9/R9D/U/dQw V1ZfT0VoeABwAo/G/wDcj/5nNZCna7zYd7N5sZzCpaWUopl1BFYvlr1aLm979LcMp2F9 tSc67YtIfRHLYz3z7dy5ejprdX7c3rgiwwbAbMfffFlhUmdTI8q3fhno7JROXcLds3AA Z8ebZSgy2VCBlBS4LDzq6hvhElQnNTZAmHh4HFR2gOCvUdFd69/leMceZxQ1B9IH1zk1 H4/g== X-Gm-Message-State: AOAM533R1YRaPIIvQivuFtlX5UFspIDKHkU/oKNezozgnU7DUbQw07xM UZOwjZmFU0Gx4VwYCTYvAwZGZQ== X-Google-Smtp-Source: ABdhPJzPQtOoqCgCMn+CjP93ggzh+mHe/kH1AZBR09ihNsq2xRQjMcyE8Xc6gEvwv3YnRjzZuLJAZw== X-Received: by 2002:ac8:5f0a:: with SMTP id x10mr6927815qta.607.1639847006609; Sat, 18 Dec 2021 09:03:26 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id p10sm10653107qtw.97.2021.12.18.09.03.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Dec 2021 09:03:26 -0800 (PST) Message-ID: <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> Date: Sat, 18 Dec 2021 12:03:25 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> From: Philip McGrath In-Reply-To: <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/16/21 23:29, Liliana Marie Prikler wrote: > Hi, > > Am Donnerstag, dem 16.12.2021 um 21:02 -0500 schrieb Philip McGrath: >> * guix/build/node-build-system.scm (patch-dependencies): Strictly >> follow the linearity rules for `assoc-set!` and friends. >> Clarify the types of the arguments to and return value from the >> internal helper function `resolve-dependencies`. >> [...] >> -  (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) '()))) >> +  (define (resolve-dependencies meta-alist meta-key) >> +    ;; Given: >> +    ;;  - The alist from "package.json", with the '@ unwrapped >> +    ;;  - A string key, like "dependencies" >> +    ;; Returns: an alist (without a wrapping '@) like the entry in >> +    ;; meta-alist for meta-key, but with dependencies supplied >> +    ;; by Guix packages mapped to the absolute store paths to use. >> +    (match (assoc-ref meta-alist meta-key) >> +      (#f >> +       '()) >> +      (('@ . orig-deps) >> +       (fold (match-lambda* >> +               (((key . value) acc) >> +                (acons key (hash-ref index key value) acc))) >> +             '() >> +             orig-deps)))) >> >>    (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"))) >> +      ;; It is unsafe to rely on 'assoc-set!' to update an >> +      ;; existing assosciation list variable: >> +      ;; see 'info "(guile)Adding or Setting Alist Entries"'. >> +      (let* ((package-meta (read-json in)) >> +             (alist (match package-meta >> +                      ((@ . alist) alist))) >> +             (alist >> +              (assoc-set! >> +               alist "dependencies" >> +               (append >> +                '(@) >> +                (resolve-dependencies alist "dependencies") >> +                (resolve-dependencies alist "peerDependencies")))) >> +             (alist >> +              (assoc-set! >> +               alist "devDependencies" >> +               (append >> +                '(@) >> +                (resolve-dependencies alist "devDependencies")))) >> +             (package-meta (cons '@ alist))) >>          (write-json package-meta out)))) >>    #t) > The Guix codebase is generally not the place to play around with > destructive semantics. If you can avoid assoc-set!, I think you ought > to, especially if it helps making a two-step process into a single-step > one. Anything I'm missing here? I agree that assoc-set! is best avoided. (I am a Racketeer: we don't mutate pairs.) However, this code was already using assoc-set!: the change in this patch is merely to use it correctly. AFAIK neither `info "(guile)Association Lists"` nor SRFI-1 (`info "(guile)SRFI-1 Association Lists"`) provide a non-destructive assoc-set operation. Note in particular that acons and alist-cons do not work, since they don't remove existing entries for the same key: they would result in duplicate keys being written to the JSON object. (In theory, this has undefined semantics; in practice, I believe Node.js would use the wrong entry.) Of course, I know how to write a little library of purely functional association list operations---but that seems vastly out of scope for this patch series (which has already grown quite large). Furthermore, if we were going to make such changes, I think it might be better to change the representation of JSON objects to use a real immutable dictionary type, probably VHash (though it looks like those would still need missing functions, at which point a wrapper type that validated keys and maintained a consistent hash-proc might be even better). Alternatively we could use guile-json, which at least avoids the need for improper alists to disambiguate objects from arrays, but we would have to address the issues in Guix commit a4bb18921099b2ec8c1699e08a73ca0fa78d0486. All of that reinforces my sense that we should not try to change this here. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 12:07:24 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 17:07:24 +0000 Received: from localhost ([127.0.0.1]:43705 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mydB5-00055g-Tt for submit@debbugs.gnu.org; Sat, 18 Dec 2021 12:07:24 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:33791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mydB4-00055O-B1 for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 12:07:22 -0500 Received: by mail-qt1-f177.google.com with SMTP id n15so5921307qta.0 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 09:07:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=nTTUVd+412I21cXg3nAmTmEDwQWLpinHbS4KseW4azc=; b=Ean1dAddQ9uuhniy1aOTSfqa0ylLOwE13IxQUQjQfKwiD7T/Pt2q2Mi5r8bv1yrIy0 TGX6yB6U2Y0PKdcc7k5G4P7S1ggE7TtIq04rXVAitMY1s2QRkX48nlSAaOtrFnRDQAh6 qsjpLFw7qN2fTzHKrX6R/AIRtgHAQ20M1AvOHKH0SzwAbRQKDqTWiiP6KcG7GISQ5Mcv tX6sEJmnsuAtvwKdMRxFSjMmoDQBT05fgu52lf5418MrpmwL+5cwxbc+91sVPcvT9+Ds utHNhNir80xIC9WRm/yC6jjxmBQDadOGN9w3tV+oOzmiZLD8sI5v8w37OrlcfHA9bvwJ JFHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=nTTUVd+412I21cXg3nAmTmEDwQWLpinHbS4KseW4azc=; b=j4Q4LkXslkRK9dCCtFtZ/g82Xn83+W1phEOsY9ghY68aOSnddtz5hxgEzzki4RJlbj yU8RtLNIivOxohmMkdFp2VOhbFy5cHaeTdlMPytc1dXONVOTta3vbnIFCfE8BIqi4SNY EhVKVZClPOXTboVhFbtt8BbSzlCJPdmHjBqtV/37p1GsuN6Q+3Pz9ArkkHRhQQ/rU1h+ qzK3ZPuxXS+1ErOg14/lFlnbEd2h4RLRXBl+p8v2vH4PINufe2nQMztE2KnUX31zRWFV w2jrdRpOF6STNIx+xVl3+fMhD+F4kgfmrF4JfCpwcNa4NOWcZxVzYDBaGmmbANy9jw/v Xorg== X-Gm-Message-State: AOAM531Sfrss0+5gAA86oEGRrU41WyfhwfmMT5OcPY9Z4pZebRmmOZ9H Tddsvu1P2h+5PDGeT2sSnPtr/g== X-Google-Smtp-Source: ABdhPJwG3OI2watVcUG2CcRuIxiphFiJvvxwTbxPjTmy0xSDkHm+IX9pNsvTIbyIoKKY7Yg3L8r6tw== X-Received: by 2002:ac8:5c91:: with SMTP id r17mr7050129qta.18.1639847237075; Sat, 18 Dec 2021 09:07:17 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v16sm7149546qkj.93.2021.12.18.09.07.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Dec 2021 09:07:16 -0800 (PST) Message-ID: <4d49ec10-fe4c-a134-d205-b25c63b0b0da@philipmcgrath.com> Date: Sat, 18 Dec 2021 12:07:15 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi again, On 12/17/21 00:08, Liliana Marie Prikler wrote: > Am Donnerstag, dem 16.12.2021 um 21:03 -0500 schrieb Philip McGrath: >> * guix/build-system/node.scm (lower): Add the version of libuv >> used as an input to the #:node package as an additional implicit >> input, so that packages needing libuv always get the correct version. >> --- >>  guix/build-system/node.scm | 9 ++++++++- >>  1 file changed, 8 insertions(+), 1 deletion(-) >> Tangentially, for the record, I'd considered as an alternative approach making libuv a propagated input of node. That might be worth considering one day, when we unbundle npm, but for now I think libuv is only needed in a small minority of cases. -Philip From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 12:52:28 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 17:52:28 +0000 Received: from localhost ([127.0.0.1]:43772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mydsi-0006H0-Cj for submit@debbugs.gnu.org; Sat, 18 Dec 2021 12:52:28 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:44612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mydsg-0006Gn-KV for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 12:52:27 -0500 Received: by mail-wr1-f65.google.com with SMTP id t18so10503593wrg.11 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 09:52:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=BQjAz8AiWfIpVX6qbg+UpxPBSiftKbCu1CXsKHwmWfE=; b=YbKz5OVRVskjJdCr31fokoKPSHgb+2Iaiajn4Rj6vAJeP/2an6KWSmKP0UkUsFJkkF w8sscZ+Qtn21XZux/OOfR566gqC5CMxBDc/00YdWeYYHdzRP/KS4lVEJ6Peg6LcRH6I0 TvVhIP3PIfIz3lFGhEQS1jz4+ma4Jujyd1CbGvtDj69GOssmYM/AcpfW3qW3DOsP9WLM sql6Dqum2kREBZLNAU0FXZ/BwRW93BHJ37n5YbCJXGpzLT6hWzOaefsBrEzp8/8Z9vVe LxWirGtPgnsdzqMPAHUw/tcnZS+BA0sE/6cLws548cveqH3G3ba0vpkU8/d+bBgLO8Ec +9iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=BQjAz8AiWfIpVX6qbg+UpxPBSiftKbCu1CXsKHwmWfE=; b=yoN4KD31voOcuaZmpNgd9BInoEd9DSHtfluBSBRrAIL9Wbw/mjl9GC3H+M3aTJnOUQ kIfR1WaXEuWQqG2bEWW8pGTwibgFqQbrV12JWZ84/b6crFhfLVJdn0a8zxFESKf0esbJ 8ILerTeKj2LYT9hW67vpXdjIE/+6NHNry3+dPVVs1StTlAlcCyu3YZdPYiLrkfF/RwIT h0SSzpoeRuUwzDByAdiL3zA3kTk9UjKMaJDMAGsSyXusyMIx6t1aDSo4U78p7u4aXstv i/i0jgsYqRwxrLMsqrUAJWU2G3RddCq5q++YLGs7KqMM0V+pVMHBmEKy8+MHABBPd0Wv 02OA== X-Gm-Message-State: AOAM533208w4AGpFj4sQh0IQUxbHCPTF6IDT6wGwdOL7+2swxnDY4IE1 yrh+l/kDSAWXLN0jYZWSoLY= X-Google-Smtp-Source: ABdhPJzSCIpux4Lith68IBMPtN/0H4yk8yw+JzsnS5250dnqMAKyaCKAVcMdK2ltx1WgGIBiwDWlCQ== X-Received: by 2002:a5d:434f:: with SMTP id u15mr7108924wrr.492.1639849940795; Sat, 18 Dec 2021 09:52:20 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id c7sm12928219wrq.81.2021.12.18.09.52.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Dec 2021 09:52:20 -0800 (PST) Message-ID: <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 18 Dec 2021 18:52:19 +0100 In-Reply-To: <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Samstag, dem 18.12.2021 um 12:03 -0500 schrieb Philip McGrath: > [...] > > > The Guix codebase is generally not the place to play around with > > destructive semantics.  If you can avoid assoc-set!, I think you > > ought to, especially if it helps making a two-step process into a > > single-step one.  Anything I'm missing here? > > I agree that assoc-set! is best avoided. (I am a Racketeer: we don't > mutate pairs.) However, this code was already using assoc-set!: the > change in this patch is merely to use it correctly. > > AFAIK neither `info "(guile)Association Lists"` nor SRFI-1 (`info > "(guile)SRFI-1 Association Lists"`) provide a non-destructive assoc- > set operation. Note in particular that acons and alist-cons do not > work, since they don't remove existing entries for the same key: they > would result in duplicate keys being written to the JSON object. (In > theory this has undefined semantics; in practice, I believe Node.js > would use the wrong entry.) > > Of course, I know how to write a little library of purely functional > association list operations---but that seems vastly out of scope for > this patch series (which has already grown quite large). Furthermore, > if we were going to make such changes, I think it might be better to > change the representation of JSON objects to use a real immutable > dictionary type, probably VHash (though it looks like those would > still need missing functions, at which point a wrapper type that > validated keys and maintained a consistent hash-proc might be even > better). Alternatively we could use guile-json, which at least avoids > the need for improper alists to disambiguate objects from arrays, but > we would have to address the issues in Guix commit > a4bb18921099b2ec8c1699e08a73ca0fa78d0486. > > All of that reinforces my sense that we should not try to change this > here. I think you misread me here. One thing that's bugging me is that you (just like whoever wrote this before) strip the @ only to reintroduce it. I think it'd be better if (resolve-dependencies) simply took a list and the let-block deconstructed the json. As for the package-meta -> package-meta conversion, imo that could perfectly be done with match or SXML transformation. WDYT? From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 13:31:50 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 18:31:50 +0000 Received: from localhost ([127.0.0.1]:43811 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myeUn-0007J8-GM for submit@debbugs.gnu.org; Sat, 18 Dec 2021 13:31:50 -0500 Received: from mail-qv1-f43.google.com ([209.85.219.43]:45676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myeUl-0007Iv-Hj for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 13:31:48 -0500 Received: by mail-qv1-f43.google.com with SMTP id js9so5492181qvb.12 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 10:31:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:from:subject:to:cc :references:content-language:in-reply-to:content-transfer-encoding; bh=40DTrNmW2Ec6QgyL8zWWwZ66DXCFxOwwxbkl8ujb1fY=; b=fCRgaqotResAJriYa/YotaEIZKCuXpnmWOg23yp/OXIRN/jJ/WAFxMUHeft4DHgkgQ I9QOKLKTrct4k676gpIUhVDB+Kpai7bHlcwkel9Nfw1HZMV4iyVDZmRzTwuNbVw57ltU Q9yx39+isuU20iAq4mAsdO6fV6rjtuZ7OiPdaIu+Ne1Ic4wTU9xwYy9cNKeIloYzPjdU cF9scVl09QvOI5V04DmXqS7BIaohS1HoCOvPfdkf4NDcPsTtoAl/5OplHmdNWAQYbi45 qdK8VqiY7qiem0I7sz6dnEDdLJmzmJoL4e2FttxYMmqN7455DiBRfzKiFGozOTKiGhhN LuzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:from :subject:to:cc:references:content-language:in-reply-to :content-transfer-encoding; bh=40DTrNmW2Ec6QgyL8zWWwZ66DXCFxOwwxbkl8ujb1fY=; b=EHKxcsUZWqieV2SnCWd1YHTROjlhoKTb+383JbOyKFyx2IGtg5lM3RbymQn7xj1n4U XW5wz+uy4zuG7ZXMh4mC80opQANiEdNIWmTPhXueznj1nnTCNAe2whSUo21pXeK8FwBm TjQQlh15L1qubK1OitL/WTaKkKUXIiHtwGGdigAbQxZvV5HNGkfgnfIIc5Un9FD6XYK6 R8pfVLJwb4oS/I69qaO70rOR3VSBcP+v1Ay+IHramksm4AurjTo/a+vYzwsBDSrNYf+A If5RRY+OTXLhvicij098nSOoBXv+c9XQyOEckgRQmipSnjztQZk91RnE0zfIWW1gZNIM TKRw== X-Gm-Message-State: AOAM532+Eov0ZQvP8+7wmsyjPHK8+jEhYkO9bzeZbLp7V6ci6k7Os/ia hoYWJNgYD80HGrdDoJ5Zepoong== X-Google-Smtp-Source: ABdhPJyicaohUk5e9YBK7c0dz0tz+HYvKBCwV/xvzoE2XSHSXH6hoJNEO5kDUZKSmL7i1V0vhcxuoA== X-Received: by 2002:a05:6214:1cc7:: with SMTP id g7mr7063399qvd.91.1639852301872; Sat, 18 Dec 2021 10:31:41 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id 8sm10650133qtz.28.2021.12.18.10.31.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Dec 2021 10:31:41 -0800 (PST) Message-ID: <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> Date: Sat, 18 Dec 2021 13:31:40 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 From: Philip McGrath Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> Content-Language: en-US In-Reply-To: <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/18/21 03:30, Liliana Marie Prikler wrote: > Hi, > > Am Freitag, dem 17.12.2021 um 21:48 -0500 schrieb Timothy Sample: >> Liliana Marie Prikler writes: >> >>> For the GNU build system (and likewise meson-build-system), the >>> default behaviour if you haven't specified anything as per upstream >>> conventions is typically to error if the package is required and >>> omit it if it's not.  The default behaviour of node-build-system >>> (and likewise cargo and most other build systems that come with the >>> advertisement of "we know package managers better than people who >>> actually produce usefulpackage managers) is "Oh my god, you don't >>> have an exact copy of the machine that built this stuff locally, I >>> am going to barf huge walls of noise at you".  Therefore, we can't >>> meaningfully compare those build systems in terms of strategies. >> >> NPM packages tend to wildly over-specify their dependencies.  We >> already remove dependency version checking, and before this change, >> many of our packages skipped any kind of dependency checking by >> skipping the configure phase altogether.  To me, the ‘#:absent- >> dependencies’ approach tries to work around the dependency over- >> specification by listing exactly those things that are only there to >> elicit a useless “Oh my god [...], I’m going to barf huge walls of >> noise” message.  The rest of the dependencies are those that the Guix >> package author deemed required (or at least important).  Basically, >> ‘#:absent-dependencies’ helps us translate between the NPM culture of >> over-specification (which is really a culture of prioritizing package >> author over package user) and the GNU culture of “DWIM” dependencies. > Except that it's not. The current workaround is "I know this thing's > going to barf at me, so I prepare an umbrella and hope it has no > holes". > >>> If we really want some static verification for node-build-system, I >>> think we should take that as an approach rather than hard-coding >>> (absent) dependencies literally everywhere. >> >> We need some way to know what to statically verify.  We can’t >> magically know what’s important and what isn’t.  The two options in >> this thread are ‘#:absent-dependencies’, and only checking what’s >> already in the package’s inputs.  What worries me about the second >> approach is that it offers no help when updating a package.  With >> ‘#:absent-dependencies’, if the developer adds a new dependency that >> really is required, we will get a build-time failure letting us >> know.  Whoever is updating the package can fix it before even >> committing anything.  If we just check the inputs, that’s not the >> case, and we might end up with Philip’s “mysterious runtime error, >> potentially many steps down a dependency chain.”  Hopefully tests >> would catch it, but I like the extra assurance. > That's why I didn't want to default to "do nothing", but to *warn* > about missing dependencies in configure. Then whoever bumps the > package will at least know which warnings are produced if they do so > and they can cross-check by manually building past versions. Including > #:absent-dependencies is no safe-guard against a failure here anyway. > A dependency that was optional in V1 might become required in V2. I also feel like I'm missing something, though maybe I just disagree. To try to be concrete, here's a real example. Between v3 and v4 of this patch series, I discovered that leaving out node-debug could actually cause runtime problems for some of the node-serialport packages. (It turns out it's really a logging library, which wasn't what I'd thought at first.) After I added the node-debug, I could easily search node-xyz.scm for the packages that listed it among their #:absent-dependencies and add it to them as an input. It seems like this would be much less convenient if node-build-system were to silently delete such dependencies and simply print a warning. I guess I would have to search through the build logs for all Node.js packages, right? More generally, I think truly "optional dependencies" (in the Node.js sense, to the extent I understand it) and dependencies we actively don't want (e.g. because node-sqlite3 shouldn't transitively depend on node-aws-sdk) are relatively rare cases. The most common cases seem to be dependencies we really would like to have, such as test frameworks or Typescript, but haven't packaged yet, and thus need to work around. Many packages that have #:absent-dependencies for such reasons also need to use `#:tests? #f` or to replace the build phase with some kind of manual alternative. I guess I don't understand what case the warn-and-drop approach is optimizing for. For both the case when dependencies aren't packaged for Guix yet and the case when Guix packagers have actively decided to skip some upstream dependencies, I think #:absent-dependencies is more useful. Having to look for that information in warnings in the build log seems much less ergonomic. >> Another benefit is that it would help us gain knowledge as to which >> NPM packages are often used but not actually required (e.g., NPM >> publishing tools).  With this knowledge, we could write a clever NPM >> importer that ignored obviously inessential dependencies. I agree with this, too: likewise, we could see packages that are often wanted but aren't in Guix and prioritize adding them! Part of the benefit of #:absent-dependencies, IMO, is as a form of communication with humans. >> I guess I’m starting to sound like a broken record now – this is >> basically what we covered before!  :)  Maybe we’re in need of a fresh >> perspective.  (If anyone is reading along and has thoughts, feel free >> to chime in!) > I think the NPM convention is to put everything you need "at build > time, but not at runtime" into dev-dependencies, no? In any case, one > approach I could offer is to sanity-check by searching for require() > statements and trying them in a controlled node environment. This > could look something like > > eval("try { var dep = require('" + dependency + "'); true } > catch (e) { false; }") > > Once we know where require statements are made and whether they > succeed, we can start estimating the impact of a missing dependency. > For this, it'd be nice to have a full function call graph, in which a > node is coloured dirty if it has a failing require statement, lies > within a module that has one or calls into a dirty node. However, as a > primitive approximation we can also count the node modules with failing > requires against those that don't. We set an arbitrary threshold of > allowed failures, e.g. 0.42, and then check that whatever value we > obtain from the above is lower than that. This could be interesting, and I think some of the JavaScript blunders we don't have packaged for Guix yet try to do something like this, but such analysis is not tractable in the general case, especially with CommonJS `require`, which is just a function and can be given arbitrary arguments computed at runtime. (And some packages really use it that way!) Also, currently node-build-system doesn't seem to be removing those files which `npm pack` is supposed to exclude, which would probably be a prerequisite for addressing this. > While that would be nice and all, I think the overall issue with the > current node implementation in Guix is that 'configure' and 'sanity- > check' are the same phase, so you have to disable both or none. I > think we could easily do with a configure phase that does nothing, not > even warn about a missing dependency, and a sanity-check phase that > requires every dependency mentioned in package.json to be met. > Packagers would then outright delete sanity-check as they do for python > and as they did for configure (but not have configure fail due to it!) > or deliberately rewrite the package.json for the sanity check and > dropping absent dependencies, i.e. what you do minus the keyword. If > later needed for the purposes of an importer, we would then still have > that database and could at some point introduce the key #:insane- > requirements. WDYT? I don't understand the benefit of this, and I'm also confused about the proposed implementation specifics. Why even have "a configure phase that does nothing"? What phase would run `npm install`? Presumably, we would have to delete all missing dependencies before that. I think there is room for improvement in node-build-system. One thing I've been thinking about is some articles I've seen (but not fully thought through yet) from the developers of PNPM, an alternative package manager for Node.js, which seems to have some similarities to Guix in symlinking things to a "store".[1][2][3] (It could be especially interesting for bootstrapping npm! And the approach to "monorepos" also seems relevant.) I also think an importer is very important, even if it's an imperfect one: `guix import npm-binary` was indispensable in developing these patches. I have some ideas about improving it, in particular that we should assume the newer "^" semantics for dependencies everywhere (i.e. that major versions and only major versions have incompatible changes: a common case recently seems to be moving from CommonJS modules to ES6 modules). As I understand it, node-build-system is undocumented, with no guarantees of compatibility. If #:absent-dependencies is at least an improvement over the status quo---which I think it is, since the new packages wouldn't build with the status quo---could we apply this and replace it later if someone implements a better strategy? I don't think I can implement control-flow analysis for JavaScript within the scope of this patch series. -Philip [1]: https://pnpm.io/blog/2020/05/27/flat-node-modules-is-not-the-only-way [2]: https://pnpm.io/symlinked-node-modules-structure [3]: https://pnpm.io/how-peers-are-resolved From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 13:59:35 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 18:59:35 +0000 Received: from localhost ([127.0.0.1]:43839 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myevf-0007yx-AN for submit@debbugs.gnu.org; Sat, 18 Dec 2021 13:59:35 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:47259) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myevd-0007yi-CG for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 13:59:33 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id CB51932009F8; Sat, 18 Dec 2021 13:59:25 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Sat, 18 Dec 2021 13:59:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=fm1; bh=gsqD1q bsx/EJT3aNzBsfbHDGzFBekr5OZxR4iufdv2g=; b=aTBtmANrmNsMw1OdZ2bUq4 J1u1XLR8/+qQIngquT8O7vq+6wpbhs5yfNNioY9pTrGKqF4mteGTFpF+y2Hyssur W2bCiQbBEb1cTPXZqIsqohDagI59WMPg/1yMoVbHouwDoSVmRXb0jZfhbJJePSGV Qsq45bfGdn49aIfU62NU8A8f7E6H1bevN3tUlc8Df8FBLYLpwc0qc+QWk3T53jHp 0p3JQ5kDfo9o0Ub7WO0bn85p4oaAZrLTe4pGZtodk193dREWAtpOF9eopxU5ZTTm PJkIZbR0SmbyLljD7RYAoPDtiIzu0TOsNn5mapueUHJzK6T2ylM6K3yY1qQVszbQ == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrleekgdduudekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefvihhmohht hhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtffrrg htthgvrhhnpedugeefhfegkeeuieejueehffeljeevudeitefhhfdutefgudffledukefh feeltdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 18 Dec 2021 13:59:24 -0500 (EST) From: Timothy Sample To: Liliana Marie Prikler Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> Date: Sat, 18 Dec 2021 13:59:23 -0500 In-Reply-To: <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> (Liliana Marie Prikler's message of "Sat, 18 Dec 2021 18:52:19 +0100") Message-ID: <8735mp3fjo.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Liliana, Liliana Marie Prikler writes: > Am Samstag, dem 18.12.2021 um 12:03 -0500 schrieb Philip McGrath: > >> All of that reinforces my sense that we should not try to change this >> here. > > I think you misread me here. One thing that's bugging me is that you > (just like whoever wrote this before) strip the @ only to reintroduce > it. I think it'd be better if (resolve-dependencies) simply took a > list and the let-block deconstructed the json. > > As for the package-meta -> package-meta conversion, imo that could > perfectly be done with match or SXML transformation. WDYT? I think that, as a patch, this is a clear improvement over the existing code. Is it perfect yet? Maybe not. Further improvements can always be made. The NPM package set is small enough that build system changes can be committed directly to master. Each of the three of us has spent more time writing about it than it would take to reimplement it! :) To me, it would be unwise to hold back this series because one of the patches replaces ugly and broken mutations with merely ugly mutations. -- Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 15:50:06 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 20:50:06 +0000 Received: from localhost ([127.0.0.1]:44065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mygec-0004bk-0m for submit@debbugs.gnu.org; Sat, 18 Dec 2021 15:50:06 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:35578) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mygea-0004aQ-0B for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 15:50:05 -0500 Received: by mail-wr1-f66.google.com with SMTP id j18so11198625wrd.2 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 12:50:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=Akfv1H6J4TYuecC7lVywpteMNCw9KntKGIe7Dfa3g9U=; b=k5iFFrXqmr1E8iQMhYAYbUvY24d8nnWdxZoi76Y8RYzVZ9zPqkt4VxpeVUu9/yDuUN 9MBZDwI8WaaBLU48KKBtYRuOi8JQatWuYPOLVNFuq9jzzd5/uDuUgfwsZANeIxTvucVj EbXnJBejVJaytcbENkqY1JxVDuqny4ANuw1Y0vRsOAyeSyo1V/EOsLobo0dPW3z2/nI2 KWdlO7KfrRSXsu8BumAEIEV40s6WHZAj7hkzdUHjrzTYULxww17kDFr5tKJ2EE7t2I0z PLBp/h4df9ik8ANaMHcNk6XfjLSx7/P622bpdRkwhYxxx2YY8UZwqNz3AxV2KVgN+IDE jJFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=Akfv1H6J4TYuecC7lVywpteMNCw9KntKGIe7Dfa3g9U=; b=CuAsyi2zZ8y1Dne5CE+y2QEgsXVgWUR9+4kT0pttjy/3x3NjPjilMHVL4gVVzgUUIb SWWjTAvzEgp595MXcwwjb3GX5KQSKXLN8swPyn+ExhGuwxFEiT3NuqGAapYTIR36qDDl hc5YFFjxjP1bmMPqLzzZhKIYScE4ep7YC0Mx0M9/mwE4MNz6IlrLCQIic95LBOaWIl8X 4dTzEYSKQuL9qQ4ODX8gvCJGTQjRnR+iQEXTQnnR6VJY/4N2tGcrEio44Bz1xH6Lj7em KmqK9Lecy7SnOi5a17w0vvQu6GOIUmsNv5E/ROwBBm2s9AZT6eszsgDQS9z6UQ6b/KU1 TlNw== X-Gm-Message-State: AOAM530lybJdtozmo8AZgLzW+FmOBT3eqWLbTSZwCLqhTNwEOUXdVL7e +xv2wiRcwjDOFOxR4AxpLIQ= X-Google-Smtp-Source: ABdhPJzKi7dRYZJ0CkpZ7XD5SgnAIdBcp6+4lz/3XQu0wrlTd6mLWrbJH+kR60NIOEomuJ3nRW2QMw== X-Received: by 2002:a05:6000:1625:: with SMTP id v5mr7331973wrb.196.1639860597919; Sat, 18 Dec 2021 12:49:57 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id c12sm13048722wrr.108.2021.12.18.12.49.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Dec 2021 12:49:57 -0800 (PST) Message-ID: <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Sat, 18 Dec 2021 21:49:56 +0100 In-Reply-To: <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Samstag, dem 18.12.2021 um 13:31 -0500 schrieb Philip McGrath: > I also feel like I'm missing something, though maybe I just disagree. > > To try to be concrete, here's a real example. Between v3 and v4 of > this patch series, I discovered that leaving out node-debug could > actually cause runtime problems for some of the node-serialport > packages. (It turns out it's really a logging library, which wasn't > what I'd thought at first.) After I added the node-debug, I could > easily search node-xyz.scm for the packages that listed it among > their #:absent-dependencies and add it to them as an input. Wouldn't we get a huge stack trace of doom with the failed require in that case if it was truly non-negotiable, though? > It seems like this would be much less convenient if node-build-system > were to silently delete such dependencies and simply print a warning. > I guess I would have to search through the build logs for all Node.js > packages, right? Since node packages do have the tendency to pull in the entire internet, you might not be too far off with that statement, but again if you have a particular issue in a single package due to an omitted dependency, the offending package ought to be close to the most recent call on the stack. An alternative to searching through the build logs would also be to build all the sources and grepping their package.jsons ;) > More generally, I think truly "optional dependencies" (in the Node.js > sense, to the extent I understand it) and dependencies we actively > don't want (e.g. because node-sqlite3 shouldn't transitively depend > on node-aws-sdk) are relatively rare cases. > > The most common cases seem to be dependencies we really would like to > have, such as test frameworks or Typescript, but haven't packaged > yet, and thus need to work around. Many packages that have > #:absent-dependencies for such reasons also need to use `#:tests? #f` > or to replace the build phase with some kind of manual alternative. > > I guess I don't understand what case the warn-and-drop approach is > optimizing for. For both the case when dependencies aren't packaged > for Guix yet and the case when Guix packagers have actively decided > to skip some upstream dependencies, I think #:absent-dependencies is > more useful. Having to look for that information in warnings in the > build log seems much less ergonomic. That's why my original suggestion was to have a switch between "strict" meaning we fail as before and "warn" meaning "we know we have unmet dependencies". The "warn" case would be annotated similar to #:tests? #f and the strict case default. So you could still communicate important missing packages like typescript et al., but people who hack on their own channels with lower standards can wing it without having to delete configure. > > > Another benefit is that it would help us gain knowledge as to > > > which NPM packages are often used but not actually required > > > (e.g., NPM publishing tools).  With this knowledge, we could > > > write a clever NPM importer that ignored obviously inessential > > > dependencies. > > I agree with this, too: likewise, we could see packages that are > often wanted but aren't in Guix and prioritize adding them! Part of > the benefit of #:absent-dependencies, IMO, is as a form of > communication with humans. We do have a wishlist... > > > I guess I’m starting to sound like a broken record now – this is > > > basically what we covered before!  :)  Maybe we’re in need of a > > > fresh perspective.  (If anyone is reading along and has thoughts, > > > feel free to chime in!) > > I think the NPM convention is to put everything you need "at build > > time, but not at runtime" into dev-dependencies, no?  In any case, > > one approach I could offer is to sanity-check by searching for > > require() statements and trying them in a controlled node > > environment.  Thiscould look something like > > > > eval("try { var dep = require('" + dependency + "'); true } > > catch (e) { false; }") > > > > Once we know where require statements are made and whether they > > succeed, we can start estimating the impact of a missing > > dependency. > > For this, it'd be nice to have a full function call graph, in which > > a node is coloured dirty if it has a failing require statement, > > lies within a module that has one or calls into a dirty node.  > > However, as a primitive approximation we can also count the node > > modules with failing requires against those that don't.  We set an > > arbitrary threshold of allowed failures, e.g. 0.42, and then check > > that whatever value we obtain from the above is lower than that. > > This could be interesting, and I think some of the JavaScript > blunders we don't have packaged for Guix yet try to do something like > this, but such analysis is not tractable in the general case, > especially with CommonJS `require`, which is just a function and can > be given arbitrary arguments computed at runtime. (And some packages > really use it that way!) Of course I forgot about computed goto... > Also, currently node-build-system doesn't seem to be removing those > files which `npm pack` is supposed to exclude, which would probably > be a prerequisite for addressing this. For the record, which files would that be? Could we do emacs-build- system style #:include and #:exclude lists? > > While that would be nice and all, I think the overall issue with > > the current node implementation in Guix is that 'configure' and > > 'sanity-check' are the same phase, so you have to disable both or > > none.  I think we could easily do with a configure phase that does > > nothing, not even warn about a missing dependency, and a sanity- > > check phase that requires every dependency mentioned in > > package.json to be met. Packagers would then outright delete > > sanity-check as they do for python and as they did for configure > > (but not have configure fail due to it!) > > or deliberately rewrite the package.json for the sanity check and > > dropping absent dependencies, i.e. what you do minus the keyword.  > > If later needed for the purposes of an importer, we would then > > still have that database and could at some point introduce the key > > #:insane-requirements.  WDYT? > > I don't understand the benefit of this, and I'm also confused about > the proposed implementation specifics. Why even have "a configure > phase that does nothing"? What phase would run `npm install`? > Presumably, we would have to delete all missing dependencies before > that. I meant "does nothing" in the sense of "does nothing with missing dependencies", i.e. does not even warn. It would of course still run npm whatever. On that note, I did typo there, so it would be patch-dependencies. So patch-dependencies would be implemented using and=> or and-let* to decide whether to patch an entry or not. Another implementation of the sanity check phase would be to read the package json once more as we already do for patch-dependencies, but this time only to check that we have an input that provides it. The benefit of doing that would the same as the strict/warn switch from before, but without adding a new keyword at all. The downside would be that it still invites (delete 'sanity-check) without the comments we'd tend to write around #:tests? #f. > I think there is room for improvement in node-build-system. One thing > I've been thinking about is some articles I've seen (but not fully > thought through yet) from the developers of PNPM, an alternative > package manager for Node.js, which seems to have some similarities to > Guix in symlinking things to a "store".[1][2][3] (It could be > especially interesting for bootstrapping npm! And the approach to > "monorepos" also seems relevant.) I also think an importer is very > important, even if it's an imperfect one: `guix import npm-binary` > was indispensable in developing these patches. I have some ideas > about improving it, in particular that we should assume the newer "^" > semantics for dependencies everywhere (i.e. that major versions and > only major versions have incompatible changes: a common case recently > seems to be moving from CommonJS modules to ES6 modules). > > As I understand it, node-build-system is undocumented, with no > guarantees of compatibility. If #:absent-dependencies is at least an > improvement over the status quo---which I think it is, since the new > packages wouldn't build with the status quo---could we apply this and > replace it later if someone implements a better strategy? I don't > think I can implement control-flow analysis for JavaScript within the > scope of this patch series. It's sadly not that easy. See XKCD 1172. Given the reality of XKCD 1172, I do think that implementing a sanity- check phase that checks for existence of all packages is the sanest option here, together with safeguarding against missing dependencies in patch-dependencies. Does that sound reasonable to everyone else here? Cheers From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 17:55:23 2021 Received: (at 51838) by debbugs.gnu.org; 18 Dec 2021 22:55:23 +0000 Received: from localhost ([127.0.0.1]:44428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myibq-0001jK-Ik for submit@debbugs.gnu.org; Sat, 18 Dec 2021 17:55:23 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:43688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myibo-0001j7-QF for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 17:55:21 -0500 Received: by mail-qv1-f41.google.com with SMTP id m6so5844771qvh.10 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 14:55:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=ifJOZEdOe9sYa2elb1M4LrCSSfBM04dwPVOVE0nAQpA=; b=VDRCCBcAxk9K4VAJGre/ulrQjfrnaSB/j9Z2c2a9T4bpYS69Pyne5M4D4jDZ3WbokU IhcqfTYr3Gpu2O8BfdVGoVqb3gVhxGgDND5P+wiuXa3U6nYpDjznJCMpt8aOPaNNCkYw 0nCfB3Y9fk49/el1O3recd8ktbzH2RwHMmPTt9birpIdK7tZaWfMujq/AjzaTpMl+KcB nwlkfjfZK3Otvl5vdoffKZOFEOXDlVmZq9qTuTLlob7JdTFehu59rs7XWiCAXjDpwczb 49JcTQp3LYSSak+SYGhNh0TSnDdP/zSD5uLJUPVbrF4Fb3tCew4W7EavFhZSmclTQxmP 0LoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=ifJOZEdOe9sYa2elb1M4LrCSSfBM04dwPVOVE0nAQpA=; b=0ehZnWB9zQ/C9juYj2tAzuLSMwnFBAk737kl+AVEB7t5eVrJwqvcVMxMzAb0q3xyX8 z8/ILlZp/ax7AjXkB+gmPqerQ1vcSBqdgyQThHT88D9HoLpaMRunlCOu+sB96smBWe1P UvYNHRbOlU3ovaqxp8o2NfN0NeXWNDIrmJqatOC0jA6SEP+4SvegllpeoK53gyR8laNm zAJ3GKDIL7zeP3CBxYsktBS6Eqn1aoarbvcg86GGym/XtJn2/8eUU5r0n6gPfkpjvVPU 8u+XNi6QFop3+el2WJp4p0WuqZPgwYZ0N0oqpBE5B0ky21L6Gln1mJ/f+/KarGo2MS0N lgSg== X-Gm-Message-State: AOAM5325Ve/XKBXAkmbcm1HE8PW02qkysNv4d1PUaH0ueIzkBV9xMstR i1mHyZNGBy7Oz6rWL7hHMchZNg== X-Google-Smtp-Source: ABdhPJx8hr1VfTQ/hNAUZebF51obEB+Rr5oBqXcTViDx+bh+nzaAI/97Yod+ZaPu37mEHupMIB0bEQ== X-Received: by 2002:a05:6214:c83:: with SMTP id r3mr7516045qvr.110.1639868115134; Sat, 18 Dec 2021 14:55:15 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u16sm7646370qke.127.2021.12.18.14.55.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Dec 2021 14:55:14 -0800 (PST) Message-ID: <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> Date: Sat, 18 Dec 2021 17:55:13 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> From: Philip McGrath In-Reply-To: <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/18/21 15:49, Liliana Marie Prikler wrote: > Hi, > > Am Samstag, dem 18.12.2021 um 13:31 -0500 schrieb Philip McGrath: >> I also feel like I'm missing something, though maybe I just disagree. >> >> To try to be concrete, here's a real example. Between v3 and v4 of >> this patch series, I discovered that leaving out node-debug could >> actually cause runtime problems for some of the node-serialport >> packages. (It turns out it's really a logging library, which wasn't >> what I'd thought at first.) After I added the node-debug, I could >> easily search node-xyz.scm for the packages that listed it among >> their #:absent-dependencies and add it to them as an input. > Wouldn't we get a huge stack trace of doom with the failed require in > that case if it was truly non-negotiable, though? > >> It seems like this would be much less convenient if node-build-system >> were to silently delete such dependencies and simply print a warning. >> I guess I would have to search through the build logs for all Node.js >> packages, right? > Since node packages do have the tendency to pull in the entire > internet, you might not be too far off with that statement, but again > if you have a particular issue in a single package due to an omitted > dependency, the offending package ought to be close to the most recent > call on the stack. I think this is part of where our expectations are diverging, because I think the failure mode for CommonJS require (ES6 import may be at least somewhat better) is much less clean than this seems to suggest. Returning to my concrete example, my motivation for this has been trying to set up a Guix System service to run the Webthings Gateway (formerly Mozilla IoT).[1] (Currently I have it on a branch of my Guix fork at [2]; since there are many yacks left to shave before it could be upstreamed, I plan to turn it into a channel once it can build against Guix master, i.e. once this patch series is applied.) I discovered the problem with the missing node-debug only when webthings-service caused webthings-gateway to load webthings-addon-zwave-adapter at runtime. (Those are both node-build-system packages, but there are also webthings-addon-* packages in Python and Rust, and in principle any language could be used.) The webthings-addon-zwave-adapter has node-serialport as a package.json dependency. As I remember it, even then, the lack of node-debug only caused a runtime error on a certain code path, perhaps triggered by the presence or absence of Z-Wave adapter hardware: I had used all of the packages without problems before hitting the issue. There was a stack trace, and it did help somewhat, but it was immensely helpful to be able to find in node-xyz.scm all of the packages that wanted, but did not have, node-debug. I imagine it would be even more useful in a more tangled dependency graph. In particular, we don't have any JavaScript test frameworks packaged for Guix yet, so most of the time we aren't actually running the code in our Node.js packages, just putting the right files in the right places. So the runtime error may not come until some application/tool has been created, potentially very far along the dependency graph, and may not be revealed by tests (that we can actually run) at all. I think we should optimize for the kind of high-quality packages we aspire to have in mainline Guix, where eventually we hope to have all sufficiently useful libre Node.js packages available. In that case, #:absent-dependencies makes it explicit when Guix packagers are overriding an upstream decision. While we work to achieve that reality, I think #:absent-dependencies is a much better place for a to-do list than having to search build logs or source "package.json"s. However ... > > An alternative to searching through the build logs would also be to > build all the sources and grepping their package.jsons ;) > >> More generally, I think truly "optional dependencies" (in the Node.js >> sense, to the extent I understand it) and dependencies we actively >> don't want (e.g. because node-sqlite3 shouldn't transitively depend >> on node-aws-sdk) are relatively rare cases. >> >> The most common cases seem to be dependencies we really would like to >> have, such as test frameworks or Typescript, but haven't packaged >> yet, and thus need to work around. Many packages that have >> #:absent-dependencies for such reasons also need to use `#:tests? #f` >> or to replace the build phase with some kind of manual alternative. >> >> I guess I don't understand what case the warn-and-drop approach is >> optimizing for. For both the case when dependencies aren't packaged >> for Guix yet and the case when Guix packagers have actively decided >> to skip some upstream dependencies, I think #:absent-dependencies is >> more useful. Having to look for that information in warnings in the >> build log seems much less ergonomic. > That's why my original suggestion was to have a switch between "strict" > meaning we fail as before and "warn" meaning "we know we have unmet > dependencies". The "warn" case would be annotated similar to #:tests? > #f and the strict case default. So you could still communicate > important missing packages like typescript et al., but people who hack > on their own channels with lower standards can wing it without having > to delete configure. I can see the use of a "warn" mode for hacking things together quickly without having to totally delete configure. I think this could coexist with #:absent-dependencies and could be done in a follow-on to this patch series. Right now, the #:absent-dependencies argument must be a list of strings. To support a "warn" mode, we could loosen that contract a bit: we can bikeshed about details, but let's say that we're in "warn" mode if the list contains the symbol 'infer. We change this code: --- diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index b74e593838..892104b6d2 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -69,7 +69,8 @@ (define (list-modules directory) input-paths) index)) -(define* (patch-dependencies #:key inputs #:allow-other-keys) +(define* (patch-dependencies #:key inputs absent-dependencies + #:allow-other-keys) (define index (index-modules (map cdr inputs))) @@ -86,7 +87,9 @@ (define (resolve-dependencies meta-alist meta-key) (('@ . orig-deps) (fold (match-lambda* (((key . value) acc) - (acons key (hash-ref index key value) acc))) + (if (member key absent-dependencies) + acc + (acons key (hash-ref index key value) acc)))) '() orig-deps)))) -- 2.32.0 to do something like this: --8<---------------cut here---------------start------------->8--- (if (or (member key absent-dependencies) (and (memq 'infer absent-dependencies) (not (hash-ref index key #f)))) acc (acons key (hash-ref index key value) acc)) --8<---------------cut here---------------end--------------->8--- Would that meet your objective? >> Also, currently node-build-system doesn't seem to be removing those >> files which `npm pack` is supposed to exclude, which would probably >> be a prerequisite for addressing this. > For the record, which files would that be? Could we do emacs-build- > system style #:include and #:exclude lists? It at least includes files listed in ".npmignore", but I think there are entries in "package.json" that control the behavior, too. We should adjust our repack phase to ignore those files---but I, at least, would need to look into it further to know exactly what the correct behavior is. >> I think there is room for improvement in node-build-system. One thing >> I've been thinking about is some articles I've seen (but not fully >> thought through yet) from the developers of PNPM, an alternative >> package manager for Node.js, which seems to have some similarities to >> Guix in symlinking things to a "store".[1][2][3] (It could be >> especially interesting for bootstrapping npm! And the approach to >> "monorepos" also seems relevant.) I also think an importer is very >> important, even if it's an imperfect one: `guix import npm-binary` >> was indispensable in developing these patches. I have some ideas >> about improving it, in particular that we should assume the newer "^" >> semantics for dependencies everywhere (i.e. that major versions and >> only major versions have incompatible changes: a common case recently >> seems to be moving from CommonJS modules to ES6 modules). >> >> As I understand it, node-build-system is undocumented, with no >> guarantees of compatibility. If #:absent-dependencies is at least an >> improvement over the status quo---which I think it is, since the new >> packages wouldn't build with the status quo---could we apply this and >> replace it later if someone implements a better strategy? I don't >> think I can implement control-flow analysis for JavaScript within the >> scope of this patch series. > It's sadly not that easy. See XKCD 1172. Certainly that's true in general, but I thought this warning from [3] would apply here: When you maintain package definitions outside Guix, we, Guix developers, consider that *the compatibility burden is on you.* Remember that package modules and package definitions are just Scheme code that uses various programming interfaces (APIs). We want to remain free to change these APIs to keep improving Guix, possibly in ways that break your channel. We never change APIs gratuitously, but we will *not* commit to freezing APIs either. -Philip [1]: https://webthings.io/ [2]: https://gitlab.com/philip1/guix-patches/-/tree/wip-webthings [3]: https://guix.gnu.org/manual/devel/en/html_node/Creating-a-Channel.html From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 18 20:02:29 2021 Received: (at 51838) by debbugs.gnu.org; 19 Dec 2021 01:02:29 +0000 Received: from localhost ([127.0.0.1]:44543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mykaq-0004p9-Qz for submit@debbugs.gnu.org; Sat, 18 Dec 2021 20:02:29 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:35484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mykao-0004ov-9R for 51838@debbugs.gnu.org; Sat, 18 Dec 2021 20:02:26 -0500 Received: by mail-wm1-f66.google.com with SMTP id bg2-20020a05600c3c8200b0034565c2be15so6899339wmb.0 for <51838@debbugs.gnu.org>; Sat, 18 Dec 2021 17:02:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=m4Lx3K7zZYzXShI7z2jiAFRwCb0TxGyzFgLjggp6zvQ=; b=iVnnfNHeRBqIt0YJe1IP5b2zgZJLWyS4Nox/9nFo01aVGG1SxdQv36r4opPtwdcqt/ f3B8fy2IEuPaIGAjm2246zTOxZcchPm/r8rdeTxqBUq6v7EWa0HYb8asX60ox7rfYETJ +iNplQ70HWl/N5M0QXPO1oTIfq3LN26+h9ZIpC//BrcxCRFF/37xElBcw3YHfLn0pu3r zqOXr3UqXNm53YxFY0ER9R21qlWv73wfKI9/7q9WQdos+qcY7oza1KB/djOywEAA+/4I imqgepE5tYljU69Nl0A9FGgOJvhPYjap0wbFh0kach4Rloj8PXmWnoKOf5/GiM7M7Mmq 6HDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=m4Lx3K7zZYzXShI7z2jiAFRwCb0TxGyzFgLjggp6zvQ=; b=315f6w/TgxyZQ85UR7VKUKTJnI+rHE6AWCCxQnPp4JXoTHRn8Z7oXuyxBL3UGqe4ln 08JA0zBUaoXyw+oxm1VZo7l2qeuZUWoEIAHBNCwPplSdo4JRXSMcEhQad3R+iaIToOUJ O+IjDKWSke+zL4HP0KJcj3dP8HzvLltorgGl8Xez14CdZG4dlrHhFjESrbXvIk0rr99A m1PyY6NMYL06pIHc1mXHsX8hfa8HCZH4Y5LGmPE/t+ZOY/FQb6SOf1mN17bSZd38ivjw im1HyZpJN19lJXIqyh8z7aCjl0NpLwLhPaFwmKRuRvOlpixSSggJcajbiPCvfKdUgoBC XJaw== X-Gm-Message-State: AOAM532JB2B3N2AdBvf7g1oQFkfEEVz/gG7COGs72aVvrT0sY3xLg02H WuDOjWP5gYBgyvfUpTKT3UA= X-Google-Smtp-Source: ABdhPJwOKRjIS91Pj9VjdWVhvxRaVP9tuZW+wTlgWatCFpdP4ecQrq99ibFRy1+zsNCP/QWs8e0Kwg== X-Received: by 2002:a05:600c:190c:: with SMTP id j12mr8382591wmq.166.1639875740208; Sat, 18 Dec 2021 17:02:20 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id h19sm12046845wmq.0.2021.12.18.17.02.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Dec 2021 17:02:19 -0800 (PST) Message-ID: <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Sun, 19 Dec 2021 02:02:18 +0100 In-Reply-To: <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 18.12.2021 um 17:55 -0500 schrieb Philip McGrath: > [T]he failure mode for CommonJS require (ES6 import may be at least > somewhat better) is much less clean than this seems to suggest. I think the less I know about JavaScript, the better I'll sleep at night. > Returning to my concrete example, my motivation for this has been > trying to set up a Guix System service to run the Webthings Gateway > (formerly Mozilla IoT).[1] (Currently I have it on a branch of my Guix > fork at [2]; since there are many yacks left to shave before it could > be upstreamed, I plan to turn it into a channel once it can build > against Guix master, i.e. once this patch series is applied.) I > discovered the problem with the missing node-debug only when webthings- > service caused webthings-gateway to load webthings-addon-zwave-adapter > at runtime. > (Those are both node-build-system packages, but there are also > webthings-addon-* packages in Python and Rust, and in principle any > language could be used.) The webthings-addon-zwave-adapter has > node-serialport as a package.json dependency. As I remember it, even > then, the lack of node-debug only caused a runtime error on a certain > code path, perhaps triggered by the presence or absence of Z-Wave > adapter hardware: I had used all of the packages without problems > before hitting the issue. There was a stack trace, and it did help > somewhat, but it was immensely helpful to be able to find in node- > xyz.scm all of the packages that wanted, but did not have, node-debug. > I imagine it would be even more useful in a more tangled dependency > graph. That might be beneficial in your particular use case here, but you also have to think about the maintenance burden your mechanism introduces. What if another leftpad happens and we have to speedrun our core- updates cycle to add #:absent-dependencies everywhere? > In particular, we don't have any JavaScript test frameworks packaged > for Guix yet, so most of the time we aren't actually running the code > in our Node.js packages, just putting the right files in the right > places. So the runtime error may not come until some application/tool > has been created, potentially very far along the dependency graph, and > may not be revealed by tests (that we can actually run) at all. The fix to not having test frameworks is adding them, not > I think we should optimize for the kind of high-quality packages we > aspire to have in mainline Guix, where eventually we hope to have all > sufficiently useful libre Node.js packages available. In that case, > #:absent-dependencies makes it explicit when Guix packagers are > overriding an upstream decision. While we work to achieve that reality, > I think #:absent-dependencies is a much better place for a to-do list > than having to search build logs or source "package.json"s. However... Compare this to tests. We have a keyword to disable all tests, which defaults to #f and we have other idioms for disabling particular tests. Your use case is no different. If at all, we should only have a keyword to disable the check completely and other idioms to e.g. patch the package.json file so that sanity-check/patch-dependencies/what- have-you doesn't error when it relies on its contents. > I can see the use of a "warn" mode for hacking things together quickly > without having to totally delete configure. I think this could coexist > with #:absent-dependencies and could be done in a follow-on to this > patch series. > > Right now, the #:absent-dependencies argument must be a list of > strings. To support a "warn" mode, we could loosen that contract a bit: > we can bikeshed about details, but let's say that we're in "warn" mode > if the list contains the symbol 'infer. We change this code: > > --- > > diff --git a/guix/build/node-build-system.scm > b/guix/build/node-build-system.scm > index b74e593838..892104b6d2 100644 > --- a/guix/build/node-build-system.scm > +++ b/guix/build/node-build-system.scm > @@ -69,7 +69,8 @@ (define (list-modules directory) >                 input-paths) >       index)) > > -(define* (patch-dependencies #:key inputs #:allow-other-keys) > +(define* (patch-dependencies #:key inputs absent-dependencies > +                             #:allow-other-keys) > >     (define index (index-modules (map cdr inputs))) > > @@ -86,7 +87,9 @@ (define (resolve-dependencies meta-alist meta-key) >         (('@ . orig-deps) >          (fold (match-lambda* >                  (((key . value) acc) > -                (acons key (hash-ref index key value) acc))) > +                (if (member key absent-dependencies) > +                    acc > +                    (acons key (hash-ref index key value) acc)))) >                '() >                orig-deps)))) > > to do something like this: > > --8<---------------cut here---------------start------------->8--- > (if (or (member key absent-dependencies) > (and (memq 'infer absent-dependencies) > (not (hash-ref index key #f)))) > acc > (acons key (hash-ref index key value) acc)) > --8<---------------cut here---------------end--------------->8--- You're actively making the code that resolves dependencies worse to look at only to keep the keyword. Don't. There are tools besides a hammer. > Would that meet your objective? No. As I repeatedly pointed out, I want either no keyword addition for this "feature" or a keyword that can be regarded as essentially boolean if not outright implemented as one. Reading this again, the existing lines already do what I want (hash-ref index key value) spits out value as a default if key is not found. So the solution is to not touch patch-dependencies at all; we don't have to abuse a function that's not meant for sanity checking to check sanity. > It at least includes files listed in ".npmignore", but I think there > are entries in "package.json" that control the behavior, too. We should > adjust our repack phase to ignore those files---but I, at least, would > need to look into it further to know exactly what the correct behavior > is. Fair enough, that is probably out of scope for now, but we should revisit it before importing the node world and changing node-build- system becomes a core-updates task. > We never change APIs gratuitously. In my personal opinion, #:absent-dependencies would be a gratuitous change in API. There's no need to have this in the build system. We should rather look into ways that make it possible/easy for users to patch the package.json file between unpack and configure. This also calls back to my earlier point of the assoc-set! being out of place, which itself is also a manifestation of node-build-system not exposing adequate primitives towards rewriting essential files. For instance, the procedure (lambda (file proc) (with-atomic-file-replacement file (lambda (in out) (write-json (proc (read-json in)))))) would probably deserve its own name and export from node-build-system. Yes, you can export utility procedures from (guix build *-build- system), look at the Emacs and Python build systems for example. With this in place, we both get to have our cakes and eat it too. There would be no keyword added, and package maintainers would drop "absent" dependencies in a phase like so (add-after 'unpack 'drop-dependencies (lambda _ (with-atomic-json-replacement "package.json" (lambda (json) (map (match-lambda (('dependencies '@ . DEPENDENCIES) (filter away unwanted dependencies)) (('devDependencies '@ . DEPENDENCIES) (same)) (otherwise otherwise)) json))))) Of course, if that's too verbose, you can also expose that as a function from node-build-system. Then all we'd have to bikeshed is the name, which would be comparatively simple. Does that sound like a reasonable plan to you? From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 19 15:34:54 2021 Received: (at 51838) by debbugs.gnu.org; 19 Dec 2021 20:34:54 +0000 Received: from localhost ([127.0.0.1]:48297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mz2tS-0005wc-Ae for submit@debbugs.gnu.org; Sun, 19 Dec 2021 15:34:54 -0500 Received: from mail1.fsfe.org ([217.69.89.151]:44876) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mz2tP-0005wS-Q4 for 51838@debbugs.gnu.org; Sun, 19 Dec 2021 15:34:52 -0500 From: Jelle Licht DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fsfe.org; s=2021100501; t=1639946090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YYC+3V8Wd7k6+shUCEpPhHXbMifmVsPXPygQEpPvros=; b=uxmS5JIeANeKieQpSES7oIz/PK20u6vK4JcC9XVUFULx2Iyvtlh3PSztzi8v9DeArRUAZE cUrmZPDZaXsitSLUVtd6AC/Unzlfmj4g2rTS3d2yTcCK9HzannvzNjqASFWLSm0khBo5dI 5a6PHUh773f472BS6q0F/MMGLin1UdE= To: Liliana Marie Prikler , Philip McGrath , 51838@debbugs.gnu.org Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. In-Reply-To: <39f8ce0c54d60adb54c1bb9035ff1b31d40cb5be.camel@gmail.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> <39f8ce0c54d60adb54c1bb9035ff1b31d40cb5be.camel@gmail.com> Date: Sun, 19 Dec 2021 21:34:49 +0100 Message-ID: <86lf0gcp06.fsf@fsfe.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Liliana Marie Prikler writes: > Hi, > > Am Samstag, dem 18.12.2021 um 11:16 -0500 schrieb Philip McGrath: >> >=20 >> > Do this and #21 have to be separated so far from the rest?=C2=A0 If no= t, >> > I'd do build system first, then new packages.=C2=A0 Otherwise fair >> > enough. >>=20 >> I tried to follow Tim's suggestion in=20 >> to put the changes related to=20 >> #:absent-dependencies before the changes to support native addons, so >> that the earlier changes could potentially be applied even if there >> was more discussion needed for the later ones (if #:absent- >> dependencies were less controversial. > Fair enough, that does make sense. However, I do think that "add > package X" is not too big of a review burden, so I personally think the > fact we're deleting 'configure everywhere is holding back the change to > support native addons rather than the other way around. > >> But note that the patches before this one aren't adding new packages; >> they are changing existing packages to use #:absent-dependencies >> rather than deleting the configure phase. So the series is ordered >> overall as: >>=20 >> =C2=A0 1. Changes to the `node` package itself >> =C2=A0 2. Build system changes for #:absent-dependencies >> =C2=A0=C2=A0=C2=A0=C2=A0 (including the delete-lockfiles phase, because = un-deleting the >> =C2=A0=C2=A0=C2=A0=C2=A0 configure phase exposes those problems) >> =C2=A0 3. Packages changes to use #:absent-dependencies >> =C2=A0 4. Build system changes to support native addons >> =C2=A0 5. New packages to exercise the support for native addons > There is an unspoken bit here in #5 in that those packages still need > to get rid of unwanted dependencies, which makes this set still > unsplittable in a sense. > > If everyone else here agrees, I think we could at least upstream the > changes to node itself while we still discuss 2-5. Timothy, Pierre, > Jelle, WDYT? Agreed, thanks for asking. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 19 15:41:45 2021 Received: (at 51838) by debbugs.gnu.org; 19 Dec 2021 20:41:45 +0000 Received: from localhost ([127.0.0.1]:48322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mz305-00068t-1a for submit@debbugs.gnu.org; Sun, 19 Dec 2021 15:41:45 -0500 Received: from mail1.fsfe.org ([217.69.89.151]:45260) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mz303-00068j-Bj for 51838@debbugs.gnu.org; Sun, 19 Dec 2021 15:41:43 -0500 From: Jelle Licht DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fsfe.org; s=2021100501; t=1639946502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l0NWGEtJrqLy0YvfFcm4t00mINOE8yLnZ8Cvc8YnxXE=; b=ck7+kY45KlOmV6YqjyGBGmHQ1m+AlOUAVliA4ccLrzJ8saz9EAAHZdIqxSLDDHeVVmgD2y 6Jgy4NL0MEUuuswHQF1qP6NGtfEOqi3etgltrT65FYw5KUbt0PZ2WORb81RinzjwH/uLOb wANF8nPUSAE1WRBYePSiPN2U5yBBjzE= To: Philip McGrath , Liliana Marie Prikler , 51838@debbugs.gnu.org Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. In-Reply-To: <4d49ec10-fe4c-a134-d205-b25c63b0b0da@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> <4d49ec10-fe4c-a134-d205-b25c63b0b0da@philipmcgrath.com> Date: Sun, 19 Dec 2021 21:41:41 +0100 Message-ID: <86ilvkcooq.fsf@fsfe.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Philip McGrath writes: > Hi again, > > On 12/17/21 00:08, Liliana Marie Prikler wrote: >> Am Donnerstag, dem 16.12.2021 um 21:03 -0500 schrieb Philip McGrath: >>> * guix/build-system/node.scm (lower): Add the version of libuv >>> used as an input to the #:node package as an additional implicit >>> input, so that packages needing libuv always get the correct version. >>> --- >>> =C2=A0guix/build-system/node.scm | 9 ++++++++- >>> =C2=A01 file changed, 8 insertions(+), 1 deletion(-) >>> > > Tangentially, for the record, I'd considered as an alternative approach=20 > making libuv a propagated input of node. That might be worth considering= =20 > one day, when we unbundle npm, but for now I think libuv is only needed=20 > in a small minority of cases. Not trying to dismiss this suggestion without a constructive alternative, but I would prefer not having node's libuv be a propagated input. What we need is some kind of 'propagated-for-builds-only-input'. FWIW, I really like the current approach which works as long as we have npm bundled, which realistically will still be the case for some {weeks,months,years}. - Jelle From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 19 15:54:31 2021 Received: (at 51838) by debbugs.gnu.org; 19 Dec 2021 20:54:31 +0000 Received: from localhost ([127.0.0.1]:48326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mz3CR-0006Tm-80 for submit@debbugs.gnu.org; Sun, 19 Dec 2021 15:54:31 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mz3CO-0006TY-Vo for 51838@debbugs.gnu.org; Sun, 19 Dec 2021 15:54:29 -0500 Received: by mail-wr1-f66.google.com with SMTP id e5so16028912wrc.5 for <51838@debbugs.gnu.org>; Sun, 19 Dec 2021 12:54:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=zDOjHEkLCf+hHOrMu99VGlJCrzqRE1vMoYTSWHGjHRk=; b=ZCOtGqJngUx6OigGFBxIw9inGlBVRE8SACABeM6PfdLAbSzO2Ius8vPwdQ6HVOGHZ7 +6hkW8oYbwj2KCqIhzd4ccHfMCxc29ac5nisVpg0LunZ3pxzzkNZD+OPk8gl7dgZB00v jsaLhPKgxXnRzhXouSOOx5FE0AC2KvxK7vnEwluBtG++Hu+V5MoHJ6+hmFfanQ/F2lM0 BzA9Q2keJFEwAEt4KAGWM6P+Mxl3Ykzl8h+HXsfSP5+Y5XqdopiGy8+qSWb959z8XBYO cPkPoUzMepxM3+2t4kSqpicV1hCEj7TmTTtjna7CkVD8TaZRw1Tj6mhsxtPuvFiirOYj 19tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=zDOjHEkLCf+hHOrMu99VGlJCrzqRE1vMoYTSWHGjHRk=; b=j7EJnuwK5AXCaOZ+aowhBJ87n+0B9WV33Z14YeqGjD2TDVp0nXPIRBgozt7zACfFXG d3XqPSUWuU6KuyYKbgEuZTTKzbouCY24QZzDyI+3RkheG9OHg04CYRVHAQY9AxBVnNgm y1EJAaDUhljDsnszXzwSoT2vaNu/+GYJISqHHitT/BoxnCMDv3I5BKfA6p5AMJ9ILKAb tbJp7PZnCv55wFAnsCKAjISv+4R73fqnuHaKJbVG0NvpmQnzwx8heZl2cCO79BJcoDIk NMLTk6kIlyiYjOP+xryyn2WyqntVxP4VvDEcuR1CQmrMy+j6uDJTW9KZGv5OAKQdoqJ+ 2cRw== X-Gm-Message-State: AOAM533bWBc4n33VI0fKq05bUPR5uqt5ghaurY+4KtxVj43YgV7PeY6q LMYkezXhdcRXD9KmOUt7kKc= X-Google-Smtp-Source: ABdhPJwA0kcS8E8mzeeDuUazBXoHsrr74qsZ432kpMZAlwaAVmckBnx93vMlAY6SOUUQLbHPhDy8Vw== X-Received: by 2002:a5d:4588:: with SMTP id p8mr10374336wrq.106.1639947263066; Sun, 19 Dec 2021 12:54:23 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id d143sm7795996wmd.6.2021.12.19.12.54.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Dec 2021 12:54:22 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 20/45] guix: node-build-system: Add implicit libuv input. From: Liliana Marie Prikler To: Jelle Licht , Philip McGrath , 51838@debbugs.gnu.org Date: Sun, 19 Dec 2021 21:54:21 +0100 In-Reply-To: <86ilvkcooq.fsf@fsfe.org> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-21-philip@philipmcgrath.com> <4d49ec10-fe4c-a134-d205-b25c63b0b0da@philipmcgrath.com> <86ilvkcooq.fsf@fsfe.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Sonntag, dem 19.12.2021 um 21:41 +0100 schrieb Jelle Licht: > Not trying to dismiss this suggestion without a constructive > alternative, but I would prefer not having node's libuv be a propagated > input. What we need is some kind of 'propagated-for-builds-only-input'. Note that I already made a similar suggestion w.r.t. pkg-config-based propagated inputs over at guix-devel[1, 2] (They're the same thread, use whichever layout you prefer). IMHO, adding it as implicit input to node-build-system as is done here works for me. Cheers [1] https://lists.gnu.org/archive/html/guix-devel/2021-09/msg00051.html [2] https://yhetil.org/guix-devel/045891c151c74e0d66d91973c9e55e0194272df5.camel@gmail.com/ From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 13:03:25 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 18:03:25 +0000 Received: from localhost ([127.0.0.1]:51387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzN0P-0007vO-6v for submit@debbugs.gnu.org; Mon, 20 Dec 2021 13:03:25 -0500 Received: from mail-vk1-f171.google.com ([209.85.221.171]:41903) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzN0K-0007v4-Bx for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 13:03:23 -0500 Received: by mail-vk1-f171.google.com with SMTP id s144so6635390vkb.8 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 10:03:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:from:subject:to:cc :references:content-language:in-reply-to:content-transfer-encoding; bh=fM9tdaBgXGkB7lAJxi8tbmf1xrGc2z8F9ZDh6cb1G5M=; b=YfBiwvXT5n9HxuFDq4/kPX3ut5pnPnTV10pqm8OeyJD5osFzyXKzdkvxocuKw6tyV4 AKsiRzI8EMLQzWV3W9e4KhOxvQ/ZGeVfOp+917D4y5L02P/kzJ7EVJFv0F5irKZY+Ri5 0D46NhzfesZnz6VYjpZO6631LDeORafK/oIi74EY1GVJV2/jbvJIuT9CRupVxq4BnY8/ spy22XuAQEAbEUFIjRpelZtP/G42Wqx/YiU4qcMdps6ox5/xeV3r8/e/W/ekKADpWznP OmVYvmB5jrcBUWAtS6DISgfl7owYuTjOJHAh561pKwMDXeWSdprHPSSuBWKqvkK253uO Oa3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:from :subject:to:cc:references:content-language:in-reply-to :content-transfer-encoding; bh=fM9tdaBgXGkB7lAJxi8tbmf1xrGc2z8F9ZDh6cb1G5M=; b=e4ivCOa0yEWwzaTny7nLYpyRQPvkI2dp71RmC8QUcZcaXvPpDgozMSljaoTLjU/y4m Cr4Glb+VAUPoh7+c5cIcBX9oQgHCshv2nnHff2/hEL+KGvOj71nU+dnunScHlGWe8rIP B3iKziuUIPlUgCxlnumfEwF13M0SPx5nYKoWh9qfm/OutshP/oGUxnvraZe8z2jBbST3 5nneZ/4ZInzsiX5V64saO0UpOTO5jwl1xYkKgyMzS6Q2hhtJMiq2YM+uysf343DN4tJJ nuNemun1BqXJHws9alFF0SOX/lKZdJaKtJOGfrM03jDCuxpNnWg/3tH32rGyAE4JkIDI /jxg== X-Gm-Message-State: AOAM531+kckfATZBtoE9F41MKI6pM1yt61ZctYHdOfkxUeVPoLtlkSA+ VT40zCxefTA6zqI61opVx74duQ== X-Google-Smtp-Source: ABdhPJzztKTujHrQ2B7bnx7KhwMmN5UCSRYxYaCXBIt6ARItCfH7rCvMKZqiKDAQNNBRnPyqJwj63Q== X-Received: by 2002:a1f:b615:: with SMTP id g21mr6116637vkf.35.1640023394694; Mon, 20 Dec 2021 10:03:14 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w22sm3442240vsk.11.2021.12.20.10.03.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Dec 2021 10:03:14 -0800 (PST) Message-ID: <4fead57b-66f0-a0e8-cf3b-a65a8ecba1b2@philipmcgrath.com> Date: Mon, 20 Dec 2021 13:03:13 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 From: Philip McGrath Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> Content-Language: en-US In-Reply-To: <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/18/21 12:52, Liliana Marie Prikler wrote: > Hi, > > Am Samstag, dem 18.12.2021 um 12:03 -0500 schrieb Philip McGrath: >> [...] >> >>> The Guix codebase is generally not the place to play around with >>> destructive semantics.  If you can avoid assoc-set!, I think you >>> ought to, especially if it helps making a two-step process into a >>> single-step one.  Anything I'm missing here? >> >> I agree that assoc-set! is best avoided. (I am a Racketeer: we don't >> mutate pairs.) However, this code was already using assoc-set!: the >> change in this patch is merely to use it correctly. >> >> AFAIK neither `info "(guile)Association Lists"` nor SRFI-1 (`info >> "(guile)SRFI-1 Association Lists"`) provide a non-destructive assoc- >> set operation. Note in particular that acons and alist-cons do not >> work, since they don't remove existing entries for the same key: they >> would result in duplicate keys being written to the JSON object. (In >> theory this has undefined semantics; in practice, I believe Node.js >> would use the wrong entry.) >> >> Of course, I know how to write a little library of purely functional >> association list operations---but that seems vastly out of scope for >> this patch series (which has already grown quite large). Furthermore, >> if we were going to make such changes, I think it might be better to >> change the representation of JSON objects to use a real immutable >> dictionary type, probably VHash (though it looks like those would >> still need missing functions, at which point a wrapper type that >> validated keys and maintained a consistent hash-proc might be even >> better). Alternatively we could use guile-json, which at least avoids >> the need for improper alists to disambiguate objects from arrays, but >> we would have to address the issues in Guix commit >> a4bb18921099b2ec8c1699e08a73ca0fa78d0486. >> >> All of that reinforces my sense that we should not try to change this >> here. > I think you misread me here. One thing that's bugging me is that you > (just like whoever wrote this before) strip the @ only to reintroduce > it. I think it'd be better if (resolve-dependencies) simply took a > list and the let-block deconstructed the json. > > As for the package-meta -> package-meta conversion, imo that could > perfectly be done with match or SXML transformation. WDYT? > I definitely am not understanding what you have in mind here. When you write "strip the @", I'm not sure what you're referring to, because there are multiple "@" tags here, one beginning each JSON object. (Maybe this is obvious, but it hadn't been obvious to me.) So, the (guix build json) representation of a "package.json" file might look like this: ``` `(@ ("name" . "apple") ("version" . "1.0") ("dependencies". (@ ("banana" . "*") ("pear" . "*"))) ("devDependencies" . (@ ("peach" . "*") ("orange" . "*"))) ("peerDependencies" . (@ ("node-gyp" . "7.x"))) ("peerDependenciesMeta" . (@ ("node-gyp" . (@ ("optional" . #t))))) ("optionalDependencies" . (@ ("node-gyp" . "7.x")))) ``` An unfortunate consequence of this representation is that JSON objects are not usable directly as association lists: some procedures expecting association lists seem to silently ignore the non-pair at the head of the list, but I don't think that's guaranteed, and other procedures just don't work. In particular, `append` applied to two JSON objects does not produce a JSON object, even ignoring the problem of duplicate keys. Given that the current code adds "peerDependencies" as additional "dependencies", the choice (as I see it) is between the current approach, in which `resolve-dependencies` returns genuine association lists and the `let*` block turns them JSON objects, or changing `resolve-dependencies` to return JSON objects and implementing `json-object-append`, which doesn't seem obviously better, unless it were part of broader changes. (As an aside, I am not convinced that the current handling of "peerDependencies" is right, but I think reevaluating that behavior is out of scope for this patch series, and particularly for this patch, in which, as Tim said in , my goal was merely to make the use of `assoc-set!` safe.) I definitely think the broader situation should be improved! But I think those improvements are out of scope for this patch series. It seems like much more discussion would be needed on what the improvements should be, and potentially coordination with other users of (guix build json). Personally, I'd want to represent JSON objects with a real immutable dictionary type that gave us more guarantees about correctness by construction. If we continue with tagged association lists, we should write a little library of purely functional operations on JSON objects. But that all seems very far afield. -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 14:33:44 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 19:33:44 +0000 Received: from localhost ([127.0.0.1]:51498 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzOPn-0001vL-TS for submit@debbugs.gnu.org; Mon, 20 Dec 2021 14:33:44 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:37479) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzOPl-0001v6-I1 for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 14:33:42 -0500 Received: by mail-qv1-f45.google.com with SMTP id fo11so10354813qvb.4 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 11:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=P8ZVz+MSU/Avll4FN9IcAHyBG0uutLNxsrF1YfAy3Vg=; b=gqJYkFxhUWYqIFlkcrwrTdNmlPrbrCdwpLiTvzIzGmxHQmlriPLMvBTgN+JPLaXRqn xiKKBX2CrFLKYFn1VSnEWc2HYNjQ5mTmbtVZ4hKugnXzH+dLp9eEvlCjTF7RtQBaHKgT ye/9ynep2K1cIkKT1BFRnaEY29IPiZdF0rHVzqXjFU61iptINUVgM1Na/hENkwZSQEX7 Kc0QGKRxrcmIPt6ntV6SAJAGCMpyWH6IGh3KxPmMqUJQVawU6Yc8NE0PY5ReV/pGhj82 JPIZZTh2GFqSk0Jyec5hkVG+exOyVIgvrK/Ow7+nXsLBQpWUTlqkame4vzkGZqAdadHC pPfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=P8ZVz+MSU/Avll4FN9IcAHyBG0uutLNxsrF1YfAy3Vg=; b=sEzOr30XNi/yky/C5NpbEdO98+EXscYliIyrllqoOYqrReJTS24T98mgNjaOb8nJFW /kdQLNoLx3UAAZmC6w/Jdhzjxm4SCugMaureNTsjflGgxoc6Q7vIJ/LXhQHfkrsdLTxr FtsqSEIyrHs34apmOyX5kvvv/sYmyo5Qcubj9kuvkKWRSibQIX2hdHvKqlA1+VfRNZDw 2mj+09znsJqOFirEZpjfTaeEXFanhqGGVyo9iJYem/lJoe1X4qk2d7d/JoPY2d7/PJam 5sINjMzZ/VG1GaNFZl3PlZApdeau3UjpDuop38im/QTolRSyFGUreFRbaOo7KQwyUZQ9 h4Gg== X-Gm-Message-State: AOAM5314sTqtfG6LjXY6iSgMQnEClblBD1PqbkLTwYg4G2drMCKqA5RI DIYQiR1XJqMaCIpr8UUF6qmP12JmyTShF99F X-Google-Smtp-Source: ABdhPJx+uD9UjgNBhsNYF6AcirzRBMds2fcwD0igSM+iJ0MJJulcY1PGhqZsbfsfAwfbizqgyO+JWA== X-Received: by 2002:a05:6214:d66:: with SMTP id 6mr1135898qvs.85.1640028815953; Mon, 20 Dec 2021 11:33:35 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id f8sm15634337qtk.1.2021.12.20.11.33.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Dec 2021 11:33:35 -0800 (PST) Message-ID: <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> Date: Mon, 20 Dec 2021 14:33:34 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> From: Philip McGrath In-Reply-To: <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/18/21 20:02, Liliana Marie Prikler wrote: > Am Samstag, dem 18.12.2021 um 17:55 -0500 schrieb Philip McGrath: >> somewhat, but it was immensely helpful to be able to find in node- >> xyz.scm all of the packages that wanted, but did not have, node-debug. >> I imagine it would be even more useful in a more tangled dependency >> graph. > That might be beneficial in your particular use case here, but you also > have to think about the maintenance burden your mechanism introduces. > What if another leftpad happens and we have to speedrun our core- > updates cycle to add #:absent-dependencies everywhere? I don't understand the scenario you have in mind here. As I remember/understand the left-pad debacle, the package was deleted from the NPM registry by its author. I don't understand how that would require changes to Guix package definitions. Hopefully, Software Heritage would save the day. Perhaps Guix would choose to provide an alternate, compatible package implementing that single, trivial function, but we could do that by just changing the definition of the hypothetical Scheme variable `node-left-pad`. Eventually, downstream packages would presumably make changes, but we'd have to address those changes anyway when updating those packages. Even if I assume a scenario that is going to be fixed by removing a hypothetical `node-left-pad` packages from all the packages to which it is an input, that would change O(n) lines of code: having to change #:absent-dependencies in all cases would just be O(2n) lines, which doesn't seem prohibitive. Indeed, I think I would be glad to have an entry in #:absent-dependencies in such a case, communicating explicitly in the Guix repository that the package was affected and Guix packagers adopted a workaround. If I'm later updating the package, I can check to see if the workaround is still needed or if upstream has dropped node-left-pad. In any case, I much prefer to have this written explicitly in code in the Guix repository, rather than relying on external mechanisms like build logs and upstream source files. Additionally, I think the use case I encountered with node-debug is likely to come up fairly often. For example, someone might notice that a lot of packages use `node-tap` for testing, package it for Guix, and then want to find all of the downstream packages to which to add it and enable tests. >> I think we should optimize for the kind of high-quality packages we >> aspire to have in mainline Guix, where eventually we hope to have all >> sufficiently useful libre Node.js packages available. In that case, >> #:absent-dependencies makes it explicit when Guix packagers are >> overriding an upstream decision. While we work to achieve that reality, >> I think #:absent-dependencies is a much better place for a to-do list >> than having to search build logs or source "package.json"s. However... > Compare this to tests. We have a keyword to disable all tests, which > defaults to #f and we have other idioms for disabling particular tests. > Your use case is no different. If at all, we should only have a > keyword to disable the check completely and other idioms to e.g. patch > the package.json file so that sanity-check/patch-dependencies/what- > have-you doesn't error when it relies on its contents. I don't mean to be dense, but I feel like I'm missing something. I assume the reason we don't have a declarative, high-level mechanism for disabling specific tests is that there isn't a general convention for doing that, AFAIK. We do have `#:configure-flags`, which can be used to pass things like `--disable-whatever`, even though, in principle, that could be done by replacing the configure phase. I see #:absent-dependencies as similar: it provides, IMO, a readable, declarative mechanism to make a commonly-needed adjustment to the behavior of the patch-dependencies phase. >> I can see the use of a "warn" mode for hacking things together quickly >> without having to totally delete configure. I think this could coexist >> with #:absent-dependencies and could be done in a follow-on to this >> patch series. >> --8<---------------cut here---------------start------------->8--- >> (if (or (member key absent-dependencies) >> (and (memq 'infer absent-dependencies) >> (not (hash-ref index key #f)))) >> acc >> (acons key (hash-ref index key value) acc)) >> --8<---------------cut here---------------end--------------->8--- > You're actively making the code that resolves dependencies worse to > look at only to keep the keyword. Don't. There are tools besides a > hammer. > >> Would that meet your objective? > No. As I repeatedly pointed out, I want either no keyword addition for > this "feature" or a keyword that can be regarded as essentially boolean > if not outright implemented as one. > > Reading this again, the existing lines already do what I want (hash-ref > index key value) spits out value as a default if key is not found. So > the solution is to not touch patch-dependencies at all; we don't have > to abuse a function that's not meant for sanity checking to check > sanity. To clarify, I thought you wanted `node-build-system` to issue a warning and drop dependencies not supplied as package inputs. Is that correct? In the existing code, if `key` is not found and `value` is returned, the configure phase (i.e. `npm install`) will always fail. (The name `patch-dependencies` may be a little vague about the actual purpose of this phase.) >> We never change APIs gratuitously. > In my personal opinion, #:absent-dependencies would be a gratuitous > change in API. There's no need to have this in the build system. We > should rather look into ways that make it possible/easy for users to > patch the package.json file between unpack and configure. I don't think adding #:absent-dependencies is a breaking change in the API at all. Any package that builds currently should continue to build with #:absent-dependencies support added, and indeed with this entire patch series. > This also calls back to my earlier point of the assoc-set! being out of > place, which itself is also a manifestation of node-build-system not > exposing adequate primitives towards rewriting essential files. For > instance, the procedure > > (lambda (file proc) > (with-atomic-file-replacement file > (lambda (in out) > (write-json (proc (read-json in)))))) > > would probably deserve its own name and export from node-build-system. > Yes, you can export utility procedures from (guix build *-build- > system), look at the Emacs and Python build systems for example. I do agree that we should provide more utilities for transforming "package.json" in general ways. It would be nice to make such transformations at least as convenient as more fragile ones using `substitute*`. But, as I wrote earlier, that seems out of scope for this patch series. > > With this in place, we both get to have our cakes and eat it too. > There would be no keyword added, and package maintainers would drop > "absent" dependencies in a phase like so > > (add-after 'unpack 'drop-dependencies > (lambda _ > (with-atomic-json-replacement "package.json" > (lambda (json) > (map (match-lambda > (('dependencies '@ . DEPENDENCIES) > (filter away unwanted dependencies)) > (('devDependencies '@ . DEPENDENCIES) > (same)) > (otherwise otherwise)) > json))))) > > Of course, if that's too verbose, you can also expose that as a > function from node-build-system. Then all we'd have to bikeshed is the > name, which would be comparatively simple. > > Does that sound like a reasonable plan to you? I'm not sure how to proceed here. I still think the #:absent-dependencies keyword, with or without a "warn" mode, is the best approach. It has sounded like others on this thread also liked the approach, though I don't want to speak for anyone but myself. I can understand that you would prefer a different approach. I can see how a warn-and-ignore could be useful in some cases. My last proposal was an attempt at a compromise, showing how adding #:absent-dependencies would not preclude adding support for a warn-and-ignore mode later. But the impression I'm getting is that you think the #:absent-dependencies approach would be not merely sub-optimal but actively harmful, and, if that is indeed your view, I feel like I'm still failing to understand what the harm is. If we took your final suggestion above, I think we'd have something like this: ``` #:phases (modify-phases %standard-phases (add-after 'unpack 'delete-dependencies (make-delete-dependencies-phase '("node-tap")))) ``` That seems pretty similar to, under the current patch series: ``` #:absent-dependencies '("node-tap") ``` I can see pros and cons to both approaches. I still like `#:absent-dependencies` better, as I find it less verbose, more declarative, ... trade-offs we probably don't need to rehash further. But it sounds like you see a huge, prohibitive downside to `#:absent-dependencies`, and I am just not managing to see what that is. I don't know what further steps to take to resolve this disagreement or how some decision ultimately gets made. More broadly, I agree with you that the current `node-build-system` has some ugly code and is missing some useful utility functions. But I don't feel like I can address all of those preexisting issues in the scope of this patch series, which has already become somewhat unwieldy. Maybe someone else could weigh in on how to proceed? -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 14:55:00 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 19:55:01 +0000 Received: from localhost ([127.0.0.1]:51527 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzOkO-0002WP-GP for submit@debbugs.gnu.org; Mon, 20 Dec 2021 14:55:00 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:39775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzOkM-0002WC-Nm for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 14:54:59 -0500 Received: by mail-wr1-f67.google.com with SMTP id s1so16888890wra.6 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 11:54:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=KsQs1K4+k3izBG1rLvVNQvOr9LCECFxeX0XWXLIsxNA=; b=LM3ol8Nj5gJG/Pyk77x2RfFHzXoAPO+vxLQakOnzmxKxEXN46VNvkMZxoWUShAe6ea F2kYqGQaqoJ4dGbc3pkzzXz7PUvjifmQnKwkIoqyUCk1UTEAKmuWZwJrR0IfyLj1Idn2 rncgMPGNvq5brVGbFPQMA2eZkPC694gh0ZQ5fuoM+YHIFOOw/ai0ylRUX5Ntoc+kfGwO 9pecDAARocnnPR01hqO10rAFAO89rnX3sTmLHEpLHkXFf5wgo44HAgVAxWeACO8H1rhV V0bgMMtWY7MxC1zolWXUrT3Epfj088tuhrfYlx8vPxYEgSX5QIE2Sl3Yuvn7/1WgJ3vb uydg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=KsQs1K4+k3izBG1rLvVNQvOr9LCECFxeX0XWXLIsxNA=; b=DLWtxb8qb2Ou/5IsECSDTYA8VG66X8UyXDfYtFnk72H+DC64qvkkNpa8Msx9PMc9k/ GnpoRH/8oACMdv43Q85VYJ5+1G8UrEqBUQ8Gxr/RN6ArrLi081+AWh+R3lMVxBqDlFRh ruXSMBASt+m2CqaHyvozRvq9FhlARDYc6elIS0gFxg/+U1NE1nyWKpjd+i2mn3cksxWN aIn2fOHHkwQvay/xH/fQeu4IC7A+laiCMeFVcVdVIANcDeylxQ1Atm15s6wjaAjIsZTM TjtgJjuT7i3u7CnlAaoFOJIak+hZvq+ywTFU+Z2/Cre9gTn04NrzBtGwPORRcVWKp8q9 uCGw== X-Gm-Message-State: AOAM532WtfQ5F7vZt7VDw36giIo1UYWLAf7IAA7JF3VhcSM7mBY4U822 NJk39uko2rOJZqU+kj6P6G4= X-Google-Smtp-Source: ABdhPJyB6pXHcwE+Nh6F+k5TuIR11nRXyzLS+gbQTQT0xdLgoWntBeurxcZpYvYOf61/oY8ug7+vgw== X-Received: by 2002:adf:ba8b:: with SMTP id p11mr10959725wrg.390.1640030092766; Mon, 20 Dec 2021 11:54:52 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b13sm16843014wrh.32.2021.12.20.11.54.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 11:54:52 -0800 (PST) Message-ID: <60154db1c83f2f21368fbd3157929f66c916da52.camel@gmail.com> Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Mon, 20 Dec 2021 20:54:50 +0100 In-Reply-To: <4fead57b-66f0-a0e8-cf3b-a65a8ecba1b2@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> <4fead57b-66f0-a0e8-cf3b-a65a8ecba1b2@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Montag, dem 20.12.2021 um 13:03 -0500 schrieb Philip McGrath: > I definitely am not understanding what you have in mind here. When > you write "strip the @", I'm not sure what you're referring to, > because there are multiple "@" tags here, one beginning each JSON > object. (Maybe this is obvious, but it hadn't been obvious to me.) I'm referring to this part: > + (define (resolve-dependencies meta-alist meta-key) > + ;; Given: > + ;; - The alist from "package.json", with the '@ unwrapped > + ;; - A string key, like "dependencies" > + ;; Returns: an alist (without a wrapping '@) like the entry in > + ;; meta-alist for meta-key, but with dependencies supplied > + ;; by Guix packages mapped to the absolute store paths to use. > + (match (assoc-ref meta-alist meta-key) > + (#f > + '()) > + (('@ . orig-deps) > + (fold (match-lambda* > + (((key . value) acc) > + (acons key (hash-ref index key value) acc))) > + '() > + orig-deps)))) You could simply write the function s.t. (resolve-dependencies DEPS) takes an alist and then produces an alist of resolved dependencies. Because you don't, you need to code around that quirk down in the file replacements. You can safely access the dependencies using (or (and=> (assoc "dependencies" json) cddr) '()) in the calling code. If you replace "dependencies" by a generic KEY, you can also outline that into a helper function. > So, the (guix build json) representation of a "package.json" file > might look like this: > > ``` > `(@ ("name" . "apple") >      ("version" . "1.0") >      ("dependencies". (@ ("banana" . "*") >                          ("pear" . "*"))) >      ("devDependencies" . (@ ("peach" . "*") >                              ("orange" . "*"))) >      ("peerDependencies" . (@ ("node-gyp" . "7.x"))) >      ("peerDependenciesMeta" . (@ ("node-gyp" . (@ ("optional" . > #t))))) >      ("optionalDependencies" . (@ ("node-gyp" . "7.x")))) > ``` Note that '("dependencies" . (@ ("banana" . "long") ("pear" . "*"))) is equal to '("dependencies" @ ("banana" . "long") ("pear" . "juicy")). > An unfortunate consequence of this representation is that JSON > objects are not usable directly as association lists: some procedures > expecting association lists seem to silently ignore the non-pair at > the head of the list, but I don't think that's guaranteed, and other > procedures just don't work.  There are sloppy variants of the assoc functions, but again, you are looking at this from the wrong angle. Just ignore that you have a JSON object and pass the alist to resolve-dependencies, then reconstruct a JSON object from the result. ezpz > In particular, `append` applied to two JSON objects does not produce > a JSON object, even ignoring the problem of duplicate keys. I think we can ignore that for now, but if it bugs you you can convert to hash table and back or at least assert that the keys are unique. > Given that the current code adds "peerDependencies" as additional > "dependencies", the choice (as I see it) is between the current > approach, in which `resolve-dependencies` returns genuine association > lists and the `let*` block turns them JSON objects, or changing > `resolve-dependencies` to return JSON objects and implementing > `json-object-append`, which doesn't seem obviously better, unless it > were part of broader changes.  The return value of resolve-dependencies is okay imo. It's the calling convention that is not. > (As an aside, I am not convinced that the current handling of > "peerDependencies" is right, but I think reevaluating that behavior > is out of scope for this patch series, and particularly for this > patch, in which, as Tim said in  > , my goal was merely to make > the use of `assoc-set!` safe.) I agree that we can ignore the semantics of peerDependencies for now and we may even be able to look aside the use of assoc-set! (although for the purpose of making it easier for the user to rewrite those files on their own as I laid out before, it might still make sense to drop that use regardless, leading by example). > But I think those improvements are out of scope for this patch > series. I don't. Particularly, the current implementation quirks appear to be the sole reason you came up with the solution of #:absent-dependencies, which for the record I still disagree with. We can lay down a better foundation to rewrite JSON data in node-build-system and should export functions that are necessary to do so in build-side code if they're not already part of core guile or other imports. > It seems like much more discussion would be needed on what the > improvements should be, and potentially coordination with other users > of (guix build json). Personally, I'd want to represent JSON objects > with a real immutable dictionary type that gave us more guarantees > about correctness by construction. If we continue with tagged > association lists, we should write a little library of purely > functional operations on JSON objects. But that all seems very far > afield. I'll have to say non sequitur to that. The functionality we require to efficiently rewrite JSON can perfectly be built on top of (a)list primitives and pattern matching, both of which are available to be used in build-side code. We could even throw in SXML if we needed, not that we do. There is really no need to code up yet another set of JSON primitives just to write "hello, world". If you absolutely require it, though: (define json-object->alist cdr) (define (alist->json-object alist) (cons '@ alist)) Magic. Cheers From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 15:16:01 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 20:16:01 +0000 Received: from localhost ([127.0.0.1]:51549 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzP4j-00035Q-FM for submit@debbugs.gnu.org; Mon, 20 Dec 2021 15:16:01 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:38499) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzP4g-000357-C1 for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 15:16:00 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 35CC05C025B; Mon, 20 Dec 2021 15:15:51 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Mon, 20 Dec 2021 15:15:51 -0500 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=fm1; bh=oPfNCRyVKDuHD7G5XrNh9+YnBLEoGIPozo2U4m0R+ BU=; b=SWLZT70Sz/Ab7fcNzpwRMNsD3p0ZHsNkHGpHYNzJsaW/Jmu/XjafdI821 gCIcMnXY/BK6e9Mi3e0+Tvl2GVA+mDG9y8opQIJSm63g5vui3zxiji4R3nbXLhG2 quD5/5+PLbHCZ425lglTQmP5b3I2MkXC5APc9k3vdfl93GN6/MyBJsCXXQWrh+Mq OdxZnnLKykLcUot7RH2q1Z/MsPyE1ShdVaZBDTIzTxTf8qijrH+Bkpo5igIFbaFl 09mKdlVw9pOz61fYrxbO1qZAEMTvgH0uvZGNXRGlcjsajAPy2iFgAKYFQfmXitZ2 2Q3oSv5vOVs4kbMuLtV4vbxCoVZRg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddruddtvddgudefhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufhffjgfkfgggtgfgsehtqhertddtreejnecuhfhrohhmpefvihhm ohhthhihucfurghmphhlvgcuoehsrghmphhlvghtsehnghihrhhordgtohhmqeenucggtf frrghtthgvrhhnpeeiudeuhfeggeelleevheegudfguefhieekffdtveeilefglefhvddt gfeiheetgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehsrghmphhlvghtsehnghihrhhordgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 20 Dec 2021 15:15:50 -0500 (EST) From: Timothy Sample To: Philip McGrath Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> Date: Mon, 20 Dec 2021 15:15:48 -0500 In-Reply-To: <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> (Philip McGrath's message of "Mon, 20 Dec 2021 14:33:34 -0500") Message-ID: <87r1a7118r.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Philip, Philip McGrath writes: > If we took your final suggestion above, I think we'd have something > like this: > > ``` > #:phases > (modify-phases %standard-phases > (add-after 'unpack 'delete-dependencies > (make-delete-dependencies-phase '("node-tap")))) > ``` I=E2=80=99m perfectly happy with this if it=E2=80=99s a compromise we all c= an agree on. It is exactly what popped into my imagination when I read Liliana=E2=80=99s suggestion. I guess the one thing missing is that it would not necessarily be implemented on top of better =E2=80=9Cpackage.json=E2=80=9D = manipulation support. That said, it doesn=E2=80=99t preclude providing that support if/= when the need arises. > I don't know what further steps to take to resolve this disagreement > or how some decision ultimately gets made. > > Maybe someone else could weigh in on how to proceed? I=E2=80=99m probably not =E2=80=9Csomeone else=E2=80=9D enough at this poin= t, but I guess we can ask the maintainers to weigh in/help facilitate. We try to move forward by consensus, and maybe replacing the keyword with a phase-making procedure will get us there. Liliana, what do you say? Have we found an approach we can agree on? If not, I think that we=E2=80=99re probably s= tuck and will need some fresh voices to move forward. -- Tim From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 16:50:43 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 21:50:43 +0000 Received: from localhost ([127.0.0.1]:51626 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzQYM-0007oq-JN for submit@debbugs.gnu.org; Mon, 20 Dec 2021 16:50:43 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:36750) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzQYK-0007ob-00 for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 16:50:41 -0500 Received: by mail-wr1-f66.google.com with SMTP id r17so22454588wrc.3 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 13:50:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=kmS/ctm/y+rcbOfP/rINgCv8yK0V2MsiCDibsZkJ7y0=; b=KePut9FdoNd4AMOnwKAw4iD+sC64ZxY4/ZwVSB5OUGbAxOJZOlvVGbj5MtTKhU2izx FsxvJ7G85vC6Jt2U5NSmIQeJHlyXXCVHWmxHh5dQDJTF4WHv7Rz8ikglwfpRWgGmvyY/ 3XcjnAbgzbME7FqY9GNI2mzlZzZsHBd6yVTQwb7E5d+iuu6hJmfLmGXW9Dkv/Ngofx8Q IIZ/Hh3830R9mDxM1IPq4Pz7qtQVuD3UV4ftOdts7gJOd0toi1dPoXet+QdNwHEOgJww hsgDPg2XbJOaSANwCvH6kL9i/kQUtwEcIOGLrX4/aE0Y1+/VMpzUQLy2iXx6N4KxxRyj Gj8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=kmS/ctm/y+rcbOfP/rINgCv8yK0V2MsiCDibsZkJ7y0=; b=Wc8xsHd4zRZhNjtU8X8pxEY1u893aNwm+RhYdqyEH7UZo4I/MbnszC+6SfXF94lLOX ILNNFnL+INWNSGnfAdTZqByOb5Zvje+EIBT6dIyztWd9NlLBIo/SKr9M97JS0IVJtyGz 4qk0PNoyjQmprXw+azap3Dt5lMHz5uoxG3yDgqosZAZa5OYgwdRQG/laBXBgMfkRlAj+ ESvDRBMq1b3l6BKFgyfW0tUG4IH6XwyAATbwjioCX4wYO47LDLx1bNSKNpV8B/0/W8Au IGQP3sLsqfaI+9EHjzMiTrtBxb4qv71YsTFOEMmVfqgOG2Tk48X0u4JraBQKCIyWynRC x1qw== X-Gm-Message-State: AOAM533skXdrrwfLyTQCV3wKhZ08dDOrGwMgOzVj/PO7jT3K/GHZRs1d tjJGd5XwujYowARILsinLC8= X-Google-Smtp-Source: ABdhPJzjeP8FRsIHvpbVfOAif95ugrSs2meuHF8Rczg1Gb1jFSVH8Tc158U6IvKWSsgdrNjVVaeGvg== X-Received: by 2002:adf:eb4c:: with SMTP id u12mr54826wrn.707.1640037033732; Mon, 20 Dec 2021 13:50:33 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id k13sm16085959wri.6.2021.12.20.13.50.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 13:50:32 -0800 (PST) Message-ID: <26fb6df72fb076ae16d4799223c326fbac0a49c7.camel@gmail.com> Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Mon, 20 Dec 2021 22:50:31 +0100 In-Reply-To: <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Montag, dem 20.12.2021 um 14:33 -0500 schrieb Philip McGrath: > Hi, > > On 12/18/21 20:02, Liliana Marie Prikler wrote: > > Am Samstag, dem 18.12.2021 um 17:55 -0500 schrieb Philip McGrath: > > > somewhat, but it was immensely helpful to be able to find in > > > node-xyz.scm all of the packages that wanted, but did not have, > > > node-debug. I imagine it would be even more useful in a more > > > tangled dependency graph. > > That might be beneficial in your particular use case here, but you > > also have to think about the maintenance burden your mechanism > > introduces. What if another leftpad happens and we have to speedrun > > our core-updates cycle to add #:absent-dependencies everywhere? > > [...] > > Even if I assume a scenario that is going to be fixed by removing a > hypothetical `node-left-pad` packages from all the packages to which > it is an input, that would change O(n) lines of code: having to > change #:absent-dependencies in all cases would just be O(2n) lines, > which doesn't seem prohibitive. Sure. While we're at it, let's add k #:absent-dependencies-esque fields, because surely the big O notation is an accurate measurement of painful monkey work. We are talking about human labour and Kolmogorov complexity here, both of which I'd like to keep low, kthxbye. > Indeed, I think I would be glad to have an entry in #:absent- > dependencies in such a case, communicating explicitly > in the Guix repository that the package was affected and Guix > packagers adopted a workaround. This might be fine and dandy if you only have one or two packages which actually need this crutch, but when you start summoning a demon from the seventh layer of hell to make your particular pattern-obsessed hello world program work, you will curse your past self for being so stubborn and not implementing something that could leverage the expressiveness of a programming language. > If I'm later updating the package, I can check to see if the > workaround is still needed or if upstream has dropped node-left-pad. > In any case, I much prefer to have this written explicitly in code in > the Guix repository, rather than relying on external mechanisms like > build logs and upstream source files. How are upstream sources not a source of truth here? If anything, you would have to always check that whatever hack you employed back then still produces a functional package and #:absent-dependencies is not helping in that. > Additionally, I think the use case I encountered with node-debug is > likely to come up fairly often. For example, someone might notice > that a lot of packages use `node-tap` for testing, package it for > Guix, and then want to find all of the downstream packages to which > to add it and enable tests. Whoever contributes node-tap will not be responsible to update any package that might want to take advantage of it. They can go out of their way to add it, but the idea, that "I have to update 300 packages in each and every patch set" is flawed from the get-go. We can rely on the community's collective brain to either remember in the future that node-tap was optional for some package and add it or to not care. Whether they are aided by comments or glorified comments (or not) makes little difference at that point. > > Compare this to tests.  We have a keyword to disable all tests, > > which defaults to #f and we have other idioms for disabling > > particular tests. Your use case is no different.  If at all, we > > should only have a keyword to disable the check completely and > > other idioms to e.g. patch the package.json file so that sanity- > > check/patch-dependencies/what-have-you doesn't error when it relies > > on its contents. > > I don't mean to be dense, but I feel like I'm missing something. I > assume the reason we don't have a declarative, high-level mechanism > for disabling specific tests is that there isn't a general convention > for doing that, AFAIK.  At least within GNU build system there's the convention of passing TESTS="subset of tests you want" to your invocation of make check. The meson code could also be adapted to such a use-case. It still doesn't make sense to do so. > We do have `#:configure-flags`, which can be used to pass things like > `--disable-whatever`, even though, in principle, that could be done > by replacing the configure phase.  Guess what, even with #:configure-flags, we have to replace the configure phase to *only* use #:configure-flags in certain packages. Then again, if node supported --without-left-pad, we wouldn't be here discussing #:absent-dependencies, would we? > I see #:absent-dependencies as similar: it provides, IMO, a readable, > declarative mechanism to make a commonly-needed adjustment to the > behavior of the patch-dependencies phase. "Readable" is quite a stretch here. I prefer "parseable boilerplate". What's more readable? (#:strict? #f) ; node-tap... (#:absent-dependencies '("node-tap" "node-tap-the-cloud" "node-tap- more" "node-tap-pat" "node-tap-atapter" "node-tap-left-pad" [...])) > To clarify, I thought you wanted `node-build-system` to issue a > warning and drop dependencies not supplied as package inputs. Is that > correct? > In the existing code, if `key` is not found and `value` is returned, > the configure phase (i.e. `npm install`) will always fail. (The name > `patch-dependencies` may be a little vague about the actual purpose > of this phase.) Both statements are correct. My first suggestion was indeed to just issue a warning, but after thinking about it harder, I feel as though it shouldn't even be the responsibility of the patch-dependencies phase to act as a generic json rewriting tool. The `patch-dependencies' phase is simply named that because we're not Java and thereby have no moral obligation to name it patchDependenciesAndWhileYoureAtItAlsoInlineDevDependenciesIntoTheMainT hingKThxBye. Back then, I thought that rewriting the package.json to reflect the inputs during build ought to be the simple and correct choice, but I do agree that at certain times you might also be right and deleting a single dependency from the tree is the correct option. So I think we have a problem for which there cannot be a high-level solution in the build system and we need to write #:phases into the packages, not the build system. The build system does need to provide some primitives to make that simple, though, e.g. with-atomic-json-replacement. > > > We never change APIs gratuitously. > > In my personal opinion, #:absent-dependencies would be a gratuitous > > change in API.  There's no need to have this in the build system.  > > We should rather look into ways that make it possible/easy for > > users to patch the package.json file between unpack and configure. > > I don't think adding #:absent-dependencies is a breaking change in > the API at all. Any package that builds currently should continue to > build with #:absent-dependencies support added, and indeed with this > entire patch series. Merriam-Webster defines gratuitous as "don't fucking quote Merriam- Webster during code review". Your patch might itself not break anything, but the patch to remove it and update it with something better will. And as an armchair software architect, I sit firmly in the "do it right the first time" camp. > > This also calls back to my earlier point of the assoc-set! being > > out of place, which itself is also a manifestation of node-build- > > system not exposing adequate primitives towards rewriting essential > > files. For instance, the procedure > > > >    (lambda (file proc) > >      (with-atomic-file-replacement file > >        (lambda (in out) > >          (write-json (proc (read-json in)))))) > > > > would probably deserve its own name and export from node-build- > > system. > > Yes, you can export utility procedures from (guix build *-build- > > system), look at the Emacs and Python build systems for example. > > I do agree that we should provide more utilities for transforming > "package.json" in general ways. It would be nice to make such > transformations at least as convenient as more fragile ones using > `substitute*`. But, as I wrote earlier, that seems out of scope for > this patch series. If this is out-of-scope for the series, then so is #:absent- dependencies. Please rewrite your series to not require a keyword addition then and have fun building your new packages with substitute*. I'm really not trying to be mean here in holding back your patch without good reason, but I do think that there's enough things to fix to require a v6 (perhaps even a v7, but let's stay optimistic) before we can upstream this in good conscience. There's also the fact, that (as Jelle pointed out) we've discussed more than we've written patches. If I wanted to dictate a solution here, I could easily have submitted a v6 on my own at some time during review, but in my personal opinion that doesn't help much in reaching a consensus. > > With this in place, we both get to have our cakes and eat it too. > > There would be no keyword added, and package maintainers would drop > > "absent" dependencies in a phase like so > > > >    (add-after 'unpack 'drop-dependencies > >      (lambda _ > >        (with-atomic-json-replacement "package.json" > >          (lambda (json) > >            (map (match-lambda > >                   (('dependencies '@ . DEPENDENCIES) > >                    (filter away unwanted dependencies)) > >                   (('devDependencies '@ . DEPENDENCIES) > >                    (same)) > >                   (otherwise otherwise)) > >                 json))))) > > > > Of course, if that's too verbose, you can also expose that as a > > function from node-build-system.  Then all we'd have to bikeshed is > > the name, which would be comparatively simple. > > > > Does that sound like a reasonable plan to you? > > I'm not sure how to proceed here. > > I still think the #:absent-dependencies keyword, with or without a > "warn" mode, is the best approach. It has sounded like others on this > thread also liked the approach, though I don't want to speak for > anyone but myself. > > I can understand that you would prefer a different approach. I can > see how a warn-and-ignore could be useful in some cases. My last > proposal was an attempt at a compromise, showing how adding > #:absent-dependencies would not preclude adding support for a warn- > and-ignore mode later. > > But the impression I'm getting is that you think the > #:absent-dependencies approach would be not merely sub-optimal but > actively harmful, and, if that is indeed your view, I feel like I'm > still failing to understand what the harm is. #:absent-dependencies is brittle boilerplate and at the same time extremely limited. My initially suggested "warn, not fail" is somewhat less limited and not boilerplate, but still brittle in another way (giving gratuitous runtime errors). Adding a phase opens up all the power of Guile Scheme, making the package exactly as sensitive to errors as you want it to be, plus it requires only minimal change in the API in the form of more exported functions, but no changed calling conventions. There ought to be no question as to which option is the superior one here :) > If we took your final suggestion above, I think we'd have something > like this: > > ``` > #:phases > (modify-phases %standard-phases >    (add-after 'unpack 'delete-dependencies >      (make-delete-dependencies-phase '("node-tap")))) > ``` > > That seems pretty similar to, under the current patch series: > > ``` > #:absent-dependencies '("node-tap") > ``` That is the point, but please don't add a function called "make-delete- dependencies-phase". We have lambda. We can easily add with-atomic- json-replacement. We can also add a "delete-dependencies" function that takes a json and a list of dependencies if you so want. So in short (add-after 'patch-dependencies 'drop-junk (lambda _ (with-atomic-json-replacement "package.json" (lambda (json) (delete-dependencies json '("node-tap")))))) would be the "verbose" style of disabling a list of dependencies. > I can see pros and cons to both approaches. I still like > `#:absent-dependencies` better, as I find it less verbose, more > declarative, ... trade-offs we probably don't need to rehash further. > But it sounds like you see a huge, prohibitive downside to > `#:absent-dependencies`, and I am just not managing to see what that > is. If you want something that's not verbose and declarative, implement #:strict? #f. #:absent-dependencies is extremely verbose for what it achieves, particularly when we think about the implementation as well. > I don't know what further steps to take to resolve this disagreement > or how some decision ultimately gets made. > > More broadly, I agree with you that the current `node-build-system` > has some ugly code and is missing some useful utility functions. But > I don't feel like I can address all of those preexisting issues in > the scope of this patch series, which has already become somewhat > unwieldy. > > Maybe someone else could weigh in on how to proceed? To be clear, I never demanded you fix all the bad code in node-build- system or something like that. I only pointed out issues, which are adjacent to the patch set at hand and more importantly those that we could "easily" fix with tools that we already have at our disposal. Perhaps I am misjudging the difficulty of some tasks involved here, but I haven't really seen a call for help in your replies. If you do think I'm pushing unfair amounts of work onto you, please say so. If not, then happy hacking :) From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 17:00:18 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 22:00:18 +0000 Received: from localhost ([127.0.0.1]:51650 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzQhe-00085Y-Fz for submit@debbugs.gnu.org; Mon, 20 Dec 2021 17:00:18 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:56054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzQhc-00085J-Cj for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 17:00:17 -0500 Received: by mail-wm1-f65.google.com with SMTP id c66so4074997wma.5 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 14:00:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=OUdsWrmKQ7ArdHkMHwfKsUeQXOnyLagd0tsmsXF1iHE=; b=q1NpvIlU/J2k72jtpxgO5jZfhmxFXknciiJ9V8nOifg7wQu+M+XeiZwOyU+EyJCzgn EypqLwFdIbn4Xd0DZVgfTF3KJtEZnY/LUasCBfwaL0Hl1bsfEchIRaXl59lvjCoHBspc Tu5kCjSepZhD7StEDA91UefmKbdKP3mnfd4qbxMd2xANCsEHmoy4UPppijOwchakRSpI 2nGoflXT9QW8HDLj30fw/FyJ8mDu0M6iMxIELpSb2keVPKgKBEAY3r3W8HQyrIdsyzl5 Y+CRlN/1deHcDuU1KTMoeZyAn32R79gfw0WphvRHiMVAEmYG/DSMkBRRny6QWxujPvF2 Kagw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=OUdsWrmKQ7ArdHkMHwfKsUeQXOnyLagd0tsmsXF1iHE=; b=T/Jh4dBhcBuzOAwVO9oLRlakNPRIidKoMg0c9MPQhZltzwaB+n1hRm0YZZvNgTBpzL QRiULw08lwrtWsLcoNd74ic2O0sSScj6vbW8ixgyb/pESWUN9GH2c0bLcv29j2HflopX 7ORE8YIWqqbjRtgJQQXZcI/EvXZcAjV+Ppq+JFlfZC2tMy3M/T5mrW6T28nMguAnw7Hn RwUidZ5o4zCAsPLC/EJjDKAqerS8aRczy8uAY7kH0BNzXjBLJBJYmnO/RjLzA+EAyQ0/ fhJtYs/arZnTXAbmlAlGMt3S8F5qtrElJX5XMNO2tsFd5iGBSIIauD1mgIPAO8J4Afa3 Z1Kw== X-Gm-Message-State: AOAM5302vwY8VaVKtHAou4p0xb84F6LEOUHOU65EjVE1dy7KidS+f9Pm EZI1qsafQnoTNitgEzT5qzQ= X-Google-Smtp-Source: ABdhPJwXmp/V5Lg+sRbEuX1q2QLZpJeDveuf0VAFrVkSj1BrHzis4BsNwwmvyz8vLtXCR+5R1jIX3w== X-Received: by 2002:a1c:2049:: with SMTP id g70mr21898wmg.185.1640037610456; Mon, 20 Dec 2021 14:00:10 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b132sm522387wmd.38.2021.12.20.14.00.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 14:00:09 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Timothy Sample , Philip McGrath Date: Mon, 20 Dec 2021 23:00:08 +0100 In-Reply-To: <87r1a7118r.fsf@ngyro.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Timothy, Am Montag, dem 20.12.2021 um 15:15 -0500 schrieb Timothy Sample: > Hi Philip, > > Philip McGrath writes: > > > If we took your final suggestion above, I think we'd have something > > like this: > > > > ``` > > #:phases > > (modify-phases %standard-phases > >   (add-after 'unpack 'delete-dependencies > >     (make-delete-dependencies-phase '("node-tap")))) > > ``` > > I’m perfectly happy with this if it’s a compromise we all can agree on. > It is exactly what popped into my imagination when I read Liliana’s > suggestion.  I guess the one thing missing is that it would not > necessarily be implemented on top of better “package.json” > manipulation support.  That said, it doesn’t preclude providing that > support if/when the need arises. In my personal opinion, we would write that support first and perhaps the shorthands later. I.e. (add-after 'patch-dependencies 'drop-junk (lambda _ (with-atomic-json-replacement "package.json" (lambda (json) (delete-dependencies json '("node-tap")))))) although delete-dependencies could even be some chain of alist rewriting procedures if we wanted to be super evil. I don't think we would need to generate phases through FP, we can write them as code. > > I don't know what further steps to take to resolve this > > disagreement or how some decision ultimately gets made. > > > > Maybe someone else could weigh in on how to proceed? > > I’m probably not “someone else” enough at this point, but I guess we > can ask the maintainers to weigh in/help facilitate.  We try to move > forward by consensus, and maybe replacing the keyword with a phase- > making procedure will get us there.  Liliana, what do you say?  Have > we found an approach we can agree on?  If not, I think that we’re > probably stuck and will need some fresh voices to move forward. I personally think phase making is out of scope and we need a solid foundation first. That said, if Philip does provide both that foundation and a good reason to have a phase-making procedure, I'm willing to strike a compromise. Cheers From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 18:11:03 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 23:11:03 +0000 Received: from localhost ([127.0.0.1]:51695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzRo6-0001Un-IH for submit@debbugs.gnu.org; Mon, 20 Dec 2021 18:11:03 -0500 Received: from mail1.fsfe.org ([217.69.89.151]:49788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzRo3-0001UN-FP for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 18:11:01 -0500 From: Jelle Licht DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fsfe.org; s=2021100501; t=1640041857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Zzs4+IHiiJyplPrehchCW5ssZEYpin1SsYwji3uT0wM=; b=R7DVurG5SNYE+hjzOUGzJAsDvjVJd/hoKd8f+viNbzWr0RDCDUKc3JlP/wNNQw4114Bs+d 3pGWoP9TRP/RDdBx0N/7B1SZHwOoMXvXR1qgMqlx+Stz7blottfrcw0VcJYpqPnjE0SFth P8nT/vv4O/AUoloK1IYCmJV3Xkkpx1g= To: Liliana Marie Prikler , Philip McGrath , Timothy Sample Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. In-Reply-To: <26fb6df72fb076ae16d4799223c326fbac0a49c7.camel@gmail.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <26fb6df72fb076ae16d4799223c326fbac0a49c7.camel@gmail.com> Date: Tue, 21 Dec 2021 00:10:56 +0100 Message-ID: <86fsqmdg8v.fsf@fsfe.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hey folks, Liliana Marie Prikler writes: > Hi, > > Am Montag, dem 20.12.2021 um 14:33 -0500 schrieb Philip McGrath: >> Hi, >>=20 >> On 12/18/21 20:02, Liliana Marie Prikler wrote: >> > Am Samstag, dem 18.12.2021 um 17:55 -0500 schrieb Philip McGrath: >> > > somewhat, but it was immensely helpful to be able to find in >> > > node-xyz.scm all of the packages that wanted, but did not have, >> > > node-debug. I imagine it would be even more useful in a more >> > > tangled dependency graph. >> > That might be beneficial in your particular use case here, but you >> > also have to think about the maintenance burden your mechanism >> > introduces. What if another leftpad happens and we have to speedrun >> > our core-updates cycle to add #:absent-dependencies everywhere? >>=20 >> [...] >>=20 >> Even if I assume a scenario that is going to be fixed by removing a=20 >> hypothetical `node-left-pad` packages from all the packages to which >> it is an input, that would change O(n) lines of code: having to >> change #:absent-dependencies in all cases would just be O(2n) lines, >> which doesn't seem prohibitive. > Sure. While we're at it, let's add k #:absent-dependencies-esque > fields, because surely the big O notation is an accurate measurement of > painful monkey work. > > We are talking about human labour and Kolmogorov complexity here, both > of which I'd like to keep low, kthxbye.=20 I think we are drifting a bit off-topic here. >> Indeed, I think I would be glad to have an entry in #:absent- >> dependencies in such a case, communicating explicitly=20 >> in the Guix repository that the package was affected and Guix >> packagers adopted a workaround. > This might be fine and dandy if you only have one or two packages which > actually need this crutch, but when you start summoning a demon from > the seventh layer of hell to make your particular pattern-obsessed > hello world program work, you will curse your past self for being so > stubborn and not implementing something that could leverage the > expressiveness of a programming language. > >> If I'm later updating the package, I can check to see if the >> workaround is still needed or if upstream has dropped node-left-pad. >> In any case, I much prefer to have this written explicitly in code in >> the Guix repository, rather than relying on external mechanisms like >> build logs and upstream source files. > How are upstream sources not a source of truth here? If anything, you > would have to always check that whatever hack you employed back then > still produces a functional package and #:absent-dependencies is not > helping in that. >> Additionally, I think the use case I encountered with node-debug is=20 >> likely to come up fairly often. For example, someone might notice >> that a lot of packages use `node-tap` for testing, package it for >> Guix, and then want to find all of the downstream packages to which >> to add it and enable tests. > Whoever contributes node-tap will not be responsible to update any > package that might want to take advantage of it. They can go out of > their way to add it, but the idea, that "I have to update 300 packages > in each and every patch set" is flawed from the get-go. We can rely on > the community's collective brain to either remember in the future that > node-tap was optional for some package and add it or to not care.=20 > Whether they are aided by comments or glorified comments (or not) makes > little difference at that point. >> > Compare this to tests.=C2=A0 We have a keyword to disable all tests, >> > which defaults to #f and we have other idioms for disabling >> > particular tests. Your use case is no different.=C2=A0 If at all, we >> > should only have a keyword to disable the check completely and >> > other idioms to e.g. patch the package.json file so that sanity- >> > check/patch-dependencies/what-have-you doesn't error when it relies >> > on its contents. >>=20 >> I don't mean to be dense, but I feel like I'm missing something. I=20 >> assume the reason we don't have a declarative, high-level mechanism >> for disabling specific tests is that there isn't a general convention >> for doing that, AFAIK.=C2=A0 > At least within GNU build system there's the convention of passing > TESTS=3D"subset of tests you want" to your invocation of make check. The > meson code could also be adapted to such a use-case. It still doesn't > make sense to do so. > What are you arguing against/for?=20 >> We do have `#:configure-flags`, which can be used to pass things like >> `--disable-whatever`, even though, in principle, that could be done >> by replacing the configure phase.=C2=A0 > Guess what, even with #:configure-flags, we have to replace the > configure phase to *only* use #:configure-flags in certain packages.=20 > Then again, if node supported --without-left-pad, we wouldn't be here > discussing #:absent-dependencies, would we? > >> I see #:absent-dependencies as similar: it provides, IMO, a readable, >> declarative mechanism to make a commonly-needed adjustment to the=20 >> behavior of the patch-dependencies phase. > "Readable" is quite a stretch here. I prefer "parseable boilerplate". > What's more readable? > > (#:strict? #f) ; node-tap...=20 > (#:absent-dependencies '("node-tap" "node-tap-the-cloud" "node-tap- > more" "node-tap-pat" "node-tap-atapter" "node-tap-left-pad" [...])) > I'm guessing that's a retorical question, but I vastly prefer the second over the first because it is parseable boilerplate: - This means we could add a transformation to define package variants - This also means we could programmatically rewrite some of this code later, `guix style'-style. With the first approach you are 'stuck' with something that no sane person will ever manually refactor for any significant number of packages. >> To clarify, I thought you wanted `node-build-system` to issue a >> warning and drop dependencies not supplied as package inputs. Is that >> correct?=20 >> In the existing code, if `key` is not found and `value` is returned, >> the configure phase (i.e. `npm install`) will always fail. (The name=20 >> `patch-dependencies` may be a little vague about the actual purpose >> of this phase.) > Both statements are correct. My first suggestion was indeed to just > issue a warning, but after thinking about it harder, I feel as though > it shouldn't even be the responsibility of the patch-dependencies phase > to act as a generic json rewriting tool. The `patch-dependencies' > phase is simply named that because we're not Java and thereby have no > moral obligation to name it > patchDependenciesAndWhileYoureAtItAlsoInlineDevDependenciesIntoTheMainT > hingKThxBye. > > Back then, I thought that rewriting the package.json to reflect the > inputs during build ought to be the simple and correct choice, but I do > agree that at certain times you might also be right and deleting a > single dependency from the tree is the correct option. So I think we > have a problem for which there cannot be a high-level solution in the > build system and we need to write #:phases into the packages, not the > build system. The build system does need to provide some primitives to > make that simple, though, e.g. with-atomic-json-replacement. > >> > > We never change APIs gratuitously. >> > In my personal opinion, #:absent-dependencies would be a gratuitous >> > change in API.=C2=A0 There's no need to have this in the build system.= =C2=A0 >> > We should rather look into ways that make it possible/easy for >> > users to patch the package.json file between unpack and configure. >>=20 >> I don't think adding #:absent-dependencies is a breaking change in >> the API at all. Any package that builds currently should continue to >> build with #:absent-dependencies support added, and indeed with this >> entire patch series. > Merriam-Webster defines gratuitous as "don't fucking quote Merriam- > Webster during code review". > Your patch might itself not break anything, but the patch to remove it > and update it with something better will. And as an armchair software > architect, I sit firmly in the "do it right the first time" camp. > Too late for that I'm afraid :). >> > This also calls back to my earlier point of the assoc-set! being >> > out of place, which itself is also a manifestation of node-build- >> > system not exposing adequate primitives towards rewriting essential >> > files.=C2=A0For instance, the procedure >> >=20 >> > =C2=A0=C2=A0 (lambda (file proc) >> > =C2=A0=C2=A0=C2=A0=C2=A0 (with-atomic-file-replacement file >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (lambda (in out) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (write-json (proc (re= ad-json in)))))) >> >=20 >> > would probably deserve its own name and export from node-build- >> > system. >> > Yes, you can export utility procedures from (guix build *-build- >> > system), look at the Emacs and Python build systems for example. >>=20 >> I do agree that we should provide more utilities for transforming=20 >> "package.json" in general ways. It would be nice to make such=20 >> transformations at least as convenient as more fragile ones using=20 >> `substitute*`. But, as I wrote earlier, that seems out of scope for >> this patch series. > If this is out-of-scope for the series, then so is #:absent- > dependencies. Please rewrite your series to not require a keyword > addition then and have fun building your new packages with substitute*. I think this is an unfair assesment. > > I'm really not trying to be mean here in holding back your patch > without good reason, but I do think that there's enough things to fix > to require a v6 (perhaps even a v7, but let's stay optimistic) before > we can upstream this in good conscience. There's also the fact, that > (as Jelle pointed out) we've discussed more than we've written patches. > If I wanted to dictate a solution here, I could easily have submitted a > v6 on my own at some time during review, but in my personal opinion > that doesn't help much in reaching a consensus. > My poor T400 takes about 10 seconds to render the entire conversation, indeed. >> > With this in place, we both get to have our cakes and eat it too. >> > There would be no keyword added, and package maintainers would drop >> > "absent" dependencies in a phase like so >> >=20 >> > =C2=A0=C2=A0 (add-after 'unpack 'drop-dependencies >> > =C2=A0=C2=A0=C2=A0=C2=A0 (lambda _ >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (with-atomic-json-replacement "pa= ckage.json" >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (lambda (json) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (map (mat= ch-lambda >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (('dependencies '@ . DEPENDENCIES) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (filter away unwanted dependencies)) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (('devDependencies '@ . DEPENDENCIES) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (same)) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (otherwise otherwise)) >> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 json))))) >> >=20 >> > Of course, if that's too verbose, you can also expose that as a >> > function from node-build-system.=C2=A0 Then all we'd have to bikeshed = is >> > the name, which would be comparatively simple. >> >=20 >> > Does that sound like a reasonable plan to you? >>=20 >> I'm not sure how to proceed here. >>=20 >> I still think the #:absent-dependencies keyword, with or without a=20 >> "warn" mode, is the best approach. It has sounded like others on this >> thread also liked the approach, though I don't want to speak for >> anyone but myself. >>=20 >> I can understand that you would prefer a different approach. I can >> see how a warn-and-ignore could be useful in some cases. My last >> proposal was an attempt at a compromise, showing how adding >> #:absent-dependencies would not preclude adding support for a warn- >> and-ignore mode later. >>=20 >> But the impression I'm getting is that you think the=20 >> #:absent-dependencies approach would be not merely sub-optimal but=20 >> actively harmful, and, if that is indeed your view, I feel like I'm=20 >> still failing to understand what the harm is. > #:absent-dependencies is brittle boilerplate and at the same time > extremely limited. > My initially suggested "warn, not fail" is somewhat less limited and > not boilerplate, but still brittle in another way (giving gratuitous > runtime errors). > Adding a phase opens up all the power of Guile Scheme, making the > package exactly as sensitive to errors as you want it to be, plus it > requires only minimal change in the API in the form of more exported > functions, but no changed calling conventions. > > There ought to be no question as to which option is the superior one > here :) > To be fair, you can always add a phase (and remove existing phases), so this is a bit of a silly argument. Power of Guile Scheme and all that ;) >> If we took your final suggestion above, I think we'd have something >> like this: >>=20 >> ``` >> #:phases >> (modify-phases %standard-phases >> =C2=A0=C2=A0 (add-after 'unpack 'delete-dependencies >> =C2=A0=C2=A0=C2=A0=C2=A0 (make-delete-dependencies-phase '("node-tap")))) >> ``` >>=20 >> That seems pretty similar to, under the current patch series: >>=20 >> ``` >> #:absent-dependencies '("node-tap") >> ``` > That is the point, but please don't add a function called "make-delete- > dependencies-phase". We have lambda. We can easily add with-atomic- > json-replacement. We can also add a "delete-dependencies" function > that takes a json and a list of dependencies if you so want. > > So in short > > (add-after 'patch-dependencies 'drop-junk > (lambda _ > (with-atomic-json-replacement "package.json" > (lambda (json) (delete-dependencies json '("node-tap")))))) > > would be the "verbose" style of disabling a list of dependencies. > I think you are _really_ underestimating how many packages will need a phase like this in the future. I would agree with this approach if it were only needed incidentally, similar to the frequency of patching version requirements in setup.py or requirements.txt for python packages. Pretty much everything except the '("node-tap") list will be identical between packages; how do you propose we reduce this duplication? At this point I feel like I'm rehasing the opposite of your last point, so let me rephrase; how many times do you want to see/type/copy+paste the above snippet before you would consider exposing this functionality on a higher level? >> I can see pros and cons to both approaches. I still like=20 >> `#:absent-dependencies` better, as I find it less verbose, more=20 >> declarative, ... trade-offs we probably don't need to rehash further. >> But it sounds like you see a huge, prohibitive downside to=20 >> `#:absent-dependencies`, and I am just not managing to see what that >> is. > If you want something that's not verbose and declarative, implement > #:strict? #f. #:absent-dependencies is extremely verbose for what it > achieves, particularly when we think about the implementation as well. > This would be the equivalent to 'magically' patching out any dependency that guix can't find. I like it in principle, but how is this functionally different from the current approach of simply not checking any node dependencies by deleting the configure phase? Perhaps I misunderstood something somewhere along the way. >> I don't know what further steps to take to resolve this disagreement >> or how some decision ultimately gets made. >>=20 >> More broadly, I agree with you that the current `node-build-system` >> has some ugly code and is missing some useful utility functions. But >> I don't feel like I can address all of those preexisting issues in >> the scope of this patch series, which has already become somewhat >> unwieldy. >>=20 >> Maybe someone else could weigh in on how to proceed? > To be clear, I never demanded you fix all the bad code in node-build- > system or something like that. I only pointed out issues, which are > adjacent to the patch set at hand and more importantly those that we > could "easily" fix with tools that we already have at our disposal.=20 > Perhaps I am misjudging the difficulty of some tasks involved here, but > I haven't really seen a call for help in your replies. If you do think > I'm pushing unfair amounts of work onto you, please say so. If not, > then happy hacking :) I believe the best thing to do would be to push the earlier uncontroversial node patches. Perhaps we can get some of the gurus/victims of other build systems involved on guix-devel as none of the fundamental issues you've been talking about for a while are node-specific. As long as we want to reach some kind on consensus, I believe writing/reviewing more code does not get us to a desirable outcome at this time. - Jelle From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 18:33:27 2021 Received: (at 51838) by debbugs.gnu.org; 20 Dec 2021 23:33:27 +0000 Received: from localhost ([127.0.0.1]:51731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzS9n-000278-7P for submit@debbugs.gnu.org; Mon, 20 Dec 2021 18:33:27 -0500 Received: from mail-ua1-f52.google.com ([209.85.222.52]:44575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzS9j-00026p-LK for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 18:33:26 -0500 Received: by mail-ua1-f52.google.com with SMTP id p2so20522505uad.11 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 15:33:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=yCyj6gThuHb0z7sMFcq+V0svNxeO3S1xQeVMVlHYWUo=; b=Vn1dPA3EaYQsev+YYtV/1z9LYhQB02bp3QiN8KInmXTn66moXKatVZAmdHZG1L4TSh VUGj58+cvFbf+B+ZH019HKg729WKwtwpX8Wq7eBhBIQ6B+4Asa+x14HNkMWc1kNs7EGR XTbfO06ml/p8ldKqwxYjAQVLJIjKNbW3bklEJvjVaPjCiCLi8q/EaVpCYp+FZ4U/zegQ /rRG1nUw5Zn9baO9Lnn8J5o3xIl8bQH4RlKEx8jaypxd5Xv7ShR3SJERNuEO7yvwv9Zj BxZApqJ28zfKiNq0gGa/mT48lq5PCtl+kiR2+xbQWdHZJvBbTHiif2HXrYp7dTnvJdgG jxsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=yCyj6gThuHb0z7sMFcq+V0svNxeO3S1xQeVMVlHYWUo=; b=vCgXC9+UfNKieNH2xSWSGlvxMI5rxTKMQoJnV42KISB6hSYmSUglhtt0FzwxVkbyp3 jqouLAOBvNQyPY1Xa3GpKicVV0PgqKfhZ7R/jyOXtKz1NKJ3RvzqF5WtzXMe94Als/fB G7ZVwG9U/IT1oGX5z3iG+YIkJ7eLzXScr+5EExA68s84a+ij3rc4TJpx8yBBDcQjWlTW H+gQNyBReIg2mjuLE42Z1mUek1OjWjGE7Zpo8+pQ6ZQ4AXiPoI+lNOzeXE2s6WnKXDsE +ZjAVegTvhnzO82qwlFM3g1a0oROwdS+a37hx2M9BlVpwXceAADIGW1LTyaqVU6/8y4x +0qA== X-Gm-Message-State: AOAM531nSVh9C/502jvdzv8cn/2u6+OFWfQdePFlngzTDOLU4h+2cDzb O398e7hJ12Sd1aXOekvYCWzCog== X-Google-Smtp-Source: ABdhPJwkFywtRQjEkd4F5CUrI4CzofXOeFizH1cjzTE3B+04Wp8hoeX2kyCgvkgv3LFVbETjCsbfgg== X-Received: by 2002:a05:6102:5093:: with SMTP id bl19mr210860vsb.43.1640043197876; Mon, 20 Dec 2021 15:33:17 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id k23sm799088vsm.1.2021.12.20.15.33.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Dec 2021 15:33:17 -0800 (PST) Message-ID: Date: Mon, 20 Dec 2021 18:33:16 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Jelle Licht , Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <26fb6df72fb076ae16d4799223c326fbac0a49c7.camel@gmail.com> <86fsqmdg8v.fsf@fsfe.org> From: Philip McGrath In-Reply-To: <86fsqmdg8v.fsf@fsfe.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi Jelle, Here's a short answer to one specific question: On 12/20/21 18:10, Jelle Licht wrote: > Liliana Marie Prikler writes: >> Am Montag, dem 20.12.2021 um 14:33 -0500 schrieb Philip McGrath: >>> I can see pros and cons to both approaches. I still like >>> `#:absent-dependencies` better, as I find it less verbose, more >>> declarative, ... trade-offs we probably don't need to rehash further. >>> But it sounds like you see a huge, prohibitive downside to >>> `#:absent-dependencies`, and I am just not managing to see what that >>> is. >> If you want something that's not verbose and declarative, implement >> #:strict? #f. #:absent-dependencies is extremely verbose for what it >> achieves, particularly when we think about the implementation as well. >> > > This would be the equivalent to 'magically' patching out any dependency > that guix can't find. I like it in principle, but how is this > functionally different from the current approach of simply not checking > any node dependencies by deleting the configure phase? Perhaps I > misunderstood something somewhere along the way. One key difference between the proposed `#:strict? #f` and the current status quo of `(delete 'configure)` is that, at least as I've understood the proposal, the patch-dependencies phase would still remove the (implicitly detected) absent dependencies from the "package.json", so the configure phase would be able to run `npm install`. That would fix the problem I described back in (a month ago), and the native packages would successfully build. I think it would be a less good option for the reasons you state, and which I've argued for elsewhere, but it's important to be clear that it would solve the problem building these packages. Actually, in an ideal world, I would agree with Liliana that #:absent-dependencies ought to be out of scope for this patch series. However, the existing solution for the problem of missing dependencies---deleting the configure phase entirely---does not work for packages that need to build native add-ons. So, if I needed to solve the problem for the native add-on packages, I thought I should find a generally-applicable solution that, in my view, is an improvement for the existing packages as well. More soon, Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 22:40:25 2021 Received: (at 51838) by debbugs.gnu.org; 21 Dec 2021 03:40:25 +0000 Received: from localhost ([127.0.0.1]:51930 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzW0m-00087m-C5 for submit@debbugs.gnu.org; Mon, 20 Dec 2021 22:40:25 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:43774) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzW0k-00087Y-9K for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 22:40:23 -0500 Received: by mail-ua1-f45.google.com with SMTP id 107so21302970uaj.10 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 19:40:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=PFTXslpG5SG+BjIsNSnSLEi4XnMuhr1xHkN1k+BrCNc=; b=N4YlUzvXNmflsd8GdNwQc2ZoSQEwsSgWwrflElJw2wRgt6nM1vX3VqxYnTQ8QC+bns GrW3qhrK8DNBXdTqASd3GPfq3XGRn8SxeUzst2AmsbZQciPIA1VlOSWiPtQtretzH1UB 1rb0AC8upOTcPBcLi+M2CFAgwn8Wv++wD0lvpUpq5Gxm4mJHgy5efcA4f+4lkks+Dxcy Fb16XmSNSFhRkwPg99P0RvKbvSh94M0R/NFRuEWG53gwxMynmPtiJC4khEeMDzIabey8 deNmEzANStZ6xBmx51n06jXKfY4hbhPN39W3TT1cvSED7fRMkkC2phynmkm6StoUu86X 9xrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=PFTXslpG5SG+BjIsNSnSLEi4XnMuhr1xHkN1k+BrCNc=; b=Dvx5ho0pjeMjzvLh/frocoF+BPqNdRrprZI3TRQ43On4i7+j0CDnZ28y+rG4SQcMkB beTN3AZNzxnyxbeQBukTc0PdCMQrka4H+4RvDwdzlZfimnWuhhB7KuMQjrjjHySw27LH gqNv53T9Zu2fJAFXTIf2iR7x12dVQnKh66GQyouWWN9pYUfovCk3e+Tgt9lG0JRNfLAP oCrPUg6Svz/A+bDkQ85dnrEu2zfn970F/WS+Crj9VUEuuwmMp1escprJ8TZC1j+6hEoI o3XjB1/fM8M/L3Iw2kSpsxp8VavpZKB9MbxR4mI3EjZ0H6snjdgWCFQRwgJx7h5XoFsJ c5xQ== X-Gm-Message-State: AOAM533gNwMMExRkY3Quxvhz+GGjuy/LSM4NRGzVjVzCoUZmAp3Yi6Nk EH7X1ELw2b8c7elPXiUmsgUFzg== X-Google-Smtp-Source: ABdhPJwWf972jfuNUIP9wqEJskzyzQNdXhMcsm9Q2qe72nCKeOwizjRK2jUd3MuPVBM19PU9PoAMwA== X-Received: by 2002:a67:c31e:: with SMTP id r30mr526652vsj.67.1640058016343; Mon, 20 Dec 2021 19:40:16 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id n21sm2053744vkk.5.2021.12.20.19.40.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Dec 2021 19:40:16 -0800 (PST) Message-ID: <45723625-95b6-47e2-4e59-cc5292830520@philipmcgrath.com> Date: Mon, 20 Dec 2021 22:40:15 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 06/45] guix: node-build-system: Refactor patch-dependencies phase. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-7-philip@philipmcgrath.com> <17f63a58ea9b462e67847f9c7698a119e3915a08.camel@gmail.com> <650d1c43-8106-e7e9-5855-29cfa5f9d147@philipmcgrath.com> <9fe83c79f796bb323816d2c02e45b4277680eda0.camel@gmail.com> <4fead57b-66f0-a0e8-cf3b-a65a8ecba1b2@philipmcgrath.com> <60154db1c83f2f21368fbd3157929f66c916da52.camel@gmail.com> From: Philip McGrath In-Reply-To: <60154db1c83f2f21368fbd3157929f66c916da52.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi Liliana, On 12/20/21 14:54, Liliana Marie Prikler wrote: > Hi, > > Am Montag, dem 20.12.2021 um 13:03 -0500 schrieb Philip McGrath: >> I definitely am not understanding what you have in mind here. When >> you write "strip the @", I'm not sure what you're referring to, >> because there are multiple "@" tags here, one beginning each JSON >> object. (Maybe this is obvious, but it hadn't been obvious to me.) > I'm referring to this part: >> + (define (resolve-dependencies meta-alist meta-key) >> + ;; Given: >> + ;; - The alist from "package.json", with the '@ unwrapped >> + ;; - A string key, like "dependencies" >> + ;; Returns: an alist (without a wrapping '@) like the entry in >> + ;; meta-alist for meta-key, but with dependencies supplied >> + ;; by Guix packages mapped to the absolute store paths to use. >> + (match (assoc-ref meta-alist meta-key) >> + (#f >> + '()) >> + (('@ . orig-deps) >> + (fold (match-lambda* >> + (((key . value) acc) >> + (acons key (hash-ref index key value) acc))) >> + '() >> + orig-deps)))) > You could simply write the function s.t. (resolve-dependencies DEPS) > takes an alist and then produces an alist of resolved dependencies. > Because you don't, you need to code around that quirk down in the file > replacements. You can safely access the dependencies using > (or (and=> (assoc "dependencies" json) cddr) '()) > in the calling code. If you replace "dependencies" by a generic KEY, > you can also outline that into a helper function. > >> An unfortunate consequence of this representation is that JSON >> objects are not usable directly as association lists: some procedures >> expecting association lists seem to silently ignore the non-pair at >> the head of the list, but I don't think that's guaranteed, and other >> procedures just don't work. > There are sloppy variants of the assoc functions, but again, you are > looking at this from the wrong angle. Just ignore that you have a JSON > object and pass the alist to resolve-dependencies, then reconstruct a > JSON object from the result. ezpz To check my understanding, are you saying you'd like the code to look like this? (n.b. not tested) ``` (define* (patch-dependencies #:key inputs #:allow-other-keys) (define index (index-modules (map cdr inputs))) (define (resolve-dependencies orig-deps) (fold (match-lambda* (((key . value) acc) (acons key (hash-ref index key value) acc))) '() orig-deps)) (define (lookup-deps-alist meta-alist meta-key) (match (assoc-ref meta-alist meta-key) (#f '()) (('@ . deps) deps))) (with-atomic-file-replacement "package.json" (lambda (in out) (let* ((package-meta (read-json in)) (alist (match package-meta ((@ . alist) alist))) (alist (assoc-set! alist "dependencies" (cons '@ (resolve-dependencies (append (lookup-deps-alist alist "dependencies") (lookup-deps-alist alist "peerDependencies")))))) (alist (assoc-set! alist "devDependencies" (cons '@ (resolve-dependencies (lookup-deps-alist alist "devDependencies"))))) (package-meta (cons '@ alist))) (write-json package-meta out)))) #t) ``` I wouldn't have messed with it if I'd found it this way, but to me it does not seem obviously better. In particular, I think any benefit of simplifying `resolve-dependencies` is outweighed by `lookup-deps-alist` conflating looking up the key in the given alist with unwrapping the result, if there is one. Just to be explicit, your much more elegant code with `match-lambda` from above: > (map (match-lambda > (('dependencies '@ . DEPENDENCIES) > (filter away unwanted dependencies)) > (('devDependencies '@ . DEPENDENCIES) > (same)) > (otherwise otherwise)) > json))))) wouldn't quite be enough here: it's possible for the "dependencies" key to be absent but the "peerDependencies" key to be present, in which case, to preserve the current behavior, we still need to add the filtered/rewritten "peerDependencies" as "dependencies". >> But I think those improvements are out of scope for this patch >> series. > I don't. Particularly, the current implementation quirks appear to be > the sole reason you came up with the solution of #:absent-dependencies, > which for the record I still disagree with. We can lay down a better > foundation to rewrite JSON data in node-build-system and should export > functions that are necessary to do so in build-side code if they're not > already part of core guile or other imports. I think the current implementation quirks have almost nothing to do with my reasoning for #:absent-dependencies. It's probably true that, if it were more convenient to write phases transforming "package.json" generally, I probably wouldn't have looked into why so many existing packages were deleting the configure phase---but I think it's probably also true that, if that had been the case, those packages wouldn't currently be deleting the configure phase. Part of my point is that, even if those utility functions did exist, I would still advocate for #:absent-dependencies. Jelle's latest email covers much of my reasoning, particularly this: On 12/20/21 18:10, Jelle Licht wrote: > Liliana Marie Prikler writes: >> That is the point, but please don't add a function called "make-delete- >> dependencies-phase". We have lambda. We can easily add with-atomic- >> json-replacement. We can also add a "delete-dependencies" function >> that takes a json and a list of dependencies if you so want. >> >> So in short >> >> (add-after 'patch-dependencies 'drop-junk >> (lambda _ >> (with-atomic-json-replacement "package.json" >> (lambda (json) (delete-dependencies json '("node-tap")))))) >> >> would be the "verbose" style of disabling a list of dependencies. >> > > I think you are _really_ underestimating how many packages will need a > phase like this in the future. I would agree with this approach if it > were only needed incidentally, similar to the frequency of patching > version requirements in setup.py or requirements.txt for python > packages. > > Pretty much everything except the '("node-tap") list will be identical > between packages; how do you propose we reduce this duplication? At this > point I feel like I'm rehasing the opposite of your last point, so let > me rephrase; how many times do you want to see/type/copy+paste the above > snippet before you would consider exposing this functionality on a > higher level? On a similar note, as Jelle said elsewhere, I think #:absent-dependencies should be more amenable to programmatic code generation and transformation than a phase under `modify-phases` would be. The downside of having lambda, of course, is that some analysis is intractable or undecidable on Turing-complete (Church-complete?) code: there is a tradeoff to expressive power. > >> It seems like much more discussion would be needed on what the >> improvements should be, and potentially coordination with other users >> of (guix build json). Personally, I'd want to represent JSON objects >> with a real immutable dictionary type that gave us more guarantees >> about correctness by construction. If we continue with tagged >> association lists, we should write a little library of purely >> functional operations on JSON objects. But that all seems very far >> afield. > I'll have to say non sequitur to that. The functionality we require to > efficiently rewrite JSON can perfectly be built on top of (a)list > primitives and pattern matching, both of which are available to be used > in build-side code. We could even throw in SXML if we needed, not that > we do. There is really no need to code up yet another set of JSON > primitives just to write "hello, world". The other part of my point is that I think providing a nice set of utilities for more general JSON transformation is important enough that it should not be thrown into this patch series as an afterthought. The design is the hard part, not the code. If it's useful as an illustration (maybe it's not ...), here's a non-quirky implementation (not tested) of the interesting parts of `patch-dependencies` in Racket, with (other than the actual IO) exclusively pure functions operating on immutable data structures, which would not eliminate the benefits of `#:absent-dependencies`: ``` (λ (index absent-dependencies in out) (define (resolve-dependencies orig-deps) (for/hasheq ([{k v} (in-immutable-hash orig-deps)] #:unless (memq k absent-dependencies)) (values k (hash-ref index k v)))) (define (resolve-package-meta package-meta) (hash-update (hash-update package-meta 'devDependencies resolve-dependencies #hasheq()) 'dependencies (λ (orig-deps) (resolve-dependencies (hash-union orig-deps (hash-ref package-meta 'peerDependencies #hasheq())))) #hasheq())) (write-json (resolve-package-meta (read-json in)) out)) ``` To have a similarly pleasant API---I think we could aspire to an even better one!---the absolute minimum we'd need is a non-destructive `assoc-set`, since apparently that doesn't exist: it is, admittedly, fairly trivial. To be really convenient, though, we'd probably want `assoc-update`. But should `assoc-update` have an implicit default of `#f`, like `assoc-ref`, or raising an error, like Racket's `hash-update`/`hash-ref`/`dict-update`/`dict-ref`? Should we borrow the Racket convention whereby the "default value" can be a thunk (in which case it is called, so it could escape or build up some expensive-to-compute default value)? Or maybe `assoc-update` should take four mandatory arguments, with the update procedure last, because it will often be a long lambda expression, and the code might look more beautiful with that argument last. Maybe the default should be passed as a keyword argument! Then there's `assoc-set*`, `assoc-has-key?`, `assoc-delete`, `assoc-union` ... But wait! A big source of repetitive boilerplate is wrapping and unwrapping JSON objects with the '@ tag. If we're implementing all of these functions anyway, why not effectively compose them with: > > If you absolutely require it, though: > (define json-object->alist cdr) > (define (alist->json-object alist) (cons '@ alist)) so we can just write `jsobject-ref`, `jsobject-set`, `jsobject-delete`, `jsobject-update`, etc. directly? Insert bikeshedding about names here. But wait! Today, (guix build json) is not part of node-build-system's public API. It is not even part of the default value for #:modules (though it is in #:imported-modules). If we are ever going to change the JSON representation we use, surely we should consider it before making it public. There is a commit [1] in the history changing to use guile-json: do the reasons it was reverted "for now" [2] in 2019 still apply? And guile-json is a deprecated alias: would we want guile-json-1, guile-json-3, or guile-json-4? [1]: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8eb0ba532ebbebef23180e666e0607ea735f9c1a [2]: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=a4bb18921099b2ec8c1699e08a73ca0fa78d0486 ... and so forth. These questions do not strike me as trivially self-evident. I don't know what answers I'd come up with for all of them. Given that, even if we already had these utility functions, I still think #:absent-dependencies would be The Right Thing, I'm very reluctant to add a prerequisite of designing general "package.json" manipulation tools. -Philip From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 20 22:59:18 2021 Received: (at 51838) by debbugs.gnu.org; 21 Dec 2021 03:59:18 +0000 Received: from localhost ([127.0.0.1]:51941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzWJ3-0000AY-MV for submit@debbugs.gnu.org; Mon, 20 Dec 2021 22:59:18 -0500 Received: from mail-ua1-f54.google.com ([209.85.222.54]:34385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzWIx-0000AC-TK for 51838@debbugs.gnu.org; Mon, 20 Dec 2021 22:59:16 -0500 Received: by mail-ua1-f54.google.com with SMTP id u40so21418451uad.1 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 19:59:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=H22DkQBFuif+G224bYg3YF+FPhBgkBklDE+ECeOkVEM=; b=R4+Xsz1lyCblJOVPpcx2bU0ij+fWGql7jF4CkLlfhMGk9/RG4xlQliPZd0gvwf0F40 8S1x/dx31FXrnUYNkpCpna3H8NPyZM5MeFUKHzlB0mkM3ZmmnVA3/5e046O8YwVH3qBP TypkBfmC8kRYKbbP9sMRLy0eDndmJYLYp1P0ZXOEZJ4im9PJchff0/h4IGBJg0IocOdO FGH6AVQPYxwCRkmQ2XlTw9TMWEWOSpPL4L2PYbu/D7uFkAhe8q0Rq0w6ecaeAmqdleWr 2lQvFZEBwsTF3NgHVCHU2cPGMNuhhvq87DHflReV31WPJHHqGga0fuaGwaHZFDSwA4M9 Nanw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=H22DkQBFuif+G224bYg3YF+FPhBgkBklDE+ECeOkVEM=; b=gWxYplohQngzbmEwICzxWRk6oQCHSITM40OWUoTo4O9q/Hc8zkTp7sCDgqL9v7Lgoe Q59RLowgs1JUKT6ExkF+TwZPx8fNV7ELUWbJkeudxkF194s9l3/Bs2N4IIt6PgVUuS/s r+AaZypgW2nbVU2rnM7JsJTH2V0VFIP9zyOUuSVgNXgRU3VFDqCiz/a0lwu7PE094m8W QvmjPVyVlJnJdiy01jbRMIZhxJ8UuJJMJHH7VCtCDUVYzS5Y8oF09KXdchc/HGB/8Ocn 8kzE14RVxygAy6k3IhmIysEp8SShMjjTIrIiF6bgjLxhIFu13ow8p8COHLV1QT6qHg4o fSLA== X-Gm-Message-State: AOAM531Ym+ejxc3cNRl8xNFcHJuuTETIIdalbBsVezxtdq+9fsgiDS+A D5ilAJ5/kcKaGks3gOA9MmX2CA== X-Google-Smtp-Source: ABdhPJzvBPNj+ScoGcn5yzo46gxAH46nSpW96jCpiao/8QZ+MP0WyQXQB4bR2j0+va0LLyW+cvYfow== X-Received: by 2002:a05:6102:3a0c:: with SMTP id b12mr462198vsu.48.1640059146219; Mon, 20 Dec 2021 19:59:06 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id m25sm441027vsl.34.2021.12.20.19.59.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Dec 2021 19:59:06 -0800 (PST) Message-ID: <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> Date: Mon, 20 Dec 2021 22:59:05 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi all, On 12/20/21 17:00, Liliana Marie Prikler wrote: > Hi Timothy, > > Am Montag, dem 20.12.2021 um 15:15 -0500 schrieb Timothy Sample: >> Hi Philip, >> >> Philip McGrath writes: >> >>> If we took your final suggestion above, I think we'd have something >>> like this: >>> >>> ``` >>> #:phases >>> (modify-phases %standard-phases >>>   (add-after 'unpack 'delete-dependencies >>>     (make-delete-dependencies-phase '("node-tap")))) >>> ``` >> >> I’m perfectly happy with this if it’s a compromise we all can agree on. >> It is exactly what popped into my imagination when I read Liliana’s >> suggestion.  I guess the one thing missing is that it would not >> necessarily be implemented on top of better “package.json” >> manipulation support.  That said, it doesn’t preclude providing that >> support if/when the need arises. > In my personal opinion, we would write that support first and perhaps > the shorthands later. I could live with the above as a compromise. My reservation regarding: > > (add-after 'patch-dependencies 'drop-junk > (lambda _ > (with-atomic-json-replacement "package.json" > (lambda (json) (delete-dependencies json '("node-tap")))))) > is that `with-atomic-json-replacement` would make (guix build json)'s representation a part of node-build-system's API, which it currently is not. For the reasons I detailed in my last email, I think that would open up a larger can of worms than it might seem. Liliana, I'm not entirely certain, but my impression from: >> I’m probably not “someone else” enough at this point, but I guess we >> can ask the maintainers to weigh in/help facilitate.  We try to move >> forward by consensus, and maybe replacing the keyword with a phase- >> making procedure will get us there.  Liliana, what do you say?  Have >> we found an approach we can agree on?  If not, I think that we’re >> probably stuck and will need some fresh voices to move forward. > I personally think phase making is out of scope and we need a solid > foundation first. That said, if Philip does provide both that > foundation and a good reason to have a phase-making procedure, I'm > willing to strike a compromise. was that you would still have objections to something like: >>> ``` >>> #:phases >>> (modify-phases %standard-phases >>> (add-after 'unpack 'delete-dependencies >>> (make-delete-dependencies-phase '("node-tap")))) >>> ``` unless it came together with code like `with-atomic-json-replacement` for more general "package.json" transformations. If that's the case, then I guess we should do as Jelle suggests: On 12/20/21 18:10, Jelle Licht wrote: > I believe the best thing to do would be to push the earlier > uncontroversial node patches. > > Perhaps we can get some of the gurus/victims of other build systems > involved on guix-devel as none of the fundamental issues you've been > talking about for a while are node-specific. As long as we want to reach > some kind on consensus, I believe writing/reviewing more code does not > get us to a desirable outcome at this time. > > - Jelle > -Philip From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 21 00:20:42 2021 Received: (at 51838) by debbugs.gnu.org; 21 Dec 2021 05:20:42 +0000 Received: from localhost ([127.0.0.1]:52128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzXZq-0002MA-7D for submit@debbugs.gnu.org; Tue, 21 Dec 2021 00:20:42 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:33494) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzXZk-0002Lq-8k for 51838@debbugs.gnu.org; Tue, 21 Dec 2021 00:20:40 -0500 Received: by mail-wr1-f68.google.com with SMTP id d9so4913090wrb.0 for <51838@debbugs.gnu.org>; Mon, 20 Dec 2021 21:20:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=fExQKRmlrLz4ycayeDhbnd/b7x7RiiyFAxAwdCkexAg=; b=pG/jnrhIUfQMPZag8kfVAFj7dC1jpu7uC0NIAN8oOWXKKBNSdVV4JD2TpFFnt0CgxI WcizDsSTSl2jCvO6D454fDx3uUTUFpGHmnpqhnxl5M5MnzJJsNJ+kYxVCKmckFZs3fZJ iOOHikDPXwpt9UtNz4N8bJClZQDNXITb+vk6VTU4oGBxvdHsM6wtTwFSIiBESlw6lDW6 po5k+/+rnk8CbedNUDxrR5XL1lVsa/clnmcJ3AaDJrhdw3ZOmdC01AB2syizTo6XVCUr 6RhAlROved6EduiEWKLNAQ0RilKBmb7QNJ3b1Mq3PJ1CFSNrC4hLg0ULVA0hRclU+aKl VpqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=fExQKRmlrLz4ycayeDhbnd/b7x7RiiyFAxAwdCkexAg=; b=6vwzOqP7tb8ZzqMHnQqNJf0jF9nEMlUp8zml2uHTT9H14P/W0XyhfiC2TEIHaWOnx/ /7LFQ6ZFLzdIaSkhoKGeVtKBOezUb/g60r5RadluiOis+JAGinSGu2FrKTlQDbiErRvN MjV2tBRmJ56jtkgKpbRz+SFGrqQR6FNp01iXCltGiihMZ4nKHM+cI9kOZow6PWcg1o0y v/sPInaNwYKwQTzIwXuE5BAgA15CbZXyvO9lE6wicd3xbB54H/HbvvAtS1M6Shd9gElp VEOkpiB2zir21Zmmix3PlWKol1Wl6XsMh23xVRqSbOVyqv7VT36vy/EsVzzWx9EzAwNV fzGg== X-Gm-Message-State: AOAM530n2Yg5WuoHxX/ZHojJr+bJP3gRStZfLu9FI8bZnN8fs5wV+Hzu UjYhr7emK32LJ89ORorcvpA= X-Google-Smtp-Source: ABdhPJzKtwFHg82zhdS+8pqqU+pANT5UfWI2Q3b4UWmdnMdh7HXyUqYUj2Mf1plCK5rBXbSUox3xCA== X-Received: by 2002:a5d:4385:: with SMTP id i5mr1105786wrq.178.1640064030341; Mon, 20 Dec 2021 21:20:30 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id d2sm1245948wmb.24.2021.12.20.21.20.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Dec 2021 21:20:29 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Tue, 21 Dec 2021 06:20:28 +0100 In-Reply-To: <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, excuse my brevity, but I'll be off to work soon. Am Montag, dem 20.12.2021 um 22:59 -0500 schrieb Philip McGrath: > My reservation regarding: > > > > > (add-after 'patch-dependencies 'drop-junk > >    (lambda _ > >      (with-atomic-json-repla [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.3 RCVD_IN_VALIDITY_RPBL RBL: Relay in Validity RPBL, https://senderscore.org/blocklistlookup/ [209.85.221.68 listed in bl.score.senderscore.com] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 T_SPF_TEMPERROR SPF: test of record failed (temperror) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Hi, excuse my brevity, but I'll be off to work soon. Am Montag, dem 20.12.2021 um 22:59 -0500 schrieb Philip McGrath: > My reservation regarding: > > > > > (add-after 'patch-dependencies 'drop-junk > >    (lambda _ > >      (with-atomic-json-replacement "package.json" > >        (lambda (json) (delete-dependencies json '("node-tap")))))) > > > > is that `with-atomic-json-replacement` would make (guix build json)'s > representation a part of node-build-system's API, which it currently > is not. For the reasons I detailed in my last email, I think that > would open up a larger can of worms than it might seem. That might be a valid concern, but I'd point to the "we don't gratuitously change API" shield. Plus if we do, we'd replace our current JSON by Guile-JSON. If that has a different internal representation that would awfully break things, please do tell. > I guess we should do as Jelle suggests: > > On 12/20/21 18:10, Jelle Licht wrote: >  > I believe the best thing to do would be to push the earlier >  > uncontroversial node patches. >  > >  >[...] I did suggest that too, but note that it would only upsteam patches 1-4 of 45, as patch 5 already touches node-build-system. Patch 5 would probably be fine to go as well (can the others confirm that?), but if the goal is to push today, someone else will have to do it, as I'll be only back at night. Cheers From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 21 13:26:00 2021 Received: (at 51838) by debbugs.gnu.org; 21 Dec 2021 18:26:00 +0000 Received: from localhost ([127.0.0.1]:55627 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzjpn-0000wa-Mm for submit@debbugs.gnu.org; Tue, 21 Dec 2021 13:25:59 -0500 Received: from mail-ua1-f48.google.com ([209.85.222.48]:44563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzjpl-0000wL-AL for 51838@debbugs.gnu.org; Tue, 21 Dec 2021 13:25:58 -0500 Received: by mail-ua1-f48.google.com with SMTP id p2so25225327uad.11 for <51838@debbugs.gnu.org>; Tue, 21 Dec 2021 10:25:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=dTmxBA++B6pklG7XMmC47sG7fKk2wKOPh3jETtwazuM=; b=kJaszOn+IHTONT6GXLIEwCWBVHLgad/jtoJXljIRRV/abM+8R4hF9PvKlEnODtvSnc Ydo7OLqJ368PK3/Vm6oE3Bd69Tf3XTWJkMLzASplM3YCstKRt0p6GYbrQYiaZNc+iJXt 3v/Uu8fZEQTk/qRiQ4Ia7VIe0N7fVbdd6G93FZQJ1VPrtt9ZnC7S3i5CMd2sLBY9NaKT EM/q+IaJz5ub30Ytw+yyms1R8hrg93gJ4iSVzFJcMeYBj3ZNwbsa6g30fdibZgNE3cpN H/mZ4FvI9vDBk+deJ8NpTukBdlDEBd8tpjsTvJMwWB0Xk4B5TlSeFDzqVAv3HpqUb4EW 4SuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=dTmxBA++B6pklG7XMmC47sG7fKk2wKOPh3jETtwazuM=; b=E9JhPFndwgVHes0AnIoyqbBGXp+D4+Mks4Ke/K22x6gh66DQ16jtL23fwPttYuxbwn XoaKTucEf8gCdLdPnTpA/rkSeNA2vvBctArrTug4rGVzfE/XhTYyH3UX5ud7h5xE4jZu lhrBg0DLjT9rr8/7JcvEWkOQrctXIC7pMWFSz7ZSxfTBl86iiDe9/rYTdNOxy8G+5aKh S0Vm53LCr3Pic+Dh4ujGtvqzx9E2zb+CFCbrJszq4I2eL5CNT9eV3TPRv3cai88PTg8N InZazVJKwVH0myOpW/TSHDEYVdbTKvvfNjJVN+cH3Ar4XZ4O6W6eCDtCD8rHfN1PYKhn nC5A== X-Gm-Message-State: AOAM5304ZuHssb6Z8f6EBdIlJhbeonB+S3nP6Zv/ZznnzwT5rX8i4sHk sN7Ednosbx5aat6IDt4YC2+o5A== X-Google-Smtp-Source: ABdhPJxjUbZP/ND1SWuBjvK3x7juPwrEirZ8726rt3K5Yxl+fi5LASYO9F+30kPhhK8mlEQ3BZZWoA== X-Received: by 2002:ab0:449:: with SMTP id 67mr2012683uav.46.1640111151849; Tue, 21 Dec 2021 10:25:51 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id m187sm1663948vke.8.2021.12.21.10.25.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Dec 2021 10:25:51 -0800 (PST) Message-ID: <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> Date: Tue, 21 Dec 2021 13:25:50 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/21/21 00:20, Liliana Marie Prikler wrote: > Hi, > > excuse my brevity, but I'll be off to work soon. > > Am Montag, dem 20.12.2021 um 22:59 -0500 schrieb Philip McGrath: >> My reservation regarding: >> >>> >>> (add-after 'patch-dependencies 'drop-junk >>>    (lambda _ >>>      (with-atomic-json-replacement "package.json" >>>        (lambda (json) (delete-dependencies json '("node-tap")))))) >>> >> >> is that `with-atomic-json-replacement` would make (guix build json)'s >> representation a part of node-build-system's API, which it currently >> is not. For the reasons I detailed in my last email, I think that >> would open up a larger can of worms than it might seem. > That might be a valid concern, but I'd point to the "we don't > gratuitously change API" shield. Plus if we do, we'd replace our > current JSON by Guile-JSON. If that has a different internal > representation that would awfully break things, please do tell. Here are, to the best of my understanding, the differences in representation among (guix build json) and the three versions of guile-json packaged in Guix. (For guile-json, this is based on my relatively-quick reading of the docs, not any direct experience.) An extra complication is that some part of Guix's code staging seems to incorrectly turn #nil into '(). I will see if I can narrow that down and file a bug report. (guix build json): • object -> (Pairof '@ (Listof (Pairof String Json))) • array -> (Listof Json) • null -> #nil • string -> String guile-json-4: • object -> (Listof (Pairof (U Symbol Number String) Json)) • array -> (Vectorof Json) • null -> 'null ;; configurable by keyword argument • string -> (U Symbol String) guile-json-3: • object -> (Listof (Pairof (U Symbol Number String) Json)) • array -> (Vectorof Json) • null -> #nil • string -> (U Symbol String) guile-json-1: • object -> (U (HashTable (U Symbol String) Json) (Listof (Pairof (U Symbol String) Json))) • array -> (Listof Json) • null -> #nil • string -> (U Symbol String) -Philip From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 21 15:44:47 2021 Received: (at 51838) by debbugs.gnu.org; 21 Dec 2021 20:44:47 +0000 Received: from localhost ([127.0.0.1]:55820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzm07-0002dU-Hd for submit@debbugs.gnu.org; Tue, 21 Dec 2021 15:44:47 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:36636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mzm05-0002dB-IV for 51838@debbugs.gnu.org; Tue, 21 Dec 2021 15:44:46 -0500 Received: by mail-wm1-f66.google.com with SMTP id y83-20020a1c7d56000000b003456dfe7c5cso2545531wmc.1 for <51838@debbugs.gnu.org>; Tue, 21 Dec 2021 12:44:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=fdPJxrkmx1dmu/aix+str8L9RCK20mso1wIdF2u9bSM=; b=oGgM2yPW46V0lL8wQhFyW3pikyY+ncbRn4nZk9STmEhwFm83feDY9xNQgxU4jX+6hA CFPCiHq64VMYB17PNWz0u7lJ5ocUx+qa2YN+9BZ/hSLQe4910T/bJcliAtK8sJcv9Mrc cyi4gcaILZDJGjyeKzgCOfY893n7hrrHdNYuXrqCyd9IrDsUeTjske0Ct/OBGp2QHBep wKbEK6QFOo2NGsx3VDqcDsWjj38Adn5FJ7s6mDOYeiUjb7xZypcClbTyYJDTkButK8Ff BrRJgFPOKAi68mXsM+Cwp6Hl3hHoGGhCmzRaAUXqsCuqyq5n+t3wTU8xQRpnVWOCZyI8 dbGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=fdPJxrkmx1dmu/aix+str8L9RCK20mso1wIdF2u9bSM=; b=QByONaLJk7GDtgql1LTN/nkVV1r8I/JL0LbP3cgiUbwv2uSaivmwm3VKgm/gHLhg7f m2NAyMeGRpN4ZMXZkLR1p+uJ6miZyDePYQQw3r+L6uDnkU9qXdnV8v29n7zp6pMT4Zz6 Bmh1ZrRuOYouxRgJInNosi1/ryvTWJ13NX1UNl/b2dEcGNGn94x9rLBvFW9isSLMLSJK ysVaY3koWQ+7wupTpNLqY9WByfI4wxydkiCFUh+9Et8JQ/pJS06l+pVnWxHTsnp71nnF /X+A4yK4kswv5HCDo7tziP0YOIgIJVIGawribhvmAqwyoG54kdiHkO40kzKCH9BZrefL v1Vg== X-Gm-Message-State: AOAM530V4NGYVDP2r1DUIo6U+c15Q68MIFGutx6AmDQdLtep8hmqk/gS 27Ctf4THhunLQCVgINXd1zE= X-Google-Smtp-Source: ABdhPJysgyzJzLjnCD3+7QC7LMGmnBmyw3dKG4r9ZtoPnEg65Es4iXYM1DTBgArOnzNcMAFs7lAipg== X-Received: by 2002:a1c:1fd4:: with SMTP id f203mr154638wmf.192.1640119479561; Tue, 21 Dec 2021 12:44:39 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id g5sm41563wrd.100.2021.12.21.12.44.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:44:38 -0800 (PST) Message-ID: Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Tue, 21 Dec 2021 21:44:37 +0100 In-Reply-To: <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Dienstag, dem 21.12.2021 um 13:25 -0500 schrieb Philip McGrath: > Here are, to the best of my understanding, the differences in > representation among (guix build json) and the three versions of > guile-json packaged in Guix. (For guile-json, this is based on my > relatively-quick reading of the docs, not any direct experience.) An > extra complication is that some part of Guix's code staging seems to > incorrectly turn #nil into '(). I will see if I can narrow that down > and file a bug report. > > (guix build json): >    • object -> (Pairof '@ (Listof (Pairof String Json))) >    • array  -> (Listof Json) >    • null   -> #nil >    • string -> String > > guile-json-4: >    • object -> (Listof (Pairof (U Symbol Number String) Json)) >    • array  -> (Vectorof Json) >    • null   -> 'null ;; configurable by keyword argument >    • string -> (U Symbol String) > > guile-json-3: >    • object -> (Listof (Pairof (U Symbol Number String) Json)) >    • array  -> (Vectorof Json) >    • null   -> #nil >    • string -> (U Symbol String) #nil to '() conversions are probably the fault of some syntax-case or match expression. That being said, I hope we don't have to worry about code staging too much as comparison ought to be done using null? imo. I think the main difference between (guix build json) and guile-json here are the extended keys in the latter (guix only has strings) and the vector/object distinction. I think it'd be rather straight-forward to write upgrade guidelines in case we ever make the switch. Similarly, all rules based on pattern-matching *will break*, forcing us to upgrade all the recipes with it. WDYT? Would that be manageable (assuming the change to require Guile-JSON would already be core- updates material)? From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 22 23:41:18 2021 Received: (at 51838) by debbugs.gnu.org; 23 Dec 2021 04:41:18 +0000 Received: from localhost ([127.0.0.1]:60182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0Fuo-0001Hj-CP for submit@debbugs.gnu.org; Wed, 22 Dec 2021 23:41:18 -0500 Received: from mail-qk1-f178.google.com ([209.85.222.178]:37803) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0Ful-0001HW-9V for 51838@debbugs.gnu.org; Wed, 22 Dec 2021 23:41:16 -0500 Received: by mail-qk1-f178.google.com with SMTP id m186so4374194qkb.4 for <51838@debbugs.gnu.org>; Wed, 22 Dec 2021 20:41:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=IojvML0HGlkq60dsPO8g0PnUf0uUo4oQHXe4sPGn+qA=; b=MyYeV2cQOEdJLpVI/jNa6D2sxTAR3azhk/2kao89/62FdwlHHYkkOUpkCsN8DQXRFg RgQSeYoWAn1PlJV61o6o7aRaAo5CEcRTzhH94AuRlUbsFMbAKG2uJijwiq8oASUCzpW4 OzGlkkGF+Vnxhbc5CNd2ahsKw4Pbf+WbiZ/uIajTUneXvE4jSctdRBgRqd5dCJNMmDiK k2BADsNWKZ2iWdkOFvJ/4YP4T79zDn+rN2IRGSYAyYCWMv3pfIEK0E6UtoPoSny88e+h 1yNpJWRPSr/o/IiTefdNUcE4lZBn81K+pxY6LstqA7huQDKvv1ROasLIUBO8UHX0+gKe Dhaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=IojvML0HGlkq60dsPO8g0PnUf0uUo4oQHXe4sPGn+qA=; b=FJ1Q+99oa4Camp7c7KsLNkgkirb1ymJtvWZ3D3Fm8W7ohaewwXS+C78J+eB16ZJ7CY fVBTL18SUEv67hy72+AG+/bTefeSVFYrEtjwqBjYMP5o777GiFZvRQ557AyJ+P7qxn/9 yCFsyAx9t7kLY5eAt0BNp6wNRovKCMqJNDe3xae+QddZHoPtdLG7WxZwAOGrRtcZci9t jERoYlqDRcXbz1OszgOIDfcydiG1GjHV/ONUw+7XQgx626/MnLZ2LZWhobXIPwBaQCv3 s4kl3+oNUCxhse0IQX/D2UqVI7YBCexXxOcHjYecNNgD5GWw8qyBPyS7EPavXibUyFBk ocfw== X-Gm-Message-State: AOAM533CSFNeghR8ArkpAzI7l3ZlzyinBtXccvR43mCJ9H3Vj9ZrSxd9 E/pNJABLun173SECVJ2sHVS/Pg== X-Google-Smtp-Source: ABdhPJxTcKaaBaVXp6v7cjRnpmXamfRUUm30db71GGpzkBJs2pORjbKwFqFtjpox94cDBH7lmg7Agw== X-Received: by 2002:a05:620a:10bb:: with SMTP id h27mr375307qkk.353.1640234469460; Wed, 22 Dec 2021 20:41:09 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i6sm3790034qkn.26.2021.12.22.20.41.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Dec 2021 20:41:09 -0800 (PST) Message-ID: <0ac0b34f-eda7-72ab-e33d-71b2a5d13ac8@philipmcgrath.com> Date: Wed, 22 Dec 2021 23:41:08 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/21/21 15:44, Liliana Marie Prikler wrote: > Am Dienstag, dem 21.12.2021 um 13:25 -0500 schrieb Philip McGrath: >> An >> extra complication is that some part of Guix's code staging seems to >> incorrectly turn #nil into '(). I will see if I can narrow that down >> and file a bug report. >> > #nil to '() conversions are probably the fault of some syntax-case or > match expression. That being said, I hope we don't have to worry about > code staging too much as comparison ought to be done using null? imo. I've reported the problem with g-expressions here: https://issues.guix.gnu.org/52749 In brief, the problem is that a Scheme value like: '(@ ("k" . #nil)) ought to produce the JSON: {"k":null} but, if it is part of a g-expression, it instead produces: {"k":[]} -Philip From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 23 00:20:25 2021 Received: (at 51838) by debbugs.gnu.org; 23 Dec 2021 05:20:25 +0000 Received: from localhost ([127.0.0.1]:60223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0GWb-0004Zd-EG for submit@debbugs.gnu.org; Thu, 23 Dec 2021 00:20:25 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:44740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0GWK-0004Yb-RU for 51838@debbugs.gnu.org; Thu, 23 Dec 2021 00:20:20 -0500 Received: by mail-ua1-f49.google.com with SMTP id p2so7919019uad.11 for <51838@debbugs.gnu.org>; Wed, 22 Dec 2021 21:20:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=SV2Wne6oD/wyK5XsvGc9Z8uAQb+jS7odjfsmXA0WJiM=; b=Hla+biUaNxDN4r4sOaYVtL2Ay2hCfyDBEzkLvXUL92jNYBHnSMkUswJEr3bXuuJpRI OzXImJYI3aVOUaXim0qeL75woIzJVV9awHWRYfXKtetyG1xlp2LLWZ0nqFzOTv2GABKA ndCA4F4X07+EmjNs/BVNplE0H2n4ye2wGWcuB+8uMkUtpeRam/7sVOzLMZH8xAMk2D8x QhD3JWMy68qO8wqScrN1AJiI5zpcIRokDjAwNluHLnjEzIz32ypi2sTj4xLdjHuAh35T a/xLUQDt3+Xvi7iVbujlkb8wmaCgdsTQI79Y9zb9WvWyJfKrNEiOnZFe8TEaZuZxnfMo NwxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=SV2Wne6oD/wyK5XsvGc9Z8uAQb+jS7odjfsmXA0WJiM=; b=zKBLfSiIFNXu6+6HZpeF80OrYbE842bZ57CRWMB51fdc4U/NEIl3GOrHxmz2nRtswg cHdKOBd/m25RZzOS8jodSAHdfsCuCErzyLaoBmpIT0/0O3ETFzhAz/aPdmntF73Rwg8c ZpSKpwm0LhJleuPTa3HlOEitthfFZxKYMaPvlOOrPplkipcnLtctx47Ffneqe1Wdwu2G xTJYPkEUWA75zP0aokT8lNc+jiL1xuP8SlOeTByg5dM4V4vV4lZfuYVfo8n4L2/sjM7F 8U8CG6wT+w8DTlqDyoZlxhbvhCtkyNRkWnt9KrAE16sMCKOtSp7iQi84HUdK2G5I9Oqj fMQA== X-Gm-Message-State: AOAM531uwdeVxKOIG2OWN4QVC9dRf3VQTeHynJtEfPEYnK/JdBN2IAPL w2xzWlGi9Yl9ocNzlbNDlODkXPvoCMK7zSYh X-Google-Smtp-Source: ABdhPJwOuBrdAVCxSmEHXf5Nir5lHh6yX9jvfSv/WH8oB4mD3ZqkCvUhPhMQSbC9wgEal5fK8qTj1g== X-Received: by 2002:ab0:2b96:: with SMTP id q22mr245386uar.87.1640236798028; Wed, 22 Dec 2021 21:19:58 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w184sm810285vkf.10.2021.12.22.21.19.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Dec 2021 21:19:57 -0800 (PST) Message-ID: Date: Thu, 23 Dec 2021 00:19:57 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.1 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) On 12/21/21 15:44, Liliana Marie Prikler wrote: > Am Dienstag, dem 21.12.2021 um 13:25 -0500 schrieb Philip McGrath: >> Here are, to the best of my understanding, the differences in >> representation among (guix build json) and the three versions of >> guile-json packaged in Guix. > I think the main difference between (guix build json) and guile-json > here are the extended keys in the latter (guix only has strings) and > the vector/object distinction. For guile-json-4, the representation of the JSON value "null" is also different: #nil vs. the symbol 'null. > I think it'd be rather straight-forward > to write upgrade guidelines in case we ever make the switch. > Similarly, all rules based on pattern-matching *will break*, forcing us > to upgrade all the recipes with it. WDYT? Would that be manageable > (assuming the change to require Guile-JSON would already be core- > updates material)? > I actually might like (guix build json) better than guile-json-*! Using vectors for arrays seems roughly awkward as tagged alists, especially if Guile really doesn't have purely functional update procedures for alists---and I sure can't find any---so we'd have to write a little algebra of operations on JSON objects either way. But I'm not really familiar with the pros and cons of each, and I don't know the context behind the previous attempt to switch. My concern is that someone, or several someones, probably should know all of that context before exposing one representation or another as part of node-build-system's API. As I've said, I think that's a high-priority improvement! But it, and designing nice helper functions, seem quite far removed from the core purpose of this patch series. Since IMO #:absent-dependencies would still be The Right Thing even if those utilities already existed, and since #:absent-dependencies can be implemented without having to resolve any of the broader questions, I think it would be better not to entangle them with this patch series. Would it mitigate your concerns with #:absent-dependencies at all if I send a separate patch series adding more general utilities based on (guix build json)? -Philip From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 23 13:12:28 2021 Received: (at 51838) by debbugs.gnu.org; 23 Dec 2021 18:12:28 +0000 Received: from localhost ([127.0.0.1]:34885 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0SZo-0000GU-CM for submit@debbugs.gnu.org; Thu, 23 Dec 2021 13:12:28 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:35398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0SZm-0000GG-KH for 51838@debbugs.gnu.org; Thu, 23 Dec 2021 13:12:27 -0500 Received: by mail-wr1-f67.google.com with SMTP id j18so13060716wrd.2 for <51838@debbugs.gnu.org>; Thu, 23 Dec 2021 10:12:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=+D6IBvQk5QF5+IAygNEQMwWqxV+DionxiMrb/daSE28=; b=ljgk3a63QCiX4y9Fkp4UupbDC2tlo52XSwffuGxO8hY71rdaTRAKRLTc2AlUOuF9kf NVkMnrHLwcSVk7zQTAKG7QQxRPCxX4XZPyfo8mxK0eVDWjGdFb4hPuhDsz1uwbNxkCyw xqsHDWGRc5HlmEGTsH8Z2xTMks4KniULfYfl77aouzlocEP7fGbnvOUdjYaIlo0dNh0N +1hEQEE8mGmxmPX5vgm8YqfsxoDM1I4bdhxFFMWBMobvOZoHPxsKfY9K9w40TGixJREv yOH0sn6XrlThsYBg+mEDJhX6qEfhd4TFrrniSVRZvG7m7Bw2BI6uLFc3uVPQeTdEXC5+ 5LeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=+D6IBvQk5QF5+IAygNEQMwWqxV+DionxiMrb/daSE28=; b=NKllGD3cjJcig/R4REEZzVJ5VoR91Oey/nMcfiGqF73MeGV+ktCCZfmvTdHEjJksXJ E8VwtGfLE6Wqjv3GzCd3QNRYkZN2gLgEBc/uPuE4JUFk8VYi7IEmATLvi1aTJ1AGgSOg f2OyBthcm0xI1sV8GRvUkfkBkqLjSzyYMXUPQ2PADlXsVoCQn8t9UmIyCIqrMzyQgQ4t wlPvxCgzY2Bomo9UpOZMge1iBc596QOqkSU9r8gn89Cz1oCJT2+FKFu/OXqakeln+etj khJwIvx5uQCoo1ECmWzRyai1o5SiLXK6Lj7eSQvOVestz0JaQnf2RgnIWwbgWdrT9s3+ SmnA== X-Gm-Message-State: AOAM5328+/IgCtiXxo+Za0SDE43KgQEETvZk83fNlp1s0svTH7h8Lvqo A8gXdbt0mzYZYTtdtXkLBRE= X-Google-Smtp-Source: ABdhPJxnI9dul/BycEW5qVivQP4fA7ybWZvpyWCMSUeSYMGmw+6UXzI+sSr2QsI9f4Eaz8U5xtrTOA== X-Received: by 2002:adf:a10f:: with SMTP id o15mr2535357wro.592.1640283140548; Thu, 23 Dec 2021 10:12:20 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id n7sm5705827wms.45.2021.12.23.10.12.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Dec 2021 10:12:19 -0800 (PST) Message-ID: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> Subject: Re: [PATCH v5 07/45] guix: node-build-system: Add #:absent-dependencies argument. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Thu, 23 Dec 2021 19:12:17 +0100 In-Reply-To: References: <20211213060107.129223-1-philip@philipmcgrath.com> <20211217020325.520821-8-philip@philipmcgrath.com> <87k0g36xp3.fsf@ngyro.com> <871r2a7hme.fsf@ngyro.com> <815f327e36ecd24066179586997947ecd8f31150.camel@gmail.com> <33696592-8a3a-8260-bf27-652cf78727a6@philipmcgrath.com> <2c803ea8f5c5c16c892f5528f63a4c7e98470c5b.camel@gmail.com> <314a0ea4-a851-6642-0a59-d4c61d65c242@philipmcgrath.com> <35164d79ab6ae1c0595d27f023376cf98ab1a39d.camel@gmail.com> <9533cfc8-b822-edc0-67ac-7e2c9aeacb09@philipmcgrath.com> <87r1a7118r.fsf@ngyro.com> <41461d4f-5e7d-d9be-51c4-7a58c4f7570f@philipmcgrath.com> <06bf9af2-5c6c-54c1-1e2e-a652791a6747@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 23.12.2021 um 00:19 -0500 schrieb Philip McGrath: > On 12/21/21 15:44, Liliana Marie Prikler wrote: > > Am Dienstag, dem 21.12.2021 um 13:25 -0500 schrieb Philip McGrath: > > > Here are, to the best of my understanding, the differences in > > > representation among (guix build json) and the three versions of > > > guile-json packaged in Guix. > > I think the main difference between (guix build json) and guile- > > json here are the extended keys in the latter (guix only has > > strings) and the vector/object distinction. > > For guile-json-4, the representation of the JSON value "null" is also > different: #nil vs. the symbol 'null. Different, but configurable, i.e. you can make guile-json-4 return #nil, which is what would be needed for the sake of compatibility. > > > I think it'd be rather straight-forward to write upgrade guidelines > > in case we ever make the switch. Similarly, all rules based on > > pattern-matching *will break*, forcing us to upgrade all the > > recipes with it.  WDYT?  Would that be manageable (assuming the > > change to require Guile-JSON would already be core-updates > > material)? > > > > I actually might like (guix build json) better than guile-json-*! > Using vectors for arrays seems roughly awkward as tagged alists, > especially if Guile really doesn't have purely functional update > procedures for alists---and I sure can't find any---so we'd have to > write a little algebra of operations on JSON objects either way. But > I'm not really familiar with the pros and cons of each, and I don't > know the context behind the previous attempt to switch. I don't think there's been any. Note that Guix already uses guile- json, just not at build side. I don't think there's only one reason for this; of course we have the incompatibility, but guile-json would probably also pull in much more into the build than would be needed in most cases, so that's that. For the medium/long term I do think guile-json will eventually go the emacs-json route of making everything about its (de)serialization configurable, which ought to ease the porting of guix build to it. However, pointing at the API stability shield, I don't think we'll be too hasty porting things over. > My concern is that someone, or several someones, probably should know > all of that context before exposing one representation or another as > part of node-build-system's API. As I've said, I think that's a > high-priority improvement! But it, and designing nice helper > functions, seem quite far removed from the core purpose of this patch > series. You would only have to implement helper functions as needed, i.e. for now just (with-atomic-json-replacement proc) and (delete-dependencies json). My personal interpretation is that read-json/write-json are already public Guix API and you can easily use them inside node-build- system as-is (note: you do need to use-modules them, but it doesn't require building another module closure), but perhaps someone else has a different reading. As for other helper functions, that might become useful over time, those can be added as-needed. > Since IMO #:absent-dependencies would still be The Right Thing even > if those utilities already existed, and since #:absent-dependencies > can be implemented without having to resolve any of the broader > questions, I think it would be better not to entangle them with this > patch series. I agree, that we can both agree, that whatever we had in mind when starting this discussion can be implemented without these primitives, but I disagree on it being The Right Thing. Particularly, in the case of #:absent-dependencies, simplicity and completeness are lacking, whereas in my original suggestion correctness and completeness were lacking. For the record, I don't think we can get to The Right Thing without exposing the JSON somehow. However, since you argue we can't, we need to find a course of action, that will allow us to do The Right Thing later. I'm sadly a little out of options as I write this, but open to some suggestions and perhaps I'll get another idea if I gaze at my navel for some time. > Would it mitigate your concerns with #:absent-dependencies at all if > I send a separate patch series adding more general utilities based on > (guix build json)? That series would block this one in my opinion (aside from the node changes, that could be done without it, but we're talking five patches at most here and I plan to do them over the holidays). This would sound like a good idea if you could wait for that discussion to be resolved, but I fear that's not the case, is it? Cheers From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:40:45 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:40:45 +0000 Received: from localhost ([127.0.0.1]:50944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3J-0006S9-6Q for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:45 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:43728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3B-0006Ri-AY for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:44 -0500 Received: by mail-ua1-f41.google.com with SMTP id i5so26200986uaq.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:40:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2v2HHbRJ2nYQ1/JvKI71mn0S9IkGm1njr+iKd9iz2Pg=; b=VALSa1FzyGQNO7Lhv2nnMbY1LTWa/hHssd5N3F6juKmpkotZFa8vp3jYiLbLN8JlFf SnIl/rUTlLqZL7vZcKrxpwWGYh+o5M2Et+ssQrm5W5IG2cr6ywLwTOJPnqWjFuTNkRhr CCP9fPQ07j3FLNn0ltIOE2rhOe1wqB0RUp5Lu4B7KoksNEw0SK4s/c099TeWEfp4X/bL dzoTqIRgnjwXbH96h8QBDvhkh6OCCQ4wWChKh8OSsSy/Yd91iwkwzAmmRx80gdQA9z6O SUMZyC6hXi6F5lQnkKK9BKpK3fAZ8YlKF0vCpGTNZAaz/J/uWF7eJfxRpuPfjCqRnZR8 PjSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2v2HHbRJ2nYQ1/JvKI71mn0S9IkGm1njr+iKd9iz2Pg=; b=6gJ0ervimZrT84WXhskpzCJEE1rvPEeXgDRfy8XXKilLWwTyb5iknnwKlNSM5AGxW+ gAWf0QGreGZkmBWcwXazv5igScJr8jrVjAH6mpGnI45hN9d4Mz4tvIY6nm0EGpfdLyw6 /xH+4ioHAF4R8Jbe5CqR67jWAFOL64viqLKA/x6vUJ4RgSYD6UYiPfXEOSKlFvuOvGIr hwhJrmbekOrbuaM2UD3cbJAj6XZwcocb2FwcLWEBPXIubOBYTc4JGxua6187fpwP3Lgy 2TGCEgB4DirNPmQrY63WSy3QT5oq1wHjExxTZMii3PqbAnMLTjvG/rwDlNO7T8H/7BNS HEsw== X-Gm-Message-State: AOAM531vxawu0R/aVmDANOuHz7yUqZTwnZKx26a7g6I0ZCkT79Dwfigy rz8bDUv/L0VGG9tFoRFw5wPCmJH1VW9nh7Sf X-Google-Smtp-Source: ABdhPJxjWffXZkRwo7JxUI2O/rj6CxAEoXgIev/jAjQNr1sYnrrthSkO3tFJ9Tl0rHDHZBu3oTCxNg== X-Received: by 2002:a05:6102:316e:: with SMTP id l14mr9080927vsm.8.1640850031573; Wed, 29 Dec 2021 23:40:31 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id f20sm4688564vsl.31.2021.12.29.23.40.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:40:31 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Thu, 30 Dec 2021 02:38:38 -0500 Message-Id: <20211230073919.30327-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi Liliana (and everyone), Thanks for taking care of the earlier patches from the series! It sounds like (guix build json) is going to be around for a reasonably long time, and I'm ok with that. In the hope of clearing a path to move forward, I'm sending v6 of this patch series, immediately followed by a closely-related v7: I strongly prefer v7, but I would be ok with either version being applied if one of them can achieve consensus. (If v6 is merged, I'll send a separate patch series to propose '#:absent-dependencies'.) I've put the two versions up on GitLab as and , respectively. I've re-organized the patches in the series somewhat to facilitate a minimal, side-by-side comparison between '#:absent-dependencies' and this approach: On 12/20/21 17:00, Liliana Marie Prikler wrote: > (add-after 'patch-dependencies 'drop-junk > (lambda _ > (with-atomic-json-replacement "package.json" > (lambda (json) (delete-dependencies json '("node-tap")))))) The series is now organized as follows: - The first 4 patches are identical in v6 and v7: - Patches 01 & 02/41 are non-controversial build system changes ('delete-lockfiles' and libuv). - Patch 03/41 adds to (guix build node-build-system) several utility functions for transforming JSON in the representation used by (guix build json), especially functional update of tagged JSON objects. It also adjusts the rest of (guix build node-build-system) to make use of those functions, eliminating all uses of 'assoc-set!' and other procedures that mutate assosciation lists. Of the new functions, only 'with-atomic-json-file-replacement' is exported for now: my hope is that further (valuable and important!) discussion about the API design of these functions or their implementations need not block either v6 or v7 of this series. - Patch 04/41 adds the 'avoid-node-gyp-rebuild' phase. I've re-worked the implementation to use the new helper functions. - Patch 05/41 is the truly significant difference between v6 and v7: it implements the strategy for dealing with missing dependencies. In v6, it exports a new public function 'delete-dependencies' from (guix build node-build-system). In v7, it adds '#:absent-dependencies'. One difference from previous versions of this series is that it handles '#:absent-dependencies' in a new 'delete-dependencies' phase, which makes the change even more self-contained. - Patches 06 through 17/41 adjust existing packages to make use of the approach to missing dependencies from patch 05/41 of each series. - Patches 18 through 41/41 add the new packages excercising native addon support, again differing based on the approach from patch 05/41. The other slight difference from previous versions of this series is that, where applicable, I've adjusted the new package definitions to use 'with-atomic-json-file-replacement' and never to use 'assoc-set!' or other procedures that mutate assosciation lists. I continue to think that '#:absent-dependencies' is a good approach, in brief, as Jelle put it in , because: On 12/20/21 18:10, Jelle Licht wrote: > Liliana Marie Prikler writes: >> Am Montag, dem 20.12.2021 um 14:33 -0500 schrieb Philip McGrath: >>> If we took your final suggestion above, I think we'd have something >>> like this: >>> >>> ``` >>> #:phases >>> (modify-phases %standard-phases >>> (add-after 'unpack 'delete-dependencies >>> (make-delete-dependencies-phase '("node-tap")))) >>> ``` >>> >>> That seems pretty similar to, under the current patch series: >>> >>> ``` >>> #:absent-dependencies '("node-tap") >>> ``` >> That is the point, but please don't add a function called "make-delete- >> dependencies-phase". We have lambda. We can easily add with-atomic- >> json-replacement. We can also add a "delete-dependencies" function >> that takes a json and a list of dependencies if you so want. >> >> So in short >> >> (add-after 'patch-dependencies 'drop-junk >> (lambda _ >> (with-atomic-json-replacement "package.json" >> (lambda (json) (delete-dependencies json '("node-tap")))))) >> >> would be the "verbose" style of disabling a list of dependencies. >> > > I think you are _really_ underestimating how many packages will need a > phase like this in the future. I would agree with this approach if it > were only needed incidentally, similar to the frequency of patching > version requirements in setup.py or requirements.txt for python > packages. > > Pretty much everything except the '("node-tap") list will be identical > between packages; how do you propose we reduce this duplication? At this > point I feel like I'm rehasing the opposite of your last point, so let > me rephrase; how many times do you want to see/type/copy+paste the above > snippet before you would consider exposing this functionality on a > higher level? > Additionally, I think having a phase in '%standard-phases' is a good way of addressing the need to use 'delete-dependencies' after the 'patch-dependencies' phase, which I explain in patch v6 05/41. But, again, I could live with either v6 or v7 being applied if one of them can achieve consensus. So, without further ado, here is v6! -Philip Philip McGrath (41): guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add JSON utilities. guix: node-build-system: Add avoid-node-gyp-rebuild phase. guix: node-build-system: Add 'delete-dependencies' helper function. gnu: node-semver-bootstrap: Use 'delete-dependencies'. gnu: node-ms-bootstrap: Use 'delete-dependencies'. gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. gnu: node-debug-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-bootstrap: Use 'delete-dependencies'. gnu: node-semver: Use 'delete-dependencies'. gnu: node-wrappy: Use 'delete-dependencies'. gnu: node-once: Use 'delete-dependencies'. gnu: node-irc-colors: Use 'delete-dependencies'. gnu: node-irc: Use 'delete-dependencies'. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-ms. gnu: Add node-debug. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readline. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 1013 +++++++++++++++++++++++++++++- gnu/packages/node.scm | 78 ++- gnu/packages/zwave.scm | 64 ++ guix/build-system/node.scm | 9 +- guix/build/node-build-system.scm | 355 ++++++++++- 5 files changed, 1464 insertions(+), 55 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:40:55 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:40:55 +0000 Received: from localhost ([127.0.0.1]:50948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3S-0006Sd-Sc for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:55 -0500 Received: from mail-vk1-f179.google.com ([209.85.221.179]:40765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3M-0006S1-3n for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:48 -0500 Received: by mail-vk1-f179.google.com with SMTP id 70so13266025vkx.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:40:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=hni5nY4ay9AazjxpIX/1NQXjHwPNsblOTWxNj5BVAFAOy/mWRUeofR8llCHgaR6O8j CNGjBvmKYdzchgD/2FRRXuj3jxF/a8wfWcMrONMWdY2kQHxj1/hILcZpRmo+WkJh8hWg uQw0OPpdz24PQ+z2QBAfbzThzgkCkb6AK21NM5ChbTjE73u/rvaF6FddfhTvTyHi+euh a6X54qURnMaKbHOWGnyB3lhHivggPP3rNs85nxmA6bgGW3L0dfjcKVf4+EKOQS+e8Y7X di8Ks7sjYkg+LZcHWg6gfsAqdhUMeeV0QOCzsQfMJb9nqn72lpKn+R/CorijrD/ALiq6 2s1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=xD4dID1Q71XhKtXpsVIF1oYqUCKTtUBmYDwsuIsfK2JHKkzitAmbdUfg1bRAerMzZC q9Y0IC7U79f92jqLEvpgNytRBBaUWpR+tx7EYy8zeYVHY2DMw0xyhHXwkHWmHMDt5nDR uN2bI5Dwp2tLVitA+XmE7l/2GZzELDrIUN8iZTADL0ni/oWivWs4ID5lRsKYcb393HT7 icF/dJAZdzWlg96cEsPyGasXumnQ2nEn1fiNb8xGnA4/JON0B1/UgFSR87BdofYzIuh/ y8YWK7zFJIokhWxMwTnckf/OZcBNF76IN2hQATp192Z2UCFCWsCUDFO7/H5s43WFmRH2 ryIg== X-Gm-Message-State: AOAM53189yLCv6T0qwBrdS6dGQJV4AVse+mYMdczC2aMc1ATLvy9tq4U 1g18wrH5pBjnHGHQWX9Lnw2GqHwNPOeIhryv X-Google-Smtp-Source: ABdhPJyAs4LvPXBlgxnXpFAZdK7GFchehP1RfUIzSG+uCIfvbMa3G8oPsxHfTrQurj1hOEXAwcgWbg== X-Received: by 2002:a1f:f8c4:: with SMTP id w187mr9787444vkh.41.1640850042549; Wed, 29 Dec 2021 23:40:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t3sm4939377vsl.25.2021.12.29.23.40.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:40:42 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 01/41] guix: node-build-system: Add delete-lockfiles phase. Date: Thu, 30 Dec 2021 02:38:39 -0500 Message-Id: <20211230073919.30327-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (delete-lockfiles): New function. Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist. Because these files specify both exact dependency versions and integrity hashes, they only cause problems for Guix. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. --- guix/build/node-build-system.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..dcaa719f40 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -96,6 +96,17 @@ (define (resolve-dependencies package-meta meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -146,6 +157,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:40:58 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:40:58 +0000 Received: from localhost ([127.0.0.1]:50950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3T-0006Sh-69 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:58 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:47077) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3Q-0006SH-77 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:52 -0500 Received: by mail-ua1-f45.google.com with SMTP id c36so15677372uae.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:40:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OR+Y4twRr3s8Rn/RIH2mP3iVUWWT56VgTF28n5YcXZs=; b=FNtlZIpgigZn+56BBWRpd5WMUhWzhdlHzQwtAgE2RLYtUfDnl7wgbL5+BgxEaKsIkJ 4/4U3kRcCKi4hABb2j239PJ2MS3/nq3/O/0Ugg1bSniO6uHVP3DqbqTUZ1nKQLGhzxyL zj2eo+IVTp2Y09rU3g6CwCMRWjMtLAwBfOs91kg+6ngLOrRmqgzO2mt7BZU4rBsyUBAj nIQ/VEfoKwjsoqtj+agg6yHhoB6lwoHEBaRLP38CEQoixwwgpffQpiIpupze34ADv0y6 63eXL25JEulozWBNDuMUdI9KltGeVYH2t21Hk/a1HzBVwiS4P2n5pTem+k845tJbeFYS W17A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OR+Y4twRr3s8Rn/RIH2mP3iVUWWT56VgTF28n5YcXZs=; b=OV0+eetiw4d7dXDfPGZRvJkU93krc+H2GpOyNeJmWaaaluNdLnC726+a39N+Wg3hnr 3qXGzp6HYvjNkdZWQJ24KQSl4FzfLRzTN2AmaIJcLH/i+yWE9cM8xPDkwT+HYUXvt2dt JXPlZDb7svNeDJR+uO3Ywr8j5QBqDu3+NsLYKP4XcNJJMfCzmy6/dAEdbzKkpalrVprI GS8wnzmisMj7/ooTsSCjZYtf/cxoYJSzQouZJ2XwIzRT00Z+G6AL4NDf7cpNbpQAgRAz je41IxlvdoqO2NdAqX+S6OssW0bmjnignCeqYOQ9xlTX6/JeQXVv8YJ2XnM6lJfPZZNB Mt9A== X-Gm-Message-State: AOAM531Wj7q9skinX/jCpDiOQZ64oraq4bX2KoT6F88WU/ood1gJkyUt OE7rlbNDjuRu4KYGuPEjNXVkp7YaEnp6EO/q X-Google-Smtp-Source: ABdhPJw1hNhHJEYPVCtb0Mfp9nRvKeRN2RZqe6ac0cCZbDaaqcrqJdJ2CZt913/DiUXC6KsaO8ePpA== X-Received: by 2002:a67:e010:: with SMTP id c16mr8955066vsl.12.1640850046698; Wed, 29 Dec 2021 23:40:46 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 126sm4601941vku.25.2021.12.29.23.40.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:40:46 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 02/41] guix: node-build-system: Add implicit libuv input. Date: Thu, 30 Dec 2021 02:38:40 -0500 Message-Id: <20211230073919.30327-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 735f8dd06e..24bd677bfc 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample ;;; Copyright © 2021 Ludovic Courtès +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,10 +63,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:14 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:14 +0000 Received: from localhost ([127.0.0.1]:50959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3l-0006UX-KH for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:14 -0500 Received: from mail-vk1-f169.google.com ([209.85.221.169]:35736) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3U-0006SR-Kl for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:40:57 -0500 Received: by mail-vk1-f169.google.com with SMTP id c10so13061574vkn.2 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:40:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pVn0mssS8rR0fPJGCE+7jqSAPVld+8iY199DVtopIgY=; b=ZEfBv9YWJVKVhd1/QGI4qdGxyucDGoQVzpRdKRGH5emQNTGjjqTQF0yZCg4hbbN1I9 UcrD6+sFwp/+3ejwzah5tkjb4Q1vQr+Rd496jeeMIoUWwk9lX113tnrHVxzq9Ib3DG21 cWAndnHx1roNcpV3rI363KyJxYR/s46xZaodwFpqaFJO/Zkk5wzAHJvsuBrHf0C3XLuH SaU7ysLZzAybb1pKmt7y3RMa7mnu5Zl0gZLmTx8eugczPmL+TYp58H0SLJoo5Vunafb/ 4Ast6rx69SmPOBAVkQGYLgz57cQng3CVg8PTbkGGAgXzetSDSCx5RWJa7GK7aIhKXL5u tfKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pVn0mssS8rR0fPJGCE+7jqSAPVld+8iY199DVtopIgY=; b=HJPPo+v1dcRwa/LuYZQuOClmCeojvzAmt/f9HsiuhxnI6pnmYqN2OJHdJYbxD0VEA1 oSZfuvvYtkLlXOhe+3fyakMo50L9PFR+oKaAPS4cyYCWfISHuphMr0vrEXrADZDVJvsv v/hFBQUrKHGVdhaLT/GdJm/4IocFumEwfnN9Gz2b0A2Pu0/VIgjK5tTS/fN7wghFclHg 5pS/fcPk2K9KPCFPcxD4qBfv1SL+hn7PlMsOGU8/sdlazA6H/wA9a3e8Fb14AzGFet0I q2bdHEuLWD7pkSqQFgrbcOS8NeVQUUb2lW7wFUmIbSBaURUus9nGJA+CziwGdgF9pT6K kKAA== X-Gm-Message-State: AOAM533+X6CtZqoWxb2xoqZrpcy72hAshTHsCspS/6HZH50mCunLPRxK a/UFFHCS1xccYLarrs/gzJMAz66+C5zPQkzY X-Google-Smtp-Source: ABdhPJznhwlODWdIizPzEQ+BqCoywQnFOFdmzfGNK7oSwRvReRIC6vi7sLhjQy6voLPcU7gpNHdYhw== X-Received: by 2002:a05:6122:91e:: with SMTP id j30mr10000784vka.20.1640850050820; Wed, 29 Dec 2021 23:40:50 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 23sm1625116vki.47.2021.12.29.23.40.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:40:50 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 03/41] guix: node-build-system: Add JSON utilities. Date: Thu, 30 Dec 2021 02:38:41 -0500 Message-Id: <20211230073919.30327-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They should eventually be exported, but most are private for now to allow for more experience and consideration before commiting to the API. The design was largely inspired by the 'racket/dict' and 'racket/hash' libraries. Liliana Marie Prikler proposed 'with-atomic-json-file-replacement'. * guix/build/node-build-system.scm (jsobject-ref): (alist-pop): (alist-delete*): (jsobject-delete): (alist-set): (jsobject-set): (jsobject-set*): (alist-update): (jsobject-update): (jsobject-update*): (jsobject-union): New private procedures. (with-atomic-json-file-replacement): New exported procedure. (module-name): Use them. (build): Use them. (patch-dependencies): Use them. Stop using 'assoc-set!' unsafely. Co-authored-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 275 ++++++++++++++++++++++++++++--- 1 file changed, 251 insertions(+), 24 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index dcaa719f40..e5c4da5091 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -26,6 +26,7 @@ (define-module (guix build node-build-system) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%standard-phases + with-atomic-json-file-replacement node-build)) ;; Commentary: @@ -34,6 +35,237 @@ (define-module (guix build node-build-system) ;; ;; Code: +;;; +;;; JSON utilities. +;;; +;;; The following procedures facilitate transforming JSON values using the +;;; representation from (guix build json), particularly purely functional +;;; update of JSON objects. If we decide to make more of them public, we +;;; might instead put them in their own file or, eventually, add them to +;;; (guix build json). +;;; +;;; JSON objects with duplicate keys are not interoperable: see RFC 8259 § 4. +;;; These procedures assume, but generally do not check, that JSON objects +;;; given to them as arguments do not have duplicate keys. As long as that +;;; precondition is satisfied, they will produce JSON objects without +;;; duplicate keys. Procedures that operate on unwrapped assosciation lists +;;; may do likewise, which should be considered before exporting them for +;;; general use. +;;; + +(define (with-atomic-json-file-replacement file proc) + "Like 'with-atomic-file-replacement', but PROC is called with a single +argument---the result of parsing FILE's contents as json---and should a value +to be written as json to the replacement FILE." + (with-atomic-file-replacement file + (lambda (in out) + (write-json (proc (read-json in)) out)))) + +(define (jsobject-ref js key failure-result) + "Return the value assosciated with KEY in the json object JS. If KEY is not +found and FAILURE-RESULT is a procedure, it is called in tail position with +zero arguments. Otherwise, FAILURE-RESULT is returned." + ;; TODO: `failure-result` should be optional, but should the default + ;; `failure-result` be #f (like `assoc-ref`), a thunk raising an exception, + ;; '(@), or something else? Keep it mandatory until we discuss and decide. + (match js + (('@ . alist) + (match (assoc key alist) + (#f + (if (procedure? failure-result) + (failure-result) + failure-result)) + ((_ . value) + value))))) + +(define (alist-pop alist key) + "Return two values: the first pair in ALIST with the given KEY in its +'car' (or #f, if no such pair exists) and an assosciation list like (and +potentially sharing storage with) ALIST, but with no entry for KEY." + (match (assoc key alist) + ;; If key isn't present, we don't need to do any allocation + (#f + (values #f alist)) + (found + (values found + ;; Because we have `found`, we can find it more + ;; efficiently this time with `eq?`. We avoid using + ;; `delq` because it would copy pairs in a shared + ;; tail. We assume a sufficiently smart compiler to + ;; handle "tail recursion modulo cons" (vid. e.g. Indiana + ;; University Technical Report No. 19, Friedman & Wise + ;; 1975) at least as efficiently as a hand-written + ;; tail-recursive implementation with an accumulator. + (let loop ((alist alist)) + (match alist + ;; We know that `found` is present, + ;; so no need to check for '() + ((this . alist) + (if (eq? this found) + alist + (cons this (loop alist)))))))))) + +;; Sadly, Guile's implementation of (@ (srfi srfi-1) alist-delete) +;; performs unnecessary allocation, e.g. this currently evaluates to #f: +;; +;; (let ((alist `(("a" . 1)("b" . 2)("c" . 3)))) +;; (eq? alist (alist-delete "x" alist))) +;; +;; These functions generally choose to allocate a new outer pair (with the '@ +;; tag), even though in unusual cases the resulting object might not have +;; changed, for the sake of simplicity and to avoid retaining a reference to +;; the original alist longer than necessary. But that is O(1) allocation that +;; could only rarely be avoided: `alist-delete` would allocate O(n) pairs, +;; which would only be necessary in the worst case. +(define (alist-delete* alist key) + "Return an assosciation list like (and potentially sharing storage with) +ALIST, but with no entry for KEY." + (define-values (_popped remaining) + (alist-pop alist key)) + remaining) + +(define (jsobject-delete js key) + "Return a json object like JS, but with no entry for KEY." + (cons '@ (match js + (('@ . alist) + (alist-delete* alist key))))) + +(define (alist-set alist key value) + "Return an assosciation list like ALIST, but with KEY mapped to VALUE, +replacing any existing mapping for KEY." + (acons key value (alist-delete* alist key))) + +(define (jsobject-set js key value) + "Return a json object like JS, but with KEY mapped to VALUE, replacing any +existing mapping for KEY." + (cons '@ (match js + (('@ . alist) + (alist-set alist key value))))) + +(define jsobject-set* + (case-lambda + "Return a json object like JS, but functionally extended by mapping each +KEY to each VALUE, replacing any existing mapping for each KEY. The update +takes place from left to right, so later mappings overwrite earlier mappings +for the same KEY." + ((js) + js) + ((js key value) + (jsobject-set js key value)) + ((js . args) + (cons '@ (match js + (('@ . alist) + (let loop ((alist alist) + (args args)) + (match args + (() + alist) + ((key value . args) + (loop (alist-set alist key value) + args)))))))))) + +(define (alist-update alist key failure-result updater) + "Return an assosciation list like ALIST, but with KEY mapped to the result +of applying UPDATER to the value to which KEY is mapped in ALIST. When ALIST +does not have an existing mapping for KEY, FAILURE-RESULT is used as with +'jsobject-ref' to obtain the argument for UPDATER." + ;; Often, `updater` will be a lambda expression, so making it the last + ;; argument may help to makes the code legible, and the most likely + ;; `failure-result` arguments are all shorter than the keyword + ;; `#:failure-result`. Plus, making `failure-result` mandatory helps make + ;; `alist-update` consistent with `alist-update*`. + (define-values (popped tail-alist) + (alist-pop alist key)) + (acons key + (updater (match popped + (#f + (if (procedure? failure-result) + (failure-result) + failure-result)) + ((_ . value) + value))) + tail-alist)) + +(define (jsobject-update js key failure-result updater) + "Return a json object like JS, but with KEY mapped to the result of applying +UPDATER to the value to which KEY is mapped in JS. When JS does not have an +existing mapping for KEY, FAILURE-RESULT is used as with 'jsobject-ref' to +obtain the argument for UPDATER." + (cons '@ (match js + (('@ . alist) + (alist-update alist key failure-result updater))))) + +(define jsobject-update* + (case-lambda + "Return a json object like JS, but functionally extended by replacing the +mapping for each KEY with the result of applying the corresponding UPDATER to +the value to which that KEY is mapped in JS---or, if no such mapping exists, +to a value based on the corresponding FAILURE-RESULT as with 'jsobject-ref'. +The update takes place from left to right, so later UPDATERs will receive the +values returned by earlier UPDATERs for the same KEY." + ((js) + js) + ((js key failure-result updater) + (jsobject-update js key failure-result updater)) + ((js . args) + (cons '@ (match js + (('@ . alist) + (let loop ((alist alist) + (args args)) + (match args + (() + alist) + ((key failure-result updater . args) + (loop (alist-update alist key failure-result updater) + args)))))))))) + +(define* (jsobject-union #:key + (combine (lambda (a b) b)) + (combine/key (lambda (k a b) (combine a b))) + #:rest json-objects) + "Combine the given JSON-OBJECTS into a single json object. The JSON-OBJECTS +are merged from left to right by adding each key/value pair of each object to +the aggregate object in turn. When one of the JSON-OBJECTS contains a mapping +from some key KEY to a value VAL such that the aggregate object already +contains a mapping from KEY to a value VAL0, the aggregate object is +functionally updated to instead map KEY to the value of (COMBINE/KEY KEY VAL0 +VAL). The default COMBINE/KEY tail-calls (COMBINE VAL0 VAL), and the default +COMBINE simply returns its second argument, so, by default, mappings in later +JSON-OBJECTS supersede those in earlier ones." + (match (filter (lambda (v) + (not (or (keyword? v) + (procedure? v)))) + json-objects) + (() + '(@)) + (((and js0 ('@ . _))) + js0) + ((('@ . alist0) ('@ . alist*) ...) + (cons '@ (fold (lambda (alist1 alist0) + (if (null? alist0) + alist1 + (fold (lambda (k+v alist0) + (match k+v + ((k . v) + (define-values (popped tail-alist) + (alist-pop alist0 k)) + (match popped + (#f + (cons k+v tail-alist)) + ((_ . v0) + (acons k + (combine/key k v0 v) + tail-alist)))))) + alist0 + alist1))) + alist0 + alist*))))) + + +;;; +;;; Phases. +;;; + (define (set-home . _) (with-directory-excursion ".." (let loop ((i 0)) @@ -49,7 +281,7 @@ (define (set-home . _) (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"))) + (jsobject-ref package-meta "name" #f))) (define (index-modules input-paths) (define (list-modules directory) @@ -73,27 +305,24 @@ (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) '()))) + (define resolve-dependencies + (match-lambda + (('@ . alist) + (cons '@ (map (match-lambda + ((key . value) + (cons key (hash-ref index key value)))) + alist))))) - (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)))) + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + "devDependencies" '(@) resolve-dependencies + "dependencies" '(@) (lambda (deps) + (resolve-dependencies + (jsobject-union + (jsobject-ref pkg-meta "peerDependencies" '(@)) + deps)))))) #t) (define* (delete-lockfiles #:key inputs #:allow-other-keys) @@ -114,9 +343,7 @@ (define* (configure #:key outputs inputs #:allow-other-keys) (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"))) + (if (jsobject-ref (jsobject-ref package-meta "scripts" '(@)) "build" #f) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "run" "build")) (format #t "there is no build script to run~%")) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:14 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:15 +0000 Received: from localhost ([127.0.0.1]:50961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3m-0006Ub-Ao for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:14 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:35764) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3Y-0006Sm-Jt for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:01 -0500 Received: by mail-ua1-f53.google.com with SMTP id v14so23604777uau.2 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gabsZVpGWF7PrCHsV9bFg142ypKkJ92o164B8EoNLQ0=; b=WdBAPj0d9BXytruu94kh+WwZ8ZOkxeZxnwsvTkDtakBrGZd4/7lI9DVaJuePybxD59 ELy34Ql1AXsWEvhu4cU+l86I+vfVHQAQWLFWhSwD+4Z3k2zH2QDYFirMMK0tj+63m+P0 EeRLO9yMo+QqtHK34q5/cqnziWhvsPPyo1/Le/WylQyibIWFGMgs9ZvDstOuJXI5X5Mq njEWSnhYIGRZszJlcAUVXsxfu+G9Joo4jBKg9w4CjiPCZ6KJa9vG4ZGMt4yT1+1zxcyj f0cw5GepaNIzncvC9oIxvYXDC0tt7x+JrsUJerD/gHhGgzdJVAbLdoPUJ7GXJR7jwJT5 gRDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gabsZVpGWF7PrCHsV9bFg142ypKkJ92o164B8EoNLQ0=; b=x4jx6aiksWGi6g2JvhnNrIDdzZkPpCxIs3ZItIIiY+AcO97FqMzjcctDcM4mPxllV5 XQd7n0tmdTanKxKNWW6gGZMMsqJcUynN9Ua+VESjff4t4qWsoBrtvYHP6ht1hz1RHH+/ /HQ5nDH10DW7JPkvwaD8eW/5acgylgjjjJUorrJ2h00CtKHTgVu0J+sMxkGtndZm2cpi DKwL2koRAVpbDH6oli3YRi5FFSDkoBR6fgHeZksN7m3jLzBNW58g6yfWoOMBioKcHWAM DOv2VxYP+Q9Q0l0u8YgEOTTJQxygS2jjitCpdm67j1dPrN7v6ZZBjyymgQDIeS342kqh SzQw== X-Gm-Message-State: AOAM533Go3qMFVlJiIJtWtkDeoj06caSO1sIeUUbDkkzk2z6FAq/KyNt 9r00q+FvQWbH3pksH2KgzFTWVf7rHHDNwzNc X-Google-Smtp-Source: ABdhPJwHk73dt6RUgGNC2AC8Bg+XqKxc529GPRSBOzU8XtorRq2CHum/Q5lrrAjKc3Uo6MN1/csrdg== X-Received: by 2002:a9f:3526:: with SMTP id o35mr9637883uao.3.1640850054990; Wed, 29 Dec 2021 23:40:54 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id k23sm5125495vsm.1.2021.12.29.23.40.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:40:54 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 04/41] guix: node-build-system: Add avoid-node-gyp-rebuild phase. Date: Thu, 30 Dec 2021 02:38:42 -0500 Message-Id: <20211230073919.30327-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New function. Override the default install script for packages with native addons to prevent it from attempting to write to the store when such packages are used. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. --- guix/build/node-build-system.scm | 50 +++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index e5c4da5091..dc8b6a41c2 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -380,6 +380,53 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (define installed-package.json + (search-input-file outputs (string-append "/lib/node_modules/" + (module-name ".") + "/package.json"))) + ;; not with-atomic-json-file-replacement, because we usually don't + ;; want or need to overwrite it + (define pkg-meta + (call-with-input-file installed-package.json read-json)) + (define scripts + (jsobject-ref pkg-meta "scripts" '(@))) + (when (equal? "node-gyp rebuild" (jsobject-ref scripts "install" #f)) + (call-with-output-file installed-package.json + (lambda (out) + (write-json + (jsobject-set pkg-meta + "scripts" + (jsobject-set scripts + "install" + "echo Guix: avoiding node-gyp rebuild")) + out))))) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -389,7 +436,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:15 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:15 +0000 Received: from localhost ([127.0.0.1]:50963 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3m-0006Ul-RQ for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:15 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:42918) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3c-0006T3-Sv for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:05 -0500 Received: by mail-ua1-f41.google.com with SMTP id p1so19174104uap.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ne8pGJ9kUtXMj5bwYXTGGl5XtxTwLREPsPAiNa/6+bI=; b=a2itEVbw1crUFFIZTMDmR9MsE654TVEaBaJumtTonQS8reFJLS49C4YhYpdIYA+yTq Jzvm4xke7NsfTTalpp7wUHRF0Fo6y4gorhDnK+w3l9FNihzAeWiSSHr+q7ua/W6ubHql 9PYrO8i6qKh6s7VxdgL3hD8OFmVp/B3So9P3+TWRGC0r54UvM7BoYkAY7MDs3TUYaEXZ cb8hv5UnTPWfEEEzVDjPKsOvVnsQPeqfjeb1yi8nKpvo2+L9DO7xl01Au8fadGdiwSse iHKDyIumos1gF5z5g8SolQ4UCNuQrnAKZwEXNLsg3IXWTBS+r/ytsZXlqbB0kPRrgjYc 0uuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ne8pGJ9kUtXMj5bwYXTGGl5XtxTwLREPsPAiNa/6+bI=; b=p8hgsVzKwoiaqAR35QUNZCVtXTdQjqric8sqFxre6HgXWCXisXmC2qSzHDZZT5hY0g MPv2BVHIidZQ33rwDqr6jicVnwKQiPN7QzDh1hTOmIf98oBvR8JLQnff4ux3MN0QEBGh LSflBIFXanwi9wPLqoUjdnsDJoQJJGkYMx/YgyMPJ+/r6y/D1KEwxh2EVFh3N7sUMPov zvBi+1FmI3g+wKQXAbC73Vp0DjdSBwFF0HPEhlW24olfWZGqAJSggzzjC1HDslWuP2Fn Q2YsFoyo+CIlWqrDxfweKIx25tP6PKNRENLzpoBNlrcHxY9zYUKBSn2CeHG8B/xwgwhG 9dNg== X-Gm-Message-State: AOAM530Aednjs+oW4qT86kUC9FqF7zBiiS4xUb38Q3weraG8Cc03nWeE HsOzPdZZgoNrn+XHlh8kQz6V/vPFsWrjszpH X-Google-Smtp-Source: ABdhPJye95wIi/kc2ltOwkDr3m92jFT71CQtpAmUDQwQwI549SEKlmUlSbIP+Jg6bhnHnM03iC7ZEQ== X-Received: by 2002:a05:6102:1358:: with SMTP id j24mr8944436vsl.60.1640850059475; Wed, 29 Dec 2021 23:40:59 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id z11sm4017626uac.13.2021.12.29.23.40.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:40:59 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Date: Thu, 30 Dec 2021 02:38:43 -0500 Message-Id: <20211230073919.30327-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (delete-dependencies): New exported procedure. Functionally updates a "package.json"-like value by removing specified npm packages from the "dependencies" and "devDependencies" objects. --- guix/build/node-build-system.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index dc8b6a41c2..9967223b86 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -27,6 +27,7 @@ (define-module (guix build node-build-system) #:use-module (srfi srfi-1) #:export (%standard-phases with-atomic-json-file-replacement + delete-dependencies node-build)) ;; Commentary: @@ -325,6 +326,23 @@ (define resolve-dependencies deps)))))) #t) +(define (delete-dependencies pkg-meta absent-dependencies) + "Functionally update PKG-META, a json object corresponding to a +'package.json' file, to allow building without the ABSENT-DEPENDENCIES. To +avoid reintroducing the ABSENT-DEPENDENCIES, only use this procedure after the +'patch-dependencies' phase." + (define delete-fom-jsobject + (match-lambda + (('@ . alist) + (cons '@ (filter (match-lambda + ((k . v) + (not (member k absent-dependencies)))) + alist))))) + (jsobject-update* + pkg-meta + "devDependencies" '(@) delete-fom-jsobject + "dependencies" '(@) delete-fom-jsobject)) + (define* (delete-lockfiles #:key inputs #:allow-other-keys) "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist." -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:18 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:18 +0000 Received: from localhost ([127.0.0.1]:50966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3n-0006Uu-7K for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:18 -0500 Received: from mail-ua1-f48.google.com ([209.85.222.48]:43795) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3i-0006UA-Lu for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:11 -0500 Received: by mail-ua1-f48.google.com with SMTP id i5so26202797uaq.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=H2LzY7P3WeOoUdAQyCm8Av9nJr2hqbiupO17CxcpjGk=; b=E2wnY9SYYAX/GqN899Ir7KEtMQgcugXNkEe4b85CBheWZp2sFnTo4dl0ElASAL1REb 67RgyH2zPVQrstfwz9gtt/TMXXpmjY3XxrKsZdDbzreMX0OnU6gqeVeaCPrZp/CfCt19 WIqUML3GOcoNrxuFxiWuVcu1vRHc1eRyN+92WF++IITQ2hbq4dymS8pLrbhFeWveSMB2 pTnh4x9Dkye72zEYnAR+r3pUfRdRsEgUtYmgHFXEnyNrnT8ez1sb0mJ2SiuBrxLoXWSB oUp1b2XIFaJAtojsUljYH2W6JCkpskDqix8zUCMXAna43ryPk+oimgm1lIN7OwNTtU48 7YEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=H2LzY7P3WeOoUdAQyCm8Av9nJr2hqbiupO17CxcpjGk=; b=2KFpfKSNRhbvT/esmMjLWNUcNguKDbBEMt2YRdyMTKykfTjsyBJIDxTnAznqidXGu0 QGBKruJBFh3P6xLF2w1ZXFJ+j+0Zab5157ip8fhiDD4sMKUJAPq5GJMzIAiq4ke/GqRH nbKOO9m/sb8T3Jtj3pdgL9NJm0JNcCoRxVzNXMpTY1tfQRiYp7X5xj8eNL10dqYbRlM4 0GPmjHkQXOBxCvkC4zw9Dk1RmRjBQsLnefM2twPrWwL57tOaDyQ+w3asypdluHdiqY40 qgkU5Oq4k2okm253L7TYotsWcZ+Ek0tl9pBlrZrvJ876bYQygxyazhCorZwU4t0ww432 nbig== X-Gm-Message-State: AOAM5307oUrIyg9zfy44r7nYWRI3Tj75/uISVt6QqjF054woRjA62GwP oJYM3IoFvSu1sOeicsdo1JVRwOPEx+RYCuaf X-Google-Smtp-Source: ABdhPJxIMukWySh2Gvjxyeyk9R4iXn+zm+8iHbXDGVrpWyFKuGk/G+kkfI3O7jbs3a/Mm+YhN8+xlg== X-Received: by 2002:a05:6102:117a:: with SMTP id k26mr9373246vsg.70.1640850065208; Wed, 29 Dec 2021 23:41:05 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id o1sm4674554vkc.35.2021.12.29.23.41.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:05 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 06/41] gnu: node-semver-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:44 -0500 Message-Id: <20211230073919.30327-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 51a393caab..255a92964d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -346,7 +346,11 @@ (define-public node-semver-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("tap"))))))))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:52 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:52 +0000 Received: from localhost ([127.0.0.1]:50976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4O-0006X2-AY for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:52 -0500 Received: from mail-vk1-f182.google.com ([209.85.221.182]:40786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3m-0006UK-TS for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:15 -0500 Received: by mail-vk1-f182.google.com with SMTP id 70so13266395vkx.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mQYMm3OgaRPLLHmBpwDAFjkf7V7EO+0pMh7ijjGN0vg=; b=C/coK5ep1ajt5HAi9CKhp2p/0nE8hAXvk2fCzuX77CxvGWF1C6OBIlWqh4Kkjdt4VD R35KoVEocAII0mByzrjTkxkan8dYO8xzBFCqc5cBVSY2C18lXdjuiDWbKft/VJo+NUBl XLCITd3cC5xikKGelbPPghyDWuaDEQqLzGIKOngmh+fuLBZ7L1ZIytrt9vPUpRFOS8ZM XhKE1R5xR9vdBRGE1gRtNMnEaWvNsuMbaFfSXQzF2uMyft7X9dyKGY9Wu1pJIJBheSkF di58sGJhbKX4adTwNiZVjd17SlsIKk+VyJ+r0+FHL+TMon7S3kjcxou4j0/J4V2LoS74 5LTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mQYMm3OgaRPLLHmBpwDAFjkf7V7EO+0pMh7ijjGN0vg=; b=JY4dQa+uuIo+7fzO5JNrECNoPoPsfE1ZaokT36IYZ7UAgmbu5McsUOYDhxCr5s4H29 FoeODQXAWd9QFJY+w8Q49TnBBjIB/oEwITh/19woId+hGFHzYOJ2lWADy8pX7DrT7alJ oXxaWXRQMGLh2qg6vpCM4y8u00NKiDKeUqR5Iq8/dgaU6xHHBCabDPaQap5xCvN4rd7p p6Lx9vE5o7xt+oixmASpt2vIgRwXKqLVZlh/ZzRu6J1hEP8+fbQdFkMVgyoQyKwTX14X Y5nI4cGXGORMuLKq0Nh6PfDWNJPje94UxWqzbIPCYK2Rwm75/4OlB1iWvPMhYzUzF3zS dDuQ== X-Gm-Message-State: AOAM5307r5Zxihy0stQUpNfu4BNOL0pnBuL0yL875x+ZRY0vPlB0AJ0A Uz+kwGrKr68kJ9Df0NHWL5OTiMdM28x8PBt/ X-Google-Smtp-Source: ABdhPJyezdveG2I7m9k1oOYq1KSQ9FZnbFdn8brKIdEMGvJuOAMnSo3PiSI6ZmnjzAL6XQStke53Pw== X-Received: by 2002:a1f:a94b:: with SMTP id s72mr9841345vke.10.1640850069368; Wed, 29 Dec 2021 23:41:09 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id y76sm3030783vky.0.2021.12.29.23.41.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:09 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 07/41] gnu: node-ms-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:45 -0500 Message-Id: <20211230073919.30327-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 255a92964d..e5a1c58140 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -379,7 +379,15 @@ (define-public node-ms-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))))))))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:52 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:53 +0000 Received: from localhost ([127.0.0.1]:50979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4O-0006X4-JZ for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:52 -0500 Received: from mail-vk1-f179.google.com ([209.85.221.179]:38669) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3q-0006UY-UH for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:19 -0500 Received: by mail-vk1-f179.google.com with SMTP id h5so5114211vkp.5 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yE3sxmUZNxHlfNpFxdEJ6LFl1+r5HYz383ILPjFw92g=; b=Be2SJBQ42yEio37A8S0NTLxq5qLwU5svqM/xzy/KTyLBS1LVjxf5m5jMqL+FTPH14l Jxj+D8MiyXhzhg8jeW/B5v7uSlitB4tA5EKVmoAcsBUBfoPQsPuzNEOqOwBBnuQULpca KGMCrbEe9Abf+Yx2CpoNoS54bC4zYqvv8tG61VCoK7jJBgVJa9/rxQW6Xc0zBsHhpg8q BGOTmDnrbG0fzU8wfgwKli7CtpLP+r4Vka6FE4Om9TDYLU3PWyIXMf8bDi6KntU7wVcl 43+mqvqZsRKIrZIQy7GSQIWb7IELWnRS+OVULSKsmTnZdo1EDEaswKUMG14RUJ1qdn2u NMXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yE3sxmUZNxHlfNpFxdEJ6LFl1+r5HYz383ILPjFw92g=; b=3P061gJiSYAXFDpdOJNyWKXlFbEFUGyl8Q7/LehXuRf/QTVPNmZDnoY5wD/fRVALhq +QxtdmcIFHW6kevY8IwhU/dsLHpxfIIWCm4RtLcZlJ3NjBbC+tWMo1p4tnv4lYgOq/0S szfLa9JNa8uz+Cewhs9eSBskXrcxWE5gvCOMgcqS3bGKLCSNS9HYpbW5ME+tGdd9c1Ws F6bg0grFFZ4v3adj47wWsbF3WJ/fb9uzh87b2bkXze40sB50Pb7fAXUB4yKOnXWcFhVg GTVgtGIGHZxZrm9bBNxzPc2LPGTUDIdPnq55f+fj4w8xCt2A5372e5LWWLkH2l1ai8cb UM+A== X-Gm-Message-State: AOAM532u7sYg4rkaP2HjHc/BkQC+Ya6L3kca1XhgVRvCxS8vAdxGVasy eAWC7DwRdUDpVvoZ2gPK7mMaF83IYvbJeUc6 X-Google-Smtp-Source: ABdhPJxS8OMmGzdG5VbBhDz7hBGG+pv7ojzKUZn0GoqY6B1DSk/AQAsirKwwB0B9rCE9ldtbNrCSxA== X-Received: by 2002:a05:6122:218b:: with SMTP id j11mr9654724vkd.11.1640850073548; Wed, 29 Dec 2021 23:41:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id o19sm4553289vsl.12.2021.12.29.23.41.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:13 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 08/41] gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:46 -0500 Message-Id: <20211230073919.30327-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index e5a1c58140..32f7c8f980 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -415,7 +415,12 @@ (define-public node-binary-search-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("chai" + "mocha"))))))))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:53 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:53 +0000 Received: from localhost ([127.0.0.1]:50981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4O-0006XH-Ug for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:53 -0500 Received: from mail-ua1-f42.google.com ([209.85.222.42]:44731) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3v-0006VH-CT for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:23 -0500 Received: by mail-ua1-f42.google.com with SMTP id p2so41014798uad.11 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yGYjNdGaYAcAYl4HCWn9eYu6vIj+pzWtOwBqKj5nIbE=; b=RVbopX/UD+u5BvMVzEoNcgYStYA5P4rDMavd8IQAsSiKgisU7tQ4W5Pg5ra97jw3LO D9QV3SBL0ETFXKeFrXdEoV49N6MydB+kdjuqH0r/ig20eBqjdZ/eqRFm/TEx9wJvSI5L qPdcT9w3j31jCzUK/xTPq/hQDkJQh/KN0zue3VQqFDVNnpP9nig1x9MqZcaMjaq3BBLL KedMgqnLe2n6fysoUma3iIbGvrUc4voKJZMIUfyA0jyrwlMd+7lF++2cs+shRuip71r5 Jsfyprm7mrYuO398eyXct8ujXCdEFJjLVvIuu5ZkXLiiX7IvRnc95dE5XHZHVaEm0EpW GzIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yGYjNdGaYAcAYl4HCWn9eYu6vIj+pzWtOwBqKj5nIbE=; b=5qsaB0U+S06oikTD0fwb+OhRr/0+o3O+GUC2P3yECCzgDPz4Kkkht59co7apdJOVAh bzQExQmhiiV73GdIfPOrP18UjJzP7M2erTPy01pyHM2AidBCb73KYeKQaEeZwANNiOC5 TmavyHE8mPOZJ6wYKG9qLwFMU9+iArGJVtCSOC481SWp6dRcr3Y0UnphpLegfjIZe48t wbkwghiawSLyUn8ucQcy7gklVLrM0XbIx/2c7Pui0RQaiCbPR+G8b20d3UtvPxP449PG URoej7gjeucIWHW/56nS1LLQZU87R01yYY2GBk6EmVCCeORIf0zdZrNvW8dHbTM+yTgT u8kg== X-Gm-Message-State: AOAM532ACPXyFULVSJ9O7Pi0MWU72jHjgldmfkaixI6+MkQan1C7lcJK fa06RLHiGMunveO9WAS9vPZYuiGlt3rd0xSj X-Google-Smtp-Source: ABdhPJzAMUS0NWeCF7Op7ioWf07fyKiUGl/SGZhRWrbLf5MqCBQR+ZCYtn8g+55IhMfGi1msT6c8UQ== X-Received: by 2002:ab0:1e4a:: with SMTP id n10mr7444590uak.66.1640850077906; Wed, 29 Dec 2021 23:41:17 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id i62sm4675877vke.33.2021.12.29.23.41.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:17 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 09/41] gnu: node-debug-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:47 -0500 Message-Id: <20211230073919.30327-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 32f7c8f980..6e37097f5e 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -447,7 +447,22 @@ (define-public node-debug-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))))))))) (inputs (list node-ms-bootstrap)) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:53 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:53 +0000 Received: from localhost ([127.0.0.1]:50983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4P-0006XP-7J for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:53 -0500 Received: from mail-qt1-f179.google.com ([209.85.160.179]:45699) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q3z-0006Vb-SV for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:28 -0500 Received: by mail-qt1-f179.google.com with SMTP id p19so20987182qtw.12 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+qwccSCkM8gdI+vczmjtGaXsD4MhFYZYZ5EpQNCYEzI=; b=Rrzt6LfffxNEoubTUmmSK9jbxlAuaB/+IxO9uFyDJCNEOVil6kjlKuMzORBWKXEo/p FjAET5aYfRYvjTRIjOqFNvOLdUYt1GdSk3XLLI64v9phSIxxxbrPglu3+E3WBLmse44y L31xwBnYJQ+Wm4T+sDGZdIw1Arma/s7J4h9pRY5u4OtWU3q+C9CJcvywe7FFRTUI68PG 5S2gDX74ie72/iHDXsL6gS5l9D4UPr/SUwA4eusLgGJUE15WEeCEcIhTgk9O+cRXmS9l QqCMGrbIWwIjnrKmbwN887RCyBG/Ilgswe76SXxiJ0V61vlbTlOki7WvLDodq8bKoCgC Hy3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+qwccSCkM8gdI+vczmjtGaXsD4MhFYZYZ5EpQNCYEzI=; b=37cOw81UwsnwvmLCpDb1pgzyJhozahE+UyhtKDj7+ChLLQW7vqG/GvXcIgN5rf7kdS w/rHWvzxLSQ8Hm/j+dDKpefqGIGEj69spda+PZQ3Vqy73dYjdvM7b97YPcGQqVWbCv2r KZLizTDBlVNFwGVl6WIl3+hAllLckmPGN2AY5nUdtuswwJc3Y63Dtl67B1FUW4UzZjm6 f2DrhZYxqOxnzr2tR+ETK/OemKAblihcGzaWe+J+l1j5Nz5yH28uGPJeIvYS9CYcKQ47 gFX/f+42agXBd+mszyqCcJ/sSBMl+2vaSwu9ulL2/bBbVB4qJZFWHJZulCLGaw3mWAAH PiLQ== X-Gm-Message-State: AOAM531X1uMPZWg5nLNqt0t8WW64HzB/wL89JPdrIiRfu36g0heEOYMP KFmKhDOnzuKOIhq/eJMmtaNZBocJWrkXcBey X-Google-Smtp-Source: ABdhPJxyFZO+P46Tkio5yz2kkMHKXjWaTMXjr0PqGbq9gDZbdlTvwbklL48DsZypkZz63H6HgWQ7GQ== X-Received: by 2002:a05:622a:58b:: with SMTP id c11mr25244863qtb.470.1640850082202; Wed, 29 Dec 2021 23:41:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id i7sm19998771qkn.0.2021.12.29.23.41.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 10/41] gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:48 -0500 Message-Id: <20211230073919.30327-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6e37097f5e..0563d9c290 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -516,7 +516,16 @@ (define-public node-llparse-builder-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript")))))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:53 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:53 +0000 Received: from localhost ([127.0.0.1]:50985 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4P-0006XW-HW for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:53 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:40905) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q43-0006Vp-Th for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:32 -0500 Received: by mail-qk1-f175.google.com with SMTP id w27so15872440qkj.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=B5mcdC9XxIwiXZzENz1yWxPvf27Bg8BlouMbf7pD79A=; b=J+g42x7tuF/HU+KPbcuKQTvTtt4YKkUrWSWSmnHQ69VnaLj836noNDR9wbiCrbtcP2 k6mHMRoe4uTJCtY4p8mG9lvxwDmQP/5jnbaX0cyzGMOYPlp+laAYF0P+kpjim4P1i+st GL1uDqjVbl9mxFvlSQWM+WEmnBUesBGL98lHUBLPQZtRtaZQuPL9YocjosijtzFCCvWR GYWgkCljfo+hdpjXZVB96bWJsbonTvCt1QhFR+k7YTOYawF7/kVmKRboIeOEhHy2vVmJ hi5Y1AMIE+m7W0WuiDa6lKGyDA12LxsJ20/nD0HNs7nNuxiRgF1GfyDpgEKNtnHRYq72 LodA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=B5mcdC9XxIwiXZzENz1yWxPvf27Bg8BlouMbf7pD79A=; b=KqIML611qjYzSDqR8QLDP1qeTGpDLG17zbHObtPPTpJUCgkn3wdZHji85WXg1WZPVV C6i4RvXrARHCxDAdK6Cb9Mx1aoT8XtdEGGXdefkkaPJC4TsEF5vaj6y6IFMdnkxLepcb F3ps+ldUWo8gRwfab6jTlsAUMUU6whPobk9rvIoXplEB3gjuR9/AE8g1Cw8z4nK3gk7I gIhRht+KTfOmMIIZFzdc4DlqypxI1zX9N5uCT2DdVoEpK+Vo1CPQLW2KhyULeYQBDhTN xwCrOmRyn9GA8iaQMI8FCd2KPanPfQFIwEDDVEDk8zvJc9GJpcJOPHXtUBef2Ewy6LP+ QyCw== X-Gm-Message-State: AOAM533DWjGe3H/DPP3ClUfQ4up8BW9IxyfNJ+zKDtZj4t/646YZ0nec +loMlRBDN5bZ23jvLo9YFSxaStruqX0hkUm8 X-Google-Smtp-Source: ABdhPJwS/6kEIx5dyYDoS0cQFp0yuNparO3tDKJRa05WHE18zWzcK2P/oTsGV92xO0eRPm1His6Usw== X-Received: by 2002:a05:620a:c4c:: with SMTP id u12mr10900191qki.784.1640850086283; Wed, 29 Dec 2021 23:41:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r16sm19663426qkp.42.2021.12.29.23.41.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 11/41] gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:49 -0500 Message-Id: <20211230073919.30327-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0563d9c290..b132ce730b 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -579,7 +579,17 @@ (define-public node-llparse-frontend-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript")))))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:54 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:54 +0000 Received: from localhost ([127.0.0.1]:50987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4P-0006Xd-QL for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:54 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:37651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q47-0006W2-OU for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:36 -0500 Received: by mail-qk1-f177.google.com with SMTP id t66so10531354qkb.4 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QC37rL+KmoDShkQGxJ2XFA4u7ALzTOgIO7nDHYUWv3I=; b=EUK7zwe5fKSgo18eoBrExxAV212DqGimndckP4D7hVKoJbslqC79k37+o2nMNsyp40 tha1T6QnuVD6exWVHASGheopQKSSqirIWixNlQL9tzEoSgTbgTXecLmZTmN+RfBhkegi MwrGfdF47kD1WuWra0GQWg+TxT1H5n61s2Rey+fnj+oaw38OHcW3Hxkc2neBdGSAuNFm /EVsGEj0lBjYI4CHEMBbugA5gtuHqJ7zJZp2VrmdJ07c7oeAFVqWcTG23SiuvGO3OPHs 6zuozyZAbpnfDSw3yPnd+GtyzQAcDUNzlNwzYS5k/8Hxe/uFJCCfJh7kYjhpFTgufqwz WqLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QC37rL+KmoDShkQGxJ2XFA4u7ALzTOgIO7nDHYUWv3I=; b=Up/M2dg2fkqPqPTUvk9578/u/WIHbtEkB/paNEUNbGkgCPYVoD6SKsXhDJj3O4yRFa OdAZKauco4BQ3TZHtHRdJcMgrAXcgs4C5olVyYqTxJ0ssC891ess5YxKNAGKw0K9YILi 1M0fdieu5TH1G1K4p/k9yZHR4eMHecpuSCKXJ6sITiYHSp8ng8hEvjgq4KJu0qWqKj6G dxWF4oc5M4tXSWj2+lL138EEmdUQbzHKt0V13qISB3UglfgpEN4AzzU63W1vOxp25GnE vPEFavrOfuwNsjx+Qxo6g3RhC8YGBl7Yxo2Q9eVdvZY31kwGCf91E+NIObxFZ+KXqj2m jenA== X-Gm-Message-State: AOAM533mLSM+Q0iaNWsfISxzI6ncTIvtY8iWHUGJA+FwifSl7mGLTa1H HOHNg+HaWiZoEfJM98CYddrQH5dTDNTFa0OI X-Google-Smtp-Source: ABdhPJxLfxVMha324FYRBEN4gJGT615uyTp+th1jn77UGKtHVo7vFozzsp40pYLwcRfD0CU94qf5jg== X-Received: by 2002:a37:9a82:: with SMTP id c124mr20629053qke.417.1640850090268; Wed, 29 Dec 2021 23:41:30 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id n20sm19961680qkp.65.2021.12.29.23.41.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:30 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 12/41] gnu: node-llparse-bootstrap: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:50 -0500 Message-Id: <20211230073919.30327-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index b132ce730b..5a4401e779 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -642,7 +642,20 @@ (define-public node-llparse-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript")))))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:54 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:54 +0000 Received: from localhost ([127.0.0.1]:50989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4Q-0006Xk-3Y for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:54 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:41539) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4B-0006WF-T1 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:40 -0500 Received: by mail-qk1-f174.google.com with SMTP id m2so20348019qkd.8 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=h6Uli8fIXClXzLOljhj95UhHKxS+qL44bNZc1+Ag+ac=; b=PDs1i5VlGm42n/kI9BTfjgZL4WJn77gV3KnLFoFnrg5CeMhy/STCelRvRcG9zboHvR 1SMpQmcjtVxxWWe/vmQ0FhuVwjsR99EdpJFE2eIBzhb4BzUak+yyRdCASE6GZ1ZFxBs+ 8EBCWDoD9KT92ApsKngU90Q4Eowf1GwovubR7x2ixzp9cEsfnCe5et4dtX6UMjE76Iup 4aDcSNvBiz+CJb2M/vjuTWeHea3v7QlG14S2KERwNlv8acPixSom/OyGsd74oYFQsl1/ VnKhP3VPn2c8lcxY/+7Jb6RY3jYjfMO71X+OGp4KcivbdsUMeWpe9aYG+P3QrVqqHeqB dmpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h6Uli8fIXClXzLOljhj95UhHKxS+qL44bNZc1+Ag+ac=; b=QuzMaZtW0xgZFAe04nEP5akEN5wfe1pAW9oZ6hH2aDfsovmcvSYkncViTD26fBkc38 ZaJXJ57zl6OIZC5igj1VG78IVicQKz2aquBszARTCO1cCAY1iBRDWF5Ac+KBHMU4glgm rVzjnZ23yRAfuISu9pzHmCJL2yVblNzyjSN5QPMFx3ASb38O4mApGT0frWZxpMhhS+9L VnNmuPpGf+FSg1ZjFHigGWFc3jfy2lOY491CY47e0QNzKvrMTs9mQB0motQOCWngK+E3 EhVqimBwiI30AKItjhWwWSy036P4YKMQI4TuH4Hu9LiLRXjBDc+wu4MOIdYLTC3NsuJc cf+Q== X-Gm-Message-State: AOAM530A853pm1pHKA7/p+uH1LrT1AdLqrxzXFydhgwJ/OmvZ/lZAxFG thPsf7ObxuXAS9hIw9E8jw2jpu9UrFo72rF8 X-Google-Smtp-Source: ABdhPJzisBuet78l+s+rQp93hiweK3TOIjESbM66vvjRQHaQkzpF/wAPLplFFrrX6iaX3UGbj1J7/w== X-Received: by 2002:a05:620a:4446:: with SMTP id w6mr20809875qkp.273.1640850094416; Wed, 29 Dec 2021 23:41:34 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r23sm10320063qkk.24.2021.12.29.23.41.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:34 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 13/41] gnu: node-semver: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:51 -0500 Message-Id: <20211230073919.30327-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9a0be96852..08a22f4aff 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -288,11 +288,15 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: Tests depend on node-tap - #:phases + '(#:phases (modify-phases %standard-phases - ;; The only dependency to check for is tap, which we don't have. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("tap"))))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:54 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:54 +0000 Received: from localhost ([127.0.0.1]:50991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4Q-0006Xs-CG for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:54 -0500 Received: from mail-qv1-f51.google.com ([209.85.219.51]:45813) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4F-0006WR-T5 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:44 -0500 Received: by mail-qv1-f51.google.com with SMTP id a9so21379087qvd.12 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=z5Nxc9HvvHiRph6r5m6QgjtJVZ/3uPI/rx4w/+KtkW0=; b=C3xQe9TB+g+KBLDINc97tcDYe9YB6lDlcBvrJ/5+aExTtMapvpH6m8IB9bWNpRm8N+ Lz12olAQO5jh1s/3uZBmI7WrnIAipE4lI867oeqOUkD/ryluuePOVLOa/MOyYOYGB0Uc eOrh7yf1SrUla9gb/Nco4NPGVxXD/WECrgEAQ8cS+19wJOIDiWWgt8M6m3c54fenngMo MIOSQmdcLnFa2aMpxFCBFku+U+o9AE0vOeOZtg1Hwzs7E62rb2JCQJQ64DfGqUsazj/X cpil7nSfuoNsgUSoyKCyiZwSHy937wYW0TgSLxBHxWYn0nut5mUg70A+9ijngC/3w/MS 8iew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=z5Nxc9HvvHiRph6r5m6QgjtJVZ/3uPI/rx4w/+KtkW0=; b=U3dv4CDqew5L5yTZjipSGCchYYI0KbtotEFGQvgtLFwz0Kv+Ywq06MTyjfcs8ADwl3 ItN7HyJXwAozKacM53FEqkEa9ENhPnCfrlQgEsA5KehrAocRy/h+qT1TWGH56j+skkUA OIHdIdhhHW1ZILF78kvn7AClEB/QFwbVL6KQ60qH8lK+JA3o9Zb5D1TRk0VcT2mTq5hS pBTcK3+ih40oiqZhNL+mfix6eruGks6l8Ucjf6DUHXItZ3tINvFgLxK0UfVz3xW35W7l lm009r2m27+qgN2Bc4MVVJqlxiqf1lLk7RA3Dhi4ZcD8CFhQVuwR6Jx3NfrN4Br6MyHq cHJQ== X-Gm-Message-State: AOAM531LvyYQWUWd5boK8WsS62BxyYRi6bwATLp+kg4Ez/o25fn8B2J3 PS+XWMK91HeeIZMNnK03RPCJinqh0kCLzz+P X-Google-Smtp-Source: ABdhPJxV7KP4Lmi878hSRHktv7MhHycZGiRyQ26sNbSCV3npcfPrkCVWtZ5KhzbrlITyzFlKxUNTmQ== X-Received: by 2002:a05:6214:27cc:: with SMTP id ge12mr26284959qvb.122.1640850098417; Wed, 29 Dec 2021 23:41:38 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d15sm19961997qtd.70.2021.12.29.23.41.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:38 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 14/41] gnu: node-wrappy: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:52 -0500 Message-Id: <20211230073919.30327-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 08a22f4aff..da855cb16e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -322,8 +322,11 @@ (define-public node-wrappy '(#: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)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("tap"))))))))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:41:54 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:41:55 +0000 Received: from localhost ([127.0.0.1]:50993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4Q-0006Xz-Km for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:54 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:45719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4K-0006Wc-0P for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:48 -0500 Received: by mail-qt1-f182.google.com with SMTP id p19so20987682qtw.12 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NIU8UcgMm+9FOaM5dG2UMVcitf8acoZ/HRfS6zhUHB4=; b=QZGVijNA1hMSTfZXflZrZYbeE4OXBoQeVEQ2ELvrgoVtO31MCx4Kkmd5g+GluUVe/+ b71gPERwM0QIwMuueg9SkRqquX61471RnegMzovDhd5mwsFpsn+Vx29z0gmRsRUZircJ /8pdCGWWn+N53tQizH08rFgLKD0FoCaFAkwC0Q3YeRWbTVTvmyInAY6D6f6cYPsrAgeU r4kFZguKH4nph2DQxUbDdCp/e7A6s4++HH/Y347xxRyMCSQkCMkz+Ij4BvuL7i8lSQZZ 585pSfQYUcTidblOQUByMCqe0XDyOFaLFx6M0r0Pbb1aS4YGY78w5ahomC72Xzlb6mKI lsjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NIU8UcgMm+9FOaM5dG2UMVcitf8acoZ/HRfS6zhUHB4=; b=4opMCGktm5NIXnu1fQap9OEqI23z3G3bJYPxJt4GCFJFq3ddeJJeXZQb/7V469Q8NN d+GScwbtGZZJ/xiO4zKgYpgwmqWRrNRagrpe88CqG3GkgE8UvL+k+28Wgy+9rbKW8C0X zgpldgA/NrTuR4NHR0cDskVN+bpi7bzemBgRT9uvHMJMycqOnsXQ3hNchvohCbtfM+bT IiSfsx1Fm5A4TEP5pSWU//+P3am16ufHxqSBb7S7AvioSf8aMjn5Yo0AFdeUKyJHbDgy 2s27X/4sevupxbxyySMCxQClTK6dbxUWUWykghQuMtx9b3uRoWeJdXzKqRwsHBiwfq8+ DAiw== X-Gm-Message-State: AOAM532HQaVE2OTZuPx8eyrmowj3d3sCbOqTn7FB3xbNNxVUNc5PsYx+ YQt/2Jxg2lMqdvGEygrrSlap8aQ5MxboSff0 X-Google-Smtp-Source: ABdhPJwkzw9QMtdjW2/CKpgCzaSvfp0+yY429cZ6dN1X2I/ocCqXVODLlr56qUJUfgZeqCDVQqNDGQ== X-Received: by 2002:ac8:7dc9:: with SMTP id c9mr25849827qte.541.1640850102490; Wed, 29 Dec 2021 23:41:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id q6sm14264507qke.61.2021.12.29.23.41.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:42 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 15/41] gnu: node-once: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:53 -0500 Message-Id: <20211230073919.30327-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index da855cb16e..ef251c07bf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -347,13 +347,15 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("tap"))))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs (list node-wrappy)) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:20 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:20 +0000 Received: from localhost ([127.0.0.1]:51030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5o-0006e5-1L for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:20 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:33751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4O-0006Wp-Bg for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:52 -0500 Received: by mail-qt1-f177.google.com with SMTP id v4so18421961qtk.0 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9dgV63hXMepkP16/0edfkH6rsFPr2tK2cC+nECXw9+s=; b=NE3dn2VxBgKXZmpKkYuozQYWOU64U1n/nDhTX64R9//iGzlGOVdoZwORBVDHy+0+Hc tAxoggxHoSUJyZ/s+AphPgNtMbX+yO5njrDT9LdzJ/noNUEQ5w+ClWRdu9BXfj/n/HfO 920NhMNGP4XO3FZP/eYoP8f6kmAQwQP7Ab9R3vMWY94S1u/WMe/2iRft4pP4a8RQBl+j k6hQmM0Z662TluPmbrgdyIqOkC5Dch4uKkc89sKxamJmxVaV8oRJDWKF4CTeBIxWB1KP kVp4Kn1w0SSVnbqw9o3yd4YyWX3qLBRUtdwPJvp7l/G2icnFYdx+xx0oSyLTlW3BenYg NOOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9dgV63hXMepkP16/0edfkH6rsFPr2tK2cC+nECXw9+s=; b=McAwCFQd0cEsvb/iqf6nIouyP3JsXz55rdm+t4QTYNSV+JWZycX/3N+kD//PNW3p7b 9GLj0BG+eeTKFIzEY9ThZsoBt7jTnoDCV6kEFFHTXGqtbKiaYEj6TIz8Wcb5Z/JyUrPa yFgpYxF20Q8aq41ps91YbQLBhxcsuBCuokTxeWMrJ2QFj1WFEx+xKyUIDPpjELhIvetH GzHl+WTPQ5NYU58eqXV6QnfIQfGXSabNh7Ono/qlo8cOgcgMV/imh5T8Yb+pbd67pNoX tnFAIun2hN6/+gIJDANHSPcQWk4zEB5EFmahPwhM89AoV7uhACBpPfQEluLLlzh2clSE 3+nw== X-Gm-Message-State: AOAM531i3R+CHhKpewN3BEQdViphO9XSRNdXxD97hH9my1v+vn3qhHTZ CacgRRxZzfeoMPaaB8dIn+hynfafsHzza1Le X-Google-Smtp-Source: ABdhPJzRdd/CfhOhuBcZYyZy3JT+2vnQYCpXWlhUFD8FnKlWukvq9lMDK21DzrZa00J2aPtb9LzspQ== X-Received: by 2002:ac8:7f0d:: with SMTP id f13mr24980699qtk.341.1640850106868; Wed, 29 Dec 2021 23:41:46 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id l15sm18809259qkp.16.2021.12.29.23.41.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:46 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 16/41] gnu: node-irc-colors: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:54 -0500 Message-Id: <20211230073919.30327-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ef251c07bf..f9c7f7ac2a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -381,12 +381,15 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("istanbul" + "vows"))))))) + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:20 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:20 +0000 Received: from localhost ([127.0.0.1]:51032 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5o-0006e7-A2 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:20 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:34653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4S-0006X0-Mf for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:41:56 -0500 Received: by mail-qk1-f181.google.com with SMTP id b85so21999897qkc.1 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:41:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5cWrDeuRjXOySQRBqJHucEXx5bfAEvFW3+DrIQt7XKA=; b=KlwH9bDjBJi/d11C+VyYd4oJR8h3/DZ/dIFr9PdjqYIerrGrWheNseHkT1+DAqFdPF YeSTgSvu6AqcVOOmcpOGbZRnFBFfVDIjJBaIvxmP+f5VVzOQ5C5iR6qNL5F7gG9ZHZXA 4FB99JN8Zjo+L30iLYutmAtBMBbB86oOn+8LMLLoxyf83IwvtE81tlBESM21kjB6N0qk FKuqT2Jxmh5HxtTD0OjA50m4xadht2zee4cHXrXWXUcLNMqeKZ0aHfbx/QfA1HyL2TaO FRBHmPQvkxaIutZ2cftqmylkCCsu9fF7lw5WRRoGnDSLGqeRk2StBVzXBctA6If7NGrw ZflA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5cWrDeuRjXOySQRBqJHucEXx5bfAEvFW3+DrIQt7XKA=; b=dyzHEeM6RWLeWHSjDpxIHHLibUmaHISQ3XmIN54jv3y5/15Eu+uEP5HSvCnCvvL1Ka AsP73TgkjUi4Me5HGd/bf3C/16OoVXHuI8OPRpyeHbuOz4lWpqs0GHX8ouOjC/31CVZY dz+LOUO+6CoIYIJ6MJt9/+kcFeymaBkfk/8eGuCMgpslXarDVzEUaDppB+LqM32wg62O TWQMoALaKSC9AqqxV/phPRlxFkFh91OZ3n04d5KN2Aay5KsuU2KcW0y3TpePdprD7Xfe A1BQel7AIrZ4mI51A/ISM0bW30o3zHILWCxfXVD5y/9g5b0NMOv1xosO+c8iRAvB2cS6 iK+A== X-Gm-Message-State: AOAM532Zx1mEd0MYEFe/yQk8GOBI0JlrIsCujtvH9/mWmhR+nQZnHYt0 wtBoRE8QYYA5tp5rFzxs6yiPdPDesVJgJkzr X-Google-Smtp-Source: ABdhPJxmLNnpHvmMHkKtlOrR2Zn2+kN52bunvMj8nX1OneMCRKInKP83+BLmMfWqJt74luPFLG6t/g== X-Received: by 2002:a05:620a:1a95:: with SMTP id bl21mr21022144qkb.200.1640850111174; Wed, 29 Dec 2021 23:41:51 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t12sm20079136qtx.58.2021.12.29.23.41.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:51 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 17/41] gnu: node-irc: Use 'delete-dependencies'. Date: Thu, 30 Dec 2021 02:38:55 -0500 Message-Id: <20211230073919.30327-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index f9c7f7ac2a..feea4ca614 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -413,12 +413,17 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("ansi-color" + "faucet" + "jscs" + "tape"))))))) + #:tests? #f)) (inputs (list node-irc-colors)) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:20 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:21 +0000 Received: from localhost ([127.0.0.1]:51034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5o-0006eE-IH for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:20 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:39790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4W-0006YD-Mp for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:01 -0500 Received: by mail-qt1-f173.google.com with SMTP id bp39so20745776qtb.6 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KU8riiWa4D6MO431ulR2wJcqt6mq+HAXsnWFE4mBnCg=; b=ggjy/WBtq5kaHjqHZYbz5WgUVYwPBi0yS+UGUnxIuNi1680WNtmsgFKVSBeTjLYQr/ 37N/nZe2BHunr1vx9AlLo/aPI3TVWJiNTu7Sx6HnXvN4q+c6DC5theBnfrkY5jfD86+B ZLQlGxtKCpgs1jbgd+NRj7dA/CFVN7oFb7vz9mlr9RVnsZEO9IfWKH1tsuY7T7pc2fjS CCQkSZe892SZSU5fcUoLDoeORHrgpCgWO5p5CLBy0B0onbkjcG5U7aSi9ir7fyd28OKl MxupMNU/JS+Xng9AkWOuW8WK0uBROoziUO9K3vRocED/j9V9Ce3JdSk3i4XA5T5xW+HU 6MTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KU8riiWa4D6MO431ulR2wJcqt6mq+HAXsnWFE4mBnCg=; b=Q4Yq5ldcin66098lFkmodnJ/HGchVVtokbQgCmezRY3eFZtfX8X/x7SS2oW2QMi7KZ YY2/dPCxTBPlMDC6HCVjr3VQDeZ+e6i3hrMMt81smL+ORxqWPecj8txUcG9747CUrFmi nsom4W5/FpqP7kHiWxDIUP+v9/yP7OAYNDHyU0F+Eyxc7JjMydk/gtOJCSGztUGD8sb6 SCE9NSOrOSl9lCXQ5tsuIw3aRKbMwSGGrZ4Yn4fsjlNUfxfk/ZQNK1uCkl4RVXNUpTJq pjPDAwgDjgpkVpBpsbTtdLyOM/titlxaZvzxspVSJr77AHGg0NIVT/tH+QYlTo/Inccv YfaQ== X-Gm-Message-State: AOAM531121RaU/uFYzByug1OumeicYSejaJExrKjCE3oSduSl9teZJ3W ZEgr/BHXOwXltDP5RkG8FnVjKhB9rc5Bznok X-Google-Smtp-Source: ABdhPJwiSjdopZENTNTDirM/z4YqmSWrG7fpNqGTPtLszfeY/xnCMvfy8UdAnJiujDg+ahmximDuGw== X-Received: by 2002:a05:622a:5cd:: with SMTP id d13mr25077368qtb.47.1640850115194; Wed, 29 Dec 2021 23:41:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id az16sm20689901qkb.124.2021.12.29.23.41.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 18/41] gnu: Add node-inherits. Date: Thu, 30 Dec 2021 02:38:56 -0500 Message-Id: <20211230073919.30327-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index feea4ca614..49d99534fb 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -366,6 +367,40 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("tap"))))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:21 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:21 +0000 Received: from localhost ([127.0.0.1]:51036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5o-0006eL-Rr for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:21 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:33761) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4a-0006YM-Ll for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:05 -0500 Received: by mail-qt1-f176.google.com with SMTP id v4so18422296qtk.0 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=b6hXi3gU1EPBmGUNE4TVRIkcMnMmRLg/4SVAZAZ3rMI=; b=YgG5Brx1aRLj9Vf29J3DXnnRxmPeccjBzUFebEu8bCdBzFTuDYInhMi5NTT8Z9JShU tbffePUFLcd0VOKSmOFquT75+MM/kYO7fNF1I9p7yz9CjCn343HNNpA2rPQpwUYFecZ6 EfZamcakhwz/FDYrNLwJIeHRiZY2KZq88HWPueYUpxZPEHqHf3jUhkfLspASxpbd5+Jp ph5k/Zt4IPJM7HMatl8ZHfWtQD2gQ2FqKE42LTc96OaV79PtJo4oB88ejmrJn08z3ofc 6+Z1pBQVErstBgLNTc5lOBnAXB5sUgUSQb7BVnuQBhlofKNvSd14g9vHgxjI/nylFyVW B+mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=b6hXi3gU1EPBmGUNE4TVRIkcMnMmRLg/4SVAZAZ3rMI=; b=KXrRKucgid5VJayLn1MCOeFBfB1uQaEi+RpSLK6KqkdxaW74WfxiBL/nzboviIc1hR sk2AaBwbDeBP70p9cH4aXXGU+wSrCpHqBAfVzPWtbn42BR+tQ6clj/hxLRYL2VrfX3Uh 5N5pj5FrJdg1vVFceD2JXiEFRbJVnSkJ/BzRov48ZB1nk/6KQRRpjE5YrCBL+Kx8QdHS BmJ7swJNWPejoeXpVqJHML2OoH6nZ0se9IRM0vnizWq/awpIQLwHyCfrjzGi3yKXn7x6 AsjYCU146uRgbZb0DUUKHJvUDbwnt/JDOw+Tzpz0Y1TDF198qXT1IaQ2jirbsrBRkGqv 5vTA== X-Gm-Message-State: AOAM531UJHzVjZKfMCD+nGNNT3fRdegf29W1Tfmc+lhqWCkYpbN1ix8e quHIhWurAvMnR4pU2iZK7RhzwzcQGS+7Im9n X-Google-Smtp-Source: ABdhPJwm3wC+y3YhkSgRkQC2dRU2UIcuQu0C/DH2C6WfYneqKGKq5MXbQVyUeID/Aq2GP/2dBJOSaQ== X-Received: by 2002:ac8:4d83:: with SMTP id a3mr25848653qtw.361.1640850119206; Wed, 29 Dec 2021 23:41:59 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d4sm19415481qkn.79.2021.12.29.23.41.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:41:59 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 19/41] gnu: Add node-safe-buffer. Date: Thu, 30 Dec 2021 02:38:57 -0500 Message-Id: <20211230073919.30327-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 49d99534fb..6b4b7efd7e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -401,6 +401,39 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta '("tape" + "standard"))))))) + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:21 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:21 +0000 Received: from localhost ([127.0.0.1]:51038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5p-0006eT-5a for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:21 -0500 Received: from mail-qk1-f182.google.com ([209.85.222.182]:45754) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4e-0006Z5-Qf for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:09 -0500 Received: by mail-qk1-f182.google.com with SMTP id e25so16271015qkl.12 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZUBmO1XqrmlWpiA0xJWqEeWo3IewRzJ+z7vnBnJrRn0=; b=gsQYf2PmMjFsL68m7sgyZgfu2G4pNz2PjBujdHzb1qfDzUENnD+goTG5wlb01t6L10 y1Y3ceRuy0zexmiKTFFUM+/n4m/iz1U/vsIxQE+dmfZuSxErnOVA/oqyf2pCWyZWMVzw 30ntTOEaI4zYxOmuOCBXfeaGMuU5VxqMrD8BPejowY8ZVJ0/S8+lrDG53KJnklQrnHu/ 2nxzElaliNvND6TFvbrMTYu1v1nFtJ/SaCQm6XyuRhk0CyHWJSDt4ZnY2iDq4t2BtDHL yUYNBnHv0napvDZP15wtGl0gMgJhMIeINrMPjD9KPIGJGRM+kOhrbgsAxBk0GjHJww0M orkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZUBmO1XqrmlWpiA0xJWqEeWo3IewRzJ+z7vnBnJrRn0=; b=hUGCDd0kXjvxygR2oaIdf6GitoDZKRVFYBDO0YiA4E8lDVCqvw9F+UbmxbF8vsXqht QWy8hyNnWw56yvHg+6Oa6BOkCbQF+c4UTEx68McxCyrKrZM6u6rBnKY0ZfsyJbjCkfOg /qlqHuFqrCo5Bi6KMxT/MWPMRxr60C+DUn4JzEkd7l+dPn2WtRUff4KphxJ5E/CfIIiR /i979gjfhf3rCJdyqoAAK/4X6g9HhyPYowsN8WxV+qh+WScmzHx8ph7Mrs6faU9nSixZ K7tuygcoWZKzJTZ8WX1UlCgFLsdpm/JHx2sa5/nbiRwfBew3BIbqmr3ihdq+SNMtwoBj bLYA== X-Gm-Message-State: AOAM532x7s21TVlmCTsu11tDM9cu/h7rXsqDlWlTM98VzQk9qEhMz7Yo wcE2d4Kd6XdPZ2cD+PeB2UucKrvWExv1LgrF X-Google-Smtp-Source: ABdhPJxHzUQq+K2ndH7oozQrdX+J0ec5jFQ1V95m3hAACcQxrkkcjRWtv8HnhllyUr8VGiOBkxg/fA== X-Received: by 2002:a05:620a:40d5:: with SMTP id g21mr20732454qko.478.1640850123311; Wed, 29 Dec 2021 23:42:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t3sm19662161qtc.7.2021.12.29.23.42.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 20/41] gnu: Add node-string-decoder. Date: Thu, 30 Dec 2021 02:38:58 -0500 Message-Id: <20211230073919.30327-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6b4b7efd7e..c8a0f79eba 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -434,6 +434,45 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + '("tap" + "core-util-is" + "babel-polyfill"))))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + (list node-safe-buffer node-inherits)) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:21 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:21 +0000 Received: from localhost ([127.0.0.1]:51040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5p-0006ec-GO for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:21 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:36854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4i-0006aR-Sr for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:13 -0500 Received: by mail-qt1-f176.google.com with SMTP id m18so20594092qtk.3 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3GLZQh4sUUoFvhsAMSve3UHtn/46Y2tRVLcF2BkMEE8=; b=JnYYTsh4+8C8gaxOc/BSu4NN1AmmuohhvCKiu3R7CVO+Hhp1gLr/EeJoAWhS2xP9Gh S87uEXDpnykbYzVCbpQaJw4TKnlF4EUtq9cLpbPuOBOmKEFimCcdiAL4WBYbsqlNFXag 5hFgEktknUUz21MnRLyyaWYTgo0KaVeko761zrtwnBifPfvz2oKZFkkfmZB3fqZWR48n Dl4/BlYuC6rb41qCJfD/M0rob19mnQkZQtOIFEE3dAiz9UXkme7ztGjvdMNKkp53zcep G6qIHnrR4htyu+KHqiHx/D7iHaeCykUpExteF8JTjhyZtUcAy/kqT3igkIOjQEtv/wCp t/KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3GLZQh4sUUoFvhsAMSve3UHtn/46Y2tRVLcF2BkMEE8=; b=isTGseEQpEMccvHQQnyEPrdJ7KPl8gmFMkPp8cTuRjMsKc8vYGGZi4KzB8N6WI7WVP 8ZqXI7YU+9kj+jQGL7JfLIlIviEN8UhENZtcvRqj57ghdZzcErT3qOz7kmJP1IhiE1zd 0GF+L2Ob8qMbQdVim7uJhnz0FCOpGhjZW4d1APdceEBLMnYfwfD4WiOsj+iCwEkbXfzE 4hEkdOu3EYaZZd36iz5+SaJ1EgDhcY/46hyWv+lUiWf9ZvqFRQrOwvMvQX6ZmgXCxGz+ QwFd8ZN/rwPre5YWo/GfPaZ6xsValnmLS11VQSCp7NNDqNgCMw+MCGQM2kSRr3NtUeEk QevA== X-Gm-Message-State: AOAM533204AYfq8dGt4G+PndLUBDFJ6kXS5G7eRN4GNjhsdeuBh/dfQA vZR4jdOoXizJSxfVTECq0f0dZTO2DjKESsma X-Google-Smtp-Source: ABdhPJxLtEXNQqo9D1+AFBCCpoYbXqCWOq68fbXTQzAeJNCdY+FZCvFQL2ZBzPiOJygNoY0Cw50v9g== X-Received: by 2002:ac8:4e4d:: with SMTP id e13mr25050685qtw.293.1640850127281; Wed, 29 Dec 2021 23:42:07 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id v21sm19920004qta.0.2021.12.29.23.42.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:07 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 21/41] gnu: Add node-readable-stream. Date: Thu, 30 Dec 2021 02:38:59 -0500 Message-Id: <20211230073919.30327-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c8a0f79eba..3f0ec35547 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -473,6 +473,64 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify"))))))) + #:tests? #f)) + (inputs + (list node-util-deprecate node-string-decoder node-inherits)) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:22 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:22 +0000 Received: from localhost ([127.0.0.1]:51042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5p-0006ej-Qa for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:22 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:35555) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4m-0006ac-Kv for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:17 -0500 Received: by mail-qk1-f181.google.com with SMTP id 131so21998374qkk.2 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bRcIPzA0x6EwY6aJviK0dFJQeEJaJrA3s9yPQN08HVo=; b=U24GSV6eBYmjx31jy5QabWY0qfD2wSi4R6Z08C3q6mKKEaDDYA+Jf+xPBUWDhmDizD 3Fo/WkMSQptLvmgsz/uDCXtTy8QQfeK5skot/SB46kRZ0ouP9vQ71HWVKkyuI2r3sKAD QoxVC+rSLtc/er5cnwSUe3OrR54Pa2sAZj/fJCzK5gHQS28bQuX2tZ0tHm9Wd0QsTNE6 yjJkkxuE27q28SWQnTFEq8AUoOjfmsdOIKGI16aYe6tX2yuTPYwk42vh+IcRYZSIOSwI yUl7NV+oH2iz1es3LpiAw++pKCqCXVgKuQHgIOmS3rZwBlnRJ7MTROkNG5ZuVMRyi1X+ LZDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bRcIPzA0x6EwY6aJviK0dFJQeEJaJrA3s9yPQN08HVo=; b=DXszWrbod8F+mVBr6J2eiZtnmVmrRGwhCE7AmHIW8G47o/HgZk5UpWEmXw7e+7JDOA IFPbpCfP9jsKj8s2hRfeUYJoam9SOeZVmTy8hjQqkeDp2nHZyIKdYd86lPjdvZ9QqmJj kBNcDwF2ZB5vr1vfmAkjFi1bSKzOMdBB8RJETv51iWLqPLU+6m4Jn9sAs4GBBNK1Kzjn AQRqbhWUSazb4YqRQffg4crFQEYSPaVB9SjbBHOtuL2VzWyELi7/DRogmlLLOo8vWu6h TiDagUoPSwJT55YIoA97ZP8yuAAnmQiompF5LXW95DLtpP7FLcd2D1TDBGHHPNEMr/oR rkow== X-Gm-Message-State: AOAM530ml2huXYTZpnZHE6PcRs1CaCDKhspIqJ4D96Fw9LvxezVbPqJF iMDuvkwfcvcs3jU02+kc6FcZpUIM19lphqs4 X-Google-Smtp-Source: ABdhPJy4T2APAzP0Bp0FBWsGzmV5XlwjAdbUa6shI26wJ+WHb6rhFXmhux3pY84cGTg4Efcp/Z8/Ew== X-Received: by 2002:a05:620a:1a95:: with SMTP id bl21mr20422291qkb.529.1640850131233; Wed, 29 Dec 2021 23:42:11 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id h16sm20899621qtx.20.2021.12.29.23.42.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:11 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 22/41] gnu: Add node-nan. Date: Thu, 30 Dec 2021 02:39:00 -0500 Message-Id: <20211230073919.30327-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3f0ec35547..4eda001dc4 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -596,3 +596,49 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies + pkg-meta + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend"))))))) + ;; tests need tap and other dependencies + #:tests? #f)) + (inputs + (list node-readable-stream)) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "Native Abstractions for Node.js (``NaN'') provides a header +file filled with macro and utility goodness for making add-on development for +Node.js easier across versions. The goal of this project is to store all logic +necessary to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:22 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:23 +0000 Received: from localhost ([127.0.0.1]:51044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5q-0006er-5r for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:22 -0500 Received: from mail-qk1-f172.google.com ([209.85.222.172]:44908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4q-0006am-Ob for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:21 -0500 Received: by mail-qk1-f172.google.com with SMTP id l11so21930347qke.11 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+xtycBiRVjgB2UA1K94Is0xR+gS/nT8DNKtlqbV/dT4=; b=A51J9AEHpl1k2/oJaSPqg6sxslvOT0qR9RMlvGbRhr1JHrp08ojmpTTqa5h0vsJ+x2 Xfu9FyGLOHthFCvLhbNyXNWfFVQm4zsEHHcB1jvLAk/jydvPuCclyraLjlVdHo3yRiR9 3AXIUowrkH2KRKn7ZZX46FSd/gR4ZLAIa770rDRxXfVgufpRNvkwVL5FB3PkZW1fAqku WTYlbHMX5f6vwi+HAecbvDk+G3UlVDIn/AiJcRmFQ+caEOVNMDdUvqQEL6CCAWYE+LFe GKQlyYNXQ2PMD5D9AiEFs825W7PdSA5EUPTMbVYHbokRCHOiFzjq0AQeQZPofSSegLAY EJGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+xtycBiRVjgB2UA1K94Is0xR+gS/nT8DNKtlqbV/dT4=; b=ZCfz2QbaV5CNXycI750+1HRF+qxiQshq4SPjRtmP7hW3GPYI4sFPBZlLuTPDxPRlPg sKqsFw1Nb60a4dYgY3OlmIWwdXUT/2Mz8cJsVJf8db9AYPAH1nhBGW52Mhu/vAjoC+2k Moo3PCdWdlj/dStNjzlKFZlLarh3qMD7hGp6CcWaUkqV8USyDD2UoCrysDmIWUdpWwD+ uHkP3Vj6tQrBmstF+I3blCQWX+fTHJTdgo7OWZFOqpS5Mb5WiHaC3DkyoubKuIvoEZLr yW0Pn0EvEFiy1/T98Akj9VqWVFpOxrC/Koa82kysxrd1bFBqh4a+N8iH0My2sr8YT+iF 2wZA== X-Gm-Message-State: AOAM532V24zap84C8B3Vi+1WZbI9eH0cRNnvFT5g74/G5wx8ShGMT73l 9mq/ZgFVTTi7h/Z9ZubKnGnQA/LLiyK4RIRZ X-Google-Smtp-Source: ABdhPJySGF8zlXGkaTJZaX1dy1ZCgxtJrt4h7wai8sOWXp7uszbjvH7m+1luFhX6J/f5qkTGpT5ZBA== X-Received: by 2002:a05:620a:4414:: with SMTP id v20mr18413728qkp.121.1640850135213; Wed, 29 Dec 2021 23:42:15 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id h5sm20149229qkn.62.2021.12.29.23.42.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:15 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 23/41] gnu: Add node-openzwave-shared. Date: Thu, 30 Dec 2021 02:39:01 -0500 Message-Id: <20211230073919.30327-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 4d8286e334..3e99bd7687 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -85,3 +89,63 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + (list open-zwave node-nan)) + (native-inputs + (list which python pkg-config)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke (search-input-file (or native-inputs inputs) "/bin/npx") + "--call" + (string-append + (search-input-file + (or native-inputs inputs) + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp") + " rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:23 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:23 +0000 Received: from localhost ([127.0.0.1]:51047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5q-0006f6-Tt for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:23 -0500 Received: from mail-qt1-f175.google.com ([209.85.160.175]:36862) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4v-0006az-2j for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:25 -0500 Received: by mail-qt1-f175.google.com with SMTP id m18so20594331qtk.3 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZQNRZ21t1s3mz7sVPdYbg4hetDV2xxZ7/XdItQJKTnA=; b=YtBQAlKIDWMWCzP2MIU8L+r9EQAaKjZhponfZiy//B40nEdN5EWNoBqZKF14OC1zGn gvbnW+Ifq4l/L65oAe+owCZ55fHrLGpzOMPR/a+MBv0mUiLsOB0bRZRjs0ufWZqKOPeV S9v62SyDoGbKfTsSsKiSmXZoQmaTH0yXFWE4T126KD+9BIS3c+TbJUet6bARgOq2IsrS xGZsibm68uMvgaxR6/U5nNQspN4oaoF5iMcoZtB2tzuGnMgpz+f4l+SBp92nr5A/K5kH QJ6BSV54n1AdHmtMsHyzWgmTaZqxpxgnrP4IJNMtqT8OlSC6MOWc7xvKPPd0T/iv8opl jEaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZQNRZ21t1s3mz7sVPdYbg4hetDV2xxZ7/XdItQJKTnA=; b=r8QU8MS8I5+NjEjGX/v6zoKieAJKAR7abjwa8aST+ZGzzEmxULtvPmasIv1RFahDt7 zUyj6pGwiyoN9MTsGX+LCAXEq2XsfFIKL5Pi4bdTQvRtRenMVF58FtcteteqaawxspJ6 mmBNWuGUXIpZYFNeREJpxbaAHatmV8S8lR2Y9f5wC1PTEzir8GoBSLO8ZUTxDvmq2wpX WXNcSiRRtGRelgyTHPJXkTVwM6okByf2fYkMfh9312d9DlE5KrVzs3JshpbdZAf/C8PM oQ5DbvRxGZ34HTaCH7zkn2Ff5cLXAMaOetkfG/Sdm0fnihgZly+gfbamCLwpAuCr1+5K CgRw== X-Gm-Message-State: AOAM532ih3xnol0m0kZ8G02NmuzAIa79IKlyoXelM3/Vek0T28JEdeDV YZhiwsKqtNSgHrZ19XFJpwNH1G5NHIH3dQ5e X-Google-Smtp-Source: ABdhPJw947eK/A09AgWr9MwFTQp95BSIASw53fgKPYm1PlrvdzvzxbcoymI/ItnLsA9j8mitYkukWg== X-Received: by 2002:a05:622a:590:: with SMTP id c16mr25883665qtb.289.1640850139577; Wed, 29 Dec 2021 23:42:19 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id br43sm19799938qkb.57.2021.12.29.23.42.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:19 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 24/41] gnu: Add node-addon-api. Date: Thu, 30 Dec 2021 02:39:02 -0500 Message-Id: <20211230073919.30327-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 87 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4eda001dc4..656642eb43 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -642,3 +645,87 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + (list python node-safe-buffer)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit")))))) + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (define new-test-script + "echo stopping after pretest on Guix") + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons + '@ + (map (match-lambda + (("scripts" '@ . scripts-alist) + `("scripts" @ ,@(map (match-lambda + (("test" . _) + (cons "test" + new-test-script)) + (other + other)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:24 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:24 +0000 Received: from localhost ([127.0.0.1]:51051 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5r-0006fL-Ly for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:24 -0500 Received: from mail-qt1-f174.google.com ([209.85.160.174]:33779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q4z-0006bA-BO for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:29 -0500 Received: by mail-qt1-f174.google.com with SMTP id v4so18422974qtk.0 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HUhERuYOH/9ODG8YjkHcgjIME+Qo6SwEB6Qxm/gigfU=; b=afKG1rXSVKgiNpOFtE6KGBV97ocXtjQbsQquaUeMQ7cHHfqF6qkwwJoCRXy6QMAR76 YyHNb/a+7l6TIjI2BETh3SNBhCxn395pkj28BZKZBNJcHSU3HXPWWdwEzMgEYn4jg8Kl wH4LpKXwibVHDSr/Ebg85WGmIP4xbkUIa8e87oxnufiPUMnfjPDCGIftTju4Bpze2nlQ TIyCoDXuHLTb5ODCDRjfXlYWfDPrcDRksNQMnME8P8Bo6irLas3f+nJi+aURHlzT20rk SY8tMRe2n1/1OMxFtA/QohbZiGCd0fN8IAF+MunkN089KW1kwH3tcpE///08OJxbsWhv Z1VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HUhERuYOH/9ODG8YjkHcgjIME+Qo6SwEB6Qxm/gigfU=; b=BeTTShGbMuduzhIb5PxGVN2tiLS9UHItIjuo39LsPygcK0BCxjo//BG/9ifnBLnCAh NtDALKZJAAfUD7Z9vQAJDgYkBnfOQRjXpPdsB59XY8cZ7u1RUwkOoV3WAPcrXjjDqbaO G6yQEWB4Os9rQ0Q2kbs8JdUxhaNBTl+MW2oEFt0PXR426T5tHHLLt0D+F7jcUN/LP1nP HZqm0Y4KLrImB6MfQFDSyGdSzaLdWGnUkRB13P6NegmROon3XRnFNH9/MXyCq4QlKzvL /KRalGOicQxwCWHNThL2RsYiR77NG64MqzXR2BUxT6iAqmmpkHZUbgHkl15kfEeXUKra KZXA== X-Gm-Message-State: AOAM5319T+KysND/So7CodCB8rGeg7ZSevAWRFQ3Y1UYN7R80bEIQlkQ owAdONvaOQVFjd3OS3dy8QhqxO+z145oeWRW X-Google-Smtp-Source: ABdhPJx/l4mVpElmZYGkf3Jjp3VM6TBKqt5fFVIAjU/YSBsvVrroTAKToctn5E+OM7EdgahvxnG3Aw== X-Received: by 2002:a05:622a:11cc:: with SMTP id n12mr26900842qtk.17.1640850143737; Wed, 29 Dec 2021 23:42:23 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id j16sm20012447qtx.92.2021.12.29.23.42.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:23 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 25/41] gnu: Add node-sqlite3. Date: Thu, 30 Dec 2021 02:39:03 -0500 Message-Id: <20211230073919.30327-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 133 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 656642eb43..23ed209fd1 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -729,3 +729,136 @@ (define new-test-script @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + (list node-addon-api python sqlite)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:tests? #f ; FIXME: tests depend on node-mocha + #:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies + pkg-meta + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries or + ;; falls back to building from source. Here, we patch out + ;; all of that and just build directly. It might be + ;; better to patch a version of @mapbox/node-pre-gyp that + ;; always builds from source, as Debian does, but there + ;; are a number of dependencies that need to be packaged + ;; or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency because of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha")))))) + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + ;; We replace a file that dynamic searches for the addon using + ;; node-pre-gyp (which we don't have) with a version that + ;; simply uses the path to the addon we built directly. + ;; The exact path is supposed to depend on things like the + ;; architecture and napi_build_version, so, to avoid having + ;; hard-code the details accurately, we do this after the addon + ;; has been built so we can just find where it ended up. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (search-input-directory outputs + "lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" + out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + ;; We need to patch .npmignore before the 'repack phase + ;; so that the built addon is installed with in the package. + ;; (Upstream assumes node-pre-gyp will download a pre-built + ;; version when this package is installed.) + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (match (assoc-ref pkg-meta-alist "binary") + (('@ . binary-alist) + ;; When it builds from source, node-pre-gyp supplies + ;; module_name and module_path based on the entries under + ;; "binary" from "package.json", so this package's + ;; "binding.gyp" doesn't define them. Thus, we also need + ;; to supply them. The GYP_DEFINES environment variable + ;; turns out to be the easiest way to make sure they are + ;; propagated from npm to node-gyp to gyp. + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))))) + ;; We need to remove the install script from "package.json", + ;; as it would try to use node-pre-gyp and would block the + ;; automatic building performed by `npm install`. + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:24 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:24 +0000 Received: from localhost ([127.0.0.1]:51053 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5s-0006fS-4z for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:24 -0500 Received: from mail-qv1-f52.google.com ([209.85.219.52]:37532) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q53-0006bR-86 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:33 -0500 Received: by mail-qv1-f52.google.com with SMTP id fo11so21389887qvb.4 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=m4ey9PAs1l0oX379xrQCflc4IPx1npXrYzxZmle5J0A=; b=UPIsytVSQUUE6wZQO9YxRrMzk46bShYtMbmFrkBUqGE5k2zEEdX+y0T1MYzrnipA5b 9G04MohbNs+8eDNVRE793NyCB7380y2DOjUjjArzpuNb30Lm+aQcX9NS8fkTjHzBBrlu gyOvI/KuRYDlcNitB0nUbJo+LiD3FeJylqaQjb5B2i8gp+dCmhwvj3AiQJ4xs8LZLxEa R6YNwTMfKQlgLgIpd1oN5DfaLwMEGwWTonKVwnK4VtkiHIIOPobq7hKJ7hF5mEbSVuxm 0vPGv+8PvswqNkID3NXE0yq9/ox4bnQ3be0ndBlOQ07kFed/c8l2pu1qtGbBKj0PtXII RVcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=m4ey9PAs1l0oX379xrQCflc4IPx1npXrYzxZmle5J0A=; b=EJLPvGsTILZlhw5PYIl5Uax1wyA5op/fhpQQ/bkKEoxPx3BWtygucAMt27cs+D4QAd Dz+8t4DIf51wUb2AvsGYsTITbhbEVI+W80R2un6lkmTnzI4XT/LrlcRS7b8pzAbjBvyd ucv9oG5gad/sKVVmfwilFpXvRDwl76HSNonMTojztV1khy4evHtqGAhwsJUlkPyj1ljx ymR9ajP5PayGDKkAWRc66cC8GFsBbiAmKtaQmoFEnTCLwukGuV9HiNMYgq1xBrsTYVZK H7o8ULEugusvlkA2HqtyfxCgUlvOexfK9fWO3bHsGcmDEzU1ESUn/ex/wgQRUUAQdjIs oygg== X-Gm-Message-State: AOAM530ozBdD1PQJMXnMdK+bGLGsUpl2E2fOjuXB2iQYBepOOYD9VHk7 e5/mfVDhWatsedUHIDKnyI6mT8PsweF+xK/J X-Google-Smtp-Source: ABdhPJw1dO/dYaR9luzmZiA5g+CYCjGnXd3gC0doqgx982s/63R5shkuymv6Q6bX8nuiXOT89kfwdw== X-Received: by 2002:ad4:5bcc:: with SMTP id t12mr14324657qvt.41.1640850147737; Wed, 29 Dec 2021 23:42:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id x17sm20047439qta.66.2021.12.29.23.42.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:27 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 26/41] gnu: Add node-file-uri-to-path. Date: Thu, 30 Dec 2021 02:39:04 -0500 Message-Id: <20211230073919.30327-27-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. --- gnu/packages/node-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 23ed209fd1..ef190e56c1 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -862,3 +863,60 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + (list esbuild)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `("@types/mocha" + "@types/node" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "cpy-cli" + "eslint" + "eslint-config-airbnb" + "eslint-config-prettier" + "eslint-import-resolver-typescript" + "eslint-plugin-import" + "eslint-plugin-jsx-a11y" + "eslint-plugin-react" + "mocha" + "rimraf" + "typescript")))))) + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (search-input-file (or native-inputs inputs) + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "This package provides a function to convert a @code{file:} +URI to a file path. It accepts a @code{file:} URI and returns a file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:24 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:24 +0000 Received: from localhost ([127.0.0.1]:51055 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5s-0006fa-Gs for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:24 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:42612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q57-0006bc-9b for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:37 -0500 Received: by mail-qk1-f176.google.com with SMTP id r139so21072174qke.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SmYhFpNoYzr2NGJVdNopqsVPWfIPu/2IA5BeC+2ad+M=; b=IPss9Pa8WF0jy35ycnVhHTgxfXs8a5kZ7lVBIduvWMAUfcsIFRNzV2n67L+1d1Qo2Z c2/1TGo+8aKaCuQ9gUxXr6wh/w+uBJAqyS0Pf4xtmlWhjEvOxOQ0SAD16qVZEz3lAioy InIRUhCKAmBwRaEAu0zmMAlLm+xAABo0ncudvOG4q4Lhu8E0G7Wme6oXtkOBqJXJrQWI C2pMdBqUuG2zg1pTDqfeHEholRVZjgDCw7Br54VWpxzPihMiCgskHNdgwHu5SLaJSr1U un0o9JPl6MaPSwQFYwBfoX+IEcYmQHKrtbjzf3LqIzcOCMzj4h5aPs1MU/I4cmL7p4aD iu7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SmYhFpNoYzr2NGJVdNopqsVPWfIPu/2IA5BeC+2ad+M=; b=ov7ygVxkiSFYujJoK5wZNmc21HwV6f9hFgsce1tNWjDzLrhV8HNT0oubCYvhYvkhS3 dHOJlumUpG3tpBGsWZ7yxXVI3SydyjOa3JIc9f8xkoiZTLTtW8HoUMgVLHi6zmSGO+tp EwGXxc8EWIaE2Th3+5jJqAXZBrRlO77bsFKV+0kKITvr+d3sGplMHGevHbg32fXqCmQb 1Ys5ys7A0gn7nEa0qri15OSJc31mtqqg1VSvVxiBXeOYP4dJULELAFgoLiXQe99TomaU DHZ5GEp+Q+rzcOEZpdqd7oMs4u0pkVBFVHEc/gX0irzRv1OrXJr6UNBugOaaEzEmxRks rIsg== X-Gm-Message-State: AOAM532zDOL2aZFgL9YRYBJjLnAO7meuYucZqZSWJvZCUPG+KEHHVe3s IfG8F0zqW2mka2GAauoM4ss3Bh7PbPc/A+bO X-Google-Smtp-Source: ABdhPJy//whRXxI/Tcf9j94v7pUc329pzZ2D1G32FXwXeks07EwuXqMzM9mxUYIs1JrkTxpgEXpEEA== X-Received: by 2002:a37:9cd7:: with SMTP id f206mr19786868qke.248.1640850151793; Wed, 29 Dec 2021 23:42:31 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w10sm20771203qtk.90.2021.12.29.23.42.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:31 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 27/41] gnu: Add node-bindings. Date: Thu, 30 Dec 2021 02:39:05 -0500 Message-Id: <20211230073919.30327-28-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-bindings): New variable. --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ef190e56c1..8d183cbe97 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -920,3 +920,29 @@ (define-public node-file-uri-to-path URI to a file path. It accepts a @code{file:} URI and returns a file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + (list node-file-uri-to-path)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "This is a helper module for authors of Node.js native addon +modules. It is basically the ``swiss army knife'' of @code{require()}ing your +native module's @code{.node} file.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:25 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:25 +0000 Received: from localhost ([127.0.0.1]:51057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5s-0006fi-Qc for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:25 -0500 Received: from mail-qk1-f179.google.com ([209.85.222.179]:44931) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5B-0006bn-9j for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:41 -0500 Received: by mail-qk1-f179.google.com with SMTP id l11so21930848qke.11 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nV7SOBeLbqg0M+Q+PZf5lEXOBmm44Z6x403as5lJL4c=; b=P7zYBVwn42P3ZGOB5AWu9kijiYetW9qenvLokPTSM4JLbJvckpglAIHDTzfgfb4f/T u4kscYCmLiKCaspCyQno3uCMBjm11OCEFt6cH+sYaam3aDq/32dpZays0koeseWZiJ2N msiNGv3sJMwsVXOlzeuu1zVPn1p35pLzV6K7/8qOAOn7eHQLHlTB2ylCTICZDI+2Ooiv w43qGK7LeCJL5wTuuEkcId/8PsKRM1xWsIRbDzBWZGwDREMm3i11stNCj1yXuvqMk9H6 AbHgcMxMO2BvRry4UhUceeqcq7tsK1IgqM87KXFS54lGPvdlQIR1VB6Mp8yc6LFbzvn3 60yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nV7SOBeLbqg0M+Q+PZf5lEXOBmm44Z6x403as5lJL4c=; b=MoFAe9tQ9AqrjwkWhRPnNIqdGa5O5I4OP5Ndw/4M0YHIeFSoKos0i3MXkkPN9c5OQo tmwKVkR7tkUv4GGVqUwHPywr+DjxR6FADsmLDyeofX0NIri4KgcysvMnGmo5ZPRZUs58 2HVNyEUsgJT1QV5VenAeuQIwDQDYrp5jbuTxV5b8yVtet58xvM4GJc9nQq451kw+F/Iy DRk4XqZJjUiBYZWx/ZyhXbnpXTwrqGSVdui9C70dm89Sf11xd1b7L9Ho7utWNUocd9hP tmDImkHPwT3cMQrL1AXYVUs3zVtXN8GhvnrdGqkD4iA+hji/XY6J5Bdx3yhQHAeBCqSJ CDpw== X-Gm-Message-State: AOAM5307ex6whBgCfhA1KKmeFTGqIdU1lgBE3Vwdb/BuhixqHXrjjsK/ 6PSX/JDe2USYAndDCL5iYL76Skax3w+OL1b0 X-Google-Smtp-Source: ABdhPJxT6jhplyJGOE2YVPPWuUaWLcaIEL4bTgYlh3fSIADJN9cH2zHNVu2RhUC1FbKtbRL2O010rg== X-Received: by 2002:a05:620a:2697:: with SMTP id c23mr20704230qkp.103.1640850155811; Wed, 29 Dec 2021 23:42:35 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id e7sm20402627qtx.72.2021.12.29.23.42.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:35 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 28/41] gnu: Add node-segfault-handler. Date: Thu, 30 Dec 2021 02:39:06 -0500 Message-Id: <20211230073919.30327-29-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8d183cbe97..e2eb17b23c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -946,3 +946,32 @@ (define-public node-bindings modules. It is basically the ``swiss army knife'' of @code{require()}ing your native module's @code{.node} file.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + (list python)) + (inputs + (list node-bindings node-nan)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules and getting stack traces when things go wrong. If a +@code{SIGSEGV} signal is raised, the module will print a native stack trace to +both @code{STDERR} and to a timestamped file.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:25 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:25 +0000 Received: from localhost ([127.0.0.1]:51059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5t-0006fr-7V for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:25 -0500 Received: from mail-qk1-f182.google.com ([209.85.222.182]:42624) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5F-0006bz-6V for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:45 -0500 Received: by mail-qk1-f182.google.com with SMTP id r139so21072379qke.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IfSRqZKlp1wSQS3t+bnWjsu0NFbwKI0CXV4gZALLg7U=; b=Jtba7mZKQ4Kw33bwIW+2Ru727sp8vTocMIXWSYMIJBS0vL/rdNo6NdoodcL3qJaE+L qhyoL26iTr5NL1tHRf55OLsnKBflILf4PWddrP5znkmosLbk7dKPjw9MQ6z6z1NOTQdM Lr7Il15pyQKn/IknDIlTn0HT14TVBgxlmx1fvH1ooYpzTRHPZm6+A1GQ7FTM3zIBj27G TehHcO4NaRKu0QfRABpqC04FSKSizjKv5c1yG0YWYV/jPO3xjcYQTu4HED56ypfYKxD2 ri7U/cAq1Ei/BGTSLVLINy6mvLrHPM/YCL+3tIX0wOf5qaHTk1++Ea64RoTgk5ZMonj2 P+GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IfSRqZKlp1wSQS3t+bnWjsu0NFbwKI0CXV4gZALLg7U=; b=pnnxXMd79cORDs8sP4LaQ8Q8vV2+CJFPOVxwThPN4ZXOlAMtQUcDj9FaESW6RGB00x bcnPPJGs0Rws9qSPtoKqJ8oTlRAfS2w4KDYFgztiuLAt/antJ/sHJ4BBdYWXVtqmiXaz l4II8fuEwG2O/iF6yp/3el2qmB/QDS/+YafPT+CTPNd4nJ8VUlYo+Uw8h/COl0uLQJ7k XL/4xBeE58olV/a/kC9pApJeoN5sHUN6iEeYXsMerCNdJemni6Xj5gjkjO+lgSJKrbur WRm5Tq2G0R7xUpOjHeob1E7SZ6KJYY3ENH9sXkEyIuKgPZZsuhFowDgT0tkyy1yrDLns zp/w== X-Gm-Message-State: AOAM5310qayIufYH/gdV6zOb5fLUPMs5jRspf3WYAQ2QNiA8kJcCy8Cd +A5Kl7trO9SmMDxQhFv005N60sYpwa8bO+Qx X-Google-Smtp-Source: ABdhPJwFlylBHlBlqkzNVI1cQ71rhz3guYqjQsOj0MlF1qn5USYsvn65iKN7Lg7c9ooKzU4tQe5D7w== X-Received: by 2002:a05:620a:4450:: with SMTP id w16mr20825840qkp.26.1640850159804; Wed, 29 Dec 2021 23:42:39 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r185sm17778923qke.134.2021.12.29.23.42.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:39 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 29/41] gnu: Add node-ms. Date: Thu, 30 Dec 2021 02:39:07 -0500 Message-Id: <20211230073919.30327-30-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-ms): New variable. --- gnu/packages/node-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e2eb17b23c..23c45d971e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -975,3 +975,51 @@ (define-public node-segfault-handler @code{SIGSEGV} signal is raised, the module will print a native stack trace to both @code{STDERR} and to a timestamped file.") (license license:bsd-3))) + +(define-public node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha" + "prettier"))))))) + #:tests? #f)) + (home-page "https://github.com/vercel/ms") + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time formats to +milliseconds. + +Features: +@itemize @bullet +@item +Works both in Node.js and in the browser. +@item +If a number is supplied to @code{ms}, a string with a unit is returned. +@item +If a string that contains the number is supplied, it returns it as a +number (e.g. it returns @code{100} for @code{'100'}). +@item +If you pass a string with a number and a valid unit, the number of +equivalent milliseconds is returned. +@end itemize") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:25 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:26 +0000 Received: from localhost ([127.0.0.1]:51061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5t-0006fy-Ik for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:25 -0500 Received: from mail-qv1-f51.google.com ([209.85.219.51]:38868) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5J-0006cD-EE for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:49 -0500 Received: by mail-qv1-f51.google.com with SMTP id o10so21393088qvc.5 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FvJFbWyyX3cI6br/Z69s6+CBI3mVPgexoa015xEHwic=; b=M7o7x5xQuTeH2xwGs6InHnMArY7mUuOc+c00MFAB+pT/gPmXJ0p9rtRwufYFPKRV1B zwvF0MlyliTUP405owgy0vmYMl5O1quyhcgxZOyXst3wHyLHUFsNZLQpwvMoGq1VaRXg nw+ryluVJ+FK8zycfuUdOiOPvPsyc3dlyzLn4GIozs/16OZUQ8odSZ+wOvo0TQVaw5Xa YiXrGUZGbXyTLNZTKeVfAbKeI9y+9hyGocqtwsqgUHpyC/Hn4qbchvAWX/uECTsM1NHg XoLcNF6THcpZxNCNdsLeHX3eJf6vZLrUL8hx6DbR78jYcNsZqlWgZ4wjjPqEdK3BNZ9w 5GZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FvJFbWyyX3cI6br/Z69s6+CBI3mVPgexoa015xEHwic=; b=crR2VZVpTZHX1utGRjCg5aaHYWSEhNAYV+XEySdxNfecJigfXwPXs7mQAWQGxmemp9 DZSTmR4HeYEHrQYso6+JHoO5RUkgvXBH1IK1fpAx4X49B7+piBKya9+A23zF14+IWNcU 5pUegBWSxX+wHfUCT7kwr0faNzc13Dkz8xSxtIxr72zjg4KAA0ZNYqkeM2yCOK2UB57r vqNjnhwYJ0gvidpKDxvQuPWqfSEFPge1Jokw3KU4cvmbEuWzWIsWXCZnyRj/in3pQdBk 7jcFh4N/StXoi+vYfwAsWO9hJcGk44T+vMVn5sN3gavNv4ZG7pWPHshlbCkVwEn+eWdg Govw== X-Gm-Message-State: AOAM5307p9yL5gW7owF4bMkGsFuIJZc4+EfMfc5x9tYDUJ1lNrUMhpz+ /gMoxZpb193K9PFVv6OExd0R5kANT5CQnYCP X-Google-Smtp-Source: ABdhPJyfxLPP+hBf0pkD2M9tMFCpBTAAedxcLy3qKihKB/tn0qzbJ9q62/d320BRGqdU6owuRGndvA== X-Received: by 2002:ad4:4027:: with SMTP id q7mr26347063qvp.117.1640850163984; Wed, 29 Dec 2021 23:42:43 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id i6sm19929152qkn.26.2021.12.29.23.42.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:43 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 30/41] gnu: Add node-debug. Date: Thu, 30 Dec 2021 02:39:08 -0500 Message-Id: <20211230073919.30327-31-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-debug): New variable. --- gnu/packages/node-xyz.scm | 47 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 23c45d971e..f1cbb184bd 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1023,3 +1023,50 @@ (define-public node-ms equivalent milliseconds is returned. @end itemize") (license license:expat))) + +(define-public node-debug + (package + (name "node-debug") + (version "4.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debug-js/debug") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb")))) + (inputs + (list node-ms)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo" + "supports-color"))))))) + #:tests? #f)) + (home-page "https://github.com/debug-js/debug") + (synopsis "Lightweight debugging utility for Node.js and the browser") + (description "A tiny JavaScript debugging utility modelled after Node.js +core's debugging technique. orks in Node.js and web browsers. + +The @code{debug} module exposes a function; simply pass this function the name +of your module, and it will return a decorated version of @code{console.error} +for you to pass debug statements to. This will allow you to toggle the debug +output for different parts of your module as well as the module as a whole.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:26 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:26 +0000 Received: from localhost ([127.0.0.1]:51063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5t-0006g6-TC for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:26 -0500 Received: from mail-qk1-f169.google.com ([209.85.222.169]:43826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5N-0006cP-Oa for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:54 -0500 Received: by mail-qk1-f169.google.com with SMTP id f138so21951164qke.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uyuRYidzCtFIs2Xnuu+9Gib7QB/W1V2j8nghs4YaQYw=; b=UWSb9ZV0KiFz5EF8vNZIwKUtC1PKjw2Sg2PUD9hV606Ni3u71SbwLqXnAB4RyYabo8 egN0jJjYZmN6QsG/nHgjn1JM1ssl0O0aAEUTu1ZpqxD9E9NKC2S3KcE9Q0OX4zZmJWJH 85WoDgflMvDwl/++QunKYTYddRcv6Am5G21pUt4HTSyUPU38TINm7qESOOh76R/pqUhX vwrthBn0HiJXuN+Dd7oToDHVI7SY7CAqLojjgscnOfkH2ZzpDu0eqf6tfSDBowz9+eMI fXuKP4v8knUcAmwZN6iMX/HIg746PYrDA8Wy2s1W6BaOU2jXFUmIPHn4lZQbQ1WqaV6V 5OqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uyuRYidzCtFIs2Xnuu+9Gib7QB/W1V2j8nghs4YaQYw=; b=4r6Dgvh/lt9eA+lXu2jT8QwmQ0mLGTPdrkWYwUZ32aKfLoFpdCZ3o3nO5/NKzyOwVC A2syM5QJUsghoYoVkQanNpb1M52PfsHL2hB7xirSG7H2dDNFWbUJ9xIAmWnwUSna88My rA/IqhA7gx7bp+EtWTQ5IPKNmhyFOVJY/Efb7NP5nWtv31iD+oNx8KUM1IYR36YXVOGl rSvw54x8Ick69SjF3BHmKuQjb95C00qe9ZhbmCeA5hdn6RV0UWNxp5n5ZO8xoIFNKlfq UoF84n0YGqwB9aSMb5zLPknaruBOb+xRWTWwgpIkKWgJyLtMEQofC4t7OmtSRfL9hWye qKhg== X-Gm-Message-State: AOAM532qCQ50A/X/eOV63czRxhkZLGsuTOOiuMGgVcHFew+1drkBlD5N i4UAchs7R2u6O3gbl6zEx9rST34SqCTd+k96 X-Google-Smtp-Source: ABdhPJyG4RyhwAJZ7Y3fCZJRgDEoblb6s3uFjYZu56vFaQ3JhS90boZFcAinimeDqtOl6glTCoGpQw== X-Received: by 2002:a05:620a:b47:: with SMTP id x7mr20393807qkg.749.1640850168214; Wed, 29 Dec 2021 23:42:48 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bj30sm18973161qkb.58.2021.12.29.23.42.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:48 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 31/41] gnu: Add node-serialport-binding-abstract. Date: Thu, 30 Dec 2021 02:39:09 -0500 Message-Id: <20211230073919.30327-32-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index f1cbb184bd..462d5d844a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1070,3 +1070,37 @@ (define-public node-debug for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.") (license license:expat))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (inputs + (list node-debug)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:26 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:26 +0000 Received: from localhost ([127.0.0.1]:51065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5u-0006gD-7p for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:26 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:42961) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5R-0006cb-QP for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:42:58 -0500 Received: by mail-qt1-f180.google.com with SMTP id z9so21027514qtj.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:42:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BZfMvykaGbsf6y9rn4EoOL0wezFm3gOKBofecHnPYnE=; b=Hd/bLu8+KFNyJG+exYB1ENmK5oPFw5UJ9bD8vHfFL4LWvUyEjC/wJ5XpF5fjpTVmfn NF4K577g1rfQRjqVMKmlEefWMo7Fc24OCQmeZJoG92i0GmRGLFGyN86zM8ZisSIxXXxX RPn5Oo9bl451s7MuYCcukG3+uywfFrFT9LdP1rin2PR45uST4EO3YGXem4FGDM8MXF67 a/gQuiwpC/tNkuWNtU4qq+kyTfh31yyYWlGzMVt4fD8gk/1LlhG6F83PHt1/MIYs8RR2 WZxShC0/8oCWCDAH5cfO0GkDbduqKeiI3c5yL2iCDicOJNqRrhE0vpLmS5hDkfW6bg9M kuDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BZfMvykaGbsf6y9rn4EoOL0wezFm3gOKBofecHnPYnE=; b=TtfqHivyZSLR5EzNHfo/gSjj2EBdaEr8f3qnNWSG0tDfkHeMpiYKnFQWPJWhvFWgTN 47rsqGJJrFxq0DUtQr+wLV0mA2F59fttAhbDnzDBUCGYK0mSAbctSd4nfnDgKEq6FrDF JomJfrXdJdOH/jIIqGBpOmStLLK60DM9lRlNVGFpY5cgbc2k+qGJKtbrnxpMo+bMglM6 bDRfVoI9Z4JuiRglnoJnNN/ab+RQzhAVgAutPOg6uSg55iZAz6iw7voadx+SWr8FvW7r L3PmnK3XJLiliZmP0JhHjaapTmNjhbVWCFOOu0L2eSdLUSeYoBC1bWq5Lt/aBox0G7j7 IwgQ== X-Gm-Message-State: AOAM533ZjMynBLifi6RYc/An1/8zmLRTpgcHvxz5g0GNCSLWeF3pB85w YdbiegTYkQKYFOXMgs+SwBEcBSk4CT0HMAYg X-Google-Smtp-Source: ABdhPJy8C1s41NbVdYNcfFYWiodAdCnLw4200quVLrjjjiWlQ9ImT3xrwetjGSKtm/0kuUlNrPBk0w== X-Received: by 2002:a05:622a:394:: with SMTP id j20mr25404274qtx.562.1640850172316; Wed, 29 Dec 2021 23:42:52 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d9sm19640321qkn.131.2021.12.29.23.42.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:52 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 32/41] gnu: Add node-serialport-parser-delimiter. Date: Thu, 30 Dec 2021 02:39:10 -0500 Message-Id: <20211230073919.30327-33-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 462d5d844a..34de7e0819 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1104,3 +1104,25 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:27 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:27 +0000 Received: from localhost ([127.0.0.1]:51068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5u-0006gK-NJ for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:27 -0500 Received: from mail-qv1-f50.google.com ([209.85.219.50]:34449) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5V-0006cl-P6 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:02 -0500 Received: by mail-qv1-f50.google.com with SMTP id ke6so21424274qvb.1 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Cgz3QpbUDtDVCH4+wNtUNuPkSJjeHIC0VtTvIE6k7EI=; b=gshV0ZNWk+lgB9js07JHIJoD8mYJdM331VtNUIxHHTAdKYipNf6Ka5iFpvzgQW8KMt PNt47X9Z+82HhiqKhZQWUIOiow3gxAsxxuxWkixZ0ZVvPZS83JZK4RvKCsY3E0qsE4Nr 0E9GaD3kwYLGrxzvsFassZouCPgbxmEW1nbMSGGDfuMDjTDBPGedTLFcLKR9ZgPW6QH2 uKz9ymwTDVcIQwXc3j/xDNPS6Ui6rr6vvt1hUsUjJFlXV34g21TCcOorinCUjr9yDBax V9z/ex+UqG3PQYUmcUDwmyXSSxI6yYG4nQAVZqwrwnjcU9xfm/EbZF02jP4wrPu0p3A+ s2QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Cgz3QpbUDtDVCH4+wNtUNuPkSJjeHIC0VtTvIE6k7EI=; b=BO7eX++7Zj9fciWBt1ru8rhMaaGoxIEs+xI8jG6E3/TdtS8YyQ5ivnoi0zytU/m0Ic HHY9Z4+P76swAkZ9qAW6pxyVZh1lUiYj1rEXKm88Vr/pOgGtu2nGw3RsqSr4oznkA0Yv rXGwD4CPy8W45PMlUgwjO9w53o/uKPUGDmtpkLVhHDMRsM9Dp3fATNH5OUt/xNN+xahP QZ5wymjFW0i3eyuZ29QuH/ZGrCsuCacU6m2MUk0ZuNaEj56PumpBctJfUyuZftxFHBRd EMItz3UcZdDkEtfflYC6R8YAS4olMufZEtiJnwFal9RCpRigpjbv//oRZtggdjmLhlJA B6bQ== X-Gm-Message-State: AOAM532X06sczwZUCt+G7Vil+6+wgLcGUo3gX/93rejDYa4tzyUjMMfk 3+u8k38Re9Mrc+QNGSG52BjFK9XGiHIh0ADq X-Google-Smtp-Source: ABdhPJwPDyBivBb6fs0hr9F5ZAiQJWXbXq39Mn7qpOFmdg5498wceqSLScSIwyl5ky8ZItVHwYPq1w== X-Received: by 2002:ad4:5beb:: with SMTP id k11mr25300818qvc.84.1640850176302; Wed, 29 Dec 2021 23:42:56 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id c8sm19971708qkp.8.2021.12.29.23.42.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:42:56 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 33/41] gnu: Add node-serialport-parser-readline. Date: Thu, 30 Dec 2021 02:39:11 -0500 Message-Id: <20211230073919.30327-34-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 34de7e0819..e33a35a0a0 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1126,3 +1126,26 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + (list node-serialport-parser-delimiter)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:27 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:27 +0000 Received: from localhost ([127.0.0.1]:51070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5v-0006gX-6Y for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:27 -0500 Received: from mail-qk1-f180.google.com ([209.85.222.180]:33338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5Z-0006cw-Nu for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:06 -0500 Received: by mail-qk1-f180.google.com with SMTP id de30so22051352qkb.0 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mwZWa7x8qRS2TTsQ9loz8Iqp+6b2AUfase9op7CjaYM=; b=CvrdAWRT9wXSmy1MNcyizuxrJa1vL/sm3zreMrRCELp/sB1h+P52LrzKe4oTbP5Jbx 4AOaeV5KrWNx2gRrzPYKhzS8r8Y+mkydywtRTNCMUOM2fawZA1LRlWiAVADHm+Vre/DN QkEYQzZxVxPhOAW2O0vc/rEFkZe6VALqinkQ4N/oK4R1nMuVNLfHWfc5lMuiNsGqbuZ8 12RP9wxvHc2leYYz6kjjAk17J0XtuxZR9wb6U5VmIfiZ5WdxRS3ac0XQmdi0fTqE6qts 7YtXsmY5cSr/X1hs/Xt/lbbQYYYLLqrXXVcY1ftc1UmzxPRWPsJMRlsm41Tpi9n99S/H S1xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mwZWa7x8qRS2TTsQ9loz8Iqp+6b2AUfase9op7CjaYM=; b=cnvulbk1tXP/ymZXwH63LQYEFxIDWfGWjP2l5eyPWZFv150zTuP36ATum3IOXuzyJS CrMctOnEuFXnxRri4c3JopAfRfX78ydbiGm8oywoauuLafJ+tJfVbrvjpa12w6V52JJS BSCzqlF1HEpsqxsVgQPndzPscqoK1EI5RtU+3FX3ZeUmfz/eJp+3uAjVjS5z9Q8+6W6d 1AxEWMWtC0EvAdwJAMHEG/NvbA6dp8qA2B8LJwBeNF3fxb3HTQDWmFj3VAJgnMbGpvBZ T6tqZWF06akPyZaQm+LdnrbME3PmsN8FVaKUmRWG0qNeGtKMRHEEAtWLEEOZTfyu5fIr Dy1Q== X-Gm-Message-State: AOAM531F8oTOoVgaI8UbpBauyAYeBjNL10YUd7KkD6AOmkFnz/sgBhl3 Zm4JtSpV3B2HZstrniQ32jM2p54hvRec0xxc X-Google-Smtp-Source: ABdhPJwKQQAPafKD6Q1PB1T/uO/CRgpxfYerREqZx4kotF4nxSaasL6EYWoNJpLqSJ5/KRHuIuRNNg== X-Received: by 2002:a05:620a:754:: with SMTP id i20mr20669695qki.312.1640850180253; Wed, 29 Dec 2021 23:43:00 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id p67sm16401774qkf.49.2021.12.29.23.42.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:00 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 34/41] gnu: Add node-serialport-bindings. Date: Thu, 30 Dec 2021 02:39:12 -0500 Message-Id: <20211230073919.30327-35-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. --- gnu/packages/node-xyz.scm | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e33a35a0a0..fe1a2d4e5f 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1149,3 +1149,59 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + (list python)) + (inputs + (list node-nan node-bindings node-serialport-binding-abstract + node-serialport-parser-readline node-debug)) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta `("prebuild-install" + ;; devDependencies + "@serialport/binding-mock" + "node-abi")))))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:27 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:28 +0000 Received: from localhost ([127.0.0.1]:51072 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5v-0006ge-IX for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:27 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:42964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5e-0006dN-0r for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:10 -0500 Received: by mail-qt1-f173.google.com with SMTP id z9so21027803qtj.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CtDGvDtcnkkQGR3BM5V78E4zfvoG+qGYVu4sbfEiAVI=; b=gaMnGuCGgUL25l3joiDMYdeY21xo24HnO4Nq6n9uMy7N+w7wAKbQrTNrS2J50iO/ZL t/uCdEoQFl7C1ZCFz5u8/jFAdQVZsu9D+V82nUoUPhlrKc5B4byTr8tS8q6h+K23oA3q PX0mjzbd0baAxzKd8bxAMQXV2+KnnoB2pzm8LK7jFa7JZyEVhGkXKiS+Z0OArbcJgWW9 heuxC7h0RzCoCzXv2ZHcLM6Y/J2zTQCsCeVrqUlRF48hPWkMgBGzD4+Vu04NDStr1bOe H8Sf2v8nCNkCppk3ZLOONMViRSuGV9oDo+J4b5LOahv4oY/dQB/tTg1Hxd6owRpJySHd bipw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CtDGvDtcnkkQGR3BM5V78E4zfvoG+qGYVu4sbfEiAVI=; b=SSm7Pvi9MgyYOYDP898j/jcdCseJekzaxPTkd2V782nyi3iQ0JQjMA5+kkSpXn9/s1 xHTvAKaqBhDuZ8zSa5oqW0Y85uHQKGmjFpXBCGyjpC1MchepTah6ot+kJ5miP0ZLm/+L yUimCZxXK+D5ekA5MzEY4bbulalXY2bM+xierUznizrCfVBmiEs635p8qeGvH9R/7rty IVL786gqaBATy/QNEZ8lz8HEuMuxhRtxFDsJEuZIOXtGBvlkQCYB09o/70/Yk7/a1X8J REEasbc4hTUQbzo6fgpa6sISfGtkCFgYfC82eAw0AU4xvSlhPz7faw9eCjCGfYaCZv/T hn6A== X-Gm-Message-State: AOAM533UN19ilr4OIenzUWT5Dy5kFKuWrv1wNIIkUEiI31WSSmHcvi/8 MfqndYPG/h4Y/bE9uCqGx8zwIdglVdQIDR0L X-Google-Smtp-Source: ABdhPJxeKR+KBUsfdoyIE1ClqU2sAQ3yHe+y2fxHuN4zRt9RF2dVUKgRxCd/rxU8QSgLiCrO2fA6uQ== X-Received: by 2002:ac8:5f0c:: with SMTP id x12mr25284377qta.3.1640850184587; Wed, 29 Dec 2021 23:43:04 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id h22sm20116893qtb.86.2021.12.29.23.43.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 35/41] gnu: Add node-serialport-parser-regex. Date: Thu, 30 Dec 2021 02:39:13 -0500 Message-Id: <20211230073919.30327-36-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index fe1a2d4e5f..2fada26799 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1205,3 +1205,25 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:28 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:28 +0000 Received: from localhost ([127.0.0.1]:51074 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5v-0006gm-Ru for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:28 -0500 Received: from mail-qv1-f54.google.com ([209.85.219.54]:46747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5i-0006da-3M for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:14 -0500 Received: by mail-qv1-f54.google.com with SMTP id r6so21338237qvr.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YIcURD/gHzSg5O8pv7CiApAkQkIp4rzyqcyfTFFhM8A=; b=KYF5PSVzFvVV9rU+zPFLvzD8L9+4qrEkOOzQN3kFWUeqaB5vEe2rVWEgiSOgnvTKpl qK/8f07q0i2GMwn1LtM4HcEmg9eH9jSypG8Vtw+umG5ccKp9cmM3opvlM8Tg0UUMRiQq PYpk9PkXS9ZZIbaST2l4hNbwm4aWM6NIYEqepXGy/D9kcj3Uc9OBZV8gtN45A6kXahkc 7gW+ENpebHVETWVU075JOXQKg9iTGE4ccH54qPpYS7RVHnhYqzI2R7qVyuMynLSdD/+I z0fqebdDQfS5Vmr0upjLEulIHdupwd6yKfxzYxFZCkeNeRLGLdAoWbG3kgFQutlRQruD 4M2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YIcURD/gHzSg5O8pv7CiApAkQkIp4rzyqcyfTFFhM8A=; b=UDIZufm5fwNcFvt9jpxXzoa0FIoJTaxGzKrSOsuR8CwCBDWYt2s+s6DUJxT3Ze3vct 6Jr2pGgYCDIksY/01ZhCtG8v7SxUJPKIchrLlV8YKX8jBX4cGCiJLY//PvM9FKqqc4A+ BcKhDEvVhkp+K8dKe6hfqEy9AK4vphG4XH3ZWx0Np2b6wfSdtInv8MPL58xT+xfX8aN8 uzXg+Ra/NshMV7U+v2sM2/UcytYRezBB/ihjmWjfAsaGzY27USqO1hBXvK0er4HYoSuN ZgOvhuqjBIoDgpg4xK0zaxS1MEvx9ACo2rbt9P1UXLf2C7OL18daMkjaAvskbuv9JPSC mi9Q== X-Gm-Message-State: AOAM531krIznuLHtCphcM14SxJkHSoSace5FzgaUkUP9LH4CJyLFGUhv tOVHLydOh8qnD6Qg6Z6U2CbL6zrbqadlXjbo X-Google-Smtp-Source: ABdhPJxq2D6eCv0+SeNNE/ySe7Tf5OaXgXYc/xcaz8zcup3fdGDYhR/GZIbgWYR5l8VPVrvscUjk3Q== X-Received: by 2002:ad4:5d61:: with SMTP id fn1mr8129926qvb.93.1640850188586; Wed, 29 Dec 2021 23:43:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id f12sm18728315qkh.22.2021.12.29.23.43.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 36/41] gnu: Add node-serialport-parser-ready. Date: Thu, 30 Dec 2021 02:39:14 -0500 Message-Id: <20211230073919.30327-37-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 2fada26799..55b60fa773 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1227,3 +1227,26 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:43:28 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:43:28 +0000 Received: from localhost ([127.0.0.1]:51076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5w-0006gt-6E for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:28 -0500 Received: from mail-qt1-f179.google.com ([209.85.160.179]:34747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5m-0006dl-4d for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:19 -0500 Received: by mail-qt1-f179.google.com with SMTP id o17so21061473qtk.1 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xsE0Zh1nC1lD5wiDzkPPslWtiHYLGa/Eet2uRe2A394=; b=VrvFLIgecurVVB3UcwrmM9/xaOLHsmZf5NeSG7kSwCHFcr3+V8wrXbAuGVNufkEe2A 0+JswTIycE9pI7I3r0eL/SGzWsng3uBXrmv33eexiBlnvSqroNa3MD2rrk6Y9bBx9MWI zKwr75GQS7YvV6sm50QfHUGOdcXWA7NE3R2NDWiAiKp1ASRwjzRRzfI8o6YJllAIpmZP g7nOQvEhxNJl6adiew+6qT88B7niorlIev0cLGpmyna2tYvyXQxjH98TLOLZKY+CvWmO 3yJmeRikFK2yDWMusaUTmJel98YdWomsxZM74rhl5Avp2SoukACK1bg2jNPGtMYjWpQR AmPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xsE0Zh1nC1lD5wiDzkPPslWtiHYLGa/Eet2uRe2A394=; b=tN1HxQPIAsEgvTcTVTGpJdVMU9PpRG3/919i+aGChgqXOCYOTuoL2Urp1eYWXBZ+a5 lTVTu2PRxPvFaOBajHbJR9VUSIjTR0w82zQYfHo26hE9rLVsI2e4uRSDFN3f1Vmvow1w 62RXNNAcpHOIaQXjFVuYfSsCFIsGwQSu8aODm8/5fCKOkFqW9j0siWjnQt9F6ZvuKbjY AK/O8f/aBRx04A297z/lTdakk1trnJTxYXQcsyojhoSR0hHJaCE6wdf/7ebr/ACERwIy /Ri4+Sk2VoiFfSFQv688ZwH1fkNS3jTbDKg2DWyLK9aG63JSEQmEQv5YIAsckTUiKsC2 GLIw== X-Gm-Message-State: AOAM532oKTlfXNB8gvKwItCf1UauGeCDY1nIzwHBxpvPleyFw/3SNr6I r7yglD83Bg9uQWrDcJuf8ACWuwDaEZY5E5oh X-Google-Smtp-Source: ABdhPJw5nLtyJoiqv+K473hRw3raOdPT1RprpZ3gmMJndYQT0cseKUhB0l3dlsabM/AiB1FRUrgMug== X-Received: by 2002:a05:622a:1ba4:: with SMTP id bp36mr25069675qtb.455.1640850192686; Wed, 29 Dec 2021 23:43:12 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d1sm18439679qtn.56.2021.12.29.23.43.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 37/41] gnu: Add node-serialport-parser-inter-byte-timeout. Date: Thu, 30 Dec 2021 02:39:15 -0500 Message-Id: <20211230073919.30327-38-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 55b60fa773..6337554830 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1250,3 +1250,25 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:44 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:44 +0000 Received: from localhost ([127.0.0.1]:51119 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q95-0006rc-QE for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:44 -0500 Received: from mail-qv1-f54.google.com ([209.85.219.54]:42866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5u-0006eV-7n for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:26 -0500 Received: by mail-qv1-f54.google.com with SMTP id q4so21372059qvh.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dxLKFWLts92XCj0I6UKFWGMKtkIndexOcNXx7fs7bMQ=; b=jZLzdOFD/NCw5bbIfATmRt+OsyH6FoEZoC2SY1tKbw1dLA62plmY53uAV0PwxqC5p0 hh+IvUI4udf7lB7S2JATLWqdHR2KvO8OmoCsjfLC6v0OWCj2H7uspMXarSp/QM4tgJwG xL+BmyHTdmxrtj17XaM8ndeoAJIBRxp/Chptk1u0Dqw6M1Xmcd5MGJAodnYkatVWUSwe ntU3VMM9X2dr7zf1r0IdwlqdWD2JsKOosR62LYl4i2us7XXMNMNEtRSmUJheqL01WAjm wFX981SN3bSwN3yJVvzt1aAsJ8GG3Qow+FMUvVoL+Ie7iv6r/L4rPGKEVaWx8Ps8QvfL nAzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dxLKFWLts92XCj0I6UKFWGMKtkIndexOcNXx7fs7bMQ=; b=qmIxRuXCjWRV529k3xFpKvO9YUH1AAxbFkOmUhdkYwvaaVn09MPGIf1X6tqbg+Ayh0 WJiPtVDYuOB7Tahq7Xw7ydgAJFCv/rxN4jH3tf8RQAWoFeMXRu81myx5nW46ASpDN8WM n4N11CstHZfESo74VEa18LTmbWiwJaOjLMuyT5gaBKf0PQ49uaiJcE3rbUdprmWaDRAi TI5qIiFtgf2hQvKw3foOSIX9Wa1R7lahb5vHI++0KT6yZIaWPKg1JrsI4jE5EG0GqXKL wbNN9Shw9LzbSwcuZCzP+72nqUp7hG+oMYMHL569QtnWdd4sYQEOVphK+r7aJzmLWJaJ mQYQ== X-Gm-Message-State: AOAM530Yb2/5ZZnNqdfCwSj321W9rKjIjebx8zobH9pA3dVCO8OvAz/X JezbRajxPu9x7Od4xwsKQVwkHwHlSk6rD10f X-Google-Smtp-Source: ABdhPJyGDI9BMuT9oNI6LOrmds4MciCjPy+S9P1l8bw0VGsvoxkrgB21zMJ2tETxQ6FkDgEMOt1p+Q== X-Received: by 2002:a05:6214:ac1:: with SMTP id g1mr26560841qvi.66.1640850200835; Wed, 29 Dec 2021 23:43:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r13sm20522534qtw.41.2021.12.29.23.43.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:20 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 39/41] gnu: Add node-serialport-parser-byte-length. Date: Thu, 30 Dec 2021 02:39:17 -0500 Message-Id: <20211230073919.30327-40-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 758d72a52a..e427f31b1a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1295,3 +1295,25 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:44 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:44 +0000 Received: from localhost ([127.0.0.1]:51121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q96-0006re-2P for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:44 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:46655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5y-0006fp-8C for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:30 -0500 Received: by mail-qk1-f174.google.com with SMTP id 202so18259343qkg.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/GhSor8PLUI3l9NcM7DoxWwzAF4Lj8DTZRosUFdpbag=; b=aqqBMdeGiu76meXcQRDF5HpiidBHSCmOHuCi8e2+klw+jeHbl3TpmSmI9yPovlKRpx aveMRPXFUW2XN+5+D2KZCbUxACEqUCErMjHIgUxYV4cg7YZQCG3l1sZWEbVWUdaqoAze WCku9edI7ux6yEVRVyPYRYdqKKok+qniE2oNN5XYLaACfBgvyq5x1Quka6vVDK5Q69tj FUF9yWtdl9xmUAewp38VuKwdfv5Fghw6vLTRwKOG2VvOzNbaKi5ZA9SiyUU/JTIfRUdc 88YkATys4pWSJGOlQsXdm6kryJvlxfHfzZA6dSxI175J/0JRu/1bzcywUwrpKAqMz7Qw Z0xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/GhSor8PLUI3l9NcM7DoxWwzAF4Lj8DTZRosUFdpbag=; b=XTZ6QoQ6vatclf0i8KLW3LRVu2aNACV7IyxvSOks3Tfluuwc60MBd61KUaptWhJ9a1 kajiVZF7uHN5Q6okQPxmORiqPpvTPGL9hoQaDfQbEUOSMJHICIsHCmoowdjjmsyqM/xy /JKSDi0dCRUexV56D+A4cEkpuy2wKTkwgIs5teMaLQ43vSCQml++sobtjJrt66YlCJjA T6/vHJLapRrNhifudcxFnk8jJlFZG0P5OGnlqNR1C9HcQwedByiHGmioDUNp3/LJa3Rr WaoQvTDN/kRMGffQDdJw11PvDig8KbPNkUFJKEuyZ75wSbudTa3jkU58H6PQm6PX1uTU 0KSg== X-Gm-Message-State: AOAM5308kh0jnifGW+wd8LLbIDrmOB51miCOBdBanfCJUJ0KU1gQZZyO x9NqS/YnlF1we84KNM1LWLFURQfVXiRl6+QI X-Google-Smtp-Source: ABdhPJzn5sVZoJRBq9gTap4nL8YUG7jsLUPUOKlc31i//ER14EG1MP5wgXik7fRVdd7yaVmw6IiPKw== X-Received: by 2002:a05:620a:2891:: with SMTP id j17mr20960020qkp.386.1640850204777; Wed, 29 Dec 2021 23:43:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id s9sm19239017qki.99.2021.12.29.23.43.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 40/41] gnu: Add node-serialport-stream. Date: Thu, 30 Dec 2021 02:39:18 -0500 Message-Id: <20211230073919.30327-41-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. --- gnu/packages/node-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e427f31b1a..a95749f737 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1317,3 +1317,34 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (inputs + (list node-debug)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `(;; devDependencies + "@serialport/binding-mock")))))) + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:44 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:44 +0000 Received: from localhost ([127.0.0.1]:51123 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q96-0006rm-Cd for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:44 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:44001) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q62-0006h6-C1 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:38 -0500 Received: by mail-qt1-f172.google.com with SMTP id q14so21007591qtx.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F051iwKMWc6NdT57zgvD7his7PCs7GE5YfgP4PhNV8w=; b=FyVd5UWBfYUu4beHIftWDQSrz5G0RhnEu+vtcWco4uH+55goyzaDYc2FdnAhkq1bBY 0NyW3eV5zY7b1KirjF/qRx0xLbeqAqXWCLo8TFzHi0KdTQKziU7IYDLOXz3q5irWkUaW 0XMj0q0UpIU2bH9T99jFRg8L9MzFWeFG/D0JkjUpdRn7fgi57BOdVv7nPbm8OfAQ+BQr lIObtJFXPv/xBESb/xtE0hZaioYeCxvf2heZiMYqPocT/dePPzbyMU/H9dfhXG6evNFK xJ+zY5QTApTkgMNCJg2h4BawiGDYJWFu+WVr7SdM5ZZTZw9RbX4qQbNMIVxHqlLybk4E 5aGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F051iwKMWc6NdT57zgvD7his7PCs7GE5YfgP4PhNV8w=; b=owgXjKcbsSQz1wcG3Q/ndn1l7nx/8NeCLdCoqA0hift5BZX7pT7Nd21S8AbAXk7hb1 SziGya1h6Cx6zTPi2fpR/lFqct9tts+xs/ZrYh5H689XC7BOw4fdqgw5TH51SB+6uasa 6bAO32fujqKZpvmtTop070+k6BRycmOSz6uZYcqnE/+bKRdd7oKGM2rOdXv6ppQ2zPCq 5jKrTLrbzcbU0VsAfTp9kQqw5AEhD/0GXVuWoCf3zUbLKConCVO62RxpDs6+alyxIUIz 5J7wU5eYoQOU3TCDLQAgVDbw+pMU9A36tjL4O+mRLAK307ty6Yajf619wOhePfwxjPQD jCyA== X-Gm-Message-State: AOAM532/8F/GMKjKJ2awfZ4crWLySBGoHasD53xQPys8dgRp/Iy25Zqe 50lLC0U/fmsdOmGf7UdleHDSX+5RbfOIJw8U X-Google-Smtp-Source: ABdhPJytvWOnLPSlO/CjiaganO5+h9aRhwvKYq/SqdBKsdU0o9XapO5ledNnSpaCmslQOndh0lrgYw== X-Received: by 2002:a05:622a:411:: with SMTP id n17mr25482604qtx.439.1640850208882; Wed, 29 Dec 2021 23:43:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 14sm13062639qkh.48.2021.12.29.23.43.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:28 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 41/41] gnu: Add node-serialport. Date: Thu, 30 Dec 2021 02:39:19 -0500 Message-Id: <20211230073919.30327-42-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport): New variable. --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index a95749f737..1f51c0d636 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1348,3 +1348,38 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + (list node-serialport-bindings + node-serialport-parser-delimiter + node-serialport-parser-readline + node-serialport-parser-regex + node-serialport-parser-ready + node-serialport-parser-inter-byte-timeout + node-serialport-parser-cctalk + node-serialport-parser-byte-length + node-serialport-stream + node-debug)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (delete-dependencies pkg-meta + `("@serialport/binding-mock")))))) + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:45 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:45 +0000 Received: from localhost ([127.0.0.1]:51125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q96-0006rt-OV for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:45 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:46837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q7Z-0006n8-DE for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:45:09 -0500 Received: by mail-qv1-f45.google.com with SMTP id r6so21341546qvr.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:45:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PqBqe7b84X7eJ9LE64l3mZc1pVz0sMMbcQ2lbqTdR9c=; b=LccGooRfWnnmSsJc+G4+dW42CZq/Jrjs2o13UWw/kK3MdVOxrr6L2lWRA7sY6f989b mEteWb/G15M4htnxSvXw1ILmdbFeQHFuKNlKNEfA9my6px0eks3Ys9HzFTbSRDPtx496 mRFWr3ki7TcatvZElpYhe8qVUw8QVDXDkaV2I5XgtkElcuR8hW1bT3dh7DgUQuAm7Ilw CcsD438DtMpbaBeGzEAnI1Gmkc95w/yUBh73Sf9izfhuAiCzc2DjsanBRWmGgOUpW9kT AL1ytayDX0YsfLTq7MapPE7JH7jrgQpPskyK08ybw6kLd2CTehOifdFyY+qKrplSIgob Paqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PqBqe7b84X7eJ9LE64l3mZc1pVz0sMMbcQ2lbqTdR9c=; b=ZGG1Z7dxHWP44zh+fwlGLcAx0PIY2pdQKG3NvBPe6IUbQX+1qXQ0vMGN/8i523dfiR ekZR6QrAYZkv5X8ZxNYe6x6NIDHIEamDyQrlQ20VpYvodIPVgTI3nNOuRICDhUrhKueL Q10OjNiNkMghKg5JDpPhPiiCmE9dF+rHcs/Vw2kgjFjiYS1Isdi0zXCMeRgA6aSBKolS ld6Be76in7JDTfZlsXzQrc1Q8mIx4kk9iWmgeqFG63uRKKmlPqSSpZjxp4u40gZ6J3+C Kk7frjHaKt8dRiDmSSRLy1TLDSyDvl4zieA7kyEVdR4vqLagbdEKo4cX53ms/bclvi/n A7XQ== X-Gm-Message-State: AOAM532upcY7ujPa5fx5vec5rUac8yevcB+3ss0dx49B6ljLxnv+U4OT kjWCSKbfw97UEhaNaL8kWVISh5HgDeDzmxWq X-Google-Smtp-Source: ABdhPJw3dTuMKo/tccHVxUQUfu+yOaTWCFpN3TozmDYMSvLlmKYa8Uevjrb97G27y1kGP3PJJP/mow== X-Received: by 2002:a05:6214:29c9:: with SMTP id gh9mr26509537qvb.50.1640850303889; Wed, 29 Dec 2021 23:45:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id v1sm20268551qtw.65.2021.12.29.23.45.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Thu, 30 Dec 2021 02:44:15 -0500 Message-Id: <20211230074456.33433-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hi again, Here, as promised, is v7! As I said above, this is my preferred version of this patch series, but I could also live with v6 if it could achieve consensus. -Philip Philip McGrath (41): guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add JSON utilities. guix: node-build-system: Add avoid-node-gyp-rebuild phase. guix: node-build-system: Add #:absent-dependencies argument. gnu: node-semver-bootstrap: Use #:absent-dependencies. gnu: node-ms-bootstrap: Use #:absent-dependencies. gnu: node-binary-search-bootstrap: Use #:absent-dependencies. gnu: node-debug-bootstrap: Use #:absent-dependencies. gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. gnu: node-llparse-bootstrap: Use #:absent-dependencies. gnu: node-semver: Use #:absent-dependencies. gnu: node-wrappy: Use #:absent-dependencies. gnu: node-once: Use #:absent-dependencies. gnu: node-irc-colors: Use #:absent-dependencies. gnu: node-irc: Use #:absent-dependencies. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-ms. gnu: Add node-debug. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readline. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 937 ++++++++++++++++++++++++++++++- gnu/packages/node.scm | 63 ++- gnu/packages/zwave.scm | 64 +++ guix/build-system/node.scm | 28 +- guix/build/node-build-system.scm | 354 +++++++++++- 5 files changed, 1376 insertions(+), 70 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:45 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:45 +0000 Received: from localhost ([127.0.0.1]:51128 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q97-0006s1-8D for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:45 -0500 Received: from mail-qk1-f182.google.com ([209.85.222.182]:45930) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q7v-0006nx-W9 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:45:32 -0500 Received: by mail-qk1-f182.google.com with SMTP id e25so16276118qkl.12 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:45:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=kayZR4kOy+8UIyUhCQkgxgDeiKbASAfgW1dAapCR5PZMrWZj7lGs6I+l/80eqRiEVY eisy4H3+MZJetJMc226dw77NPQ3yiu7avJDedZ+lyRgt5xtTTXJA37DYo/D9qq/DTr/C BVSt8s3yEkYlD/8k9kBQhIiHT1z36UtjITnG6yG4SP4Zihmw9uPniUYdk8tBadgjONs5 kRIh76PohMkocP2f2vWZp1tzi+90iawUIsmP5sLSJBTrIbqdNmNebE3aiaFw1aaivAtf zGvoWPB27lZwNPeG+E8YD8E0GYHEroq0sTHaC0Ml96U1/FwcK0IH7/S6DqGnVHpzTn+n XU6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UqCWz+02IeHqBG76t8ha9dj85wQjLagMgL0iihmBPRc=; b=a7idCUqz3qZmcnHr7rPaZnt8CUBzGT19uiYpTcuFrFv0111cMas63Xu5PkY0u2Fzj+ LtJVgw6EcjAhoBQIReORcV2A87+PtNxs502A08LdtI+cMOxYw9xHb56zZS3Dv7BZX+AH okOBaJ+tdUMHHCoWFv2pcdQ9UKGvR2fMmWxu3UZacigwwd2awLtBFM86N//L8ejRblAj j4fzVa4+awD4uMeaMJ2ZTvqd68PJJ5Tvr7pZzSczaYp2/6EYRxUJWj9BjmTFYS1YvkWq 8X1AuM8iQNXBHl9vuoYa2w2wGv+KP/OHHSARIadKbs4QV/Gt+AIm49S3cftMc/VO07Xl VKrA== X-Gm-Message-State: AOAM5334NpPue1ETUqLp6FkyU5e9aphfQiWomMakeOeNAAClSJ28hnrV OxqrjAOSlGH+2TMpjS7utuRjeqZoJw39Ck// X-Google-Smtp-Source: ABdhPJw3vDQ2dMoCtoaThJRDeOa2UFcNGbgUmWD4eW1FWdmN3X30ykWEsoHgnN/qwq4olWsf7+fqJg== X-Received: by 2002:a05:620a:370c:: with SMTP id de12mr20762491qkb.546.1640850326521; Wed, 29 Dec 2021 23:45:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id v12sm20003066qtx.80.2021.12.29.23.45.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 01/41] guix: node-build-system: Add delete-lockfiles phase. Date: Thu, 30 Dec 2021 02:44:16 -0500 Message-Id: <20211230074456.33433-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (delete-lockfiles): New function. Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist. Because these files specify both exact dependency versions and integrity hashes, they only cause problems for Guix. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. --- guix/build/node-build-system.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..dcaa719f40 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -96,6 +96,17 @@ (define (resolve-dependencies package-meta meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -146,6 +157,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:46 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:46 +0000 Received: from localhost ([127.0.0.1]:51130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q97-0006sE-Mr for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:46 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:33432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8B-0006oL-UR for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:45:48 -0500 Received: by mail-qt1-f180.google.com with SMTP id v4so18427743qtk.0 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:45:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OR+Y4twRr3s8Rn/RIH2mP3iVUWWT56VgTF28n5YcXZs=; b=kTheVaIDIGgy9Jg60jIJkyn44DBAzd5/p25DCOt7OsMDjmk1rES9/p2QOEtNm5Sgm7 pat6uv0JWUSkn1tDMP+1XskMkkN5wyGk3HMQQ6UcSzfi5Pm/1ZWAulIvfmxO4Jnkx1jC EwQkDnLgTIzq9j74xuR6lKow4sbpl+OgmMIvmMW46Bj4JIJiqTNEIG++2gLW0o/obM99 467bvLdvMch75RL8A6eQUxWlmDcyVOAsX1F6+eZvD4gh3WmPSGLEBW8ToeS+1qtvXW/5 V2tsUHW4PV/fsBIvJCDLWZW+Z6VoNEItdNaDYI3VdprqTlNR7MhyQFk6DhiERTegriho zQlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OR+Y4twRr3s8Rn/RIH2mP3iVUWWT56VgTF28n5YcXZs=; b=KE29Dh/Y13Vuno0SNR+YbWPDOowg+sUPhlwmLv64YDFnRFPhcIITYQEvsMUIByfnRX Z7bKWlETHPA0ZgBcFIjpi5JcIJ5pB2WfvltqdA5CeCk46A77ff4fA52yB6xsUYGN2krB ey2jh/8jRiyXtn2tsrep2qojM9S0Cjx7PuDjHTlFQOzHn5VlMn983jmdQKrOROCDTYtz Y4rJpJ32UGKmB0j8e4W9PLIpMg3huBcLpcMJVIu4VBZ94XgCVR9NUgtqkVNzvEr+Avnu e0BMGmMtTXNT8SvCQZ6xY1TMTV/WLviRdIa/ycI32/iMLXbNGjkMH9p74z9NSC2OdVXa 8LEA== X-Gm-Message-State: AOAM533PsaPRPx68rL/fgEtzLdm8jth0ZCwbOhHmztu9jSW1Wzr1/MIi 9mhzid2fyaB832elhoqDW6gsGlgqU3Dn7vb0 X-Google-Smtp-Source: ABdhPJzbUbBGctkgmOoDEXGnXyNjFou0TSZxUsxZE/UbZp9t8iXQ24pqVvZwb8j1hzGBRsHkITZYPw== X-Received: by 2002:a05:622a:58b:: with SMTP id c11mr25252287qtb.470.1640850341003; Wed, 29 Dec 2021 23:45:41 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r185sm17782601qke.134.2021.12.29.23.45.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:40 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 02/41] guix: node-build-system: Add implicit libuv input. Date: Thu, 30 Dec 2021 02:44:17 -0500 Message-Id: <20211230074456.33433-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 735f8dd06e..24bd677bfc 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample ;;; Copyright © 2021 Ludovic Courtès +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,10 +63,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:57 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:57 +0000 Received: from localhost ([127.0.0.1]:51132 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q98-0006sM-1F for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:57 -0500 Received: from mail-qk1-f169.google.com ([209.85.222.169]:40606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8E-0006oQ-N8 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:45:51 -0500 Received: by mail-qk1-f169.google.com with SMTP id w27so15878919qkj.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:45:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pVn0mssS8rR0fPJGCE+7jqSAPVld+8iY199DVtopIgY=; b=g/WMi0apfMV55zlH6n7KI7VRbwdY6JzvvSClywrnlPV06uVtKAQTmqK51l/Qm2doN2 3YRXvnzD0pgO69peV/xL6TQ2IMkGuBXbNMNRkoLgLOehCrO4zYxv137dxuVCIwaDyAMW G6huMvMbM+NIeoDaJdAd8UfHL+g2xqdCBCE9uU+QwSXPFoP3LMTf1ywhskS1Iy6pyOAH rXVeTMiWGmcTOzydTZGX5RFfmimFvrADjSIVsb++fhxoMy+HlEozrAqoWMOX3GA+HNFk ZbID53xTt8khHlnesYMbxyrX7YpEi29193qCFGqKKVwEWjqI/coQxi39eZbrATB4CcsO y4wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pVn0mssS8rR0fPJGCE+7jqSAPVld+8iY199DVtopIgY=; b=nbhLAjYcxfalCAOhEjOt21HNFlOlrztR3HYuBPgkHszif94vNL3zmyonl+SL1CZvkg ltbF7sVW+43ud0ZVboTVNvy59Q/9ngF+2LyNdD6snCl7Dp4Hvmu704iLzbLsYFvL1wMp xRpsAg6pzLvifQkzQH+dwHwcyYtuqHm/BBRn47YVK75iIAOMi2rL2eSwKC8+rpR4qrdQ OYZi2Qx5pEfCuk0f1ThG08DLKc3H14MzR2bIIDW1Ju38a2Ch1rnn6XMVI33QePjufuSS cuepZ193KngUER4VzSgdSLDrwsK+YVSgME81bVczucOz+e4bLi3XxMesR/CVP5qngS5y bZqw== X-Gm-Message-State: AOAM533tV+yBHrXSNUurnVSg3Ht6ADT0OeuotI7hjyKO05x76Yj1aBvL RDAWHjsPKbOv5C6CQ1556tAdwp2ISABFx3ws X-Google-Smtp-Source: ABdhPJxJ8UrYqD++G+r7GZ2QWE75RSb4yjYKmgfzaq9D/1Rt6NyBmn1gdvm+H6rCeAH0hHiGIIseZA== X-Received: by 2002:a05:620a:9dc:: with SMTP id y28mr20787983qky.257.1640850344973; Wed, 29 Dec 2021 23:45:44 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w2sm20219883qta.11.2021.12.29.23.45.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:44 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 03/41] guix: node-build-system: Add JSON utilities. Date: Thu, 30 Dec 2021 02:44:18 -0500 Message-Id: <20211230074456.33433-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They should eventually be exported, but most are private for now to allow for more experience and consideration before commiting to the API. The design was largely inspired by the 'racket/dict' and 'racket/hash' libraries. Liliana Marie Prikler proposed 'with-atomic-json-file-replacement'. * guix/build/node-build-system.scm (jsobject-ref): (alist-pop): (alist-delete*): (jsobject-delete): (alist-set): (jsobject-set): (jsobject-set*): (alist-update): (jsobject-update): (jsobject-update*): (jsobject-union): New private procedures. (with-atomic-json-file-replacement): New exported procedure. (module-name): Use them. (build): Use them. (patch-dependencies): Use them. Stop using 'assoc-set!' unsafely. Co-authored-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 275 ++++++++++++++++++++++++++++--- 1 file changed, 251 insertions(+), 24 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index dcaa719f40..e5c4da5091 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -26,6 +26,7 @@ (define-module (guix build node-build-system) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:export (%standard-phases + with-atomic-json-file-replacement node-build)) ;; Commentary: @@ -34,6 +35,237 @@ (define-module (guix build node-build-system) ;; ;; Code: +;;; +;;; JSON utilities. +;;; +;;; The following procedures facilitate transforming JSON values using the +;;; representation from (guix build json), particularly purely functional +;;; update of JSON objects. If we decide to make more of them public, we +;;; might instead put them in their own file or, eventually, add them to +;;; (guix build json). +;;; +;;; JSON objects with duplicate keys are not interoperable: see RFC 8259 § 4. +;;; These procedures assume, but generally do not check, that JSON objects +;;; given to them as arguments do not have duplicate keys. As long as that +;;; precondition is satisfied, they will produce JSON objects without +;;; duplicate keys. Procedures that operate on unwrapped assosciation lists +;;; may do likewise, which should be considered before exporting them for +;;; general use. +;;; + +(define (with-atomic-json-file-replacement file proc) + "Like 'with-atomic-file-replacement', but PROC is called with a single +argument---the result of parsing FILE's contents as json---and should a value +to be written as json to the replacement FILE." + (with-atomic-file-replacement file + (lambda (in out) + (write-json (proc (read-json in)) out)))) + +(define (jsobject-ref js key failure-result) + "Return the value assosciated with KEY in the json object JS. If KEY is not +found and FAILURE-RESULT is a procedure, it is called in tail position with +zero arguments. Otherwise, FAILURE-RESULT is returned." + ;; TODO: `failure-result` should be optional, but should the default + ;; `failure-result` be #f (like `assoc-ref`), a thunk raising an exception, + ;; '(@), or something else? Keep it mandatory until we discuss and decide. + (match js + (('@ . alist) + (match (assoc key alist) + (#f + (if (procedure? failure-result) + (failure-result) + failure-result)) + ((_ . value) + value))))) + +(define (alist-pop alist key) + "Return two values: the first pair in ALIST with the given KEY in its +'car' (or #f, if no such pair exists) and an assosciation list like (and +potentially sharing storage with) ALIST, but with no entry for KEY." + (match (assoc key alist) + ;; If key isn't present, we don't need to do any allocation + (#f + (values #f alist)) + (found + (values found + ;; Because we have `found`, we can find it more + ;; efficiently this time with `eq?`. We avoid using + ;; `delq` because it would copy pairs in a shared + ;; tail. We assume a sufficiently smart compiler to + ;; handle "tail recursion modulo cons" (vid. e.g. Indiana + ;; University Technical Report No. 19, Friedman & Wise + ;; 1975) at least as efficiently as a hand-written + ;; tail-recursive implementation with an accumulator. + (let loop ((alist alist)) + (match alist + ;; We know that `found` is present, + ;; so no need to check for '() + ((this . alist) + (if (eq? this found) + alist + (cons this (loop alist)))))))))) + +;; Sadly, Guile's implementation of (@ (srfi srfi-1) alist-delete) +;; performs unnecessary allocation, e.g. this currently evaluates to #f: +;; +;; (let ((alist `(("a" . 1)("b" . 2)("c" . 3)))) +;; (eq? alist (alist-delete "x" alist))) +;; +;; These functions generally choose to allocate a new outer pair (with the '@ +;; tag), even though in unusual cases the resulting object might not have +;; changed, for the sake of simplicity and to avoid retaining a reference to +;; the original alist longer than necessary. But that is O(1) allocation that +;; could only rarely be avoided: `alist-delete` would allocate O(n) pairs, +;; which would only be necessary in the worst case. +(define (alist-delete* alist key) + "Return an assosciation list like (and potentially sharing storage with) +ALIST, but with no entry for KEY." + (define-values (_popped remaining) + (alist-pop alist key)) + remaining) + +(define (jsobject-delete js key) + "Return a json object like JS, but with no entry for KEY." + (cons '@ (match js + (('@ . alist) + (alist-delete* alist key))))) + +(define (alist-set alist key value) + "Return an assosciation list like ALIST, but with KEY mapped to VALUE, +replacing any existing mapping for KEY." + (acons key value (alist-delete* alist key))) + +(define (jsobject-set js key value) + "Return a json object like JS, but with KEY mapped to VALUE, replacing any +existing mapping for KEY." + (cons '@ (match js + (('@ . alist) + (alist-set alist key value))))) + +(define jsobject-set* + (case-lambda + "Return a json object like JS, but functionally extended by mapping each +KEY to each VALUE, replacing any existing mapping for each KEY. The update +takes place from left to right, so later mappings overwrite earlier mappings +for the same KEY." + ((js) + js) + ((js key value) + (jsobject-set js key value)) + ((js . args) + (cons '@ (match js + (('@ . alist) + (let loop ((alist alist) + (args args)) + (match args + (() + alist) + ((key value . args) + (loop (alist-set alist key value) + args)))))))))) + +(define (alist-update alist key failure-result updater) + "Return an assosciation list like ALIST, but with KEY mapped to the result +of applying UPDATER to the value to which KEY is mapped in ALIST. When ALIST +does not have an existing mapping for KEY, FAILURE-RESULT is used as with +'jsobject-ref' to obtain the argument for UPDATER." + ;; Often, `updater` will be a lambda expression, so making it the last + ;; argument may help to makes the code legible, and the most likely + ;; `failure-result` arguments are all shorter than the keyword + ;; `#:failure-result`. Plus, making `failure-result` mandatory helps make + ;; `alist-update` consistent with `alist-update*`. + (define-values (popped tail-alist) + (alist-pop alist key)) + (acons key + (updater (match popped + (#f + (if (procedure? failure-result) + (failure-result) + failure-result)) + ((_ . value) + value))) + tail-alist)) + +(define (jsobject-update js key failure-result updater) + "Return a json object like JS, but with KEY mapped to the result of applying +UPDATER to the value to which KEY is mapped in JS. When JS does not have an +existing mapping for KEY, FAILURE-RESULT is used as with 'jsobject-ref' to +obtain the argument for UPDATER." + (cons '@ (match js + (('@ . alist) + (alist-update alist key failure-result updater))))) + +(define jsobject-update* + (case-lambda + "Return a json object like JS, but functionally extended by replacing the +mapping for each KEY with the result of applying the corresponding UPDATER to +the value to which that KEY is mapped in JS---or, if no such mapping exists, +to a value based on the corresponding FAILURE-RESULT as with 'jsobject-ref'. +The update takes place from left to right, so later UPDATERs will receive the +values returned by earlier UPDATERs for the same KEY." + ((js) + js) + ((js key failure-result updater) + (jsobject-update js key failure-result updater)) + ((js . args) + (cons '@ (match js + (('@ . alist) + (let loop ((alist alist) + (args args)) + (match args + (() + alist) + ((key failure-result updater . args) + (loop (alist-update alist key failure-result updater) + args)))))))))) + +(define* (jsobject-union #:key + (combine (lambda (a b) b)) + (combine/key (lambda (k a b) (combine a b))) + #:rest json-objects) + "Combine the given JSON-OBJECTS into a single json object. The JSON-OBJECTS +are merged from left to right by adding each key/value pair of each object to +the aggregate object in turn. When one of the JSON-OBJECTS contains a mapping +from some key KEY to a value VAL such that the aggregate object already +contains a mapping from KEY to a value VAL0, the aggregate object is +functionally updated to instead map KEY to the value of (COMBINE/KEY KEY VAL0 +VAL). The default COMBINE/KEY tail-calls (COMBINE VAL0 VAL), and the default +COMBINE simply returns its second argument, so, by default, mappings in later +JSON-OBJECTS supersede those in earlier ones." + (match (filter (lambda (v) + (not (or (keyword? v) + (procedure? v)))) + json-objects) + (() + '(@)) + (((and js0 ('@ . _))) + js0) + ((('@ . alist0) ('@ . alist*) ...) + (cons '@ (fold (lambda (alist1 alist0) + (if (null? alist0) + alist1 + (fold (lambda (k+v alist0) + (match k+v + ((k . v) + (define-values (popped tail-alist) + (alist-pop alist0 k)) + (match popped + (#f + (cons k+v tail-alist)) + ((_ . v0) + (acons k + (combine/key k v0 v) + tail-alist)))))) + alist0 + alist1))) + alist0 + alist*))))) + + +;;; +;;; Phases. +;;; + (define (set-home . _) (with-directory-excursion ".." (let loop ((i 0)) @@ -49,7 +281,7 @@ (define (set-home . _) (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"))) + (jsobject-ref package-meta "name" #f))) (define (index-modules input-paths) (define (list-modules directory) @@ -73,27 +305,24 @@ (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) '()))) + (define resolve-dependencies + (match-lambda + (('@ . alist) + (cons '@ (map (match-lambda + ((key . value) + (cons key (hash-ref index key value)))) + alist))))) - (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)))) + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + "devDependencies" '(@) resolve-dependencies + "dependencies" '(@) (lambda (deps) + (resolve-dependencies + (jsobject-union + (jsobject-ref pkg-meta "peerDependencies" '(@)) + deps)))))) #t) (define* (delete-lockfiles #:key inputs #:allow-other-keys) @@ -114,9 +343,7 @@ (define* (configure #:key outputs inputs #:allow-other-keys) (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"))) + (if (jsobject-ref (jsobject-ref package-meta "scripts" '(@)) "build" #f) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "run" "build")) (format #t "there is no build script to run~%")) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:58 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:58 +0000 Received: from localhost ([127.0.0.1]:51137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9J-0006sp-Ou for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:58 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:39832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8J-0006oc-59 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:45:55 -0500 Received: by mail-qv1-f41.google.com with SMTP id g15so21416616qvi.6 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:45:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gabsZVpGWF7PrCHsV9bFg142ypKkJ92o164B8EoNLQ0=; b=PMn+SLxy57HBGaOpqpsoXs/SOLV2bmON9o1ilp51td74tqyl5SUfk4SRE1ffJzwyAr 2T3/WLq3jU+2XugUHNSL4XNVeUMUHoT7hU8wr//TsIEY8Tt3FW9xyY5L0DW3J7fNh47c fGQcpj/cNppQbn7gNrExckG1FOtjGX1QhLFCMHNg0HShSOnuizwjUF2H3hi4uiPyRXd+ Q9Q/hLmt+pi1Yz51CtRIcNhe+6elAYZM0jm3fLA4ZZIRyk8T/UDy7x3n1kdTIJKFTNjc sDcNfFLCPqJmR1VjlZQE7gAsZyBR8Z3l3dr1xK5QGVgPGBZtJv4BRLPWomkUS+lPRIEG DEKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gabsZVpGWF7PrCHsV9bFg142ypKkJ92o164B8EoNLQ0=; b=DKRh50zJUMYkcSS4HbyUZihGIXftzpaIt3cN8rvfUwnp0aUkvFzbIeR+vzL9guXA52 NGX3/uPVwnS4NNPYneF+uva5X7H2zCgp+ZBKSLxbaut5ihDSGxMdURPRz8vn147RShMe QWBTWONWR0yVYfT14OWUQUQUf/tKz1Y6MYFqY3o02q7hvpvtaGWpj1r6gsp/6ejOzgrS 1mXmJONE+Zcts6zcA2cfbFPIwn6qknmh0b0MaWGIJ8Vc4qXqdkJe4yoG0f5mSfHIDYRz Ngmr+3k72hv6VgDhF62tgFxw6JRNsfCrnj4ieovzLWnDdiAyFrcf98d4kWXp57bE6ms6 6sGw== X-Gm-Message-State: AOAM530KiwJsD2/c07BKLnxZzyk1A17ML/vcKO1r3QHhkOBqmhbaVl+J q9ciB/1svp/ZmCvJ+5at3QY8im+ROYu6yk7e X-Google-Smtp-Source: ABdhPJxIFa8WhUVVEZbOrCH1XsGyZ0WtTC4m9Ncnyu9MDAJWRTi7+JqDiNofp9vohcr1s0wDgYemag== X-Received: by 2002:a05:6214:c8f:: with SMTP id r15mr26289570qvr.57.1640850349595; Wed, 29 Dec 2021 23:45:49 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id k8sm20011096qtx.35.2021.12.29.23.45.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 04/41] guix: node-build-system: Add avoid-node-gyp-rebuild phase. Date: Thu, 30 Dec 2021 02:44:19 -0500 Message-Id: <20211230074456.33433-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New function. Override the default install script for packages with native addons to prevent it from attempting to write to the store when such packages are used. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. --- guix/build/node-build-system.scm | 50 +++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index e5c4da5091..dc8b6a41c2 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -380,6 +380,53 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (define installed-package.json + (search-input-file outputs (string-append "/lib/node_modules/" + (module-name ".") + "/package.json"))) + ;; not with-atomic-json-file-replacement, because we usually don't + ;; want or need to overwrite it + (define pkg-meta + (call-with-input-file installed-package.json read-json)) + (define scripts + (jsobject-ref pkg-meta "scripts" '(@))) + (when (equal? "node-gyp rebuild" (jsobject-ref scripts "install" #f)) + (call-with-output-file installed-package.json + (lambda (out) + (write-json + (jsobject-set pkg-meta + "scripts" + (jsobject-set scripts + "install" + "echo Guix: avoiding node-gyp rebuild")) + out))))) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -389,7 +436,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:59 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:59 +0000 Received: from localhost ([127.0.0.1]:51139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9K-0006sy-80 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:59 -0500 Received: from mail-qv1-f52.google.com ([209.85.219.52]:36656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8N-0006oo-8S for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:45:59 -0500 Received: by mail-qv1-f52.google.com with SMTP id kc16so21435138qvb.3 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:45:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YpY7I9/3vwIWnWFMsbMmcXC+bzQZOgggVRQdn95z9Rc=; b=R8JBsdflN8ugHukF4Bq53vGLEFUeE4Y7kZFrMsp+ekqXj6C7XCTaOqlVUtncTn9Sm6 v7iVF/03Ssm6hDRip8aZlufa6zH4fPXdIpbMuj9Wi+eoxS1hW2NdGA5m7oi0SJRX5Wn0 z67OVCvvlLGwzhsh0uN3i/4MzvX39yUqjvdxZDz1Z07N7KiFyODsUQMI1Ihe396QIm7l 5tjObqs5jjAwzn79FMPtJkd4dp8rS0O9hbPTdJWdIpcEDEmo3pcpal0SwfmYnqirraLm 6BOkA1y3Fl2QRUwVorZtv4wDbQFLaiLO7pJMhEt3FMUS5zF5bQQt4Prr+2eZEsHew7bX 5hfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YpY7I9/3vwIWnWFMsbMmcXC+bzQZOgggVRQdn95z9Rc=; b=bf+aVQT0k1QNvVX5d6SmgR8MZ+iWkkDyGMICcJyOoOOdhOst3gilQ+u8GCS8od+A5q CRlBHM5JQdeVc71CCYP+jcCPQuKNVkHwMwKP86qtlYf0HQ8MEzqZiBSJjNqxAOoLL1Du mjWHX6PhYW/SrzZMg9A5SzuE+xspRlwI6+sp26gHKKa7dV/8vvEVjCsmknEOdJSsaxE+ hnZ+r1H9SCupgdkAUQkRyAX5go1YNnnf5JJuZVPxBdgusFw4veUjO3sHT35R7iF6c+wI scGE4dKNT1ERxPn1hgoklyEF1Q6FhSligsCVpO8BeRJER0+HUxirj56PsPHjoEelnzj7 Ge0Q== X-Gm-Message-State: AOAM533Ab8vzsQGBB5fcFeX7SEO1170A8e+iMoj2XdrFXOkKJImbZ5yz JREd4SdpdNYQuvopubvL0H94ACgO67vyBIjd X-Google-Smtp-Source: ABdhPJzPX8MXqtA0FcoghUfmG8euapQCB+Ufg3K1D2NXFohoWG/eWTgE2UjT+fvGTE2zmu2po/ntvg== X-Received: by 2002:a05:6214:2483:: with SMTP id gi3mr23121825qvb.60.1640850353743; Wed, 29 Dec 2021 23:45:53 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 22sm19525345qtw.12.2021.12.29.23.45.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:53 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 05/41] guix: node-build-system: Add #:absent-dependencies argument. Date: Thu, 30 Dec 2021 02:44:20 -0500 Message-Id: <20211230074456.33433-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower, node-build): Add optional argument #:absent-dependencies with default of ''(). Pass it on to the build-side code. * guix/build/node-build-system.scm (delete-dependencies): New procedure. Respect the #:absent-dependencies argument, removing specified npm packages from the "dependencies" or "devDependencies" tables in "package.json". (%standard-phases): Add 'delete-dependencies after 'patch-dependencies. --- guix/build-system/node.scm | 19 ++++++++++++++++++- guix/build/node-build-system.scm | 19 ++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 24bd677bfc..47af4bb9e2 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -49,6 +49,7 @@ (define (default-node) (define* (lower name #:key source inputs native-inputs outputs system target (node (default-node)) + (absent-dependencies ''()) #:allow-other-keys #:rest arguments) "Return a bag for NAME." @@ -84,6 +85,7 @@ (define* (node-build name inputs (test-target "test") (tests? #t) (phases '%standard-phases) + (absent-dependencies ''()) (outputs '("out")) (search-paths '()) (system (%current-system)) @@ -91,7 +93,21 @@ (define* (node-build name inputs (imported-modules %node-build-system-modules) (modules '((guix build node-build-system) (guix build utils)))) - "Build SOURCE using NODE and INPUTS." + "Build SOURCE using NODE and INPUTS. + +The builder will remove Node.js packages listed in ABSENT-DEPENCENCIES from +the 'package.json' file's 'dependencies' and 'devDependencies' tables. This +mechanism can be used both avoid dependencies we don't want (e.g. optional +features that would increase closure size) and to work around dependencies +that haven't been packaged for Guix yet (e.g. test utilities)." + ;; Before #:absent-dependencies existed, this scenario was often handled by + ;; deleting the 'configure phase. Using #:absent-dependencies, instead, + ;; retains the check that no dependencies are silently missing and other + ;; actions performed by 'npm install', such as building native + ;; addons. Having an explicit list of absent dependencies in the package + ;; definition should also facilitate future maintenence: for example, if we + ;; add a package for a test framework, it should be easy to find all the + ;; other packages that use it and enable their tests. (define builder (with-imported-modules imported-modules #~(begin @@ -103,6 +119,7 @@ (define builder #:test-target #$test-target #:tests? #$tests? #:phases #$phases + #:absent-dependencies #$absent-dependencies #:outputs #$(outputs->gexp outputs) #:search-paths '#$(sexp->gexp (map search-path-specification->sexp diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index dc8b6a41c2..e6b0811ca1 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -325,6 +325,22 @@ (define resolve-dependencies deps)))))) #t) +(define* (delete-dependencies #:key absent-dependencies #:allow-other-keys) + "Modify 'package.json' to allow building without the ABSENT-DEPENDENCIES." + (define delete-fom-jsobject + (match-lambda + (('@ . alist) + (cons '@ (filter (match-lambda + ((k . v) + (not (member k absent-dependencies)))) + alist))))) + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + "devDependencies" '(@) delete-fom-jsobject + "dependencies" '(@) delete-fom-jsobject)))) + (define* (delete-lockfiles #:key inputs #:allow-other-keys) "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist." @@ -431,7 +447,8 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) - (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) + (add-after 'patch-dependencies 'delete-dependencies delete-dependencies) + (add-after 'delete-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:59 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:59 +0000 Received: from localhost ([127.0.0.1]:51141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9L-0006tH-8D for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:59 -0500 Received: from mail-qv1-f51.google.com ([209.85.219.51]:46891) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8R-0006p6-UN for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:04 -0500 Received: by mail-qv1-f51.google.com with SMTP id r6so21343010qvr.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZhdPDpnksZab3jRF536pAVOt8rkPDSGFtmMZyMvZmBg=; b=HvnBhDqKg+lkAhtFK2PCKWXuVfCqI+Lsfv7zgnnMmtl51sgSNic0Ja+5luHqth4OID VHx6r4EGGjm8n4SkUSru7CKXw9XCOaiwuW2IQpmSoQFveIo7o3feZ5jfFBCanPIxWEOY fsYKuPvvz0l8+LSlHRMu/5GNusN1a8MrifZhGnHUsb4egZGewTOM+acjTeiIssjgjeqb 2HLsvwn8IWOf2r9EiRMf20z2yBv6K1f69Yi3pzU5vJyWZrjup0x7EAxkhq70vkrTMpR4 M99qnW6RBe+l2D0+SYWMOhuAqQ21Z7BB8fDGWs4FPdEFosaJtK23SSNCpBtDgclmF593 sJ8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZhdPDpnksZab3jRF536pAVOt8rkPDSGFtmMZyMvZmBg=; b=BOq9823kt31SQhAky77hY4/FmAcaVBgVzrMZldenEj61o/TYTOALvbTPQ87ddCHYZo 8HwJFw9QV6+dC/ro9vWylAdh9QcpnBxUHJcFxNwj4tfAulaVoPb8FCSPbwz/hsp70bqI /xygpXGQtLTCKt6tE2z0qHrLSAllNmMGM8xZe118qvQ6eZJWqJBHwGXdV3LV4t9Rbk9g rHb5/urQ97FkcAvewnDuJxnjpqpljBgDKebE4pJNJCZYK+8bwQDpAu7NM+KZ4tirTZ+6 Q05Wa9HpMKuvS9IoIV2RDayV8KrHOZYLrNoAkwPFW6NTluSUBEvohn8mr0droNzbK83F UCfg== X-Gm-Message-State: AOAM5333D34k3xo9LQq4eBihMM89djSOymLI/1l0ZPStVLQMrf3p21Cs jAtyXZFoiKZByW8W5G/uHFFsStDrclzZx4gi X-Google-Smtp-Source: ABdhPJy9cfUX9XchivtibMUxAeJLy9Uwfpz8sBp6V+U3R2vUVvBmwTaig0nITRHYIcvWsg9/AUL1jQ== X-Received: by 2002:ad4:5ba4:: with SMTP id 4mr26763744qvq.15.1640850358479; Wed, 29 Dec 2021 23:45:58 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id y21sm19751486qtw.10.2021.12.29.23.45.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:45:58 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 06/41] gnu: node-semver-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:21 -0500 Message-Id: <20211230074456.33433-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 51a393caab..95f5f28b3d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -344,9 +344,8 @@ (define-public node-semver-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:46:59 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:46:59 +0000 Received: from localhost ([127.0.0.1]:51143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9L-0006tP-Hh for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:59 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:38527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8V-0006pc-UA for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:08 -0500 Received: by mail-qv1-f45.google.com with SMTP id o10so21399016qvc.5 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NoVPktuLVElyZq4/B5P1b94fagv33Ex/iGXUWAz6Ovs=; b=TVQ/Y+D/y9j+rBzEOpVSDtx34qIOCtkK+RzuJv165/P4eB3pw+PVOIEr6Lfg+K/gVy qcXNps0Cw6Qd3l5dP0Fj8KFB0tvJGFmbzuiYsCW3saDGFEtuWSFwPFt3bteSjM1bVLH5 AT74OHFgyHiZ0DyAM4N+SH1REQYkd7zFkfqkyt6rEs9ZxZ2jpT/Atl4HaTttgaH7wrDg cz1MUXoxGeFEGw3yVbhl9RWGuVtpMDDWBEtq65Ix8POy4U5DFz0Az66zgxvAikfJ0HrX 1Y4zcU3+5nPt1cTxHZAoamcPdqTK8D3OY9/VtKgiE6z9G0HrEotyuUY/hD3yO6J8M53A roVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NoVPktuLVElyZq4/B5P1b94fagv33Ex/iGXUWAz6Ovs=; b=j5v/R6Kq1DHge7gAOscTmj5xZBOnx/tkWR0BLSzSyHHTkipl2tSuPSEI8fCTeVhWD6 cdmU4zaC9VS9FREioJAo66eHxiULtc1r3Rli3LJ7ffGRtuCNeyjUcw0I64VUAH7UUGXt dL842xIb7Nxw7B4nPhbkXegIPurK6zfzoBNwRUS2eSYd9ZRZ1TsjmS6CeWuLcSkBKGsV 6CXyd7hqI2Em8txJD0mOMPK4MbvC5U3TyGIBW8Gw6lBgfc103vQj4EC3YdkpOsbkrTHd NIhgVNadwD5jf+Qhc9RDlLwiBn1Ng2kAOyTdWttjpxrzZVtot/+LaNRUi39VRLQY9l6b 9eEw== X-Gm-Message-State: AOAM531FQ96HTeEzEMCBH4o0PWtJD6CstWx/vdUeUYArvLDBsYxqOHo8 Lr1LlsnGAjNAm8/r6X+SANjaN6JTBjYTZvUu X-Google-Smtp-Source: ABdhPJzcXRPKhzhBt+swmXMQN0ZzHgqfTLUzHvxlVJpllfC78jui4TaEPvarTRNAZ0dtON6RDH6k5Q== X-Received: by 2002:a05:6214:76a:: with SMTP id f10mr26843697qvz.8.1640850362553; Wed, 29 Dec 2021 23:46:02 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w2sm20220261qta.11.2021.12.29.23.46.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:02 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 07/41] gnu: node-ms-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:22 -0500 Message-Id: <20211230074456.33433-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 95f5f28b3d..bec3f4620a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -372,9 +372,12 @@ (define-public node-ms-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:28 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:28 +0000 Received: from localhost ([127.0.0.1]:51176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAl-00071a-UG for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:28 -0500 Received: from mail-ua1-f50.google.com ([209.85.222.50]:42997) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8q-0006qe-Ik for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:28 -0500 Received: by mail-ua1-f50.google.com with SMTP id p1so19190643uap.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+w/Q16IbQKlQxfpprcahTpTf3XCsrcv2Vi2yoMBDb10=; b=FeEcdnItYrGJ5KziXLRO6CAqfx+keX4iYdOlAn8w5COLHQMSMqm/bmfULZJs0iDjQA klcCmrtvyWzWrYw9l4+uSidNQR2jAKYXtMQvdX2Wo+j8hh2vtzpU/dx0q47bqs8wj8FJ ES9Euvj0JQK8NKop9ri/f8SELC8epZt1CnNoO+CxlR1o/TgNVORMJEpIkeOMXiaNyG07 kf9eqLeo6+brUn+OaDjeZp+2c6l4UKhgwdwflj2hn9xTzzBRFkqWs3sCHsRFBAvS1rIJ 8z0izUA9aa3SAjMj7/+U8ndmXvoVyyBT2Aatp/Vyf9Qh4r8OC1g7ySCzaP431neWYtvv hC1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+w/Q16IbQKlQxfpprcahTpTf3XCsrcv2Vi2yoMBDb10=; b=L0cJovblVmsqhynwPLmkbb0ZXqt/jN7me8eDrqg0ZdhZKaNWIF2y2Utyu58OIZ/jv/ FZmtblAWRXbrhd0Q1316MDU56F4om85wsF198AbsWSBTZrB2BocIpBcK/2Gjt5S4mgoy ZEFKT+Av1cfka1i0dqncq5OmEUWesL5MBrxO+jUXz5Mgr6pDs97+J/3hkcxOWiRLrf4w ga3wirzVlXyQ91CW1+d+GiLVpY4wvhjsbB4pUZMxEPUVhJmxnUrf+DZP7Uh8I5CHUiEU g9eno8JCrg3lD7+Ba/hCM4B1VqaLrVLNNEj3zBm7oJschyYx9gFozSmUnqqf6uUVveXr a0FA== X-Gm-Message-State: AOAM5306RxOFfY7dwvqPIL2hwH5KjbjzcXkXayAYbEdTLsfo2NgxvHDa Ycserodo3tAh7fA6FS3jZNJlUqXVtHuyX8cL X-Google-Smtp-Source: ABdhPJwHh4kydncyKOCqWHVLcsIycVXr7Qitr7QW5THjfKlvejrQSaPJSr5f0OTck2BUHeYV0K6SUw== X-Received: by 2002:a67:f613:: with SMTP id k19mr8264522vso.31.1640850383105; Wed, 29 Dec 2021 23:46:23 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id l125sm4645805vke.40.2021.12.29.23.46.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 12/41] gnu: node-llparse-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:27 -0500 Message-Id: <20211230074456.33433-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 4d3db6a8ea..f952119a9f 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -613,9 +613,18 @@ (define-public node-llparse-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:28 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:28 +0000 Received: from localhost ([127.0.0.1]:51178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAm-00071c-5x for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:28 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:43004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8u-0006qo-QY for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:33 -0500 Received: by mail-ua1-f49.google.com with SMTP id p1so19190835uap.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IUuGmP/WAhLf6xAmxt7ShFjsGdztlHx7allStQsdfNk=; b=AAp2YLu03fyviYsAuRvK3FqDWY0vCnkL38K1N57pyGOcCHxojUx51QvS3fdzs34EUY O2D43tkhM7QKW2YlHB4GdAq+x4MM5516d2Sk6lq6Iu0Bn/zdUB7yUXV4A6vumC4/fCns 912PDf07iZUP/Ia8maF91u+n8828S0wGmRIpUiJuxuWeoNd2SnwTFnbSFrSUSnnlqVw9 7MOI4a2eS2R/WvcElvE4U/QKMuAgz8Pg9E5Jq3e+qyaadnxKSfu9vi+kL1rKkQPvyS69 hiBC2/pt4yycJ/P2jDY3Adxi1c3NYFTE3cIWROEGLsJk46laDblhlXYNwzpgUK6BsPrd uzTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IUuGmP/WAhLf6xAmxt7ShFjsGdztlHx7allStQsdfNk=; b=RGugiPA35J8mHtHwZAdt2pVTlc9EkqMKIMFKADXmvIAKlBQ4SRzmbwW0wAgKiFTaj+ udzfLHxsJu14SrXAiCZ6mYCp7VtzU/1hfUBEsH67kM9sbiaCgvCvLzljHNkTTir/SN4v x1B+ahvm5UAFUTy99DbQABsu5Z4zJjnidoj4O8dEqsYcBvjMWDmUm5lsOI8QHgPktHXY TiI8gKKuZAbJsTSNZ/6ZEkQLw3PmLPRTrmI3lhiw3EMSbicYxFsJea3l5ff/Ey9S4JZb PFB1dlEdWR4RFt4QL2QyITq8izaU97SsN6gf3jz3/6HkrMZLmDyCL7elLHKwukElQUpR txsA== X-Gm-Message-State: AOAM530wisBGQZDnEfJRu1yoWZ/+sLMuBOWOvs1DoNKpbCU5NMw1nrEu E9RNC7ZOA8D28FOsE1dc54IKcv+8ttJqhyH8 X-Google-Smtp-Source: ABdhPJw/0M/yXRt+Aw+Q4M0/9BmU0+4fGAXphX0Wz80qGBTLmT5hp4kn23m+K/3WqaLLvL1jvWapJw== X-Received: by 2002:a67:d297:: with SMTP id z23mr9400249vsi.18.1640850387237; Wed, 29 Dec 2021 23:46:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w138sm1832414vkd.46.2021.12.29.23.46.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:27 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 13/41] gnu: node-semver: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:28 -0500 Message-Id: <20211230074456.33433-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9a0be96852..bd72eea807 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -288,11 +288,10 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#: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)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:28 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:29 +0000 Received: from localhost ([127.0.0.1]:51180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAm-00071l-G9 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:28 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:46655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8y-0006r2-QB for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:37 -0500 Received: by mail-ua1-f47.google.com with SMTP id c36so15694714uae.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=POCuJoZ2RJvDoPgZdnU2k4K4wevtu0JAoSaspd851mE=; b=EAOYqKpE1KatUBH1ME7HxIhIm09feAZEvozq2P5M6KgIupbicIvUjEdBbj8Savxb1M DTD31FY0j/6zVRLXOoVyoet983TmSjUns2g30kyW7iBVOeYIsL0byRWGkxUButE1RAog oXz8scmf8FWJLDHhB+dh2F0nQ8nVG3K4eHmo7RIknbFgiUm1BJI2EM11h2ajlIRSoXGA imhTNfXNwh4TZDTOtvVhNo5LiqVqYFP3cq3AebXIxINiaCq+GT8g6w4wKQUMEQI0Uixe 7DCSs8/DnJ9akv8EOJxUAyXfO9txKzr6NpdJa2121dhn7t92T2mh0soSYHLInowuR4bW cwhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=POCuJoZ2RJvDoPgZdnU2k4K4wevtu0JAoSaspd851mE=; b=ALZtQJphtlkzx8rauL9WU5a4w2jpGJ+sRljo1I5VDvJqnLVs3/wz5JPdzQvCLR1lkl FKm77TGQA4qPyLw/5jtERWHoNwFeu8acy/qucHxNxX7jeaL+Of081ggIfNFoxfFspvRj FZMiGjT6fSX/yfBBac79BFyo1fXQjNQftk0gou8onB13VwfDvidj20H6ohADDmn7iZP/ 0bueZ0YbJh43oUriol0cLXamwJMZ9UFBYqIrZ9JRdVY3kpObf1caG+rJCcn5np6fEBso 0Jc937GxMVHWkfIXBP8wYQLaQWWj1QnfvKwDvzm6g5SAy8gaRKP1dwoVnQm1DTTG5K3X Kntg== X-Gm-Message-State: AOAM531mtUUJM4Nl6pJMl83LdraFc6O+NDK8MFY5g2/F5tfQOmCncdd+ oxccjT7YyOxaqcgr4WuujzgOBMEjW/C7rtj6 X-Google-Smtp-Source: ABdhPJyMsySYI4SrsKiJNfjCgDE1c8t/ZTnegO6+7etFQIROY91q9uDmHn+7sGbBSaPvp27BAdGLXA== X-Received: by 2002:ab0:6c56:: with SMTP id q22mr4636876uas.118.1640850391346; Wed, 29 Dec 2021 23:46:31 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r202sm4630705vkf.28.2021.12.29.23.46.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:31 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 14/41] gnu: node-wrappy: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:29 -0500 Message-Id: <20211230074456.33433-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index bd72eea807..ceef48887e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -315,10 +315,8 @@ (define-public node-wrappy (build-system node-build-system) (arguments '(#: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)))) + #:absent-dependencies + '("tap"))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:29 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:29 +0000 Received: from localhost ([127.0.0.1]:51182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAm-00071s-UW for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:29 -0500 Received: from mail-vk1-f173.google.com ([209.85.221.173]:37534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q92-0006rF-Qy for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:41 -0500 Received: by mail-vk1-f173.google.com with SMTP id g65so13298939vkf.4 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aDBcDHwnNx8KibeQ7SIpaK+IxaHT5ofP3mV//D3d9/o=; b=Mzf89cVLn6ooJYmjotero4N/tfS9xvYFM3YTGw+9H4vXZl7tCCS1Dwca0fQ/YqIIY2 A7CQj4MVvV4DPZEtkp9ao/McGFrWhPcDxQeXV/2vEt2VgtSv4n0OtNsELBpy5McCdS8z xiFUGRtqSrsAUAwRQuRKnViZLd0gT6lYrAoTQ2oRUermN3Buk+ZN555BVNrpneoCtLnn mw6rZ0hlVNQIDTOJzkw7vp//0JhK8FYNAcsEGgJruoAwnn+CgR+fByFKIeDMLSj1XGpi omprH2eO57VQEFIR80GktmNkkJyvlGKIgENqxDWKXBRJ78qZN7AnJj2/tCO4vlKliSNk Vutg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aDBcDHwnNx8KibeQ7SIpaK+IxaHT5ofP3mV//D3d9/o=; b=njc07Jws4HQ/VeJmQ8RMC29CXbMv5Dj4nJkIcV0SMTp/aacZSD0ylqYDHN4ZKFo1o5 GVQ4kMPPUwOT0Gk9qstYu8mUI/wzQ17Hg0ytrFfrvWemngqlIWtwjj32ESRESqdWVpnv YHar7/YPjBy/3HMG1wUk2J84X0NB1jjtdJ/X+fPdzZc1+j6Z9xYjctxrIWC7hzXOB3Sp Y316F8742bcyB3i1l6NtBpU9o9iVYAaNMX1n0vUTouRDJne67lSTla7THVVYHbnBkIm4 kl9uHKynAHYx4jwr1cQZzavyiAH2dOjVzfavB/9v/I7xq4pxOP4GogbBBcfIeQFaFpY3 iQNw== X-Gm-Message-State: AOAM533wJKZ3Bd+kCt/t6jIeK+Q11RpNU4GARhwoGMzzP41yT2B64y1x AGgrnkfSRNqspBwG4epZ6fUGH/QY6EeeVOXj X-Google-Smtp-Source: ABdhPJwbcAK0vB+7AIN41eWoz9rYyPPnfyvrMhDFYmNzVadgC2iILCaCwO8wOCSEe4e+5mCcyJjTXQ== X-Received: by 2002:a1f:3fcb:: with SMTP id m194mr9474027vka.15.1640850395324; Wed, 29 Dec 2021 23:46:35 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id f8sm5209107vkk.36.2021.12.29.23.46.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:35 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 15/41] gnu: node-once: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:30 -0500 Message-Id: <20211230074456.33433-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ceef48887e..9e602fd0e8 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -337,13 +337,10 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs (list node-wrappy)) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:29 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:29 +0000 Received: from localhost ([127.0.0.1]:51184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAn-00071z-8W for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:29 -0500 Received: from mail-ua1-f48.google.com ([209.85.222.48]:41951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q96-0006rR-U5 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:45 -0500 Received: by mail-ua1-f48.google.com with SMTP id p37so41056102uae.8 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TMgem4H3fHQav6S6NglQm63R9WVV7mA8cBSQXOsp7X8=; b=P8bxVNt8YbpED5idqG7XTV9Ra6V0SY4Yhnjji5JKSFinbtG0xklcM9B6+1juXpFNzS J+jZZOCtE0pEG+ch9nJAeOnaH1QW9F0rsJSjCJlicMl87zFJxiq1QoT+7JXdH1RuIpRA eG7UqYSEsAzgKBv8ml34tthO/3Ulj2MxZWfvOCWncE63V2+YWrvfAb3VKfl2SqxcBwK3 JIfrIxWqsj3v2joKvZsS/91rDVayyB11lyIHOL83s8eOWzG/P3VnfFPXgTm60/iSMWno I+loE3vkChREi/95bIbymLw3/OZSGTvJqqTiw3pv9ssUJRl991AHE/EQf2NPPF5qdqwz xScA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TMgem4H3fHQav6S6NglQm63R9WVV7mA8cBSQXOsp7X8=; b=SAzS65FaytevpGJjKl6BEghcV1peIQdaqvY3+NNNZgvt8Ky6SayFe9s1wetaZ+l6D+ g34YvxKLBnwknIXgn6LAPTl5g7Qgcmvj5N+gfAvg2gRlBpjYLE8aWfOEUJlvkljmpSBd hplj7c7w1tKsY8O9CnHyrIxryaloZYtgwksnwKDpLuS97itMPBna0v47vP7f4lfF3/pV 6aLK+k6qtELlLxOPVY+dQpkgJnosrkEaXcM8JYBBM20fi5PgsyharYPI5cr/I6n+tJ16 OssoC9Yg9QwJgRixDmFrSmT8fv8zI60nXu+HrMQET1YPcwmEmqYKBBreCSRjF43Chx+O XCfA== X-Gm-Message-State: AOAM530vbMbMn9xYmNapNQF+lT30CV6o1ZAd8bomS9u1uuxDgtGfp7E0 SLOLs4iEYIg0/J5h/11q9eVt5XWO1mWpsrJu X-Google-Smtp-Source: ABdhPJzeZ9JJZvA4o+sR+8yA9UF7gfL7U+6urNC4HrcrtBDAvwC2KF2cueEQPktShPyvNyeSSA+52g== X-Received: by 2002:a05:6102:508c:: with SMTP id bl12mr8932607vsb.81.1640850399480; Wed, 29 Dec 2021 23:46:39 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 63sm4906466uak.17.2021.12.29.23.46.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:39 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 16/41] gnu: node-irc-colors: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:31 -0500 Message-Id: <20211230074456.33433-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9e602fd0e8..6c3811528a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -366,12 +366,10 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("istanbul" + "vows") + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:29 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:30 +0000 Received: from localhost ([127.0.0.1]:51186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAn-000728-Iu for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:29 -0500 Received: from mail-vk1-f173.google.com ([209.85.221.173]:34393) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9B-0006rk-92 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:49 -0500 Received: by mail-vk1-f173.google.com with SMTP id h67so13278940vkh.1 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2hl6+fqbZUHZRB9+6mdE4yfOfDqi9ykNvCMM51Yg2OQ=; b=DkSBkflslepRXoCIxBE8euNXgeR3fVyDLx09Sx4VD4LlMdt/ofQp8jLcbPxwZDvVQR 7lrf/+kJq1AnOZjCPnOd2xVUFeTpo1j9eU6HfuE3KimjTKGZaQcGTcXTlxSE8gZ+VEO0 SHYLmVBEwo69YaqKiyE6VRQFLYNGbcFtHavEnth3IO0Y4Wy/i0Ea5z26aQNK68C9VNCL jg+i2WJUBZ/eJitLTYZVP8vsQGlQ/0YPOsq9FlZ6762VodOnq+C2TX/48vr0sww9C+hi SL3gVhcqZtHYjx664glu88nBULxiBAl3ZNB8Qthoi4ASUW1K7o54skK++ywrtme2GwkH iCbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2hl6+fqbZUHZRB9+6mdE4yfOfDqi9ykNvCMM51Yg2OQ=; b=QtEBids3ECqgKKhojPbjOWyPSGx9tYEz7VAwuy2Ko1To5SlfyYdl/p4lK4H7+I7FEW kHmR22Ns9VQZ0SjWSV0MRCBUZFjq8bFQeMpQuhzONzoZ0MUUkGq4jPhHgrbS5U9TdiUQ 73XtV3UK3Sp8bo8lTYDDXgeXyaAW0ACpZvRl1Z6RNOZt+rHd5FWgVA3mh7YIsiRPRZzr Ut56J/rXWOViBxigvl75hKFjVhn2bcghii5cwfH5h4OCHY9XnOdMQOGqrshMuea026wC wDwpwqGWikm5VZ8TwAt3vtovfXNuYaSgCrEySWCylzdFA5mhQrM7vQvl5VTK1Bgb4dEA ZZMQ== X-Gm-Message-State: AOAM530OTLpMQ1SuS/SYXof/RUo2piiJ4PsMLtvOD5Tp1AD9j1+d8W+j qiVtxDOBzLZepdCcQrRWqqFwhfra6IJESURe X-Google-Smtp-Source: ABdhPJxEO+qm5gFnXhevy7ES6iFM3MnOxxZUT6IJW2hATAfAEcgIH8GnC+dOQvydwXWIeTB8ebEVBw== X-Received: by 2002:a05:6122:201e:: with SMTP id l30mr9334838vkd.10.1640850403803; Wed, 29 Dec 2021 23:46:43 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id p46sm4941475uad.16.2021.12.29.23.46.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:43 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 17/41] gnu: node-irc: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:32 -0500 Message-Id: <20211230074456.33433-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6c3811528a..93bd067311 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -393,12 +393,12 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases - (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + '(#:absent-dependencies + `("ansi-color" + "faucet" + "jscs" + "tape") + #:tests? #f)) (inputs (list node-irc-colors)) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:30 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:30 +0000 Received: from localhost ([127.0.0.1]:51188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAn-00072F-RV for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:30 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:43630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9J-0006sf-MH for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:58 -0500 Received: by mail-vk1-f174.google.com with SMTP id u1so13037821vkn.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ui25XhOyPtiM7d82eRyHjz1cLKRuQqoWgyrull4aLDY=; b=T1XdnYnebqrcmRdi66CmW7wJAJwNpLFI2a7R04XnAicZvQalO5VrE89DcYYXwuYBY9 +FDFq5QKcP8YVCrOfbmwNEBLr9mPX3VYNVLEpeBxYa5D5N1X/HH/W1T3JWx1P07qHrou qNIadAm/JywY5xwOZCAjqThXgyqj0AEE+x4lEUSJDKLbFh/+aVUlE+Unm7wGFdqnpaJA V7cpBMBo3eOdKwF+/TtH8Tf+XoPlyD0wYlQq11Qz6s2b2kh46ZViV1DRY/E+3TEqIwJM lierZ9nkj6J80J6zZR+j7Ik05kXOrm1ijOlI8YE8zoIqVyEYUAa36PgpA2O0ULmcqGoT I5EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ui25XhOyPtiM7d82eRyHjz1cLKRuQqoWgyrull4aLDY=; b=Cjvbc7D8M8aK3zGi01v8e2XcBDLNbIuFw06LzqNW+Jz3XPiJhO/YSlQuFKfKsxLhJt JFevDISB3YpFuYCDNpQ/MJnMgNxjyjnrSzJVK/0hZMtcHNFFxYmVD8Ltn+kPTwRZmGC9 yQnl7d/gMg0nnnVQNO8FTKQBrxC3G0UHWumtYkd+vhy7FE3SsW2AiRHJU8pYaY0S3trH UM+pryxBk/xizqpyFU7N4iA58SnchYi+5jQ90I0zAyiWQWDwJm9dtObZebD4d0EqnKcX wVw0oyuZF82umEHWvEWiTW9ZTZQIdikRY9Z17dnWQGfx6yZq2cI1BJiOXFS3U5ExROer aS6g== X-Gm-Message-State: AOAM532QrJgnna5EKC6T9LMNOL9/un1+d4wmMlGsLIKaGbBgHQGvt66h RV2Y3f1uTie18SdZ8HwdymuOJh4giavib075 X-Google-Smtp-Source: ABdhPJwPzI1ZArhWVpT971t4ImnAoVT4JM62E/Vfx9CJ/fhpHBpkEhnAyk9X+CM/b57AkpKiT3wjMQ== X-Received: by 2002:ac5:cb72:: with SMTP id l18mr9856619vkn.1.1640850412108; Wed, 29 Dec 2021 23:46:52 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id u145sm4377700vkb.1.2021.12.29.23.46.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:51 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 19/41] gnu: Add node-safe-buffer. Date: Thu, 30 Dec 2021 02:44:34 -0500 Message-Id: <20211230074456.33433-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ce098e6e8c..410dfd6a62 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -381,6 +381,34 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tape" + "standard") + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:33 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:34 +0000 Received: from localhost ([127.0.0.1]:51190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAo-00072M-57 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:33 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:39703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9F-0006sU-ET for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:58 -0500 Received: by mail-vk1-f174.google.com with SMTP id m200so13271969vka.6 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Qbu66hRbdthtW+MHRTqq3c9Web8l5l+K1eRX5kDX9YI=; b=ieBlTEHiDMpofBPDbhnlVP2RZ05Fu5Cqe1m0hsrfGhcuwh5iaxmQrmkaenSTHiA9Ne b+HM35dRiZ2JVP+NQ/eYRIbg0kV6ADdK3O0zrknEIw9Ne6Dgsm7ZF/BAh02B2uJwrC4K ygLqLEJ03SS2Nc6ITJhpWAqTEks1t5EO1QAjpB8H9aMjhBNfYQ3mB2aeLADEsRYZRj/1 IioiiqXih9JfaPDycyZaqm3f0/RU98TdiBpg/NWGNL694lEahGGsxrL4P81C4BRbhrkc gIe1hxG+Y9MeZiyHoINFzMmZVpUBu4NDsA5k2pgLIUyY+CYux7HPDMKEsL3dBSB+aW09 w7aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Qbu66hRbdthtW+MHRTqq3c9Web8l5l+K1eRX5kDX9YI=; b=Rg7gXjGXmcg3TVE4t5dLHtiWhYYcq1/Ui1Hzz1AvftJMZFjrJG5ynyUaLvo7pP/Bjm JS7fJ9rcohXV4Bd86fgb+dejfLwcuc4QdE47x/CaW+UXUS61YV2GVXRu1J9KzlrSMeHX 90A+SbncvT+pkwRg1fC1hmsdYXQfp8kKkua6mtn9YW2JX1M3lk7aX/KZRr0zVQU3lYlz nP/Wj9NzkyalzeGG3ziMlkGlIGiXSFzqT1bi7l1ZK6ERUW5Ngj3XqndqTKQ5rrevKOE6 Wd8RN533Nmmqclug6Saf7KfErXQ9TUOXygVmS7HJB6ZDrDi3xsRndH2aL8uAjCs+OwMo lK6g== X-Gm-Message-State: AOAM532MwGj8tTY+LXnTdcb9LYd5y6zgJSMPFatmXElMNBaEzUmpDowF 8xc17ijoBe0AYQS1AASTZhYrqI84XIcZ+c9z X-Google-Smtp-Source: ABdhPJzqWIcqmmn5rbbPpsZ6jSWN/lLewh+5Ey8eGAFdCqltobiaXxBWkJg0FwP1L3GjCLytLrDg0Q== X-Received: by 2002:a05:6122:e47:: with SMTP id bj7mr9322285vkb.6.1640850407933; Wed, 29 Dec 2021 23:46:47 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id x2sm5609733vsj.32.2021.12.29.23.46.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:47 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 18/41] gnu: Add node-inherits. Date: Thu, 30 Dec 2021 02:44:33 -0500 Message-Id: <20211230074456.33433-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 93bd067311..ce098e6e8c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -351,6 +352,35 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:34 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:34 +0000 Received: from localhost ([127.0.0.1]:51193 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAr-00072Z-T7 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:34 -0500 Received: from mail-vk1-f173.google.com ([209.85.221.173]:40502) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9N-0006sm-VW for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:02 -0500 Received: by mail-vk1-f173.google.com with SMTP id 70so13272292vkx.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6xQogN9y7F78Pg82dwCcJ+kUpzMEpdVAXHL3eVI7HnE=; b=hGXyfuMi/m7sHQTD38uytzdANbb8MM+NTOwsYETIAIINUbdrtRHP6H1+PX75I2BVpw 7FNJOBtTo2D1V3q6FQPjD1Jh1/+bfJSkfwSNf8dxsD7GgImJCrFb4ZmGd+ZDU96RUwIh +LydSjZiH92tKeVbHLeih5U5AEloBC1nV9hnTcrfUzBgF5Xro40+XtZQWdQnRvgEcOZF a6l3PO2Q4VxPTVgYrJ+FiGsayBjUgbcLmixtCva85QRC26gDE96ed4vqy9k0oCdtlMEq p65wcAUx5vBiKibI7+56wkPU7dJ7Z7ucXUlSHryWxzC6/sFbT+IUEtpiQrZLtmvUFZqA wJiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6xQogN9y7F78Pg82dwCcJ+kUpzMEpdVAXHL3eVI7HnE=; b=DUlirKU0qDzQpRMdIs+MO435nqea7UtBfCLZEIJjFUFACcWKFwXzO3LYUmM1yzerJZ jKCz/B7ZjihV7k8LDq+rAfO2Oi/rPRuLakdJmOaqSPRKPmq0MEu60FOiC1Iyr4qPPog9 o6y9wODtijvvtrVOb6P0f39kj1dMSfyPMKwmY7zM6ZzwST494bLTnyoYIVO5+BQlyq6n WqDdikXpnBmD7anHa+anNCxEEKxAJfUdiBei2x2HLUBMaBzUYVF0N1LB5yKqQSlmqjUa 6+nV4Koz7RzcNSs+Rq0112fse9OJDOkwR83IVuRXKgoykB0q9zPatGLbMjA/i1KYv2xl Oqvg== X-Gm-Message-State: AOAM530PDZliH8WTb78OTZQmcZv/S/78aSLYwQboIyVc5e4MHLPiOzSq dR/yIp7C/Q+HFTejIw8XFllMAuDeFcM499UD X-Google-Smtp-Source: ABdhPJyQv8k2816HTXGvTSeyBSySWKX44yVdVveFYiGs3wAIt2Q0cTURrhcoGtNmrWtqSOgNCW0oIA== X-Received: by 2002:a05:6122:998:: with SMTP id g24mr9908120vkd.24.1640850416441; Wed, 29 Dec 2021 23:46:56 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id o12sm3778359uae.1.2021.12.29.23.46.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:56 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 20/41] gnu: Add node-string-decoder. Date: Thu, 30 Dec 2021 02:44:35 -0500 Message-Id: <20211230074456.33433-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 410dfd6a62..5dbe2cf244 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -409,6 +409,39 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:absent-dependencies + '("tap" + "core-util-is" + "babel-polyfill") + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + (list node-safe-buffer node-inherits)) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:34 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:34 +0000 Received: from localhost ([127.0.0.1]:51195 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAs-00072h-6X for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:34 -0500 Received: from mail-ua1-f53.google.com ([209.85.222.53]:40662) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9S-0006tc-5A for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:06 -0500 Received: by mail-ua1-f53.google.com with SMTP id v12so29383961uar.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wsSmPOqCiUj/TB6PyaQCpYhFg48MasJ1OG87/HYhyBk=; b=gdfT9buy+7FSx9iO1BIwPxSX3V7dN5Z9EzOL5MmAuNPIQE2aJT8+MtO6SaaG6/QeQw hokHrEQGuRSMrH/G+Ly6Wb/wpuJB44PMCXJHqrvUmewrW+hQQ20W/Wv/yZTGA0KQbssn 44b4JBQN1rccCRxTpIcIq/SAERSrSvL4Mrx8+pi08ABkrCqessBhAdoR/GyUl6JvdeJE 4E+9rQ0Hp3ZZ+0RYZncdQg4Esp5az0Lx3Q5LiMb2wcJCObCI0TU6+p924Jbau6/NKsIp kFccbAMjV6eUkw0lo8pLTC/j5tSiC8AAlNyuyM/+YHPA6nNOZhdY6KG0Dla2rF35akXf nS5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wsSmPOqCiUj/TB6PyaQCpYhFg48MasJ1OG87/HYhyBk=; b=XTBwRuwxNpvxG9mXh20h9z0QmtrHv+4RR6yJPcG9h6p5ZFT/BKCmTKN75VcpO845Dn 0skQg0Nv50dXhNmaWeP+q0Vr6KPTkBp8i87Ld+TXhnyzM065CzSP44/27aP19YSXi7uV Ha9ZjREJ7/d7nlmsjC/gutBThhSi03iqMqNWxGr/vjiilIFkEysK4IT0OQ8Zy8jNQe+n WfgxKlZmjJue8PcihNeROfqVpfzaUjnxOPJ8cfPXISbECXf11Xxsd4yVJahkx66ztqpT rW4gAXp34ULh31CY9tpLJ6XbIow0Fv71ZWAldsUGWPg8XBTOOZs/AZzxHEsPfRQqGfnO xc3A== X-Gm-Message-State: AOAM533Q+34T/dwzIMiSkmINLTqHdwcFOfDRImGLp1CKtqtl3Bptpzyy V6KYGtO9pjUGgmwMXDOOy1eGlGNlpwbP9qDz X-Google-Smtp-Source: ABdhPJzzEd1znHJFsyGoiXIMKKHQGNYBtLnUnpRmvHVCJgJXAl4cy8CdO/sS/KD2JTC5IjZPYnsE6Q== X-Received: by 2002:a9f:326d:: with SMTP id y42mr8472899uad.119.1640850420717; Wed, 29 Dec 2021 23:47:00 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 9sm3821644uau.6.2021.12.29.23.47.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:00 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 21/41] gnu: Add node-readable-stream. Date: Thu, 30 Dec 2021 02:44:36 -0500 Message-Id: <20211230074456.33433-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 5dbe2cf244..87694c7d00 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -442,6 +442,58 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify") + #:tests? #f)) + (inputs + (list node-util-deprecate node-string-decoder node-inherits)) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:35 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:35 +0000 Received: from localhost ([127.0.0.1]:51198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAs-00072p-I2 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:34 -0500 Received: from mail-qt1-f175.google.com ([209.85.160.175]:42976) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q5q-0006dw-6x for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:43:22 -0500 Received: by mail-qt1-f175.google.com with SMTP id z9so21028103qtj.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:43:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=doKEo099tTOI5w/ZlOJFUoGvySujYaq/N/K4lHDManA=; b=G9gd6pZrN9Bl9NHJR09BS1p3gJ0fP2jRNryndk6Y5Ju5e1RRUnWdutOTjypvsFPEKJ 7x94tz5Uh1XIFpEEclODHhUwA3U6Z12z4tyuVq4Bevudy+K567Igvb1dVETpSew3uQGj L/AxmvYx8IP3CYjylZspHEQIWrwvZlLRiUJBeF9I/fjkf9n0HmSLccGUakxy/9lpSR6w GSYhelu+/9g3oTZmD9yQdGRXedoRH5frFSJhP5YtKdsAH2cyWy7ZVRqdi411asV/B2qG +37IFRrT10c5AImysl2Gkr/2J5zyDZJDykuBXgkKzy3jT0U5XbEs4P/tLjyUcypKeL0u sQvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=doKEo099tTOI5w/ZlOJFUoGvySujYaq/N/K4lHDManA=; b=WWUYhglGfDjBeQJHk4J5eXdW+KhFJ0Mk4tZ+Ax2MmRb5Oy8SqcAC2wGc02KK6y8djW ltdikKqJZ6PDqZI27Yx9AEhuZJk756bUWK7Xg2iYVQJMDmwR0Kvpqv/cr/wTFqNvEnW4 PYAlNUjVNF43FExQSu9YKRc1pJa+gGfR04E1vOq5M0Fol28VuRJTVsLZ+K9dLdigUxsC NRz1UmMJNZEHdvJBq/QOB3GFNPDF7qk1S9HpJsP4+aNeuiE8Ol3PSddD6S8mDyHxdnbn MCwWU5zFIAWko4jVOgUX6oL9YYlIHbB9sHq2306VwNUUvLMIvGNFfrJR4K9V/SbQCaEQ P29A== X-Gm-Message-State: AOAM533EoGOvqPPwLVJ63hMJ87U0BN5Y7vSyvEKg4nf1hT8HPoKv1dnx 66utLn7xo8Wxa9krcl+1i26UENw8lwkrDhCp X-Google-Smtp-Source: ABdhPJzS1ZGtz4eX3nebJtKCq4IDWl8XjzWCb6Y4LHXNwODndcEDz8owpJsHbGOJ1SWtJWX6oxgf8w== X-Received: by 2002:a05:622a:1b9e:: with SMTP id bp30mr25549800qtb.526.1640850196769; Wed, 29 Dec 2021 23:43:16 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w13sm19536773qko.20.2021.12.29.23.43.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:43:16 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v6 38/41] gnu: Add node-serialport-parser-cctalk. Date: Thu, 30 Dec 2021 02:39:16 -0500 Message-Id: <20211230073919.30327-39-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6337554830..758d72a52a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1272,3 +1272,26 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:35 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:35 +0000 Received: from localhost ([127.0.0.1]:51200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAs-00072x-Vg for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:35 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:33446) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8b-0006pw-0x for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:13 -0500 Received: by mail-qt1-f169.google.com with SMTP id v4so18428427qtk.0 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JOMkPJGKqe1Mk52UuXwsCKdgbg5ksW3ZRME+37auirk=; b=H/Agcd369PeJcBevj+PLG4jeafNFSMhDVBS73bvKyIYKmHsYn31bMR5akSy3J4/JUG PY56x+B/2SnwekquW0qrLflEq1wXnsf99xnygKO60U6n9tntxJiExLa6+6i+x2jVw4HT UYsTszyke3HBECl1J895oVKAQNUtcPXplbix8phNg/CwLA/tLJxImQOSinDXeSKi2OFY NIsHT9hIRL1DswzWX/b/jUFg7eUeNO7U8Q/3gNFBRyy06KQSbSs7+lirmoUVrsMHw8JI 7ARK6kArrBzzxWt0mhIklHiqE+cbW1kJXxF+bxtk2yiXPQ7iWK+ZwSo2YTARF+6AVgJl MGCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JOMkPJGKqe1Mk52UuXwsCKdgbg5ksW3ZRME+37auirk=; b=aroReDk6stR0NFwPXf9xvx9hhLoc+3QnjNKlMSR8sih8sRgSpjbqY1Tn1UGWck5Yqb ZCfwzr46cUd3cvzHN4cDsHTBwGKGC1035NDLVkvvdNbGEtxXBninsV/6WbG6M3KB+W4Y lQ62d4m6WRtHvNv1/c3GeFM/D79C0O2gsNFAOZZYXEv6DaCM6vK2D4grMRf0BTsLzsQc sHdMfXhnmWODRWW2cmGcNUwwVImw8Y9XAYOAI/kbAzToDAKzBze+PTlE/qll1wk4cAgL /mTL/zgH36zhH9SrKXqWBxlCxuzyvPJOvNkl5Y8MzMhSrwS+I1J2FTwbmIVM3ysvWuQB dM1w== X-Gm-Message-State: AOAM5326m661gBhBUNCl9TUn6DbRTpjWcR8qlksp0BLuKvuoVg0kVMZc O36dIbhPDac5OCAzClHPHEu23cCTYBc8wdEc X-Google-Smtp-Source: ABdhPJzYd6NtBCl0UUvzjBqLcVJN+KH8Jr8iLOVhOwJbsLWUNZLl8YHN6bv3TNmBOlBxoY1BfYQYFA== X-Received: by 2002:a05:622a:1455:: with SMTP id v21mr23327164qtx.358.1640850366485; Wed, 29 Dec 2021 23:46:06 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t6sm18800376qkj.33.2021.12.29.23.46.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:06 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 08/41] gnu: node-binary-search-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:23 -0500 Message-Id: <20211230074456.33433-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index bec3f4620a..0a66b032bb 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -403,9 +403,9 @@ (define-public node-binary-search-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("chai" + "mocha"))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:35 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:36 +0000 Received: from localhost ([127.0.0.1]:51202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAt-00073A-HW for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:35 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:40637) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8e-0006q5-0y for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:16 -0500 Received: by mail-qk1-f177.google.com with SMTP id w27so15879565qkj.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2t1hGeRBoDe44g+9pKpHyIZTkrgMnLBzlvaqId09aKk=; b=BsZNjDkyf8BQ2ANWTy3/M9aKNOHE4yIgXCT6sJNXB0u067LJXIh63uJ+bdN42W7ayc Xb9WPrF7+dVBEjc04ay4T352ZgqL71X45qVNJ8G6cCr95qqk6YFX/SDNLD9bQnwlL8hs mkGKrM9zy94xlP7xSzZ8AA7Mf5UxjckvY+I/Eaa/UtFuvur1ADWRMoDyinWo3xKhuDmo Y1ek8KQCCxxWuBQOQlhgr3DPM0yY3+Teu0NIedp9fg38gJzO98sRsYcOQdoyZxE2mGJR 3SwOgk/koBsllhf/FfSFYz9J7lsTr97TfaDZZ3LAP728WL36TnvOmx1P0MtXpsnpDEqt dWCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2t1hGeRBoDe44g+9pKpHyIZTkrgMnLBzlvaqId09aKk=; b=CuWA6x+B9BVxtr6loaFHZ/Fqo8bRF5Cs/esEtS8OuSEPoyNyHTEWlOTEAE+rtA/Oyd j1Iw0WIjwiP6Z1WRhNTtqC8XHJVt48NPPm2sEbfH5+NL0ty8gihy2GBRyWheAoU5p+X5 A4ZgKAPPniJHgC7q1Hq8zrPHKq+ENaTDQNp1OkS65jp3ZwjNUjUjSaSHDSZOb53MS3dC RifvUCUx8hONOvcn3S1qd6XPYjeYjYbXXK7KUGFQerT8Je8frOF+JrRcdo6PtMYH3Vov pJ0D8hbEweKA1r2JJ1OzZhkwB5BshtbPvNGV27YqXuux3XjtLqr2L6FIPBn0mpV4LQ9/ IOMA== X-Gm-Message-State: AOAM531YoqAcR49tebdOM+fgcHNeKfwSAQy0uG32ALNi8YPX7SRth4JM 2+UMBVCodR6svJFoZ34coVAPKs19UsF5Aluy X-Google-Smtp-Source: ABdhPJwI80mjYoxbF/RoXgOC+JZi0eL/IG37PZBkAr8HVN7s9KV6xsubC5JxzzIVtRrnbmin5hWtUw== X-Received: by 2002:a05:620a:40d4:: with SMTP id g20mr20095348qko.115.1640850370577; Wed, 29 Dec 2021 23:46:10 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bp38sm18546113qkb.66.2021.12.29.23.46.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:10 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 09/41] gnu: node-debug-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:24 -0500 Message-Id: <20211230074456.33433-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0a66b032bb..985a2fdb20 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -430,9 +430,18 @@ (define-public node-debug-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + #:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))) (inputs (list node-ms-bootstrap)) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:36 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:36 +0000 Received: from localhost ([127.0.0.1]:51204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAt-00073H-Rl for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:36 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:37573) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9W-0006um-DW for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:10 -0500 Received: by mail-ua1-f51.google.com with SMTP id o1so41252877uap.4 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0Lh9qF80uvB9hxQKQrIXC7YsX0TKbp8jPgDqxgE80dM=; b=NISMPnVzc/xQb3GSE8bLaMlLfscTsfcnTlpyB4MFAKrqEPiStnUGFJbWXfboxoyVEk PfBM6pzFWR4MVnsHc6n+pCYy37+UiVBNkB2Fz8iDMLH/6L6gPuGryR04wBdYAidQ/kn3 u/lGGgSc0H2SheTR37jF+DqI0d5ioHubj01Fq5Mypv2roizB2M0KncgSNv2KPNrJ4/o3 pD05LIElAILBthKb3yxhp0IMC9WjkDlGFnLuzxzPFeV2TyeNqk6cCPD62mdoo6QWdVBY GXGdCJwRJ7n0EoyVwHzssbK1pwM/wVBTQyqMq94eveHFeRtCrx0SsTvGPDQpnE2SONVh XdSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0Lh9qF80uvB9hxQKQrIXC7YsX0TKbp8jPgDqxgE80dM=; b=tqmOqDu9YB4XuO3h74STEipQWusegZovQVvlSir1Jecawh+Aysg7v8q06hjwTTyKHa fXCuzUALfmxci1b2oVnpLVC05mYs568cV9ICMvLC5918a1nQ9qtbPyMbyJgW1FJC8gcM LK+l1PNjqe4TGN+OHPaGbeL0CA3CWawgUbRSlHMSkt3BncR3jqRUkUyTt+awTknBhuV2 EhYiZv0EMfo4ETH/Jw/3EuIImlXFk3ztF11dTR806mKv+nfLfuxWMUpa1jZQMycXvAER WIwMs3MFkmZ4Vkw2Ag+it4RJ9GlaQ4kVVk5QXboWWVqb+PwZojd3cYpyARtoex9rbQJx 0qoQ== X-Gm-Message-State: AOAM532fo+eG40AnEvU7IzR+4qEKTy+X1seMI6+SIfNVAWgO15qmXt36 oajo2t9BIaNBU13Se51FGyR7Ti25/KscovDn X-Google-Smtp-Source: ABdhPJyntgH+Cd0tWvOU4VaeitWEJ4pw+kXwxlwDSkmIpxEcBERt5mqYW+FvchW672QYJkkxgt8bAQ== X-Received: by 2002:a67:fb42:: with SMTP id e2mr8769393vsr.56.1640850424888; Wed, 29 Dec 2021 23:47:04 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id n2sm4679809vkl.23.2021.12.29.23.47.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 22/41] gnu: Add node-nan. Date: Thu, 30 Dec 2021 02:44:37 -0500 Message-Id: <20211230074456.33433-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 87694c7d00..d8ce7248f8 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -549,3 +549,42 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend") + ;; tests need tap and other dependencies + #:tests? #f)) + (inputs + (list node-readable-stream)) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "Native Abstractions for Node.js (``NaN'') provides a header +file filled with macro and utility goodness for making add-on development for +Node.js easier across versions. The goal of this project is to store all logic +necessary to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:36 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:36 +0000 Received: from localhost ([127.0.0.1]:51206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAu-00073O-7x for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:36 -0500 Received: from mail-ua1-f50.google.com ([209.85.222.50]:46722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9a-0006vV-Ey for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:14 -0500 Received: by mail-ua1-f50.google.com with SMTP id c36so15696721uae.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+xtycBiRVjgB2UA1K94Is0xR+gS/nT8DNKtlqbV/dT4=; b=NOPLgp1OG4rpSsR+RHh6TFPN3WRvXz8V9MT+5YwRSQILl6SCZ4/9aKDd14I1wKlnSj In18+iqQf2RpJ/mvIOULZzfW6k4n9ooLUgUqrYtt9ZVE7GPvoqEv4t4upwCIl/bXF6a6 kAVSu+SLYTaKnX0fCs1AvFQCRklWd6N/EmSPll56Qv6YuFtZjFfyz5C8pwV5XNXnW3Jt 7KnjV1GivTV9DAHHbRldGHerfAhJqhhdLJHuOYDb1uCd1a6B2cD1u3sJGGnroxEr3SPl rZrkudcCrzgDzTNZfpl/8UWSmth5hB+UsMxv8EALi1yGAAHnWyf+OEb1OOV0VccKwJdW LL5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+xtycBiRVjgB2UA1K94Is0xR+gS/nT8DNKtlqbV/dT4=; b=jR/D9lkYpWTo6nfESDSg8Bvdo+zpIjDbxKLmIlOYK5hICm5QHTLt4tXUBG8bhh7XIY LQauvR6RzrOpj41i/sbNgByDI4iWuMAGAdAAXfzjcJE9cvNlM9PDsscB18TH4unYbxb6 dPZjCRVqX9fxU2GWyNKo4+R6r2E7LYRoZKFAgLiNglBqIsJzJhuRItS1f7Q3a8a9Lwcp BY83rC0wVYzip0Qez5/4mHXQclkbGkX8ySNjN0Q3NANXFmOZZZjb4WQj5fGIELtKbczu ZLIQ0eyousuGznt5FW/mIukDHNIkAx5DzJ2C93IscB6HCG8Ub/OKM1/ocUkwOxq7LmV5 mR2g== X-Gm-Message-State: AOAM530CzYnTb5Tdr+iR9oatDTJ3pm+sJ10NxkJi4hzbCCd7tV7EtZzU MQT/QrFS8i0kp0XV1jeHo2tu0Th4CbGWmzRa X-Google-Smtp-Source: ABdhPJyJLfaXnAa5MzOe6lv8tlvKesgNSEb9EIp5ftvGmy0VQAbUlQTvdMt09XCvT3WZ9yBrKp6kNg== X-Received: by 2002:a05:6102:a83:: with SMTP id n3mr9604088vsg.2.1640850428917; Wed, 29 Dec 2021 23:47:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id p46sm4941719uad.16.2021.12.29.23.47.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 23/41] gnu: Add node-openzwave-shared. Date: Thu, 30 Dec 2021 02:44:38 -0500 Message-Id: <20211230074456.33433-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 4d8286e334..3e99bd7687 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -85,3 +89,63 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + (list open-zwave node-nan)) + (native-inputs + (list which python pkg-config)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke (search-input-file (or native-inputs inputs) "/bin/npx") + "--call" + (string-append + (search-input-file + (or native-inputs inputs) + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp") + " rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:48:37 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:48:37 +0000 Received: from localhost ([127.0.0.1]:51208 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAu-00073W-Mj for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:37 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:43950) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9e-0006vg-I2 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:18 -0500 Received: by mail-ua1-f47.google.com with SMTP id i5so26221957uaq.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=H9te0wN9k/RYF8QQEbAWRKvtpPSKgu4d3zvempoTTFQ=; b=CreXZwIrI7tMFG//NHEaHBlmeQ30j8QcdsAP1dLsXAWCjWTU7T3u8DmnVgWfC6qF34 1M3lPPo2/vovvZwvBO2Ut65u1pabVSIihH44UF0lF6e7/LKxcrgA/bncd4oC1HyrhTwI 4vOXUVId/EQvNqtqfTRWAI2JzA8bJbFRmIVvCthMOoASxkYH81GB5Wg9dnKEkLvkSSv6 8eMh/3DWWZzAl4F+9LDHaeaC8dru8CFzFluXrcnW2ThncxLiYg5wTMW6KuOGXidaYArz gk0CoGO92nlXoUSyWKMCAlnvwh9fwIHkfUOtKe6rDCjUrGBuvbnFl/vj9fGBGWGaJbgu iq3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=H9te0wN9k/RYF8QQEbAWRKvtpPSKgu4d3zvempoTTFQ=; b=VuU2MfQgtD9xM8nxTK2eE2uzN3zIJ+0fmoNSTPpnQ7TIQGm50weiGDizj3XmcoliFl KoVJvYQyzS/BYaehTF0igUrCVvq2dfpt+TSfqIhYkMQp271PmrbwHJg6PT0MfT8+vReY +ZXmwkhT3334OAGVXwU8/mPoMDyQrwohUnDQT1oHpzrPusNBirjF34KaTZpxkFdJA4hV DZXStgwC7y5Iapc4snPJMgU/50nZuXcyU/MqBYfmIvJI6O3qgMiprLDXSWCBcLTnOXp3 4dfdnGsBqe8JhLMsBLUeUHIpz9bRFFeQohSwv2XtVt4Ov2aInruWlmeFI38jYEnKzczC l1Gg== X-Gm-Message-State: AOAM530DAvb1sVMiBww/EfPS6Tce3s0bWpRF7M0a8lQOl23cpn/f2tMX 9Ltgva8T4QTo2y7xsiPn9A0T1kiuloLFwDHC X-Google-Smtp-Source: ABdhPJyCkp+dIBPUKBB/HxYANcmKV7Eqoi8p7M+Rs60alCiAVdQQGV/db5zQMadndaX0PVGxJlW1jQ== X-Received: by 2002:a67:b208:: with SMTP id b8mr8420005vsf.77.1640850433105; Wed, 29 Dec 2021 23:47:13 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id l28sm5215804vkn.45.2021.12.29.23.47.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 24/41] gnu: Add node-addon-api. Date: Thu, 30 Dec 2021 02:44:39 -0500 Message-Id: <20211230074456.33433-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d8ce7248f8..91a007b55c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -588,3 +591,83 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + (list python node-safe-buffer)) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit") + #:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (define new-test-script + "echo stopping after pretest on Guix") + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons + '@ + (map (match-lambda + (("scripts" '@ . scripts-alist) + `("scripts" @ ,@(map (match-lambda + (("test" . _) + (cons "test" + new-test-script)) + (other + other)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:50:56 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:50:56 +0000 Received: from localhost ([127.0.0.1]:51227 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDA-00079a-8w for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:50:56 -0500 Received: from mail-vk1-f173.google.com ([209.85.221.173]:44651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAX-00070V-H2 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:13 -0500 Received: by mail-vk1-f173.google.com with SMTP id b77so13278280vka.11 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kbUTcWYIFaKxnl7L5xbswwhw8W5QhV5FYbGC075qAJY=; b=b2+MN6oJKamheZv8T28Dvytc9rf1AvLOVircPBARZeyDupChOCINTncbV4nphfVfpD 56WTuGRHrJXrGTXt9zIuXfp6TkrHIvFSlp1vOhLhKrjR56FnqSCE3PONOwyLEUaZZVQ7 z1rOq7j3KWMexjefeZ42aKcuw4Fr9ecmfNKjcXuJp8EFm+L+wYZYbYVw3RDUDTCMsSGR rLIOCZ74g2uQvPbjL9L/G/Fx+3A0m+RAbK40YgkVxkOnwUJ+bO0OsWGhG5mkQ4H7LSbu 4Pczhvpb0wxMNEwDPFwWzi/K2fXWwS7AI4HHvPIFSqVAa9IC25xPSJp74D+jHaghTT37 I3bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kbUTcWYIFaKxnl7L5xbswwhw8W5QhV5FYbGC075qAJY=; b=Mha09X9E9R8A3pw7e2umVIAjovMUNndGj8qJaDTyDmF/2DCtUK/djKuewFSVAnbtQG OVNLBS6t+csFGvLd0BXszPm4c2QDa43Ypa3zdrTJA9dF/qPAR2/BGGxaSorDvlKP37CN SxHpo5P6kWARlupMbhoCHG9Dzs2Gk3g/XAxAJMQDqDcv4V+yrljZ7ig4BMvzfaZx5ZNn X4vj0fl7l4zDGK4UVaN3Ma3sTg+9prK9zGCJyxgWxg9mGraOFV9FUir4RK3C5WDUa5FH /reJ9TwnwNZMLaj/6cuBpeVjeExIlHUklpPJgvuxHQMPM99p9e+gNFSH8wA7XChtqmCE C/vQ== X-Gm-Message-State: AOAM533Uw0EGA7VzWuO0DGUzQ/PQjglh7FsrrLVVjZ4EsejdpBRxOyik IRQ+7sadiZr5WmkR625KLiqe2AwwJ5LLzLUu X-Google-Smtp-Source: ABdhPJyrYLV154Sq3GpwPqRvJH9FVw+2Lq602I0eHxtZZVKoxaV73mMX2l1u3QAIhDNCsajHvBUrgA== X-Received: by 2002:a05:6122:e47:: with SMTP id bj7mr9323227vkb.6.1640850488088; Wed, 29 Dec 2021 23:48:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id m3sm4867053vsh.7.2021.12.29.23.48.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:07 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 36/41] gnu: Add node-serialport-parser-ready. Date: Thu, 30 Dec 2021 02:44:51 -0500 Message-Id: <20211230074456.33433-37-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d26c4b8ba1..125b32ea74 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1147,3 +1147,26 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:50:57 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:50:57 +0000 Received: from localhost ([127.0.0.1]:51229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDA-00079c-KP for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:50:56 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:43548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAb-00070q-VC for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:18 -0500 Received: by mail-ua1-f49.google.com with SMTP id i5so26225070uaq.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zaL2hb1PtpMMC+ZD4kK7F39SFj6qJ8/rx8KcT6B/Q30=; b=GFkh05RrluWgTx4YlGer6iviAfvCSQbCavfK2w5pjo8zl7CUPUjROzWiIkrGPxi4/8 WEDyTTzNnRTWeipZx5ZzOjmLFpQ+O2Hv8oFuuY/f6m6yHDoerc3gtQsu5xsw7O1k7HWx hKo3ODzQkFWCYMQFVyr1RwkkZ93pn9oRba0rlr2XApUZ6r5chzySAJl7Q8QIuuyHjw2S 5YsqjPYeD0Wg7wm2/cjSiKVbZaDFtFPzXBXx1vbdcTsUAH8zKqL4o5wvccXnFsTtI6x0 lUvB39bqoGh5FSD0XHKUaQRzHHWyPNC+6hBWYuU4xJhlU9h4ENvTwjADhBbzkYST18MN Dnog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zaL2hb1PtpMMC+ZD4kK7F39SFj6qJ8/rx8KcT6B/Q30=; b=Cw1eQazYDiDclfO6A1WT+PEncHRcA8REb4elkdoWlPh550F3eAEFbueCYWPs8ee4fi rwHS4Z3V5/xxVK0qFdy2MLbLh3piIdwDukexJxY0hgIhfqXk4ibyWFLZidmKs0o0Cj8y BsIw48kAyK+ZeDAH8iz6X9Zs5CsyOC2GQQeMl3NGgHDpVsqvSSxZEz6XJqWWU8kkD/GZ 1dqncCbGJqVx5qVn2NI0/ve8TgBbqCbh24roLyA8htL0VUnGAksP5/rB1rtjFysWJzKy QXnvMlyrK11QD39JClO0xWodRXiTaU6V/EQ/QInxizI01opFBbGswNO5BGCp8iWxaROg QHCQ== X-Gm-Message-State: AOAM530tzgfAogk9Ur+BBB+HTUFd+ZxFB1cEVTdhYJ8PxcUdoM7PNsWo ma2P2hNa3DOOYO0DW4mArZag+5keLItbABm9 X-Google-Smtp-Source: ABdhPJz8LbECzYPgMQOCpL5wM4SMOuqABJDhQJi6oDTFgG5seWeU09Mw7vWrm1AMkGfQAYxhjVDajA== X-Received: by 2002:a9f:31c4:: with SMTP id w4mr9146843uad.24.1640850492401; Wed, 29 Dec 2021 23:48:12 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id p46sm4942284uad.16.2021.12.29.23.48.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 37/41] gnu: Add node-serialport-parser-inter-byte-timeout. Date: Thu, 30 Dec 2021 02:44:52 -0500 Message-Id: <20211230074456.33433-38-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 125b32ea74..b240890c5b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1170,3 +1170,25 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:50:57 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:50:57 +0000 Received: from localhost ([127.0.0.1]:51231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDA-00079k-VB for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:50:57 -0500 Received: from mail-ua1-f43.google.com ([209.85.222.43]:36807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAf-000710-VH for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:22 -0500 Received: by mail-ua1-f43.google.com with SMTP id r15so41307741uao.3 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sYTE8dDVVo1fswK4fPk07vXCreTXZcV5p7CL1pVWnqg=; b=Du3pU6JC+L1QeeZ2wNK8uY0eLsFkkh9gZhJZDO+k1FlmDfQ4NkZtnvHAfRLhmCARXd 6b4WIXjRYrMwfN9hV8Ifi4sh1+qTXxAOrU1uO8fQ8datnLqYFAIQ2Ez6rIMDpAgb3j5+ UU8czmknjmY2Hy1umIJ+a9G6mWtg5ntRC/WrreyaoXVpqSf75GLGXjuyLNlvP6zGfbI5 Ua6RIr363CrtTD1VNE/9OeivYQet7co5Y2y/DvOPKo0PMH2xIpgBVzOw/+ngzxkGHo2Z NJ3WTGIq5hK90/Nf8oSlJp3V6v+/Yyp4l0Pz5hXKT8PKcDi6vSn8ZTrKN0Oak/mqyhLJ WQdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sYTE8dDVVo1fswK4fPk07vXCreTXZcV5p7CL1pVWnqg=; b=VtKJuWYm4di4vMa34/8zGwmnWM9K2ztxlykpLTzGWdnmY6uzGPEa4D7H0TbY8a5/Ju i7ZCovCQycyGeF+HI9KZvbkbkT0iTJyEpyYRR4r+yTlnixjK30f3cIRylLEccenaBhl0 NAwj9hzcCzWfwDC3nPAWRAj59OFZAoZWnTX6YxPdH33LuU9wbx8D35k8E5Qhaq5l4Fer BGIpvx5/VJ1eoSiHPWXWDzAlmZ5lZ31vLIjl3ESWd+uFgMRxovwltarKnStvgUYxiPiw +V+hJy5NZHoFoWsvi/yq1orUG0/p9gUWQz4PfrjqL/1Wf92lu0SUjrNzobGNKxE8TrNF G9Ng== X-Gm-Message-State: AOAM533GJZbOMmwYB35rSXE5gHqJz5ZWL3RK5+M23TMyr/SK9LKpNbSW cKgIS58DHjbJeJnclJVEqN0o6E3cuh6s+kfQ X-Google-Smtp-Source: ABdhPJyTcgFrrEGaNbfECO3CM6FDgRFOx5in2/R2BfWP+l1pGYmDtUAluhthXTIMoWMCNaIO4AjtjQ== X-Received: by 2002:a9f:21c3:: with SMTP id 61mr5957362uac.37.1640850496566; Wed, 29 Dec 2021 23:48:16 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id y13sm719386vsk.30.2021.12.29.23.48.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:16 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 38/41] gnu: Add node-serialport-parser-cctalk. Date: Thu, 30 Dec 2021 02:44:53 -0500 Message-Id: <20211230074456.33433-39-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index b240890c5b..e6e25f036a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1192,3 +1192,26 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:23 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:23 +0000 Received: from localhost ([127.0.0.1]:51236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDb-0007BD-A8 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:23 -0500 Received: from mail-ua1-f41.google.com ([209.85.222.41]:43847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8m-0006qS-H1 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:24 -0500 Received: by mail-ua1-f41.google.com with SMTP id i5so26219205uaq.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=alzFPs9VxBK7PuPT6bkxdLEK9QDwDh6q0yadvrgs1Ck=; b=ZaqhVH55oVBAA/QUA4n6KwxysAx8Gtro+NNNtwQfNkIJBZ8vwSeWFii3yh7aMA3pap IBJnWPNk+8ojyGfER1p6t0cFapCUWgB6GHvGdPWjNrA86qCMyYkylPt6t/cF7ri8VAYG yl9XBU0aGKtOuBbZnHJQ2PFWTpq0ssk64Pgc5c97VTbGjru/F2s5B2yCPjhmgGd7JbNq K41p9dnoEFDXSwFCXkMWCdvmowQ1vi/Sjm4+KbXvtqLZdfGpDQ4aC44mikD1DHWFBfHD qJyy8wcMkgphg54IOAHIGpBwlWUcOtLn3DxH04DMQ8vnvGSl0HcItMc5eNBiNlpFnFL1 CyjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=alzFPs9VxBK7PuPT6bkxdLEK9QDwDh6q0yadvrgs1Ck=; b=ufg5jrFtw9FrLsWi8Vh2yYPHUC/wanFlh31Jpw/vhHkDt3XZ9nsz3Q6GL8KMGLRYBi /Gq72+U3hHk/QcCKT5Rk07HjREACUOpeNhvUu3VyrZM8ZCHbpcnYcI5wr2rX8iENmJZ5 NYkc9wucQ6Z7EBpnQUXpKwSBTSor4NX0NcFKzGhhhttO4EyXrqUnlCGGC1uBBPhSNCVn S/OGnDX39GeTEC/moxV1aA8XafEM44Vxf4NUfifsqijnJ2avf/Cir1bhMkhjJpW8a1G8 gYUzXPD+y5w//l9YLvwAOoQ6X554bJbZgtNqIYiYEeou30kBeBOyIYl3SDXyCsU1SxI4 ZbYg== X-Gm-Message-State: AOAM530b5utWkVpFjb0ciWzj9BljhesNyVWd7DU3S16pYJBLjBr2bJbg TdjpvIi2bqEFuSx8AlMV1Y9dcNkTddrLq8ZY X-Google-Smtp-Source: ABdhPJwpX0SpPrnb2PyKQueDGBMm9Xdc20Q+9fv6JxJxZGYXqZC7Ye3JRfbn/iaTFKzOEF/j+Lmfkg== X-Received: by 2002:a05:6102:370c:: with SMTP id s12mr8179692vst.42.1640850379012; Wed, 29 Dec 2021 23:46:19 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 29sm4599801vkl.6.2021.12.29.23.46.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 11/41] gnu: node-llparse-frontend-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:26 -0500 Message-Id: <20211230074456.33433-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 31df15ffc3..4d3db6a8ea 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -553,9 +553,16 @@ (define-public node-llparse-frontend-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:24 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:24 +0000 Received: from localhost ([127.0.0.1]:51238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDb-0007BF-Jo for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:24 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:34751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9n-0006w3-TX for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:28 -0500 Received: by mail-ua1-f45.google.com with SMTP id t18so33705002uaj.1 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n1J9/0PeIs+JWcGNuDLZsva9xUmY255cKQQSVLijebU=; b=aw5esgwVW9voW1qEx6NCzdUK4qJAHhX+M5YssbOAyucwvNHFYAcyFgpOQSow7Kk9xQ LIN8djQXkAu7mvSzahqByW0NeCnAvaDElTC2SX8xKv/t/l8zWbU+xxxFzQ9E8yJX/ToK mj6/ZweIXVqb7sdEods/plt5b/VAAEG3kymeVIJjSbhLZQD/RUSvJi8U2z5IGYlVrbB9 tfkE2khcSBH/ttvbVZtENRC1MXbpLdlggh6C2CqQVEBUlMdLJhixoMRaYn0DpKTdMA1B ny5Yo0ky9ZGXAmYk8brSlMq8+JYdhRoVGJ+B+eV/ArXGALhg3d/L06XQLcS64d70NCbf RrtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=n1J9/0PeIs+JWcGNuDLZsva9xUmY255cKQQSVLijebU=; b=6UPVdBQoH8OmLWBWcemopn2J2C6vsBSuoI0SNazOIeoQndkdKVUC3Anj8BZKduaoGB rLKfWgD3HK+x4mFkuY5ZsQiCr+bbQoTLkwcwQ/a7Eg48tNTInu9TfBgipH7M3wYviJuE z8LCOVeKFmaQDhu4JtNI943m6eOizOmxmeLEF739jBey/cGrAM91rBFgZ3gE+1pWqmA4 h44cZtOO7cvcheaaVi5nspYn2scLUh6qLT0+ZJ+OoXshlOLmhZodBV2mJNgAvRfakB7Q pH4bbkH3+f/uf3rQU5qgdMCkdMNMPLBL6DMN2vh6LDRhXYVzk5pFMJBN/TFxUajL5DLy oSlg== X-Gm-Message-State: AOAM530E+vqcXLsZumKhQf6iuHtg0M+7UkSOTBhmXpDlVpxm6AJ8A1Zu 53WUVUeeKMiRZuomc00f8hqMUZNW6KsQn54N X-Google-Smtp-Source: ABdhPJzgXIPbI0tRQvY5AwGRnnXElM5Ac/vWXYZjaVUKIfpoOaJwOdwedJq1Cik9vbid68yUT+iRxg== X-Received: by 2002:a9f:2f1a:: with SMTP id x26mr9565099uaj.109.1640850442356; Wed, 29 Dec 2021 23:47:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id o5sm4896256vsa.4.2021.12.29.23.47.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 25/41] gnu: Add node-sqlite3. Date: Thu, 30 Dec 2021 02:44:40 -0500 Message-Id: <20211230074456.33433-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 128 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 91a007b55c..d525da8dc3 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -671,3 +671,131 @@ (define new-test-script @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + (list node-addon-api python sqlite)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:tests? #f ; FIXME: tests depend on node-mocha + #:absent-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries + ;; or falls back to building from source. + ;; Here, we patch out all of that and just build directly. + ;; It would be better to patch a version of @mapbox/node-pre-gyp + ;; that always builds from source, as Debian does, + ;; but there are a number of dependencies that need + ;; to be packaged or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency because of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + ;; We replace a file that dynamic searches for the addon using + ;; node-pre-gyp (which we don't have) with a version that + ;; simply uses the path to the addon we built directly. + ;; The exact path is supposed to depend on things like the + ;; architecture and napi_build_version, so, to avoid having + ;; hard-code the details accurately, we do this after the addon + ;; has been built so we can just find where it ended up. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (search-input-directory outputs + "lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" + out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + ;; We need to patch .npmignore before the 'repack phase + ;; so that the built addon is installed with in the package. + ;; (Upstream assumes node-pre-gyp will download a pre-built + ;; version when this package is installed.) + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (match (assoc-ref pkg-meta-alist "binary") + (('@ . binary-alist) + ;; When it builds from source, node-pre-gyp supplies + ;; module_name and module_path based on the entries under + ;; "binary" from "package.json", so this package's + ;; "binding.gyp" doesn't define them. Thus, we also need + ;; to supply them. The GYP_DEFINES environment variable + ;; turns out to be the easiest way to make sure they are + ;; propagated from npm to node-gyp to gyp. + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))))) + ;; We need to remove the install script from "package.json", + ;; as it would try to use node-pre-gyp and would block the + ;; automatic building performed by `npm install`. + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:24 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:24 +0000 Received: from localhost ([127.0.0.1]:51240 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDc-0007BO-7Z for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:24 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:38871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9r-0006w7-US for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:32 -0500 Received: by mail-ua1-f51.google.com with SMTP id o63so41275371uao.5 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=x87fGZu/A1sT6pAhEz8cYccU/ZtTtsUgyCHpXRR3jmI=; b=kjHAirIaCOeYM46l4PSX05W8ITM+heA+wocYSCc0Iv1Bh4Evet4/nemWPycNMEBASB 2CGuMhAMjAbA83RikHA0fRmJ8EqJSA5YrY0pzVFErfXKt1+zlqO7DU39bpVa9Z+LdLPz JLLRBa0VLHyz1i/r+tlcXHaiq/etxS7Wh9iiQuZI07hZMhNnvpxgQX3K5ma1Md0Dh8tF AEWlEf/mwc8xp2yWz3EUyWScI3cy1WcbMckC7myvwLWaSJK1i4Hic2Lfw8RiJmUrthDy v7UeM2MflvnisvnjTAeGXaqpi2yzjF03jbClYkavljOO7+seV+KomSoXFG61oe1hAxrb fMDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=x87fGZu/A1sT6pAhEz8cYccU/ZtTtsUgyCHpXRR3jmI=; b=Ak6Ugcy1GbGNeQiCTZYwxEWpF6btYCqTwpZ+Ky5mfB137/I2n1INEC2TNEVdmUrMq/ 78YwN/w2WF2YBbEK9itkDFOVz3kBpDQatDx3PL8n8oT12E1dEEpqxPM3bAIZ3X1aCvw5 OaN80YawulcnQZWCsDXl2LXRgnLiZ68F4SjS3boa/YKGXR0xkgfZSP9IQp4WN2PmwRAd IY+rNPI8m2JQ5Ee8uRoagW/EX1aTh3+YwJVgcjvxxw4TDYy6jTIX0X5//BN7Xl2uyXor +h5rTG3+rGp9S6tIC6+MSO7RzKhk3HEC5oVUWy6Gqry8dNJ38htigmtFD/EjQCmmWCDF 45zg== X-Gm-Message-State: AOAM531JFfucNzhZZcjzAkfChcaPJKg7Elf6RDV7t8k95AIzELy9gAUE anUab1X/zSZ+aiZ6txlGyBNun/q1tEzw38Ei X-Google-Smtp-Source: ABdhPJy99N+0wjVgVTI52l8jKUQQ6Ck97JwiodxZwRhQQbweoTH7vbfms761RdCkH+3UpIt1ZPq9nA== X-Received: by 2002:a67:6f04:: with SMTP id k4mr8615645vsc.27.1640850446513; Wed, 29 Dec 2021 23:47:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id g124sm3165766vkh.55.2021.12.29.23.47.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 26/41] gnu: Add node-file-uri-to-path. Date: Thu, 30 Dec 2021 02:44:41 -0500 Message-Id: <20211230074456.33433-27-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d525da8dc3..6aeb651c4e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -799,3 +800,56 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + (list esbuild)) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("@types/mocha" + "@types/node" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "cpy-cli" + "eslint" + "eslint-config-airbnb" + "eslint-config-prettier" + "eslint-import-resolver-typescript" + "eslint-plugin-import" + "eslint-plugin-jsx-a11y" + "eslint-plugin-react" + "mocha" + "rimraf" + "typescript") + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (search-input-file (or native-inputs inputs) + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "This package provides a function to convert a @code{file:} +URI to a file path. It accepts a @code{file:} URI and returns a file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:25 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:25 +0000 Received: from localhost ([127.0.0.1]:51242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDc-0007BW-Kz for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:24 -0500 Received: from mail-ua1-f51.google.com ([209.85.222.51]:40714) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q9w-0006wL-0q for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:36 -0500 Received: by mail-ua1-f51.google.com with SMTP id v12so29385492uar.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GVhR7uILsKlwElnQTwxkPmMyNQVePtrYiqSjktqlm9A=; b=H9uhrOj8S9K9sxxH29hOf7hEvZEyT+tOfPaCmRM5Y09OlR/FKJ34V+WH6IoDFPZKJX zaK4fr9cg1dThyfd8gNvHHhNuq9tQ33vvQYnSzaorj/IN39fYwNZYs06jDEixMh6Qaw6 lsW0F6ftWkuuS0hLDfeOsZHEgI0pgLFEc02eNOYmeY3+8a4WoduSvLD2zj5tGvc6deFw yCVjsbLS1/xKr13W0ecpuDvdBAkLvTS88NDC5CA/UwrJNq38o9F5gkxOHKjbzAPdL0++ u/yZn+qkZl2IUUQSVq8ZWeepOvrVUVgsFpBXkDXyvAVlrW/huWjC2WUaZ2xoO1cHQtWU NOPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GVhR7uILsKlwElnQTwxkPmMyNQVePtrYiqSjktqlm9A=; b=gcnzzV26+5tgZ34WXPvQM2p/VHlvAbeKGZM/Vd0v7p3xllRMsrq5YIKJ9MHCMguWcn 8TspQ02iOZGlcfqqna5k0/Bv6Q7U3tZ/qbmXB5znSZo1ST/hdV/bEwsvsUDhpRm6MXxO 8mSClGhRWV9GSgUw6bUlUngAO72qS5P3z4A7lvisrS3SZ6lSpwP1o1p/poLOaZOlt182 jXMHdF2b0Gz1GXpNVu2Y1AiJpRIHIfHJZYGaDSDMFT12jX3hC6kkLfjQWu51mm06l9bj RXG4cprfEt0S7TN2C/0msMv734ACeUnLADaBPRVZqP4nkS+oFOH0uKY5H1kqAENVJGCe mTlw== X-Gm-Message-State: AOAM532SHVucJyVE8LgmMUnAXPKbUEq+ZkgL4xMPt5Msh34FQsR1jtzY QXmmzH72F3GsTN6mXgg2dO+gExXjCko2Re/y X-Google-Smtp-Source: ABdhPJx/XMx/1WBU1RSKpR+QtCliC5TvUP17BEYBrzztqiU+J0gIwQLHWUjKncm7SdEeWkbq99+71g== X-Received: by 2002:a05:6102:366b:: with SMTP id bg11mr8541256vsb.26.1640850450551; Wed, 29 Dec 2021 23:47:30 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id a65sm4995546vkg.27.2021.12.29.23.47.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:30 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 27/41] gnu: Add node-bindings. Date: Thu, 30 Dec 2021 02:44:42 -0500 Message-Id: <20211230074456.33433-28-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-bindings): New variable. --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6aeb651c4e..ff59028e69 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -853,3 +853,29 @@ (define-public node-file-uri-to-path URI to a file path. It accepts a @code{file:} URI and returns a file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + (list node-file-uri-to-path)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "This is a helper module for authors of Node.js native addon +modules. It is basically the ``swiss army knife'' of @code{require()}ing your +native module's @code{.node} file.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:25 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:25 +0000 Received: from localhost ([127.0.0.1]:51244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDc-0007Bd-VG for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:25 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:35450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qA0-0006wW-0E for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:40 -0500 Received: by mail-ua1-f47.google.com with SMTP id v14so23625309uau.2 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F13JpLIOd/tVVj1XkAKlz7wyZixLtGH4rMhsrNGjE2A=; b=O4GV+aTKRRXNXVYwgGrb8AG+QS3C3ic3PYEwjUMOYW7D47wbRrmdZcl8oDfgBS85J0 gEt132xYEyLU64dJhGaNt6lSqNGvPq/Eqf1zEERjbVfIkKkLxIWIUyR9At+m8lipW42n UsKfIo971krlw4pxKA/1xoiuZ+SYt4AMetix60a8T1bd+M74FqHiBcmN0q5/jaC3yKNe d3agXahY1aJ6PVNOSyLJ64oQgLtO/YWS5BRkwBcdvqVV18jbXZnb0O8Lno0/NzWWSX1u /eEpAK5qSLzoD7xF1H11g4/TF5IjMMBqkIMVBwKKgaVo3DxkFCAw6erg4HUCLeFN2aAt isLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F13JpLIOd/tVVj1XkAKlz7wyZixLtGH4rMhsrNGjE2A=; b=15DM1q8s3GRWC/mTKYDnEYL5rQ8KiqmDfsFvEWOzkVz0nDyEyEcYtiWGqa4f4Yd8cD ZbgUEsp3heMAtZ0/ao0Mnso4R0KZhW3tq7dxsxMT/Vv0W0QD3MHx5cS3MVb1EVvk41DQ wCphPNqgLl9G6zdKYmFaDV0hXXRJglb78pWXx04rGiXP/aJaQ1PD6P35blxxwmp7hVKO N96XSXI8mmvnSCFqKxZDHKpQLWVrFu6BOSA52+EFv5Tq+Bkvf3xAYeTTjQldkfssTB5E u8xg+GT4SnOO8XzSKi5bkqGFyphI8v9SoxmSgo25kdjp8Kydv0EqENUMxNQgmE5PzBOC mlrQ== X-Gm-Message-State: AOAM533pMvHi1jA84wTxbLcYe6++oPXSv+uFuuq3iAT+FSkxSD0ES95n IJL+Fj9xIvWAfAGKiWW0otCLJNFfBajmtCfD X-Google-Smtp-Source: ABdhPJyqXXZVtFccRgW1TWSlKHVnwn5J+oO05krjqrNkR4XcetsViE2u74ZKXTSXmjCs2QRJiumL4A== X-Received: by 2002:a05:6102:10a:: with SMTP id z10mr8385493vsq.20.1640850454541; Wed, 29 Dec 2021 23:47:34 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 46sm3439642uav.10.2021.12.29.23.47.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:34 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 28/41] gnu: Add node-segfault-handler. Date: Thu, 30 Dec 2021 02:44:43 -0500 Message-Id: <20211230074456.33433-29-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ff59028e69..595885b191 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -879,3 +879,32 @@ (define-public node-bindings modules. It is basically the ``swiss army knife'' of @code{require()}ing your native module's @code{.node} file.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + (list python)) + (inputs + (list node-bindings node-nan)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules and getting stack traces when things go wrong. If a +@code{SIGSEGV} signal is raised, the module will print a native stack trace to +both @code{STDERR} and to a timestamped file.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:25 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:25 +0000 Received: from localhost ([127.0.0.1]:51246 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDd-0007Bk-8T for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:25 -0500 Received: from mail-vk1-f171.google.com ([209.85.221.171]:36483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qA4-0006wt-8O for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:45 -0500 Received: by mail-vk1-f171.google.com with SMTP id d189so1599104vkg.3 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=f3KJqGDMbHL7+2giNWjAv7bLVHZaVJTqdQ9axnSkuus=; b=AV6uW9/ifCi6YAdi5QW5WVF4Y9P4w1BE5NmMeJwsYXyw2YJUT1OqZi7F5302CFGcHX lhZZVy3DaiZkZiidOG1BMQzPNl+OY84SQpgZaOQK+f8QSio+gqiwUpSgXmmktzxWIf4C rBwrp7tLxyAyFZzsdLKy5Bn+LrDUMU341RsonDvFlBg9pPZQo0pmYyyQLjgdUZKyqZ+R WaRpHXJR9zJ4beZXI4bGebnoMy4QudMcNBuo4F0X9LSN41HchtOI61RrZZZJAGtZhvmM WNjVjmcuxk3YHP7UFL6G4ALC58HoX0JCeKIE7KZ68LIvntbOp8kP3a/7eCy7xgk13td8 xfmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=f3KJqGDMbHL7+2giNWjAv7bLVHZaVJTqdQ9axnSkuus=; b=bYE4CA/EF2f+Cn3J3Hs71QUaehzocpSxyK9R5Hh6rOZNdXXAyE/Q7V+7PxCSXjixn8 1SyexcMLKZB0mL1kONHYALW2su1OXECZoFqCvvWFynTzQiJnATbd6KgJtOagG/gcb8sf ZQH5oei8VqVMxuu7nblhJATxhuH9CDv8g2zObbbockaPC3J5KTtUmdVrpznXXkCavidT 6UfjVEZYoUQos+zbkRcx0AJA1oWK/kj08fhdJAmLSta2ZK5EuXQpvgmKckndRD3mJ+54 T6vCPvBVWBB6ylw5GJBf6c9rYLrJ+AWb1vwI7vRFKAXvyH7WET9J6VReU2YXS8G2tr0j X7kg== X-Gm-Message-State: AOAM533OhMWTQajyJBCgBZOFoEntnhK5ZSZxUv7wkEug4Et+cn5Qxgpa ULCbKj3SO8z8nv1uV83zLKtqUn8IyUWURCO4 X-Google-Smtp-Source: ABdhPJw+WgoCaGEjZNWlXmirWi64mhw3b+ulKME7DNArzO00SaVZuByvza90xUycszh5bhV3CXdsfw== X-Received: by 2002:ac5:c853:: with SMTP id g19mr9815389vkm.20.1640850458743; Wed, 29 Dec 2021 23:47:38 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id p12sm4795641uae.18.2021.12.29.23.47.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:38 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 29/41] gnu: Add node-ms. Date: Thu, 30 Dec 2021 02:44:44 -0500 Message-Id: <20211230074456.33433-30-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-ms): New variable. --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 595885b191..6415fb92f5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -908,3 +908,46 @@ (define-public node-segfault-handler @code{SIGSEGV} signal is raised, the module will print a native stack trace to both @code{STDERR} and to a timestamped file.") (license license:bsd-3))) + +(define-public node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08")))) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha" + "prettier") + #:tests? #f)) + (home-page "https://github.com/vercel/ms") + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time formats to +milliseconds. + +Features: +@itemize @bullet +@item +Works both in Node.js and in the browser. +@item +If a number is supplied to @code{ms}, a string with a unit is returned. +@item +If a string that contains the number is supplied, it returns it as a +number (e.g. it returns @code{100} for @code{'100'}). +@item +If you pass a string with a number and a valid unit, the number of +equivalent milliseconds is returned. +@end itemize") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:26 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:26 +0000 Received: from localhost ([127.0.0.1]:51248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDd-0007Bt-Jw for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:25 -0500 Received: from mail-vk1-f176.google.com ([209.85.221.176]:47011) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qA8-0006xM-Bb for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:48 -0500 Received: by mail-vk1-f176.google.com with SMTP id u198so13285214vkb.13 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nbqyogir1n7NW/kAY1VSzDiV7H/kR2UncqwKNKmqGTY=; b=Ugm07Iw2buuI0doE3P5wBF4ZgvTUaR2pMYXBSi+pl/c1SQpt9QuXBiR/AtzLOU010W WFg5tVKn3mTSzTaEd9K8U1G0KSVPlOTmXLWmJAKwJHC7KA4v0HHoJEdBe7Ru5KBvUTp1 QIeSmOirON6wCvJfqzZxF9k62ceHVxth/OlmBLN632agrJbYOWfPu4WPFIe7P7JiQWAb BlNTQYCWp8E/GtJMLKasYL7nNOaWQIFaX+s+p33z0FRmSqXmBtWlMD3UyxkvsJl8/6i7 clWlBXmxCTEFBouO+GQ8acCcH88Ors7vW//lteEVH6sdsGBsM2/HmMnQj8/VLvSYSSMq bDag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nbqyogir1n7NW/kAY1VSzDiV7H/kR2UncqwKNKmqGTY=; b=IjNaaIDuwa8UmP+Q7nov5hskrnebC60f16e6nw9KWtSkdNr92HOLuD+oebE4lCfF9q vxMK09NscZh/BL71GhPwlbiL8duOOxXEkajH7u/IKlICmseLLpHAX+qCgw4Vb8MSNO8m 6iCrpK18b0fGSOTi0OXQDKaN9o7Ir76tTrTYHzFdi3oWPJWfNEt7y5JFeNBCu5g2PhN3 3f2MIng3F0IaFxPFnG+kaFaFoOES8vU9PwdCttJ4tj4Y8mUY96kEyIh5AfcHN6W1PPWz OUQ1ayqfEaO9UYJVi5T0dUQJM3z/AkpPkj5CGgHS+g0x6jwNBxhhnJCajZUzac1KRbSR Rv5g== X-Gm-Message-State: AOAM530weu6er/zYoDV/4QIl96cZM1Z+0hox3ulHm//ny8Jy8NuNV3Hx I+Es69Y3pxODfHs041L0JLjtdp9kBLYOpPZz X-Google-Smtp-Source: ABdhPJwnFvMKPhz9jBHPis7he0ne7+zTm6N4x+6qKMQH0JKAeUH09Y8usDhtAwDY4FwAK/0+YtbmVw== X-Received: by 2002:a1f:130a:: with SMTP id 10mr1827629vkt.28.1640850462813; Wed, 29 Dec 2021 23:47:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id p8sm4810806vsh.21.2021.12.29.23.47.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:42 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 30/41] gnu: Add node-debug. Date: Thu, 30 Dec 2021 02:44:45 -0500 Message-Id: <20211230074456.33433-31-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-debug): New variable. --- gnu/packages/node-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6415fb92f5..c07822f65b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -951,3 +951,45 @@ (define-public node-ms equivalent milliseconds is returned. @end itemize") (license license:expat))) + +(define-public node-debug + (package + (name "node-debug") + (version "4.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debug-js/debug") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb")))) + (inputs + (list node-ms)) + (build-system node-build-system) + (arguments + `(#:absent-dependencies + `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo" + "supports-color") + #:tests? #f)) + (home-page "https://github.com/debug-js/debug") + (synopsis "Lightweight debugging utility for Node.js and the browser") + (description "A tiny JavaScript debugging utility modelled after Node.js +core's debugging technique. orks in Node.js and web browsers. + +The @code{debug} module exposes a function; simply pass this function the name +of your module, and it will return a decorated version of @code{console.error} +for you to pass debug statements to. This will allow you to toggle the debug +output for different parts of your module as well as the module as a whole.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:26 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:26 +0000 Received: from localhost ([127.0.0.1]:51250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDd-0007C0-UI for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:26 -0500 Received: from mail-ua1-f52.google.com ([209.85.222.52]:38750) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2q8i-0006qH-Do for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:46:20 -0500 Received: by mail-ua1-f52.google.com with SMTP id o63so41271708uao.5 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:46:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CWltbrMixw7MK+mqo2xAs7iSQPLcJZDJC8D/wnQLcWs=; b=josDAbbeHraK6j0rOT79NuPYkVUxpi3nL1BBWGWg9IH6WZ5oKPg/2DO9Bs+T0o1MRG JP/25JLc6k3xFqPyMHdkNotCkhScuq/I0fmJD9Vfhp/iYPPcUaizCy8WzzESpaUomdRa HublggxHGgDw/lUjDkm7F5PvLwJr5mqLMUaxwLkhbhvsQbBynH5Z0QCFY/7FQ0V5VD5d igYOnt5InD2MS5MB4EREaef/AfBxuv67sLR9aUeOgJ0fuQXGcPgbq7cQEloWgL9nrm0T yYceBzQFlHkkfiaAr5D4z9aSp22RHfyMTdeEeoVBr2IjUhbwvLPzf6s32yQr9KVeFTp7 ARKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CWltbrMixw7MK+mqo2xAs7iSQPLcJZDJC8D/wnQLcWs=; b=MT4nC9bfBltMPCey45wAq3OlNfiSmdOupuxpxJIrFbbghj7QL+zUY8uJr/CjxiBgpl QQVEXUqLUX22eG9NKfcNZt4xs8q6xU1EJEHUzTB5E2nquXMhBcBwm8Cqvw9+JSsx7aQw M6d8giG4qcbe15q8koVqMwQMovv3GhVlRc2P07TLQncWJKrqlTO5pC7TeklEB0AHIFUL yh6T2xTVrzwdSebR4n0sU7WKQ0gsZcOFc5ydmmg53xXKiPt5s42+XKBiDLG6QuqWp5re K3UkPiVkiAjQ0V72kg+WIigq6FbmH4YWPVIF/LUMJLtzkkC5dIJW3kp7+DJnO0dwtgAU oWfA== X-Gm-Message-State: AOAM533xmkbAAl9qPcW7u1R/FhC5AShF76FWjkVCwl9THU+vDeUwIBan pS9IHLdSaMnaqviyzYy9q14wkOu9CQqLxncY X-Google-Smtp-Source: ABdhPJzjwgju1RCAoIeSUcl9+1VTsPjMDH5uk6sBptvEr5jIOSfj/Yg1TMzb1IekhugA19dHnacZuw== X-Received: by 2002:ab0:700e:: with SMTP id k14mr5910155ual.105.1640850374849; Wed, 29 Dec 2021 23:46:14 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id 9sm3821252uau.6.2021.12.29.23.46.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:46:14 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 10/41] gnu: node-llparse-builder-bootstrap: Use #:absent-dependencies. Date: Thu, 30 Dec 2021 02:44:25 -0500 Message-Id: <20211230074456.33433-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add `#:absent-dependencies`. Stop deleting the `'configure` phase. --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 985a2fdb20..31df15ffc3 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -493,9 +493,15 @@ (define-public node-llparse-builder-bootstrap (arguments `(#:node ,node-bootstrap #:tests? #f + #:absent-dependencies + `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript") #:phases (modify-phases %standard-phases - (delete 'configure) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:26 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:26 +0000 Received: from localhost ([127.0.0.1]:51252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDe-0007C7-7r for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:26 -0500 Received: from mail-ua1-f52.google.com ([209.85.222.52]:41566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAC-0006xu-Ej for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:52 -0500 Received: by mail-ua1-f52.google.com with SMTP id p37so41059636uae.8 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jPcd+tp8UDxTtWSo4T0MBn9aLWw8hOIuZ7O8/qxM/ac=; b=iLe/mMcLNiUDllm7RFliBiK9tIr+4G9FJPc7l86zC5hLEhQsPwAANWEhdR1pszm7xW al55snU/43Zw7FK/q7bHv4XijU5dfXyZxWMGRMkdjKTWKzu35gT0Tq8I9PT+za6+hxzK /fQCo4d/yUvHz21wZ38Zh2FausMf9hwx22GkdgPzP0jXNTqfNYHXdYr/JK7/nLWAbtFZ 6RbfUaLhZLAFfhfYhad48m3LATzuzU8FwZMbvHp1v0jkxa3aXT5Y5eAqRbwkzOQu1H72 zI6q748QdWFI7KZnSqfebBtD1oSlhjQYWlI0NYOeJxRaXSo0eQqTGA4oCeKJmi+wtIG5 14fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jPcd+tp8UDxTtWSo4T0MBn9aLWw8hOIuZ7O8/qxM/ac=; b=konP6RKChf8a/Z8oNSycfz3T5joXYKOysb5uvHo2dGRz9Hx14uEq8lrL/wqqUrjMZX bvpwvYOjIyYvpdkLEw5LD+fO4PRf+n6wsdFButC4/N6YJjzPNntzOqTtW0NHl4+VDOS7 GFJNU+y4ReRpT+IyrVOWh1wMULL41mQiuPU6VotmI4J23gEC/RET2dpfWS7l0aHW2zXD 3JI9dwxl/kQ3u2pF0RGqeScc10xOvdjwniesktlOSvhZo7zX4KByA9f80n4iqnKmWJI/ 6mtUTaHy/wW3g1+w2mnxUYEkNIuL99+4vZMIuKG0Qv+/12w7AMSavqrtsJQN649rL3E9 nA1A== X-Gm-Message-State: AOAM5304ju+kCsiH0Xt6kCo+lHNJ99/awURvBXE/SOXNpVw76xLq6PIo M8BPAfiENce2Xiefr905gVC5g7Cq6rgs/xhD X-Google-Smtp-Source: ABdhPJwsQSDZpr8lGSCjiln9WqL2ED/nGVJfapWHHywYhDF9crAHn+SKCEx3a6rA0D9jBhJ4lH6H+g== X-Received: by 2002:a67:cd13:: with SMTP id u19mr8749412vsl.69.1640850466988; Wed, 29 Dec 2021 23:47:46 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id m62sm2239188uam.0.2021.12.29.23.47.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:46 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 31/41] gnu: Add node-serialport-binding-abstract. Date: Thu, 30 Dec 2021 02:44:46 -0500 Message-Id: <20211230074456.33433-32-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c07822f65b..e459f9fa40 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -993,3 +993,37 @@ (define-public node-debug for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.") (license license:expat))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (inputs + (list node-debug)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:26 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:26 +0000 Received: from localhost ([127.0.0.1]:51254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDe-0007CE-I9 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:26 -0500 Received: from mail-ua1-f43.google.com ([209.85.222.43]:40751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAG-0006yM-HS for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:47:56 -0500 Received: by mail-ua1-f43.google.com with SMTP id v12so29386707uar.7 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:47:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IvB3hC1H3F19d+6MVtDKmVcj0voaRGU62Y7Y/+xeyRI=; b=ZtL5Du0noiayXFpasgfusjOq61WEeynLI/34vHloW1skNHLm5clTkgP092V8y7llIW FHbOuIONPIAHk9O+kpeXFxzrgxzHB13sMwGxLMmVI4LL2pmrIi7hgXBamVPhWzjGuyEQ KoKIE/9YQ4i2qsrefzATm20DRezy7CuG++q46pwao4D08DmED8oGKpELt9vP79VFOshe cHQj5iGpe4KGoeMBlUkqra+pbEalm520vBXMY1TzSXbVxEA9DfFk7nqxMzQfVuSCMllk vepbPIe9N6o399208zYUUGk5xT7UTuTGt7oCBHwQuAGU8ffHhPoGEDRTibJBpRJwVF9A dAkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IvB3hC1H3F19d+6MVtDKmVcj0voaRGU62Y7Y/+xeyRI=; b=o6Y9VEroPj2/7jee5bevj3eXyd0UBEaKtNUJvdVDVdeS17o2Uizs76cVfG1CY2gN80 04QIfdHF1amugzjmjlTqt2gDDwO3/QVCFUgdo80eUDv2FI9gryaZuf/KcwCHeUiNE//1 i7g4DVQT5NP2soW+3kTMiTi1Oz1HmQVg0K4xBvMguIt2PKd49ravZ7XJVrLYUmvsouP5 47CTb+JTrvTowH0+lodRS9oKfZb/K5Cov1+d7APD9QQZI5Top1BpDL/PI5lbtuya5E9v o3m7bR/5QoT9fXx27aDcCWmuASHAH+WL9I+IDs+y1jaXHE8EEAAm/FfaxQcC9tMxOHXA El7A== X-Gm-Message-State: AOAM53167dUy8U8X6dmEcIqbNlMvdBBZqe9m9VqPvmQSYEx+Rq+WNXva RIra8GPXsOU8ju7Jdwo14tFw9x1HOU0jyQGd X-Google-Smtp-Source: ABdhPJzbARZVe7kvuqccpIb1iKUJjZNcAAfycw+DPMad7iMx5agxW+ttEvJ4TDrTq8C6Q1nkwwqnBg== X-Received: by 2002:ab0:330c:: with SMTP id r12mr335384uao.67.1640850470991; Wed, 29 Dec 2021 23:47:50 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id o12sm3778797uae.1.2021.12.29.23.47.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:50 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 32/41] gnu: Add node-serialport-parser-delimiter. Date: Thu, 30 Dec 2021 02:44:47 -0500 Message-Id: <20211230074456.33433-33-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e459f9fa40..7a04e66efa 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1027,3 +1027,25 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:27 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:27 +0000 Received: from localhost ([127.0.0.1]:51256 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDe-0007CM-TQ for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:27 -0500 Received: from mail-vk1-f177.google.com ([209.85.221.177]:42679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAK-0006yt-U4 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:01 -0500 Received: by mail-vk1-f177.google.com with SMTP id s1so13293969vks.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NOS0lymULURhfqpec0nOceNSN3ZdqLkgyJ/P5mV/F54=; b=PHi44Yhy1arQcX3bisu/I1HDA8Iyq/m/l79C4+voAP9Ux6XJh9ZbePC3tmQpoIYdXI YcE18+J3jzF3ccpbEv2Wb4F54PIERMOv2trRsstMDy/UXH5NoqiO2aMW6ZtiGNfIQ+hK g+DJZXLsV3kfArMyCqHb77QPkEsXgxqgwqHtq0tXj47syoZtP0eTpX8FmaETSU+ZKGv0 j+4kXtczcF5sMtSG/7TXCo4pk21KpndWQ5L3YkQ6fNX1D7vPSs7wvbE0ZV3KWLdpSFr0 etQuSl0Y6vRUgMnwpDa1CEc2HXp9q3DWiJ71Q9dIqDb3ize5+JmDBJht/VysQ3rwh4gK JRAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NOS0lymULURhfqpec0nOceNSN3ZdqLkgyJ/P5mV/F54=; b=VFC5V/eq1SiW0SRfB2iT9KavE62mTLaTk7ly/eMdP5y8BlMNYN6FtxAgwsx8W4DNpb pvQKJoaMIo8mVaffT2rgo0kVrQdYnN2uTUh36CbUK/PmILo4y6YZ7Kwb5NEksmm+LT1M z74v3HAPvbOe/O76/wrqvDn6hhAJIZC/RYtFfooKqlAZPRlwYkkk6JMeFHmSSLkNg35L BccNcg4OeANoaJ897kWpkbJUOAPUdkWh+ko7q+0mKEBsJggyBjKXmLlgqhMFI3yjU0LX HJs3kCVb6Zys+T3e3RWZgBP3wLA9say4fyJTB6f732MWAf7NRmb1VnfCNuT282sJIG5y 6IKQ== X-Gm-Message-State: AOAM531UJaufeae8lpCUvRrEDUR61Y5s70Ac4mnMxWrV1DUXa5dSJwhj lZEZFdxsuFtMKJ+Gar/lOoHDy5Jwp6CAiqfx X-Google-Smtp-Source: ABdhPJyntApeGuArCGIRg7q9DEdu674X2uwmGda/XZ+tbYfGWW8KxNgCHbrgVyxwsq+iIRI+h2W56Q== X-Received: by 2002:a1f:130a:: with SMTP id 10mr1827796vkt.28.1640850475420; Wed, 29 Dec 2021 23:47:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id q11sm4366948uaj.4.2021.12.29.23.47.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:55 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 33/41] gnu: Add node-serialport-parser-readline. Date: Thu, 30 Dec 2021 02:44:48 -0500 Message-Id: <20211230074456.33433-34-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 7a04e66efa..ca18e5055e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1049,3 +1049,26 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + (list node-serialport-parser-delimiter)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:27 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:27 +0000 Received: from localhost ([127.0.0.1]:51258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDf-0007CT-7q for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:27 -0500 Received: from mail-ua1-f46.google.com ([209.85.222.46]:42657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAP-0006zP-38 for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:05 -0500 Received: by mail-ua1-f46.google.com with SMTP id p1so19195572uap.9 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GzX7YDJfYBd5qLRpa4HzqWVGpDQ/iqulhTel0wc5uEE=; b=kug0g6IyWIAlwOctskGrzpVOzm6EDhAJjIZWKlgHbtYowUhsvP20RD0p+ah5WaZErz 10dxhrvH0AzseZ7/dTHdukjeduNzPP/pJ5QRggWOQtyK44vsJFVUMPYbxElWdJCKv7iC eodjvbBr4rIDmUaizuIlqKp8Z5k+RCO15g9TxySurdM2qJsBVnNS6z81xOf4x+BQIaWz KDup0OnxP4cNARxh96LBTo7PGQw0Hl0Ccqj05V2wo4x9sYikAe2wxCy+tc7NzwVpKIl6 E5UMJLxMRxfab/jYMOHeEnpyTxkWydcYy9YBzD66ZZzHccXF8BsNExQ8cXLw3VEo96qd AdhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GzX7YDJfYBd5qLRpa4HzqWVGpDQ/iqulhTel0wc5uEE=; b=mqh/qfkO+/bTHCTAC/ic43fIVbJz1RvK2lz86CMVPtD5IR8avZXTI77KCPLjzU1CL2 q+QMLPPV2OdCdAjKf7hzbTcTMM3re9vQNqXcCYyvJ11Ic7wzVzroc16wbIyU+69DpsFc q6ln5FvhgiIKH9MF7rdsykbGsJPiHqG1JmKSY1/wHty8VPRbq/qS/7KUN/dgWlf2YXIZ nZ7vH88KYnWFN/yE2INzc7LQVSGflOHPgJ0Dt7p05PIlS7ZsUT4pU6OrPDSStTVmvKlx wnxmYhwEPb0RwlO82JGgiRPINRr1bfDi7D9vJIqaxwkHflliHrHndtqkY7MAekPDH5hx ti1Q== X-Gm-Message-State: AOAM530Ptqyv5+UpBuiWyqkmMc93BWVukpfqPqxN+/sxW4GJHhZN0XCb V+sy1dTbm0hikMS/96WbzcGUGpJSKMbkfHzi X-Google-Smtp-Source: ABdhPJxU8ymd44HTJ2bu3pBvahR9YiXG703RhTXA1kifkNxLL+g4/zdr9g/nhpOiR9quCTnkIdhSsQ== X-Received: by 2002:ab0:6485:: with SMTP id p5mr7550832uam.126.1640850479567; Wed, 29 Dec 2021 23:47:59 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id y17sm4870909uaa.9.2021.12.29.23.47.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:47:59 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 34/41] gnu: Add node-serialport-bindings. Date: Thu, 30 Dec 2021 02:44:49 -0500 Message-Id: <20211230074456.33433-35-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. --- gnu/packages/node-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index ca18e5055e..4495ea9b68 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1072,3 +1072,56 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + (list python)) + (inputs + (list node-nan node-bindings node-serialport-binding-abstract + node-serialport-parser-readline node-debug)) + (arguments + `(#:absent-dependencies + `("prebuild-install" + ;; devDependencies + "@serialport/binding-mock" + "node-abi") + #:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:31 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:31 +0000 Received: from localhost ([127.0.0.1]:51260 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDf-0007Ca-KL for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:31 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:44650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAT-000706-EP for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:09 -0500 Received: by mail-vk1-f174.google.com with SMTP id b77so13278218vka.11 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1vNRyASahAGoeJfr192slhvdW+iHVHKKsrA1EY7c8/k=; b=ayqe4umfh+baoEtr7RYQHrwQi7eD/4smLlAHsnO9BV4XasgQVowbJX/e0SRTBJLL+Q g6RIV7SRTSQDaCcNyJc9j/Ybbeq9h1hIeoxFcOdyha5FGzFn59/kJ9ZuMoEPjuVPDy5Y r1+RBZdY6sYgLC00SohYj4m8bO1HT6k2Q0XJAOLS7x1G+v9O/lxf+kvcUFPOKB2XE5aF 5oCrYyoSEKnxD1Y6uxI7tC4TQokdQqFI+CHFZELkOZvxMd8Tuf4BDH4Cec4b1bK/cP9f ZfFIbeTxL16HkCiDgSHhRa34SMYuwdQlrJq1dLuk3muKrVdYpd1Q7DllsCZ30+g1lOg4 o5Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1vNRyASahAGoeJfr192slhvdW+iHVHKKsrA1EY7c8/k=; b=asW3JFoFs/bYL2L7epp/pWnhspE9WDRGsI4YDcZVRixkQSp/3p0Km8R4yEolEe2TkP p16RqAZYdhPwXEcCxz3QPk+Gdsh23HfFJJY2sDfq5FbyIRqUpQkzgm8Slk3yzRldD0jn oPuBq/HunYqWyEkci71fpfiEx9vPvJ7g9MxDKvKDY74dz2qqtOQuWxzbEdr8fse5ugiU 4LwjL/kiDPbO6eVt7ab6qqkamCFhcTvuQPnJncAfRzcgS2cksQQvn2nTHk0eRhe7VTJM 0NtyD0fYAmE2ziaZezXXb/hFm+XlGsRyn1+S720OBPv9rAdpgSnDz386s4dfRY4BEfJS y7Hw== X-Gm-Message-State: AOAM533SsUrfniCJeUvT7ZJiYlb8J1LxZRUyHzXLm/lix0nQ0hIjXknr 0rwusyc/RKEXTmtn8Bax2+bRGsTtetY0cfvL X-Google-Smtp-Source: ABdhPJzKVv8OXMMrljDDQNVbGyDACJKZ9ao7UmAxoaUwGRqAp3VYoUvtrwphyo1igD5m0ikqKcCaXQ== X-Received: by 2002:a05:6122:2090:: with SMTP id i16mr9475175vkd.18.1640850483939; Wed, 29 Dec 2021 23:48:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id e74sm4471856vke.51.2021.12.29.23.48.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 35/41] gnu: Add node-serialport-parser-regex. Date: Thu, 30 Dec 2021 02:44:50 -0500 Message-Id: <20211230074456.33433-36-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4495ea9b68..d26c4b8ba1 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1125,3 +1125,25 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:31 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:32 +0000 Received: from localhost ([127.0.0.1]:51262 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDj-0007Cp-H4 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:31 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:43558) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAk-00071F-8x for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:26 -0500 Received: by mail-ua1-f45.google.com with SMTP id i5so26225495uaq.10 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=a9QFeltUjDCNweV8FlOFZUEbZuRRW8c3KGvnkgqcZS8=; b=N+4TTxtlw/yAD1PBppciIko0rmBaA6LsYVtrNXKVeAZVPU/rj++ZDCrSNmAeAFH/3M g+Qzg+1WZYH0up2rjxkWwPPSyh94zzliEPWR8hYJA+kplA40yoUb0juBJJznFx5ez/lf 8o/8IvME/kAIDWpborOl85+xcy0IpqRWeC7fKyFGrHTpGKqu8A/sdQtqTGPsNc/ovvrE K9GGJynLOi3GlmcIWheQ+vN+0imz85dkrrL/PI92o6wI2UrF8yb60flD8vHo5WugICvj a2LX/xlOs4OqXYBq5Z8ga/eZNxucJxuX8BcFxPywWUqH+wmL6p0gxvIK7+eiZ6Nff238 L67A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=a9QFeltUjDCNweV8FlOFZUEbZuRRW8c3KGvnkgqcZS8=; b=EOxIUl57EKOD7ckyha5ee/NJ0y3Vy2sxLe9Rd1Iuf/bsRBdRyGlqXeVn47uGRgDUQc z5E5NKAjYpT/nOb4fyajB1/Ytd2etmxv+IO8/4l7T6rSDvZKFpJ7gOS9z5lvE0oS0gap AH7VpmHemOVyKpG0UhfXP5kN3P+JTfSAhJVpD+jIcQMPBhSVNAWqelSOs8M+au5XhrQy prvluRNnM9bNedBHQQZS3RlRXB+mnZhl34QjVXxDj47imvZ4+iyuhxljvufFalXLSBLq RoJagAQmd5ZNdfkBdMuYe/4/IEqtguFmP6mI7bf1lXIi5e7IW6fNyFkpVrGh18fxfnK2 mI1w== X-Gm-Message-State: AOAM531akDDjMDyXjEqOrROLyC+tLSnq+0Nu1CkOtul43KkjoKwQUGuH 0Go1Df5U+ufSUZl+7VJF7Y+1jygJ4XB1IS5o X-Google-Smtp-Source: ABdhPJw9hh2QtCDPXwQvsE2rrJrrLg0CcHHdpxIV8Iv3giyoqTY9wQtJcNRcz3859b37s4bWCgFdgA== X-Received: by 2002:a05:6102:b15:: with SMTP id b21mr3309713vst.34.1640850500851; Wed, 29 Dec 2021 23:48:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id q12sm3210751uad.20.2021.12.29.23.48.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:20 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 39/41] gnu: Add node-serialport-parser-byte-length. Date: Thu, 30 Dec 2021 02:44:54 -0500 Message-Id: <20211230074456.33433-40-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e6e25f036a..fa9498e31e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1215,3 +1215,25 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:32 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:32 +0000 Received: from localhost ([127.0.0.1]:51264 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDj-0007Cx-Rk for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:32 -0500 Received: from mail-ua1-f44.google.com ([209.85.222.44]:38464) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAs-000724-Ek for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:35 -0500 Received: by mail-ua1-f44.google.com with SMTP id o63so41278627uao.5 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zE2i3xIBRTV4B3p097K+eci89E1xnT72LjGefDtI7/4=; b=jlHtxFYPUwCN+nz5iID/K1+Alm270/QYDdSK8uGg5EhOEH/DgzGbXewfIWHgL1V6A5 djXg7aU28JDX86j7idTufn+uBjopMfh/cJK0htpYYYEslR/6Tl3AxHPEg8ebOecmXo/v GquduixFNKv0sc4HFfGFDw14axxeqA7UylgSTibXuqs117asssWqgx9Otl8plOnaLTzx AuvpOLYn2Tl0LZrnjjAQuV8DOKHbTVdXoboz2eefrrwTaujgtqHXhIgSiZRpczhLC7Xg 5XR/oalj63XBeku3hkoydBvhDMQenxQnVLAaZ7ldzfX1Fp3YCG+Un7U+E6gtu64kCUoq GMBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zE2i3xIBRTV4B3p097K+eci89E1xnT72LjGefDtI7/4=; b=Ogu7H/h3a8vd+a9w//b+APGT3an9dkzdoH8xoxjs7s//43oXvPXhH/tx65MWpDAcZw TSSIUGEZN+ttlYs3Qybf109fLbATRjqgzWIu9pJwnAHiIbJfsvy7z3XBdaVML+r+VRfU eRMXJra97Urrch+veUCO8w5/Lqi9ZEr3TXXAXFd4oyZJs2JOWYM99fXwc6nxkDNmwJZL 1HRPJTC+btitxaPoEoiRBfwInkJ1dA2jYlBJ21vzeg+HYmVJvZP4KUCVoJTzl7e1Zicy PknIbGtU4rL9kcbd8LsJ1pFwq+2dFtGgcZQB46vAbKxAyKp/kJ9TBJQdmDZmMleJ00J9 hBog== X-Gm-Message-State: AOAM5315CXQC5MvvefqQ03y3UlKM2lnk2BeVfhSIn+kIy4Uj7+YeCjVK tNJ5HQTAjdyRCnoqxmhIy6aqjQcCDGCe2ar3 X-Google-Smtp-Source: ABdhPJxXaiVYM0TiaIIYRcuwIUaSs99wjfELC/V9brnzUuGHIJPx5re8GRHp8dVkr+ZBbvd3aNbCLQ== X-Received: by 2002:a67:f8ca:: with SMTP id c10mr8999385vsp.43.1640850508983; Wed, 29 Dec 2021 23:48:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id z11sm4020870uac.13.2021.12.29.23.48.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:28 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 41/41] gnu: Add node-serialport. Date: Thu, 30 Dec 2021 02:44:56 -0500 Message-Id: <20211230074456.33433-42-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport): New variable. --- gnu/packages/node-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e3fc8c23b7..449b2a04fd 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1264,3 +1264,34 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + (list node-serialport-bindings + node-serialport-parser-delimiter + node-serialport-parser-readline + node-serialport-parser-regex + node-serialport-parser-ready + node-serialport-parser-inter-byte-timeout + node-serialport-parser-cctalk + node-serialport-parser-byte-length + node-serialport-stream + node-debug)) + (arguments + `(#:absent-dependencies + `("@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 02:51:36 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 07:51:36 +0000 Received: from localhost ([127.0.0.1]:51266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qDk-0007D5-A5 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 02:51:36 -0500 Received: from mail-ua1-f42.google.com ([209.85.222.42]:39445) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2qAo-00071P-AY for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 02:48:38 -0500 Received: by mail-ua1-f42.google.com with SMTP id j11so4310711uaq.6 for <51838@debbugs.gnu.org>; Wed, 29 Dec 2021 23:48:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oA1p10jnF2rYDgA8t2n0JMsXH90NgILm4hxVxFHHACY=; b=QovCvrzcWP5YeC0Ma1eR49ZMz59q25NU/ANb8c7IdeN134aXPb5yx9MTs1WnPXraAW UmbPGGeFaJsPCaEsn/CO7pAdf9Y7ImeS240Cu2kfV6f7b/BiXHvQ/5qojMh0ND/H12tt 4ktlXMCJLMT4qO+zgNrXIYikMi3YIvkSvO1+fB/6urF1jpEMmbMPfSr9Lb0VQ9MQwzIn P9syjDd+bTB1buyBGURbwq+CSJtevrczzrHzDGYeQU776nAEJ1CS+xftJAhWC+xjfyyE 95nahJ+PB8IzQGcIHUgeKuOP6wDDNL7M6YoBIFwOtB8bFrEn63RDvexVtyeBYopJKeut fu+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oA1p10jnF2rYDgA8t2n0JMsXH90NgILm4hxVxFHHACY=; b=YA02Nywd8ItqGy9cbvgvkmxKloCFGYMPHdXa1D7/EON/X9bbcO20TA8ppTZfmG2jpX cRkwL7cb8AH6MydDGOOx2arLmlYgtIBTCyQJF+BWrAN5Xe2Ls61NolSCxBVN9mvDnJ43 KlheZF6g9L2jTAleht1vV0TF3vYooijpztYU0e29z3jATSJN8Wo8J6NPAixuhrMH3/pm 2zM2WtBmHX68pjTO/SjoPmDgVI4uGXXv3utpFB+5ydqeu0+CreS8KhMo2GmHQxGBS1Z1 bcAiBOv6O5qwv8mM6UB5Vzj5IbR/d3ephnEKtS429V/OdsUvqb28A1JpGRgCbG0C1cYm /uwA== X-Gm-Message-State: AOAM530YxGQOf6gA9MUPSEemgE4NBhNK8dxJJqhrD7BF9R8PYY1bOaoZ OZYxm1/xycRzGYjOrcouJdRwsg0uxUHNKz75 X-Google-Smtp-Source: ABdhPJy97cTA05/LDFMhkVCf1kWn+TxqOkog7LJJ/3h+JGgIVz4wJhUfnG2nhwuDWfjMSh/EA2/Vpg== X-Received: by 2002:a67:3212:: with SMTP id y18mr9246005vsy.41.1640850504870; Wed, 29 Dec 2021 23:48:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id k23sm5127215vsm.1.2021.12.29.23.48.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 29 Dec 2021 23:48:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v7 40/41] gnu: Add node-serialport-stream. Date: Thu, 30 Dec 2021 02:44:55 -0500 Message-Id: <20211230074456.33433-41-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211230074456.33433-1-philip@philipmcgrath.com> References: <20211230073919.30327-1-philip@philipmcgrath.com> <20211230074456.33433-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. --- gnu/packages/node-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index fa9498e31e..e3fc8c23b7 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1237,3 +1237,30 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (inputs + (list node-debug)) + (arguments + `(#:absent-dependencies + `(;; devDependencies + "@serialport/binding-mock") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 11:56:33 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 16:56:33 +0000 Received: from localhost ([127.0.0.1]:54297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2yjA-0000NN-O2 for submit@debbugs.gnu.org; Thu, 30 Dec 2021 11:56:32 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:36842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2yj8-0000N6-UP for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 11:56:31 -0500 Received: by mail-wr1-f68.google.com with SMTP id r17so51542975wrc.3 for <51838@debbugs.gnu.org>; Thu, 30 Dec 2021 08:56:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=/hgFjgH4XNY8RYLKfJ8vdnzAYELINdF3g27V2p9+Ihk=; b=gw3Mcao3vyYE+aWWg/sE4CAYykuiBIB3iHYLvG0miEVzpmaKwyXC4LjVzDrf3j4nJG soRQsFMBhJkjZKl40J1AyNveC4PG2a3sos4LpS0gi/bBM8mkrbVegVvaEiiW8p/X7/J5 HKGcRogMjTDaclzYrrkyMjUmwWrj+oNziQt8A8YqvuJvGsPtz3UjKBFVLKlWj2fCD6CP EZgUQqECMf95SSgrV/tYAuckYbqmppSQjrN2BYPpDK1Zb8Lh1PxomvPXYaGwm/9vOra7 5AUHC7bZyyF8RN7cxWOnWWesd/FQ6/5GN8lSxq/HOTPr+bj6WTzuH0s9L/038an3WEEl JdGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=/hgFjgH4XNY8RYLKfJ8vdnzAYELINdF3g27V2p9+Ihk=; b=1S4I8yf1ojOKPQAykXx2leFFlFWBpkHeEZi2+0fZWPAsSGdebmbNT0Xf8dKpcSReVS 4n4IR4nWxGtGsuCpa7IywvHNvxAqx8zn5Ed5sVWSNXbwU1JljdwZJmNFFiz8lg29/V2y RiMMWrwLNFwN1+zPNUFgYhRqUW3tyyDhE2q4hmNsWyhHnAabBUb/W9LvLxAB1PeENRnM 4yIvNUPxIQulEd9gZcxZjzFuG0Z4LiWjqwO0D7eGo8fkaVMWf1hQ/FfV60c7DCcAuREr Hkg6L9YcwyKuPjJ0Z8RB4H485ucodz/87k6B6Pl+yG+L0A57VEmgylm/s5tv9DQy3cYg 3jwQ== X-Gm-Message-State: AOAM5305nhjWNBh+UUDqukRhn+FkaxVJYIQ8STkaSoGSyJ2rLLV8Oo2n iRY3bBqHYmrXSEQJJPp7aR8= X-Google-Smtp-Source: ABdhPJy9ZUlp7P52i+M2W4yMAa9ydYL6OE6CtXgizYuGO9OFIoB05Wl4LmKAYinzjqIrQ/TcgpJzCQ== X-Received: by 2002:a05:6000:156c:: with SMTP id 12mr25254833wrz.104.1640883384900; Thu, 30 Dec 2021 08:56:24 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id x21sm86981wmc.24.2021.12.30.08.56.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Dec 2021 08:56:24 -0800 (PST) Message-ID: <7fff534b3aa615aa43fe4df4f4e36d0941f9b229.camel@gmail.com> Subject: Re: [PATCH v6 03/41] guix: node-build-system: Add JSON utilities. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Thu, 30 Dec 2021 17:56:23 +0100 In-Reply-To: <20211230073919.30327-4-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-4-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: > This commit adds several utility functions for non-destructive > transformation of the JSON representation used by (guix build json), > particularly for purely functional update of JSON objects.  They > should > eventually be exported, but most are private for now to allow for > more > experience and consideration before commiting to the API.  The design > was largely inspired by the 'racket/dict' and 'racket/hash' > libraries. > Liliana Marie Prikler proposed 'with-atomic-json-file-replacement'. Given that this is a fair amount of procedures that you're proposing, I think a new file would be appropriate. Perhaps (guix build json- utils)? Adding that should IIUC not cause a world rebuild, so we could do that on master. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 12:29:47 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 17:29:47 +0000 Received: from localhost ([127.0.0.1]:54342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2zFL-0001gP-Hh for submit@debbugs.gnu.org; Thu, 30 Dec 2021 12:29:47 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:42961) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n2zFJ-0001g3-4q for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 12:29:45 -0500 Received: by mail-wr1-f68.google.com with SMTP id w20so42716211wra.9 for <51838@debbugs.gnu.org>; Thu, 30 Dec 2021 09:29:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=C5Kr+2RcZCN+nDpjSOQlUQgiqpbUGyH6EA8N/SRyDjE=; b=YYQmlehRPuzcezGFYwfyIWLaqfr4Q0qR9C/+/4Vmjv0fCuQDa9KZ2A/Elx1+lAuNT4 mWmQoWIIjkMfDOqb+6jXnvShBScM1Ara65EKjXOBOqumRGWYnfhJ/aEzbnvQG97fA6nL 82fpd2mUItUxpwbSoq2N8S+8HmBTfL6yEYucelK2N4OxWTeNoIYGrDivsXryLRcNlGUE 0jmDoIJCsMJ9WOLtgr+4x93DwYLij0k450OHz196R4QUhx0mRlmhfZhf1PBzimsjVTUG h34JG35UGJw4vVC5bYD7zX2KYPE/humN1pJgJL9YftPLZdjfTNQNAiyEVWK/67jl0OWZ qanQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=C5Kr+2RcZCN+nDpjSOQlUQgiqpbUGyH6EA8N/SRyDjE=; b=WVFW+IAlKnZEVV+AGc5RnqT05wYXCfwryltjKIRf22n9Ri7RnxBndMJLENbdByNym7 f5KJuUuK+ftFFUjURxaBs5J/e3PTvkSVewH5STWTwtRzsO7XWi7bBrEXmTsQf8xG6Tsz P8Rk8XdSz/YXV/bGIYam6TJ7GLvrIp+M+Hh2LYiFMMZvtBeAjupnYchU9+6r/234x1/d epmJbv5Nnem9a8eLApkkuSKkZdrZ5nJFc8qohXkcZgtwozV3ePzsJp0CCLgVSFueyC7a R53eUUvfY/joARTFD1v41njH8wzd7oJHzAAn1IBPatzbWFv5/lc4Nl0PYj2vXpBsKcbk cUMQ== X-Gm-Message-State: AOAM532dl38kLXqFF0n+gEnEtjxHpku3UxEZ7jbMbtdGp/7IYBH4SIVu EmhWXZ1F9ROwDBu/canddLY= X-Google-Smtp-Source: ABdhPJxSwg2Gh9FEd3e9/GFBaylmUDa32EaDPZ6y5gJWjzdoivhbeBvh+fFhzw5XZ6Bdo74uP2kF5w== X-Received: by 2002:a05:6000:1548:: with SMTP id 8mr24655133wry.489.1640885379280; Thu, 30 Dec 2021 09:29:39 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id e13sm27489257wmq.10.2021.12.30.09.29.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Dec 2021 09:29:38 -0800 (PST) Message-ID: <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Thu, 30 Dec 2021 18:29:37 +0100 In-Reply-To: <20211230073919.30327-6-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: > * guix/build/node-build-system.scm (delete-dependencies): New > exported procedure.  Functionally updates a "package.json"-like value > by removing specified npm packages from the "dependencies" and > "devDependencies" objects. > --- >  guix/build/node-build-system.scm | 18 ++++++++++++++++++ >  1 file changed, 18 insertions(+) > > diff --git a/guix/build/node-build-system.scm b/guix/build/node- > build-system.scm > index dc8b6a41c2..9967223b86 100644 > --- a/guix/build/node-build-system.scm > +++ b/guix/build/node-build-system.scm > @@ -27,6 +27,7 @@ (define-module (guix build node-build-system) >    #:use-module (srfi srfi-1) >    #:export (%standard-phases >              with-atomic-json-file-replacement > +            delete-dependencies >              node-build)) >   >  ;; Commentary: > @@ -325,6 +326,23 @@ (define resolve-dependencies >                                 deps)))))) >    #t) >   > +(define (delete-dependencies pkg-meta absent-dependencies) > +  "Functionally update PKG-META, a json object corresponding to a > +'package.json' file, to allow building without the ABSENT- > DEPENDENCIES.  To > +avoid reintroducing the ABSENT-DEPENDENCIES, only use this procedure > after the > +'patch-dependencies' phase." > +  (define delete-fom-jsobject > +    (match-lambda > +      (('@ . alist) > +       (cons '@ (filter (match-lambda > +                          ((k . v) > +                           (not (member k absent-dependencies)))) > +                        alist))))) > +  (jsobject-update* > +   pkg-meta > +   "devDependencies" '(@) delete-fom-jsobject > +   "dependencies" '(@) delete-fom-jsobject)) Given this rather easy definition in terms of our helper functions, I think this procedure can do more. Particularly, I'd argue that we can define it as such: (define* (delete-dependencies dependencies #:key (file "package.json") (json-keys  '("dependencies" "devDependencies")) "Remove DEPENDENCIES from JSON_KEYS in FILE." (with-atomic-json-file-replacement ...)) This would in turn make it easier to delete dependencies from #:phases, eliminating the need to shorten it to #:absent-dependencies. WDYT? From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 13:18:59 2021 Received: (at 51838) by debbugs.gnu.org; 30 Dec 2021 18:18:59 +0000 Received: from localhost ([127.0.0.1]:54436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n300w-0005qB-Cj for submit@debbugs.gnu.org; Thu, 30 Dec 2021 13:18:59 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:47031) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n300u-0005pv-1M for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 13:18:56 -0500 Received: by mail-wm1-f66.google.com with SMTP id d198-20020a1c1dcf000000b0034569cdd2a2so13706428wmd.5 for <51838@debbugs.gnu.org>; Thu, 30 Dec 2021 10:18:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=c+WYZstX6sIBDXDG/xRhr+7t6L7XecofJraLA7aBGdU=; b=i/AlKOMYSx+qogcIHM6NPV4vNOHDAnG4mfG1aTA6iFDMiGpLUmLt0om16plcD3Q4Ol a9pvk/yrSSq99C+iWNUIDFPrMQ81THLwgT6LSmE62WsicEGCPzVCsC0YWTqLjP5T3/Bd BIgwcE2JkbIoZZUHsDs5PpNStW38SKsXbM+WljPoHVF6vOBJ9MCEntNUJPQSkkP+cXd4 2jnVPwC4oOpZAfhj+H7G2sLw7IuJ+kGt4UkM+KeozrOuCas+o7xYLgv9igWIJp+RdSiB z5WgFSns07RS5zntOhvKENC5NJAySH1naRE9nicm4B98Wen2hDvIhsQEUctsPC9WVf+8 mqOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=c+WYZstX6sIBDXDG/xRhr+7t6L7XecofJraLA7aBGdU=; b=zVypGmbAU/srALfBJnQYPBFee4uXKf2Evg1bhr0W+kgv88e10BVS81my2gf0FHkZZE zHA28mdE2F3pkdzZz5fE9/AVHu3+c639fnE++2GTx4zCwUaUNMjtPdBRsH8PGHlXpq86 bjQJu48CTncbGuA+irTpaPYExPvHFQxkR7JnJoGPDuNO6F3ZjuxWGPaoYqWMkHsYSUTC XpUjsYN6tXtlu6MmO5WY2i8+qVVkppGMZrtzuZarafnavvqwMzFGmo5UwvGbDlfpPQQe uq6BP/U5HpiaguImy15yBrMmXZEoM2k7gi1+9H/URUgVvi0cQehkn1dYvBUH1b4Zzrp/ NYYg== X-Gm-Message-State: AOAM531o5++uQ9CN3pxW7oe1ykHaV6hJx9ryxIyGNQlyyVGUow0ZE/Rf G2eWnPrRtp0lr1DUNmQVVuY= X-Google-Smtp-Source: ABdhPJxieE0idylyik6vXz8FrZjh6UKW8VtRvqWqEdrzO1O4CHsVlxvsG3utIvUheEA4NXMOVE8t2A== X-Received: by 2002:a7b:c4d7:: with SMTP id g23mr27472986wmk.13.1640888330044; Thu, 30 Dec 2021 10:18:50 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id l25sm23665694wmh.18.2021.12.30.10.18.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Dec 2021 10:18:49 -0800 (PST) Message-ID: Subject: Re: [PATCH v6 03/41] guix: node-build-system: Add JSON utilities. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Thu, 30 Dec 2021 19:18:48 +0100 In-Reply-To: <20211230073919.30327-4-philip@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-4-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Having argued for these procedures to be moved into their own file in a separate mail, now it's time to bikeshed stylistic choices. Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: > +(define (jsobject-ref js key failure-result) > +  "Return the value assosciated with KEY in the json object JS.  If > KEY is not > +found and FAILURE-RESULT is a procedure, it is called in tail position > with > +zero arguments.  Otherwise, FAILURE-RESULT is returned." > +  ;; TODO: `failure-result` should be optional, but should the default > +  ;; `failure-result` be #f (like `assoc-ref`), a thunk raising an > exception, > +  ;; '(@), or something else?  Keep it mandatory until we discuss and > decide. > +  (match js > +    (('@ . alist) > +     (match (assoc key alist) > +       (#f > +        (if (procedure? failure-result) > +            (failure-result) > +            failure-result)) > +       ((_ . value) > +        value))))) We can safely replace failure-result by Guile's DEFAULT and leave error handling to the user. > +(define (alist-pop alist key) > +  "Return two values: the first pair in ALIST with the given KEY in > its > +'car' (or #f, if no such pair exists) and an assosciation list like > (and > +potentially sharing storage with) ALIST, but with no entry for KEY." > +  (match (assoc key alist) > +    ;; If key isn't present, we don't need to do any allocation > +    (#f > +     (values #f alist)) > +    (found > +     (values found > +             ;; Because we have `found`, we can find it more > +             ;; efficiently this time with `eq?`. We avoid using > +             ;; `delq` because it would copy pairs in a shared > +             ;; tail. We assume a sufficiently smart compiler to > +             ;; handle "tail recursion modulo cons" (vid. e.g. Indiana > +             ;; University Technical Report No. 19, Friedman & Wise > +             ;; 1975) at least as efficiently as a hand-written > +             ;; tail-recursive implementation with an accumulator. > +             (let loop ((alist alist)) > +               (match alist > +                 ;; We know that `found` is present, > +                 ;; so no need to check for '() > +                 ((this . alist) > +                  (if (eq? this found) > +                      alist > +                      (cons this (loop alist)))))))))) I think this can be more efficiently be done in a "single" loop. (let loop ((rest alist) (previous '())) (match rest (() (values #f alist)) ((first . rest) (if (eq? (car first) key) (values first (reverse! previous rest)) (loop rest (cons first previous)))))) Also, I don't think your version is tail-recursive. (loop alist) is not in tail position from what I can tell. We should also look into SRFI-1 span. > +;; Sadly, Guile's implementation of (@ (srfi srfi-1) alist-delete) > +;; performs unnecessary allocation, e.g. this currently evaluates to > #f: > +;; > +;;     (let ((alist `(("a" . 1)("b" . 2)("c" . 3)))) > +;;       (eq? alist (alist-delete "x" alist))) > +;; > +;; These functions generally choose to allocate a new outer pair > (with the '@ > +;; tag), even though in unusual cases the resulting object might not > have > +;; changed, for the sake of simplicity and to avoid retaining a > reference to > +;; the original alist longer than necessary. But that is O(1) > allocation that > +;; could only rarely be avoided: `alist-delete` would allocate O(n) > pairs, > +;; which would only be necessary in the worst case. > +(define (alist-delete* alist key) > +  "Return an assosciation list like (and potentially sharing storage > with) > +ALIST, but with no entry for KEY." > +  (define-values (_popped remaining) > +    (alist-pop alist key)) > +  remaining) That's a pretty long comment around something that could be done with call-with-values or SRFI-71 let. I think one of these two should be preferred. Note that both our versions of alist-pop only pop the first key (as they should). This means that alist-delete* should really be called alist-delete-1 as in "remove the first pair in ALIST belonging to KEY". For the larger JSON handling below, this makes no difference however. > +(define (jsobject-delete js key) > +  "Return a json object like JS, but with no entry for KEY." > +  (cons '@ (match js > +             (('@ . alist) > +              (alist-delete* alist key))))) Fair enough. > +(define (alist-set alist key value) > +  "Return an assosciation list like ALIST, but with KEY mapped to > VALUE, > +replacing any existing mapping for KEY." > +  (acons key value (alist-delete* alist key))) Is order relevant here? Because we could just as well reimplement our alist-delete* loop and cons the replacement onto the rest. WDYT? > +(define (jsobject-set js key value) > +  "Return a json object like JS, but with KEY mapped to VALUE, > replacing any > +existing mapping for KEY." > +  (cons '@ (match js > +             (('@ . alist) > +              (alist-set alist key value))))) I think it'd be wiser to put the cons inside the match. > +(define jsobject-set* > +  (case-lambda > +    "Return a json object like JS, but functionally extended by > mapping each > +KEY to each VALUE, replacing any existing mapping for each KEY.  The > update > +takes place from left to right, so later mappings overwrite earlier > mappings > +for the same KEY." > +    ((js) > +     js) > +    ((js key value) > +     (jsobject-set js key value)) > +    ((js . args) > +     (cons '@ (match js > +                (('@ . alist) > +                 (let loop ((alist alist) > +                            (args args)) > +                   (match args > +                     (() > +                     alist) > +                     ((key value . args) > +                      (loop (alist-set alist key value) > +                            args)))))))))) I'm not sure if I like this "syntax". I think I'd prefer (jsobject-set* obj (FIELD1 VALUE1) (FIELD2 VALUE2) ...) with FIELD1, FIELD2 being identifiers WDYT? > +(define (alist-update alist key failure-result updater) > +  "Return an assosciation list like ALIST, but with KEY mapped to > the result > +of applying UPDATER to the value to which KEY is mapped in ALIST.  > When ALIST > +does not have an existing mapping for KEY, FAILURE-RESULT is used as > with > +'jsobject-ref' to obtain the argument for UPDATER." > +  ;; Often, `updater` will be a lambda expression, so making it the > last > +  ;; argument may help to makes the code legible, and the most > likely > +  ;; `failure-result` arguments are all shorter than the keyword > +  ;; `#:failure-result`.  Plus, making `failure-result` mandatory > helps make > +  ;; `alist-update` consistent with `alist-update*`. Which alist-update* are you referring to here? Either way, the failure-result to default argument from above applies, but we could keyword it. > +  (define-values (popped tail-alist) > +    (alist-pop alist key)) > +  (acons key > +         (updater (match popped > +                    (#f > +                     (if (procedure? failure-result) > +                         (failure-result) > +                         failure-result)) > +                    ((_ . value) > +                     value))) > +         tail-alist)) SRFI-71 let says hi. Also the ordering question applies. I'm starting to think we should implement alist-pop, alist-set and alist-update in terms of a single more powerful function producing three values (or SRFI-1 span). > +(define (jsobject-update js key failure-result updater) > +  "Return a json object like JS, but with KEY mapped to the result > of applying > +UPDATER to the value to which KEY is mapped in JS.  When JS does not > have an > +existing mapping for KEY, FAILURE-RESULT is used as with 'jsobject- > ref' to > +obtain the argument for UPDATER." > +  (cons '@ (match js > +             (('@ . alist) > +              (alist-update alist key failure-result updater))))) Same default argument. Cons inside. > +(define jsobject-update* > +  (case-lambda > +    "Return a json object like JS, but functionally extended by > replacing the > +mapping for each KEY with the result of applying the corresponding > UPDATER to > +the value to which that KEY is mapped in JS---or, if no such mapping > exists, > +to a value based on the corresponding FAILURE-RESULT as with > 'jsobject-ref'. > +The update takes place from left to right, so later UPDATERs will > receive the > +values returned by earlier UPDATERs for the same KEY." > +    ((js) > +     js) > +    ((js key failure-result updater) > +     (jsobject-update js key failure-result updater)) > +    ((js . args) > +     (cons '@ (match js > +                (('@ . alist) > +                 (let loop ((alist alist) > +                            (args args)) > +                   (match args > +                     (() > +                     alist) > +                     ((key failure-result updater . args) > +                      (loop (alist-update alist key failure-result > updater) > +                            args)))))))))) Same default argument. Cons inside. > +(define* (jsobject-union #:key > +                         (combine (lambda (a b) b)) > +                         (combine/key (lambda (k a b) (combine a > b))) > +                         #:rest json-objects) > +  "Combine the given JSON-OBJECTS into a single json object.  The > JSON-OBJECTS > +are merged from left to right by adding each key/value pair of each > object to > +the aggregate object in turn.  When one of the JSON-OBJECTS contains > a mapping > +from some key KEY to a value VAL such that the aggregate object > already > +contains a mapping from KEY to a value VAL0, the aggregate object is > +functionally updated to instead map KEY to the value of (COMBINE/KEY > KEY VAL0 > +VAL).  The default COMBINE/KEY tail-calls (COMBINE VAL0 VAL), and > the default > +COMBINE simply returns its second argument, so, by default, mappings > in later > +JSON-OBJECTS supersede those in earlier ones." > +  (match (filter (lambda (v) > +                   (not (or (keyword? v) > +                            (procedure? v)))) > +                 json-objects) > +    (() > +     '(@)) > +    (((and js0 ('@ . _))) > +     js0) > +    ((('@ . alist0) ('@ . alist*) ...) > +     (cons '@ (fold (lambda (alist1 alist0) > +                      (if (null? alist0) > +                          alist1 > +                          (fold (lambda (k+v alist0) > +                                  (match k+v > +                                    ((k . v) > +                                     (define-values (popped tail- > alist) > +                                       (alist-pop alist0 k)) > +                                     (match popped > +                                       (#f > +                                        (cons k+v tail-alist)) > +                                       ((_ . v0) > +                                        (acons k > +                                               (combine/key k v0 v) > +                                               tail-alist)))))) > +                                alist0 > +                                alist1))) > +                    alist0 > +                    alist*))))) Same default argument. Cons inside. I think having a single combine function taking (k a b) would be less confusing than having two. Is there a rationale for the form you chose? > + > +;;; > +;;; Phases. > +;;; > + >  (define (set-home . _) >    (with-directory-excursion ".." >      (let loop ((i 0)) > @@ -49,7 +281,7 @@ (define (set-home . _) >  (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"))) > +    (jsobject-ref package-meta "name" #f))) >   >  (define (index-modules input-paths) >    (define (list-modules directory) > @@ -73,27 +305,24 @@ (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) '()))) > +  (define resolve-dependencies > +    (match-lambda > +      (('@ . alist) > +       (cons '@ (map (match-lambda > +                       ((key . value) > +                        (cons key (hash-ref index key value)))) > +                     alist))))) >   > -  (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)))) > +  (with-atomic-json-file-replacement "package.json" > +    (lambda (pkg-meta) > +      (jsobject-update* > +       pkg-meta > +       "devDependencies" '(@) resolve-dependencies > +       "dependencies" '(@) (lambda (deps) > +                             (resolve-dependencies > +                              (jsobject-union > +                               (jsobject-ref pkg-meta > "peerDependencies" '(@)) > +                               deps)))))) >    #t) We should probably add a function to our js utils that "generates an empty object", because '(@) is quite confusing to see in these circumstances. Otherwise LGTM with the aforementioned caveats.  Cheers From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 15:03:31 2021 Received: (at submit) by debbugs.gnu.org; 30 Dec 2021 20:03:31 +0000 Received: from localhost ([127.0.0.1]:54521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n31e6-0000e8-Bm for submit@debbugs.gnu.org; Thu, 30 Dec 2021 15:03:30 -0500 Received: from lists.gnu.org ([209.51.188.17]:49798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n31e4-0000dx-CC for submit@debbugs.gnu.org; Thu, 30 Dec 2021 15:03:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n31e4-0003AU-65 for guix-patches@gnu.org; Thu, 30 Dec 2021 15:03:28 -0500 Received: from mail.arctype.co ([138.68.9.245]:49419) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n31e1-00060n-6x for guix-patches@gnu.org; Thu, 30 Dec 2021 15:03:27 -0500 Received: from authenticated-user (mail.arctype.co [138.68.9.245]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by mail.arctype.co (Postfix) with ESMTPSA id 3111713B134 for ; Thu, 30 Dec 2021 20:03:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=arctype.co; s=mail; t=1640894597; bh=nKywFiDyM6vvpHz54tTAP69kcdd2ZdifFds21oAVqPY=; h=To:References:From:Subject:Date:In-Reply-To:From; b=SPu8JHfOaCTmAipm0N7oTMsTP7FwsPXIOUyqBw5wYhdi+e+qoa8dVZ62tjfTi8qrp id1t8+S5MZ01h2EzvgH/Dh1h6ASfYVdlRu9lSN1iD15PllIRWLlsd7Nl5k8TT7kcPo puUtDWs6b3R9KsoRukZV+3ahB5r+DrMFs6OX3gBpPmKADKrdMllzra1vJ3/UAzgEb3 axam0iJTDx3yCIo0YxZ5hoYPYNcXPllOjJTxOTE3Lrt2Vrvjdzb7TzqoGuLqfgxShW DY2wODGcg8uHzjycOyryAjLUId+iyyUvZ92tVymsReKndNX0zw/Z4y0+any0r8k7s8 KEQ+gsmY1C3hg== To: guix-patches@gnu.org References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> From: Ryan Sundberg Subject: Re: [bug#51838] [PATCH v6 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Message-ID: Date: Thu, 30 Dec 2021 12:03:15 -0800 MIME-Version: 1.0 In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="UvqXuym3V09iFcNB84o1WHcSDiqqa2k4r" Received-SPF: pass client-ip=138.68.9.245; envelope-from=ryan@arctype.co; helo=mail.arctype.co X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --UvqXuym3V09iFcNB84o1WHcSDiqqa2k4r Content-Type: multipart/mixed; boundary="gL5S8NWbFEYZyWUCe3MBTIY6ljm0Jxbam"; protected-headers="v1" From: Ryan Sundberg To: guix-patches@gnu.org Message-ID: Subject: Re: [bug#51838] [PATCH v6 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> In-Reply-To: <20211230073919.30327-1-philip@philipmcgrath.com> --gL5S8NWbFEYZyWUCe3MBTIY6ljm0Jxbam Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable I think the #:absent-dependencies pattern is very straightforward argument and is clearly a common enough occurrence to merit a shorthand expression. I have not been following the developments in the node-build-system here recently but it looks like lots of progress is being made. Thanks all for contributing! -- Sincerely, Ryan Sundberg On 12/29/21 11:38 PM, Philip McGrath wrote: > Hi Liliana (and everyone), >=20 > Thanks for taking care of the earlier patches from the series! >=20 > It sounds like (guix build json) is going to be around for a reasonably= > long time, and I'm ok with that. >=20 > In the hope of clearing a path to move forward, I'm sending v6 of this > patch series, immediately followed by a closely-related v7: I strongly > prefer v7, but I would be ok with either version being applied if one o= f > them can achieve consensus. (If v6 is merged, I'll send a separate patc= h > series to propose '#:absent-dependencies'.) >=20 > I've put the two versions up on GitLab > as = > and , > respectively. >=20 > I've re-organized the patches in the series somewhat to facilitate a > minimal, side-by-side comparison between '#:absent-dependencies' and th= is > approach: >=20 > On 12/20/21 17:00, Liliana Marie Prikler wrote: >> (add-after 'patch-dependencies 'drop-junk >> (lambda _ >> (with-atomic-json-replacement "package.json" >> (lambda (json) (delete-dependencies json '("node-tap")))))) >=20 > The series is now organized as follows: >=20 > - The first 4 patches are identical in v6 and v7: >=20 > - Patches 01 & 02/41 are non-controversial build system changes > ('delete-lockfiles' and libuv). >=20 > - Patch 03/41 adds to (guix build node-build-system) several util= ity > functions for transforming JSON in the representation used by (= guix > build json), especially functional update of tagged JSON > objects. It also adjusts the rest of (guix build node-build-sys= tem) > to make use of those functions, eliminating all uses of > 'assoc-set!' and other procedures that mutate assosciation list= s. >=20 > Of the new functions, only 'with-atomic-json-file-replacement' = is > exported for now: my hope is that further (valuable and importa= nt!) > discussion about the API design of these functions or their > implementations need not block either v6 or v7 of this series. >=20 > - Patch 04/41 adds the 'avoid-node-gyp-rebuild' phase. I've re-wo= rked > the implementation to use the new helper functions. >=20 > - Patch 05/41 is the truly significant difference between v6 and v7: = it > implements the strategy for dealing with missing dependencies. >=20 > In v6, it exports a new public function 'delete-dependencies' from > (guix build node-build-system). >=20 > In v7, it adds '#:absent-dependencies'. One difference from previou= s > versions of this series is that it handles '#:absent-dependencies' = in a > new 'delete-dependencies' phase, which makes the change even more > self-contained. >=20 > - Patches 06 through 17/41 adjust existing packages to make use of th= e > approach to missing dependencies from patch 05/41 of each series. >=20 > - Patches 18 through 41/41 add the new packages excercising native ad= don > support, again differing based on the approach from patch 05/41. Th= e > other slight difference from previous versions of this series is th= at, > where applicable, I've adjusted the new package definitions to use > 'with-atomic-json-file-replacement' and never to use 'assoc-set!' o= r > other procedures that mutate assosciation lists. >=20 > I continue to think that '#:absent-dependencies' is a good approach, in= > brief, as Jelle put it in , beca= use: >=20 > On 12/20/21 18:10, Jelle Licht wrote: >> Liliana Marie Prikler writes: >>> Am Montag, dem 20.12.2021 um 14:33 -0500 schrieb Philip McGrath: >>>> If we took your final suggestion above, I think we'd have something >>>> like this: >>>> >>>> ``` >>>> #:phases >>>> (modify-phases %standard-phases >>>> (add-after 'unpack 'delete-dependencies >>>> (make-delete-dependencies-phase '("node-tap")))) >>>> ``` >>>> >>>> That seems pretty similar to, under the current patch series: >>>> >>>> ``` >>>> #:absent-dependencies '("node-tap") >>>> ``` >>> That is the point, but please don't add a function called "make-delet= e- >>> dependencies-phase". We have lambda. We can easily add with-atomic-= >>> json-replacement. We can also add a "delete-dependencies" function >>> that takes a json and a list of dependencies if you so want. >>> >>> So in short >>> >>> (add-after 'patch-dependencies 'drop-junk >>> (lambda _ >>> (with-atomic-json-replacement "package.json" >>> (lambda (json) (delete-dependencies json '("node-tap")))))) >>> >>> would be the "verbose" style of disabling a list of dependencies. >>> >> >> I think you are _really_ underestimating how many packages will need a= >> phase like this in the future. I would agree with this approach if it >> were only needed incidentally, similar to the frequency of patching >> version requirements in setup.py or requirements.txt for python >> packages. >> >> Pretty much everything except the '("node-tap") list will be identical= >> between packages; how do you propose we reduce this duplication? At th= is >> point I feel like I'm rehasing the opposite of your last point, so let= >> me rephrase; how many times do you want to see/type/copy+paste the abo= ve >> snippet before you would consider exposing this functionality on a >> higher level? >> >=20 > Additionally, I think having a phase in '%standard-phases' is a good wa= y of > addressing the need to use 'delete-dependencies' after the > 'patch-dependencies' phase, which I explain in patch v6 05/41. >=20 > But, again, I could live with either v6 or v7 being applied if one of t= hem > can achieve consensus. >=20 > So, without further ado, here is v6! >=20 > -Philip >=20 > Philip McGrath (41): > guix: node-build-system: Add delete-lockfiles phase. > guix: node-build-system: Add implicit libuv input. > guix: node-build-system: Add JSON utilities. > guix: node-build-system: Add avoid-node-gyp-rebuild phase. > guix: node-build-system: Add 'delete-dependencies' helper function. > gnu: node-semver-bootstrap: Use 'delete-dependencies'. > gnu: node-ms-bootstrap: Use 'delete-dependencies'. > gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. > gnu: node-debug-bootstrap: Use 'delete-dependencies'. > gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. > gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. > gnu: node-llparse-bootstrap: Use 'delete-dependencies'. > gnu: node-semver: Use 'delete-dependencies'. > gnu: node-wrappy: Use 'delete-dependencies'. > gnu: node-once: Use 'delete-dependencies'. > gnu: node-irc-colors: Use 'delete-dependencies'. > gnu: node-irc: Use 'delete-dependencies'. > gnu: Add node-inherits. > gnu: Add node-safe-buffer. > gnu: Add node-string-decoder. > gnu: Add node-readable-stream. > gnu: Add node-nan. > gnu: Add node-openzwave-shared. > gnu: Add node-addon-api. > gnu: Add node-sqlite3. > gnu: Add node-file-uri-to-path. > gnu: Add node-bindings. > gnu: Add node-segfault-handler. > gnu: Add node-ms. > gnu: Add node-debug. > gnu: Add node-serialport-binding-abstract. > gnu: Add node-serialport-parser-delimiter. > gnu: Add node-serialport-parser-readline. > gnu: Add node-serialport-bindings. > gnu: Add node-serialport-parser-regex. > gnu: Add node-serialport-parser-ready. > gnu: Add node-serialport-parser-inter-byte-timeout. > gnu: Add node-serialport-parser-cctalk. > gnu: Add node-serialport-parser-byte-length. > gnu: Add node-serialport-stream. > gnu: Add node-serialport. >=20 > gnu/packages/node-xyz.scm | 1013 +++++++++++++++++++++++++++++-= > gnu/packages/node.scm | 78 ++- > gnu/packages/zwave.scm | 64 ++ > guix/build-system/node.scm | 9 +- > guix/build/node-build-system.scm | 355 ++++++++++- > 5 files changed, 1464 insertions(+), 55 deletions(-) >=20 --gL5S8NWbFEYZyWUCe3MBTIY6ljm0Jxbam-- --UvqXuym3V09iFcNB84o1WHcSDiqqa2k4r Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEyVG5Gm1pvFAzyXC2aiMi+MCr96sFAmHOEIMFAwAAAAAACgkQaiMi+MCr96v8 +Qf9E3TgGQ2cyayaXDetDzQ5/vJE/Pyjb0AL3qe54bup/coGKui97CHDatQ/kiecSN2gk5LNOwHC J0V3W3PnZ5/KUcpKtDXj5GpJ4jBj8NwOUxUYyZwR0qdbrJU/Q19GpTncCYKPwIW9UNIIObXndlqT gMBVfTR0cGDC/JmtXwDD1OD6cAC2DXzWB6lOMH3crW34tyqOSkmwDln3aVoQF36hBtU8blFl1P73 lx2J/Fn43yMZyldsPSk8FvUgn60alWIQXq7IxYJDmy+Wu7D1G1b5jOdIS7yNYBvZIL0Z98uTH0Qs fuN634jxqVwb94ExpjHsRZsaThE6DB+P2krYgqKiUA== =i6mb -----END PGP SIGNATURE----- --UvqXuym3V09iFcNB84o1WHcSDiqqa2k4r-- From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 20:09:54 2021 Received: (at 51838) by debbugs.gnu.org; 31 Dec 2021 01:09:54 +0000 Received: from localhost ([127.0.0.1]:54846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n36Qc-0003vy-5M for submit@debbugs.gnu.org; Thu, 30 Dec 2021 20:09:54 -0500 Received: from mail-ua1-f45.google.com ([209.85.222.45]:45622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n36Qa-0003vh-8M for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 20:09:52 -0500 Received: by mail-ua1-f45.google.com with SMTP id az37so24236250uab.12 for <51838@debbugs.gnu.org>; Thu, 30 Dec 2021 17:09:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=pvBcQ0Ixtzr+O1qEtKa1u+/ac/ZEr/gEu0IbhDuEYxM=; b=UYo5ezgEPk48j+d0u6L22yqzpceGQaAN5DRSMq6rly794Ok9qXtTq9RdqpeohaQnEr JXqZFnKRF1AzbFboR2GYYvu8z5Yqju7hVCjgZDlS2nsx8KO52w8wBV0RI9HvfVm5W3t3 kTIJRj3F3o0vcq/y8CYL88/IMnUxxbfKgGvOKHl1cdtpqkPIEpLbF/3Sv0dA+EvrXag4 dcfDF9nkya4TRFHhbWZCYy+FQkx4fnwDFg8PcBOFJO11XLwRDd7BJbmN9KyW/CFlvwIz fpAc8+fI+LCa77PNd5Qx6jS3qJkkA1mVzjFJZDBD+CuCFoA6n6ccplXTSI80E6+g/sYj SVJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=pvBcQ0Ixtzr+O1qEtKa1u+/ac/ZEr/gEu0IbhDuEYxM=; b=HWn2F8qEQVFy2xBFm8rsfm1vfNTFR2+SfzJ6XPsNQZQ6DROG2Q6ET9WC4r0fOHLrdO xD2POyb96K3igDCy/aFoc2zQozqdEeN4dNHhv4wAMNejTMdjoux8FHV4Ma1SimwntUST ReSdnfPql5IAFFMhY4yKNshYnT+EZDxhLBs4nY0cBLAPnAQLI8ipTxPJEa8Qg8CfsahS UTnOUmZXuP6hJaXZmxQoT0x8sJVNEfm1L34u3+RSQSdUavST7VO6MRSCxE7xMhB329iD Vq387dQdhBjXxIdU2/u4Yr0QwfQADLppmHKv47ri+cEeyjwKVT9MMKJ+9wjXEeFc0RY/ xIhg== X-Gm-Message-State: AOAM530396IpM515O1VYrFYm2+I5FyAlVAtQSZSdv95VchD+vBDQRiTY y2RdK2V1nFx9M/Y6yA0AJ0RyohaJlNYVxCcI X-Google-Smtp-Source: ABdhPJx7IN/o9HX6DhbsrjhPrPzPBavWPt4C3K+pu20MErxx36ynJ6CySyQpH9TjtnPHXn+I8qsItQ== X-Received: by 2002:a67:f799:: with SMTP id j25mr10001824vso.75.1640912986675; Thu, 30 Dec 2021 17:09:46 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id i62sm5137737vke.33.2021.12.30.17.09.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Dec 2021 17:09:46 -0800 (PST) Message-ID: <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> Date: Thu, 30 Dec 2021 20:09:45 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> From: Philip McGrath In-Reply-To: <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/30/21 12:29, Liliana Marie Prikler wrote: > Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: >> +(define (delete-dependencies pkg-meta absent-dependencies) >> +  "Functionally update PKG-META, a json object corresponding to a >> +'package.json' file, to allow building without the ABSENT- >> DEPENDENCIES.  To >> +avoid reintroducing the ABSENT-DEPENDENCIES, only use this procedure >> after the >> +'patch-dependencies' phase." >> +  (define delete-fom-jsobject >> +    (match-lambda >> +      (('@ . alist) >> +       (cons '@ (filter (match-lambda >> +                          ((k . v) >> +                           (not (member k absent-dependencies)))) >> +                        alist))))) >> +  (jsobject-update* >> +   pkg-meta >> +   "devDependencies" '(@) delete-fom-jsobject >> +   "dependencies" '(@) delete-fom-jsobject)) > Given this rather easy definition in terms of our helper functions, I > think this procedure can do more. Particularly, I'd argue that we can > define it as such: > > (define* (delete-dependencies dependencies #:key (file "package.json") > (json-keys > '("dependencies" "devDependencies")) > "Remove DEPENDENCIES from JSON_KEYS in FILE." > (with-atomic-json-file-replacement ...)) > > This would in turn make it easier to delete dependencies from #:phases, > eliminating the need to shorten it to #:absent-dependencies. WDYT? > I don't think '#:json-keys' would be helpful. In my view, the high-level purpose of 'delete-dependencies', '#:absent-dependencies', or whatever is to gather our collective procedural knowledge about how to modify a "package.json" file to build a package without some of the dependencies its developers have declared and to encode that knowledge in a single, abstracted point of control in 'node-build-system', so that authors of Node.js package definitions can simply specify which declared dependencies are absent and leave it to 'node-build-system' to act accordingly. (I don't think it matters _why_ the dependencies are absent, i.e. whether we don't want the them or merely don't have them.) In our experience so far, the necessary modification does concretely amount to "Remove DEPENDENCIES from JSON_KEYS in FILE.", but that is not the ultimate purpose of this code, and I think that description, along with '#:json-keys', ends up being simultaneously too flexible and too restrictive. It is unnecessarily flexible because, if a package author ever passes some other value for '#:json-keys', that would seem to indicate that there's some procedural knowledge missing from 'node-build-system', and it should be added there. More significantly, it unnecessarily seems to restrict 'delete-dependencies' from taking other kinds of actions to handle the absent dependencies, if in the future we should discover that there's something we need to do that wouldn't amount to just adding another JSON key. It's a little odd to give an example of something we might not know, but, for example, I could imagine learning that correct handling of absent "peerDependencies" could require more involved transformation of the structures under "peerDependenciesMeta". As far as the rest of your suggestion, on the one hand, this: (define* (delete-dependencies deps #:key (file "package.json")) (with-atomic-json-file-replacement ...)) seems like a fine enhancement, and I could live with it---I'd even prefer it, if v6 but not v7 of this patch series can achieve consensus. On the other hand, at the risk of beating a dead horse, it seems like a tiny step from the above to: (define* ((delete-dependencies deps #:key (file "package.json")) . _) (with-atomic-json-file-replacement ...)) which is just another name for 'make-delete-dependencies-phase', which AIUI you had found objectionable. (Apparently that shorthand would need (ice-9 curried-definitions).) Indeed, if we observe that '#:file', similarly to '#:json-keys', will never be anything _other_ than "package.json", we could further simplify to: (define* ((delete-dependencies deps) . _) (with-atomic-json-file-replacement ...)) at which point we've basically re-invented the implementation of patch v7 05/41, which basically amounts to: (define* (delete-dependencies #:key absent-dependencies) (with-atomic-json-file-replacement ...)) In other words, I don't agree that any of these possible changes would "eliminat[e] the need to shorten it to #:absent-dependencies", I still feel that there's something I'm fundamentally not understanding about your objections to '#:make-absent-dependencies', which is why, in v6, I tried to do exactly as you had proposed: On 12/20/21 17:00, Liliana Marie Prikler wrote: > Hi Timothy, > > Am Montag, dem 20.12.2021 um 15:15 -0500 schrieb Timothy Sample: >> Hi Philip, >> >> Philip McGrath writes: >> >>> If we took your final suggestion above, I think we'd have something >>> like this: >>> >>> ``` >>> #:phases >>> (modify-phases %standard-phases >>> (add-after 'unpack 'delete-dependencies >>> (make-delete-dependencies-phase '("node-tap")))) >>> ``` >> >> I’m perfectly happy with this if it’s a compromise we all can agree on. >> It is exactly what popped into my imagination when I read Liliana’s >> suggestion. I guess the one thing missing is that it would not >> necessarily be implemented on top of better “package.json” >> manipulation support. That said, it doesn’t preclude providing that >> support if/when the need arises. > In my personal opinion, we would write that support first and perhaps > the shorthands later. I.e. > > (add-after 'patch-dependencies 'drop-junk > (lambda _ > (with-atomic-json-replacement "package.json" > (lambda (json) (delete-dependencies json '("node-tap")))))) Certainly I do agree that it would be better to support code more concise than that! But I think all of these variations are strictly worse than '#:absent-dependencies'. It isn't just that they are more typing: the require authors of package definitions to have some (not very much, but some) procedural knowledge about _how_ 'node-build-system' deals with the absence of dependencies, rather than with '#:absent-dependencies', declaratively specifying _what_ is to be done. For example, as I mentioned in my cover letter at , even my own code from the exchange I just quoted: >>> (add-after 'unpack 'delete-dependencies >>> (make-delete-dependencies-phase '("node-tap")))) would be broken in v6, because the implementation of 'delete-dependencies' assumes that the 'patch-dependencies' phase has already been run. I think this is an implementation detail that users of 'node-build-system' should not be required to know! Indeed, I think that would be a good reason to have 'patch-dependencies' handle the absent dependencies itself, as previous versions of this series have done, but at least making 'delete-dependencies' a phase in 'standard-phases', as v7 does, relieves the user of burden of managing the ordering requirement manually. I expect the majority of Guix's Node.js packages will continue for the foreseeable future to need the functionality for absent dependencies I described at the beginning of this email, so I think we should provide it through a mechanism that is as high-level, concise, declarative as possible, and ideally one that will facilitate automated code generation and static analysis. On each of these criteria, I think '#:absent-dependencies' is better than any of the other proposals I've heard. But, as I said, in the interest of compromise and moving forward, I'm willing to live with something based on v6 for now if that's what can achieve consensus, and then propose '#:absent-dependencies' separately. So, if you want me to send a new version with one of these other variations, tell me which one, and I'll do it. I hope my tone isn't coming across the wrong way---I really don't mean to be snarky! But I am genuinely struggling to understand the significance of the difference between: >>> (add-after 'unpack 'delete-dependencies >>> (make-delete-dependencies-phase '("node-tap")))) which I thought you objected to, and the result of what I think you've most recently proposed: (add-after 'patch-dependencies 'delete-dependencies (lambda () (delete-dependencies '("node-tap")))) which would have avoided my earlier reservations about making the JSON representation part of the build system's public API for the first time. So I'm not feeling very confident in my ability to predict what changes would or would not block consensus. -Philip From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 30 21:46:56 2021 Received: (at 51838) by debbugs.gnu.org; 31 Dec 2021 02:46:56 +0000 Received: from localhost ([127.0.0.1]:54871 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n37wV-0006vy-9z for submit@debbugs.gnu.org; Thu, 30 Dec 2021 21:46:56 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:44806) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n37wS-0006vd-6O for 51838@debbugs.gnu.org; Thu, 30 Dec 2021 21:46:53 -0500 Received: by mail-wr1-f68.google.com with SMTP id k18so16980854wrg.11 for <51838@debbugs.gnu.org>; Thu, 30 Dec 2021 18:46:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=FnK0pC1qcXUx8R3eqZI7Xyl3r2sXIU0X0gy83uMZmkI=; b=SfEycYvGQ+y6gIZnlMkRq1LtEVIJlzxDHiE+Bi5TvQMF3IrMCRDwFKaQcp6ehTizST ppbs3BwjJU4mDLbLAEJ+f4DvnY//VQwYDg3u7K3ruG3MxZwS/zKn06OpvJU79YtN5Nq5 9srDTnO9eSegDjFzOwmenOn7bMXsReTlTX8dgGkJsV48bYsDPB+ap0sSWh7KW1Ne6w+9 TI3WedmPgVv9tX7FZTu63M9nC4628bDRxNFL2CCIkptshAZOe4RVBXKDCpC20EpC7uI1 CvEpseSOgWPYYa1RZlNqOS1scPD38oa1xDAp72DubB5XG+bO/5UAsewhkzZM1j5tMhyd O9BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=FnK0pC1qcXUx8R3eqZI7Xyl3r2sXIU0X0gy83uMZmkI=; b=T66t0ODPnZ1+uQID+vzFFB6I703PwwR7il3TxaHwQDV7Imuz+krWptwA+hdLeuSnLw JNFVefdwm970mbRDVl34FD0wr33TBDAhi2Kn7ln3VuQEYWCX6XRgpkxGNkpPm1sY8lMD eW858tMTcX5wBLVtXMQ9Yxot5s5sU0AL4aWPmwzzYdqohMTRnr/l57SpOc1w2qC3AeFO 0KyS9fHXniTgiIXSGiwn+tqlGeZOD/D3t+q6qfxtM4ifBfQeD8WdtS3Bw4WFG7xAIu6R AOM9dk9cHtXA7J9gUZ/iIg5983HB+Fl7L8sGuM5gdbfxsCC/2qhM7Dpeu2QJkdCzrKt2 faLg== X-Gm-Message-State: AOAM531B2bOARrrR0Ml8NV8mj0OgiNmS8IZUgAX9g8ejJWIBEAA5H5DK 78eMMIMrMKURhcrNT0jYm3M= X-Google-Smtp-Source: ABdhPJyy0rigdEgyfW+f8NY/vcMuLqGcSAg7O/ooGmqZ4xWFjscCOusmn2Lgo7sJ/tvoaxmlxP5pIQ== X-Received: by 2002:adf:ea83:: with SMTP id s3mr28666553wrm.171.1640918805948; Thu, 30 Dec 2021 18:46:45 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b1sm28462628wrd.92.2021.12.30.18.46.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Dec 2021 18:46:45 -0800 (PST) Message-ID: <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Fri, 31 Dec 2021 03:46:43 +0100 In-Reply-To: <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Donnerstag, dem 30.12.2021 um 20:09 -0500 schrieb Philip McGrath: > Hi, > > On 12/30/21 12:29, Liliana Marie Prikler wrote: > > Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip > > McGrath: > > > +  (define delete-fom-jsobject For the record, I forgot to mention the typo here. It obviously ought to be delete-from-jsobject. > [...] > I don't think '#:json-keys' would be helpful. > > In my view, the high-level purpose of 'delete-dependencies', > '#:absent-dependencies', or whatever is to gather our collective > procedural knowledge about how to modify a "package.json" file to > build a package without some of the dependencies its developers have > declared and to encode that knowledge in a single, abstracted point > of control in 'node-build-system', so that authors of Node.js package > definitions can simply specify which declared dependencies are absent > and leave it to 'node-build-system' to act accordingly. (I don't > think it matters _why_ the dependencies are absent, i.e. whether we > don't want the them or merely don't have them.) For the record, you can delete present dependencies as well, which is one shortcoming in the "absent dependencies" metaphor. As for deleting absent packages automatically without specifying them, one could argue that a shortcoming of this set is that it doesn't provide a way of doing that. I'll take a closer look at the ease-of-use as I walk down your reply. > In our experience so far, the necessary modification does concretely > amount to "Remove DEPENDENCIES from JSON_KEYS in FILE.", but that is > not the ultimate purpose of this code, and I think that description, > along with '#:json-keys', ends up being simultaneously too flexible > and too restrictive.  Admittedly, if you read DEPENDENCIES, JSON_KEYS and FILE as mere variables with no meaning that's bad, but the key here is that DEPENDENCIES is a list of dependencies and JSON_KEYS is a list of json keys that refer to dependency lists. Anything else would be unlawful use. > It is unnecessarily flexible because, if a package author ever passes > some other value for '#:json-keys', that would seem to indicate that > there's some procedural knowledge missing from 'node-build-system', > and it should be added there. The reason I have it as such is that a packager might decide in the future to e.g. only drop a peer dependency, that might share a name with a dev dependency or something along those lines. Along with #:file, it's also supposed to guard against files other than package.json containing a list of dependencies that blows up in our faces, which we could edit with the same primitive. That being said, I do get your point in that it's overly flexible for now in which the point is just to rewrite package.json. > More significantly, it unnecessarily seems to restrict 'delete- > dependencies' from taking other kinds of actions to handle the absent > dependencies, if in the future we should discover that there's > something we need to do that wouldn't amount to just adding another > JSON key. It's a little odd to give an example of something we might > not know, but, for example, I could imagine learning that correct > handling of absent "peerDependencies" could require more involved > transformation of the structures under "peerDependenciesMeta". Do you mean that as in "if a dependency is found under this key, then foo, bar and baz also need to happen"? If so, that would be concerning, but also a good reason to have that abstraction. > As far as the rest of your suggestion, on the one hand, this: > >    (define* (delete-dependencies deps #:key (file "package.json")) >      (with-atomic-json-file-replacement ...)) > > seems like a fine enhancement, and I could live with it---I'd even > prefer it, if v6 but not v7 of this patch series can achieve > consensus. Given that you deleted keys, I don't think there's a good reason to keep around file... or can it be located in a subdirectory? > On the other hand, at the risk of beating a dead horse, it seems like > a tiny step from the above to: > >    (define* ((delete-dependencies deps #:key (file "package.json")) . > _) >      (with-atomic-json-file-replacement ...)) > > which is just another name for 'make-delete-dependencies-phase', > which AIUI you had found objectionable. (Apparently that shorthand > would need (ice-9 curried-definitions).) The reason to not use a phase writer here, is that you could combine it with other stuff in a single phase. E.g. (add-after 'unpack 'remove-foo (lambda _ (delete-dependencies '("foo" "bar" "baz")) (delete-file "baz-loader.js"))) > Indeed, if we observe that '#:file', similarly to '#:json-keys', will > never be anything _other_ than "package.json", we could further > simplify to: > >    (define* ((delete-dependencies deps) . _) >      (with-atomic-json-file-replacement ...)) > > at which point we've basically re-invented the implementation of > patch v7 05/41, which basically amounts to: > >    (define* (delete-dependencies #:key absent-dependencies) >      (with-atomic-json-file-replacement ...)) > > In other words, I don't agree that any of these possible changes > would "eliminat[e] the need to shorten it to #:absent-dependencies", Sorry for the typo. > I still feel that there's something I'm fundamentally not > understanding about your objections to '#:make-absent-dependencies', > which is why, in v6, I tried to do exactly as you had proposed: > > On 12/20/21 17:00, Liliana Marie Prikler wrote: >  > Hi Timothy, >  > >  > Am Montag, dem 20.12.2021 um 15:15 -0500 schrieb Timothy Sample: >  >> Hi Philip, >  >> >  >> Philip McGrath writes: >  >> >  >>> If we took your final suggestion above, I think we'd have > something >  >>> like this: >  >>> >  >>> ``` >  >>> #:phases >  >>> (modify-phases %standard-phases >  >>>    (add-after 'unpack 'delete-dependencies >  >>>      (make-delete-dependencies-phase '("node-tap")))) >  >>> ``` >  >> >  >> I’m perfectly happy with this if it’s a compromise we all can > agree on. >  >> It is exactly what popped into my imagination when I read > Liliana’s >  >> suggestion.  I guess the one thing missing is that it would not >  >> necessarily be implemented on top of better “package.json” >  >> manipulation support.  That said, it doesn’t preclude providing > that >  >> support if/when the need arises. >  > In my personal opinion, we would write that support first and > perhaps >  > the shorthands later.  I.e. >  > >  > (add-after 'patch-dependencies 'drop-junk >  >    (lambda _ >  >      (with-atomic-json-replacement "package.json" >  >        (lambda (json) (delete-dependencies json '("node-tap")))))) To be fair, finding the right sweet spot between being overly verbose and code golfing is difficult. > Certainly I do agree that it would be better to support code more > concise than that! But I think all of these variations are strictly > worse than '#:absent-dependencies'. It isn't just that they are more > typing: the require authors of package definitions to have some (not > very much, but some) procedural knowledge about _how_ 'node-build- > system' deals with the absence of dependencies, rather > than with '#:absent-dependencies', declaratively specifying _what_ is > to be done.  Understanding build systems is for nerds. We here at leftpad.org care about the things that are really important. > For example, as I mentioned in my cover letter at > , even my own code from the > exchange I just quoted: > >  >>>    (add-after 'unpack 'delete-dependencies >  >>>      (make-delete-dependencies-phase '("node-tap")))) > > would be broken in v6, because the implementation of > 'delete-dependencies' assumes that the 'patch-dependencies' phase has > already been run.  I think that is an issue with your patch, however. With mine, you could at least add "peerDependencies" on your own. > I think this is an implementation detail that users of > 'node-build-system' should not be required to know! Indeed, I think > that would be a good reason to have 'patch-dependencies' handle the > absent dependencies itself [...] I think something like that can be arranged. We could make patch- dependencies drop all the dependencies it doesn't know about if we add a "verify-dependencies" phase before it. (Note that I already suggested that once). verify-dependencies would raise an error if a dependency is missing and the user could then decide to drop it or (add-before 'verify-dependencies 'drop-dependencies ...). > I expect the majority of Guix's Node.js packages will continue for > the foreseeable future to need the functionality for absent > dependencies I described at the beginning of this email, so I think > we should provide it through a mechanism that is as high-level, > concise, declarative as possible, and ideally one that will > facilitate automated code generation and static analysis. On each of > these criteria, I think '#:absent-dependencies' is better than any of > the other proposals I've heard. > > But, as I said, in the interest of compromise and moving forward, I'm > willing to live with something based on v6 for now if that's what can > achieve consensus, and then propose '#:absent-dependencies' > separately. So, if you want me to send a new version with one of > these other variations, tell me which one, and I'll do it. I think amending v6 with what we learn from this discussion and the discussion on patch 3 of this series is the way to go. Another thing I forget to mention all the time are regexps. I think it'd be beneficial if delete-dependencies could delete dependencies based on their name matching a regexp rather than a string exactly. This would make some of your lists shorter (e.g. "karma.*"), but there might be a debate on whether to use "^karma.*$" or whether to only consider regexps that match the dependency fully. > I hope my tone isn't coming across the wrong way---I really don't > mean to be snarky! But I am genuinely struggling to understand the > significance of the difference between: > >  >>>    (add-after 'unpack 'delete-dependencies >  >>>      (make-delete-dependencies-phase '("node-tap")))) > > which I thought you objected to, and the result of what I think > you've most recently proposed: > >      (add-after 'patch-dependencies 'delete-dependencies >        (lambda () (delete-dependencies '("node-tap")))) To be clear, there are two things in here which I objected. 1. make-delete-dependencies-phase as a procedure which returns the actual phase instead of writing the lambda out. BTW if I ever wrote (lambda () (delete-dependencies ...)), that was a mistake on my part. As for the reason, scroll up. 2. implementing delete-dependencies in terms of messy ad-hoc json primitives using inner defines rather than reusable ones. The goal was not to create the most unwieldy incantation even though it certainly appears as though it was looking back. Sorry for the misunderstanding. > which would have avoided my earlier reservations about making the > JSON representation part of the build system's public API for the > first time. > > So I'm not feeling very confident in my ability to predict what > changes would or would not block consensus. Adding a gratuitous keyword is an immediate blocker as we've discussed at length ;) Using curried functions is also unlikely going to meaningfully advance the discussion, but there could be a niche application in which they're actually useful that I had not thought about. Apart from that, there is a large room simply for discussions, where it is unclear what form consensus will take before it is shaped. For instance, for patch 3, you had to write a lot of functionality from scratch, which prompted me to suggest that you put them in their own file (which would then be public API, though), but with a little bit of refactoring in terms of SRFI-1 we might make it small enough to keep to npm-build-system until Rust folks demand the same goodies. Phase ordering as you mentioned is also still up to debate. So there's a lot in which you can can add your opinion. If you are doubtful about whether or not a particular change would be good, you could probe different versions you have in your head and ask for opinions on them. E.g. provide two or three implementations of assoc-set and let the "best" be selected. If you only have a single one, you can still ask if something like that would be okay and if you receive a "No" that you don't understand it's okay to ask "what would be the problem, what solution do you propose?" etc. XKCD's "inventing a new standard to cover both use-cases" applies as always too :) Cheers From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 31 00:22:59 2021 Received: (at 51838) by debbugs.gnu.org; 31 Dec 2021 05:22:59 +0000 Received: from localhost ([127.0.0.1]:54956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n3ANV-0003Ov-NI for submit@debbugs.gnu.org; Fri, 31 Dec 2021 00:22:59 -0500 Received: from mail-qv1-f43.google.com ([209.85.219.43]:33323) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n3ANT-0003Of-Ga for 51838@debbugs.gnu.org; Fri, 31 Dec 2021 00:22:56 -0500 Received: by mail-qv1-f43.google.com with SMTP id kk22so23982989qvb.0 for <51838@debbugs.gnu.org>; Thu, 30 Dec 2021 21:22:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=Zp6GnmbRxYlIv/ha8GPPVuGDych3tKk+5TR0k0eayqU=; b=AcQRTnuMzCdBP2WPHmtBzT7MHKwwMp9EMJO7vWB5TjgYu85x3WiGChsPztYNPrcqSY RW4+w+cFU1N6bXiOr3PYtVR6q8SS69i/HRNMldoRlbhS1R7qj7Qo4qKsU2fIGN2w3b9K Hh2BKNhoy6zao60Zpd0gOZpPgdtUBqt7AvKneZbUlSkd17cO6K/3WmyH1HXmeviSrNWq Lw6LB/ocolHTX+yo2bJGOYOIPxkAd9eMi2dkuRrL79I7xKOBP141CfA2wxPPLKoyvRUE SoO/Kqw3J+3OK24EJsPLLqhz/Zbt0+LHct8ttN63jmS2vZJ0eSyNx1MjhfqRT+DDiNkA u5Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=Zp6GnmbRxYlIv/ha8GPPVuGDych3tKk+5TR0k0eayqU=; b=InLLM7NuyOVx7aqEhi/VxmulSnda60mB0RjE0lGrwumAgk+2YbneZkeKnO3z0Fv2q2 81J5aFKLvpXoUTfpczF0a7b97bm1B9Ei+UvmttFNQlNwec1FIk3H4pFtJm2u1oSAUsi7 OE+RwbywCMsrJT9kUriU9Ct3M3ONTROfujgmZSd9uRoqyy8JjObaERWT75MUFxg0vO/z cEn93bVJpOMGlAXTIrJKdu3rsj3NpwfH2GEESXCGC65NjvIuu0W2/KD6nV9ue2gHsXOY 5MPexkxinOe6hN5/76JM2rOvlK77XE3pbQ0PV0OiqHRA975bALNWz52a/wpn7E5fBhDQ bY/A== X-Gm-Message-State: AOAM531Pj8OFUCLTqtD9NXCLtvtNjQiko0go+iJYypxNyFq0RYsnWRqr T5alttfqkfeAVLpewkMdeaIR1Q== X-Google-Smtp-Source: ABdhPJw52kow5ICKDZnFVUT0c783T2OyqDXnnD/x+2ofAg3u0hBxjZBLdj34/w+vIj91Av7Cvyf7dw== X-Received: by 2002:a05:6214:5018:: with SMTP id jo24mr30148372qvb.114.1640928169688; Thu, 30 Dec 2021 21:22:49 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id w63sm19812205qkd.88.2021.12.30.21.22.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Dec 2021 21:22:49 -0800 (PST) Message-ID: Date: Fri, 31 Dec 2021 00:22:48 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v6 03/41] guix: node-build-system: Add JSON utilities. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-4-philip@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Liliana, On 12/30/21 11:56, Liliana Marie Prikler wrote: > Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: >> This commit adds several utility functions for non-destructive >> transformati [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.219.43 listed in list.dnswl.org] 0.7 SPF_NEUTRAL SPF: sender does not match SPF record (neutral) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.219.43 listed in wl.mailspike.net] -0.1 NICE_REPLY_A Looks like a legit reply (A) 1.3 URI_DOTEDU Has .edu URI X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi Liliana, On 12/30/21 11:56, Liliana Marie Prikler wrote: > Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: >> This commit adds several utility functions for non-destructive >> transformation of the JSON representation used by (guix build json), >> particularly for purely functional update of JSON objects. They >> should >> eventually be exported, but most are private for now to allow for >> more >> experience and consideration before commiting to the API. The design >> was largely inspired by the 'racket/dict' and 'racket/hash' >> libraries. >> Liliana Marie Prikler proposed 'with-atomic-json-file-replacement'. > Given that this is a fair amount of procedures that you're proposing, I > think a new file would be appropriate. Perhaps (guix build json- > utils)? Adding that should IIUC not cause a world rebuild, so we could > do that on master. > I agree that these functions ultimately belong in their own file, and I'd even had the name (guix build json-utils) in mind. I put them in (guix build node-build-system) for now because, if they were in (guix build json-utils), they would have to be exported, at which point their API would have to be relatively stable, and I didn't want designing them to block, or to be rushed by, the rest of this series. Now, maybe consensus on the json-utils will turn out to be the easy part! But my high-level question is, in your view, do any of the points I'm about to respond to block this patch series? On 12/30/21 13:18, Liliana Marie Prikler wrote: > Having argued for these procedures to be moved into their own file in a > separate mail, now it's time to bikeshed stylistic choices. > > Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip McGrath: >> +(define (jsobject-ref js key failure-result) >> +  "Return the value assosciated with KEY in the json object JS.  If >> KEY is not >> +found and FAILURE-RESULT is a procedure, it is called in tail position >> with >> +zero arguments.  Otherwise, FAILURE-RESULT is returned." >> +  ;; TODO: `failure-result` should be optional, but should the default >> +  ;; `failure-result` be #f (like `assoc-ref`), a thunk raising an >> exception, >> +  ;; '(@), or something else?  Keep it mandatory until we discuss and >> decide. >> +  (match js >> +    (('@ . alist) >> +     (match (assoc key alist) >> +       (#f >> +        (if (procedure? failure-result) >> +            (failure-result) >> +            failure-result)) >> +       ((_ . value) >> +        value))))) > We can safely replace failure-result by Guile's DEFAULT and leave error > handling to the user. I don't care whether we call it DEFAULT or FAILURE-RESULT. I agree that it should not raise an exception by default. My current thinking is that '(@) would be a good default DEFAULT: it is useful for the common pattern of traversing or transforming nested objects, and, as you point out at the end of this email, explicitly typing #f (the other useful possibility) looks much more like normal Scheme than explicitly typing '(@). In my experience with [1] and [2] (the purely-functional dictionary libraries I use most often), the special case for a procedure as DEFAULT is useful. I feel less strongly about it because it's relatively easy to work around for JSON, since you can pick some non-JSON signal value, but it also seems to have especially little downside for JSON, since (guix build json) will never have a procedure in a valid JSON object. In addition to raising exceptions and other control flow, it's useful for default values that are expensive to produce. [1]: https://docs.racket-lang.org/reference/hashtables.html [2]: https://docs.racket-lang.org/reference/dicts.html > >> +(define (alist-pop alist key) >> +  "Return two values: the first pair in ALIST with the given KEY in >> its >> +'car' (or #f, if no such pair exists) and an assosciation list like >> (and >> +potentially sharing storage with) ALIST, but with no entry for KEY." >> +  (match (assoc key alist) >> +    ;; If key isn't present, we don't need to do any allocation >> +    (#f >> +     (values #f alist)) >> +    (found >> +     (values found >> +             ;; Because we have `found`, we can find it more >> +             ;; efficiently this time with `eq?`. We avoid using >> +             ;; `delq` because it would copy pairs in a shared >> +             ;; tail. We assume a sufficiently smart compiler to >> +             ;; handle "tail recursion modulo cons" (vid. e.g. Indiana >> +             ;; University Technical Report No. 19, Friedman & Wise >> +             ;; 1975) at least as efficiently as a hand-written >> +             ;; tail-recursive implementation with an accumulator. >> +             (let loop ((alist alist)) >> +               (match alist >> +                 ;; We know that `found` is present, >> +                 ;; so no need to check for '() >> +                 ((this . alist) >> +                  (if (eq? this found) >> +                      alist >> +                      (cons this (loop alist)))))))))) > I think this can be more efficiently be done in a "single" loop. > > (let loop ((rest alist) > (previous '())) > (match rest > (() (values #f alist)) > ((first . rest) > (if (eq? (car first) key) > (values first (reverse! previous rest)) > (loop rest (cons first previous)))))) > I'll admit to a Racket bias, but, having just eliminated the use of 'assoc-set!', I'm loathe to start mutating pairs (even correctly). To quote a bit from the SRFI-1 spec for 'append-reverse!', "note that this pattern of iterative computation followed by a reverse can frequently be rewritten as a recursion, dispensing with the reverse and append-reverse steps, and shifting temporary, intermediate storage from the heap to the stack, which is typically a win for reasons of cache locality and eager storage reclamation." (See how 'set-cdr!' can crash safe Chez Scheme! ) IIUC, using SRFI-1's 'span' would lead to the same situation. > Also, I don't think your version is tail-recursive. (loop alist) is > not in tail position from what I can tell. Yes, "tail recursion modulo cons" refers to a compiler optimization for functions which are _not_ tail recursive. For full details, see the Friedman & Wise 1975 tech report I cited at (or various other articles), but, as briefly as I can: The optimization rests on the observation that many recursive functions, like the classic definition of 'map': (define (map f lst) (match lst (() '()) ((this . lst) (cons (f this) (map f lst))))) are nearly tail-recursive, and the only real work remaining to be done in the continuation of the recursive call is to fill in the cdr of the pair. Thus, a compiler can safely transform this code into a truly tail-recursive implementation: (define (map f lst) (match lst (() '()) ((this . lst) (define ret (list (f this))) (let loop ((dest ret) (lst lst)) (match lst ((this . lst) (define new (list (f this))) (set-cdr! dest new) (loop new lst)) (() ret)))))) Unlike the Proper Implementation of Tail Calls (so-called "tail-call optimization"), handling "tail recursion modulo cons" truly is an optimization: it does not change the space complexity of the function. But it can allow the compiler to generate whatever code it thinks will work best with its collector/allocator and continuation/"call stack" implementation. (The optimizations applies to constructors in general, not just 'cons', and a compiler can safely apply it to values that are immutable from the perspective of the source language.) > >> +;; Sadly, Guile's implementation of (@ (srfi srfi-1) alist-delete) >> +;; performs unnecessary allocation, e.g. this currently evaluates to >> #f: >> +;; >> +;;     (let ((alist `(("a" . 1)("b" . 2)("c" . 3)))) >> +;;       (eq? alist (alist-delete "x" alist))) >> +;; >> +;; These functions generally choose to allocate a new outer pair >> (with the '@ >> +;; tag), even though in unusual cases the resulting object might not >> have >> +;; changed, for the sake of simplicity and to avoid retaining a >> reference to >> +;; the original alist longer than necessary. But that is O(1) >> allocation that >> +;; could only rarely be avoided: `alist-delete` would allocate O(n) >> pairs, >> +;; which would only be necessary in the worst case. >> +(define (alist-delete* alist key) >> +  "Return an assosciation list like (and potentially sharing storage >> with) >> +ALIST, but with no entry for KEY." >> +  (define-values (_popped remaining) >> +    (alist-pop alist key)) >> +  remaining) > That's a pretty long comment around something that could be done with > call-with-values or SRFI-71 let. I think one of these two should be > preferred. > > Note that both our versions of alist-pop only pop the first key (as > they should). This means that alist-delete* should really be called > alist-delete-1 as in "remove the first pair in ALIST belonging to KEY". > For the larger JSON handling below, this makes no difference however. Here I was using '*' to mean "a slightly altered version of", as with 'letrec' and 'letrec*', but, yes, since the other functions defined here use '*' to mean "zero or more times", the name is confusing: I think I'd just call it 'alist-delete' and not import (srfi srfi-1)'s version. The comment may be unnecessarily long ... the essence of what I was trying to explain is that, in all of these implementations, I've tried to avoid unnecessary allocation. Being able to rely on 'alist-delete', and more generally 'alist-pop', not to needlessly copy the "spine" of the list lets later functions use them unconditionally. Why would you prefer 'call-with-values' or SRFI-71 over 'define-values'? The style guide against which I'm used to working [3] generally prefers internal definitions, to avoid rightward drift. [3]: https://docs.racket-lang.org/style/Choosing_the_Right_Construct.html#%28part._.Definitions%29 >> +(define (alist-set alist key value) >> +  "Return an assosciation list like ALIST, but with KEY mapped to >> VALUE, >> +replacing any existing mapping for KEY." >> +  (acons key value (alist-delete* alist key))) > Is order relevant here? Because we could just as well reimplement our > alist-delete* loop and cons the replacement onto the rest. WDYT? Relying on order for JSON objects is non-interoperable, per RFC 8259 § 4. I'm not intending for these alist procedures to be exported, so I'm not trying to handle any more general case than that, as I explain in the comments at the top of the file. I'm not sure what the advantage would be to reimplementing the 'alist-delete' loop here. > >> +(define (jsobject-set js key value) >> +  "Return a json object like JS, but with KEY mapped to VALUE, >> replacing any >> +existing mapping for KEY." >> +  (cons '@ (match js >> +             (('@ . alist) >> +              (alist-set alist key value))))) > I think it'd be wiser to put the cons inside the match. > I don't care very much either way. >> +(define jsobject-set* >> +  (case-lambda >> +    "Return a json object like JS, but functionally extended by >> mapping each >> +KEY to each VALUE, replacing any existing mapping for each KEY.  The >> update >> +takes place from left to right, so later mappings overwrite earlier >> mappings >> +for the same KEY." >> +    ((js) >> +     js) >> +    ((js key value) >> +     (jsobject-set js key value)) >> +    ((js . args) >> +     (cons '@ (match js >> +                (('@ . alist) >> +                 (let loop ((alist alist) >> +                            (args args)) >> +                   (match args >> +                     (() >> +                     alist) >> +                     ((key value . args) >> +                      (loop (alist-set alist key value) >> +                            args)))))))))) > I'm not sure if I like this "syntax". I think I'd prefer > (jsobject-set* obj (FIELD1 VALUE1) (FIELD2 VALUE2) ...) > with FIELD1, FIELD2 being identifiers > WDYT? So you would make 'jsobject-set*' a macro? When you say, "with FIELD1, FIELD2 being identifiers", do you mean that the macro should convert them to strings at compile-time? While, if I were designing a JSON representation, I'd much prefer to use symbols for the object keys, I think it would be confusing to use strings everywhere else but magic symbols here. I based this function on 'hash-set*' [4], 'dict-set*' [5], and numerous similar functions in the Racket world, so I have a high degree of confidence in the usability of the interface. [4]: https://docs.racket-lang.org/reference/hashtables.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._hash-set%2A%29%29 [5]: https://docs.racket-lang.org/reference/dicts.html#%28def._%28%28lib._racket%2Fdict..rkt%29._dict-set%2A%29%29 >> +(define (alist-update alist key failure-result updater) >> +  "Return an assosciation list like ALIST, but with KEY mapped to >> the result >> +of applying UPDATER to the value to which KEY is mapped in ALIST. >> When ALIST >> +does not have an existing mapping for KEY, FAILURE-RESULT is used as >> with >> +'jsobject-ref' to obtain the argument for UPDATER." >> +  ;; Often, `updater` will be a lambda expression, so making it the >> last >> +  ;; argument may help to makes the code legible, and the most >> likely >> +  ;; `failure-result` arguments are all shorter than the keyword >> +  ;; `#:failure-result`.  Plus, making `failure-result` mandatory >> helps make >> +  ;; `alist-update` consistent with `alist-update*`. > Which alist-update* are you referring to here? Either way, the > failure-result to default argument from above applies, but we could > keyword it. Ah, I guess read that as, "Plus, making 'default' mandatory helps make 'jsobject-update' consistent with 'jsobject-update*'." >> +  (define-values (popped tail-alist) >> +    (alist-pop alist key)) >> +  (acons key >> +         (updater (match popped >> +                    (#f >> +                     (if (procedure? failure-result) >> +                         (failure-result) >> +                         failure-result)) >> +                    ((_ . value) >> +                     value))) >> +         tail-alist)) > SRFI-71 let says hi. Also the ordering question applies. I'm starting > to think we should implement alist-pop, alist-set and alist-update in > terms of a single more powerful function producing three values (or > SRFI-1 span). Same question again re 'define-values'. My intent in creating 'alist-pop' was to have a primitive that would work for both 'alist-update' and 'alist-delete', and thereby 'alist-set'. Returning the prefix and the tail separately would involve either extra allocation or mutating pairs. Since order never matters in this context, why pay that price? >> +(define* (jsobject-union #:key >> +                         (combine (lambda (a b) b)) >> +                         (combine/key (lambda (k a b) (combine a >> b))) >> +                         #:rest json-objects) >> +  "Combine the given JSON-OBJECTS into a single json object.  The >> JSON-OBJECTS >> +are merged from left to right by adding each key/value pair of each >> object to >> +the aggregate object in turn.  When one of the JSON-OBJECTS contains >> a mapping >> +from some key KEY to a value VAL such that the aggregate object >> already >> +contains a mapping from KEY to a value VAL0, the aggregate object is >> +functionally updated to instead map KEY to the value of (COMBINE/KEY >> KEY VAL0 >> +VAL).  The default COMBINE/KEY tail-calls (COMBINE VAL0 VAL), and >> the default >> +COMBINE simply returns its second argument, so, by default, mappings >> in later >> +JSON-OBJECTS supersede those in earlier ones." >> +  (match (filter (lambda (v) >> +                   (not (or (keyword? v) >> +                            (procedure? v)))) >> +                 json-objects) >> +    (() >> +     '(@)) >> +    (((and js0 ('@ . _))) >> +     js0) >> +    ((('@ . alist0) ('@ . alist*) ...) >> +     (cons '@ (fold (lambda (alist1 alist0) >> +                      (if (null? alist0) >> +                          alist1 >> +                          (fold (lambda (k+v alist0) >> +                                  (match k+v >> +                                    ((k . v) >> +                                     (define-values (popped tail- >> alist) >> +                                       (alist-pop alist0 k)) >> +                                     (match popped >> +                                       (#f >> +                                        (cons k+v tail-alist)) >> +                                       ((_ . v0) >> +                                        (acons k >> +                                               (combine/key k v0 v) >> +                                               tail-alist)))))) >> +                                alist0 >> +                                alist1))) >> +                    alist0 >> +                    alist*))))) > Same default argument. Cons inside. > I think having a single combine function taking (k a b) would be less > confusing than having two. Is there a rationale for the form you > chose? I based this function in particular on 'hash-union' from 'racket/hash' [6], which uses these keywords. (But in 'hash-union', collisions trigger an exception by default, and it requires at least one argument, because otherwise it would be unclear what key-comparison function the result should use.) Having '#:combine' in addition to '#:combine/key' is ultimately just a convenience, but it is quite a nice convenience in practice. It is quite rare, in my experience, for a '#:combine' function to actually depend on the key: it might depend on the type of the value, but, very often, it unconditionally applies to all keys. Using '#:combine' is particularly nice when using a combination function that already exists, like 'append' or '+'. [6]: https://docs.racket-lang.org/reference/hashtables.html#%28def._%28%28lib._racket%2Fhash..rkt%29._hash-union%29%29 >> +  (with-atomic-json-file-replacement "package.json" >> +    (lambda (pkg-meta) >> +      (jsobject-update* >> +       pkg-meta >> +       "devDependencies" '(@) resolve-dependencies >> +       "dependencies" '(@) (lambda (deps) >> +                             (resolve-dependencies >> +                              (jsobject-union >> +                               (jsobject-ref pkg-meta >> "peerDependencies" '(@)) >> +                               deps)))))) >>    #t) > We should probably add a function to our js utils that "generates an > empty object", because '(@) is quite confusing to see in these > circumstances. Otherwise LGTM with the aforementioned caveats. I'm not sure what to call it: it would have to be short, or people (me, at least) might end up writing '(@) anyway. Also, IIUC Guile doesn't actually prevent you from mutating quoted constant pairs, so I function would have to allocate a fresh pair to be robust. It's a somewhat odd idea, but how about this? (define-syntax |{}| (identifier-syntax '(@))) It's as short as '(@), it looks like the JSON notation for the empty object, and IIUC people could only use it to mess up occurrences of '(@) within the same compilation unit, which we can't stop them from doing anyway. Alternatively, if we give up the thunk special case for 'default' values, we could do: (define jsobject-update (case-lambda ((js key updater) (jsobject-update js key '(@) updater)) ((js key default updater) ...))) (define jsobject-update* (case-lambda ... ((js . args) (match js (('@ . alist) (cons '@ (let loop ((alist alist) (args args)) (match args (() alist) ((key (? procedure? updater) . args) (loop (alist-update alist key '(@) updater) args)) ((key default updater . args) (loop (alist-update alist key '(@) updater) args)))))))))) -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 31 05:18:12 2021 Received: (at 51838) by debbugs.gnu.org; 31 Dec 2021 10:18:12 +0000 Received: from localhost ([127.0.0.1]:55130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n3EzD-0006WI-6L for submit@debbugs.gnu.org; Fri, 31 Dec 2021 05:18:12 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:33709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n3EzA-0006Vi-Kg for 51838@debbugs.gnu.org; Fri, 31 Dec 2021 05:18:09 -0500 Received: by mail-wr1-f65.google.com with SMTP id d9so55336378wrb.0 for <51838@debbugs.gnu.org>; Fri, 31 Dec 2021 02:18:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=PElvhPGQq4mBfu7QnV+6+BKA9cFc1NDrQTvGZXlwcTk=; b=VSdYyB/505T3WUv73Etn4S02kHf2FTqy2TZh1blb27505YedXEagVS8xfq8cNGLCF9 VY3JlRKYQvWB4aCOw7gHe2YzliRh9Pc1XMP+nioXm8wO5S2L+MLRFytMwfeFaOXJ/4Qy Jt+cKDQp0Ezze7J7B7QgY/s+GMA8FakOYjjM8IgSL3lK3U8UvQ1VakeE6GF7ffowKGhi /NQXvx647P9/BfwDmwa6+f2klbj3mf/f9DDoZOl3HE/1O2B64bD9x0f0ZDIqinBGF/SE f1bbgjxTbdELYWZjnioPIGusK8icQj93ACECiX9E1lP4fiBxJ2xreFmU0b/o2sAOyMma nngQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=PElvhPGQq4mBfu7QnV+6+BKA9cFc1NDrQTvGZXlwcTk=; b=yfvGa/sCmUUKhuE23nJtNvAunGQVq1ZGbgkI4f7ApQza55F8H9vvRhMxkQ4taoJL92 ni6sJHCkg22r+fhXLpVYnDhN/W3MapllQLLvLwdDqKfiAF/lhwMimfYn0YDwjG0LMgRN 5p9/a+Ez4N3uLchYB97dVAmS2xYWx7r91UXiDJbIVGIy5YFxKNUiPc9JiEQhMFkjFOmS zS4kwcFt2afsQT/MuGs/hYwEBS77+29QH9/w8Ej6uuwJ5uVPzRLeFP/gTmAxf4Pm8Cf2 OuwOUIQx0cQEeKVQ4EMbVhFIlsAnDIuZSLyb7aKuFAxwCLiPLCwTwDbXwLkJ3pIQsObr HcvQ== X-Gm-Message-State: AOAM532976m9hk9iy1Q0s+r3wspOmi4JGoBrKOykDDccFKx0+VkHp5uh af/PrlCqq61MfcxMAhvTAOA= X-Google-Smtp-Source: ABdhPJx3pir+429LB4n4mleJqkhGyQXaP/Rxf8IRjAQMp+4D5uiovtUorOCLNwBC2+ybZgzBbf5X3Q== X-Received: by 2002:a05:6000:18cd:: with SMTP id w13mr1335600wrq.199.1640945882494; Fri, 31 Dec 2021 02:18:02 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id l14sm21172595wrr.53.2021.12.31.02.18.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Dec 2021 02:18:01 -0800 (PST) Message-ID: <6fde49a1b469be7f14524e902fc91cd3eb4f3d41.camel@gmail.com> Subject: Re: [PATCH v6 03/41] guix: node-build-system: Add JSON utilities. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Fri, 31 Dec 2021 11:18:00 +0100 In-Reply-To: References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-4-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, Am Freitag, dem 31.12.2021 um 00:22 -0500 schrieb Philip McGrath: > I agree that these functions ultimately belong in their own file, and > I'd even had the name (guix build json-utils) in mind. > > I [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] 1.3 URI_DOTEDU Has .edu URI X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 31.12.2021 um 00:22 -0500 schrieb Philip McGrath: > I agree that these functions ultimately belong in their own file, and > I'd even had the name (guix build json-utils) in mind. > > I put them in (guix build node-build-system) for now because, if they > were in (guix build json-utils), they would have to be exported, at > which point their API would have to be relatively stable, and I > didn't want designing them to block, or to be rushed by, the rest of > this series. Now, maybe consensus on the json-utils will turn out to > be the easy part! But my high-level question is, in your view, do any > of the points I'm about to respond to block this patch series? We can certainly do them inside node-build-system, but I'd much prefer if they took up less vertical real-estate. I hope we can agree on that. > On 12/30/21 13:18, Liliana Marie Prikler wrote: > > Having argued for these procedures to be moved into their own file > > in a separate mail, now it's time to bikeshed stylistic choices. > > > > Am Donnerstag, dem 30.12.2021 um 02:38 -0500 schrieb Philip > > McGrath: > > > +(define (jsobject-ref js key failure-result) > > > +  "Return the value assosciated with KEY in the json object JS.  > > > If > > > KEY is not > > > +found and FAILURE-RESULT is a procedure, it is called in tail > > > position > > > with > > > +zero arguments.  Otherwise, FAILURE-RESULT is returned." > > > +  ;; TODO: `failure-result` should be optional, but should the > > > default > > > +  ;; `failure-result` be #f (like `assoc-ref`), a thunk raising > > > an > > > exception, > > > +  ;; '(@), or something else?  Keep it mandatory until we > > > discuss and > > > decide. > > > +  (match js > > > +    (('@ . alist) > > > +     (match (assoc key alist) > > > +       (#f > > > +        (if (procedure? failure-result) > > > +            (failure-result) > > > +            failure-result)) > > > +       ((_ . value) > > > +        value))))) > > We can safely replace failure-result by Guile's DEFAULT and leave > > error handling to the user. > > I don't care whether we call it DEFAULT or FAILURE-RESULT. This is not just a question of naming, but also it doesn't really make sense to call a thunk here. Just take DEFAULT as a value. > I agree that it should not raise an exception by default. My current > thinking is that '(@) would be a good default DEFAULT: it is useful > for the common pattern of traversing or transforming nested objects, > and, as you point out at the end of this email, explicitly typing #f > (the other useful possibility) looks much more like normal Scheme > than explicitly typing '(@). The question here is whether '(@) is a good meaningful default or whether we just want a different way of writing it, e.g. empty-object or (empty-object). > In my experience with [1] and [2] (the purely-functional dictionary > libraries I use most often), the special case for a procedure as > DEFAULT is useful. I feel less strongly about it because it's > relatively easy to work around for JSON, since you can pick some non- > JSON signal value, but it also seems to have especially little > downside for JSON, since (guix build json) will never have a > procedure in a valid JSON object. In addition to raising exceptions > and other control flow, it's useful for default values that are > expensive to produce. That's all nice and dandy, but given that a valued DEFAULT is simpler both in terms of interface and implementation, I think it is The Right Thing here. For error handling purposes, the Guile way of doing things is to produce a value outside of the expected range (such as #f, *unspecified* or a locally defined gensym) and check against it. > [1]: https://docs.racket-lang.org/reference/hashtables.html > [2]: https://docs.racket-lang.org/reference/dicts.html > > > > > > +(define (alist-pop alist key) > > > +  "Return two values: the first pair in ALIST with the given KEY > > > in its > > > +'car' (or #f, if no such pair exists) and an assosciation list > > > like (and > > > +potentially sharing storage with) ALIST, but with no entry for > > > KEY." > > > +  (match (assoc key alist) > > > +    ;; If key isn't present, we don't need to do any allocation > > > +    (#f > > > +     (values #f alist)) > > > +    (found > > > +     (values found > > > +             ;; Because we have `found`, we can find it more > > > +             ;; efficiently this time with `eq?`. We avoid using > > > +             ;; `delq` because it would copy pairs in a shared > > > +             ;; tail. We assume a sufficiently smart compiler to > > > +             ;; handle "tail recursion modulo cons" (vid. e.g. > > > Indiana > > > +             ;; University Technical Report No. 19, Friedman & > > > Wise > > > +             ;; 1975) at least as efficiently as a hand-written > > > +             ;; tail-recursive implementation with an > > > accumulator. > > > +             (let loop ((alist alist)) > > > +               (match alist > > > +                 ;; We know that `found` is present, > > > +                 ;; so no need to check for '() > > > +                 ((this . alist) > > > +                  (if (eq? this found) > > > +                      alist > > > +                      (cons this (loop alist)))))))))) > > I think this can be more efficiently be done in a "single" loop. > > > >    (let loop ((rest alist) > >               (previous '())) > >      (match rest > >        (() (values #f alist)) > >        ((first . rest) > >         (if (eq? (car first) key) > >             (values first (reverse! previous rest)) > >             (loop rest (cons first previous)))))) > > > > I'll admit to a Racket bias, but, having just eliminated the use of > 'assoc-set!', I'm loathe to start mutating pairs (even correctly). To > quote a bit from the SRFI-1 spec for 'append-reverse!', "note that > this pattern of iterative computation followed by a reverse can > frequently be rewritten as a recursion, dispensing with the reverse > and append-reverse steps, and shifting temporary, intermediate > storage from the heap to the stack, which is typically a win for > reasons of cache locality and eager storage reclamation." (See how > 'set-cdr!' can crash safe Chez Scheme!  > ) > > IIUC, using SRFI-1's 'span' would lead to the same situation. For the record, we can use the non-destructive append and reverse here at the expense of more copying. If done in terms of SRFI-1 span, we would not need reverse as far as I understand. > > Also, I don't think your version is tail-recursive.  (loop alist) > > is not in tail position from what I can tell. > > Yes, "tail recursion modulo cons" refers to a compiler optimization > for functions which are _not_ tail recursive. For full details, see > the Friedman & Wise 1975 tech report I cited at > (or various > other articles), but, as briefly as I can: The optimization rests on > the observation that many recursive functions, like the classic > definition of 'map': > >      (define (map f lst) >        (match lst >          (() >           '()) >          ((this . lst) >           (cons (f this) >                 (map f lst))))) > > are nearly tail-recursive, and the only real work remaining to be > done in the continuation of the recursive call is to fill in the cdr > of the pair. Thus, a compiler can safely transform this code into a > truly tail-recursive implementation: > >      (define (map f lst) >        (match lst >          (() >           '()) >          ((this . lst) >           (define ret (list (f this))) >           (let loop ((dest ret) >                      (lst lst)) >             (match lst >               ((this . lst) >                (define new (list (f this))) >                (set-cdr! dest new) >                (loop new lst)) >               (() >                ret)))))) > > Unlike the Proper Implementation of Tail Calls (so-called "tail-call > optimization"), handling "tail recursion modulo cons" truly is an > optimization: it does not change the space complexity of the > function. But it can allow the compiler to generate whatever code it > thinks will work best with its collector/allocator and > continuation/"call stack" implementation. > > (The optimizations applies to constructors in general, not just > 'cons', and a compiler can safely apply it to values that are > immutable from the perspective of the source language.) I'm not aware to which extent Guile implements tail recursion modulo cons and I'd argue neither are you until you dig down into disassembly. I think it's better here to avoid patterns from Racket that would feel foreign to Guilers, particularly if you have to explain them with reference to a paper (we already get hate for referring to Wingo's fold for XML handling). In principle, what you're supposing is that a sufficiently smart compiler could rewrite (let ((before after (span PRED mylist))) (append before after)) to (list-copy mylist), which as far as I'm aware Guile currently doesn't. It could be argued that it would start doing so once I cast some magic incantations, but I wouldn't count on it without reading the disassembly. > > That's a pretty long comment around something that could be done > > with call-with-values or SRFI-71 let.  I think one of these two > > should be preferred. > > > > Note that both our versions of alist-pop only pop the first key (as > > they should).  This means that alist-delete* should really be > > called alist-delete-1 as in "remove the first pair in ALIST > > belonging to KEY". > > For the larger JSON handling below, this makes no difference > > however. > > Here I was using '*' to mean "a slightly altered version of", as with > 'letrec' and 'letrec*', but, yes, since the other functions defined > here use '*' to mean "zero or more times", the name is confusing: I > think I'd just call it 'alist-delete' and not import (srfi srfi-1)'s > version. That's not the issue here, the issue is that the behaviour also differs from alist-delete! > The comment may be unnecessarily long ... the essence of what I was > trying to explain is that, in all of these implementations, I've > tried to avoid unnecessary allocation. Being able to rely on > 'alist-delete', and more generally 'alist-pop', not to needlessly > copy the "spine" of the list lets later functions use them > unconditionally. Which again would be simpler if we used SRFI-1 span or another primitive that produced (head item spine) as three outputs. WDYT? > Why would you prefer 'call-with-values' or SRFI-71 over 'define- > values'? The style guide against which I'm used to working [3] > generally prefers internal definitions, to avoid rightward drift. > > [3]: > https://docs.racket-lang.org/style/Choosing_the_Right_Construct.html#%28part._.Definitions%29 Again, that's a racketism. To avoid rightward drift, we either carefully choose where to indent or simplify our definitions to no longer drift. A single let in a function spanning three lines is hardly an issue w.r.t. rightward drift. +(define (alist-set alist key value) > > Is order relevant here? Because we could just as well reimplement > > our alist-delete* loop and cons the replacement onto the rest.  > > WDYT? > > Relying on order for JSON objects is non-interoperable, per RFC 8259 > §4. I'm not intending for these alist procedures to be exported, so > I'm not trying to handle any more general case than that, as I > explain in the comments at the top of the file. > > I'm not sure what the advantage would be to reimplementing the > 'alist-delete' loop here. Fair enough, the question was however not so much what is required per RFC, but rather if there is a natural feel of order to package.json that we ought not disturb. Particularly, putting dependencies before name and version could be confusing to whoever needs to debug a delete- dependencies phase gone wrong. > So you would make 'jsobject-set*' a macro? When you say, "with > FIELD1, FIELD2 being identifiers", do you mean that the macro should > convert them to strings at compile-time?  Yes to both. > While, if I were designing a JSON representation, I'd much prefer to > use symbols for the object keys, I think it would be confusing to use > strings everywhere else but magic symbols here. I don't think I agree here. Assuming that jsobject-set* is a primitive we need at the moment to be defined (rather than the more generic jsobject-update*), I think using identifiers for JSON keys in our rewriters would be a good abstraction. That being said, this is not necessarily a blocker, just a weird interface imo. > > > Which alist-update* are you referring to here?  Either way, the > > failure-result to default argument from above applies, but we could > > keyword it. > > Ah, I guess read that as, "Plus, making 'default' mandatory helps > make 'jsobject-update' consistent with 'jsobject-update*'." Fair enough, it's okay to admit one's typos :) > > > > SRFI-71 let says hi.  Also the ordering question applies.  I'm > > starting to think we should implement alist-pop, alist-set and > > alist-update in terms of a single more powerful function producing > > three values (or SRFI-1 span). > > Same question again re 'define-values'. Same answer. > My intent in creating 'alist-pop' was to have a primitive that would > work for both 'alist-update' and 'alist-delete', and thereby > 'alist-set'. Returning the prefix and the tail separately would > involve either extra allocation or mutating pairs. Since order never > matters in this context, why pay that price? Again, our consumers are not just machines, but also human readers who might value that order. It is nice that you're paying attention to allocated objects, but I think you are blind to some allocations that you are accustomed to being reasoned away by Racket. > > > Same default argument.  Cons inside. > > I think having a single combine function taking (k a b) would be > > less confusing than having two.  Is there a rationale for the form > > you chose? > > I based this function in particular on 'hash-union' from > 'racket/hash' [6], which uses these keywords. (But in 'hash-union', > collisions trigger an exception by default, and it requires at least > one argument, because otherwise it would be unclear what key- > comparison function the result should use.) > > Having '#:combine' in addition to '#:combine/key' is ultimately just > a convenience, but it is quite a nice convenience in practice. It is > quite rare, in my experience, for a '#:combine' function to actually > depend on the key: it might depend on the type of the value, but, > very often, it unconditionally applies to all keys. Using > '#:combine' is particularly nice when using a combination function > that already exists, like 'append' or '+'. Fair enough, but what about having #:combine be your #:combine/key and #:default-combine be your #:combine in that keyword soup? It takes up more horizontal real-estate (not that we wouldn't write those vertically anyway). Alternatively, this would be a good place to use procedure generators for once. (ignore-key combinator) takes a procedure that takes two arguments (such as 'append' or '+') and produces one that takes three and ignores the initial key. This would also help making the interface and implementation simpler: (json-union combinator obj ...) > > > > > +  (with-atomic-json-file-replacement "package.json" > > > +    (lambda (pkg-meta) > > > +      (jsobject-update* > > > +       pkg-meta > > > +       "devDependencies" '(@) resolve-dependencies > > > +       "dependencies" '(@) (lambda (deps) > > > +                             (resolve-dependencies > > > +                              (jsobject-union > > > +                               (jsobject-ref pkg-meta > > > "peerDependencies" '(@)) > > > +                               deps)))))) > > >     #t) > > We should probably add a function to our js utils that "generates > > anempty object", because '(@) is quite confusing to see in these > > circumstances.  Otherwise LGTM with the aforementioned caveats. > > I'm not sure what to call it: it would have to be short, or people > (me, at least) might end up writing '(@) anyway. 'none', 'epsilon', '@psilon' would be nice "short" ways of writing "empty object". > Also, IIUC Guile doesn't actually prevent you from mutating quoted > constant pairs, so a function would have to allocate a fresh pair to > be robust. That is correct, so we do have to be careful with our other primitives here. > It's a somewhat odd idea, but how about this? > >      (define-syntax |{}| (identifier-syntax '(@))) We can currently do without the bar escapes, but I'd prefer not to do either, since it'd appear as similar line noise to '(@). Having a readable name is in my opinion to be preferred. That being said, identifier-syntax is the right direction in general imo. > Alternatively, if we give up the thunk special case for 'default' > values, we could do: > >      (define jsobject-update >        (case-lambda >          ((js key updater) >           (jsobject-update js key '(@) updater)) >          ((js key default updater) >           ...))) > [...] For the record, I think the only JSON primitive we need here is (rewrite-json-file "package.json" ((dependencies) [do stuff with dependencies bound]) ((devDependencies) [do stuff with devDependencies bound]) [...]) wherein we can convert dependencies and devDependencies to and from alists using alist->json-object and json-object->alist. The rest can be done using [a]list stuff from Guile core and SRFI-1 with one or two amendments of our own. WDYT? The delete-dependencies phase would then be defined as (define (delete-dependencies . etc) (define (%delete-dependencies (obj) (let ((alist (json-object->alist obj))) (alist->json [actually delete the dependencies])))) (rewrite-json-file "package.json" ((dependencies) (%delete-dependencies dependencies)) ((devDependencies) (%delete-dependencies devDependencies)))) Pardon me not writing out etc, but I think you get the idea. As for what happens if a value is unbound, we could make it  ((key [default]) code) so imagine writing (dependencies none) instead of (dependencies) for safety. Cheers From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 05 14:08:40 2022 Received: (at 51838) by debbugs.gnu.org; 5 Jan 2022 19:08:40 +0000 Received: from localhost ([127.0.0.1]:41837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5BeJ-0002u6-MO for submit@debbugs.gnu.org; Wed, 05 Jan 2022 14:08:40 -0500 Received: from mail-qt1-f169.google.com ([209.85.160.169]:41474) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5BeH-0002tq-GO for 51838@debbugs.gnu.org; Wed, 05 Jan 2022 14:08:38 -0500 Received: by mail-qt1-f169.google.com with SMTP id v22so38465127qtx.8 for <51838@debbugs.gnu.org>; Wed, 05 Jan 2022 11:08:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=3lMFUpuzmDrZgCZEmbvv+Y3CqanV4nIz2WrdvwdK40I=; b=a/phELNqWFuPrxvX20lomMFi/zWrWY0d284qGLKfLVODI8lZogy/IvrYnQL3/k1+wp oMlxa3vh7k5/sPRh77nLCsutyKHQ0p96qH85WWeomlPwROKg954FJLqu7xHueocaWEfM 8751div+1MPnNE7EUg3TsvoEPNmux6oAenxkDy/+u5aK0BLQAlMKYAFBUfCHm+7BRD8v uKgEFH02j4YiALzDd4yK/7DAvOnNw2rskD61heEzl58ELht9iJ96q1FDFi4eVint+i0O Ug4h3Aj5JjI3F1YHOl4APezy0mLCf5mB9XnFsHYI82ZZHLDhVYFlm3QVbwmthIQkJbrB Mkiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=3lMFUpuzmDrZgCZEmbvv+Y3CqanV4nIz2WrdvwdK40I=; b=HC3s9qgwc1wZkf+AhpDTq/UtmOFcMWbuogumnMau6ewKW2bkMAC2zHfpDgczwauGXt ZVxgc/ghj2Tu7MbhyDPSe9zm0nLQjEnobVkC+Fvasl0ib9RKth0lVCSC866gb9D16oBf G89v/S4cEoqFaCBY4jvf9nibXggyAZyzdDKeDUBQ/sYiOqEzfBK4OkNYeLTgwnWrltz3 Ro13AXsEjX6QeT6ZRmBhU3aI3jFKh4o1Kaju3FImUVv8ZusNA8VF9Aooe1x38n7NobkL 3z/X1OHgj90CekdJCtFqkKk8PXkbVmRPdWLBfyZftAXQDVXAeQDDqlABjlqNgdzjIB6S TO8g== X-Gm-Message-State: AOAM530Uu2iLMdiqegxYGqm7Z+yGEvsUS2NivrEnTrzbCOCVThayc3v0 483bK2krvi6xI1Z3Dnj04wTWEg== X-Google-Smtp-Source: ABdhPJx7vz5Tjzp6HPpH+TL09qsgGH47pLFEkQtKCs0XfUwOgrbhP0vy/IqOuRArQZwes+No6gOlMQ== X-Received: by 2002:a05:622a:134f:: with SMTP id w15mr49770170qtk.561.1641409712040; Wed, 05 Jan 2022 11:08:32 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id a38sm32913010qkp.80.2022.01.05.11.08.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jan 2022 11:08:31 -0800 (PST) Message-ID: <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> Date: Wed, 5 Jan 2022 14:08:30 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> From: Philip McGrath In-Reply-To: <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.4 (/) Hi, On 12/30/21 21:46, Liliana Marie Prikler wrote: > Am Donnerstag, dem 30.12.2021 um 20:09 -0500 schrieb Philip McGrath: >> I still feel that there's something I'm fundamentally not >> understanding about your objections to '#:make-absent-dependencies', >> which is why, in v6, I tried to do exactly as you had proposed: >> >> On 12/20/21 17:00, Liliana Marie Prikler wrote: >>  > Hi Timothy, >>  > >>  > Am Montag, dem 20.12.2021 um 15:15 -0500 schrieb Timothy Sample: >>  >> Hi Philip, >>  >> >>  >> Philip McGrath writes: >>  >> >>  >>> If we took your final suggestion above, I think we'd have >> something >>  >>> like this: >>  >>> >>  >>> ``` >>  >>> #:phases >>  >>> (modify-phases %standard-phases >>  >>>    (add-after 'unpack 'delete-dependencies >>  >>>      (make-delete-dependencies-phase '("node-tap")))) >>  >>> ``` >>  >> >>  >> I’m perfectly happy with this if it’s a compromise we all can >> agree on. >>  >> It is exactly what popped into my imagination when I read >> Liliana’s >>  >> suggestion.  I guess the one thing missing is that it would not >>  >> necessarily be implemented on top of better “package.json” >>  >> manipulation support.  That said, it doesn’t preclude providing >> that >>  >> support if/when the need arises. >>  > In my personal opinion, we would write that support first and >> perhaps >>  > the shorthands later.  I.e. >>  > >>  > (add-after 'patch-dependencies 'drop-junk >>  >    (lambda _ >>  >      (with-atomic-json-replacement "package.json" >>  >        (lambda (json) (delete-dependencies json '("node-tap")))))) > To be fair, finding the right sweet spot between being overly verbose > and code golfing is difficult. I will admit that I am more than a little frustrated that, having put aside my own reservations and implemented the compromise proposal it seemed everyone could live with, it now seems that the consensus was in fact illusory. Moreover, I still do not understand what specific changes I could send in a v8 that would get this patch series to a state where everyone would agree it could be applied. > >> Certainly I do agree that it would be better to support code more >> concise than that! But I think all of these variations are strictly >> worse than '#:absent-dependencies'. It isn't just that they are more >> typing: the require authors of package definitions to have some (not >> very much, but some) procedural knowledge about _how_ 'node-build- >> system' deals with the absence of dependencies, rather >> than with '#:absent-dependencies', declaratively specifying _what_ is >> to be done. > Understanding build systems is for nerds. We here at leftpad.org care > about the things that are really important. > I don't know what to make of this comment, and I especially don't understand what the notorious left-pad incident has to do with my views. Aside from its inflammatory nature, I think left-pad is a confusing way to make a point because many people have tried to make it "stand for" many different, perhaps even mutually contradictory, conclusions. In case it helps at all to state my position more fully: with or without Guix, I think a major purpose, perhaps even the primary purpose, of _any_ build system is to relieve users (including ourselves) of the cognitive burden of lower-level details. Build systems are a means of abstraction and encapsulation. We use './configure && make && make install' to avoid having to know about the intricacies of flags for gcc, ordering requirements for building sub-projects, and innumerable quirks of strange and venerable systems that Autotools supports so that most of us can ignore them. We use 'gnu-build-system' to avoid having to know, and constantly repeat, the details of invoking 'configure' and 'make' to find Guix inputs and build to Guix outputs, along with further details of what files need to be patched when. Sometimes we nonetheless need to drop down to a lower level of abstraction, and Guix makes it convenient to do so, but the goal is to provide useful abstractions. For a personal example, I've never written so much as "Hello, world" in Go, but I've been able to contribute packages to Guix for software I use that happens to be written in Go, which was much easier to do because 'go-build-system' offers useful high-level abstractions like '#:unpack-path' and '#:import-path'. I didn't need to know _how_ 'go-build-system' arranges the build environment based on those values, or even anything beyond the most superficial understanding of _what_ those values are, in order to build a Go package. >> which would have avoided my earlier reservations about making the >> JSON representation part of the build system's public API for the >> first time. >> >> So I'm not feeling very confident in my ability to predict what >> changes would or would not block consensus. > Adding a gratuitous keyword is an immediate blocker as we've discussed > at length ;) Even when I have disagreed with your point of view, I have been trying my best to understand it, and I don't doubt that it is offered in good faith. I hope this is just a matter of some nuance in the connotation of the word "gratuitous" not coming across properly, but I would appreciate the same consideration being extended to my perspective. Almost tautologically, I don't think adding '#:absent-dependencies' would be gratuitous, or I wouldn't have proposed it. I don't want to speak for anyone but myself, but I haven't heard anyone else share these objections. And again, I also agreed to v6 of this series, in which I removed the keyword. I don't have time right now to go through the latest comments point by point: I will try to do so later. From my perspective, though, the substance of these patches has been ready to go for something like six weeks now, and the few enhancements since then could easily have been small follow-on patches. I would consider it very regrettable if this patch series were to continue to be blocked by stylistic considerations in the implementation of unexported helper functions. -Philip From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 05 15:02:38 2022 Received: (at 51838) by debbugs.gnu.org; 5 Jan 2022 20:02:38 +0000 Received: from localhost ([127.0.0.1]:38888 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5CUX-0003XZ-Vr for submit@debbugs.gnu.org; Wed, 05 Jan 2022 15:02:38 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:34725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5CUW-0003Wp-K1 for 51838@debbugs.gnu.org; Wed, 05 Jan 2022 15:02:37 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id E81CE5C00F3; Wed, 5 Jan 2022 15:02:30 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 05 Jan 2022 15:02:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=1KofZ0YPye9L0C7Y+OQVgs6w xhTDpX90888FMYP5YnA=; b=Fu14yk582XNal+UNnr9xoCysf1jrLrSMtCX/KVaP M4kzdFxzzsOSXe7OMwa7lSwUznhrVh3Vzg4H4iUkoMiYC5k8TmUr4OeR6bRir0hj NLikdg6f53N8/HWpZS2op9wwT/9gfn1CVRrlFNrZ2S55B1RERrgK0hv9AtJCJwXA AWo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=fm1; bh=1KofZ0 YPye9L0C7Y+OQVgs6wxhTDpX90888FMYP5YnA=; b=JFBPZQ8YkDXMy8rHSUj0M4 eh7VNV/l0PCX8i8l7YSxSb3XGUKa70rFsEeOWmlFm78so8lnoZnV+sAkiz5aQ9u7 1FiwXgwG3MOrTjOONyUbyhdSIY2Kd/c6Xeuo6wC/cuEbOK90JYsmFdBBAqK+1gyR eE/axkwWHcOQ5nFFOaIujUuT/WNmqidPsJpBaPOjiDApN140V07myJTrseHLbpDF wAHWzC1ascCouytZPCw9r3j2D38Tt/CxhRBl216poVh6lzalcQ3fWUC+3S/wLGKe khyBDQgQYEeDg8KZze86IDqKb0kvLywWih6vorCXWpX/WNzIVIlTlx0/F6ZXaUow == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudefjedggeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpefnvghoucfh rghmuhhlrghrihcuoehlvghosehfrghmuhhlrghrihdrnhgrmhgvqeenucggtffrrghtth gvrhhnpeeukeektdffvddtudegjeegtdevhfeufeeivdejiedtieegtdevjedvjeehffev gfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvg hosehfrghmuhhlrghrihdrnhgrmhgv X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 5 Jan 2022 15:02:29 -0500 (EST) Date: Wed, 5 Jan 2022 15:02:28 -0500 From: Leo Famulari To: Philip McGrath Subject: Re: [bug#51838] [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Message-ID: References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Liliana Marie Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Wed, Jan 05, 2022 at 02:08:30PM -0500, Philip McGrath wrote: > I would consider it very regrettable if this patch series were to > continue to be blocked by stylistic considerations in the implementation of > unexported helper functions. Agreed. Is there a concrete problem with these patches? Or will they work as specified for Guix packagers? Let's remember that the primary goal of code review is to bring a contribution into the codebase. We have added suboptimal code to Guix many times, because it worked well enough. Later we can refine things. You mention go-build-system as being useful for you. That's very gratifying, because it was a lot of hard work for me to help finalize those patches, and they were quite far from ideal even when they were committed. But the build system allowed Guix users to add Go packages, which later attracted more contributions, and the go-build-system keeps improving as a result. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 05 16:04:12 2022 Received: (at 51838) by debbugs.gnu.org; 5 Jan 2022 21:04:13 +0000 Received: from localhost ([127.0.0.1]:39006 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5DS8-0007PR-FM for submit@debbugs.gnu.org; Wed, 05 Jan 2022 16:04:12 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:46959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5DS6-0007PB-Bb for 51838@debbugs.gnu.org; Wed, 05 Jan 2022 16:04:10 -0500 Received: by mail-wr1-f65.google.com with SMTP id i22so677903wrb.13 for <51838@debbugs.gnu.org>; Wed, 05 Jan 2022 13:04:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=SWTyzknieGH67dp2h0yN7SYu+5gKUqmQCHckxqRyzxU=; b=j1Jotcj/PWsdAt/62sUMHyt7LVu2Lmd427wdvhmAnGJU8p1O/wzwziCiRN3rsfqy3E mK/NYwq3p6CT79bVM6hT3W/ZLrfnmpXM8yJphJVFC3XNR/NMInpRBG8dEURjJ3d2+f1j 6UphpDyBHpk1JjNMJ9bmsqSE0DEpDyW3gN1JJRM5HwPm2MC7IloLhzHdGD21lecRbWFg fZrs0EakKc9YSaEPBglse3qblIocsj2BLPoRlp/1qDsrnV/EQR1JaQlaBG15H4ly/DbA 06cJu0/s3p7bGZzHX9p9BR0bMp2S8GHYvbt0/I/1qTrZMebH9Omx9VHcTec/NWemJEKU c3cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=SWTyzknieGH67dp2h0yN7SYu+5gKUqmQCHckxqRyzxU=; b=au3xFSKXr4k0Sa8dECuAVcZY/50Io+obJiaKtnH1Qmt/xHgZyhqmgqMice3eBSSPFp mRDz1+BJl+8v71BUaIKy0r4hRGpjeAE20iU4cRtwvdP7M9KhxFyTKmrEHjCBZ2BD3K1O hN1WFeEcFWHyZJG4BnQWQhz00eCSg6a66B6uU4c/gPX4J/akcqpq86dOo1DuWBVmQnkw 59XIEbi3d7nkIWtw8BDcQ6T8flix2W7yh1kicjF9wlaukIpvZkMOJO/rzJFu5qJyBbBL GpZSwNXoT46mntlEXDbKL6shoD4A/KfGmftU0TTyyCG9/jyOoQY2Rfz7Q1pfgtLX57Ly P+vg== X-Gm-Message-State: AOAM533V9IcqJezHyPurON9TUVLp0BfHH4/1qhZ7EjVu6ndQ1/9/9l39 fDj4AmviXpVmr8FqsQo57zM= X-Google-Smtp-Source: ABdhPJyUoxoS7P7VfBadr7RkGlMvvu8SyUbvFelvL+h9DB4Km6NL2GkcExB0qtobMOqukOvqZe9I7w== X-Received: by 2002:a5d:6d0a:: with SMTP id e10mr46773691wrq.327.1641416644559; Wed, 05 Jan 2022 13:04:04 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id r1sm88444wrz.30.2022.01.05.13.04.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jan 2022 13:04:04 -0800 (PST) Message-ID: <1e4755f3697d54b751684210215a1337c101f4ca.camel@gmail.com> Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Wed, 05 Jan 2022 22:04:03 +0100 In-Reply-To: <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Mittwoch, dem 05.01.2022 um 14:08 -0500 schrieb Philip McGrath: > I will admit that I am more than a little frustrated that, having put > aside my own reservations and implemented the compromise proposal it > seemed everyone could live with, it now seems that the consensus was > in fact illusory. Moreover, I still do not understand what specific > changes I could send in a v8 that would get this patch series to a > state where everyone would agree it could be applied. To be honest, I should do part of my job as well here and apply some of my own suggestions as I push if you deem them reasonable. I think that'd get us to consensus in one iteration. > > I don't know what to make of this comment, and I especially don't > understand what the notorious left-pad incident has to do with my > views. Aside from its inflammatory nature, I think left-pad is a > confusing way to make a point because many people have tried to make > it "stand for" many different, perhaps even mutually contradictory, > conclusions. Point taken, I'll try to dedent my Javascript jokes. > In case it helps at all to state my position more fully: with or > without Guix, I think a major purpose, perhaps even the primary > purpose, of _any_ build system is to relieve users (including > ourselves) of the cognitive burden of lower-level details. Build > systems are a means of abstraction and encapsulation. > > [...] I agree with you that abstractions ought to help, but we do have some disagreements about the amount by which certain abstractions help. Those are gut feeling value judgements, they're not all entirely rational. > I hope this is just a matter of some nuance in the connotation of > the word "gratuitous" not coming across properly, but I would > appreciate the same consideration being extended to my perspective. > > Almost tautologically, I don't think adding '#:absent-dependencies' > would be gratuitous, or I wouldn't have proposed it. Generally, keywords are reserved for a few special operations. I don't currently have the time to write them all up, but suffice it to say I don't believe the way #:absent-dependencies would be used fits into any of those. I can write that up in a later message if you feel it's imporant enough. > From my perspective, though, the substance of these patches has been > ready to go for something like six weeks now, and the few > enhancements since then could easily have been small follow-on > patches. I would consider it very regrettable if this patch series > were to continue to be blocked by stylistic considerations > in the implementation of unexported helper functions. That's not at all my intention. I'll write up a checklist as a follow- up. We can go over these shortly and I'll have v6 with minor adjustments land hopefully soon (if it can't be done tomorrow I'll shoot for Sunday). Would that be acceptable? From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 05 17:59:01 2022 Received: (at 51838) by debbugs.gnu.org; 5 Jan 2022 22:59:01 +0000 Received: from localhost ([127.0.0.1]:39252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5FFF-0001yo-EC for submit@debbugs.gnu.org; Wed, 05 Jan 2022 17:59:01 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:40754) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5FF9-0001yT-8D for 51838@debbugs.gnu.org; Wed, 05 Jan 2022 17:58:59 -0500 Received: by mail-wm1-f66.google.com with SMTP id 2-20020a05600c02c200b003470f96e778so67505wmn.5 for <51838@debbugs.gnu.org>; Wed, 05 Jan 2022 14:58:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=7xSeibo/4LsJLe4XbPikfy1tn+HZ7/dG1Hw5n7ueeU8=; b=Z8A0+vuu21Hit//GyAJANfTv4x1zq0P+1QOsH2CAnDyirqLR5R/GELgyACEMMqGU4j LCNDOV5fS5jNcfe0l1BALRVzNR0w6CYuBwYOR+wx/e8BYr1eF5qVe9kjjVwwGklR2M0m yxS3ah902M0fl89LxvMIZZXnOuYxK1GDZjl4d7zguJmAv5dALeB2N2gT0PWBAI9gUQtX j9VshGxDBkwVvYpULkmJThxTa/SpXrw6E4/nhc+L4esK/t/XclbCX7qG5/JYdLIcUqvL /QcnEjyrjTXiUCcxAz3ZCQrSydoyFoaZDD3l9Vo0KlNEmeE/rc66bQXb2NSv74x342pu t0HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=7xSeibo/4LsJLe4XbPikfy1tn+HZ7/dG1Hw5n7ueeU8=; b=FGkVQp8hmhH/bPjQbdWxb9Xslc59UrbCZzqJFIeFiT8upKDUCdn7mxJ+kLHckcmkZh b/3M77ZlAQGkoC+89//KFIUkycmvG+igdJ0MhCJGjP4R0cewVKiWPsy8Jjj2iZaEoK3b I9NSOwrVO8xh4XrQDienjIY72a8TZe2BzQEBc31BEOVV2pCBF+vVr6Q44XuDkxzk97y+ xlU6VziDkBrAKbuwWs24A0kWHyCNbnE8aCiLCR3oTTi76b1S5fbNfYqxzEbZiwEFA+G2 QhtXUg8Wia3JvpQzELSvIh0U/w4xwbVVlkkwdekVjO/5EVe9khJQgtBDXjkgmKblLNGy 5Iuw== X-Gm-Message-State: AOAM531x4hmrsjHVbZwkTJWPFy70IaVmYwuFNjhWzsTodGZb6r+U6dOy U27f61QG7EAWsyWTgmkH01w= X-Google-Smtp-Source: ABdhPJwR6zT3VVGNWsg0uNT1r2uYJNUaHZEDmgY/aR+Jcni5SXrSwk29/nMdqGGTA/qngYVAWCbJ1A== X-Received: by 2002:a05:600c:4f83:: with SMTP id n3mr4570469wmq.129.1641423529282; Wed, 05 Jan 2022 14:58:49 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id h4sm281610wrf.93.2022.01.05.14.58.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jan 2022 14:58:48 -0800 (PST) Message-ID: Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Wed, 05 Jan 2022 23:58:47 +0100 In-Reply-To: <1e4755f3697d54b751684210215a1337c101f4ca.camel@gmail.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> <1e4755f3697d54b751684210215a1337c101f4ca.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Mittwoch, dem 05.01.2022 um 22:04 +0100 schrieb Liliana Marie Prikler: > That's not at all my intention.  I'll write up a checklist as a > follow-up.  We can go over these shortly and I'll have v6 with minor > adjustments land hopefully soon (if it can't be done tomorrow I'll > shoot for Sunday).  Would that be acceptable? Okay, here's my checklist. I'll denote discussion points with numbers and actionable tasks with square brackets. Send me a reply in which you mark either the ones you want to have or the ones you don't (give a short reason for each) and I'll make it work. The entries marked with a forward slash would require an additional round of review to ensure I don't fuck any of this up (pardon my lack of a better term), so it's probably better to open up separate bugs for those if we want to be quick. I feel rather confident about the rest, however. 1. Move alist/json primitives to new file or shrink them in vertical size. Since you raised valid points against moving them, that'd be shrinking them in vertical size. To this end: [ ] Use SRFI-71 wherever applicable. [ ] Implement them in terms of SRFI-1 span. [ ] For the json-side only define json-update* as it appears to be the only one used later on (need confirmation on that one) 2. Reduce Racketisms [ ] Use DEFAULT instead of FAILURE_RESULT. [/] Define json-update* as syntax. 3. Generic style stuff [ ] Move conses inside match. [/] Merge with-atomic-json-file-replacement and json-update into a single syntax (rewrite-json-file). [ ] Simplify delete-dependencies so that we can directly write  (lambda args (delete-dependencies DEPS). [ ] Use identifier-syntax for the empty JSON object (how do we name it?) If I omitted anything and it's simple enough to fit this mold, do add it and I'll see if I can tack it on or we would need to go through another round for that. Sorry this all took so long. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 11:50:22 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 16:50:22 +0000 Received: from localhost ([127.0.0.1]:42071 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5Vy0-00071m-PZ for submit@debbugs.gnu.org; Thu, 06 Jan 2022 11:50:22 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:38755) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5Vxx-00071B-1r for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 11:50:19 -0500 Received: by mail-wm1-f67.google.com with SMTP id p1-20020a1c7401000000b00345c2d068bdso3990330wmc.3 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 08:50:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version; bh=w8ViImWctUEB6tHzCQdIvMC0S6C3thi378C3rKrxQ3c=; b=IWh0GNXVNkkCmswIKOtyQD0xM/aCc5/VpJPMheNYUCw0EfTQHLkjMGLl3tKsuyw8ND BH2dUFjSdNsVjJmCwtT19KyMBjXVYsO0L9jUH8GXH4uriKgIMbVYe4kPepV4XG0ih4pZ CLaYHMlsv5mO6a7DfhTcHeNjFB5GayDL5SXc34sS5jJrBpF3R/6aMIC8Ko9ItY2eVByQ Mn7gbKeN/ETBZeOpqyegQxnJqP1CqBq+fggE8p2MBMKPDrWjmbqfi62fVWY5LKua8qUo Von7D3q4AxpLKgN8e/hjmMIWO4zTsBlkDIpdtbsN1KCB2P8m/gZfgpABRrvRTnu6sVf8 c2uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version; bh=w8ViImWctUEB6tHzCQdIvMC0S6C3thi378C3rKrxQ3c=; b=dJ4+x3VbCoNWyCPWaI/6gNxm6Z3dzDbnkhyQmdbo0SqKIlsMVAer4pq9L8hWXe83fA pIqesOiqTZHK4abH94nfagqJOmGf4wBsJJLdb2bClzDwK1BnuAAf1JyfGe/pqynBXFJr f/AyMSI3OnL5YOLGfUCvLT760xeGuI6GanBCWAArgCbRSx8cFvaWSyh503/gUS2refQt RSFytzdsCuN4DMoEJK9uhBbFLZ9604t87g/FvcesqLxEqei/c87wBau1KxS2SsvyUMZ+ sIkYCCNTSZ6gsToi1sdziSF4kMwGXZM7FkwDSbC+4XS39zi82KcmazETa/NtjitXU5Da lvHg== X-Gm-Message-State: AOAM530uoLj9Fj2QH2YirseRua7DArb9DHVHTwbDPt8lLP2iAm6ZHoUk F++XK9dOfeFDU2L3SyI08hc= X-Google-Smtp-Source: ABdhPJwbbz/LY8CvS3BpJXfqqWYmPDv4QVWJoZysWXRa3tPuAZKT1qnBT5oekxpPcQ1Lw1T7TF1gKg== X-Received: by 2002:a05:600c:2046:: with SMTP id p6mr7573469wmg.176.1641487811105; Thu, 06 Jan 2022 08:50:11 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id h204sm2183332wmh.33.2022.01.06.08.50.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 08:50:10 -0800 (PST) Message-ID: <01d25375840e1611224f1407431dd03508f5b07a.camel@gmail.com> Subject: Re: [bug#51838] [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. From: Liliana Marie Prikler To: Leo Famulari , Philip McGrath Date: Thu, 06 Jan 2022 17:50:08 +0100 In-Reply-To: References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> Content-Type: multipart/mixed; boundary="=-kACM0hH0/SBQdzHce3zP" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-kACM0hH0/SBQdzHce3zP Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hi Leo, Am Mittwoch, dem 05.01.2022 um 15:02 -0500 schrieb Leo Famulari: > On Wed, Jan 05, 2022 at 02:08:30PM -0500, Philip McGrath wrote: > > I would consider it very regrettable if this patch series were to > > continue to be blocked by stylistic considerations in the > > implementation of > > unexported helper functions. > > Agreed. > > Is there a concrete problem with these patches? Or will they work as > specified for Guix packagers? > > Let's remember that the primary goal of code review is to bring a > contribution into the codebase. I'm currently in the process of applying my own checklist, see Each of my fixup commits is a change on top of Philip's corresponding commit (or at least I hope so, I haven't squashed them yet) and delete- dependencies.patch shows the savings in the rest of the series. I so far successfully built node-irc and node-serialport with these changes applied on top. It'll take some time to check the rest of the toplevel packages and thereafter I'll squash and cleanup commit messages. So from my position, everything is about to be done. Should I resend this as v8 for a complete check that I'm not doing anything harmful or should I go ahead and commit once I'm done? Cheers --=-kACM0hH0/SBQdzHce3zP Content-Disposition: attachment; filename="0001-Fixup-03-41.patch" Content-Type: text/x-patch; name="0001-Fixup-03-41.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyODBkZDc4MjAwMzA3NTQ0NDAzNzI5N2E0YTVkZDU3MjNmZjFmNDU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaWxpYW5hIE1hcmllIFByaWtsZXIgPGxpbGlhbmEucHJpa2xl ckBnbWFpbC5jb20+CkRhdGU6IFRodSwgNiBKYW4gMjAyMiAxNTowODoyNCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS8zXSBGaXh1cCAwMy80MS4KClRoaXMgY29tbWl0IGFkZHMgc2V2ZXJhbCB1dGls aXR5IGZ1bmN0aW9ucyBmb3Igbm9uLWRlc3RydWN0aXZlCnRyYW5zZm9ybWF0aW9uIG9mIHRoZSBK U09OIHJlcHJlc2VudGF0aW9uIHVzZWQgYnkgKGd1aXggYnVpbGQganNvbiksCnBhcnRpY3VsYXJs eSBmb3IgcHVyZWx5IGZ1bmN0aW9uYWwgdXBkYXRlIG9mIEpTT04gb2JqZWN0cy4gIFRoZXkgb3Vn aHQKdG8gZXZlbnR1YWxseSBiZSBleHBvcnRlZCBmcm9tIHRoZWlyIG93biBtb2R1bGUsIGJ1dCBm b3Igbm93IGFyZSBrZXB0CnByaXZhdGUgdG8gYWxsb3cgZXhwZXJpbWVudGF0aW9uLgoKKiBndWl4 L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVtLnNjbSAoYXNzb2MtcmVmKiwganNvYmplY3QtcmVmLCBh bGlzdC1wb3ApCihhbGlzdC11cGRhdGUsIGpzb2JqZWN0LXVwZGF0ZSosIGpzb2JqZWN0LXVuaW9u KTogTmV3IHZhcmlhYmxlcy4KKHdpdGgtYXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCk6IE5l dyBwdWJsaWMgdmFyaWFibGUuCihtb2R1bGUtbmFtZSwgYnVpbGQsIHBhdGNoLWRlcGVuZGVuY2ll cyk6IFVzZSB0aGVtLiAgRG8gbm90IHJlc29ydCB0bwp1bnNhZmUgYWxpc3QgcHJpbWl0aXZlcyBm cm9tIEd1aWxlIGNvcmUuCi0tLQogZ3VpeC9idWlsZC9ub2RlLWJ1aWxkLXN5c3RlbS5zY20gfCAz MTMgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDg1IGlu c2VydGlvbnMoKyksIDIyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L2J1aWxkL25v ZGUtYnVpbGQtc3lzdGVtLnNjbSBiL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtCmlu ZGV4IDk5NjcyMjNiODYuLmQ2OTU0MjRlNTAgMTAwNjQ0Ci0tLSBhL2d1aXgvYnVpbGQvbm9kZS1i dWlsZC1zeXN0ZW0uc2NtCisrKyBiL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtCkBA IC0yNSwzNSArMjUsMTIgQEAgKGRlZmluZS1tb2R1bGUgKGd1aXggYnVpbGQgbm9kZS1idWlsZC1z eXN0ZW0pCiAgICM6dXNlLW1vZHVsZSAoaWNlLTkgZnR3KQogICAjOnVzZS1tb2R1bGUgKGljZS05 IG1hdGNoKQogICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS0xKQorICAjOnVzZS1tb2R1bGUgKHNy Zmkgc3JmaS03MSkKICAgIzpleHBvcnQgKCVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgICAgIHdp dGgtYXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudAogICAgICAgICAgICAgZGVsZXRlLWRlcGVu ZGVuY2llcwogICAgICAgICAgICAgbm9kZS1idWlsZCkpCiAKLTs7IENvbW1lbnRhcnk6Ci07Owot OzsgQnVpbGRlci1zaWRlIGNvZGUgb2YgdGhlIHN0YW5kYXJkIE5vZGUvTlBNIHBhY2thZ2UgaW5z dGFsbCBwcm9jZWR1cmUuCi07OwotOzsgQ29kZToKLQotOzs7Ci07OzsgSlNPTiB1dGlsaXRpZXMu Ci07OzsKLTs7OyBUaGUgZm9sbG93aW5nIHByb2NlZHVyZXMgZmFjaWxpdGF0ZSB0cmFuc2Zvcm1p bmcgSlNPTiB2YWx1ZXMgdXNpbmcgdGhlCi07OzsgcmVwcmVzZW50YXRpb24gZnJvbSAoZ3VpeCBi dWlsZCBqc29uKSwgcGFydGljdWxhcmx5IHB1cmVseSBmdW5jdGlvbmFsCi07OzsgdXBkYXRlIG9m IEpTT04gb2JqZWN0cy4gIElmIHdlIGRlY2lkZSB0byBtYWtlIG1vcmUgb2YgdGhlbSBwdWJsaWMs IHdlCi07OzsgbWlnaHQgaW5zdGVhZCBwdXQgdGhlbSBpbiB0aGVpciBvd24gZmlsZSBvciwgZXZl bnR1YWxseSwgYWRkIHRoZW0gdG8KLTs7OyAoZ3VpeCBidWlsZCBqc29uKS4KLTs7OwotOzs7IEpT T04gb2JqZWN0cyB3aXRoIGR1cGxpY2F0ZSBrZXlzIGFyZSBub3QgaW50ZXJvcGVyYWJsZTogc2Vl IFJGQyA4MjU5IMKnIDQuCi07OzsgVGhlc2UgcHJvY2VkdXJlcyBhc3N1bWUsIGJ1dCBnZW5lcmFs bHkgZG8gbm90IGNoZWNrLCB0aGF0IEpTT04gb2JqZWN0cwotOzs7IGdpdmVuIHRvIHRoZW0gYXMg YXJndW1lbnRzIGRvIG5vdCBoYXZlIGR1cGxpY2F0ZSBrZXlzLiAgQXMgbG9uZyBhcyB0aGF0Ci07 OzsgcHJlY29uZGl0aW9uIGlzIHNhdGlzZmllZCwgdGhleSB3aWxsIHByb2R1Y2UgSlNPTiBvYmpl Y3RzIHdpdGhvdXQKLTs7OyBkdXBsaWNhdGUga2V5cy4gIFByb2NlZHVyZXMgdGhhdCBvcGVyYXRl IG9uIHVud3JhcHBlZCBhc3Nvc2NpYXRpb24gbGlzdHMKLTs7OyBtYXkgZG8gbGlrZXdpc2UsIHdo aWNoIHNob3VsZCBiZSBjb25zaWRlcmVkIGJlZm9yZSBleHBvcnRpbmcgdGhlbSBmb3IKLTs7OyBn ZW5lcmFsIHVzZS4KLTs7OwotCiAoZGVmaW5lICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFj ZW1lbnQgZmlsZSBwcm9jKQogICAiTGlrZSAnd2l0aC1hdG9taWMtZmlsZS1yZXBsYWNlbWVudCcs IGJ1dCBQUk9DIGlzIGNhbGxlZCB3aXRoIGEgc2luZ2xlCiBhcmd1bWVudC0tLXRoZSByZXN1bHQg b2YgcGFyc2luZyBGSUxFJ3MgY29udGVudHMgYXMganNvbi0tLWFuZCBzaG91bGQgYSB2YWx1ZQpA QCAtNjIsMjA1ICszOSw4MyBAQCAoZGVmaW5lICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFj ZW1lbnQgZmlsZSBwcm9jKQogICAgIChsYW1iZGEgKGluIG91dCkKICAgICAgICh3cml0ZS1qc29u IChwcm9jIChyZWFkLWpzb24gaW4pKSBvdXQpKSkpCiAKLShkZWZpbmUgKGpzb2JqZWN0LXJlZiBq cyBrZXkgZmFpbHVyZS1yZXN1bHQpCi0gICJSZXR1cm4gdGhlIHZhbHVlIGFzc29zY2lhdGVkIHdp dGggS0VZIGluIHRoZSBqc29uIG9iamVjdCBKUy4gIElmIEtFWSBpcyBub3QKLWZvdW5kIGFuZCBG QUlMVVJFLVJFU1VMVCBpcyBhIHByb2NlZHVyZSwgaXQgaXMgY2FsbGVkIGluIHRhaWwgcG9zaXRp b24gd2l0aAotemVybyBhcmd1bWVudHMuICBPdGhlcndpc2UsIEZBSUxVUkUtUkVTVUxUIGlzIHJl dHVybmVkLiIKLSAgOzsgVE9ETzogYGZhaWx1cmUtcmVzdWx0YCBzaG91bGQgYmUgb3B0aW9uYWws IGJ1dCBzaG91bGQgdGhlIGRlZmF1bHQKLSAgOzsgYGZhaWx1cmUtcmVzdWx0YCBiZSAjZiAobGlr ZSBgYXNzb2MtcmVmYCksIGEgdGh1bmsgcmFpc2luZyBhbiBleGNlcHRpb24sCi0gIDs7ICcoQCks IG9yIHNvbWV0aGluZyBlbHNlPyAgS2VlcCBpdCBtYW5kYXRvcnkgdW50aWwgd2UgZGlzY3VzcyBh bmQgZGVjaWRlLgorKGRlZmluZSogKGFzc29jLXJlZiogYWxpc3Qga2V5ICM6b3B0aW9uYWwgZGVm YXVsdCkKKyAgIkxpa2UgYXNzb2MtcmVmLCBidXQgcmV0dXJuIERFRkFVTFQgaW5zdGVhZCBvZiAj ZiBpZiBubyB2YWx1ZSBleGlzdHMuIgorICAobWF0Y2ggKGFzc29jIGtleSBhbGlzdCkKKyAgICAo I2YgZGVmYXVsdCkKKyAgICAoKF8gLiB2YWx1ZSkgdmFsdWUpKSkKKworKGRlZmluZSogKGpzb2Jq ZWN0LXJlZiBvYmoga2V5ICM6b3B0aW9uYWwgZGVmYXVsdCkKKyAgKG1hdGNoIG9iagorICAgICgo J0AgLiBhbGlzdCkgKGFzc29jLXJlZiogYWxpc3Qga2V5IGRlZmF1bHQpKSkpCisKKyhkZWZpbmUq IChhbGlzdC1wb3AgYWxpc3Qga2V5ICM6b3B0aW9uYWwgKD0gZXF1YWw/KSkKKyAgIlJldHVybiB0 d28gdmFsdWVzLCB0aGUgZmlyc3QgcGFpciBpbiBBTElTVCB3aXRoIGtleSBLRVksIGFuZCB0aGUg b3RoZXIKK2VsZW1lbnRzLiAgRXF1YWxpdHkgY2FsbHMgYXJlIG1hZGUgYXMgKD0gS0VZIEFMSVNU Q0FSKS4iCisgIChkZWZpbmUgKGZvdW5kPyBwYWlyKQorICAgICg9IGtleSAoY2FyIHBhaXIpKSkK KworICAobGV0ICgoYmVmb3JlIGFmdGVyIChicmVhayBmb3VuZD8gYWxpc3QpKSkKKyAgICAoaWYg KHBhaXI/IGFmdGVyKQorICAgICAgICAodmFsdWVzIChjYXIgYWZ0ZXIpIChhcHBlbmQgYmVmb3Jl IChjZHIgYWZ0ZXIpKSkKKyAgICAgICAgKHZhbHVlcyAjZiBiZWZvcmUpKSkpCisKKyhkZWZpbmUq IChhbGlzdC11cGRhdGUgYWxpc3Qga2V5IHByb2MgIzpvcHRpb25hbCBkZWZhdWx0ICg9IGVxdWFs PykpCisgICJSZXR1cm4gYW4gYXNzb2NpYXRpb24gbGlzdCBsaWtlIEFMSVNULCBidXQgd2l0aCBL RVkgbWFwcGVkIHRvIHRoZSByZXN1bHQgb2YKK1BST0MgYXBwbGllZCB0byB0aGUgZmlyc3QgdmFs dWUgZm91bmQgdW5kZXIgdGhlIGNvbXBhcmlzb24gKD0gS0VZIEFMSVNUQ0FSKS4KK0lmIG5vIHN1 Y2ggdmFsdWUgZXhpc3RzLCB1c2UgREVGQVVMVCBpbnN0ZWFkLgorVW5saWtlIGFjb25zLCB0aGlz IHJlbW92ZXMgdGhlIHByZXZpb3VzIGFzc29jaWF0aW9uIG9mIEtFWSAoYXNzdW1pbmcgaXQgaXMK K3VuaXF1ZSksIGJ1dCB0aGUgcmVzdWx0IG1heSBzdGlsbCBzaGFyZSBzdG9yYWdlIHdpdGggQUxJ U1QuIgorICAobGV0ICgocGFpciByZXN0IChhbGlzdC1wb3AgYWxpc3Qga2V5ID0pKSkKKyAgICAo YWNvbnMga2V5CisgICAgICAgICAgIChwcm9jIChpZiAocGFpcj8gcGFpcikKKyAgICAgICAgICAg ICAgICAgICAgIChjZHIgcGFpcikKKyAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQpKQorICAg ICAgICAgICByZXN0KSkpCisKKyhkZWZpbmUgKGpzb2JqZWN0LXVwZGF0ZSoganMgLiB1cGRhdGVz KQorICAiUmV0dXJuIGEganNvbiBvYmplY3QgbGlrZSBKUywgYnV0IHdpdGggYWxsIFVQREFURVMg YXBwbGllZC4gIEVhY2ggdXBkYXRlCitpcyBhIGxpc3QgKEtFWSBQUk9DIFtERUZBVUxUXSksIHNv IHRoYXQgS0VZIGlzIG1hcHBlZCB0byB0aGUgcmVzdWx0IG9mCitQUk9DIGFwcGxpZWQgdG8gdGhl IHZhbHVlIGZvdW5kIGZvciBpdCwgb3IgREVGQVVMVCBvdGhlcndpc2UuIgogICAobWF0Y2gganMK ICAgICAoKCdAIC4gYWxpc3QpCi0gICAgIChtYXRjaCAoYXNzb2Mga2V5IGFsaXN0KQotICAgICAg ICgjZgotICAgICAgICAoaWYgKHByb2NlZHVyZT8gZmFpbHVyZS1yZXN1bHQpCi0gICAgICAgICAg ICAoZmFpbHVyZS1yZXN1bHQpCi0gICAgICAgICAgICBmYWlsdXJlLXJlc3VsdCkpCi0gICAgICAg KChfIC4gdmFsdWUpCi0gICAgICAgIHZhbHVlKSkpKSkKLQotKGRlZmluZSAoYWxpc3QtcG9wIGFs aXN0IGtleSkKLSAgIlJldHVybiB0d28gdmFsdWVzOiB0aGUgZmlyc3QgcGFpciBpbiBBTElTVCB3 aXRoIHRoZSBnaXZlbiBLRVkgaW4gaXRzCi0nY2FyJyAob3IgI2YsIGlmIG5vIHN1Y2ggcGFpciBl eGlzdHMpIGFuZCBhbiBhc3Nvc2NpYXRpb24gbGlzdCBsaWtlIChhbmQKLXBvdGVudGlhbGx5IHNo YXJpbmcgc3RvcmFnZSB3aXRoKSBBTElTVCwgYnV0IHdpdGggbm8gZW50cnkgZm9yIEtFWS4iCi0g IChtYXRjaCAoYXNzb2Mga2V5IGFsaXN0KQotICAgIDs7IElmIGtleSBpc24ndCBwcmVzZW50LCB3 ZSBkb24ndCBuZWVkIHRvIGRvIGFueSBhbGxvY2F0aW9uCi0gICAgKCNmCi0gICAgICh2YWx1ZXMg I2YgYWxpc3QpKQotICAgIChmb3VuZAotICAgICAodmFsdWVzIGZvdW5kCi0gICAgICAgICAgICAg OzsgQmVjYXVzZSB3ZSBoYXZlIGBmb3VuZGAsIHdlIGNhbiBmaW5kIGl0IG1vcmUKLSAgICAgICAg ICAgICA7OyBlZmZpY2llbnRseSB0aGlzIHRpbWUgd2l0aCBgZXE/YC4gV2UgYXZvaWQgdXNpbmcK LSAgICAgICAgICAgICA7OyBgZGVscWAgYmVjYXVzZSBpdCB3b3VsZCBjb3B5IHBhaXJzIGluIGEg c2hhcmVkCi0gICAgICAgICAgICAgOzsgdGFpbC4gV2UgYXNzdW1lIGEgc3VmZmljaWVudGx5IHNt YXJ0IGNvbXBpbGVyIHRvCi0gICAgICAgICAgICAgOzsgaGFuZGxlICJ0YWlsIHJlY3Vyc2lvbiBt b2R1bG8gY29ucyIgKHZpZC4gZS5nLiBJbmRpYW5hCi0gICAgICAgICAgICAgOzsgVW5pdmVyc2l0 eSBUZWNobmljYWwgUmVwb3J0IE5vLiAxOSwgRnJpZWRtYW4gJiBXaXNlCi0gICAgICAgICAgICAg OzsgMTk3NSkgYXQgbGVhc3QgYXMgZWZmaWNpZW50bHkgYXMgYSBoYW5kLXdyaXR0ZW4KLSAgICAg ICAgICAgICA7OyB0YWlsLXJlY3Vyc2l2ZSBpbXBsZW1lbnRhdGlvbiB3aXRoIGFuIGFjY3VtdWxh dG9yLgotICAgICAgICAgICAgIChsZXQgbG9vcCAoKGFsaXN0IGFsaXN0KSkKLSAgICAgICAgICAg ICAgIChtYXRjaCBhbGlzdAotICAgICAgICAgICAgICAgICA7OyBXZSBrbm93IHRoYXQgYGZvdW5k YCBpcyBwcmVzZW50LAotICAgICAgICAgICAgICAgICA7OyBzbyBubyBuZWVkIHRvIGNoZWNrIGZv ciAnKCkKLSAgICAgICAgICAgICAgICAgKCh0aGlzIC4gYWxpc3QpCi0gICAgICAgICAgICAgICAg ICAoaWYgKGVxPyB0aGlzIGZvdW5kKQotICAgICAgICAgICAgICAgICAgICAgIGFsaXN0Ci0gICAg ICAgICAgICAgICAgICAgICAgKGNvbnMgdGhpcyAobG9vcCBhbGlzdCkpKSkpKSkpKSkKLQotOzsg U2FkbHksIEd1aWxlJ3MgaW1wbGVtZW50YXRpb24gb2YgKEAgKHNyZmkgc3JmaS0xKSBhbGlzdC1k ZWxldGUpCi07OyBwZXJmb3JtcyB1bm5lY2Vzc2FyeSBhbGxvY2F0aW9uLCBlLmcuIHRoaXMgY3Vy cmVudGx5IGV2YWx1YXRlcyB0byAjZjoKLTs7Ci07OyAgICAgKGxldCAoKGFsaXN0IGAoKCJhIiAu IDEpKCJiIiAuIDIpKCJjIiAuIDMpKSkpCi07OyAgICAgICAoZXE/IGFsaXN0IChhbGlzdC1kZWxl dGUgIngiIGFsaXN0KSkpCi07OwotOzsgVGhlc2UgZnVuY3Rpb25zIGdlbmVyYWxseSBjaG9vc2Ug dG8gYWxsb2NhdGUgYSBuZXcgb3V0ZXIgcGFpciAod2l0aCB0aGUgJ0AKLTs7IHRhZyksIGV2ZW4g dGhvdWdoIGluIHVudXN1YWwgY2FzZXMgdGhlIHJlc3VsdGluZyBvYmplY3QgbWlnaHQgbm90IGhh dmUKLTs7IGNoYW5nZWQsIGZvciB0aGUgc2FrZSBvZiBzaW1wbGljaXR5IGFuZCB0byBhdm9pZCBy ZXRhaW5pbmcgYSByZWZlcmVuY2UgdG8KLTs7IHRoZSBvcmlnaW5hbCBhbGlzdCBsb25nZXIgdGhh biBuZWNlc3NhcnkuIEJ1dCB0aGF0IGlzIE8oMSkgYWxsb2NhdGlvbiB0aGF0Ci07OyBjb3VsZCBv bmx5IHJhcmVseSBiZSBhdm9pZGVkOiBgYWxpc3QtZGVsZXRlYCB3b3VsZCBhbGxvY2F0ZSBPKG4p IHBhaXJzLAotOzsgd2hpY2ggd291bGQgb25seSBiZSBuZWNlc3NhcnkgaW4gdGhlIHdvcnN0IGNh c2UuCi0oZGVmaW5lIChhbGlzdC1kZWxldGUqIGFsaXN0IGtleSkKLSAgIlJldHVybiBhbiBhc3Nv c2NpYXRpb24gbGlzdCBsaWtlIChhbmQgcG90ZW50aWFsbHkgc2hhcmluZyBzdG9yYWdlIHdpdGgp Ci1BTElTVCwgYnV0IHdpdGggbm8gZW50cnkgZm9yIEtFWS4iCi0gIChkZWZpbmUtdmFsdWVzIChf cG9wcGVkIHJlbWFpbmluZykKLSAgICAoYWxpc3QtcG9wIGFsaXN0IGtleSkpCi0gIHJlbWFpbmlu ZykKLQotKGRlZmluZSAoanNvYmplY3QtZGVsZXRlIGpzIGtleSkKLSAgIlJldHVybiBhIGpzb24g b2JqZWN0IGxpa2UgSlMsIGJ1dCB3aXRoIG5vIGVudHJ5IGZvciBLRVkuIgotICAoY29ucyAnQCAo bWF0Y2gganMKLSAgICAgICAgICAgICAoKCdAIC4gYWxpc3QpCi0gICAgICAgICAgICAgIChhbGlz dC1kZWxldGUqIGFsaXN0IGtleSkpKSkpCi0KLShkZWZpbmUgKGFsaXN0LXNldCBhbGlzdCBrZXkg dmFsdWUpCi0gICJSZXR1cm4gYW4gYXNzb3NjaWF0aW9uIGxpc3QgbGlrZSBBTElTVCwgYnV0IHdp dGggS0VZIG1hcHBlZCB0byBWQUxVRSwKLXJlcGxhY2luZyBhbnkgZXhpc3RpbmcgbWFwcGluZyBm b3IgS0VZLiIKLSAgKGFjb25zIGtleSB2YWx1ZSAoYWxpc3QtZGVsZXRlKiBhbGlzdCBrZXkpKSkK LQotKGRlZmluZSAoanNvYmplY3Qtc2V0IGpzIGtleSB2YWx1ZSkKLSAgIlJldHVybiBhIGpzb24g b2JqZWN0IGxpa2UgSlMsIGJ1dCB3aXRoIEtFWSBtYXBwZWQgdG8gVkFMVUUsIHJlcGxhY2luZyBh bnkKLWV4aXN0aW5nIG1hcHBpbmcgZm9yIEtFWS4iCi0gIChjb25zICdAIChtYXRjaCBqcwotICAg ICAgICAgICAgICgoJ0AgLiBhbGlzdCkKLSAgICAgICAgICAgICAgKGFsaXN0LXNldCBhbGlzdCBr ZXkgdmFsdWUpKSkpKQotCi0oZGVmaW5lIGpzb2JqZWN0LXNldCoKLSAgKGNhc2UtbGFtYmRhCi0g ICAgIlJldHVybiBhIGpzb24gb2JqZWN0IGxpa2UgSlMsIGJ1dCBmdW5jdGlvbmFsbHkgZXh0ZW5k ZWQgYnkgbWFwcGluZyBlYWNoCi1LRVkgdG8gZWFjaCBWQUxVRSwgcmVwbGFjaW5nIGFueSBleGlz dGluZyBtYXBwaW5nIGZvciBlYWNoIEtFWS4gIFRoZSB1cGRhdGUKLXRha2VzIHBsYWNlIGZyb20g bGVmdCB0byByaWdodCwgc28gbGF0ZXIgbWFwcGluZ3Mgb3ZlcndyaXRlIGVhcmxpZXIgbWFwcGlu Z3MKLWZvciB0aGUgc2FtZSBLRVkuIgotICAgICgoanMpCi0gICAgIGpzKQotICAgICgoanMga2V5 IHZhbHVlKQotICAgICAoanNvYmplY3Qtc2V0IGpzIGtleSB2YWx1ZSkpCi0gICAgKChqcyAuIGFy Z3MpCi0gICAgIChjb25zICdAIChtYXRjaCBqcwotICAgICAgICAgICAgICAgICgoJ0AgLiBhbGlz dCkKLSAgICAgICAgICAgICAgICAgKGxldCBsb29wICgoYWxpc3QgYWxpc3QpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGFyZ3MgYXJncykpCi0gICAgICAgICAgICAgICAgICAgKG1hdGNo IGFyZ3MKLSAgICAgICAgICAgICAgICAgICAgICgoKQotICAgICAgICAgICAgICAgICAgICAgYWxp c3QpCi0gICAgICAgICAgICAgICAgICAgICAoKGtleSB2YWx1ZSAuIGFyZ3MpCi0gICAgICAgICAg ICAgICAgICAgICAgKGxvb3AgKGFsaXN0LXNldCBhbGlzdCBrZXkgdmFsdWUpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgYXJncykpKSkpKSkpKSkKLQotKGRlZmluZSAoYWxpc3QtdXBkYXRl IGFsaXN0IGtleSBmYWlsdXJlLXJlc3VsdCB1cGRhdGVyKQotICAiUmV0dXJuIGFuIGFzc29zY2lh dGlvbiBsaXN0IGxpa2UgQUxJU1QsIGJ1dCB3aXRoIEtFWSBtYXBwZWQgdG8gdGhlIHJlc3VsdAot b2YgYXBwbHlpbmcgVVBEQVRFUiB0byB0aGUgdmFsdWUgdG8gd2hpY2ggS0VZIGlzIG1hcHBlZCBp biBBTElTVC4gIFdoZW4gQUxJU1QKLWRvZXMgbm90IGhhdmUgYW4gZXhpc3RpbmcgbWFwcGluZyBm b3IgS0VZLCBGQUlMVVJFLVJFU1VMVCBpcyB1c2VkIGFzIHdpdGgKLSdqc29iamVjdC1yZWYnIHRv IG9idGFpbiB0aGUgYXJndW1lbnQgZm9yIFVQREFURVIuIgotICA7OyBPZnRlbiwgYHVwZGF0ZXJg IHdpbGwgYmUgYSBsYW1iZGEgZXhwcmVzc2lvbiwgc28gbWFraW5nIGl0IHRoZSBsYXN0Ci0gIDs7 IGFyZ3VtZW50IG1heSBoZWxwIHRvIG1ha2VzIHRoZSBjb2RlIGxlZ2libGUsIGFuZCB0aGUgbW9z dCBsaWtlbHkKLSAgOzsgYGZhaWx1cmUtcmVzdWx0YCBhcmd1bWVudHMgYXJlIGFsbCBzaG9ydGVy IHRoYW4gdGhlIGtleXdvcmQKLSAgOzsgYCM6ZmFpbHVyZS1yZXN1bHRgLiAgUGx1cywgbWFraW5n IGBmYWlsdXJlLXJlc3VsdGAgbWFuZGF0b3J5IGhlbHBzIG1ha2UKLSAgOzsgYGFsaXN0LXVwZGF0 ZWAgY29uc2lzdGVudCB3aXRoIGBhbGlzdC11cGRhdGUqYC4KLSAgKGRlZmluZS12YWx1ZXMgKHBv cHBlZCB0YWlsLWFsaXN0KQotICAgIChhbGlzdC1wb3AgYWxpc3Qga2V5KSkKLSAgKGFjb25zIGtl eQotICAgICAgICAgKHVwZGF0ZXIgKG1hdGNoIHBvcHBlZAotICAgICAgICAgICAgICAgICAgICAo I2YKLSAgICAgICAgICAgICAgICAgICAgIChpZiAocHJvY2VkdXJlPyBmYWlsdXJlLXJlc3VsdCkK LSAgICAgICAgICAgICAgICAgICAgICAgICAoZmFpbHVyZS1yZXN1bHQpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgZmFpbHVyZS1yZXN1bHQpKQotICAgICAgICAgICAgICAgICAgICAoKF8gLiB2 YWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgIHZhbHVlKSkpCi0gICAgICAgICB0YWlsLWFsaXN0 KSkKLQotKGRlZmluZSAoanNvYmplY3QtdXBkYXRlIGpzIGtleSBmYWlsdXJlLXJlc3VsdCB1cGRh dGVyKQotICAiUmV0dXJuIGEganNvbiBvYmplY3QgbGlrZSBKUywgYnV0IHdpdGggS0VZIG1hcHBl ZCB0byB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nCi1VUERBVEVSIHRvIHRoZSB2YWx1ZSB0byB3aGlj aCBLRVkgaXMgbWFwcGVkIGluIEpTLiAgV2hlbiBKUyBkb2VzIG5vdCBoYXZlIGFuCi1leGlzdGlu ZyBtYXBwaW5nIGZvciBLRVksIEZBSUxVUkUtUkVTVUxUIGlzIHVzZWQgYXMgd2l0aCAnanNvYmpl Y3QtcmVmJyB0bwotb2J0YWluIHRoZSBhcmd1bWVudCBmb3IgVVBEQVRFUi4iCi0gIChjb25zICdA IChtYXRjaCBqcwotICAgICAgICAgICAgICgoJ0AgLiBhbGlzdCkKLSAgICAgICAgICAgICAgKGFs aXN0LXVwZGF0ZSBhbGlzdCBrZXkgZmFpbHVyZS1yZXN1bHQgdXBkYXRlcikpKSkpCi0KLShkZWZp bmUganNvYmplY3QtdXBkYXRlKgotICAoY2FzZS1sYW1iZGEKLSAgICAiUmV0dXJuIGEganNvbiBv YmplY3QgbGlrZSBKUywgYnV0IGZ1bmN0aW9uYWxseSBleHRlbmRlZCBieSByZXBsYWNpbmcgdGhl Ci1tYXBwaW5nIGZvciBlYWNoIEtFWSB3aXRoIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhlIGNv cnJlc3BvbmRpbmcgVVBEQVRFUiB0bwotdGhlIHZhbHVlIHRvIHdoaWNoIHRoYXQgS0VZIGlzIG1h cHBlZCBpbiBKUy0tLW9yLCBpZiBubyBzdWNoIG1hcHBpbmcgZXhpc3RzLAotdG8gYSB2YWx1ZSBi YXNlZCBvbiB0aGUgY29ycmVzcG9uZGluZyBGQUlMVVJFLVJFU1VMVCBhcyB3aXRoICdqc29iamVj dC1yZWYnLgotVGhlIHVwZGF0ZSB0YWtlcyBwbGFjZSBmcm9tIGxlZnQgdG8gcmlnaHQsIHNvIGxh dGVyIFVQREFURVJzIHdpbGwgcmVjZWl2ZSB0aGUKLXZhbHVlcyByZXR1cm5lZCBieSBlYXJsaWVy IFVQREFURVJzIGZvciB0aGUgc2FtZSBLRVkuIgotICAgICgoanMpCi0gICAgIGpzKQotICAgICgo anMga2V5IGZhaWx1cmUtcmVzdWx0IHVwZGF0ZXIpCi0gICAgIChqc29iamVjdC11cGRhdGUganMg a2V5IGZhaWx1cmUtcmVzdWx0IHVwZGF0ZXIpKQotICAgICgoanMgLiBhcmdzKQotICAgICAoY29u cyAnQCAobWF0Y2gganMKLSAgICAgICAgICAgICAgICAoKCdAIC4gYWxpc3QpCi0gICAgICAgICAg ICAgICAgIChsZXQgbG9vcCAoKGFsaXN0IGFsaXN0KQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhcmdzIGFyZ3MpKQotICAgICAgICAgICAgICAgICAgIChtYXRjaCBhcmdzCi0gICAgICAg ICAgICAgICAgICAgICAoKCkKLSAgICAgICAgICAgICAgICAgICAgIGFsaXN0KQotICAgICAgICAg ICAgICAgICAgICAgKChrZXkgZmFpbHVyZS1yZXN1bHQgdXBkYXRlciAuIGFyZ3MpCi0gICAgICAg ICAgICAgICAgICAgICAgKGxvb3AgKGFsaXN0LXVwZGF0ZSBhbGlzdCBrZXkgZmFpbHVyZS1yZXN1 bHQgdXBkYXRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzKSkpKSkpKSkpKQot Ci0oZGVmaW5lKiAoanNvYmplY3QtdW5pb24gIzprZXkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAoY29tYmluZSAobGFtYmRhIChhIGIpIGIpKQotICAgICAgICAgICAgICAgICAgICAgICAgIChj b21iaW5lL2tleSAobGFtYmRhIChrIGEgYikgKGNvbWJpbmUgYSBiKSkpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgIzpyZXN0IGpzb24tb2JqZWN0cykKLSAgIkNvbWJpbmUgdGhlIGdpdmVuIEpT T04tT0JKRUNUUyBpbnRvIGEgc2luZ2xlIGpzb24gb2JqZWN0LiAgVGhlIEpTT04tT0JKRUNUUwot YXJlIG1lcmdlZCBmcm9tIGxlZnQgdG8gcmlnaHQgYnkgYWRkaW5nIGVhY2gga2V5L3ZhbHVlIHBh aXIgb2YgZWFjaCBvYmplY3QgdG8KLXRoZSBhZ2dyZWdhdGUgb2JqZWN0IGluIHR1cm4uICBXaGVu IG9uZSBvZiB0aGUgSlNPTi1PQkpFQ1RTIGNvbnRhaW5zIGEgbWFwcGluZwotZnJvbSBzb21lIGtl eSBLRVkgdG8gYSB2YWx1ZSBWQUwgc3VjaCB0aGF0IHRoZSBhZ2dyZWdhdGUgb2JqZWN0IGFscmVh ZHkKLWNvbnRhaW5zIGEgbWFwcGluZyBmcm9tIEtFWSB0byBhIHZhbHVlIFZBTDAsIHRoZSBhZ2dy ZWdhdGUgb2JqZWN0IGlzCi1mdW5jdGlvbmFsbHkgdXBkYXRlZCB0byBpbnN0ZWFkIG1hcCBLRVkg dG8gdGhlIHZhbHVlIG9mIChDT01CSU5FL0tFWSBLRVkgVkFMMAotVkFMKS4gIFRoZSBkZWZhdWx0 IENPTUJJTkUvS0VZIHRhaWwtY2FsbHMgKENPTUJJTkUgVkFMMCBWQUwpLCBhbmQgdGhlIGRlZmF1 bHQKLUNPTUJJTkUgc2ltcGx5IHJldHVybnMgaXRzIHNlY29uZCBhcmd1bWVudCwgc28sIGJ5IGRl ZmF1bHQsIG1hcHBpbmdzIGluIGxhdGVyCi1KU09OLU9CSkVDVFMgc3VwZXJzZWRlIHRob3NlIGlu IGVhcmxpZXIgb25lcy4iCi0gIChtYXRjaCAoZmlsdGVyIChsYW1iZGEgKHYpCi0gICAgICAgICAg ICAgICAgICAgKG5vdCAob3IgKGtleXdvcmQ/IHYpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHByb2NlZHVyZT8gdikpKSkKLSAgICAgICAgICAgICAgICAganNvbi1vYmplY3RzKQotICAg ICgoKQotICAgICAnKEApKQotICAgICgoKGFuZCBqczAgKCdAIC4gXykpKQotICAgICBqczApCi0g ICAgKCgoJ0AgLiBhbGlzdDApICgnQCAuIGFsaXN0KikgLi4uKQotICAgICAoY29ucyAnQCAoZm9s ZCAobGFtYmRhIChhbGlzdDEgYWxpc3QwKQotICAgICAgICAgICAgICAgICAgICAgIChpZiAobnVs bD8gYWxpc3QwKQotICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlzdDEKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZvbGQgKGxhbWJkYSAoayt2IGFsaXN0MCkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobWF0Y2ggayt2Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGsgLiB2KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChkZWZpbmUtdmFsdWVzIChwb3BwZWQgdGFpbC1hbGlzdCkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChhbGlzdC1wb3AgYWxpc3QwIGspKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChtYXRjaCBwb3BwZWQKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgjZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb25zIGsrdiB0YWlsLWFsaXN0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgoXyAuIHYwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChhY29ucyBrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb21iaW5lL2tleSBrIHYwIHYpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRhaWwtYWxpc3QpKSkpKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYWxpc3QwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaXN0 MSkpKQotICAgICAgICAgICAgICAgICAgICBhbGlzdDAKLSAgICAgICAgICAgICAgICAgICAgYWxp c3QqKSkpKSkKKyAgICAgKGxldCBsb29wICgoYWxpc3QgYWxpc3QpCisgICAgICAgICAgICAgICAg KHVwZGF0ZXMgdXBkYXRlcykpCisgICAgICAgKG1hdGNoIHVwZGF0ZXMKKyAgICAgICAgICgoKSAo Y29ucyAnQCBhbGlzdCkpCisgICAgICAgICAoKChrZXkgcHJvYykgLiB1cGRhdGVzKQorICAgICAg ICAgIChsb29wIChhbGlzdC11cGRhdGUgYWxpc3Qga2V5IHByb2MgI2YgZXF1YWw/KSB1cGRhdGVz KSkKKyAgICAgICAgICgoKGtleSBwcm9jIGRlZmF1bHQpIC4gdXBkYXRlcykKKyAgICAgICAgICAo bG9vcCAoYWxpc3QtdXBkYXRlIGFsaXN0IGtleSBwcm9jIGRlZmF1bHQgZXF1YWw/KSB1cGRhdGVz KSkpKSkpKQorCisoZGVmaW5lIChqc29iamVjdC11bmlvbiBjb21iaW5lIHNlZWQgLiBvYmplY3Rz KQorICAiTWVyZ2UgT0JKRUNUUyBpbnRvIFNFRUQgYnkgYXBwbHlpbmcgKENPTUJJTkUgS0VZIFZB TDAgVkFMKSwgd2hlcmUgVkFMMAoraXMgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSAocG9zc2libHkg dXBkYXRlZCkgU0VFRCBhbmQgVkFMIGlzIHRoZSBuZXcgdmFsdWUKK2ZvdW5kIGluIG9uZSBvZiB0 aGUgT0JKRUNUUy4iCisgIChtYXRjaCBzZWVkCisgICAgKCgnQCAuIGFzZWVkKQorICAgICAobWF0 Y2ggb2JqZWN0cworICAgICAgICgoKSBzZWVkKQorICAgICAgICgoKCdAIC4gYWxpc3RzKSAuLi4p CisgICAgICAgIChjb25zCisgICAgICAgICAnQAorICAgICAgICAgKGZvbGQgKGxhbWJkYSAoYWxp c3QgYXNlZWQpCisgICAgICAgICAgICAgICAgIChpZiAobnVsbD8gYXNlZWQpIGFsaXN0CisgICAg ICAgICAgICAgICAgICAgICAoZm9sZAorICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1sYW1i ZGEqCisgICAgICAgICAgICAgICAgICAgICAgICAoKChrIC4gdikgYXNlZWQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgKGxldCAoKHBhaXIgdGFpbCAoYWxpc3QtcG9wIGFsaXN0IGspKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaCBwYWlyCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgjZiAoYWNvbnMgayB2IGFzZWVkKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKChfIC4gdjApIChhY29ucyBrIChjb21iaW5lIGsgdjAgdikgYXNlZWQpKSkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICBhc2VlZAorICAgICAgICAgICAgICAgICAgICAgIGFsaXN0KSkp CisgICAgICAgICAgICAgICBhc2VlZAorICAgICAgICAgICAgICAgYWxpc3RzKSkpKSkpKQorCis7 OyBQb3NzaWJseSB1c2VmdWwgaGVscGVyIGZ1bmN0aW9uczoKKzs7IChkZWZpbmUgKG5ld2VzdCBr ZXkgdmFsMCB2YWwpIHZhbCkKKzs7IChkZWZpbmUgKHVua2V5ZWQtPmtleWVkIHByb2MpIChsYW1i ZGEgKF9rZXkgdmFsMCB2YWwpIChwcm9jIHZhbDAgdmFsKSkpCiAKIAwKIDs7OwpAQCAtMjgyLDcg KzEzNyw3IEBAIChkZWZpbmUgKHNldC1ob21lIC4gXykKIChkZWZpbmUgKG1vZHVsZS1uYW1lIG1v ZHVsZSkKICAgKGxldCogKChwYWNrYWdlLmpzb24gKHN0cmluZy1hcHBlbmQgbW9kdWxlICIvcGFj a2FnZS5qc29uIikpCiAgICAgICAgICAocGFja2FnZS1tZXRhIChjYWxsLXdpdGgtaW5wdXQtZmls ZSBwYWNrYWdlLmpzb24gcmVhZC1qc29uKSkpCi0gICAgKGpzb2JqZWN0LXJlZiBwYWNrYWdlLW1l dGEgIm5hbWUiICNmKSkpCisgICAgKGpzb2JqZWN0LXJlZiBwYWNrYWdlLW1ldGEgIm5hbWUiKSkp CiAKIChkZWZpbmUgKGluZGV4LW1vZHVsZXMgaW5wdXQtcGF0aHMpCiAgIChkZWZpbmUgKGxpc3Qt bW9kdWxlcyBkaXJlY3RvcnkpCkBAIC0zMTgsMTIgKzE3MywxNCBAQCAoZGVmaW5lIHJlc29sdmUt ZGVwZW5kZW5jaWVzCiAgICAgKGxhbWJkYSAocGtnLW1ldGEpCiAgICAgICAoanNvYmplY3QtdXBk YXRlKgogICAgICAgIHBrZy1tZXRhCi0gICAgICAgImRldkRlcGVuZGVuY2llcyIgJyhAKSByZXNv bHZlLWRlcGVuZGVuY2llcwotICAgICAgICJkZXBlbmRlbmNpZXMiICcoQCkgKGxhbWJkYSAoZGVw cykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc29sdmUtZGVwZW5kZW5jaWVzCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoanNvYmplY3QtdW5pb24KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoanNvYmplY3QtcmVmIHBrZy1tZXRhICJwZWVyRGVwZW5kZW5j aWVzIiAnKEApKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHMpKSkpKSkKKyAg ICAgICBgKCJkZXZEZXBlbmRlbmNpZXMiICxyZXNvbHZlLWRlcGVuZGVuY2llcyAoQCkpCisgICAg ICAgYCgiZGVwZW5kZW5jaWVzIiAsKGxhbWJkYSAoZGVwcykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIChyZXNvbHZlLWRlcGVuZGVuY2llcworICAgICAgICAgICAgICAgICAgICAgICAgICAg IChqc29iamVjdC11bmlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChr IGEgYikgYikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGpzb2JqZWN0LXJlZiBwa2ct bWV0YSAicGVlckRlcGVuZGVuY2llcyIgJyhAKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGVwcykpKQorICAgICAgICAgKEApKSkpKQogICAjdCkKIAogKGRlZmluZSAoZGVsZXRlLWRl cGVuZGVuY2llcyBwa2ctbWV0YSBhYnNlbnQtZGVwZW5kZW5jaWVzKQotLSAKMi4zNC4wCgo= --=-kACM0hH0/SBQdzHce3zP Content-Disposition: attachment; filename="0002-Fixup-04-41.patch" Content-Type: text/x-patch; name="0002-Fixup-04-41.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0MTgxOWVlNDUzNmNhMzZiZmNiOGU4N2IyOTUwM2NmMTc5MWIwNTZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaWxpYW5hIE1hcmllIFByaWtsZXIgPGxpbGlhbmEucHJpa2xl ckBnbWFpbC5jb20+CkRhdGU6IFRodSwgNiBKYW4gMjAyMiAxNTozMTo0OCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi8zXSBGaXh1cCAwNC80MS4KClBhY2thZ2VzIHdpdGggbmF0aXZlIGFkZG9ucyBj dXJyZW50bHkgdHJ5IHRvIHdyaXRlIHRvIHN0b3JlIHBhdGhzCndoZW4gdXNlZCBhcyBkZXBlbmRl Y2llcy4gIFRoaXMgcGF0Y2ggYWRkcyBhIHBoYXNlIHRvIHJlcGxhY2UgdGhhdApiZWhhdmlvdXIg d2l0aCBhIG5vLW9wLgoKKiBndWl4L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVtLnNjbSAoYXZvaWQt bm9kZS1neXAtcmVidWlsZCk6IE5ldwp2YXJpYWJsZS4KKCVzdGFuZGFyZC1waGFzZXMpOiBBZGQg J2F2b2lkLW5vZGUtZ3lwLXJlYnVpbGQnIGFmdGVyICdpbnN0YWxsJy4KClNpZ25lZC1vZmYtYnk6 IExpbGlhbmEgTWFyaWUgUHJpa2xlciA8bGlsaWFuYS5wcmlrbGVyQGdtYWlsLmNvbT4KLS0tCiBn dWl4L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVtLnNjbSB8IDggKysrKysrLS0KIDEgZmlsZSBjaGFu Z2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ3VpeC9i dWlsZC9ub2RlLWJ1aWxkLXN5c3RlbS5zY20gYi9ndWl4L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVt LnNjbQppbmRleCBkNjk1NDI0ZTUwLi4xYTBlMTg3MDI4IDEwMDY0NAotLS0gYS9ndWl4L2J1aWxk L25vZGUtYnVpbGQtc3lzdGVtLnNjbQorKysgYi9ndWl4L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVt LnNjbQpAQCAtMjg1LDEyICsyODUsMTYgQEAgKGRlZmluZSBpbnN0YWxsZWQtcGFja2FnZS5qc29u CiAgICAgKHNlYXJjaC1pbnB1dC1maWxlIG91dHB1dHMgKHN0cmluZy1hcHBlbmQgIi9saWIvbm9k ZV9tb2R1bGVzLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobW9kdWxlLW5hbWUgIi4iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICIvcGFja2FnZS5qc29uIikpKQotICA7OyBub3Qgd2l0aC1hdG9taWMtanNvbi1m aWxlLXJlcGxhY2VtZW50LCBiZWNhdXNlIHdlIHVzdWFsbHkgZG9uJ3QKLSAgOzsgd2FudCBvciBu ZWVkIHRvIG92ZXJ3cml0ZSBpdAorICA7OyBXZSBkb24ndCB3YW50IHRvIHVzZSBhbiBhdG9taWMg cmVwbGFjZW1lbnQgaGVyZSwgYmVjYXVzZSB3ZSBvZnRlbiBkb24ndAorICA7OyBldmVuIG5lZWQg dG8gb3ZlcndyaXRlIHRoaXMgZmlsZS4gIFRoZXJlZm9yZSwgbGV0J3MgdXNlIHNvbWUgaGVscGVy cworICA7OyB0aGF0IHdlJ2Qgb3RoZXJ3aXNlIG5vdCBuZWVkLgogICAoZGVmaW5lIHBrZy1tZXRh CiAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlIGluc3RhbGxlZC1wYWNrYWdlLmpzb24gcmVhZC1q c29uKSkKICAgKGRlZmluZSBzY3JpcHRzCiAgICAgKGpzb2JqZWN0LXJlZiBwa2ctbWV0YSAic2Ny aXB0cyIgJyhAKSkpCisgIChkZWZpbmUgKGpzb2JqZWN0LXNldCBqcyBrZXkgdmFsKQorICAgIChq c29iamVjdC11cGRhdGUqIGpzIChsaXN0IGtleSAoY29uc3QgdmFsKSkpKQorCiAgICh3aGVuIChl cXVhbD8gIm5vZGUtZ3lwIHJlYnVpbGQiIChqc29iamVjdC1yZWYgc2NyaXB0cyAiaW5zdGFsbCIg I2YpKQogICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUgaW5zdGFsbGVkLXBhY2thZ2UuanNvbgog ICAgICAgKGxhbWJkYSAob3V0KQotLSAKMi4zNC4wCgo= --=-kACM0hH0/SBQdzHce3zP Content-Disposition: attachment; filename="0003-Fixup-05-41.patch" Content-Type: text/x-patch; name="0003-Fixup-05-41.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAwYjgzOWJmODlkZjUxODg0NDcyNzVmOTYwZTliYmZmMzkzNWFmZWE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaWxpYW5hIE1hcmllIFByaWtsZXIgPGxpbGlhbmEucHJpa2xl ckBnbWFpbC5jb20+CkRhdGU6IFRodSwgNiBKYW4gMjAyMiAxNTozNTozNSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMy8zXSBGaXh1cCAwNS80MS4KCk1hbnkgbm9kZSBwYWNrYWdlcyBjdXJyZW50bHkg c2tpcCB0aGUgY29uZmlndXJlIHBoYXNlLCBiZWNhdXNlIHRoZXkgbGFjawpib3RoIGRlcGVuZGVu Y2llcyBhbmQgYSBjb252ZW5pZW50IHdheSB0byBidWlsZCB3aXRob3V0IGFsbCBvZiB0aGVtLCBl LmcuCmZvciB0aGUgcHVycG9zZXMgb2YgYm9vdHN0cmFwcGluZy4gIFRoaXMgcGF0Y2ggYWRkcyBh IGJpZyBoYW1tZXIgdG8gZmxhdHRlbgp0aGVzZSBuYWlscy4KCiogZ3VpeC9idWlsZC9ub2RlLWJ1 aWxkLXN5c3RlbS5zY20gKGRlbGV0ZS1kZXBlbmRlbmNpZXMpOiBOZXcgdmFyaWFibGUuCgpTaWdu ZWQtb2ZmLWJ5OiBMaWxpYW5hIE1hcmllIFByaWtsZXIgPGxpbGlhbmEucHJpa2xlckBnbWFpbC5j b20+Ci0tLQogZ3VpeC9idWlsZC9ub2RlLWJ1aWxkLXN5c3RlbS5zY20gfCAzMCArKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAx MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L2J1aWxkL25vZGUtYnVpbGQtc3lzdGVt LnNjbSBiL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtCmluZGV4IDFhMGUxODcwMjgu Ljc2YWE1MWM1MmYgMTAwNjQ0Ci0tLSBhL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2Nt CisrKyBiL2d1aXgvYnVpbGQvbm9kZS1idWlsZC1zeXN0ZW0uc2NtCkBAIC0yMyw2ICsyMyw3IEBA IChkZWZpbmUtbW9kdWxlIChndWl4IGJ1aWxkIG5vZGUtYnVpbGQtc3lzdGVtKQogICAjOnVzZS1t b2R1bGUgKGd1aXggYnVpbGQgdXRpbHMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZCBqc29u KQogICAjOnVzZS1tb2R1bGUgKGljZS05IGZ0dykKKyAgIzp1c2UtbW9kdWxlIChpY2UtOSByZWdl eCkKICAgIzp1c2UtbW9kdWxlIChpY2UtOSBtYXRjaCkKICAgIzp1c2UtbW9kdWxlIChzcmZpIHNy ZmktMSkKICAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktNzEpCkBAIC0xODMsMjIgKzE4NCwyOSBA QCAoZGVmaW5lIHJlc29sdmUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAoQCkpKSkpCiAgICN0KQog Ci0oZGVmaW5lIChkZWxldGUtZGVwZW5kZW5jaWVzIHBrZy1tZXRhIGFic2VudC1kZXBlbmRlbmNp ZXMpCi0gICJGdW5jdGlvbmFsbHkgdXBkYXRlIFBLRy1NRVRBLCBhIGpzb24gb2JqZWN0IGNvcnJl c3BvbmRpbmcgdG8gYQotJ3BhY2thZ2UuanNvbicgZmlsZSwgdG8gYWxsb3cgYnVpbGRpbmcgd2l0 aG91dCB0aGUgQUJTRU5ULURFUEVOREVOQ0lFUy4gIFRvCi1hdm9pZCByZWludHJvZHVjaW5nIHRo ZSBBQlNFTlQtREVQRU5ERU5DSUVTLCBvbmx5IHVzZSB0aGlzIHByb2NlZHVyZSBhZnRlciB0aGUK LSdwYXRjaC1kZXBlbmRlbmNpZXMnIHBoYXNlLiIKLSAgKGRlZmluZSBkZWxldGUtZm9tLWpzb2Jq ZWN0CisoZGVmaW5lIChkZWxldGUtZGVwZW5kZW5jaWVzIHVud2FudGVkKQorICAiUmV3cml0ZSBw YWNrYWdlLmpzb24gdG8gcmVtb3ZlIFVOV0FOVEVEIGRlcGVuZGVuY2llcy4gIFVud2FudGVkIGRl cGVuZGVuY2llcworY2FuIGJlIHNwZWNpZmllZCBhcyByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGV4 Y2x1ZGUgYSByYW5nZSBvZiByZWxhdGVkCitkZXBlbmRlbmNpZXMsIGUuZy4gXCJ0YXBcIiBleGNs dWRlcyBhbGwgZGVwZW5kZW5jaWVzIGluY2x1ZGluZyBcInRhcFwiIGluIHRoZWlyCituYW1lLCBi dXQgXCJedGFwJFwiIGV4cGxpY2l0bHkgZXhjbHVkZXMgXCJ0YXBcIi4iCisgIChkZWZpbmUgZGVs ZXRlLWZyb20tanNvYmplY3QKICAgICAobWF0Y2gtbGFtYmRhCiAgICAgICAoKCdAIC4gYWxpc3Qp CiAgICAgICAgKGNvbnMgJ0AgKGZpbHRlciAobWF0Y2gtbGFtYmRhCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICgoayAuIHYpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChtZW1i ZXIgayBhYnNlbnQtZGVwZW5kZW5jaWVzKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg KG5vdCAoYW55CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChwYXR0 ZXJuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLW1hdGNoIHBh dHRlcm4gaykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bndhbnRlZCkpKSkK ICAgICAgICAgICAgICAgICAgICAgICAgIGFsaXN0KSkpKSkKLSAgKGpzb2JqZWN0LXVwZGF0ZSoK LSAgIHBrZy1tZXRhCi0gICAiZGV2RGVwZW5kZW5jaWVzIiAnKEApIGRlbGV0ZS1mb20tanNvYmpl Y3QKLSAgICJkZXBlbmRlbmNpZXMiICcoQCkgZGVsZXRlLWZvbS1qc29iamVjdCkpCisKKyAgKHdp dGgtYXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgorICAgIChsYW1i ZGEgKHBrZy1tZXRhKQorICAgICAgKGpzb2JqZWN0LXVwZGF0ZSoKKyAgICAgICBwa2ctbWV0YQor ICAgICAgIGAoInBlZXJEZXBlbmRlbmNpZXMiICxkZWxldGUtZnJvbS1qc29iamVjdCAoQCkpCisg ICAgICAgYCgiZGV2RGVwZW5kZW5jaWVzIiAsZGVsZXRlLWZyb20tanNvYmplY3QgKEApKQorICAg ICAgIGAoImRlcGVuZGVuY2llcyIgLGRlbGV0ZS1mcm9tLWpzb2JqZWN0IChAKSkpKSkpCiAKIChk ZWZpbmUqIChkZWxldGUtbG9ja2ZpbGVzICM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMp CiAgICJEZWxldGUgJ3BhY2thZ2UtbG9jay5qc29uJywgJ3lhcm4ubG9jaycsIGFuZCAnbnBtLXNo cmlua3dyYXAuanNvbicsIGlmIHRoZXkKLS0gCjIuMzQuMAoK --=-kACM0hH0/SBQdzHce3zP Content-Disposition: attachment; filename="delete-dependencies.patch" Content-Type: text/x-patch; name="delete-dependencies.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9ub2RlLXh5ei5zY20gYi9nbnUvcGFja2FnZXMvbm9k ZS14eXouc2NtCmluZGV4IDFmNTFjMGQ2MzYuLjk5MGIyNmE2ODkgMTAwNjQ0Ci0tLSBhL2dudS9w YWNrYWdlcy9ub2RlLXh5ei5zY20KKysrIGIvZ251L3BhY2thZ2VzL25vZGUteHl6LnNjbQpAQCAt Mjk3LDkgKzI5Nyw3IEBAIChkZWZpbmUtcHVibGljIG5vZGUtc2VtdmVyCiAgICAgICAgKG1vZGlm eS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gtZGVw ZW5kZW5jaWVzICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1iZGEgYXJncwot ICAgICAgICAgICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQgInBhY2thZ2Uu anNvbiIKLSAgICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAgICAgICAgICAg ICAoZGVsZXRlLWRlcGVuZGVuY2llcyBwa2ctbWV0YSAnKCJ0YXAiKSkpKSkpKQorICAgICAgICAg ICAgIChkZWxldGUtZGVwZW5kZW5jaWVzICcoIl50YXAkIikpKSkpCiAgICAgICAgOzsgRklYTUU6 IFRlc3RzIGRlcGVuZCBvbiBub2RlLXRhcAogICAgICAgICM6dGVzdHM/ICNmKSkKICAgICAoaG9t ZS1wYWdlICJodHRwczovL2dpdGh1Yi5jb20vbnBtL25vZGUtc2VtdmVyIikKQEAgLTMyOSw5ICsz MjcsNyBAQCAoZGVmaW5lLXB1YmxpYyBub2RlLXdyYXBweQogICAgICAgIChtb2RpZnktcGhhc2Vz ICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2ll cyAnZGVsZXRlLWRlcGVuZGVuY2llcwogICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAg ICAgICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0g ICAgICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0 ZS1kZXBlbmRlbmNpZXMgcGtnLW1ldGEgJygidGFwIikpKSkpKSkpKQorICAgICAgICAgICAgIChk ZWxldGUtZGVwZW5kZW5jaWVzICcoIl50YXAkIikpKSkpKSkKICAgICAoaG9tZS1wYWdlICJodHRw czovL2dpdGh1Yi5jb20vbnBtL3dyYXBweSIpCiAgICAgKHN5bm9wc2lzICJDYWxsYmFjayB3cmFw cGluZyB1dGlsaXR5IikKICAgICAoZGVzY3JpcHRpb24gIkBjb2Rle3dyYXBweX0gaXMgYSB1dGls aXR5IGZvciBOb2RlLmpzIHRvIHdyYXAgY2FsbGJhY2tzLiIpCkBAIC0zNTYsOSArMzUyLDcgQEAg KGRlZmluZS1wdWJsaWMgbm9kZS1vbmNlCiAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gtZGVwZW5kZW5jaWVzICdkZWxldGUt ZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1iZGEgYXJncwotICAgICAgICAgICAgICh3aXRo LWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQgInBhY2thZ2UuanNvbiIKLSAgICAgICAgICAg ICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAgICAgICAgICAgICAoZGVsZXRlLWRlcGVuZGVu Y2llcyBwa2ctbWV0YSAnKCJ0YXAiKSkpKSkpKQorICAgICAgICAgICAgIChkZWxldGUtZGVwZW5k ZW5jaWVzICcoIl50YXAkIikpKSkpCiAgICAgICAgOzsgRklYTUU6IFRlc3RzIGRlcGVuZCBvbiBu b2RlLXRhcAogICAgICAgICM6dGVzdHM/ICNmKSkKICAgICAoaW5wdXRzCkBAIC0zOTEsOSArMzg1 LDcgQEAgKGRlZmluZS1wdWJsaWMgbm9kZS1pbmhlcml0cwogICAgICAgIChtb2RpZnktcGhhc2Vz ICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2ll cyAnZGVsZXRlLWRlcGVuZGVuY2llcwogICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAg ICAgICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0g ICAgICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0 ZS1kZXBlbmRlbmNpZXMgcGtnLW1ldGEgJygidGFwIikpKSkpKSkKKyAgICAgICAgICAgICAoZGVs ZXRlLWRlcGVuZGVuY2llcyAnKCJedGFwJCIpKSkpKQogICAgICAgIDs7IEZJWE1FOiBUZXN0cyBk ZXBlbmQgb24gbm9kZS10YXAKICAgICAgICAjOnRlc3RzPyAjZikpCiAgICAgKGhvbWUtcGFnZQpA QCAtNDI1LDEwICs0MTcsNyBAQCAoZGVmaW5lLXB1YmxpYyBub2RlLXNhZmUtYnVmZmVyCiAgICAg ICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAn cGF0Y2gtZGVwZW5kZW5jaWVzICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1i ZGEgYXJncwotICAgICAgICAgICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQg InBhY2thZ2UuanNvbiIKLSAgICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAg ICAgICAgICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyBwa2ctbWV0YSAgJygidGFwZSIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YW5kYXJkIikp KSkpKSkKKyAgICAgICAgICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyAnKCJedGFwZSQiICJec3Rh bmRhcmQkIikpKSkpCiAgICAgICAgIzp0ZXN0cz8gI2YpKQogICAgIChob21lLXBhZ2UKICAgICAg Imh0dHBzOi8vZ2l0aHViLmNvbS9mZXJvc3Mvc2FmZS1idWZmZXIiKQpAQCAtNDU4LDEyICs0NDcs OCBAQCAoZGVmaW5lLXB1YmxpYyBub2RlLXN0cmluZy1kZWNvZGVyCiAgICAgICAgKG1vZGlmeS1w aGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gtZGVwZW5k ZW5jaWVzICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1iZGEgYXJncwotICAg ICAgICAgICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQgInBhY2thZ2UuanNv biIKLSAgICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAgICAgICAgICAgICAo ZGVsZXRlLWRlcGVuZGVuY2llcyBwa2ctbWV0YQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnKCJ0YXAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImNvcmUtdXRpbC1pcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiYmFiZWwtcG9seWZpbGwiKSkpKSkpKQorICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5j aWVzCisgICAgICAgICAgICAgICcoIl50YXAkIiAiXmNvcmUtdXRpbC1pcyQiICJeYmFiZWwtcG9s eWZpbGwkIikpKSkpCiAgICAgICAgOzsgRklYTUU6IFRlc3RzIGRlcGVuZCBvbiBub2RlLXRhcAog ICAgICAgICM6dGVzdHM/ICNmKSkKICAgICAoaW5wdXRzCkBAIC00OTcsMjkgKzQ4MiwyMiBAQCAo ZGVmaW5lLXB1YmxpYyBub2RlLXJlYWRhYmxlLXN0cmVhbQogICAgICAgIChtb2RpZnktcGhhc2Vz ICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2ll cyAnZGVsZXRlLWRlcGVuZGVuY2llcwogICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAg ICAgICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0g ICAgICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0 ZS1kZXBlbmRlbmNpZXMgcGtnLW1ldGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYCgiQGJhYmVsL2NsaSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiQGJhYmVsL2NvcmUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkBiYWJlbC9wb2x5ZmlsbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiQGJhYmVsL3ByZXNldC1lbnYiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImFpcnRhcCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiYXNzZXJ0IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJibCIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVlcC1zdHJpY3QtZXF1 YWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV2ZW50cy5vbmNl IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbG9iIgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJndW56aXAtbWF5YmUiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh5cGVycXVlc3QiCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvbGV4IgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJueWMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgInB1bXAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgInJpbXJhZiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFw IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YXBlIgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YXItZnMiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInV0aWwtcHJvbWlzaWZ5IikpKSkpKSkKKyAgICAg ICAgICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyBgKCJeQGJhYmVsLyIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJeYWlydGFwJCIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJeYXNzZXJ0JCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJeYmwkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5kZWVwLXN0 cmljdC1lcXVhbCQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXmV2ZW50 c1xcLm9uY2UkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5nbG9iJCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJeZ3VuemlwLW1heWJlJCIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJeaHlwZXJxdWVzdCQiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXmxvbGV4JCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJebnljJCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJecHVtcCQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXnJp bXJhZiQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXnRhcGU/JCIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJedGFyLWZzJCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJedXRpbC1wcm9taXNpZnkkIikpKSkpCiAgICAgICAg Izp0ZXN0cz8gI2YpKQogICAgIChpbnB1dHMKICAgICAgKGxpc3Qgbm9kZS11dGlsLWRlcHJlY2F0 ZSBub2RlLXN0cmluZy1kZWNvZGVyIG5vZGUtaW5oZXJpdHMpKQpAQCAtNTU0LDEwICs1MzIsNyBA QCAoZGVmaW5lLXB1YmxpYyBub2RlLWlyYy1jb2xvcnMKICAgICAgICAobW9kaWZ5LXBoYXNlcyAl c3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1kZXBlbmRlbmNpZXMg J2RlbGV0ZS1kZXBlbmRlbmNpZXMKICAgICAgICAgICAgKGxhbWJkYSBhcmdzCi0gICAgICAgICAg ICAgKHdpdGgtYXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgotICAg ICAgICAgICAgICAgKGxhbWJkYSAocGtnLW1ldGEpCi0gICAgICAgICAgICAgICAgIChkZWxldGUt ZGVwZW5kZW5jaWVzIHBrZy1tZXRhIGAoImlzdGFuYnVsIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2b3dzIikpKSkpKSkKKyAgICAgICAgICAgICAo ZGVsZXRlLWRlcGVuZGVuY2llcyBgKCJeaXN0YW5idWwkIiAiXnZvd3MkIikpKSkpCiAgICAgICAg Izp0ZXN0cz8gI2YpKQogICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9mZW50L2ly Yy1jb2xvcnMuanMiKQogICAgIChzeW5vcHNpcyAiTm9kZS5qcyBtb2R1bGUgcHJvdmlkaW5nIGNv bG9yIGFuZCBmb3JtYXR0aW5nIGZvciBJUkMiKQpAQCAtNTg2LDEyICs1NjEsOCBAQCAoZGVmaW5l LXB1YmxpYyBub2RlLWlyYwogICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMK ICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2llcyAnZGVsZXRlLWRlcGVuZGVu Y2llcwogICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAgICAgICAod2l0aC1hdG9taWMt anNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0gICAgICAgICAgICAgICAobGFt YmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMgcGtn LW1ldGEgYCgiYW5zaS1jb2xvciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZmF1Y2V0IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJqc2NzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJ0YXBlIikpKSkpKSkKKyAgICAgICAgICAgICAoZGVsZXRlLWRlcGVu ZGVuY2llcworICAgICAgICAgICAgICBgKCJeYW5zaS1jb2xvciQiICJeZmF1Y2V0JCIgIl5qc2Nz JCIgIl50YXBlJCIpKSkpKQogICAgICAgICM6dGVzdHM/ICNmKSkKICAgICAoaW5wdXRzCiAgICAg IChsaXN0IG5vZGUtaXJjLWNvbG9ycykpCkBAIC02MjAsMTcgKzU5MSwxNCBAQCAoZGVmaW5lLXB1 YmxpYyBub2RlLW5hbgogICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAg ICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2llcyAnZGVsZXRlLWRlcGVuZGVuY2ll cwogICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAgICAgICAod2l0aC1hdG9taWMtanNv bi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0gICAgICAgICAgICAgICAobGFtYmRh IChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMKLSAgICAg ICAgICAgICAgICAgIHBrZy1tZXRhCi0gICAgICAgICAgICAgICAgICAnKCJiaW5kaW5ncyIKLSAg ICAgICAgICAgICAgICAgICAgImNvbW1hbmRlciIKLSAgICAgICAgICAgICAgICAgICAgImdsb2Ii Ci0gICAgICAgICAgICAgICAgICAgICJyZXF1ZXN0IgotICAgICAgICAgICAgICAgICAgICAibm9k ZS1neXAiIDs7IHdvdWxkIGJlIG5lZWRlZCBmb3IgdGVzdHMKLSAgICAgICAgICAgICAgICAgICAg InRhcCIKLSAgICAgICAgICAgICAgICAgICAgInh0ZW5kIikpKSkpKSkKKyAgICAgICAgICAgICAo ZGVsZXRlLWRlcGVuZGVuY2llcworICAgICAgICAgICAgICAnKCJeYmluZGluZ3MkIgorICAgICAg ICAgICAgICAgICJeY29tbWFuZGVyJCIKKyAgICAgICAgICAgICAgICAiXmdsb2IkIgorICAgICAg ICAgICAgICAgICJecmVxdWVzdCQiCisgICAgICAgICAgICAgICAgIl5ub2RlLWd5cCQiIDs7IHdv dWxkIGJlIG5lZWRlZCBmb3IgdGVzdHMKKyAgICAgICAgICAgICAgICAiXnRhcCQiCisgICAgICAg ICAgICAgICAgIl54dGVuZCQiKSkpKSkKICAgICAgICA7OyB0ZXN0cyBuZWVkIHRhcCBhbmQgb3Ro ZXIgZGVwZW5kZW5jaWVzCiAgICAgICAgIzp0ZXN0cz8gI2YpKQogICAgIChpbnB1dHMKQEAgLTY3 MywyMSArNjQxLDExIEBAIChkZWZpbmUtcHVibGljIG5vZGUtYWRkb24tYXBpCiAgICAgICAgKG1v ZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gt ZGVwZW5kZW5jaWVzICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1iZGEgYXJn cwotICAgICAgICAgICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQgInBhY2th Z2UuanNvbiIKLSAgICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAgICAgICAg ICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyBwa2ctbWV0YQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBgKCJiZW5jaG1hcmsiCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImJpbmRpbmdzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJjbGFuZy1mb3JtYXQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImVzbGludCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZXNsaW50LWNvbmZpZy1zZW1pc3RhbmRhcmQiCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImVzbGludC1jb25maWctc3RhbmRhcmQiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImVzbGludC1wbHVnaW4taW1wb3J0IgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlc2xpbnQtcGx1Z2luLW5vZGUiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzbGludC1wbHVnaW4tcHJvbWlz ZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnMtZXh0cmEiCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGgiCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZS1jb21taXQiKSkpKSkpCisgICAgICAg ICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMKKyAgICAgICAgICAgICAgYCgiXmJlbmNobWFyayQi ICJeYmluZGluZ3MkIiAiXmNsYW5nLWZvcm1hdCQiCisgICAgICAgICAgICAgICAgIl5lc2xpbnQi CisgICAgICAgICAgICAgICAgIl5mcy1leHRyYSQiICJecGF0aCQiICJecHJlLWNvbW1pdCQiKSkK KyAgICAgICAgICAgICApKQogICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdza2lwLWpzLXRl c3RzCiAgICAgICAgICAgIDs7IFdlIGNhbid0IHJ1biB0aGUganMtYmFzZWQgdGVzdHMsCiAgICAg ICAgICAgIDs7IGJ1dCB3ZSBjYW4gc3RpbGwgZG8gdGhlIEMrKyBwYXJ0cwpAQCAtNzY3LDI5ICs3 MjUsMjYgQEAgKGRlZmluZS1wdWJsaWMgbm9kZS1zcWxpdGUzCiAgICAgICAgKG1vZGlmeS1waGFz ZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gtZGVwZW5kZW5j aWVzICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1iZGEgYXJncwotICAgICAg ICAgICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQgInBhY2thZ2UuanNvbiIK LSAgICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAgICAgICAgICAgICAoZGVs ZXRlLWRlcGVuZGVuY2llcwotICAgICAgICAgICAgICAgICAgcGtnLW1ldGEKLSAgICAgICAgICAg ICAgICAgIGAoOzsgTm9ybWFsbHksIHRoaXMgaXMgImJ1aWx0IiB1c2luZyBAbWFwYm94L25vZGUt cHJlLWd5cCwKLSAgICAgICAgICAgICAgICAgICAgOzsgd2hpY2ggcHVibGlzaGVzIG9yIGRvd25s b2FkcyBwcmUtYnVpbHQgYmluYXJpZXMgb3IKLSAgICAgICAgICAgICAgICAgICAgOzsgZmFsbHMg YmFjayB0byBidWlsZGluZyBmcm9tIHNvdXJjZS4gIEhlcmUsIHdlIHBhdGNoIG91dAotICAgICAg ICAgICAgICAgICAgICA7OyBhbGwgb2YgdGhhdCBhbmQganVzdCBidWlsZCBkaXJlY3RseS4gIEl0 IG1pZ2h0IGJlCi0gICAgICAgICAgICAgICAgICAgIDs7IGJldHRlciB0byBwYXRjaCBhIHZlcnNp b24gb2YgQG1hcGJveC9ub2RlLXByZS1neXAgdGhhdAotICAgICAgICAgICAgICAgICAgICA7OyBh bHdheXMgYnVpbGRzIGZyb20gc291cmNlLCBhcyBEZWJpYW4gZG9lcywgYnV0IHRoZXJlCi0gICAg ICAgICAgICAgICAgICAgIDs7IGFyZSBhIG51bWJlciBvZiBkZXBlbmRlbmNpZXMgdGhhdCBuZWVk IHRvIGJlIHBhY2thZ2VkCi0gICAgICAgICAgICAgICAgICAgIDs7IG9yIHJlbW92ZWQuCi0gICAg ICAgICAgICAgICAgICAgICJAbWFwYm94L25vZGUtcHJlLWd5cCIKLSAgICAgICAgICAgICAgICAg ICAgIm5vZGUtcHJlLWd5cCIgOzsgZGVwcmVjYXRlZCBuYW1lIHN0aWxsIHVzZWQgaW4gc29tZSBw bGFjZXMKLSAgICAgICAgICAgICAgICAgICAgImF3cy1zZGsiCi0gICAgICAgICAgICAgICAgICAg ICJAbWFwYm94L2Nsb3VkZnJpZW5kIgotICAgICAgICAgICAgICAgICAgICA7OyBDb25mdXNpbmds eSwgdGhpcyBpcyBvbmx5IGEgZGVwZW5kZW5jeSBiZWNhdXNlIG9mCi0gICAgICAgICAgICAgICAg ICAgIDs7IEBtYXBib3gvbm9kZS1wcmUtZ3lwOiB3aXRoIHRoYXQgcmVtb3ZlZCwKLSAgICAgICAg ICAgICAgICAgICAgOzsgbnBtIHdpbGwgdXNlIGl0cyBvd24gY29weToKLSAgICAgICAgICAgICAg ICAgICAgIm5vZGUtZ3lwIgotICAgICAgICAgICAgICAgICAgICA7OyBUaGVzZSB3ZSdkIGxpa2Us IHdlIGp1c3QgZG9uJ3QgaGF2ZSB0aGVtIHlldDoKLSAgICAgICAgICAgICAgICAgICAgImVzbGlu dCIKLSAgICAgICAgICAgICAgICAgICAgIm1vY2hhIikpKSkpKQorICAgICAgICAgICAgIChkZWxl dGUtZGVwZW5kZW5jaWVzCisgICAgICAgICAgICAgIGAoOzsgTm9ybWFsbHksIHRoaXMgaXMgImJ1 aWx0IiB1c2luZyBAbWFwYm94L25vZGUtcHJlLWd5cCwKKyAgICAgICAgICAgICAgICA7OyB3aGlj aCBwdWJsaXNoZXMgb3IgZG93bmxvYWRzIHByZS1idWlsdCBiaW5hcmllcyBvcgorICAgICAgICAg ICAgICAgIDs7IGZhbGxzIGJhY2sgdG8gYnVpbGRpbmcgZnJvbSBzb3VyY2UuICBIZXJlLCB3ZSBw YXRjaCBvdXQKKyAgICAgICAgICAgICAgICA7OyBhbGwgb2YgdGhhdCBhbmQganVzdCBidWlsZCBk aXJlY3RseS4gIEl0IG1pZ2h0IGJlCisgICAgICAgICAgICAgICAgOzsgYmV0dGVyIHRvIHBhdGNo IGEgdmVyc2lvbiBvZiBAbWFwYm94L25vZGUtcHJlLWd5cCB0aGF0CisgICAgICAgICAgICAgICAg OzsgYWx3YXlzIGJ1aWxkcyBmcm9tIHNvdXJjZSwgYXMgRGViaWFuIGRvZXMsIGJ1dCB0aGVyZQor ICAgICAgICAgICAgICAgIDs7IGFyZSBhIG51bWJlciBvZiBkZXBlbmRlbmNpZXMgdGhhdCBuZWVk IHRvIGJlIHBhY2thZ2VkCisgICAgICAgICAgICAgICAgOzsgb3IgcmVtb3ZlZC4KKyAgICAgICAg ICAgICAgICAiXkBtYXBib3gvbm9kZS1wcmUtZ3lwJCIKKyAgICAgICAgICAgICAgICAiXm5vZGUt cHJlLWd5cCQiIDs7IGRlcHJlY2F0ZWQgbmFtZSBzdGlsbCB1c2VkIGluIHNvbWUgcGxhY2VzCisg ICAgICAgICAgICAgICAgIl5hd3Mtc2RrJCIKKyAgICAgICAgICAgICAgICAiXkBtYXBib3gvY2xv dWRmcmllbmQkIgorICAgICAgICAgICAgICAgIDs7IENvbmZ1c2luZ2x5LCB0aGlzIGlzIG9ubHkg YSBkZXBlbmRlbmN5IGJlY2F1c2Ugb2YKKyAgICAgICAgICAgICAgICA7OyBAbWFwYm94L25vZGUt cHJlLWd5cDogd2l0aCB0aGF0IHJlbW92ZWQsCisgICAgICAgICAgICAgICAgOzsgbnBtIHdpbGwg dXNlIGl0cyBvd24gY29weToKKyAgICAgICAgICAgICAgICAiXm5vZGUtZ3lwJCIKKyAgICAgICAg ICAgICAgICA7OyBUaGVzZSB3ZSdkIGxpa2UsIHdlIGp1c3QgZG9uJ3QgaGF2ZSB0aGVtIHlldDoK KyAgICAgICAgICAgICAgICAiXmVzbGludCQiCisgICAgICAgICAgICAgICAgIl5tb2NoYSQiKSkp KQogICAgICAgICAgKGFkZC1iZWZvcmUgJ2NvbmZpZ3VyZSAnbnBtLWNvbmZpZy1zcWxpdGUKICAg ICAgICAgICAgOzsgV2UgbmVlZCB0aGlzIHN0ZXAgZXZlbiBpZiB3ZSBkbyByZXBsYWNlIEBtYXBi b3gvbm9kZS1wcmUtZ3lwCiAgICAgICAgICAgIDs7IGJlY2F1c2UgdGhlIHBhY2thZ2UgZXhwZWN0 cyB0byBidWlsZCBpdHMgYnVuZGxlZCBzcWxpdGUKQEAgLTg4NSwyNCArODQwLDEyIEBAIChkZWZp bmUtcHVibGljIG5vZGUtZmlsZS11cmktdG8tcGF0aAogICAgICAgIChtb2RpZnktcGhhc2VzICVz dGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2llcyAn ZGVsZXRlLWRlcGVuZGVuY2llcwogICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAgICAg ICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0gICAg ICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0ZS1k ZXBlbmRlbmNpZXMgcGtnLW1ldGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYCgiQHR5cGVzL21vY2hhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJAdHlwZXMvbm9kZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW4iCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXIiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNweS1jbGkiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzbGludCIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiZXNsaW50LWNvbmZpZy1haXJibmIiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzbGludC1jb25maWctcHJldHRpZXIiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzbGludC1pbXBvcnQtcmVzb2x2 ZXItdHlwZXNjcmlwdCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi ZXNsaW50LXBsdWdpbi1pbXBvcnQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImVzbGludC1wbHVnaW4tanN4LWExMXkiCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImVzbGludC1wbHVnaW4tcmVhY3QiCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIm1vY2hhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJyaW1yYWYiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgInR5cGVzY3JpcHQiKSkpKSkpCisgICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNp ZXMKKyAgICAgICAgICAgICAgYCgiXkB0eXBlcy9tb2NoYSQiICJeQHR5cGVzL25vZGUkIgorICAg ICAgICAgICAgICAgICJ0eXBlc2NyaXB0IgorICAgICAgICAgICAgICAgICJlc2xpbnQiCisgICAg ICAgICAgICAgICAgIl5jcHktY2xpJCIKKyAgICAgICAgICAgICAgICAiXm1vY2hhJCIgIl5yaW1y YWYkIikpKSkKICAgICAgICAgIChyZXBsYWNlICdidWlsZAogICAgICAgICAgICAobGFtYmRhKiAo IzprZXkgaW5wdXRzIG5hdGl2ZS1pbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAg ICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJzcmMiICJkaXN0IikKQEAgLTk5NSwxNCArOTM4LDEyIEBA IChkZWZpbmUtcHVibGljIG5vZGUtbXMKICAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQt cGhhc2VzCiAgICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1kZXBlbmRlbmNpZXMgJ2RlbGV0ZS1k ZXBlbmRlbmNpZXMKICAgICAgICAgICAgKGxhbWJkYSBhcmdzCi0gICAgICAgICAgICAgKHdpdGgt YXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgotICAgICAgICAgICAg ICAgKGxhbWJkYSAocGtnLW1ldGEpCi0gICAgICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5j aWVzIHBrZy1tZXRhIGAoImVzbGludCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZXhwZWN0LmpzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJodXNreSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAibGludC1zdGFnZWQiCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vY2hhIgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmV0dGllciIpKSkpKSkpCisgICAgICAg ICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMgYCgiXmVzbGludCQiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiXmV4cGVjdFxcLmpzJCIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJeaHVza3kkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIl5saW50LXN0YWdlZCQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiXm1vY2hhJCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJecHJldHRp ZXIkIikpKSkpCiAgICAgICAgIzp0ZXN0cz8gI2YpKQogICAgIChob21lLXBhZ2UgImh0dHBzOi8v Z2l0aHViLmNvbS92ZXJjZWwvbXMiKQogICAgIChzeW5vcHNpcyAiVGlueSBtaWxsaXNlY29uZCBj b252ZXJzaW9uIHV0aWxpdHkiKQpAQCAtMTA0NSwyMCArOTg2LDE1IEBAIChkZWZpbmUtcHVibGlj IG5vZGUtZGVidWcKICAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAg ICAgICAoYWRkLWFmdGVyICdwYXRjaC1kZXBlbmRlbmNpZXMgJ2RlbGV0ZS1kZXBlbmRlbmNpZXMK ICAgICAgICAgICAgKGxhbWJkYSBhcmdzCi0gICAgICAgICAgICAgKHdpdGgtYXRvbWljLWpzb24t ZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgotICAgICAgICAgICAgICAgKGxhbWJkYSAo cGtnLW1ldGEpCi0gICAgICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIHBrZy1tZXRh IGAoImJyZnMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImJyb3dzZXJpZnkiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImNvdmVyYWxscyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiaXN0YW5idWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImthcm1hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJrYXJtYS1icm93c2VyaWZ5IgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrYXJtYS1jaHJvbWUtbGF1bmNoZXIiCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImthcm1hLW1v Y2hhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJt b2NoYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi bW9jaGEtbGNvdi1yZXBvcnRlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAieG8iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgInN1cHBvcnRzLWNvbG9yIikpKSkpKSkKKyAgICAgICAgICAgICAoZGVsZXRl LWRlcGVuZGVuY2llcworICAgICAgICAgICAgICBgKCJeYnJmcyQiCisgICAgICAgICAgICAgICAg Il5icm93c2VyaWZ5JCIKKyAgICAgICAgICAgICAgICAiXmNvdmVyYWxscyQiCisgICAgICAgICAg ICAgICAgIl5pc3RhbmJ1bCQiCisgICAgICAgICAgICAgICAgIl5rYXJtYSIKKyAgICAgICAgICAg ICAgICAiXm1vY2hhIgorICAgICAgICAgICAgICAgICJeeG8kIgorICAgICAgICAgICAgICAgICJe c3VwcG9ydHMtY29sb3IkIikpKSkpCiAgICAgICAgIzp0ZXN0cz8gI2YpKQogICAgIChob21lLXBh Z2UgImh0dHBzOi8vZ2l0aHViLmNvbS9kZWJ1Zy1qcy9kZWJ1ZyIpCiAgICAgKHN5bm9wc2lzICJM aWdodHdlaWdodCBkZWJ1Z2dpbmcgdXRpbGl0eSBmb3IgTm9kZS5qcyBhbmQgdGhlIGJyb3dzZXIi KQpAQCAtMTE3MywxMiArMTEwOSwxMCBAQCAoZGVmaW5lLXB1YmxpYyBub2RlLXNlcmlhbHBvcnQt YmluZGluZ3MKICAgICAgICAgICAgICAoY2hkaXIgInBhY2thZ2VzL2JpbmRpbmdzIikpKQogICAg ICAgICAgKGFkZC1hZnRlciAncGF0Y2gtZGVwZW5kZW5jaWVzICdkZWxldGUtZGVwZW5kZW5jaWVz CiAgICAgICAgICAgIChsYW1iZGEgYXJncwotICAgICAgICAgICAgICh3aXRoLWF0b21pYy1qc29u LWZpbGUtcmVwbGFjZW1lbnQgInBhY2thZ2UuanNvbiIKLSAgICAgICAgICAgICAgIChsYW1iZGEg KHBrZy1tZXRhKQotICAgICAgICAgICAgICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyBwa2ctbWV0 YSBgKCJwcmVidWlsZC1pbnN0YWxsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IGRldkRlcGVuZGVuY2llcwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAc2VyaWFscG9ydC9iaW5kaW5nLW1vY2siCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vZGUtYWJp IikpKSkpKQorICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIGAoIl5wcmVidWlsZC1p bnN0YWxsJCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGRldkRlcGVu ZGVuY2llcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5Ac2VyaWFscG9y dC9iaW5kaW5nLW1vY2skIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5u b2RlLWFiaSQiKSkpKQogICAgICAgICAgKGFkZC1hZnRlciAnY2hkaXIgJ2F2b2lkLXByZWJ1aWxk LWluc3RhbGwKICAgICAgICAgICAgKGxhbWJkYSBhcmdzCiAgICAgICAgICAgICAgKHdpdGgtYXRv bWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgpAQCAtMTMzMCwxMSArMTI2 NCw4IEBAIChkZWZpbmUtcHVibGljIG5vZGUtc2VyaWFscG9ydC1zdHJlYW0KICAgICAgICAobW9k aWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1k ZXBlbmRlbmNpZXMgJ2RlbGV0ZS1kZXBlbmRlbmNpZXMKICAgICAgICAgICAgKGxhbWJkYSBhcmdz Ci0gICAgICAgICAgICAgKHdpdGgtYXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCAicGFja2Fn ZS5qc29uIgotICAgICAgICAgICAgICAgKGxhbWJkYSAocGtnLW1ldGEpCi0gICAgICAgICAgICAg ICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIHBrZy1tZXRhCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGAoOzsgZGV2RGVwZW5kZW5jaWVzCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIkBzZXJpYWxwb3J0L2JpbmRpbmctbW9jayIpKSkpKSkKKyAg ICAgICAgICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyBgKDs7IGRldkRlcGVuZGVuY2llcworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5Ac2VyaWFscG9ydC9iaW5kaW5nLW1v Y2skIikpKSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFjayAnY2hkaXIKICAgICAgICAgICAg KGxhbWJkYSBhcmdzCiAgICAgICAgICAgICAgKGNoZGlyICJwYWNrYWdlcy9zdHJlYW0iKSkpKQpA QCAtMTM3MCwxMCArMTMwMSw4IEBAIChkZWZpbmUtcHVibGljIG5vZGUtc2VyaWFscG9ydAogICAg ICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIg J3BhdGNoLWRlcGVuZGVuY2llcyAnZGVsZXRlLWRlcGVuZGVuY2llcwogICAgICAgICAgICAobGFt YmRhIGFyZ3MKLSAgICAgICAgICAgICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50 ICJwYWNrYWdlLmpzb24iCi0gICAgICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAg ICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMgcGtnLW1ldGEKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYCgiQHNlcmlhbHBvcnQvYmluZGluZy1tb2NrIikpKSkp KQorICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIGAoIl5Ac2VyaWFscG9ydC9iaW5k aW5nLW1vY2skIikpCisgICAgICAgICAgICAgKSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3VucGFj ayAnY2hkaXIKICAgICAgICAgICAgKGxhbWJkYSBhcmdzCiAgICAgICAgICAgICAgKGNoZGlyICJw YWNrYWdlcy9zZXJpYWxwb3J0IikpKSkKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9ub2RlLnNj bSBiL2dudS9wYWNrYWdlcy9ub2RlLnNjbQppbmRleCA1YTQ0MDFlNzc5Li40OWU2MzIzYTlkIDEw MDY0NAotLS0gYS9nbnUvcGFja2FnZXMvbm9kZS5zY20KKysrIGIvZ251L3BhY2thZ2VzL25vZGUu c2NtCkBAIC0zNDgsOSArMzQ4LDcgQEAgKGRlZmluZS1wdWJsaWMgbm9kZS1zZW12ZXItYm9vdHN0 cmFwCiAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFk ZC1hZnRlciAncGF0Y2gtZGVwZW5kZW5jaWVzICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAg ICAgIChsYW1iZGEgYXJncwotICAgICAgICAgICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVw bGFjZW1lbnQgInBhY2thZ2UuanNvbiIKLSAgICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRh KQotICAgICAgICAgICAgICAgICAoZGVsZXRlLWRlcGVuZGVuY2llcyBwa2ctbWV0YSAnKCJ0YXAi KSkpKSkpKSkpCisgICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMgJygiXnRhcCQiKSkp KSkpKQogICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbm9kZS1zZW12ZXIi KQogICAgIChwcm9wZXJ0aWVzICcoKGhpZGRlbj8gLiAjdCkpKQogICAgIChzeW5vcHNpcyAiUGFy c2VzIHNlbWFudGljIHZlcnNpb25zIHN0cmluZ3MiKQpAQCAtMzgxLDEzICszNzksMTEgQEAgKGRl ZmluZS1wdWJsaWMgbm9kZS1tcy1ib290c3RyYXAKICAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3Rh bmRhcmQtcGhhc2VzCiAgICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1kZXBlbmRlbmNpZXMgJ2Rl bGV0ZS1kZXBlbmRlbmNpZXMKICAgICAgICAgICAgKGxhbWJkYSBhcmdzCi0gICAgICAgICAgICAg KHdpdGgtYXRvbWljLWpzb24tZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgotICAgICAg ICAgICAgICAgKGxhbWJkYSAocGtnLW1ldGEpCi0gICAgICAgICAgICAgICAgIChkZWxldGUtZGVw ZW5kZW5jaWVzIHBrZy1tZXRhICcoImVzbGludCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0LmpzIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJodXNreSIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGludC1zdGFnZWQiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vY2hhIikpKSkpKSkpKQorICAg ICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzICcoIl5lc2xpbnQkIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIl5leHBlY3RcXC5qcyQiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiXmh1c2t5JCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJebGludC1zdGFnZWQkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIl5tb2NoYSQiKSkpKSkpKQogICAgIChob21lLXBhZ2UgImh0dHBzOi8vZ2l0aHViLmNv bS96ZWl0L21zI3JlYWRtZSIpCiAgICAgKHByb3BlcnRpZXMgJygoaGlkZGVuPyAuICN0KSkpCiAg ICAgKHN5bm9wc2lzICJUaW55IG1pbGxpc2Vjb25kIGNvbnZlcnNpb24gdXRpbGl0eSIpCkBAIC00 MTcsMTAgKzQxMyw3IEBAIChkZWZpbmUtcHVibGljIG5vZGUtYmluYXJ5LXNlYXJjaC1ib290c3Ry YXAKICAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAoYWRk LWFmdGVyICdwYXRjaC1kZXBlbmRlbmNpZXMgJ2RlbGV0ZS1kZXBlbmRlbmNpZXMKICAgICAgICAg ICAgKGxhbWJkYSBhcmdzCi0gICAgICAgICAgICAgKHdpdGgtYXRvbWljLWpzb24tZmlsZS1yZXBs YWNlbWVudCAicGFja2FnZS5qc29uIgotICAgICAgICAgICAgICAgKGxhbWJkYSAocGtnLW1ldGEp Ci0gICAgICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIHBrZy1tZXRhIGAoImNoYWki Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vY2hh IikpKSkpKSkpKQorICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIGAoIl4oY2hhaVx8 bW9jaGEpJCIpKSkpKSkpCiAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL2Rhcmtz a3lhcHAvYmluYXJ5LXNlYXJjaCNyZWFkbWUiKQogICAgIChwcm9wZXJ0aWVzICcoKGhpZGRlbj8g LiAjdCkpKQogICAgIChzeW5vcHNpcyAiVGlueSBiaW5hcnkgc2VhcmNoIGZ1bmN0aW9uIHdpdGgg Y29tcGFyYXRvcnMiKQpAQCAtNDQ5LDIwICs0NDIsMTMgQEAgKGRlZmluZS1wdWJsaWMgbm9kZS1k ZWJ1Zy1ib290c3RyYXAKICAgICAgICAobW9kaWZ5LXBoYXNlcyAlc3RhbmRhcmQtcGhhc2VzCiAg ICAgICAgICAoYWRkLWFmdGVyICdwYXRjaC1kZXBlbmRlbmNpZXMgJ2RlbGV0ZS1kZXBlbmRlbmNp ZXMKICAgICAgICAgICAgKGxhbWJkYSBhcmdzCi0gICAgICAgICAgICAgKHdpdGgtYXRvbWljLWpz b24tZmlsZS1yZXBsYWNlbWVudCAicGFja2FnZS5qc29uIgotICAgICAgICAgICAgICAgKGxhbWJk YSAocGtnLW1ldGEpCi0gICAgICAgICAgICAgICAgIChkZWxldGUtZGVwZW5kZW5jaWVzIHBrZy1t ZXRhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoImJyZnMiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJyb3dzZXJpZnkiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvdmVyYWxscyIKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXN0YW5idWwiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImthcm1hIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJrYXJtYS1icm93c2VyaWZ5IgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJrYXJtYS1jaHJvbWUtbGF1bmNoZXIiCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImthcm1hLW1vY2hhIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJtb2NoYSIKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAibW9jaGEtbGNvdi1yZXBvcnRlciIKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAieG8iKSkpKSkpKSkpCisgICAgICAgICAgICAgKGRlbGV0 ZS1kZXBlbmRlbmNpZXMgYCgiXmJyZnMkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIl5icm93c2VyaWZ5JCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJeY292ZXJhbGxzJCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJeaXN0 YW5idWwkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5rYXJtYSIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJebW9jaGEiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiXnhvJCIpKSkpKSkpCiAgICAgKGlucHV0cyAobGlzdCBu b2RlLW1zLWJvb3RzdHJhcCkpCiAgICAgKGhvbWUtcGFnZSAiaHR0cHM6Ly9naXRodWIuY29tL3Zp c2lvbm1lZGlhL2RlYnVnI3JlYWRtZSIpCiAgICAgKHByb3BlcnRpZXMgJygoaGlkZGVuPyAuICN0 KSkpCkBAIC01MTcsMTUgKzUwMywxMiBAQCAoZGVmaW5lLXB1YmxpYyBub2RlLWxscGFyc2UtYnVp bGRlci1ib290c3RyYXAKICAgICAgICAjOnBoYXNlcwogICAgICAgIChtb2RpZnktcGhhc2VzICVz dGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNoLWRlcGVuZGVuY2llcyAn ZGVsZXRlLWRlcGVuZGVuY2llcwotICAgICAgICAgICAobGFtYmRhIGFyZ3MKLSAgICAgICAgICAg ICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNrYWdlLmpzb24iCi0gICAg ICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAgICAgICAgKGRlbGV0ZS1k ZXBlbmRlbmNpZXMgcGtnLW1ldGEgYCgiQHR5cGVzL21vY2hhIgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAdHlwZXMvbm9kZSIKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9jaGEiCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRzLW5vZGUiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRzbGludCIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZXNjcmlwdCIp KSkpKSkKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRl bmNpZXMgYCgiXkB0eXBlcy9ub2RlJCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJtb2NoYSQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXnRzLW5v ZGUkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl50c2xpbnQkIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl50eXBlc2NyaXB0JCIpKSkpCiAgICAg ICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAj OmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgKGxldCAoKGVzYnVpbGQgKHNlYXJjaC1p bnB1dC1maWxlIGlucHV0cyAiL2Jpbi9lc2J1aWxkIikpKQpAQCAtNTgxLDE1ICs1NjQsMTMgQEAg KGRlZmluZS1wdWJsaWMgbm9kZS1sbHBhcnNlLWZyb250ZW5kLWJvb3RzdHJhcAogICAgICAgICht b2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKICAgICAgICAgIChhZGQtYWZ0ZXIgJ3BhdGNo LWRlcGVuZGVuY2llcyAnZGVsZXRlLWRlcGVuZGVuY2llcwogICAgICAgICAgICAobGFtYmRhIGFy Z3MKLSAgICAgICAgICAgICAod2l0aC1hdG9taWMtanNvbi1maWxlLXJlcGxhY2VtZW50ICJwYWNr YWdlLmpzb24iCi0gICAgICAgICAgICAgICAobGFtYmRhIChwa2ctbWV0YSkKLSAgICAgICAgICAg ICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMgcGtnLW1ldGEgYCgiQHR5cGVzL2RlYnVnIgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAdHlwZXMvbW9j aGEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkB0 eXBlcy9ub2RlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJtb2NoYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAidHMtbm9kZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAidHNsaW50IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ0eXBlc2NyaXB0IikpKSkpKQorICAgICAgICAgICAgIChkZWxldGUtZGVwZW5k ZW5jaWVzIGAoIl5AdHlwZXMvZGVidWckIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIl5AdHlwZXMvbW9jaGEkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIl5AdHlwZXMvbm9kZSQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi Xm1vY2hhJCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJedHMtbm9kZSQi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXnRzbGludCQiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXnR5cGVzY3JpcHQkIikpKSkKICAgICAgICAg IChyZXBsYWNlICdidWlsZAogICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxs b3ctb3RoZXIta2V5cykKICAgICAgICAgICAgICAobGV0ICgoZXNidWlsZCAoc2VhcmNoLWlucHV0 LWZpbGUgaW5wdXRzICIvYmluL2VzYnVpbGQiKSkpCkBAIC02NDQsMTggKzYyNSwxNSBAQCAoZGVm aW5lLXB1YmxpYyBub2RlLWxscGFyc2UtYm9vdHN0cmFwCiAgICAgICAgKG1vZGlmeS1waGFzZXMg JXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAncGF0Y2gtZGVwZW5kZW5jaWVz ICdkZWxldGUtZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIChsYW1iZGEgYXJncwotICAgICAgICAg ICAgICh3aXRoLWF0b21pYy1qc29uLWZpbGUtcmVwbGFjZW1lbnQgInBhY2thZ2UuanNvbiIKLSAg ICAgICAgICAgICAgIChsYW1iZGEgKHBrZy1tZXRhKQotICAgICAgICAgICAgICAgICAoZGVsZXRl LWRlcGVuZGVuY2llcyBwa2ctbWV0YQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBgKCJAdHlwZXMvZGVidWciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIkB0eXBlcy9tb2NoYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiQHR5cGVzL25vZGUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImVzbSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGxwYXJz ZS10ZXN0LWZpeHR1cmUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Im1vY2hhIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cy1ub2Rl IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0c2xpbnQiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVzY3JpcHQiKSkpKSkpCisg ICAgICAgICAgICAgKGRlbGV0ZS1kZXBlbmRlbmNpZXMgYCgiXkB0eXBlcy9kZWJ1ZyQiCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXkB0eXBlcy9tb2NoYSQiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXkB0eXBlcy9ub2RlJCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJeZXNtJCIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJebGxwYXJzZS10ZXN0LWZpeHR1cmUkIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIl5tb2NoYSQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiXnRzLW5vZGUkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Il50c2xpbnQkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl50eXBlc2Ny aXB0JCIpKSkpCiAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKICAgICAgICAgICAgKGxhbWJkYSog KCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAgKGxldCAoKGVz YnVpbGQgKHNlYXJjaC1pbnB1dC1maWxlIGlucHV0cyAiL2Jpbi9lc2J1aWxkIikpKQo= --=-kACM0hH0/SBQdzHce3zP-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 12:29:16 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 17:29:16 +0000 Received: from localhost ([127.0.0.1]:42108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5WZg-0002h0-3d for submit@debbugs.gnu.org; Thu, 06 Jan 2022 12:29:16 -0500 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:58393) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5WZZ-0002gW-Ae for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 12:29:14 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id C46C63203774; Thu, 6 Jan 2022 12:29:02 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Thu, 06 Jan 2022 12:29:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=YBjfl50iQmS3Cy201goPTvyD p/0NcwBK1Ij8HX0E2A4=; b=0r9Qbux18tDwzVIRHPXLo4n2zx5w67/1Y71Oo1vl mcZWiUWUaiwgc5X0ot/V7k3qT6nNckrO7vH+DowRoTdu6Ddfqua/IzALU+s6GYgG DFryTAK8XBGn5ushQNNsPUb8fLo7b2mudH4S/b0iSbPD8UMVzCLyqMKUaUfGeCsp Mc0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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=fm1; bh=YBjfl5 0iQmS3Cy201goPTvyDp/0NcwBK1Ij8HX0E2A4=; b=K/7aTQXaPUUQQyEL+U1/9s Y29eATCzfpq9KCe+C+4u9REji116SCgT9juGj/ID8NI2qt0wiUbU/piotMmjFFzm c/shb/22zbc+jjy1KQmg7TIR/0xeTs4c57CdaaWiULZkCajcTS5buZv3vsV7hC8m 6aRPe6vYTJsJoXn+cUIqq98zL5TBJuBkUGlMXNMe64+AOT8K+o3hedMp+HbT4pdp 5IDuE1ekRGhEMPTLHUZCdgMPgkbWIsT1Ak9nV1RMjy4jmyvhz8NT/5dpED6BAymw ftWM+nANabNCkW9xg9pZJyxaY6bLxjdCcUV7ZoVZQgD7MnAyC8aDuhvHULV/3jQg == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudefledgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpefnvghoucfh rghmuhhlrghrihcuoehlvghosehfrghmuhhlrghrihdrnhgrmhgvqeenucggtffrrghtth gvrhhnpeeukeektdffvddtudegjeegtdevhfeufeeivdejiedtieegtdevjedvjeehffev gfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvg hosehfrghmuhhlrghrihdrnhgrmhgv X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 6 Jan 2022 12:29:01 -0500 (EST) Date: Thu, 6 Jan 2022 12:28:59 -0500 From: Leo Famulari To: Liliana Marie Prikler Subject: Re: [bug#51838] [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Message-ID: References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> <01d25375840e1611224f1407431dd03508f5b07a.camel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01d25375840e1611224f1407431dd03508f5b07a.camel@gmail.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Philip McGrath X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Thu, Jan 06, 2022 at 05:50:08PM +0100, Liliana Marie Prikler wrote: > So from my position, everything is about to be done. Should I resend > this as v8 for a complete check that I'm not doing anything harmful or > should I go ahead and commit once I'm done? I think we should wait to see what Philip thinks about the revisions. I don't have specific feedback about the patches. Instead, I wanted to give a nudge towards resolution of the "ticket", which I think is important in terms of how contributors feel about their work with Guix. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:26 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:26 +0000 Received: from localhost ([127.0.0.1]:42145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR2-0004rz-Pw for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:26 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:44756) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR0-0004rV-OQ for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:23 -0500 Received: by mail-wr1-f67.google.com with SMTP id k18so6444589wrg.11 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=bocJkcTXA3eC5HYaLInBmZqZlhpffwj3nZvTwSmok00=; b=VYmpi9Zm/pISPsiaKLofRnGcMzDLRxF2whPLyP6c+qxu7teaOR/GFDf5CSXSukvKCB hIzXZqeQ6fYkHk26J3SxVdPT5wi8cz6VP53an8zEBk68o9aaG1pCTN5W3NtNRfW9G1ai 0abTM4DaWIFXtacda3COhtjdvr5b8K72KgP7NJxmUit7oay8gV9V0q79yVaQ/QARCMuM iUmeftpNzjgdDzTrMyN5lNYOXudzVcDYdOgdthORFny0LK13vMQZFAwmenjw/v3rMN/c fevhIWBhn23SRqqeW6DoIJbH950OYHcxGe57oBg4slJIf9o38ZR/nDeb0wwPWjZbuJoc h5Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=bocJkcTXA3eC5HYaLInBmZqZlhpffwj3nZvTwSmok00=; b=tNw+49vh1kYdShZqUC+ZKqTdfGFLRY1epO5sxraspN0NWiYnk5CAxs53JDmwSE6F+6 Rmi5X7y8tdhqRDWJtnvgR9uBTpGh1Qh8f/M7Hp118Q5k200YIun6wwF97hFis+4nOjh/ IgafIeiC96SGgpeO9hSH3K3wzNU7wgQMBBNo08rqZ1Oh/at7pqCv573cGjw7bhgRD8SD yZvJPCekZmnxrcbAMrlhNmYjiLaLt7grmPjyXVqF6SLqlRn1syVZvtC5TdDAAQNuVTpx 0Y67oYZkVJVJqINQqUIrTbYaMWg5BVcX12CGkSMmczHVBT0S31wHAeINVEBCFbFIvWPu bcJg== X-Gm-Message-State: AOAM530NA0GFxfOyJ3UrsPpRiN9lqcn5GhP3DMBFV/+/07Om87IL3ENS lXzCbt/q0OUXhJlOntOo6V8= X-Google-Smtp-Source: ABdhPJyX5hU2QnwSyuj92ZMmgCI/Uo7dEdrrB6XQr/o2Xb+hXxz+q8Nhy7zIalwlKsPhSDphK3E0PA== X-Received: by 2002:a5d:584f:: with SMTP id i15mr54006171wrf.542.1641493456745; Thu, 06 Jan 2022 10:24:16 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:16 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 6 Jan 2022 18:45:40 +0100 Subject: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Philip, Please pardon the large flood of messages in a short enough of time without waiting for a reply. I tried my best to come up with a v8 that addresses my personal concerns quickly. My main changes were to patches 3-5, but note how deleting dependencies became significantly easier in 6pp. To list the main differences: 1. I've implemented the alist/JSON utilities in terms of SRFI-1 and SRFI-71. 2. I shortened the additional JSON API to jsobject-ref and jsobject-update*. I still believe alist->json-object and json-object->alist would be more useful (in particular, the main operation of jsobject-union is actually alist-flatten), but I digress. 3. I made it so that delete-dependencies also acts on peerDependencies. That way, we don't have to dance around ordering. 4. Regexps :) If there's anything you'd like to say about this v8, feel free to do so. As always, there's the waiting time of at least 14 days, which I plan to adhere to. Cheers, Liliana PS: If someone else wants to push these in my absence, please adjust the signoffs. Also, if those mail headers are broken, don't forget to reset Philip as author. Philip McGrath (41): guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add JSON utilities. guix: node-build-system: Add avoid-node-gyp-rebuild phase. guix: node-build-system: Add 'delete-dependencies' helper function. gnu: node-semver-bootstrap: Use 'delete-dependencies'. gnu: node-ms-bootstrap: Use 'delete-dependencies'. gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. gnu: node-debug-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-bootstrap: Use 'delete-dependencies'. gnu: node-semver: Use 'delete-dependencies'. gnu: node-wrappy: Use 'delete-dependencies'. gnu: node-once: Use 'delete-dependencies'. gnu: node-irc-colors: Use 'delete-dependencies'. gnu: node-irc: Use 'delete-dependencies'. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-ms. gnu: Add node-debug. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readline. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 942 ++++++++++++++++++++++++++++++- gnu/packages/node.scm | 56 +- gnu/packages/zwave.scm | 64 +++ guix/build-system/node.scm | 9 +- guix/build/node-build-system.scm | 236 +++++++- 5 files changed, 1247 insertions(+), 60 deletions(-) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:27 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:27 +0000 Received: from localhost ([127.0.0.1]:42149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR4-0004sG-Eh for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:27 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:51908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR1-0004rY-7B for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:24 -0500 Received: by mail-wm1-f68.google.com with SMTP id e5so2428718wmq.1 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=kKs7hf6RlDAxhc/L2xkJDbLwKKmZzstAlhN4AK1SxNk=; b=b/G5qgva+FwoG/qAGUmydbNgJNdRuvRrTnJ7uhYJTOfJvsQN0REkYtt9/Ixwtsoph4 0xIeZIENHXFRwRq2DSLN+k6Tj7gRTaKjFiqJyWlTrwdohJ7RaXdX2L2Mlf2+t4kapQQe NuoAUOB55aUyfFjIB8rFNafc4fvPOwB9BH26dGxpaCJXXJfYugAQMqRkHkIkGsG8oVzT IgpjIBsbP642onB/Sql+I+W1RWK1Z1UIo1pRL5+mYgWYWzEikj6AXj2Yzca14luTvVh2 YFeW2YCWEXLD5M1VfZth1aJMkyRRQP3Wni6cgVivuRCwzS1BtqH5DZM8rPmprXejRkw2 o7VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=kKs7hf6RlDAxhc/L2xkJDbLwKKmZzstAlhN4AK1SxNk=; b=6jNvHMqNx5RluVANzY4VUjoFLTBkyfWE8hnuEkf9CbCEqZiia2+Jqd9zfVEanFOoZX Ah9+CYRszCAF6riwEr5IDthzjYzSAR5AO84FD0CTGNJgwUpgTDfh+o98kmAbdWiyJ5qF uTBso4ZXgGdTV0UPVLVPaww3Ll/F4ViQ9ALQq40a4aahVIRwy1E0Jc45o05unMARAVAf pLXxR9OGifaQIAw/ur9jSiSBnbjEGpdNCDjui6dJUmv+UISwjBq/cFtOE63cXUQ6ZpeB ChP4hp2k1qB0qC0Smn53MhJPEPn5SrhDDCUcsccrrSbFi40l1KgQSF/ZKkhbAAZqk/jV /joQ== X-Gm-Message-State: AOAM532qQxabbgHtCdPZF/4nZecu0dBWFk9SsYZ/LT2YlNT25y7dYJr3 ByweW56/hBGDtWvVN9aSyKw= X-Google-Smtp-Source: ABdhPJynHJumCW938QgNAVfQ8gzhJhIeyTbL1zjpmDzc6V87uIw5uhcGOIYDl2TXTZLoN5uDZ6rovw== X-Received: by 2002:a05:600c:34ca:: with SMTP id d10mr8167782wmq.133.1641493457593; Thu, 06 Jan 2022 10:24:17 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:17 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:39 -0500 Subject: [PATCH v8 01/41] guix: node-build-system: Add delete-lockfiles phase. to: Philip McGrath Content-Transfer-Encoding: 8bit Message-ID: <5bf0071bdbe1d0a7daa08dc35e6a96c46dafdada.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 3.1 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Guix does not use any of these lock files to determine the package versions used during the build, so they only serve to cause problems. * guix/build/node-build-system.scm (delete-lockfiles): New variable. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. Content analysis details: (3.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Guix does not use any of these lock files to determine the package versions used during the build, so they only serve to cause problems. * guix/build/node-build-system.scm (delete-lockfiles): New variable. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Guix does not use any of these lock files to determine the package versions used during the build, so they only serve to cause problems. * guix/build/node-build-system.scm (delete-lockfiles): New variable. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. Signed-off-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..2d7a3bdc67 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2016, 2020 Jelle Licht ;;; Copyright © 2019, 2021 Timothy Sample +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -96,6 +97,17 @@ (define (resolve-dependencies package-meta meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -146,6 +158,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:34 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:34 +0000 Received: from localhost ([127.0.0.1]:42159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRA-0004tV-NU for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:33 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:41642) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR2-0004rd-Lz for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:25 -0500 Received: by mail-wm1-f66.google.com with SMTP id g186-20020a1c9dc3000000b0034755f8fa58so926619wme.0 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=k8CcS3QxMjEeZlIJtz2mVShJRXVutz7Wr98cMR8kBhQ=; b=F4iNYGzfMXwzGoggmOiSUCKG6AszNowi+kw0fsUgL8uXWIwNS/JlXLfMuQf65oAOb5 DdgMBCiD72W3k9PM0/LzBxXsRM0Jmy+kHkMkQAJUx3qTS5JlzABYACHuJVyiPJb6MeQX OBLAfUsgxaGF8wf0hQwVo6Yf2od22y9BK/ztmMKILYyhuOQwfnTHRhYOsF61Wl+l3Gc6 lRrVc1VikDcufAIq5RTH+0gCMBFl/44CUaxVnmvzAOXklfEwsI1WZCOjB8V3p+dWMSEn djMo8tnumsCweBXySjoPLuhZy5KPRRUaHISLq9TnCHUVOO5+86Jfw+pwWL3KDixiGb1q k6mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=k8CcS3QxMjEeZlIJtz2mVShJRXVutz7Wr98cMR8kBhQ=; b=NI3s3XuqbCYFE4dQlwGW07FG4JtoohwanEqankngI/DRost5a26Ft4b1U+CRPKH21I DjYKovvY68d0tuARCPOPMTzmTP0ismLc9qFGMLzAKKp8UtdfezDR0ipG7ry+9JYE5cdX YzrsGNTOVK0WPhH3jwFzk+Qwx0h8dup47Xq6sMLUEw1INk8m0IA1CiHJfpvMLvO8HeV8 BmVib2xZrrfnaLthK8ZtP+fkD8ZqbeyF85BNBJldtuKy2SiTxE2YHfgE6TIGXJ5iMoAA EPkFXgESOBFtCqoeEd+O3dh/GqD2beizwyv2A0ppWMMBz6vHM/r6Fm+CcIuF+TMeVhkl gfGw== X-Gm-Message-State: AOAM531TtA6/qpBJIluvGo4jDEqXfuYXVoy5FQXTNUFqKpHTlAt38pPV RFSzpJ9YvAg5iL2sx6/YYyo= X-Google-Smtp-Source: ABdhPJwM8th2RpMaavQIkuK6SEswJf/eI3dm5QMXg1pWyoUaJQ1FZgwgaugJWLwmgb1iwOOp+CrGNQ== X-Received: by 2002:a7b:c853:: with SMTP id c19mr6945728wml.2.1641493459092; Thu, 06 Jan 2022 10:24:19 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:18 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:41 -0500 Subject: [PATCH v8 03/41] guix: node-build-system: Add JSON utilities. to: Philip McGrath Content-Transfer-Encoding: 8bit Message-ID: <71ee87241c6c8a2a49c7cff916b7e1e9d508e020.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 3.1 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They ough [...] Content analysis details: (3.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They ough [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They ought to eventually be exported from their own module, but for now are kept private to allow experimentation. * guix/build/node-build-system.scm (assoc-ref*, jsobject-ref, alist-pop) (alist-update, jsobject-update*, jsobject-union): New variables. (with-atomic-json-file-replacement): New public variable. (module-name, build, patch-dependencies): Use them. Do not resort to unsafe alist primitives from Guile core. Co-authored-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 145 ++++++++++++++++++++++++------- 1 file changed, 115 insertions(+), 30 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 2d7a3bdc67..c6602b876b 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2020 Jelle Licht ;;; Copyright © 2019, 2021 Timothy Sample ;;; Copyright © 2021 Philip McGrath +;;; Copyright © 2021 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,14 +27,101 @@ (define-module (guix build node-build-system) #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-71) #:export (%standard-phases + with-atomic-json-file-replacement node-build)) -;; Commentary: -;; -;; Builder-side code of the standard Node/NPM package install procedure. -;; -;; Code: +(define (with-atomic-json-file-replacement file proc) + "Like 'with-atomic-file-replacement', but PROC is called with a single +argument---the result of parsing FILE's contents as json---and should a value +to be written as json to the replacement FILE." + (with-atomic-file-replacement file + (lambda (in out) + (write-json (proc (read-json in)) out)))) + +(define* (assoc-ref* alist key #:optional default) + "Like assoc-ref, but return DEFAULT instead of #f if no value exists." + (match (assoc key alist) + (#f default) + ((_ . value) value))) + +(define* (jsobject-ref obj key #:optional default) + (match obj + (('@ . alist) (assoc-ref* alist key default)))) + +(define* (alist-pop alist key #:optional (= equal?)) + "Return two values, the first pair in ALIST with key KEY, and the other +elements. Equality calls are made as (= KEY ALISTCAR)." + (define (found? pair) + (= key (car pair))) + + (let ((before after (break found? alist))) + (if (pair? after) + (values (car after) (append before (cdr after))) + (values #f before)))) + +(define* (alist-update alist key proc #:optional default (= equal?)) + "Return an association list like ALIST, but with KEY mapped to the result of +PROC applied to the first value found under the comparison (= KEY ALISTCAR). +If no such value exists, use DEFAULT instead. +Unlike acons, this removes the previous association of KEY (assuming it is +unique), but the result may still share storage with ALIST." + (let ((pair rest (alist-pop alist key =))) + (acons key + (proc (if (pair? pair) + (cdr pair) + default)) + rest))) + +(define (jsobject-update* js . updates) + "Return a json object like JS, but with all UPDATES applied. Each update +is a list (KEY PROC [DEFAULT]), so that KEY is mapped to the result of +PROC applied to the value found for it, or DEFAULT otherwise." + (match js + (('@ . alist) + (let loop ((alist alist) + (updates updates)) + (match updates + (() (cons '@ alist)) + (((key proc) . updates) + (loop (alist-update alist key proc #f equal?) updates)) + (((key proc default) . updates) + (loop (alist-update alist key proc default equal?) updates))))))) + +(define (jsobject-union combine seed . objects) + "Merge OBJECTS into SEED by applying (COMBINE KEY VAL0 VAL), where VAL0 +is the value found in the (possibly updated) SEED and VAL is the new value +found in one of the OBJECTS." + (match seed + (('@ . aseed) + (match objects + (() seed) + ((('@ . alists) ...) + (cons + '@ + (fold (lambda (alist aseed) + (if (null? aseed) alist + (fold + (match-lambda* + (((k . v) aseed) + (let ((pair tail (alist-pop alist k))) + (match pair + (#f (acons k v aseed)) + ((_ . v0) (acons k (combine k v0 v) aseed)))))) + aseed + alist))) + aseed + alists))))))) + +;; Possibly useful helper functions: +;; (define (newest key val0 val) val) +;; (define (unkeyed->keyed proc) (lambda (_key val0 val) (proc val0 val))) + + +;;; +;;; Phases. +;;; (define (set-home . _) (with-directory-excursion ".." @@ -50,7 +138,7 @@ (define (set-home . _) (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"))) + (jsobject-ref package-meta "name"))) (define (index-modules input-paths) (define (list-modules directory) @@ -74,27 +162,26 @@ (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)))) + (define resolve-dependencies + (match-lambda + (('@ . alist) + (cons '@ (map (match-lambda + ((key . value) + (cons key (hash-ref index key value)))) + alist))))) + + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + `("devDependencies" ,resolve-dependencies (@)) + `("dependencies" ,(lambda (deps) + (resolve-dependencies + (jsobject-union + (lambda (k a b) b) + (jsobject-ref pkg-meta "peerDependencies" '(@)) + deps))) + (@))))) #t) (define* (delete-lockfiles #:key inputs #:allow-other-keys) @@ -115,9 +202,7 @@ (define* (configure #:key outputs inputs #:allow-other-keys) (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"))) + (if (jsobject-ref (jsobject-ref package-meta "scripts" '(@)) "build" #f) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "run" "build")) (format #t "there is no build script to run~%")) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:34 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:35 +0000 Received: from localhost ([127.0.0.1]:42162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRC-0004tk-1A for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:34 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:38537) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR1-0004rZ-Tb for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:25 -0500 Received: by mail-wm1-f67.google.com with SMTP id p1-20020a1c7401000000b00345c2d068bdso4125541wmc.3 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=cM4/KoYsFd7gxgnf3lEVFx9/uOaGbMT8ZMtEssH8QbE=; b=GKV2F/J/GVdfUxxyNKkamBQaCMy8A7fki+Ke0yzjoxTlxl0MmhtMAbIHMJhL9neXRs CQSIUMu/OwSo4Y4mnNy6ZwvJLhGnZA4C4ZT+BpNOEq3EaVJfIrP0Y6jgQ+9HIST0D1Zl 0UofcE3fqV2+4Uit/EAEpq24TYWlEkS6Avl6wwL4kQgkce/6+XKQISppt6JBcreQGDn5 Y3lyfjDU2MrBtkHAyFCI+5KdTDFx6s11QkjgypUXUGkUuvQxHlEsYbJ+rIemwetGUwDJ ff1XoaCmCIQj5B/9wMGXePnfBln1W73r3FVT+yKtQhhbmf47GwgEvsKGeT0wnuZesqkg YCkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=cM4/KoYsFd7gxgnf3lEVFx9/uOaGbMT8ZMtEssH8QbE=; b=lm/5aXb2k4Qc0EUSXvAfN9eaDVKaWsHKGoTGIq89qEGWJVg4cXKCv5Dm1LrkxZl1Rl pCVdtG3LVP8AsfOgSGOstu/OBTchV1HrQHXB8A2NRch1vo6Vp0yWweVHj/KXrfkX5chI XaZZ5SxZt6V57un3MULvAVhOFiIcW57BDHAYaon+8UQlJ1Cq5iX/lpaMoCSwX1GQ1ZrC ekS6iNbodcW5LSaZ6ctCPHDo5WTIlnAWNlBNzJH6kSjqauZwqQcbWuv12Lij4wMhAorQ L38L5f4MNO4Fn4lLCGwPu7mF7b4IJGT3FzcXe+fffNvtmMAiEwxS1DFRgqJxvlaGLb8q u9Ng== X-Gm-Message-State: AOAM533BLj7NbYQ75zu9FwOfqPLqcknjPpCoQtyFBVuRAhy3kfpV3JJi SRc6yj0rcDJnFeJbX4Mmpe4= X-Google-Smtp-Source: ABdhPJzkJAAA7NRU2FsJCxpstRb+FE4nSWNcq4NHa8oZREtJDY6KzWgPjpILPsCMvaAFvmcVeGoJEg== X-Received: by 2002:a7b:c745:: with SMTP id w5mr7835564wmk.167.1641493458334; Thu, 06 Jan 2022 10:24:18 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:18 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:40 -0500 Subject: [PATCH v8 02/41] guix: node-build-system: Add implicit libuv input. to: Philip McGrath Content-Transfer-Encoding: 8bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 3.1 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. Signed-off-by: Liliana Marie Prikler --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) Content analysis details: (3.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.67 listed in wl.mailspike.net] 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. Signed-off-by: Liliana Marie Prikler --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. Signed-off-by: Liliana Marie Prikler --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 735f8dd06e..24bd677bfc 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample ;;; Copyright © 2021 Ludovic Courtès +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,10 +63,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:36 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:36 +0000 Received: from localhost ([127.0.0.1]:42165 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRC-0004tz-S8 for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:35 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:47054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR4-0004rg-3W for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:26 -0500 Received: by mail-wr1-f66.google.com with SMTP id i22so6446564wrb.13 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=2LIgfx6F5oul3G/TSYbHe6O/EsfD/x022Q59UbO1Kdc=; b=n+oZVHwUu/Qe8cR+x0EpXE/HyXAQ3xCC4gNqT1uD7C7zu7qxMuwvj9gfZkb6MtGEln Z3PS7ZfR68kCpAH0sQASpFEeqDfZuW13IFfRR4WilzQo3RcHEm2q11OfKykDZaFZqADV diYonnP7FHJz3byOUAGMA8jHrQGs/JAb6KMkbRhCTdcAJpQep55YNDe3ltctyUGPhFX0 +B2aZQ2MKKr7f4PCGN3g5qb+hfXzS9PWlwzziVmzfUFYVxu7v2AG04N9GGdLh/iMORf/ BFej2s3IyjRrWJRX1w9KoCAyY+KQgM11thYh0i5fyaEoOtjmLtuhlRd9fSsd8pUEmxwL Ir6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=2LIgfx6F5oul3G/TSYbHe6O/EsfD/x022Q59UbO1Kdc=; b=aGiAt6qs9eR29dXmVySwpcNlh2TsGfkF0S6S+0rKFYGuOGflZDx58fvj+P9OgDSkpF hyGCXcmkTqIc6o0MK9E5TEB5ktAYCu8kVb8/wWUnNLi/wa/laZyxC0xLJOXz7JCNFQYL pEJDsz+vM7MdZgujzWs201SaCJ5EfC4qhiDvKnZdMrFrKSa3tJ9XOyytUfwybgGHZWZo fhVPczcS/QX6o4co4xMskxRUa841lKpWcpFqsmRTXZwEivi22l0B/pmMTmL3tgF0UTdh xXtsGwUiTxXOZJasXYCbwiEReQPwmJ3osGU9kIGDYElNYWKSv/ZL6uOCbI7cu8Sf3gHe gHfw== X-Gm-Message-State: AOAM531xece3PZ8d4MZD5sHtqz9+TniwCUfBFj5UTKe5TraQ/TwOgVmm 54EzK0lr6BDycyykfx0IJnHdkD68WYIGWw== X-Google-Smtp-Source: ABdhPJyoZz38x8YKMYLYGZ+cjaEvHRAn0QnprP6rX6WluQuWEmm3fRULABnRyrEAffuEXbviRL6NAw== X-Received: by 2002:a05:6000:2c8:: with SMTP id o8mr51659751wry.84.1641493460577; Thu, 06 Jan 2022 10:24:20 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:20 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:43 -0500 Subject: [PATCH v8 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <9ae866e3078c04f1716b665b7e2de114fe666514.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Many node packages currently skip the configure phase, because they lack both dependencies and a convenient way to build without all of them, e.g. for the purposes of bootstrapping. This patch adds a [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Many node packages currently skip the configure phase, because they lack both dependencies and a convenient way to build without all of them, e.g. for the purposes of bootstrapping. This patch adds a [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Many node packages currently skip the configure phase, because they lack both dependencies and a convenient way to build without all of them, e.g. for the purposes of bootstrapping. This patch adds a big hammer to flatten these nails. * guix/build/node-build-system.scm (delete-dependencies): New variable. Signed-off-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 49b3db34ad..75bded73af 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -25,11 +25,13 @@ (define-module (guix build node-build-system) #:use-module (guix build utils) #:use-module (guix build json) #:use-module (ice-9 ftw) + #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-71) #:export (%standard-phases with-atomic-json-file-replacement + delete-dependencies node-build)) (define (with-atomic-json-file-replacement file proc) @@ -184,6 +186,30 @@ (define resolve-dependencies (@))))) #t) +(define (delete-dependencies unwanted) + "Rewrite package.json to remove UNWANTED dependencies. Unwanted dependencies +can be specified as regular expressions to exclude a range of related +dependencies, e.g. \"tap\" excludes all dependencies including \"tap\" in their +name, but \"^tap$\" explicitly excludes \"tap\"." + (define delete-from-jsobject + (match-lambda + (('@ . alist) + (cons '@ (filter (match-lambda + ((k . v) + (not (any + (lambda (pattern) + (string-match pattern k)) + unwanted)))) + alist))))) + + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + `("peerDependencies" ,delete-from-jsobject (@)) + `("devDependencies" ,delete-from-jsobject (@)) + `("dependencies" ,delete-from-jsobject (@)))))) + (define* (delete-lockfiles #:key inputs #:allow-other-keys) "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist." -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:36 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:37 +0000 Received: from localhost ([127.0.0.1]:42169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRD-0004uE-VE for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:36 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:55992) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR3-0004rf-BO for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:26 -0500 Received: by mail-wm1-f66.google.com with SMTP id c66so2403789wma.5 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=/V8SyXxlRwGomAx4NVz2Zwi1zWAN1TfJYiWpjL6J/xs=; b=jkPaivdPCF8GQ7Cm2gzRArripgh7408PXeYdYxNgCw/RKV2gnmc2e0SPMCs5M/Yp9I 8jGRjAXov79SgAZ6XlNTwv+ihf5LzyDrbORHwRtgtuz7zyQ+5o3seNoOPRIyZY8EJQHi 1LR/DVz3HlpuW5kiMz4s4p02Tc7v/WenAYwQjFl+Oh7Fn0UrsEUTAdmdrWlXKcIwiPg2 BBLdwvXXp9MO0CUYy9eMXLkemCLhCnuFscS1qaAOc2Ykp9M7+A19oLWxGhG4zQezYOtJ o0f2F5q3V5xXn8h2pLtqEc3rHY/iyvKsbzIXICvLEqkZf+GkgPEmWdUEhD4QM3oopCkf PDxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=/V8SyXxlRwGomAx4NVz2Zwi1zWAN1TfJYiWpjL6J/xs=; b=Je+rzZzFUhMFECHoTd+EZVwW7Z8HaO7xTMPPtUfXLLq0CeXhQd7BOhbvmIuKPcYIiO Gt/tz/5Hdhq4tp+6Taa1ViY6qYIaI6VL3mmU+yQebt3AGkdv7YBlxatbgA8quov7Rvjb Y4HliaWTpXKyfyc6ntS7Qe8VfHyThwiP2Yk0AUXQX236sODLwtbUXu9EuiPkRUvVGDPn c8mAJuQAQ9G7EQ7Kjn4C3y4ovrokH4E/nrPq3fSxP2HpTobYf4RISgBzh9CBMLnncwtI WGENndjmNbKgUqwLpj+7gNMhEayMKeSnmPo5Ms5BOngQ4ml7w0oE4bpcWnfr5DwBpt5h +n7A== X-Gm-Message-State: AOAM531yoaUHTRg1jEHtFLUKFZ89p4AOOeITnbvv86sVqBfOAZ64860n Yf9bcmWSMI3kxaKCdIh9h6s= X-Google-Smtp-Source: ABdhPJwdqgfaXftjFRtV/z4ewE5I/hZIrrmZ0krJzXNJzWUevkKOiGTholvxdwee3O0RdEGfU2paQA== X-Received: by 2002:a05:600c:34c8:: with SMTP id d8mr8379806wmq.94.1641493459836; Thu, 06 Jan 2022 10:24:19 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:19 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:42 -0500 Subject: [PATCH v8 04/41] guix: node-build-system: Add avoid-node-gyp-rebuild phase. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <2329a631211eadbc790c3c8ea99aaf4acf473e8c.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Packages with native addons currently try to write to store paths when used as dependecies. This patch adds a phase to replace that behaviour with a no-op. * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New variable. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Packages with native addons currently try to write to store paths when used as dependecies. This patch adds a phase to replace that behaviour with a no-op. * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New variable. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Packages with native addons currently try to write to store paths when used as dependecies. This patch adds a phase to replace that behaviour with a no-op. * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New variable. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. Signed-off-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 54 +++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index c6602b876b..49b3db34ad 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -239,6 +239,57 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (define installed-package.json + (search-input-file outputs (string-append "/lib/node_modules/" + (module-name ".") + "/package.json"))) + ;; We don't want to use an atomic replacement here, because we often don't + ;; even need to overwrite this file. Therefore, let's use some helpers + ;; that we'd otherwise not need. + (define pkg-meta + (call-with-input-file installed-package.json read-json)) + (define scripts + (jsobject-ref pkg-meta "scripts" '(@))) + (define (jsobject-set js key val) + (jsobject-update* js (list key (const val)))) + + (when (equal? "node-gyp rebuild" (jsobject-ref scripts "install" #f)) + (call-with-output-file installed-package.json + (lambda (out) + (write-json + (jsobject-set pkg-meta + "scripts" + (jsobject-set scripts + "install" + "echo Guix: avoiding node-gyp rebuild")) + out))))) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -248,7 +299,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:37 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:37 +0000 Received: from localhost ([127.0.0.1]:42172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRE-0004uS-SN for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:37 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:34408) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR4-0004ri-Q9 for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:27 -0500 Received: by mail-wr1-f66.google.com with SMTP id h23so6553264wrc.1 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=ZpbMkvY4xlji6j89sr8+QTMMtTovCRWwugkUaFqSdtY=; b=VQncw7RqjpH1cuUyYPlH1z7B7M8BQJ6AhebzNgJgsnRmD4lJv9ve4BqO8J3GPB8uQE 5j3L4QJPTKIZwckn1rfhQ27clBwjkp38RKMsXnOT+I/ujjDP2qRlPej2+kz7HSvSMHqK BnTQGdJPtzVT70/wck5VNzQCvcjHH9r/wKDThsAxwkph8JLxe5AxvjzOYCHrUMYDBs/O TuwW4pwJYjey+mq7Z+s1ks0wXhl5rvLa19xJ5dVwSdGxrrDkC40ZJocNnNX+27ycVviL RI9WkmLLRYK2nnRmHS+Z0OqU6iEYnKUvhbAFXg6WCLkZJkv/BUiaAl1hFHMzNZUHB24f VBqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=ZpbMkvY4xlji6j89sr8+QTMMtTovCRWwugkUaFqSdtY=; b=E0haqXR6FnWqPkBKHsdxCJzo0mp0iGddwON287GZLxN+2Iba/0d6R8ID1kRQ2BSrIe BP6nXda4ifrtG/qNjMRrR5IgGGumY0RqhfT+GKJaKoUY1qsbeLhmAFV95golTARMPEqu q9ZTuaHGII1VS+HOlqk6ytyxtcN5pPylEF0zvZV6wUl7ggBJOmV1DtRUeGAURh1YWtQd y2DVZnLaQAOfxpOMB3imNMlWHgVszMBGkafMWLBPledoQADQJe04rDZhzPIBs8fSxTQZ GJY1ytNZ2YhvHLQzNk8ACruz0YqqVhicbsquTOodeERMLAlBWcZtdMnlKRaMJ/5DejNM q+QA== X-Gm-Message-State: AOAM532VhKlLVmPSx0BiCHZy1VuzB7hYQwlKkW4kG9IZh5ZzETtyBZE2 8ibhVvW198arN3fxtDzxGdg= X-Google-Smtp-Source: ABdhPJzUym6eub/Oe6ShLn0XtUy2HfRZw5l1yblAIT+gQ5+ld+6I9d4XzmAa99MaxgsvboXymSspZw== X-Received: by 2002:a05:6000:178b:: with SMTP id e11mr47398455wrg.348.1641493461332; Thu, 06 Jan 2022 10:24:21 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:21 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:44 -0500 Subject: [PATCH v8 06/41] gnu: node-semver-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <1e613c15affcedc09d2b9a60159f8fc46ed06c74.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 51a393caab..47d5c3ecdb 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -346,7 +346,9 @@ (define-public node-semver-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^tap$"))))))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:24:38 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:24:38 +0000 Received: from localhost ([127.0.0.1]:42175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRF-0004ub-DY for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:38 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:44745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR5-0004rk-Nx for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:28 -0500 Received: by mail-wm1-f67.google.com with SMTP id f134-20020a1c1f8c000000b00345c05bc12dso1652966wmf.3 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=XcRBc4ohpuXSqrEJWaWe+x2BY435uWdtdJWriPXs7To=; b=NkBs+4w02V1UROCniHj8c8lPrIaaTIJFoZ29g9kpBMOOfIJ6hTSWXXZG1ocx7jd5n4 MllfQN7HxEulFDkh0r1e7beh9yiXn0OPSVf7yEfRlFAikskgIK6E4dgSj/FbpIKRNcEB vGIkNv0ij7EdmV3VGxyqo9niJ2IUJpGQgWuq86BAR9vthWw4E5eiEBkODtyApwv44H8a bUh0ZbZ9TaNL62OaBuQAD1WKdpxU4Orcos72oKDIlSYR/6wXn0AMDnthm2DMqMMvxHZc DNmBiGpmcx95exfv1Kzr2TWduhhRfQHJFmgGEaxTlgm0g8+jSk3f3D37hiZ6ixcxYSJu IqIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=XcRBc4ohpuXSqrEJWaWe+x2BY435uWdtdJWriPXs7To=; b=bwaNk+lIUTDIKRAaBd8jXh0TcYYKLnpf0SGXbKfwZO9EGrvG9zckyoZwOfS/z18Cfh tsA4O95c2xHqrI3EfW6lN309Y7yDhfvfvaNLmsSYom39ekoH1vQo0RJqaWX2/+tt+NZH 3C4FM4cuvC0jwnJXzXdPBICCz26oNMgE6JEG1lYgTCPVvWY4QmVcSgMTxGZ6QYQu14od vmShVmCEMveRtgCtxl/ZM+MlPTcS7TDUwgB1vtvbK4S2Vo8X10PvRWSxS7S3Q9EVSWIC r91s6mlKy/7BaJOI0ZwwYGnVa2ShE2QvqXSvMX1qdTF3L/XlHZ0+acZCxDyR9OVtoaSf VcDA== X-Gm-Message-State: AOAM5337Zy38k57DSgcdnwnXDhtLodHzL14NNZkdK4KhCzEJWb2zviB2 uCsYdxRLRcT2EzUUu5CaGQw= X-Google-Smtp-Source: ABdhPJwcwHuvVSTeMI4tizrRRdZZAyEsZbHjqllz6/R3PnyApuxK1xNAgRp0DUI/qC7mBk7bsBgcyQ== X-Received: by 2002:a05:600c:384e:: with SMTP id s14mr7929063wmr.53.1641493462161; Thu, 06 Jan 2022 10:24:22 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:21 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:45 -0500 Subject: [PATCH v8 07/41] gnu: node-ms-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 47d5c3ecdb..9a5739b5de 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -377,7 +377,13 @@ (define-public node-ms-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^eslint$" + "^expect\\.js$" + "^husky$" + "^lint-staged$" + "^mocha$"))))))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:09 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:10 +0000 Received: from localhost ([127.0.0.1]:42207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRl-0004z2-7T for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:09 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39730) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR8-0004s8-Tn for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:31 -0500 Received: by mail-wr1-f66.google.com with SMTP id s1so6498836wra.6 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=Ygire7ZG8KLoW82lPgikPj3PNlSwHwgF58e7sDFSiF8=; b=pcQpDisMcyG4gRxLJuPr18M2BHFgMT2t5oZMv4rwTQ4OOammFdH3W4Dx+ThLsdN2x7 NAYDci5KX2Pl/IJoFSP+N6bkbrCCwUqv6FKlSJT3tTwLeAKxXKWVIj+4KUgqY3jinVVC Az4BWyf8X1FqjCtv2Jtu698jurYz8CaRW6N3cYLKe3wuLbVU9Tm16lhj3fic4gUNhauq XFutW7sfqLm3NUI1VZGcOoZw0IY+EVp1aYmz39/mFCp7K5SqA7K3s91nI+FWAhxWKdWa ehFQi1Rlpkc2OaK0t13ykjRs4XxTPtq9T+Br00M0TY38i0mGtwYH48Ll+IYIQNmNMDBl 6X6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=Ygire7ZG8KLoW82lPgikPj3PNlSwHwgF58e7sDFSiF8=; b=3bamlz2W0jMUheD+TCaeKgzN6J7alAblmt/kcb366S5zUX2E5HhqLt1qqotzbr7aBc dUH2q+qeHoDjwY23x4dry71Te0GzvpUnUK/RGOdNEzbJWKcq40MFsfFHx4rfkmFf31E7 hW4rJikAY8JxFUVG3RsTqNSvN5vgsvHkcN90SD0T+ZlCXF4Zcqmr9SmAvPSPj7D/6vOo 0S3gd9UygkcCCL+pSIYQvAIufBLOgQiDFa8jzwt6hSi0QJ6XPMYYTqW1px5EesHvreOR NM1W0Zu8yaDsPE/7USSv+ZHM5Dn/hmHHt6ufPYLH4LPqpSHiNHoLTj+YMo94dS21HXCG +J8w== X-Gm-Message-State: AOAM530mX0maL11YXIje4MI4ChZ3C3J7GgLJd3zoSOAOySGoiqVReqKX NwbqZFjsD0lZhSbBSOCSpZs= X-Google-Smtp-Source: ABdhPJwg7n7VK1Ic9zd5qWGO87QKoRDcKHmfGc1z3VxPGUOQJrqYbZQVvha1irhjybMwQ1jM2fkxuw== X-Received: by 2002:a05:6000:142:: with SMTP id r2mr3221434wrx.528.1641493465414; Thu, 06 Jan 2022 10:24:25 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:25 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:49 -0500 Subject: [PATCH v8 11/41] gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index c86fcc36f5..398982a7b0 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -562,7 +562,15 @@ (define-public node-llparse-frontend-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^@types/debug$" + "^@types/mocha$" + "^@types/node$" + "^mocha$" + "^ts-node$" + "^tslint$" + "^typescript$")))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:10 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:10 +0000 Received: from localhost ([127.0.0.1]:42209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRl-0004z6-No for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:10 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:34420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR9-0004sL-M8 for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:31 -0500 Received: by mail-wr1-f66.google.com with SMTP id h23so6553663wrc.1 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=DcyFndcAf8eX59J4Pcu0pc6qUM1YoWK5tiOuxdIMbUw=; b=XzFoT0y46iWC6j5fTxCQUeFNlnNceYxRVR8W7f0zqtuD5Zj7w81K42oQOBATLAyKvy PL2/uAraB/jqR/qaPo7weL3//KLnuyuO8/2iqQyvG2EgB9oXg5bJ/WJpYd8BN8gCmsz/ a82Iulzm1fZ1rTk6W3cBMx/da9dYK4AHyYVFtQU3hTLgVousajnbP0yTkQQNmL5RYSBD z039zP27fA+1GxcDh+qMvXYqY2sKQNL4tkupvmNs+LGhOEkir0eLAcosMI+r86gmctmV dTcnpubNdWAEhTeXqgJbCTX5wyaYtl2SXMkPEatgbZCDx6B4+sqKqI76x5qyZof5+XRb Cdqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=DcyFndcAf8eX59J4Pcu0pc6qUM1YoWK5tiOuxdIMbUw=; b=Hh8D4EgscekpoayJSFlbs0VjqT08me2lX2QONFYl5NbGKrqzhqqCD3PxVL0OeADo+n aO87t/wLHdCyFFa7nhiiQSZv3YchXZ2/mg1q27SzxdsnGR/Pjl+BtL1aXnYf1h1XoJAi W8tRSWlcSRtDoEptc4EMmNXn5MhiZEX90WBvDmZro5fiRwuMIaTsXsf8ZXrgTQG+/O4y NVIski3LxNYGjlDG1qLE83IyTEwP4U/C5Avnj9BJwSDc2J/QNiicaxvMmh92vewzPt6N p1NG/I9eEiS5qNEveWbMudX3u57ghxmu1YAWc4X0VeVDpjfwkGK0a0+ld52z78T8eu3l HpKQ== X-Gm-Message-State: AOAM532aDfIPqwd2UWbbxoBFoV4HtJlJ3DE5xc6rtJ/UaPlQqyMaziST XCM+IJqT3k7EQ0cZPSMFp1Y= X-Google-Smtp-Source: ABdhPJwZS0ELr55aZBJ2ZsPqbixRe2nuboQLpuonCTgX0JO0Ymgk7UrjuKX6VV4+imwoTUMnqNubwA== X-Received: by 2002:a5d:64c2:: with SMTP id f2mr52586367wri.483.1641493466210; Thu, 06 Jan 2022 10:24:26 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:25 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:50 -0500 Subject: [PATCH v8 12/41] gnu: node-llparse-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <1d656a219bf17972d396561998788dd4db35202e.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 398982a7b0..49e6323a9d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -623,7 +623,17 @@ (define-public node-llparse-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^@types/debug$" + "^@types/mocha$" + "^@types/node$" + "^esm$" + "^llparse-test-fixture$" + "^mocha$" + "^ts-node$" + "^tslint$" + "^typescript$")))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:10 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:10 +0000 Received: from localhost ([127.0.0.1]:42211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRm-0004zI-EX for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:10 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:51913) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR6-0004rl-Ek for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:28 -0500 Received: by mail-wm1-f67.google.com with SMTP id e5so2428922wmq.1 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=j7F0xlrCnJMt6ZCRGlflhmDHskl0pqxebx6uRNfaFfw=; b=mPbotsCFs2hFcg4P7Nmf7FLO7WmJDBy7h/jgCsd3wjO4JpW4Sc4tpy6C8/9rQEywP2 DU+kjjkKS78BEnNXWRa+8FPJjzpKhOOn+2VcedPnlyWsbYz8UlBfBGYrMXiF+GeUUU4N qVW3XvChT09yVMmbeSVWygjpU9KHcVHOz/7H4WhR8AHzVlztoMaGFz9q8Vl9tTheVGvV 5fGAWDTRoPwo/1eBPcjc6r/FJ1o9zBLS/0dUtWTkIfym1H4SYfxdA8OZcoez0jIodU3A JIMQbSD67x1fTeSqhXQzfvIrIQDITbiKBGdsop6Oi9O9K7QvUcAk0RRYRV0gZaDxUVD/ 18iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=j7F0xlrCnJMt6ZCRGlflhmDHskl0pqxebx6uRNfaFfw=; b=Ke1TF3LiMB1iT4aYONqL+gXnxuM+gAACxKWSTwsZu3Gh50tns5pTNzubX5CYumxAk/ B78HxdaPmCUxURxUzeVCoaK4DJAfOYZmWJ65Cuob2vFLtqVsmJlCEuXPCLUzo0DukGcB edOlUaz4fS7hnqg1kQqjf7o8IqqrLgnbcZefBclxm0CINMS+k7iK98ry+Cr/jmW8XXce 3q+Rqfwp6CDpMr8VPf0eUpf/rlVhgrC+GuZ1yvXul3P2sVUcQdgeyrxU6qkdE8oO/9su dY/RAj9DqqRYS0DR7Ac6rgyfq2Tdg/ymszw4VRKJYCFmKSEkygvquldnL4TPI7XWELA8 Zygg== X-Gm-Message-State: AOAM533N0fZhz7bZtI72Iyg8nsikluUQyRCM96HCY7Wr+QUvhuqn5jta wJro4BYdRO8f85h8F/x3rIM= X-Google-Smtp-Source: ABdhPJx4bJcWsdxTwB6r+Bsdx4kA0n0F+mDwdK/EAosOW2VhHGYCEmaopUREgcFhm8TEjlX3tWIIbw== X-Received: by 2002:a05:600c:22ca:: with SMTP id 10mr5143052wmg.114.1641493462999; Thu, 06 Jan 2022 10:24:22 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:22 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:46 -0500 Subject: [PATCH v8 08/41] gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <43b8fa0caabf6ee4b88f818d694865ce538c4aed.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 9a5739b5de..0974c5647a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -411,7 +411,9 @@ (define-public node-binary-search-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^(chai\|mocha)$"))))))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:11 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:11 +0000 Received: from localhost ([127.0.0.1]:42213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRm-0004zL-Pf for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:11 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:41615) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR7-0004rs-AL for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:30 -0500 Received: by mail-wr1-f65.google.com with SMTP id v6so6471709wra.8 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=XQIfl8uxGfjBXkhCnHVA3KbVAWjym/TJ+DEGQtkoXfo=; b=HcSn5zq2jKCDdUiJ/cYJGntY3PNd3A0BLNWQ5yScR47LENzRMw8cjtjajf7Uxe6XsX NV+pZ2+0hDWdMWAvKf1repzvintwbC6wz34yHerSOe8/gUdc+4vGZOHIrZ7wq+WorQz6 fHHry0dNsFdwnyOup7taBGqMGBHM+O9VY8Xe6QxxvO+0ubPHZWU5gBueRRTRaB6k4Cfj l8TyxDe5ii/g41MjSpfuF2w5JZoghCsVWOOUmhqsfbZxzw9sHhULZUFohSqvkxCjCfWb j+oZQImMxFO7He2hY+dNQcy7obAp+nTvArVvByzZch2gIkivyr5O516En3jVQ9Z76vgH c5Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=XQIfl8uxGfjBXkhCnHVA3KbVAWjym/TJ+DEGQtkoXfo=; b=3Oj578SqBcpOJUdKzNr3NLe0DIPv56oQD5MEF0vzUEuIquy2In5SpL6YEgOM1FI4o/ 74R6gl4BktgFYUmULhliTpr5U5bvuh4k1pMJQyDrGMOd6kETG06QY6r5aSZJ644crRYa wGCZH9dX5SBLbO/jdP0lCRdN6GAcI+U+LY+OntpEC6aMeb5lbW0yGyXdWG+Ih5K9acnC krm7C3zFe/1R8iwzCupTs2sRzfE2LA1zCaqVU4xo5LCu/JdVXxRy/PcEskI8OPmpBLP3 EvereSUVqergWuKORztAB4T4wZ7Vjo6fXIJyPQOVcEPH0wyDmhPEfTwhBwO3RFhpX4cE eD+g== X-Gm-Message-State: AOAM530lhrW+jzkJNIkxRoyfMnf4+GPAcV7ifNrrhLfBov4AqYFyp7/U T7/T1uMJ+LKQBITpOL5O42o= X-Google-Smtp-Source: ABdhPJwW0leEFU8xcY8r2cHZtRKCgAwwgH7TyCuj1sCJqafVvLhfaC7c4Z9W3Xc23bHSiMsr0pltBg== X-Received: by 2002:adf:cd89:: with SMTP id q9mr488985wrj.263.1641493463826; Thu, 06 Jan 2022 10:24:23 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:23 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:47 -0500 Subject: [PATCH v8 09/41] gnu: node-debug-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <587fb0d2c6fe2f65c58a85618187b230203dfcaf.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0974c5647a..0b8d958e80 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -440,7 +440,15 @@ (define-public node-debug-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^brfs$" + "^browserify$" + "^coveralls$" + "^istanbul$" + "^karma" + "^mocha" + "^xo$"))))))) (inputs (list node-ms-bootstrap)) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:11 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:11 +0000 Received: from localhost ([127.0.0.1]:42215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRn-0004zS-5I for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:11 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:37851) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XR8-0004s0-2M for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:30 -0500 Received: by mail-wm1-f66.google.com with SMTP id l12-20020a7bc34c000000b003467c58cbdfso3675697wmj.2 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=IFm79RobyjNzPNtKOzfn4q8NDzK2DmdkVVBya7Yrb+s=; b=pDnuJx4Xbslzo+ueFExYXjgoFXWywPUGdoF+/wKi9WyrrTojsso1kjSRmJ6E/Ihqi8 rzhbeNZ0PQBV10y11zrf/V2WgRPdWOCyT459cnjQIZXQG1d4WdaJoIp6Vz4cptW/c9uz hP0aj8m/pM5NRHHRqohDBcxW8Rjz/5HMu8+nx5Vam3F/80Du20PObEJK5Vst7WfJnopU PYwdwvv69g3haqaH7MtwMMl0os1ph5kEXYZ1dmBwAYi97V/PLCF7gkPQrLejXzHVZ5py 9WrEcjwT0sCLwoSI9tgPfV8PBJMAYm3TzMicffeWv6AYo0YxWgy3ciNK0q9GWJcp+P+i TC6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=IFm79RobyjNzPNtKOzfn4q8NDzK2DmdkVVBya7Yrb+s=; b=ntKTZh8zCQP8oXJwQuBjCDt47xzFIHwaJGQH74qygDSx06rMFFTM2Fvc/39oPUX3Om P/pgpnv2kIo44Fhf3qJPLMgJSS8RtPLCtlLkvItX4N3cWJERl+dlp4lqfCwB3AfcDpg+ Nxakpr25nYCKHVEvz46sOs4R0ZwgARTzb7Ju8GxM0K8+JoLxs/fvrNqpdyYrtxPe2BjK KxG/bSsBen6fGqvbd7rBcPV6atZakKbriUaGp2wHcMgCJm2oAp2yzLTemQ32Dw3gV1aJ mQjsec2eCSqAucBF5aT8gA7YC3d6a/bZnHgce+kdsPJEHpqv25L/bKTbH/pozc2KPy3e p49A== X-Gm-Message-State: AOAM5330r2pFl0j49+yabSatoEhjHJyl1Kmyj0yxQ9NB8PcFT+J1Pyqg 2A+KJ3GlryqCV5X/yrl1Jh4= X-Google-Smtp-Source: ABdhPJwLzYNO/DpdqV5Az4XUNrzmD/TnPOhp9aGYpXPuw0S0zo8mU2vfqbwzK8k9r5ZTyH1ySplClQ== X-Received: by 2002:a1c:740c:: with SMTP id p12mr8051193wmc.140.1641493464602; Thu, 06 Jan 2022 10:24:24 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:24 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:48 -0500 Subject: [PATCH v8 10/41] gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 0b8d958e80..c86fcc36f5 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -502,7 +502,13 @@ (define-public node-llparse-builder-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda _ + (delete-dependencies `("^@types/node$" + "mocha$" + "^ts-node$" + "^tslint$" + "^typescript$")))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:11 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:12 +0000 Received: from localhost ([127.0.0.1]:42217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRn-0004za-HQ for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:11 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:45676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRA-0004sZ-Gy for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:33 -0500 Received: by mail-wr1-f65.google.com with SMTP id q8so6437499wra.12 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=sfIqdzIuhYBMU2IRBz4lV/VZiyquMTA/1FUMqz/7HTc=; b=gW+IpaVBDs40roqJYJ9MP+I+OSTg3K7hkgL6IgESdODNlyYQVtL4iKQdLhnuHaufUD J9Y5tmQB+HKBGkMFpvAJ7gO9w6lZAwqzULE1t/7C37zfehxwYN4G8K4VH7GHMJG/iUQW x0gr86hx8/f1AQpsHryDvRSGTMXtvLlppcWhnLgPL+v0r5ZOOl+BncmQ+lX8aDopYBWy R9gGPs34i6eVPn7eJeAGPZZ6/uOy9wY2Xw+Y1gqnN76/BLXNtaGROHAWTyynKMxME/rO 9WIEaGc5UlaLJN7PlYrcunRMvGPrD8ctZD1Z0E+Bkp5i0r13bWrlZLgFNAXmgtC9GQR5 UXUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=sfIqdzIuhYBMU2IRBz4lV/VZiyquMTA/1FUMqz/7HTc=; b=i4yLolLq17eetJGvOfacGZavIk1fxb+/SIO6zPegC7MUbe7CGZganBOMtVYQ2eXEhw qQlGGOCMpidXV6PWIQe8eAiIfQvWYWpSMd2E9hsEQ6Pw2vOImYBamEp5cNvvwwOH8KSn clS0TMpvuWVdxaKLWnXp9WnIwkiB0v+yrgmxB3u/SN44BfUFQkXdUnxSsL5NMTvMPT39 N7lTyycFNQpiIa8Cdt7W+S9/631mMBS4cJr8uYgGqWS4SH1hCLe6rqkOnBHp5crF12BQ pDzadMW+1BgE/XJMvOJNxvYxoV+1LTmSKZT1D0KOqwiM4UzPCOUW31WNlEG4UYkb7kBJ ecCg== X-Gm-Message-State: AOAM533nTH7ohBIBAJ3ZkwnthEsHHdkpDgQbNZYOiPTbyfhC/uCYlDis k3brToOxUldglBJyzUQ5yhQ= X-Google-Smtp-Source: ABdhPJw8d4VUcXLKv34Q407L9EpNyfLb9B4K0OQxmJkoxGyyS5jFZ9On1Vw094vSFXN1O7C2EKU9wA== X-Received: by 2002:a5d:694c:: with SMTP id r12mr52387469wrw.138.1641493467085; Thu, 06 Jan 2022 10:24:27 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:26 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:51 -0500 Subject: [PATCH v8 13/41] gnu: node-semver: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-semver)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-semver)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node-xyz.scm (node-semver)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9a0be96852..1dbae8b0d2 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -288,11 +288,13 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: Tests depend on node-tap - #:phases + '(#:phases (modify-phases %standard-phases - ;; The only dependency to check for is tap, which we don't have. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^tap$"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:12 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:12 +0000 Received: from localhost ([127.0.0.1]:42219 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRn-0004zh-St for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:12 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:44781) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRB-0004sn-9U for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:33 -0500 Received: by mail-wr1-f67.google.com with SMTP id k18so6445389wrg.11 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=lcNoz010FOD2SWGOAfy7PR9BnOCNz7iThr/YsDrzliY=; b=A0kNFALW+BxQpcMxNkPuMS3rmTZRtQG+vB6/E1EBJ97wxHAFmSKYGXyalCaKkV+rUZ uAx+0hU4igIgzCpCqJ2Lp7dI4lTq94DnOmC0MHApxhb/5+UI3qlyk5Ocr6vEB4BziXEX q5pStpgmn28r17Tuo1+tS48iLuPNlG5Te40PObd8aPjx5+bM/Mc8CBpFnOR2OM9zhDrh 9IZMBRlh7WlDUByv/8QjXf5xptXjCkQaiD0ucC5r+B2U+ZXRfMy/eW6NSax//oCYf0o+ xZU7SAgw2XSrjbm7hMgCj7TmmTU70mGASOjqy+wl+adjdB1aXGxziFZDTC2q6A/16vu4 WBbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=lcNoz010FOD2SWGOAfy7PR9BnOCNz7iThr/YsDrzliY=; b=EI0Wlq+4p/VWJAmowreGsLlT4UpiS0s1ziFvp1gRkbNjYYV51ulDol2IPGlMWGv5We tmrQtPLDISSGqQuG49TjFF9Xxi7d9qZeRG1pmff2icS/1fIOMJTLyVXd3CjkiW9Sll/D h2NRQnCqr3MwtqtYwLrF7A2H5cqrfWWvadCR5548g86hFWvlb4xqvIG4FUxSZwQAPeoo m9Sf1ILoTWwaL2++4bg4EY5zod/JWpicOljcXbGd/drnoV/puRMspLUtAsJ8Kl5Tf9Ee OoY1EWyT9YeIgf4zxKBhAwDmRMbFyw6o+RWgtTkQS6wkrXlO9Ub9ownrvGDa6dohbPHx AkOg== X-Gm-Message-State: AOAM530M4CrTN0u1rSESgD6vK+QzJIsq5lYo1UVkh16P7mcsh1CB5pl7 klxBg+fVvwcM/TYBnhPeGJc= X-Google-Smtp-Source: ABdhPJwRbHXwVmC3tKkelVOJ5qSPgkRJG3G1IO3lFReISW9iguXQC1tBD93jwJHymilTvNrb4VpdwQ== X-Received: by 2002:adf:eb87:: with SMTP id t7mr44955381wrn.147.1641493467865; Thu, 06 Jan 2022 10:24:27 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:27 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:52 -0500 Subject: [PATCH v8 14/41] gnu: node-wrappy: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <0fbd94618f9bbacf637d41149b21884220220af4.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 1dbae8b0d2..de11351f88 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -320,8 +320,9 @@ (define-public node-wrappy '(#: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)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^tap$"))))))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:13 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:13 +0000 Received: from localhost ([127.0.0.1]:42221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRo-0004zq-CO for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:12 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:35569) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRC-0004sy-2m for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:34 -0500 Received: by mail-wr1-f66.google.com with SMTP id e9so4973302wra.2 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=KS9LnTdinlZpOcsm+HxAJ4spYidpWKv9Zr7gI98NPvk=; b=VqfBovWn9lvc40DnWHsEckwracIAmxO0obRuFeTX8O+pb+SwnoExY+whgcqiae9EDG 1M6fID4iLoQMeGrXOu8Rajc1TfNvZu897Tg+obE9UvI14j+OT7+mxdlC6Xl0PGpa4xH6 cuB1dEujUhXGQyQlAwnsTwin1PgJ6hnQCchj+1hSCJIag68c3EBeIh034j0OvlR8PbAZ lQv7lxShRsl40QskeW6Z/N+6BGgYbRM/oyGayRAakSIC0X2o7Xs8GtLKm4seEujh3iGh tOsXAirEzHlRXlXiCuJARK4Ll3ePsWfcCwq8yk8uEmnPFyzidMRNGMY/4cVudAZIhl/9 t5oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=KS9LnTdinlZpOcsm+HxAJ4spYidpWKv9Zr7gI98NPvk=; b=7ViK4JLmoKcydMUfPg2BkgfW50vRHc2J18cjtcwlJ05B/qPEofy0ef/d6J23qdK+Nw E5UHNbJrHOKNWY9egrNCU8XL/lZVGuoGkSDZs9z3mKtNe6Tb2yPlL7dejgCp4zAoF54A Ks4zDRVVQTTYJN2YGQ1HM7EltGaIubtKvx0UvjsLub4GlIch6mrtFBx4kqeQ2QGZ9aUF nAUmY3hH9ua3u8nUHw8yiAcFeEui7vwql0Z29Jknz5XxrlSyGrr4lE/i++/EZDMpkW0z g09tCIuoebPVFH5QKdxYQ+xa8KO/qrIG7hh0MFxTbNriY5mpHU1jFCXxAYlvdPyw9Py7 egvQ== X-Gm-Message-State: AOAM531KUvQdyZFrUzBtrBr54MD2ysoFkYVCdxCgXmtHJHEgeIYqKyoo kX1iXasfnkFQOC++4gCMTLI= X-Google-Smtp-Source: ABdhPJyuksyev9zIuJscqcZZNvZtiwV4ALujC8WVJumsrzTOYtcD5ncsVn5IfePhdm9uBr6ajdVXfA== X-Received: by 2002:a5d:6d0a:: with SMTP id e10mr51775542wrq.65.1641493468664; Thu, 06 Jan 2022 10:24:28 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:28 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:53 -0500 Subject: [PATCH v8 15/41] gnu: node-once: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-once)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-once)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node-xyz.scm (node-once)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index de11351f88..75f163a849 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -343,13 +343,13 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^tap$"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs (list node-wrappy)) (home-page "https://github.com/isaacs/once") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:13 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:13 +0000 Received: from localhost ([127.0.0.1]:42223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRp-000500-1B for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:13 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:47069) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRC-0004sz-QO for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:35 -0500 Received: by mail-wm1-f66.google.com with SMTP id d187-20020a1c1dc4000000b003474b4b7ebcso989004wmd.5 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=3Ibk7GC/UR7ispIToJQaKyLcmiMOwbUwzMO19h39ebo=; b=kCK0jMvg6axY0X6CvlXTSkbEBtJ3MaarizOLA2dwIVxjmYIFpIqER+JrL8WZgPA59i U8ubeTWdzP3eg22qchmB5EXI1mBTEPm2zorHsnU7j+eKH1FlF6ISnb25YCrMq1cnGpbp C6F98CJCgJd23Nv7qmSmvZ35kmBMb2EeOvN7gdLYQXw8NeHYThhTRWmuOEHhNZTqvPEc /7+CDDOYIOTTGWX9T7GE5Y/QTHUYUWsQrSsuhkCdEEdYbtpHQIplDIsYUfPW4lVR1K1o K7lxpi1zCRT2TUxDPEtWGtWiTRmJMG1AZyYY7sxGoGX85koz+JhHQoef8Hutq+vunRwf RR1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=3Ibk7GC/UR7ispIToJQaKyLcmiMOwbUwzMO19h39ebo=; b=7c+BsMwXrM1Mw6I8/k+L4Uo6Rw/hDQ16OOt6IFHvksKHQCfT4RX39rbtKPPmYKNPim MBtTx9rXeUyv7crdXfv/1hvP1rZ/Bwe4yu+MZLK5NApX2eE9OSxCfjd2AW7BRlXYVUrP 3zeAE0pRtWkn/RNnk+q3EGhDMo7KcMjRssiqyY1X/o99Ye4oS09R5VNsaxKvX0/0m2iu q2ViRyCvv9NAbr9CWYYyyvv4rOBLXBcNfUpe4q0qwxelwsaYm60XVnLVigjzIQcO9qS3 34b+wwJc0abVFnEoxeuHANthqaFJ52u/RAg7fBJ3V7f9J7DP+7r/Rbdv4FPX5T6tEOA6 FWaA== X-Gm-Message-State: AOAM530ys5jrFD/aX/Mo+DrzR9L5s1TqSkvos4HQakZCJVqZ0qO2WgkK VhyAcKsvImTR3YDjepmgyoA= X-Google-Smtp-Source: ABdhPJwURUZYioUUKDxK6E6GHgStHdPSxHCWthWJwQBHDmXu/VfOaCKgfFQU0HqXSsOw1/G+IP0yvA== X-Received: by 2002:a1c:2b42:: with SMTP id r63mr7933494wmr.80.1641493469388; Thu, 06 Jan 2022 10:24:29 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:29 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:54 -0500 Subject: [PATCH v8 16/41] gnu: node-irc-colors: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 75f163a849..8930c30bed 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -375,12 +375,12 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^istanbul$" "^vows$"))))) + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:13 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:14 +0000 Received: from localhost ([127.0.0.1]:42225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRp-000507-HP for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:13 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:42788) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRD-0004t4-Lo for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:36 -0500 Received: by mail-wr1-f66.google.com with SMTP id w20so6470999wra.9 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=fukl00uMzpxyen6vtabh+jxJ2s6TZRT/LJmDnG2E7Mw=; b=fWKi2y5xeBKRVDJN+lwQx893pNLcwkPg0z1eUFJ2vA38IAT1Awi5Bi/+NLOfWUimwu yhHc/3fhwTvil5dWEBM8svOvNeNyB+33YuCxwxfAB0Hz2IdE3s6aOLVrRjjdo9flT8IZ K+gGEK4JmICrikfwQHszj3khgC3ggpMf+qsuYD9xavzyQaIviUj23WqicSsdrMNOGucF fPUE04vKtf2UTF/2g1Df2wfLGA5wOcA10tFrQ8Kj9UKXAN0h16sPBcig+uXlzRaiK/V+ +O8pbmgpfqBqaUQuOzekzWGzyrMNZX/0fgHhrZc4Yqp3hTxks44YcZeGqAyE1711Flua 3G2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=fukl00uMzpxyen6vtabh+jxJ2s6TZRT/LJmDnG2E7Mw=; b=0KyTCT7fZI0+Bcn9RZ9+SuuJEi1R1idxTkK3VJvPZJzmXLmsE2PpmWGPYzSarzQqIk avnfOxJT9vNR1cuBXDu8EUMW/2EYA41IDDty9N/+DakVXyW4/z/pArttT3sqpyP26WnG Ud1ZJq9TGmjAsXZ1LrVaU8hzPxNrXmSEKzv+r6lkDAtk4WWn5B+v2PLHEo8bdcC1tIjn PvMPz+gnX4Rt/eHmMFyHS02oGO8WzAjGlPfnf3R5Nf5ZBBM3KKCsGCksxIvm1HRpX5GC 78TXO9E/mY4t1pJsriFQMTD/5xpz/Q5qr4HAPXVkSuXGDwsK0vozlV995xd6vGQZj0hz k8ZQ== X-Gm-Message-State: AOAM533DvcZQrD9JyF2KJvKpn13rCvc4db+yL9NxdAZ0EFCxzUjt9mOI NqOKuxzc1MMNFjEA9rtshfU= X-Google-Smtp-Source: ABdhPJz3IBJT2BbWfjpYIYYTzv0qyZ11Eq9uVWxZQ3Wb4L2PpaX14pPdV4kOIqE3x94/SmOSSFTMvg== X-Received: by 2002:a05:6000:1e14:: with SMTP id bj20mr6782823wrb.472.1641493470197; Thu, 06 Jan 2022 10:24:30 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:29 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:55 -0500 Subject: [PATCH v8 17/41] gnu: node-irc: Use 'delete-dependencies'. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <151b391b69e56862214b1dfcb906e3ac9768c18e.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-irc)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: gnu/packages/node-xyz.scm (node-irc)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager gnu/packages/node-xyz.scm (node-irc)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8930c30bed..c2bbe441cf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -404,12 +404,13 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `("^ansi-color$" "^faucet$" "^jscs$" "^tape$"))))) + #:tests? #f)) (inputs (list node-irc-colors)) (home-page "https://github.com/martynsmith/node-irc") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:14 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:14 +0000 Received: from localhost ([127.0.0.1]:42227 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRp-00050F-US for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:14 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:41632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRE-0004tG-EO for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:37 -0500 Received: by mail-wr1-f65.google.com with SMTP id v6so6472327wra.8 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=ZVT0xAJ6G2TTChVhuAgMMM9ntIYu/cBfq8w++8ON0EU=; b=auxwXaHELJ0btvEhyK9R6rIkiC/HdSVu3qvXKMijshiciLczYh+LP4jsjXusOw0Kdo pbYgr0QIqboAYrptRbTg2QBD+jqBPfKStG84YPX7fHDT0dw7L/aU+k84PaSKPaSdGGeI Ghd/vgOGuqK7aScZ4Y3IbIyUBpvnbthPtffPlyfWHue0FmtDn6AIEXgL6vU419Nefhys qGPX01wKxUHh58S+O9/9bCuXWrJpq4t2l41+fyc7Ndz2oG3UN41KkRIX/W7gSjrCeYC6 gYFSp7PDRyGkzXNg3UjW4rqGO0Cpqvjcf3/bvFpgvd6k4VWUmfHXwzq6txNBWyL7Ua7s Vzyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=ZVT0xAJ6G2TTChVhuAgMMM9ntIYu/cBfq8w++8ON0EU=; b=jSE2yoA6cVReZnfeJ781a/32AViAsFAvT1Ar39Z7qHFil5deod99RF5mLk0v5R0SsC CTmHJpL5Aa2SpPR20KElIdi6k34rOJ+RiT0167eF4ZnPMeft2+H0cJIaiHYJFXr+e02p YEHgPk5Rc4JOAQ/ixm2CzXR8QGodN1Qiag0zf3rZ/tIUU35zUthVquyAa5SrOnhPUnlG q2qprpS2WGU/CeAdZZREb6fZAF46GicSQ0RowvcSdGVpOXGuPpvXg53SpmxQimfN3yn/ O4TEA1ClAu6BKsYO55bD2EdtCN/jD8YTj6AbF7ta7u0zdw9hPwHI1pOvHpHfUGYOfNB3 Tnnw== X-Gm-Message-State: AOAM533fgZb8dzqBRE6W0CH7qqVFvtrk6PLSPMOadomnMD/vOYI2AEt9 XdXYvvMpMkUn6F/Pj7pCpc8= X-Google-Smtp-Source: ABdhPJwBNqScUiicpROW6c+gaVgB/RCNpTtAn5E+tsBMcSBmc0+pvllQS23vaQWagJcOyYGc8j/5DQ== X-Received: by 2002:a5d:6da3:: with SMTP id u3mr48748098wrs.712.1641493471022; Thu, 06 Jan 2022 10:24:31 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:30 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:56 -0500 Subject: [PATCH v8 18/41] gnu: Add node-inherits. to: Philip McGrath Content-Transfer-Encoding: 8bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 3.1 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-inherits): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Content analysis details: (3.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-inherits): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-inherits): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c2bbe441cf..99e026f9e3 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -360,6 +361,38 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^tap$"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:15 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:15 +0000 Received: from localhost ([127.0.0.1]:42229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRq-00050M-FU for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:14 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:41635) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRF-0004tT-7y for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:37 -0500 Received: by mail-wr1-f66.google.com with SMTP id v6so6472412wra.8 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=vUGMlqywHdHz3/TSh9X8PRw1RR0mdhSbwQcT2f5rBs8=; b=lHWAJ03xNDXncz0qqxL9CRH504asRwT7FRnijb9MKoOkM2UzBgyLOoEneCWL8RDreo 0sNEYMZNV8ERLx3wKEH384AgRM5uL6cqh9nzSnFgOGHtkdtNEZU8qbkyeHiMO3TNna10 VmRoKcOUZcvOO94JxNwahfhae5iRfA6+f6DAMGbN5XQyJ+s27+U/fDKsAZWv8IBKYvah qbMUfFVpHdLhP+nC2bc9f7HBf+9tpKoo21dLa/bW4BOZIwyC7+gDJe41LfUrVA8MEk6v 0YjrJ3FQw7uFRUojAaIqEEujqhh4Ql+r0O3YyeB4bWPBkdC4fgPewy0urq1WkQUsCpbG UXAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=vUGMlqywHdHz3/TSh9X8PRw1RR0mdhSbwQcT2f5rBs8=; b=2X/eWRvoc3QY+3g3Xj9Ci/hQx/Xilj2KlF46Cl7f9uaGfqb4KonKVgt3XeIWZnHPtZ EU3Vb+Ng0SKCPxsOWqpZc9EWrDWf8z7OJABoH7GdBZZ7GzrgipDeo+6BLjl6ZGpVeCEu mMfF6aGiIV5Qw/5qUZ2rayeHktcoEZKVmHE3cyV99pO9EsrWqZTA9aPZcqKEU8keKuI0 ouySNcDH3d5ReL1C3g0QL9S8+SWKu8P4kJKOyjVpXOe2hoqO5UA7Xzq0Sw909kxu71xI spKtXR/9+wLv41jFsK9ORWmwsNXVE/vI7pRM6qG8Ou0iiB4mg6EGg4SxnYdh/6RXpfC+ cURw== X-Gm-Message-State: AOAM532iWNClXYMY4YBLwigy6E6aT6G0F8QIEnUA3UmTZLdm5Xl4wmf+ NYIDzUvJHUO7A7WREQE1U8o= X-Google-Smtp-Source: ABdhPJy5XxPYXqv/dvpXyVCkRZi4H9+mu5iaku2MjfV6OitlyFAu69+dNhgLgLuAAevwxEhniNhQVw== X-Received: by 2002:a5d:5310:: with SMTP id e16mr50712723wrv.91.1641493471772; Thu, 06 Jan 2022 10:24:31 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:31 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:57 -0500 Subject: [PATCH v8 19/41] gnu: Add node-safe-buffer. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <1a173136a3d7252d8770d7b61f45427f4f35c629.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 99e026f9e3..38491b4f64 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -393,6 +393,36 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("^tape$" "^standard$"))))) + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:15 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:15 +0000 Received: from localhost ([127.0.0.1]:42231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRq-00050W-Vz for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:15 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:39750) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRF-0004tW-Vn for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:38 -0500 Received: by mail-wr1-f67.google.com with SMTP id s1so6499402wra.6 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=xP9Z4kGBd6rfctJ5YDWL0efl8Wi5FKLlpw0HuAEJ2I0=; b=kHcs0ddMttBwf5Sn6dRHQbaGvPM9pSDIsZrqx1FrOkF+t5pS1JmDcp0Nf3hZ7M/l93 06hDtkhDDaUMFS8rrn0N6XEuOTkkLD9zahSmw+asdKRfEq19+4KxACCfiFGGlj/hwwNj YEfDGmwEI/XYZ7m76QWcdwJ/WIh6RoaOCQbwjVlH6cceYjzswzmow8e49oAdVC73nKgu rT5PYl6c5dSyA/Q8urqFTOg8ejwdIizMcmR0vhDyS7vBBl4q39Bncc03Vz5igZUdxvFv OUsNKP82rMTAw3XhWcccjSlvgh5RNfl2sBvC5E4zGrXWZIgnElSCh+NR/2VCFQWmzmgQ F5hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=xP9Z4kGBd6rfctJ5YDWL0efl8Wi5FKLlpw0HuAEJ2I0=; b=tz20ElHy+bkDRp4HdhcQSAScciRbkoM3CwnidA8Z16uIvwXzcYkSMuhAIpMTACJIft pMbLvGlPObidVCi1EM819qRZXbwCLGiG5kK/0xudiT4X4T2EVhlgc0fjqfHyvnunZVRg bFL4HEnp1O7xD+J/1f9VDtBLnjMOVtcOv4+hVDFNSPWb8wbN4t3DJfQTxpHnIw/D5/xw At3GaWUEI6EFC2aI5PQzFdYtf/8yENSd62rcGAKbMrrmk3hTZdedSBIYlZXutMPJZee6 +Pt4ISuqD3lFS8d0GjJl3/tmMdHWblHfUJrYgRPyrri2TUQohETWoweEGBbKvMTYDJaF 6FKw== X-Gm-Message-State: AOAM5314dPNnVXmLDms8iDj8JdnyeF2RaeMHu5clt3mRz9oEGKKN4qF6 EVriHkanRSxyKm3eqIrdJKk= X-Google-Smtp-Source: ABdhPJwOvNp/4Em/qu33Y5hilsYn+g4Xyy3oQ0vxwNn60JCO8AldBPhetbj+TJlwVjBI5OxAKBqHyQ== X-Received: by 2002:a5d:47aa:: with SMTP id 10mr52132651wrb.455.1641493472573; Thu, 06 Jan 2022 10:24:32 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:32 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:58 -0500 Subject: [PATCH v8 20/41] gnu: Add node-string-decoder. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-string-decoder): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-string-decoder): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-string-decoder): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 38491b4f64..c833356703 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -423,6 +423,41 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + '("^tap$" "^core-util-is$" "^babel-polyfill$"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + (list node-safe-buffer node-inherits)) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:16 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:16 +0000 Received: from localhost ([127.0.0.1]:42233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRr-00050d-Hg for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:16 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:42797) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRG-0004td-Uf for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:39 -0500 Received: by mail-wr1-f68.google.com with SMTP id w20so6471251wra.9 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=unK0G2nHwfxwOPfgXsJTKwKMpUfsIBfQuvh38fWs6iU=; b=TLrlcTEM8yiwo8LItdDwE8AyCKZf2uwxWeJ8lyyZ+4CphMGVbkcD1NDnv/dFA1Kyrj LxVx5165vkbR3RMmsKpBCk6ioITSbx/DvHNojuQArRhS6WR6bqc82NnQOD7Ab0UlEUTu fNTZAmuHja82GF5PKSDPNk/Z0VPpw7DiYUZDMX+243cDuJYdNFEiknusBIxKlO5OYMUD 8Y+EbvXynAqkewuz9G3Hsy59ixwLxpiXJoE8ZQrmvte3tR3H8E3P+cUVzuquiUu/3Hwm 1i+UYPNV17clKoPSGdPQrQHofv2bIlPntBinqQ1iN0o98s1Q+l+zFLToPGaXMipexvhb n68A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=unK0G2nHwfxwOPfgXsJTKwKMpUfsIBfQuvh38fWs6iU=; b=m/oWI6wSWJwMKuhsui28KcpJQA8bDMOYJmFVBJ0SlenommJmaONJrwRhsSlC+ZsWGD SRumUR9pV/Q/HU9APqvgNv9of0Jm4ZP9ooCcjPjz57I7rP+tgmCEozCncb2oAI7neT8f icmRWBqriR0zvP2PewYdRX0XMplP0QqG99TuiasxvRz4Lrl1vqH60S7W84xEghMtTG8f CDf30wy+4L+r4QKj+ZWnSu91Z7mpgoJRVUCD1kc7aBxzUqF9d5d8epPPpFpqn2WcS0e/ dQycIBYWxlGw9An9lYuDLR/44Q7rXdFjq9Nl5bxAby51bhNzJTtU5H8VUgmPQGR3/49i Qdqg== X-Gm-Message-State: AOAM532I8dr6PtRlrVND4yHeayNhCkwS/N9DuT2g7FRZI8Qq/2AeMjY3 JeAfLwhZqJDvUCCXF7XHFiQ= X-Google-Smtp-Source: ABdhPJzRQC5ZWI1xI0dlQKa/J3Aklp8v4j96eMHhba3CfZPG2rfrXquMP9fWDLo1ZK0FXdo3TuYaZA== X-Received: by 2002:a5d:584f:: with SMTP id i15mr54007066wrf.542.1641493473403; Thu, 06 Jan 2022 10:24:33 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:32 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:38:59 -0500 Subject: [PATCH v8 21/41] gnu: Add node-readable-stream. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-readable-stream): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-readable-stream): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-readable-stream): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c833356703..9bca308dba 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -458,6 +458,57 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^@babel/" + "^airtap$" + "^assert$" + "^bl$" + "^deep-strict-equal$" + "^events\\.once$" + "^glob$" + "^gunzip-maybe$" + "^hyperquest$" + "^lolex$" + "^nyc$" + "^pump$" + "^rimraf$" + "^tape?$" + "^tar-fs$" + "^util-promisify$"))))) + #:tests? #f)) + (inputs + (list node-util-deprecate node-string-decoder node-inherits)) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:16 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:16 +0000 Received: from localhost ([127.0.0.1]:42235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRs-00050l-2e for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:16 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:42799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRH-0004ts-O4 for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:40 -0500 Received: by mail-wr1-f67.google.com with SMTP id w20so6471321wra.9 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=u1Q8Df5/hOM3OLMWLYMD6ERNRv8cq51tC4DQbEzmxQM=; b=GZLMD0kyttEXtw9Svk53+KH2VzlNEDk+WOnr2gT5haqsjn2cxwyYdD9+TeqfblfJRR MP13pvdrxSv6wQhcjzWRI/Q30XsmjAlNCXi8H4VmOl5tXArhpT0Z7VUVGp884+imM5XE LcKaIL2m7M7hfUr2X09YiG06MIfO5EOI41KyAhvp6M6DSfsOoUk0VSad0frRYnP0QFFC tGsQ7CGVZavkls49YpcRLCbayJ0x5xXiv76AB12hv6eJ0jc+JhXpGniCu/ExWXRJrv+B x4ZBkR5JWMlytkwLDqGtKQTNh+3YMC7ZHyaF72EGC7hyXxz7TqEGuGetO+XUmCRtZ5jy eeMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=u1Q8Df5/hOM3OLMWLYMD6ERNRv8cq51tC4DQbEzmxQM=; b=HfwX56OxIvn/UweueqyQEsUPoOOR0ZkOPEDIfRCMU6Inc6hAlwUDDMNC8/WdwvpoN7 rI6aV/7p57Xz/ZTkkElsDhCJHikc+oux676XR+Bv0BKYGxgbbwszrwF/8ojKwgN3dIwY 4sEeNaRx7DqvHnRQE1QNZi6ynZd3lXD2IRh0OGqhCjEyK3herZ2OFZrd9oLsFYkva3uo eETq5o4yh2EP7oZHaypGROCtjSlz/llax+A0lxWfcqY8FvqXXuJB8KjDlNnL3x0vFkuL SvZBNGeaAoBH56l8m6XJgRvo6R/Yw4ez8yldTEtDDCSiac+LtIUHg5lmvEQzKyQi+Jqk 4cpA== X-Gm-Message-State: AOAM531JbEF7J1IfxJ8M9h6739XwW4aZESdS9OfcIzAjnp25Va8TodlC cAOf/5MVTibFEII1UZVKAP8= X-Google-Smtp-Source: ABdhPJzzyn7hqmEJlsckCaWPGNuRlYKNcaaglgi2MOGnrt5TgM4yHPwqjsCwCo4ujOF3KIORAjallw== X-Received: by 2002:a5d:6c6c:: with SMTP id r12mr52279776wrz.532.1641493474262; Thu, 06 Jan 2022 10:24:34 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:33 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:00 -0500 Subject: [PATCH v8 22/41] gnu: Add node-nan. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-nan): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-nan): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-nan): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9bca308dba..c689c3e3c2 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -567,3 +567,46 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + '("^bindings$" + "^commander$" + "^glob$" + "^request$" + "^node-gyp$" ;; would be needed for tests + "^tap$" + "^xtend$"))))) + ;; tests need tap and other dependencies + #:tests? #f)) + (inputs + (list node-readable-stream)) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "Native Abstractions for Node.js (``NaN'') provides a header +file filled with macro and utility goodness for making add-on development for +Node.js easier across versions. The goal of this project is to store all logic +necessary to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:17 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:17 +0000 Received: from localhost ([127.0.0.1]:42237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRs-00050s-If for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:17 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:45695) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRI-0004u6-GB for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:41 -0500 Received: by mail-wr1-f65.google.com with SMTP id q8so6438098wra.12 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=EU82oOZgzvbzGzcfhyDSfqHTxqoc3qVNnYhPbB0eBR8=; b=caP12/Z2JvBKjhJaq8cE1YPW50SUKTXxqOQv/47pau8D7qC2OYWXhyZXbDiOwWt3/d inU9NXkCwpmSGVl9cmjqbVe+AFHqI4X8uIP0EKO4+N6VVOzdrqD/GS2FltL7RdLGOKL+ mrYU+ZAiPuxURQbpqVI+cPaAW836pQYiOIhOWvI1OKiC6xx8esUMEEQySG2ENuCMCsMj FN3FJjOUXK29jlImBFfjnBCRxtpbNdmq/tGnwZWYFxJ+xYmXGcxIT+NpiALCCWjg6KFm ojjNlwkMCEvkuQYKNnyATvVxHVYLmFvwBY0r1SlvC3aaND2yBBVoHMsWtmBoPcE8fbmV J9Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=EU82oOZgzvbzGzcfhyDSfqHTxqoc3qVNnYhPbB0eBR8=; b=a0nEyxpIsxt80FbygEh7JohQrVpICqQ9l6sQ/QDMYTa0DqNuE3+3GzmyphlAGOWNCi JUzysk3kFJWvu/Z/Gw2jXNeLUaB+wW83w2KJHjkvFNGJC7okqqA0MUxYDFZACLekQ33N 7ZpaV4qZblBM700ftLF4zmPOaUKz6qYDoLWBdVyl+t8PdRMPlWMKhmLx78SZCa7HywvZ iT0ieKsKm3Uf7eDn8afI23wmTVLae0qMM4ULtNkXMNZMxy4X66I2A0FBxF4UPFmS9bAG stxIqjFBh8vOszf3nnRgVSVLb/yjGHzHTdODrdsZ3lZEgbNqXeFfd6snZsEYyLt8i14+ Lkjw== X-Gm-Message-State: AOAM530KlSckNJJ99EJVfbHLKrOJiDzjGjs1nhhAl59twcadI+3ubXVH LRtGwb7NkhFpuR/95wqhEZs= X-Google-Smtp-Source: ABdhPJxVRQrQsnYpqwfN9XVTGH0ouXjq5wqVChZcR4ba/JiukC7nc0JKuowqGyvAo9JEwjLBKqoehA== X-Received: by 2002:a05:6000:1acd:: with SMTP id i13mr50205158wry.652.1641493475051; Thu, 06 Jan 2022 10:24:35 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:34 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:01 -0500 Subject: [PATCH v8 23/41] gnu: Add node-openzwave-shared. to: Philip McGrath Content-Transfer-Encoding: 8bit Message-ID: <272c63ec24e01a9bf50503219a57431cb1cdbebf.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 3.1 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/zwave.scm (node-openzwave-shared): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/zwave.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) Content analysis details: (3.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/zwave.scm (node-openzwave-shared): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/zwave.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) 1.0 PP_MIME_FAKE_ASCII_TEXT BODY: MIME text/plain claims to be ASCII but isn't -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/zwave.scm (node-openzwave-shared): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/zwave.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 4d8286e334..3e99bd7687 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -85,3 +89,63 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + (list open-zwave node-nan)) + (native-inputs + (list which python pkg-config)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke (search-input-file (or native-inputs inputs) "/bin/npx") + "--call" + (string-append + (search-input-file + (or native-inputs inputs) + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp") + " rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:17 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:17 +0000 Received: from localhost ([127.0.0.1]:42239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRt-000510-5N for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:17 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:42799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRJ-0004uJ-AV for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:41 -0500 Received: by mail-wr1-f65.google.com with SMTP id w20so6471401wra.9 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=GFOcojuJHAXghnIVrq5k1VVXU4bocim1vyybjshe5b4=; b=eZItN79yOVGv/3Jz/ipi1sGbzSpz+ylTgIlg00qGQxrxsScWVoHnwT5ClgN3cGzWWh estRKGvTHUc28czbqyWX2LWH4YJtswoFFd7mCNKm1fEew5/ny6vlfuavS4N3Ihhl+njO QQgMKhb960TFeytr94Q/QGU4qB92Bxa+ccBbEEoK38FFJWr1wmEjV1XFDeHJaJIPB7vb 0UXBm3WsYCur2VNwfz+YC0Tu9muyS50p1kq8vzP0SakBjZpQDse8YL0Yz/WyzX8hG/qc 2a5MN+aattZC/ZmhzHO8JmxsTnLxk0AqoWKMxG7CFpTIAPRySrrpAqF1zFJpPTZP384H 9A8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=GFOcojuJHAXghnIVrq5k1VVXU4bocim1vyybjshe5b4=; b=W/hGWalEM2c9/lqGY1fnCETF7TmU0RrwMl30KFssCC40+BoRSznzy9KQlohYlS890a h7vAz748DV0kM9tyo1Zr4EnImRf+nLCOXoVUuajlg5Jh3i1cMxRj5ZieWc0nNY5z8Fc7 sW7r1ybs0tLnerp7MXIhp+Zm5YEtgnr7CH9otvlLcuN1l+hSOJ6WKWnzFT3IFxFtjjXa Wze4cjueN5BEPSkYcCUOhmGBcym/EcJhdKmqN2qrybWb/YDzW2ptImdRj3WEOTQEVL6o XvccMa2rH0dqtYCm6f3aaKL92pfbAXXNyaTUCdX/dHmdqZn44F1e04c3IY7V4nH8JkW/ CP5g== X-Gm-Message-State: AOAM531mfcka9qEZrhMntxP9QIUsR+nOahAHVfWGHzWoCAEI9TGp1qBb 4NcJV0vpCibQNZ9A8uZQkoU= X-Google-Smtp-Source: ABdhPJzg+rYrui874SUH7Z6JM9rBfAiLlo3L3zcsZ9PBH0ybKqm/cTfMj2KS+7xsjgIUx2gGilXeyw== X-Received: by 2002:a5d:5985:: with SMTP id n5mr52063310wri.63.1641493475840; Thu, 06 Jan 2022 10:24:35 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:35 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:02 -0500 Subject: [PATCH v8 24/41] gnu: Add node-addon-api. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <957e71aeaac9f5a91648d57c10cd81b59efc608c.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-addon-api): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 77 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-addon-api): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 77 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-addon-api): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 77 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c689c3e3c2..325424f8ca 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -610,3 +613,77 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + (list python node-safe-buffer)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `("^benchmark$" "^bindings$" "^clang-format$" + "^eslint" + "^fs-extra$" "^path$" "^pre-commit$")) + )) + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (define new-test-script + "echo stopping after pretest on Guix") + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons + '@ + (map (match-lambda + (("scripts" '@ . scripts-alist) + `("scripts" @ ,@(map (match-lambda + (("test" . _) + (cons "test" + new-test-script)) + (other + other)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:18 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:18 +0000 Received: from localhost ([127.0.0.1]:42241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRt-000518-NU for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:18 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:35585) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRK-0004uX-5F for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:43 -0500 Received: by mail-wr1-f65.google.com with SMTP id e9so4973817wra.2 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=cJXypJ2ZP6BF1vGQBSFaThqniDAoor2NhMeFupIaqG0=; b=OCLOmvj1SZwTG+hON8Zbg2q8+3vixNFLbViymfaY1rpMUA8WSHMGy0vZYOUrXw/6ve xVn+jOK34zuH09gwAiKsc8499ObCuQJurfwODtxlP4SIim1ksa1aTCqjTLoU6TGxT0x/ q0owA1bP+NhpNsRXGO3+J0Zf6MfzseWDLsm4LlvfLwwHz2Yz0CuWa6S2AR3FUqtMncUF fXo5ZkcBxoNdjw50Ss3UXqyLZKdbMaSy+hOsSvI9FiosCF2pnYjsJnsgXxnTOjDn1EZq QUd4IVYmW5FeR4AdSP4uDcgSst3qIK8OvRihsHEQ5xhh+L6l3l8kF/EOY2X9NTE6bWza JS0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=cJXypJ2ZP6BF1vGQBSFaThqniDAoor2NhMeFupIaqG0=; b=MZqYJomQ7jjtKqNvEgoLRxVYB3+piKFh32cmVi3ZN60Mk8pkm4uA3EYOUMQKoY8oB8 qsLXm53Fo3gsjOlmYnFj1I+8kFNjXIbvvA0HC7QXMsrzeTTH6bhucbYLQbpd0TKehWWI Ox/Gy4t/5vpBu++OaMKrMtsggUYluHVjQhgsJCMUi0eHePbLzCQQDwowtWuFzN0XN8W5 msM3ivrwX28Qw/CB+Ur4fJaLGYSB6wgir9idG3CTcAvhb7dRfHP2YqjUNHNZDNr3cOkK WFnvZvP/yGJ0+WiMOG0MLJrXX5xnQFioOJheGiFzEvt5VgatUgnK3eigIwcHHW3a0cNn KIXA== X-Gm-Message-State: AOAM533x4UFiak5dM+1f0PzZErkuqL4p/Jb9B3NPp+8T6ar8pWxpK6Gh kFgjAY3UDBx1qUBYx24eETk= X-Google-Smtp-Source: ABdhPJyTAWyJvqx0yHStLOGTxVm0E5C17JoP74P0HCxTfG1c3nmY1ej3FGjl6auSlht61fxGN430uQ== X-Received: by 2002:a5d:6803:: with SMTP id w3mr28617352wru.673.1641493476603; Thu, 06 Jan 2022 10:24:36 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:36 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:03 -0500 Subject: [PATCH v8 25/41] gnu: Add node-sqlite3. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <2e34122a1cfab3fcc15229bfc613613dc34f2070.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-sqlite3): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 130 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-sqlite3): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 130 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-sqlite3): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 130 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 325424f8ca..c22291f66a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -687,3 +687,133 @@ (define new-test-script @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + (list node-addon-api python sqlite)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:tests? #f ; FIXME: tests depend on node-mocha + #:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries or + ;; falls back to building from source. Here, we patch out + ;; all of that and just build directly. It might be + ;; better to patch a version of @mapbox/node-pre-gyp that + ;; always builds from source, as Debian does, but there + ;; are a number of dependencies that need to be packaged + ;; or removed. + "^@mapbox/node-pre-gyp$" + "^node-pre-gyp$" ;; deprecated name still used in some places + "^aws-sdk$" + "^@mapbox/cloudfriend$" + ;; Confusingly, this is only a dependency because of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "^node-gyp$" + ;; These we'd like, we just don't have them yet: + "^eslint$" + "^mocha$")))) + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + ;; We replace a file that dynamic searches for the addon using + ;; node-pre-gyp (which we don't have) with a version that + ;; simply uses the path to the addon we built directly. + ;; The exact path is supposed to depend on things like the + ;; architecture and napi_build_version, so, to avoid having + ;; hard-code the details accurately, we do this after the addon + ;; has been built so we can just find where it ended up. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (search-input-directory outputs + "lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" + out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + ;; We need to patch .npmignore before the 'repack phase + ;; so that the built addon is installed with in the package. + ;; (Upstream assumes node-pre-gyp will download a pre-built + ;; version when this package is installed.) + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (match (assoc-ref pkg-meta-alist "binary") + (('@ . binary-alist) + ;; When it builds from source, node-pre-gyp supplies + ;; module_name and module_path based on the entries under + ;; "binary" from "package.json", so this package's + ;; "binding.gyp" doesn't define them. Thus, we also need + ;; to supply them. The GYP_DEFINES environment variable + ;; turns out to be the easiest way to make sure they are + ;; propagated from npm to node-gyp to gyp. + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))))) + ;; We need to remove the install script from "package.json", + ;; as it would try to use node-pre-gyp and would block the + ;; automatic building performed by `npm install`. + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:19 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:19 +0000 Received: from localhost ([127.0.0.1]:42243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRu-00051H-JV for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:19 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:44799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRK-0004uk-RA for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:43 -0500 Received: by mail-wr1-f67.google.com with SMTP id k18so6446025wrg.11 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=ailwhcUzdrjEJ+BOTqKfxpQQZ6zv3lgwVsLtTeJVUaQ=; b=O0kqFHp7Z4K0mR9RMrzfN8xY0eA5YIiGOwyUy5PaxM1vm+FzqiEl2I66/XU06w0FpJ rDr3wNMRAoS/rv/nKlDh+2Ka68oMewaLHu0r5YT2IJZwJFnnhahXv1Z7kvJ8nhCHDqpU ar7/53eQ4i3CSioEDRREMtAq+doW1HmEfTX5mj2Kt+EAXLdTCf6Sk77ii/RAmsjLSt8L AjP8Y4kjjx7RHTtJnfIzF4euFRFfrMEaEhr89iqezJxTUiO9M1TcznLxFQLREQBGXH77 LQIh6XtG5EY1r/y3XZrZeBX38Cf8tQTe+V4wpUcZW53iOxDlLyjb6xHtDrG90pwFDgRs tb2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=ailwhcUzdrjEJ+BOTqKfxpQQZ6zv3lgwVsLtTeJVUaQ=; b=Tm8xKmfY2tqShWOBn7ZbTrAEi+zXDJ4K2HM+jEVuvt2ksm9tCMJWVs3SWb4GmFU49H 6uXZRFjFkd0Q7WGVToOFYtw1/VryhSn69S1Cwwz+xuWce+IlF332gxUDsW25vRMtdAz8 jUJR12uUi6Dj+rmCFWDGr8L7519ywprd7/jMgixaM79oIS1MK+GuQaQO+QJZ2JoeejDr ISprUhzB6T496Pylq+/fYCC0K8tsbPudmft4Toc7f0EnBiyb8eHNfta82wH/LRvgQCaf 3sKBZ4ee2SEXjHJzFXz9YMwl6k6F/yIT4aC+MDuBu4riCHArUSh658v3qBQgN/XQH2n8 BTeA== X-Gm-Message-State: AOAM5317JL1sHobiPIfzxl77cpGR3zILA6Zmt9yjlKQHL80jHctXSwtQ hLPjb8zGQn0tCnds6sQ89p8= X-Google-Smtp-Source: ABdhPJwGcCNxIVeTbz+pkhbZCgD6oHrui/iVsWSG4qDiTfect5Bs3zds4faUU6dIxR6gfwJxpKsN0A== X-Received: by 2002:a5d:47c6:: with SMTP id o6mr53349026wrc.326.1641493477416; Thu, 06 Jan 2022 10:24:37 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:37 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:04 -0500 Subject: [PATCH v8 26/41] gnu: Add node-file-uri-to-path. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <87b517521f846892f5975b146e70703e02df82ad.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c22291f66a..d3dc7c0b2b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -817,3 +818,48 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + (list esbuild)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `("^@types/mocha$" "^@types/node$" + "typescript" + "eslint" + "^cpy-cli$" + "^mocha$" "^rimraf$")))) + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (search-input-file (or native-inputs inputs) + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "This package provides a function to convert a @code{file:} +URI to a file path. It accepts a @code{file:} URI and returns a file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:19 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:19 +0000 Received: from localhost ([127.0.0.1]:42245 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRv-00051O-3N for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:19 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:36565) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRL-0004uz-MO for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:44 -0500 Received: by mail-wr1-f66.google.com with SMTP id r17so6522662wrc.3 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=/woAOHaNZMIaVEJlRWfgV52Fs2xoXLHap84TrS3PZj0=; b=POZwcZquRkQcto6wcwFUEqsdjkgaaUHqfT04X4CpMpHf9x6ykRxq9/7Q5TU1Xb9Pup L6vaceP12eTETYtekZ4n86cg69IRGuvXWfSl1k1BoWv5b8XxJaD3600iYfByB6jLJjX7 ztGAKqSW17/QriVamUlujccheO9dJLSapUa+XmG48i20OQ9cxANj9slStPVtG79fRwGP U0cEiWMQiwfFYRS0Q1FM2hZTtekUmztr4KKLjeArmW5ADfdPG1bHehYoq0UHjd/lzuEj WiTn9o8J+lnr4MuNNyHi4dYOVqEOIORYun5RRTqohMdWdCpdalLmILZ2fZwuakAhV1s8 qXlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=/woAOHaNZMIaVEJlRWfgV52Fs2xoXLHap84TrS3PZj0=; b=qpCmncSEPFXgXpunXhU/iTALIqzxeqG8FzVuJqe60zf00omMWRW08BDW1dOLXblgTh 1PmeTZVokDmlZKm7jyBLplqrxNAxadC1u08oc/unNVQxQFXzj9BKtZLTXDEzH/ToFZF/ TE0IJo4Kj5JSjd6+dH5AdBkeRBgaufLc/GwZ4cKcmlnRCZqmowot2ZpGQIUnLCcebbsB dFa9wOJtOiJOVVYiaWqxRijL07v/s75iQfZElai7O7i2xENzf3fG0ElFgCHer+/28nIB jIqLpSK8yN+CbnvTdSAkya8UxNgxdhtZhRR5tz0650rs3rochkvyUyfmxujDNzPZ2LLU eYtw== X-Gm-Message-State: AOAM5338gpt+XePRj9IOC5D9Elp/pFfRD7NSc2ro4yUG/rJh2Gc8W17+ ujskWLeF0HK2pYN+GEAh5sQ= X-Google-Smtp-Source: ABdhPJzJZGicOmhdD9YprxN4gTW24cpAutXZaKmM0DnViQ9CZZ8d190t3eCVIhvFgKL/LnCRriObIA== X-Received: by 2002:a05:6000:22a:: with SMTP id l10mr51018461wrz.39.1641493478234; Thu, 06 Jan 2022 10:24:38 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:37 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:05 -0500 Subject: [PATCH v8 27/41] gnu: Add node-bindings. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <39cc8361abe7e6f18354fc3ce5b9d433c1344d59.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-bindings): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d3dc7c0b2b..df4342a3bf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -863,3 +863,29 @@ (define-publ [...] Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-bindings): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d3dc7c0b2b..df4342a3bf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -863,3 +863,29 @@ (define-publ [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-bindings): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d3dc7c0b2b..df4342a3bf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -863,3 +863,29 @@ (define-public node-file-uri-to-path URI to a file path. It accepts a @code{file:} URI and returns a file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + (list node-file-uri-to-path)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "This is a helper module for authors of Node.js native addon +modules. It is basically the ``swiss army knife'' of @code{require()}ing your +native module's @code{.node} file.") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:19 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:20 +0000 Received: from localhost ([127.0.0.1]:42247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRv-00051X-ET for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:19 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:34445) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRM-0004v6-FW for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:44 -0500 Received: by mail-wr1-f65.google.com with SMTP id h23so6554758wrc.1 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=Bp7mmjE4Z0YlTqnzYF4Xp6t4WHfLL883v3RBlcr3CtI=; b=AFh/QCwtx9/Si2mvbJJQP0/c9yQiT1kuEUAKdt93wQmFS0CqqOS0vgbPu4vHRy+n6W aTWc+jrz9PjqLBnbr9o2jlcAxTOdPIH7zCeHcKzJ53Qr0H0+PVDPlWcZFcSTWffX8mOM qDJwutEITsV/mfc7ieNHGeL5Ryuj9gAP9GFt7IvqnnethlUUq8KzyW8DYHawp0u39ntS I9ZcNbAR1w1j1m10ty/FD7bWy+4wbCg2AkXpdaySZbME69lYEl6Kb2XgBUlz97JcTSbN nzDFHCJQK6UeyYcQlb5WqEP76ObXcXeoeZbvglBhLFAjPs//fKcSp9B/6I3gJ2FCFtQJ gJVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=Bp7mmjE4Z0YlTqnzYF4Xp6t4WHfLL883v3RBlcr3CtI=; b=3Wmnc/dqJxvpsNDFv4qRah5C14HR0rbsjyy42xOLZoHBmJZicYw9cJOznE7M8GXmlr Vv+N2uDX5IZuIudfMwVG03pj/+fwmAvHLPDGYXEfLSEAGt8+O40HRiDT9wVF2k8WWsRE tybFJCc+1NoKhQNlC9Rcy/7BPWop/cfnQZ6Kn8kwpCTfIdseCuIs0fms7Wqr/9uvYlUD 3J1fKtA9oWrF3EC40Kh9HGselSlajvtti92QdZ5kE6sy0s9vm92HSi/RkWB2kvU4W9lD WPBcz9tf9Jw3gdwgD2s1racMli9K3o7Em2+bi/u/SRzcuFL5zTH4amHY1yOlsVA09lmU 2hxQ== X-Gm-Message-State: AOAM5309BON/v/7lOpTdycLnYK3lVafhIbQpu57ekv3n7IWHkwPQ9/PC OSizei+hLQwo8BDBHIRtYmI= X-Google-Smtp-Source: ABdhPJz403C/eNRtb48M0eyGXz8TzCPKSlq5LAtMq0kr67JHvYmQ5R0p4HX9dlDFw9UcRvcpTWaCnw== X-Received: by 2002:a5d:6d0a:: with SMTP id e10mr51776113wrq.65.1641493479001; Thu, 06 Jan 2022 10:24:39 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:38 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:06 -0500 Subject: [PATCH v8 28/41] gnu: Add node-segfault-handler. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index df4342a3bf..e4cfb1796a 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -889,3 +889,32 @@ (define-public node-bindings modules. It is basically the ``swiss army knife'' of @code{require()}ing your native module's @code{.node} file.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + (list python)) + (inputs + (list node-bindings node-nan)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules and getting stack traces when things go wrong. If a +@code{SIGSEGV} signal is raised, the module will print a native stack trace to +both @code{STDERR} and to a timestamped file.") + (license license:bsd-3))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:20 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:20 +0000 Received: from localhost ([127.0.0.1]:42249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRv-00051e-SK for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:20 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:35591) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRN-0004vD-Aj for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:45 -0500 Received: by mail-wr1-f66.google.com with SMTP id e9so4974095wra.2 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=IxDkdaXLeNVdl7jSU3e/qgjiSLSI+/vveKyJr/Auog8=; b=Fk6/3OoZ0gtejckGzoX4PoUQbsmEDIEfiziopHMUPnyZm77gmtRaCXafU0UvfZKR/B nAILgQScgk0M73YNNHcu4YaIWEXwXv5/gAIr0/nwnkqcbGZhcf7MTNzHISq4z8F07iDg GldVz8bnYhU/3cX1SIW8k4AycTcah72WJRDvKsVaSOMe9Rv/VRF8PvjxHLaHktbv3cQL WbM+x9NnTxuagjk8fHEWRqJIsHja1RPKsqMTb17pRd/0D8WBqk5Wu9MgGBDd/HPlNlmE dmz7LatmVJb22tJct56XWOHCoHA7A7H9fvlDseFu0TuZtUBFelwbrFwJwnFOHHiIc4na QRKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=IxDkdaXLeNVdl7jSU3e/qgjiSLSI+/vveKyJr/Auog8=; b=wNjjV3XoWlkCf2qmhc2SlJSalwRBh5GoQ5sT3ODNpW2TACEUKQ+4iArAwAw1riqD/q SSXAMtk1pUxnozCfk2PAIrbkCiGXoLiu42bNiNl2ocBDI7DrBE+hy6gmm6O7hO+0TE7q Lf6OjDFjeu0mQfvXJcysTip8DewaIeYdJ0jW6w7DmF/i9XYgo3ZK9WVn9AhsdaUcazOP woXCNmlCln/yyWW9NB4D2hwJ9QB8w6iBv2kLZiPsCU8NRojhk/CqikoxXEZjAJaNktpx /ZhIDPaYfdQ2vknVOfoPKaxJD4QAzd2gSs0I583FkaCFHX4eMoXAr5AdeAnZVKJ40shk +ziA== X-Gm-Message-State: AOAM533nNGtvoNNH3ecMksg4fhJXzTUP4XW49DVUQ5VrTq32W++1Rb3i HK0hFwpUEQiiKrqKP0h3jXg= X-Google-Smtp-Source: ABdhPJxMF0i+L46+6vcpA8oRlLosV2EZWTozZyZ3xw56lUKc5DZbRAr1gXUWg55Gwl6ku1jk255HWg== X-Received: by 2002:adf:e6c9:: with SMTP id y9mr52350835wrm.697.1641493479893; Thu, 06 Jan 2022 10:24:39 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:39 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:07 -0500 Subject: [PATCH v8 29/41] gnu: Add node-ms. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-ms): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-ms): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-ms): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e4cfb1796a..d8ff3d2b97 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -918,3 +918,49 @@ (define-public node-segfault-handler @code{SIGSEGV} signal is raised, the module will print a native stack trace to both @code{STDERR} and to a timestamped file.") (license license:bsd-3))) + +(define-public node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^eslint$" + "^expect\\.js$" + "^husky$" + "^lint-staged$" + "^mocha$" + "^prettier$"))))) + #:tests? #f)) + (home-page "https://github.com/vercel/ms") + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time formats to +milliseconds. + +Features: +@itemize @bullet +@item +Works both in Node.js and in the browser. +@item +If a number is supplied to @code{ms}, a string with a unit is returned. +@item +If a string that contains the number is supplied, it returns it as a +number (e.g. it returns @code{100} for @code{'100'}). +@item +If you pass a string with a number and a valid unit, the number of +equivalent milliseconds is returned. +@end itemize") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:20 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:21 +0000 Received: from localhost ([127.0.0.1]:42251 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRw-00051l-8C for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:20 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:33332) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRO-0004vJ-3b for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:46 -0500 Received: by mail-wr1-f67.google.com with SMTP id r9so4723463wrg.0 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=cI3iyUQEcdRHzaG6XjlkBB+i9V+3UT1Emma+0v+wLUM=; b=W7PqnWFHLM7j+pdP00UQC3EPteLKL0f2hrsLk9aAVsB2HTZSDVc/RkbwfPZy/Sr1f0 kBWptDKnxwk/YmIqPw+fyUIUOT1TY8EVIFoIjKmfoZAlfvKC0Mv65wEVi02QAEVxLSls EUchhKHeNKWBSOLl30EbJRNE3p+qDAJA9UnyUmkmEvB9zL6xy592gywKKlbIz+je/wTu umRdn2XCCp54ApKfDxTk8/pt4RI9Ox9VI7fFsy9oPfWfJWuX8PpMe2dZhPXKsV5C6HUu RF70u7UTee7cWQPEmRbcwsEEO/PUbHl7Rg9DhAbcRsRpJcy3AuYcGTfcbhdli7lkN5s2 CvZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=cI3iyUQEcdRHzaG6XjlkBB+i9V+3UT1Emma+0v+wLUM=; b=JLOu7dEeHhZHAD4Lsu/XVblFiDt9Zmzlb0MFz3tCW5HwvP8ml8u/XYcyXlAfMtyl3k BpwvBhiXVUZgmCQHUWf9THlRlNnjrsqT4NCgX2b3/DH/GS/QK+pTmmBzM0L8kou3K+zA BkuCH4v5YUt4upHL9ckRWSP69bL9d5WQrFZPKESVEOD76oCRlwdbXZyUw6K75RapDMlM H8Tltm/23u+cLpM46pf01lvxmHVbfY23nvZ26OYtWonIv9gf7xfY8ybl1p9ki55CyzGS JiFwsvysaVd38h+km2ifUPN6Xo/nwNHvl26c5xDY69j6BPUmKUM0Y0vZpnjjK6X1/jQI n8ow== X-Gm-Message-State: AOAM5308Y+ibTY8kcJ35mH6Q/7g4mPQAQ0NtHAvLSWxBbjN64lymgBN1 QM4T4qfORuVh9dQIIPku9V8= X-Google-Smtp-Source: ABdhPJziZwwvc6axLxL4UexWic7WMOuj9owPl052pykv0BfSpzz3zE30/BxjDsJ9VW7Ht2yfUEm/VA== X-Received: by 2002:a05:6000:2a1:: with SMTP id l1mr37030810wry.412.1641493480686; Thu, 06 Jan 2022 10:24:40 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:40 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:08 -0500 Subject: [PATCH v8 30/41] gnu: Add node-debug. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-debug): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-debug): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-debug): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d8ff3d2b97..5196394a5c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -964,3 +964,45 @@ (define-public node-ms equivalent milliseconds is returned. @end itemize") (license license:expat))) + +(define-public node-debug + (package + (name "node-debug") + (version "4.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debug-js/debug") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb")))) + (inputs + (list node-ms)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `("^brfs$" + "^browserify$" + "^coveralls$" + "^istanbul$" + "^karma" + "^mocha" + "^xo$" + "^supports-color$"))))) + #:tests? #f)) + (home-page "https://github.com/debug-js/debug") + (synopsis "Lightweight debugging utility for Node.js and the browser") + (description "A tiny JavaScript debugging utility modelled after Node.js +core's debugging technique. orks in Node.js and web browsers. + +The @code{debug} module exposes a function; simply pass this function the name +of your module, and it will return a decorated version of @code{console.error} +for you to pass debug statements to. This will allow you to toggle the debug +output for different parts of your module as well as the module as a whole.") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:32 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:32 +0000 Received: from localhost ([127.0.0.1]:42253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRw-00051w-Oy for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:32 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:36573) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRO-0004vQ-Sn for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:47 -0500 Received: by mail-wr1-f67.google.com with SMTP id r17so6522863wrc.3 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=QoB+x3S71GT9gcF+bgKgt34NdTQkxNT7INJgx7hI/fc=; b=MSWl12F4N9W+MGnJ6mFmbgFsjhqUI1uPBqPY3YBa6584d5AhIXXcda5yQ4ujItes2P PP80waUS/2KvRCYSyPD3a4mLLZQv+WM/7Hph6sEck+HPGsTG3PvlVuFG4Ou+wTvKRxt7 1Q4ofCeU5SryI/szQTESZSoHJLmRnhBYI54D2FyKjh+WSm1QLYlqdMlX9vV8cyiRowvS ZJIR080V3wz2n2isyJof6bIAXAtAEZ+eZbZxN/aJWtwb33nMp+LRX613Cu3EC4c2ei6R CFZek4o6Br3frWk0iF7UmipsbmSPCkALva455KFfWOkXhhVlbkN+HMFFXNsftT9s++MX R7MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=QoB+x3S71GT9gcF+bgKgt34NdTQkxNT7INJgx7hI/fc=; b=WArtf39K8YNp/2Z/Jac6pH2vKHeDUDL0GWL5go5/jQt5a7TZuMQWp5Fsf8L25XuhBR D0b0ZMb/BudwUItoMWMr6nje89vZYQNxXDP0rBRViCr/iZrtcJ73o0FSm9YOC/5V2Qtt O/mDpDSbZDHD6g03U47fKSrcBzerI2/WAHkSwXrZ86NvYJ0loAvDSYK/3gvoBDJ2fMGg z+6q/sUyvOgiSWvk9vfImwR9VR9GQ9/5pZT5xnC0Re0Tx+59ZLk+6KAP0oK6BA+wtY/+ tisUSbImudE3ALs3mT8TltFHHvyo0f/mbfeVzUADh9ioVArdTJLTn6cGq+zRZ9zEFH5A yBUg== X-Gm-Message-State: AOAM53323yLHZl7Ne88jSfK8WPUyb+7LQ88NlN/OQIDL4s/6Rze5XhJ4 u68T5G7pcxTpOqqz+P8/B3c= X-Google-Smtp-Source: ABdhPJyw3g4vKHMQPn58tsXn58UpGxqv+vB/fq7SeQoCRuAxn2s8jE1X/ASUPagmWxlzsS0ZR0Kv8A== X-Received: by 2002:a5d:4450:: with SMTP id x16mr50666271wrr.95.1641493481447; Thu, 06 Jan 2022 10:24:41 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:41 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:09 -0500 Subject: [PATCH v8 31/41] gnu: Add node-serialport-binding-abstract. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <4938ba30b85ed406b475e6f13274e6ffd4a50a48.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 5196394a5c..a8649d928d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1006,3 +1006,37 @@ (define-public node-debug for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.") (license license:expat))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (inputs + (list node-debug)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:33 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:33 +0000 Received: from localhost ([127.0.0.1]:42255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XS8-00052X-Mm for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:33 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:47096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRP-0004vZ-MH for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:48 -0500 Received: by mail-wr1-f67.google.com with SMTP id i22so6448275wrb.13 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=nYOpPr8g9QYk5uURR6YNZz5F9srOdtcPaE5roDZFvnE=; b=CZI8yMlSAE4HS24625BYaGJOOgy8gUDFxH+lwUVf/dhn9givhM2ORMWpIXQpITB7vJ Vt89cKn+5FuqZzPdyc1U+p5q3okOVghZ5mpyorz4+SPBzcsLj0c0W+1NqHf56ePGI91h Vtm7RwB1qeAHsxLYamaJ7MbQTVNkn/ds60dmYOCS2sWBGZJVDOPXrJ9+K9OMPq6M6imf km2SxIMVa6TLelrBnFNbTeTfkLrOcrMIHSZDYyaRILeT69POw7Lz9KpXl8naXi3AISoW Rc+a7gq+2+muDa5HOCg5C3q8lge9waT0BJlIcUMFAx1a08Z4rHricFWnP5Tyu9xyChQF 9Wvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=nYOpPr8g9QYk5uURR6YNZz5F9srOdtcPaE5roDZFvnE=; b=SHKjWNv6BAFeYYHTgZIS1J1JbZvlHd1XtxpDFv9FwSS02EvBRe+0KkMBYpgsZH4gLl XmI5TtJRye4zTK9H3FsvWsvgd6P62nBf3zMTp6M6VzhiA55pYsEiyUYPhmPq0fDJTeEq h7JiPIx7rQLm9sdjrC4o5LERoIv9Xdmy7kl+FQ1cTACpt4uKR3G2U5luLZhG+JVspT2Z +3nz5GRoofR8mFZNFwG3dxlF0rNiFmk/OhPjo7wSQcEp45RxD4vVT87qHaHKCC86satx FynBA/mpCW3FlBcEq4JzwZnwMoDTwDw5GJBM+A2NZENMeBQ84LOdlQgaZTr/QxO3vJKS i35A== X-Gm-Message-State: AOAM533ydrhjPUzTM/oJMxa90rDPKtg45kg62GuYr3M7TVFzqxu0O8md Ci0BZUyvRSY7gOd8bykDJfA= X-Google-Smtp-Source: ABdhPJyZt5QPZsXnQnIO0Juzb+dZNyakStIs83l9TLCsFoxCiyjqmcvmpQ2UZ+OH5ZRWJLmawKvVhw== X-Received: by 2002:a5d:584f:: with SMTP id i15mr54007556wrf.542.1641493482262; Thu, 06 Jan 2022 10:24:42 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:41 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:10 -0500 Subject: [PATCH v8 32/41] gnu: Add node-serialport-parser-delimiter. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <687d09f28f4d57a0940d39f53c56d7bb41aa96ba.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.67 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.67 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index a8649d928d..1dc1853240 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1040,3 +1040,25 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:33 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:34 +0000 Received: from localhost ([127.0.0.1]:42257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XS9-00052h-8n for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:33 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:43940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRR-0004vn-AA for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:50 -0500 Received: by mail-wm1-f68.google.com with SMTP id o203-20020a1ca5d4000000b003477d032384so27211wme.2 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=ABPA0ycs9p/SHte9yUgu9yisJLfHtfeLPPZ9c3Nj49k=; b=MOiHbZKmLo2Wwv0jgtmrSERF/GCJeea7c2S7rJ8MT8RqQlEIzthx06mqJuvkiM7yXq Ls/FZZ72H2cRUoTBjtw2uW411J8PWDXexnMYDeGDY0vlfBnEszlrxVfbieehsrgHuHYd JyIRSi/ehglbIqeD8ppyMir/5/ZUm4f9vC6gT8LXA/PeavsBrSXEzkiPTYD5H5432NWL Pk+IqXAlZF3rux4yo/n0x9yXm8aa/gB9uS0JP9lTdR4FuY/O9985DiR5SOgQ+7gQpxf3 xP6Enk0G5BBKgr8321EKXxp5VLXLZG2npwuaXqX7dQEJSNGmTuIk2VSPgg8wdZaDdfJB 9KOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=ABPA0ycs9p/SHte9yUgu9yisJLfHtfeLPPZ9c3Nj49k=; b=cCmlilqrWktaMK6ch97F8nSp6HQU8L8VmesO7M3rqKjYboqsH38Z8L5YU60AmHfaof 2pEVLY3WrE69WlPEIeJN5lV8N1jzbjhgLaLHPfhRYaHtjGSZ2FPgnTz2bL9pilk2SfLb Mf2n2VF77xUa1pO6tetz0SzFdnrQkfGuZLVjmQ3tHklyHdZDOE2yw5DG7W0IVwrlvnJp xpuk7DLNSkaiBtW6zhm/a0apR1CbVY1X8bjIqVCOqRqL1SlQbMYeHFy8bVGNBrZidJMr XTkI5Wt2gve3P3NQXCIccC6/2kKeCre+PSgVsUyT76kmeFyfXIGUZeS+64/uQPzAfr5d MuFw== X-Gm-Message-State: AOAM533KsqG98piP6KUYoCDLfCZh2lp94Ip3w+wq8FNF9BFaKh3Szcek s7QGKbBAA+hYVNP/Sz63FZU= X-Google-Smtp-Source: ABdhPJxObZb5Dln5ddPcAgFD04Iki4WCgJ/yWRqIFRGd0iqO/EB4dZUwnWECQEJ12PWMwwvW1Co1Lw== X-Received: by 2002:a05:600c:3b0f:: with SMTP id m15mr1619352wms.4.1641493483816; Thu, 06 Jan 2022 10:24:43 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:43 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:12 -0500 Subject: [PATCH v8 34/41] gnu: Add node-serialport-bindings. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.68 listed in wl.mailspike.net] -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index aa3ec31718..3128b1f7f3 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1085,3 +1085,57 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + (list python)) + (inputs + (list node-nan node-bindings node-serialport-binding-abstract + node-serialport-parser-readline node-debug)) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^prebuild-install$" + ;; devDependencies + "^@serialport/binding-mock$" + "^node-abi$")))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:34 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:34 +0000 Received: from localhost ([127.0.0.1]:42259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XS9-00052q-T5 for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:34 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:40876) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRS-0004vt-5I for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:50 -0500 Received: by mail-wm1-f65.google.com with SMTP id 2-20020a05600c02c200b003470f96e778so1439010wmn.5 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=irQ/1/AAFSAXE/S3tbaW3oV4RG78IK+sgmixZhNVHAI=; b=UAYXp2BMD88UOwvrvMkEJEt8kwsYfInibOeQaPEw5KlYkhl6JrfN5bcuTDIfd9SXpn XU/Mctdd+dBQIMx5AjORhA8tat2soePttw8GZuYs834JYsxSndHGO0zk/0U2JQKKBMSL VNAw/b8DJrivJaP7clWfJyAYuSjYqyIu9EqLijbISsQY9pAjCXu9uIhHeI9METlR3vKC AwGF//LiUVKqqbV/CxqMRh0lcFQZdxnRD7YsGJZ55VlcM3wzoqXHjsV7du9PyKsEFBkb UQikTAAagYAd1YQYoDnBCEe85Vuzq4uCp1vWwOw0vOdgkOYWGGekiSZuSRMto9Tlq+GL 2y4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=irQ/1/AAFSAXE/S3tbaW3oV4RG78IK+sgmixZhNVHAI=; b=gbzuhDlySZIGUJaYbR2j7oPza3H2bZ5AQr2kceCbNGeqjTVhHzAFoWPEkLOdxCAW2Q rCq/Tz8fxB/HwkdSb0DWQOzP1xHuVN5l9OGa45BGGMKaYnH7h5cNqJR7rifpq5l6GFHM /edmej1bo8ZupWxXwvO3JfPmo/nV9uDV2+KxmuDTsABqy/c8hNtOv56c0Kk587snVxR7 7eO9IVgR4d3Pt4wQUqC4oMoslL8JBK8LMiD9iD979MHNOqsKXNiT9S+F4zlrCetHtGJA fR0woykhhd17t/bsC7m0Hy8tyCtI9gCywf+thDs5P7uJpRFUUNrycKppbZ8FxEY9jx3i n7sA== X-Gm-Message-State: AOAM532k3Kw4HsBPYHblNBi0AVgqzE+pzUF74tY4B7Sww+mzmsn8gbGi FTpjIiA8cWx96v9DeqOdju8= X-Google-Smtp-Source: ABdhPJxgQ+YKR64fClWxqvMF31V1MPK9eqDcPWGUZ1XTe4YoTmgU8J/uIxEHpg1LVEa55tJxBcT1kg== X-Received: by 2002:a05:600c:3507:: with SMTP id h7mr8021060wmq.122.1641493484654; Thu, 06 Jan 2022 10:24:44 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:44 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:13 -0500 Subject: [PATCH v8 35/41] gnu: Add node-serialport-parser-regex. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <692ef4592e5500246cf505ee0193571c863237b1.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.65 listed in list.dnswl.org] X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3128b1f7f3..17e65a4079 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1139,3 +1139,25 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:35 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:35 +0000 Received: from localhost ([127.0.0.1]:42261 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XSA-00052z-GX for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:34 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:41658) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRS-0004w2-Ua for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:51 -0500 Received: by mail-wm1-f65.google.com with SMTP id g186-20020a1c9dc3000000b0034755f8fa58so927079wme.0 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=LFA94Mmk2iNWgz0AhJMfKNVKuWen5QDNBahRsY1PQOc=; b=VAHDNGh4w2x6LKnlbVUbBKXwpV9miLJRzor3QYHp4k7pFmfUaD73JdAVK8R/HM1qZB z/lNR6QJ/thyd8l//z4pnwYXKi9daTAfCTsgxPNVoW0gSj/P805+2hJyAKF6D4DoSoUF T3XMQpPfps4R+M4EBC10nSJuQTsKVOfwLxFJRjYd7PGi8HRzUo/UYwXJCXt2F1vPBoHP 9es4s9CM1g65Y0/GBrz1rB2IKSST2rfrRO/7bw1bZjuOxkjKL22cTBeaL0E3GJTGAFgx 8E9qrUiGLwcJ/F1RK1SfQMAg7tP83wDpX8/TvxNXYjtQAhhUXuGDkdAOCDY4M2ssetPe kQSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=LFA94Mmk2iNWgz0AhJMfKNVKuWen5QDNBahRsY1PQOc=; b=3PgD0IIpxJpiZWuz0M4TN7RDTkZVf/aLU1oqfk/2uurBfxLuVpBMh6/pHj4pgRiwlz C2dhmJZpnl1l5uAztsqvkvkETZkH+c0S7N6FA+w8a2JEDdVxuLOiYxBen89QsqcFP3DN BgAdGjhWG57YXzWXGGN80cq8y0ZtKdEX+tzBrSqpSN7FVgIZyQ8g5TsokNzygToAz1Cv lqfDHLUqKk+6QJNcQciETNmXsBT0JkOu9F8iRFBKK4PpepKg2DaLc+9tNxGOLgsKBYDX VTvadRHPiIix3nUJT1LvVmonI1M7tuKUF2BgGKm+Zd/eRlH+yezj5qaptjyjBUvLonGn mgVQ== X-Gm-Message-State: AOAM532AjkluPEes5vLRxFPfjGJxdjTbmaKcivyQz+WQktDWiOELldMk hoPlFkM/9GKUercnwOvWyzQ= X-Google-Smtp-Source: ABdhPJxRGtnj5qjsUEGIKks8G++t5EwhCgarPDsVvVOh2s7MbyICQNLJdyBqwPpn6WRFPitqv3qhUA== X-Received: by 2002:a05:600c:2188:: with SMTP id e8mr8110072wme.55.1641493485516; Thu, 06 Jan 2022 10:24:45 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:45 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:14 -0500 Subject: [PATCH v8 36/41] gnu: Add node-serialport-parser-ready. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <65c0c2bb7e176df00a7dc9e09f000d73e18bfe9e.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 17e65a4079..623281f64c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1161,3 +1161,26 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:35 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:35 +0000 Received: from localhost ([127.0.0.1]:42263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XSA-000537-Uf for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:35 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:37847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRT-0004w8-MB for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:52 -0500 Received: by mail-wr1-f68.google.com with SMTP id t26so6505284wrb.4 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=lm9jy7PzD/AKdxrSHv1Y7HHRFOVG4gbo9oWDbP/azQQ=; b=BkB0STnYaX/3lGphemFEYYcm2EEFWnAufDHjge5QStF9L7xV5/b0Tgn2bLVhaeX2oF j3WYAZV5/MIDpcsXo91M2k7fZevkvbwKHuXMMPb9fofYEnOvQntawzCGeHwohVl/EUQW Ns1EPNTevGT6TWwYMQp4o8cS7x6xlFD2PLppPNLvlusaRMrln31JKjOHyLlGX0FrpVaM SqZ9V0OgKTKlcuvK9odkdQjcVWDGjAkwOzcuPsCc7NgH+r1EwY8u/LYcaNQIM4CAhLI7 Z7ioXgBWbpYCQCsv0946pI6QlBX1wwpGQhvNTJmUUAnyAnBN1SWTQqIUPnNmPvlc9FmK 8clw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=lm9jy7PzD/AKdxrSHv1Y7HHRFOVG4gbo9oWDbP/azQQ=; b=hIHybsJkYYh1pIQkhQ2LJXz6keNCCG9zIPewPuryxG3hoGW8w+E7NviGqQ/ivtROAd WoaDv+gtOfJVTTJHVn8t0KeA5aeyv8woNrhrKVP7ACj+AnMoFgQT63nKPkQOiCP2Oijf 4xPYJuaaoFZWCkHP1akRTEXCeDjxaghBRHVzgBqrydUS/NB9QNjPbx4iyqXAYHgeEyjS +seQgMZpxX1hZSj8ohYxOO5AgEV91qM+4xOD9hOMS05anWKxU4HYo49GaQcTxhlLdK0K jLfbSQt76naoslvPPHL1VwDFyDvrAfUVl6L/YrefgJEs5GVtoQ3YSEBHxR50iKhgq5pM NLXg== X-Gm-Message-State: AOAM533d8UHtsZBJTAjBxEpNQz1r+nrQTV39D+csqiRUmIoAYK5ngmog I3T+VDaWZFIlulWI1g0aWNQ= X-Google-Smtp-Source: ABdhPJzBDyXr8bq0de5hXFMrZexxiBa4re8tJBCqWs6tjO6ghJ7QnrbTP8rwU8B59z0rJEi0ymSKuA== X-Received: by 2002:a5d:5985:: with SMTP id n5mr52063864wri.63.1641493486257; Thu, 06 Jan 2022 10:24:46 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:45 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:15 -0500 Subject: [PATCH v8 37/41] gnu: Add node-serialport-parser-inter-byte-timeout. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 623281f64c..84e66f5c20 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1184,3 +1184,25 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:35 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:36 +0000 Received: from localhost ([127.0.0.1]:42265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XSB-00053G-E0 for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:35 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:42824) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRU-0004wF-GU for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:52 -0500 Received: by mail-wr1-f65.google.com with SMTP id w20so6472343wra.9 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=g7rYDdCuy00tBmOywYY80xUirtWoxzEh4eDyBnfFgsQ=; b=DYpjnnBVDKw8t3nq9a6t88D70jpP/9Uj0OSMd5bfdiMEu9Uoop3tLwgbuLXonYN887 eyZKNDoYppbQk/PI7SNdVga1VnCepLAvK1YHt+xiT4e/9ZIHWfWrl5yAMDSyQ3keTOGA oIHacvGqnwg74IQiDYgxao3+NqVPKFUS3hLKsUDxO4QUd7FlQMLMSiq7juHwtpfIgH4w +I5OYmv3C+MaXE2sTpnHcZV+E6QbVqo+gLpcfkFJwiKrB5SZ+eHsrwbAvVMwYmXbOznK OEsaWTDqtYBIHmkbkmFEor8cOale5LKifHNIAfWXZWj80ui62xyejV284lAu3oztzjwK Ol6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=g7rYDdCuy00tBmOywYY80xUirtWoxzEh4eDyBnfFgsQ=; b=8GdytkF693YcPJyb9qIRciK2NI66w8ePFhZPh5PEbH3jjYpyThfyM8BsUOg0m1sTol 4SkyRLtt/nTOCeLPwA+G54EgsGOQheJhMnxN+tQePHzDVMtWF0bUdzLz/RtLDGnT0XKy SCst3mseFcmb82T7XwT+NkP8tn8rnS+9fYgv/Jy+ydq2NM5zUXKB5GycpcJpavGNcZIE +fCxKvWCoaIZKvXgkUaoX2mydIZtWr69BFNivjt0xPgaoJzpNvB1y6nsIl4szpAzctbZ sdOMKJo5PE9ulafOahokDt60Z+O3YC72LvxsJffSHeJXKenh5moFhbV/uHt5+c720tbz cpLA== X-Gm-Message-State: AOAM533cPNx3WfVf6RMJUHJ8hwQhzWTs6u6Bxt5+5UxnYJaDaUOuNAr2 rO36DaC/P472hOwFfV7F7dg= X-Google-Smtp-Source: ABdhPJwHp2EC/BfqzOeGU/1cZYx1tESPPrlRCw0rTpDtCY6btSEnl7OLMKOp8HW6gjq+BD6cDlrfxQ== X-Received: by 2002:a05:6000:178b:: with SMTP id e11mr47399830wrg.348.1641493487015; Thu, 06 Jan 2022 10:24:47 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:46 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:16 -0500 Subject: [PATCH v8 38/41] gnu: Add node-serialport-parser-cctalk. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <2b0a9bbace794f29405265598d78d308b1a3920b.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 84e66f5c20..14a5af12ff 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1206,3 +1206,26 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:36 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:36 +0000 Received: from localhost ([127.0.0.1]:42267 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XSB-00053N-UO for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:36 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:36777) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRV-0004wM-8X for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:53 -0500 Received: by mail-wm1-f68.google.com with SMTP id n19-20020a7bc5d3000000b003466ef16375so4143658wmk.1 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=TAAK5zJj7OqZHe15olUSo2otE8qi9ZQT4X+5hOvAu7M=; b=ErsxzMzdIVNyVcVMH7BEUXg5vJVUac0he2eT+EmtGqLtazyR0XR7mJydARRRX0sMLt sU9Znc/459ETTGWaKoxnrvF9ur+WEVaVzMN/aY9V/c/gsP0DvogVVhH76pUXXpaLb3A4 7h2rrsjQk428CkOIljkPbhuh/45FbAkW8WlcZbqAcDj800Rr9uxkF2uHkzflDc8zdIC4 d2gWdZ9YwVHyeSkNhk0IawPbnEAZejVN579F179VzxZeXZ8r3VTq32Mr1/nw6JneJxoD VOtlhziXeG5IV3WYDjlmSnN4aVGMgEZRjb0kSWxKu7sOyTfAnV4b0+vpiFhAV2VcyhnK ZIYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=TAAK5zJj7OqZHe15olUSo2otE8qi9ZQT4X+5hOvAu7M=; b=XD4FDZ3BPz18YmiOgtWxYPJSmcZ0cIUlUveNG7eRHnTFIzZ90tLH8SQwMHV4omoc7f kZksOf9JQZouY7073+Snv2c23OccqDmMhysTaCjDXOlBcR1DTqhqp+oMH1TBvPOe7n6I NtCvmeFQfKd5McI2VdOEZS7YD+OtdEfnYcm+EYrWWc3W40tWrzDq8tBSVu6BK1Pb3wte v1ZWSDWXkOhI1G/pry51eZX1joGLeIxY8HGw3iARZ0RvwtKUTQE8yhz52UVfMrCwExju tnuLLRQoSSSxItPC+gxBPd3DrXc781Lkvt3zK1ZJ0XkvgaD5Zuw7DFySLmGux9yoLW3e LMnQ== X-Gm-Message-State: AOAM533YkMNAPzevC2d4yG1zBelq/cZdQ12R6pnJapczZdcL+w6ox04S nkA8DCfJ8OMF2PEYeruOwM4= X-Google-Smtp-Source: ABdhPJy2aHrrmKvIHmlOnYEhTkfSsD8B2/gaQ35RdkFSoq9HNmtPOG4YSTacmG436z1FuUHA/IdI4Q== X-Received: by 2002:a05:600c:1c02:: with SMTP id j2mr8089722wms.1.1641493487832; Thu, 06 Jan 2022 10:24:47 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:47 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:17 -0500 Subject: [PATCH v8 39/41] gnu: Add node-serialport-parser-byte-length. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.128.68 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.128.68 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 14a5af12ff..9e770afef6 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1229,3 +1229,25 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:25:37 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:25:37 +0000 Received: from localhost ([127.0.0.1]:42269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XSC-00053X-F9 for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:36 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:42827) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRV-0004wS-VA for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:54 -0500 Received: by mail-wr1-f65.google.com with SMTP id w20so6472473wra.9 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=klY9Ifm6RCt2IzeQENK2TXSHCLKhcl2kVomtQ0s7aRc=; b=cm5p4Ory/grj1IwhzRvEsMXeF6Pn6y+BD6jhKI0FAU5aW5LLZ1ZNInL4vc+A31+kQq 3/y8bwNoOtiZeQJ/iZ/Tjeu2BvZ8or+zRWJIt8jiZ4th9ZHWUE2mUc+toRJSuk8C+TaZ Buadx2pRaX28MC0LbN99iP98wmZNhbBPIysLZ7P7nQM3Q5ew5NMpKI2iHNuPM120I3Pk 1WvBgoX50BFmhduMYVeop2uUqhWg4ZhQqdnAtUzh+jLWXUUX7DMISCUhCfs5MJQJvmeE 2gfh7N4FObzdLfolp2cZkbpVv+rNhBRlpQff4ELh/M9TEx9zuA80/6CNSgHWoDOReLXD UVfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=klY9Ifm6RCt2IzeQENK2TXSHCLKhcl2kVomtQ0s7aRc=; b=YCoHa9jDv6WVw0gOOTHDWa7VOsuS7V1McC+XE4bIKhEMGEamAKz7F571m3c/IKYexh VHXhe/UHGnsvgPXHDwSK37s4CWetPPcCfGXXhdzDA9iMeQh2MmcinrIkRJrzzgZJOk1t mJmyN2HMXirQ2K9cgU4WWMxy19NDrH8p6E/gkd33r6+2FZ6VHnruKEe63XqXFboN0IWa igQGxd8uwP8oH79Y4tQWAxD7OYTkaHrLJtS0o9jL+fIbPuK9NzuGHyTDJbe7TTmFcub+ ATZ58s8eWRntLhzv+2vAQkWo64DojjLQv3UeB2CRiqAD++ltMSYY2SQtxcIsFva5XUnf vimg== X-Gm-Message-State: AOAM533E2KQZjkhEfRb4e7UH7WlDjn40wkLeeSMshoCuTU5mnUOYQD9j lClmpBzhqq1I6iKGUKzlufY= X-Google-Smtp-Source: ABdhPJxQjDxwh5Af27uXSxmT0R3xnPtZTD92R/HV8s1+69QCEqADWRLYnfgyCIm0ENDUXMSUR9Hz+g== X-Received: by 2002:adf:cd89:: with SMTP id q9mr490283wrj.263.1641493488553; Thu, 06 Jan 2022 10:24:48 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:48 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:18 -0500 Subject: [PATCH v8 40/41] gnu: Add node-serialport-stream. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <402d12fb398f0057943b312db972fa7638dab407.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9e770afef6..5a142dd422 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1251,3 +1251,31 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (inputs + (list node-debug)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `(;; devDependencies + "^@serialport/binding-mock$")))) + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:27:07 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:27:07 +0000 Received: from localhost ([127.0.0.1]:42303 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XTf-0005C1-3n for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:27:07 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38469) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRW-0004wU-O5 for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:24:55 -0500 Received: by mail-wr1-f66.google.com with SMTP id a5so2532988wrh.5 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=2oU1ldMlUU3+VnkTJ3OJ7oA8xfEvuKbwlRN1QTBn4qM=; b=mke6Y3Zk4GoulDGI8vQcs1FDuaYfB/obS3xUL6e547eejmnPe5olflfZ9Gm/DjcOXd JgBmT+fozRwY/PWYMUlcyI6oS2f7ieBZ0kipggjm23UKYIYxtNXob6mFNGKYC1U3WP49 NdCDimiW+uQpQJH9ux5cssgYkOhoWCVqGYCyCBYkwcoq/DelJoC2I6YdqhYj4k3GFacm CXRxftbeT4VCvxVszOpHefkFKlDzvrIlRTir/bmcH3kJmu0E0soCVLTWsIiEwRagHhlV uB0Z1f0+zonHhE6SSe/9pgGfTuAKiBIcX6cL172+YUlMrrLAww2d1FUvONvdb2rFGZgk /big== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=2oU1ldMlUU3+VnkTJ3OJ7oA8xfEvuKbwlRN1QTBn4qM=; b=0ATmk/JgGxrwQaIjPoeJoR9Ela4+xz3MJPJpTOn3KsSIkXGN5UUQdmCqxjKnwIP8G5 G49T+9Tpb+EFwmsFZPNE3o6AzYiK7bTHEcza2CcDrA+SgvrxNpOiqbQUWw1fTeCKCnB3 TsRrHJUCJS5NsWp8AaV/qImgTOaSsrgvsJumLEIZ4VtiQcflC61hSKCwfAVDc12YK7sk kRektJpvT1G2FN2QCLQKqmPduQuGo+Uk6LL0w4defNaoAFu9f2ALpP8t2cfV1L1/nORQ qbksmUXT43AkwtZaq3KdcaLuqmy4oDZlY4slte1cXG6lVYZiUN4b8bBE1dyPg6jkvXeP afJA== X-Gm-Message-State: AOAM531rtGkriQfq4s1wOox9lozTNpX7q1sIOmxM/e7oABrIzGrC4bfA sQQSZqMt2yueX/X7KE2E5OA= X-Google-Smtp-Source: ABdhPJx7dKTIH9TH0ttGxwcmsPuwPfMSBRjpfwHGRLWoq44TfxPCepZVjxvxDn5zs9jJmPcDcUxpFQ== X-Received: by 2002:a05:6000:22a:: with SMTP id l10mr51019007wrz.39.1641493489296; Thu, 06 Jan 2022 10:24:49 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:48 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:19 -0500 Subject: [PATCH v8 41/41] gnu: Add node-serialport. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.66 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.66 listed in wl.mailspike.net] -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 5a142dd422..990b26a689 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1279,3 +1279,36 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + (list node-serialport-bindings + node-serialport-parser-delimiter + node-serialport-parser-readline + node-serialport-parser-regex + node-serialport-parser-ready + node-serialport-parser-inter-byte-timeout + node-serialport-parser-cctalk + node-serialport-parser-byte-length + node-serialport-stream + node-debug)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("^@serialport/binding-mock$")) + )) + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 06 13:27:07 2022 Received: (at 51838) by debbugs.gnu.org; 6 Jan 2022 18:27:07 +0000 Received: from localhost ([127.0.0.1]:42305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XTf-0005C4-EL for submit@debbugs.gnu.org; Thu, 06 Jan 2022 13:27:07 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:38454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5XRQ-0004vf-EI for 51838@debbugs.gnu.org; Thu, 06 Jan 2022 13:25:00 -0500 Received: by mail-wr1-f65.google.com with SMTP id a5so2532453wrh.5 for <51838@debbugs.gnu.org>; Thu, 06 Jan 2022 10:24:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:date:subject:to:cc:content-transfer-encoding:message-id :mime-version; bh=eJ+N2kTksB/37d8NEezJlvnG9tDTzsqL42Mi54V/Ab4=; b=Ee6DZFBy/kjk0W0TBpUZ2P4YG/FUQXXP+ZR8/Jpve2iEHAU7B2P79ClUXpiozFWKa1 orHz3TmKSqOnEaYwvi2D7CPGP7PvPXOb8JK6tetlMSPDY8r7T5CVb5E5iorf9oqLz9mK rIzAsO3Fr/iSjD0cAmCn9DAIT3oA5y0UVezg2OMnPdUfHymDwrjQ5Te3iFLyGK9JCYcg +ED8un3R3LV+6gl7feQPrb9/VGqhlfflRqQHX4VZ+F+ki2sgUfYIIJmZ9+9V7/sm6CDx m9G/5Sr0sCiBB53eAO//jJmqFuaO7qE599epuljQXYc9slKT1tveVq6exqADtv6JDh7b XXuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:date:subject:to:cc :content-transfer-encoding:message-id:mime-version; bh=eJ+N2kTksB/37d8NEezJlvnG9tDTzsqL42Mi54V/Ab4=; b=kglxlRoeKmZd+khyHahz9e2hTbMrQ59a7m4MQ/kWdB+2qbM2iE/llkJy9MXC2PMmqs 6ki7yIxizuFqmzdYrpnkaV7FuZg0f3PXWsjDI8KZiRW5hi/VMsDmk2WK8j2kavsTeFUS Vltvt6RlqXNPohxa3nYsREAW+UMDBKmI0mafX52NwRtFSBsDP7WQs6DYfEvpmHI+B5N8 8hqmUy5Rin01TAV9lqawCOofTM1J6tJDuYRk8OendmxkqZl3Mn7USNAYR7g0Pl/U5ZNu 2WdcljvZadezPZwnQJCcN3H4pJiefuEZsa6BvC8IVyukzZDIWOVpzDCjKb32RFdX8RP3 0Osw== X-Gm-Message-State: AOAM530TIKMvxzIL7KkFSsi8pewEY7KNtDClBeMjgboeBEogNycIRSqV 1mFFceAkckgdsohc39mfDgs= X-Google-Smtp-Source: ABdhPJzx2cX4X0KGxpL/pduXhLykgQ1nHfMR4OP5aCaWNn77BVWkXGebewhKVe1cyBzumnR2uPur6Q== X-Received: by 2002:a5d:47a8:: with SMTP id 8mr51930769wrb.575.1641493483007; Thu, 06 Jan 2022 10:24:43 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id b17sm2693311wrq.91.2022.01.06.10.24.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jan 2022 10:24:42 -0800 (PST) From: Liliana Marie Prikler Date: Thu, 30 Dec 2021 02:39:11 -0500 Subject: [PATCH v8 33/41] gnu: Add node-serialport-parser-readline. to: Philip McGrath Content-Transfer-Encoding: 7bit Message-ID: <865aee57ee44701d7c6fc9e979d8e63a13d7ced5.camel@gmail.com> MIME-Version: 1.0 X-Spam-Score: 2.1 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Content analysis details: (2.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.221.65 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 2.1 DATE_IN_PAST_96_XX Date: is 96 hours or more before Received: date -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (liliana.prikler[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.221.65 listed in wl.mailspike.net] -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 1dc1853240..aa3ec31718 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1062,3 +1062,26 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + (list node-serialport-parser-delimiter)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.34.0 From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 11:49:39 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 16:49:39 +0000 Received: from localhost ([127.0.0.1]:45807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5sQt-00031J-KJ for submit@debbugs.gnu.org; Fri, 07 Jan 2022 11:49:39 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:56901) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5sQp-00030t-8M for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 11:49:37 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 80A733201DB9; Fri, 7 Jan 2022 11:49:28 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Fri, 07 Jan 2022 11:49:29 -0500 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=fm1; bh=JImaW+YGbkdE7bu4HLjVFKtyZnkt1MEow5DXOeP6p KE=; b=ETCwrYneRJQ1fojFjzFx5jyOOWH29gAUy0eHralk8SIkAS8fu27RKqK7s dOoofGQNCxZPO4lFOt7TZsUJNOr+0iC3lzeZkphcJhD5XdBzrw3RrDWpP2EuVaUs 2zm5+RX6Jo8+8ZNxMCc+lhb42vwdQ+fiW0AiJjV0wsAUb1QztROdFH/T/911BNUv r4Iz9/mDe9etqtxnAvGGCXHclOg8ffplF23eF0HGDq9zDpqwOtttmk6axPXpAl1q rIo2zZyiUoaITyZ9CB2IBKAtxMfFRnEpJlX5ZYO0Kwl6+HptH5IvJ4v/OdwpZLdh u3/VKvS+j7MXNIRY4MqNuQpTwt3DA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudegvddgieelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufhfffgjkfgfgggtgfesthhqredttderjeenucfhrhhomhepvfhimhho thhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihrohdrtghomheqnecuggftrf grthhtvghrnhepieduuefhgeegleelveehgedugfeuhfeikefftdevieelgfelhfdvtdfg ieehtefgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 7 Jan 2022 11:49:27 -0500 (EST) From: Timothy Sample To: Liliana Marie Prikler Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> Date: Fri, 07 Jan 2022 11:49:26 -0500 In-Reply-To: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> (Liliana Marie Prikler's message of "Thu, 6 Jan 2022 18:45:40 +0100") Message-ID: <87v8yv1ofd.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Liliana, Thanks for putting this together! I=E2=80=99m starting to think that we mi= ght actually land this series pretty soon. :) Liliana Marie Prikler writes: > 4. Regexps :) I doubt regex support will be broadly useful here. Putting the anchors in every package name (e.g., "^tap$") makes for a lot of noise. My (wild) guess would be that regexes will save us listing two dependencies for one out of every ten Node packages. Given that, my preference would be to not bother with regex support. You wrote this in another message: > I think it'd be beneficial if delete-dependencies could delete > dependencies based on their name matching a regexp rather than a > string exactly. This would make some of your lists shorter > (e.g. "karma.*"), but there might be a debate on whether to use > "^karma.*$" or whether to only consider regexps that match the > dependency fully. If nothing else, I=E2=80=99m certainly on the other side of this debate! :) If every string is going to be treated as a pattern, we should have it match fully by default. That is, the anchors should be implicit. For the very rare (never?) case where you want to avoid anything that so much as has =E2=80=9Cfoo=E2=80=9D in the name, it=E2=80=99s pretty easy to = write ".*foo.*". -- Tim From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 14:43:44 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 19:43:44 +0000 Received: from localhost ([127.0.0.1]:45930 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5v9L-0007wp-MK for submit@debbugs.gnu.org; Fri, 07 Jan 2022 14:43:44 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:40636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5v9I-0007wW-Qu for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 14:43:41 -0500 Received: by mail-wr1-f67.google.com with SMTP id l10so12989609wrh.7 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 11:43:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=p/sjncRcz34ZGyBYnQXcrPW0wO1Em+t65oDmwGSSG4M=; b=pgfNz7oHdrI/fNKqDrIMzO62gszEKHPH74AtnK7ahjPKgTEk94otZ7j71yPRspG2LF V2BnzKcslatWB0l1MacqhT51Vdom6tALdlqsVpUCFzHfk+3jpHh1jyxgbHP+ra0HgagP sk3XjSIccDjvfisBU/ws0cwOP1b/VLFKTB3/HrpeuZ/Ru1KGgnm2rbkCZaqTs8lcF+dZ BBlvLwNRksl0boof78sCsaHD8v+Aa2z4dfpu/ku3uYfgDCg184LUth6yXRjaYQ5hqQmh IxfZvPRjxbpEwSiHIeWfgEVsy32kVJ/zA87RKmooLl3qEl9yKsJQx27DqAbkzHKWJp1O Q8fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=p/sjncRcz34ZGyBYnQXcrPW0wO1Em+t65oDmwGSSG4M=; b=pb7H5oPofs4+u7Ry3AjgkXrTrsGCuKk/ozAe3LCGYcUEK3ShDov2AC6oqqIoAc3JVp htQYsKOGO10wzkk5rBLOlZ6u4cEQQ83iV71EpchDYo7sIa2/Ys066hK8RBZKruu4KO6w 10Mzq7U3fpY6EUvUKYon0HBFWaUdQauFlxCr9uVERwCnOIfcCEIWgfaWzhE/KT0G5d9r pxj3Ld27Vmgun3mP5H6xG4/Kj+0/KM6aFpqj/h4cMl2gqOuKlpDKuV9ZOsYK1qCZRDa1 Xep5exsrgx1jUCdk4pqJMrhpHjeQHTJ9GHdDZLdcVaqTbmQ3BKYr+f1FT+WrXBifPRfI 5Trw== X-Gm-Message-State: AOAM530HZz/9laeVzNMGzgAiEPTW2ayLHwlwPCjz4W3G8kOq6NRyFd/w 2o49lScNozDoPL/SmRr/glM= X-Google-Smtp-Source: ABdhPJxsyNK5a/2oCxJLXsg5SmbCpfmPKFsUNBJ/i9iJZDn659qgKuMYtQFR6c4cot0MrQAWHjf2sQ== X-Received: by 2002:adf:f68b:: with SMTP id v11mr7231095wrp.260.1641584614778; Fri, 07 Jan 2022 11:43:34 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id j26sm9962771wms.46.2022.01.07.11.43.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 11:43:34 -0800 (PST) Message-ID: Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Timothy Sample Date: Fri, 07 Jan 2022 20:43:32 +0100 In-Reply-To: <87v8yv1ofd.fsf@ngyro.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Philip McGrath , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 07.01.2022 um 11:49 -0500 schrieb Timothy Sample: > Liliana Marie Prikler writes: > > 4. Regexps :) > > I doubt regex support will be broadly useful here.  Putting the > anchors in every package name (e.g., "^tap$") makes for a lot of > noise.  My (wild) guess would be that regexes will save us listing > two dependencies for one out of every ten Node packages.  Given that, > my preference would be to not bother with regex support. My reason to include them is that we can already see a number of packages requiring typescript(.*) for a number of (.*) -- similarly karma and mocha -- in the patch set given by Philip. I do think regexps will be less useful later on and could very well become obsolete by the time we have a full bootstrap of everything, but we don't have an ETA on that, so for now I'd like to have that capability. I see two potential solutions here. First is matching the whole string as you suggested and discussed below. Second is opting in to regexp in general (there are some ".js" things, that would otherwise require escaping). This would take the form of the user writing '("foo" "bar" (regexp "^baz$")) as UNWANTED, and it'd be interpreted as the predicates (equal? S "foo") ; alternatively string=? (equal? S "bar") (string-match S "^baz$") WDYT? > > I think it'd be beneficial if delete-dependencies could delete > > dependencies based on their name matching a regexp rather than a > > string exactly.  This would make some of your lists shorter > > (e.g. "karma.*"), but there might be a debate on whether to use > > "^karma.*$" or whether to only consider regexps that match the > > dependency fully. > > If nothing else, I’m certainly on the other side of this debate!  :) > If every string is going to be treated as a pattern, we should have > it match fully by default.  That is, the anchors should be implicit.  > For the very rare (never?) case where you want to avoid anything that > so much as has “foo” in the name, it’s pretty easy to write > ".*foo.*". Full string matches are my preference too, but I only found the function that does partial match. Is there an easier solution than checking whether the matched string equals the input to string-match? Cheers From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 16:02:12 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 21:02:12 +0000 Received: from localhost ([127.0.0.1]:45979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5wNH-0001ky-S1 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 16:02:12 -0500 Received: from mail2.fsfe.org ([213.95.165.55]:43826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5wND-0001kj-1l for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 16:02:10 -0500 From: Jelle Licht DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fsfe.org; s=2021081301; t=1641589325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uuIqw3x4xX+ek/vHNkfyH8BG+lzmh5V4vqkYmoCO/mc=; b=yuS6t1he4TdAz3jAtVaJedtgtnC8TzQSojPz8pLsjK7ZRcoc5HrXVlbK14DFUSkUEzMVC3 b3M4MCWg+wQD3ye+7nq0g0GAc3NgUm/cH9dJssf3La9YSx541Q/ZdNA6GXV8BnYIugweMI 1vQb5m0M7BMviVkgym8rqflzVRSYNVQ= To: Liliana Marie Prikler , Timothy Sample Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. In-Reply-To: References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> Date: Fri, 07 Jan 2022 22:02:04 +0100 Message-ID: <86o84n8dkj.fsf@fsfe.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Liliana Marie Prikler writes: > Hi, > > Am Freitag, dem 07.01.2022 um 11:49 -0500 schrieb Timothy Sample: >> Liliana Marie Prikler writes: >> > 4. Regexps :) >>=20 >> I doubt regex support will be broadly useful here.=C2=A0 Putting the >> anchors in every package name (e.g., "^tap$") makes for a lot of >> noise.=C2=A0 My (wild) guess would be that regexes will save us listing >> two dependencies for one out of every ten Node packages.=C2=A0 Given tha= t, >> my preference would be to not bother with regex support. > My reason to include them is that we can already see a number of > packages requiring typescript(.*) for a number of (.*) -- similarly > karma and mocha -- in the patch set given by Philip. I do think > regexps will be less useful later on and could very well become > obsolete by the time we have a full bootstrap of everything, but we > don't have an ETA on that, so for now I'd like to have that capability. > > I see two potential solutions here. First is matching the whole string > as you suggested and discussed below. Second is opting in to regexp in > general (there are some ".js" things, that would otherwise require > escaping). This would take the form of the user writing > '("foo" "bar" (regexp "^baz$")) as UNWANTED, and it'd be interpreted as > the predicates > (equal? S "foo") ; alternatively string=3D? > (equal? S "bar") > (string-match S "^baz$") > WDYT? Or option three, which is the simplest one; no regex (regexen?), just a big bag of boring strings. To be honest, the current set of packages don't convince me of a need for such a facility yet.=20 >> > I think it'd be beneficial if delete-dependencies could delete >> > dependencies based on their name matching a regexp rather than a >> > string exactly.=C2=A0 This would make some of your lists shorter >> > (e.g. "karma.*"), but there might be a debate on whether to use >> > "^karma.*$" or whether to only consider regexps that match the >> > dependency fully. >>=20 >> If nothing else, I=E2=80=99m certainly on the other side of this debate!= =C2=A0 :) >> If every string is going to be treated as a pattern, we should have >> it match fully by default.=C2=A0 That is, the anchors should be implicit= .=C2=A0 >> For the very rare (never?) case where you want to avoid anything that >> so much as has =E2=80=9Cfoo=E2=80=9D in the name, it=E2=80=99s pretty ea= sy to write >> ".*foo.*". > Full string matches are my preference too, but I only found the > function that does partial match. Is there an easier solution than > checking whether the matched string equals the input to string-match? > To put it another way: a package that has to delete about 50 dependencies before it can be packaged in guix proper is allowed to look ugly! It can serve as a very unambigous list of things to possibly improve in a package, while being easy to review as well if changes are later proposed (e.g., you see 'node-karma-runner' being added to inputs, as well as the "karma-runner" string being removed from the list of dependencies to patch out). With regex you always need to hunt down if what is actually happening is what was intended to happen. In addition, since the things-that-can-be-matched by the regex w.r.t. a particular package.json file are already known and clearly enumerated, the only advantage regex brings us here is brevity. The biggest advantage of not using regex is that after a later package update, you can't inadvertently patch out a dependency that was added by upstream. Before the DRY brigade comes to take my guix REPL, I'd argue that any duplication here is incidental. What happens if we want to patch out "karma" and "karma-chrome-launcher", but for some reason want to keep "karma-browserify"?[1] Either way, the reviewer has to do a double take to see whether a change from "karma.*" to the two specifications "karma-chrome-launcher" and "karma" actually gives the expected output w.r.t. the package.json file that is being patched. I appreciate that this patch series is being dragged to the finish line and give my gratitude to everyone involved. - Jelle [1] I know this particular example is ridiculous, but the fact that you have to know what these karma things are and how they relate to eachother to be able to properly review this makes never getting into such a situation all the more worth it to me. From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 16:07:36 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 21:07:36 +0000 Received: from localhost ([127.0.0.1]:45987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5wSV-0001vi-RM for submit@debbugs.gnu.org; Fri, 07 Jan 2022 16:07:36 -0500 Received: from mail-qt1-f175.google.com ([209.85.160.175]:34632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5wST-0001vM-K1 for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 16:07:34 -0500 Received: by mail-qt1-f175.google.com with SMTP id o17so6823484qtk.1 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 13:07:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=Lg0Fvsjuzp/WuiS2VqT51N3BumIadWaxG8eB7SUHnQs=; b=d1W5xo9Iq7raSCXjeL6hrHj0nlvlka0vixA50n57khhXvhurV2E4Sl5F/nsqf5Ml8T 9iaDUceyeKn9duOuQAW1g9ryzO+vGKTA9hGTrVqqyBJSyWq58Mnv8O/JAArRXK+x2xIj ZkZzDBA0YPFSeolEj4sjy4BUBk/Z9hLmXnb6CJbsXneZDGLVPNo7HPVNw9kte1I9RzAn 2qnvVM20CqQhzWVfBP4NrLEwGKk1VZdDWl8Cw+wwfqmnaxYaCbiSPuvRfnyHBUUDTmWx 1ODJzT5UTKpfSxudlYh6bBAPSEFNuwSdgHEmnUcTl06pnqhwWAGEsfiEsbjYZ1tI8GnK AtpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=Lg0Fvsjuzp/WuiS2VqT51N3BumIadWaxG8eB7SUHnQs=; b=wja224Pr1veM9SyRUi2gyNQvSW2OQN236qkiNQx8ZGuXNk4Q4P9sa3F9Ov2P/h/FBQ GQWxCjRvY7khPaUdcKAutCtci0mfiEnv2i29qP8Jil+HTKoioBaKHBy0dCH12gykceeU SGg9asoyxyAAXf6zz2/+fWGh6YsD+8wMxQPU0VdHX0lGE4sSGhEOAICq2YUUvDdC1qRd AharViQLxecyfVBsnlICC2yCpDtISbbVo+EInTkh8Xw7A3zShcHGyWG9uRUoi/9+xCC9 y30hq6qCRq5Bf4rLJ2PI/zVoyXyx1PSS+XhdgLJPit0YFqoAj0YzrROHJpL2+ViQf17X Iwyw== X-Gm-Message-State: AOAM5310h05eg3Zz9dQxGLkoU87N7sIaH+YtF/3OycpJriXYv8vlHLVV mJrhCEmzExdl1hRSlizQPTjcIA== X-Google-Smtp-Source: ABdhPJwzvczKshy1DEGr2x8BKCQdZwQ5dqVjJ7yZF62Pu8W0fQSQPbsRB/zBxrmoS9x0Ws8DdvSD4A== X-Received: by 2002:ac8:5955:: with SMTP id 21mr8599221qtz.246.1641589647982; Fri, 07 Jan 2022 13:07:27 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id t5sm3903971qtp.60.2022.01.07.13.07.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jan 2022 13:07:27 -0800 (PST) Message-ID: Date: Fri, 7 Jan 2022 16:07:26 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Liliana Marie Prikler , Timothy Sample References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, I'm excited to take a look at this! On 1/7/22 14:43, Liliana Marie Prikler wrote: > Hi, > > Am Freitag, dem 07.01.2022 um 11:49 -0500 schrieb Timothy Sample: >> Liliana Marie Prikler writes: >>> 4. Regexps :) >> >> I doubt regex support will be broadly useful here.  Putting the >> anchors in every package name (e.g., "^tap$") makes for a lot of >> noise.  My (wild) guess would be that regexes will save us listing >> two dependencies for one out of every ten Node packages.  Given that, >> my preference would be to not bother with regex support. > My reason to include them is that we can already see a number of > packages requiring typescript(.*) for a number of (.*) -- similarly > karma and mocha -- in the patch set given by Philip. I do think > regexps will be less useful later on and could very well become > obsolete by the time we have a full bootstrap of everything, but we > don't have an ETA on that, so for now I'd like to have that capability. I think I agree with both of you, with all of the countervailing considerations. My base position is that regexps should not be mandatory or default. It was very convenient to be able to just copy--paste package names from "package.json" into '#:absent-dependencies' (or whatever). I can imagine it being useful for tooling, too, to be able to find just from the package definition the dependencies which are being deleted, rather than having to either download the origins or try to reconstruct names from regexps. But I do know that there are some families of Node.js tools we don't have packaged that come as a bunch of related "devDependencies", and I can see the convenience of being able to remove, say, "@types/.*", "eslint-.*", and ".*-webpack-plugin" succinctly. Ultimately, I agree with Liliana that the right solution to those missing tools is to package them for Guix! My experience so far with workarounds like esbuild is that they are very useful for bootstrapping and pragmatically producing usable packages, but that trying to replace the build tooling of the entire Node.js universe by hand is not a viable solution. (To be slightly more specific, I've encountered some problems with conflicting expectations about whether to consume and/or produce ES6 vs CommonJS modules, for packages that are more like "libraries" than "applications".) I think it would be fine to remove the regexp support, at least for now. Alternatively, I would also be ok with ... > > I see two potential solutions here. First is matching the whole string > as you suggested and discussed below. Second is opting in to regexp in > general (there are some ".js" things, that would otherwise require > escaping). This would take the form of the user writing > '("foo" "bar" (regexp "^baz$")) as UNWANTED, and it'd be interpreted as > the predicates > (equal? S "foo") ; alternatively string=? > (equal? S "bar") > (string-match S "^baz$") > WDYT? the second proposal, or a slight variant on it in which the user would write: `("foo" "bar" ,(make-regexp "baz")) Since this (either variant) would not change the interpretation of strings in the list of dependencies to delete, it could also be added later without breaking compatibility. > >>> I think it'd be beneficial if delete-dependencies could delete >>> dependencies based on their name matching a regexp rather than a >>> string exactly.  This would make some of your lists shorter >>> (e.g. "karma.*"), but there might be a debate on whether to use >>> "^karma.*$" or whether to only consider regexps that match the >>> dependency fully. >> >> If nothing else, I’m certainly on the other side of this debate!  :) >> If every string is going to be treated as a pattern, we should have >> it match fully by default.  That is, the anchors should be implicit. >> For the very rare (never?) case where you want to avoid anything that >> so much as has “foo” in the name, it’s pretty easy to write >> ".*foo.*". > Full string matches are my preference too, but I only found the > function that does partial match. Is there an easier solution than > checking whether the matched string equals the input to string-match? I also think full string matches are better, regardless of any of the above. Here's an implementation that avoids unneeded copies and string comparison: (define (regexp-match-exact? rx str) (define m (regexp-exec rx str)) (and m (= (match:start m) 0) (= (match:end m) (string-length str)))) (This should also avoid repeatedly compiling the regexp, as 'string-match' would do.) More soon, I hope! -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 17:11:28 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 22:11:28 +0000 Received: from localhost ([127.0.0.1]:46013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5xSK-0005x7-42 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 17:11:28 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:41821) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5xSI-0005wq-4E for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 17:11:26 -0500 Received: by mail-qt1-f172.google.com with SMTP id f17so4424469qtf.8 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 14:11:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=K6VucuEzSB1QbeKvjKoA42xVSIg2rE/QL+j1UCjNFK4=; b=fwtsAKkx+p2JmKxw+It0Nx3jaN5mhwgWCjQtG12jzQjcP7b7ULh7yx/dLJVqhWYG6E g6Y+NoD2WeCpooSp7P+7sKleNoawWDvd5cXilZKsZO88GUAfdHq/62w8fVqGwJbAo2u2 lmjZD5eFg+IBl8xaxjvwJ+OnS9CqrZ8qogHmInizFWgjD3QXZkW/WKhcDdvEpBspxzvm +3qONmHtFq1jW0VHG9j1pRSsv0NEwbPScciag0jcvcDxUJxDYJCqC4+4xtnuhGzs3QW5 U9jIXkyYUGeUmLmXSigXNVY7B0t/NzsOk+C9dvFkDLd4SBsU1ZAvz0ZHWeCIj2Cp3UL3 3eBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=K6VucuEzSB1QbeKvjKoA42xVSIg2rE/QL+j1UCjNFK4=; b=Bi/GrSqrCwCY/mh8UqM9fKJJMOc/nNMZpdgP6+eK1YjKEr3klpPtMsTOtDPUqklf7e dwTkUneuBuqdrCEiDYKplmuttYTyDPZd9dTAiPa0rA6z5foTV84Ow4yZxdFTha9Qk6tK /I/gmASfswg4NbFtMa2ewmyzCmzX1Nhg2qM6wvAyi9e9tji4reP36SdAbSJwiXiiqfQO wZpRxDs9o/X5vl5cED8mtOH0b6vIlnyFxrAIv04Yl6Gu8M8+n3b/w9aWHFo870Pv7Rda hHFNacq+7ITuzh+9hYbe/d/zLk8gygPo1WoZnvxnlMly5TbWPpEsRJCbiXma4ka+hLkH 5aqg== X-Gm-Message-State: AOAM531nzrIAJKkQOR2T5nBlqgJ3lt3VJzQX7vj3U/fq44dU9UW/L+P0 FrSEelgxXiaow+BNpiua5MRpyZ0GM/AwHw2y X-Google-Smtp-Source: ABdhPJzUeRhzBfo4i4NaqGV8lOQG9hzapS+U6C2rLmvOYn4dvW8CrjAFXg9soM8coiRLW3T+0r013Q== X-Received: by 2002:a05:622a:170b:: with SMTP id h11mr1895784qtk.484.1641593480665; Fri, 07 Jan 2022 14:11:20 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id bp34sm4313914qkb.73.2022.01.07.14.11.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jan 2022 14:11:20 -0800 (PST) Message-ID: Date: Fri, 7 Jan 2022 17:11:19 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Liliana Marie Prikler References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> From: Philip McGrath In-Reply-To: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, On 1/6/22 12:45, Liliana Marie Prikler wrote: > Hi Philip, > > Please pardon the large flood of messages in a short enough of time > without waiting for a reply. I tried my best to come up with a v8 that > addresses my personal concerns quickly. > > My main changes were to patches 3-5, but note how deleting dependencies > became significantly easier in 6pp. To list the main differences: > 1. I've implemented the alist/JSON utilities in terms of SRFI-1 and SRFI- > 2. I shortened the additional JSON API to jsobject-ref and jsobject-update*. > I still believe alist->json-object and json-object->alist would be more > useful (in particular, the main operation of jsobject-union is actually > alist-flatten), but I digress. While some of these changes are not to my taste, there's nothing I can't live with for the sake of getting this patch series applied, finally. > 3. I made it so that delete-dependencies also acts on peerDependencies. > That way, we don't have to dance around ordering. I think this is not quite correct. (Actually, I suspect more broadly that node-build-system's handling of peerDependencies is not quite correct, but wrapping my head around the semantics of peerDependencies is on my to-do list for after these patches are applied. Here's one thing I want to read and understand: https://pnpm.io/how-peers-are-resolved) NPM does not try to install packages in "peerDependencis" during 'npm install' (out 'configure' phase). The problem arises because because our 'patch-dependencies' phase adds the "peerDependencies" as additional "dependencies". (Why? I don't fully understand, but I guess because it wants them to be installed.) We want absent "peerDependencies" to not be listed in "dependencies", but I don't think we want to delete them from "peerDependencies": at a minimum, we do not need to, and it seems like it might cause problems that I don't fully understand. (This is one of the reasons I preferred to handle absent dependencies in the 'patch-dependencies' phase.) > 4. Regexps :) Hopefully addressed in my previous email :) Jelle makes good arguments for the no-regexps side. I'm genuinely on the fence, which suggests to me the best course might be to leave it as a possible future extension (as we're doing with '#:absent-dependencies'). > PS: If someone else wants to push these in my absence, please adjust the > signoffs. Also, if those mail headers are broken, don't forget to reset > Philip as author. For the patches where you've made substantive changes to the implementation or the commit message, maybe there should be more of an annotation than just "Signed-off-by". I'm not super familiar with the Git etiquette here, but one suggestion I've seen is something like: Signed-off-by: Random J Developer [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h] Signed-off-by: Lucky K Maintainer It's not a big deal, I could just imagine getting confused some months or years from now about what exactly I wrote or didn't write. (TBH the numerous versions of this series are already a bit unwieldy.) Time permitting, I'll send some more comments, but the only things I think need to be addressed before merging are peerDependencies and regexps. Thanks for helping to keep things moving! -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 17:20:37 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 22:20:37 +0000 Received: from localhost ([127.0.0.1]:46023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5xbB-0006Cv-B0 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 17:20:37 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:35789) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5xb8-0006Ce-3H for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 17:20:36 -0500 Received: by mail-wm1-f67.google.com with SMTP id 18-20020a05600c22d200b00347d3a13c7cso1191594wmg.0 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 14:20:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=5VbYmXYrPfW1mjJY+ndt6U+iTQ/zkOqP9v21NsIgzi8=; b=TRNbFFm/XkjxJ7JnjUx55HidJVVLSCcXc4cj6ZdNEJSTCxumQBSYbk98heO0qjPBUm OAqZHsleG/c+dibPms2b5+oIMDZ4bDKtuyM9r0vh6iNh1BWGPgyWnB2I1m/Oq8THfGRy zaHI7fMuNsj6k7EkJDdMJzJinIE74oENZZHd72LTShWzLzn/YPTzZyfUGNg3YneLSWnU oInO1KksIgjC8+3WZ2zTQGcM0QBZbGStrBdu6v+Sv4c2egVpB4DZCj7yNfaQvXxmTD7x mihiqdV3HqiNbyHMgtjCc02rEKkDAcb3X35d+m8ZixejuxuoOFjNS1ebCv8xsySgMcpT XWpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=5VbYmXYrPfW1mjJY+ndt6U+iTQ/zkOqP9v21NsIgzi8=; b=Io3y5/Vc+sbX9WGtLfSralLoxZFjaCVK7kVSdquRoVVju2gsb9q9MPxB/vJ9biIyjj NCYV1N//T2awLwpqB2xaCe79J6396zOJvBNH6KudnUthF0n9B1w4FUCRhl5PHY86bQLN n2vYb5Z1JEuDv8yGK9KaYDpcd6nQvoJhAM1GcDX68T2TnHboFI09vQBZUQNJKtFgR+Iv NWEIWksLBEmcg8F9VRx7u7GpgrnrlgfTxM8ZuaUOhmWmSlXQBQNpF4aoudLCKDkJNugD ZGheJ15MAf5d941J7ccs7/RZx2oy3wjZt+m7DwgxnRR4NeXMVq1cCgmtyvqzL1KDEreu s6Rg== X-Gm-Message-State: AOAM530iDwJ3PDTapYyCS2yTL/Jd/QRFRFXLnnauA0qEp0TZUA2h1AE9 nMnH21ZK+BKuFO1T5zIX1qw= X-Google-Smtp-Source: ABdhPJx4t0CpL2wVQLsQz9g+t+Pr5gxIFG/a/6hJKlAJjzJ9CX6bxg+BgA+kX0N7n2geAsv6FFVh9w== X-Received: by 2002:a1c:440a:: with SMTP id r10mr640785wma.5.1641594028218; Fri, 07 Jan 2022 14:20:28 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id o15sm1313450wro.70.2022.01.07.14.20.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 14:20:27 -0800 (PST) Message-ID: <80c4882db596f0b439b9ecca0b59cfea3ec96499.camel@gmail.com> Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Jelle Licht , Timothy Sample Date: Fri, 07 Jan 2022 23:20:26 +0100 In-Reply-To: <86o84n8dkj.fsf@fsfe.org> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> <86o84n8dkj.fsf@fsfe.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Freitag, dem 07.01.2022 um 22:02 +0100 schrieb Jelle Licht: > To put it another way: a package that has to delete about 50 > dependencies before it can be packaged in guix proper is allowed to > look ugly! It can serve as a very unambigous list of things to > possibly improve in a package, while being easy to review as well if > changes are later proposed (e.g., you see 'node-karma-runner' being > added to inputs, as well as the "karma-runner" string being removed > from the list of dependencies to patch out). With regex you always > need to hunt down if what is actually happening is what was intended > to happen. > > In addition, since the things-that-can-be-matched by the regex w.r.t. > a particular package.json file are already known and clearly > enumerated, the only advantage regex brings us here is brevity. The > biggest advantage of not using regex is that after a later package > update, you can't inadvertently patch out a dependency that was added > by upstream. I'm not sure this is a good argument. Even with a huge ass list (put the hyphen where you want to), upstreams can strengthen and weaken coupling with an update, both incidentally and purposefully. So let's say we decided to delete node-karma for version 0.2.0 of a package and that worked fine until 0.6.5, but it's a requirement in 0.7.0 -- not that we'd run tests or anything, because those require tap -- I don't think either form is particularly helpful and in fact, I'd urge reviewers to take a close look at the package.json before and after regardless form. > Before the DRY brigade comes to take my guix REPL, I'd argue that any > duplication here is incidental. What happens if we want to patch out > "karma" and "karma-chrome-launcher", but for some reason want to keep > "karma-browserify"?[1] Either way, the reviewer has to do a double > take to see whether a change from "karma.*" to the two specifications > "karma-chrome-launcher" and "karma" actually gives the expected > output w.r.t. the package.json file that is being patched. I think node packages do generally follow a pattern here, but let's assume they don't and your example works that way. In that case, I'd argue to make that regexp "karma(-browserify)?". And if later on karma-chrome-launcher is to be added to that list, but karma-icecat is allowed, "karma(-(browserify|chrome-launcher))?" In other words, we can as a community discourage the usage of ".*" without condemning all regexp. Now I'm personally not convinced that disallowing "karma.*" altogether is useful if we don't even have a karma package to go with -- and I'm very sure we'd notice karma being packaged and check our karma dropping packages -- but I'm willing to accept de gustibus here. Cheers From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 18:06:26 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 23:06:26 +0000 Received: from localhost ([127.0.0.1]:46044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yJW-0007W4-0e for submit@debbugs.gnu.org; Fri, 07 Jan 2022 18:06:26 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:36476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yJU-0007Vo-Lk for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 18:06:25 -0500 Received: by mail-wr1-f65.google.com with SMTP id r10so6113129wrc.3 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 15:06:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=m+kz0kVGzQY2Q/GLuukuuUwRgMP0lqAbkepMcj7wlqo=; b=FoIPgWN9cSTGwIWfJ/Qx8Ss/cLUWCH2GE6NGaIdT4M60IJBAYzAsIP/Y5SQFqmBAac KeQaXgH6En+ISMTH7m0FV+rfHGb5ORYYgudubLgh2tPO9AtcmLTDc1Yy2IuaDJO+aDgS TmRUX3HcXmzJyXRLA4hXW9KqFKf6cORaczip6Z9Hon7cYqG6Bn4Fqw7tOmBt0qEfUea0 D1d24gTTOza53JxZ6XF4uXc47n63iUE7zUo5QUPjT82nV8iU+g4f1kw9V2ciZjfu+vBr qvg4+4haIzJr+TZQC/gSli1Y2/NEoAQLdl9hPbqI25qrCGa3i8iArv3HYFRAhxKbJgeG 98DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=m+kz0kVGzQY2Q/GLuukuuUwRgMP0lqAbkepMcj7wlqo=; b=N5paoOtHIo61/mBQOlKy3WA5L2LucLz5vTjcS9wPzuL/S6KsFFBvHHXwAT+JbkgMDj yms9ijnapEex9Pe9sp1/AqaCbQhG8dwvrGUVdv6B/ooHbqbAfG+fR/dvAfsClFeqJ/p5 lakcGRxexubtUg1jgdbIh1lGD4dJHzO1bU2+o09zctbLNh2A+6826bUOgokFnWdZ10UO C/VaG6M3+tbQtr/yeiI5WyyiiZD+CJU+vIYmPPfbwqfBgePmCwX7kFxqmRQl+t8OZnt3 ys4cg0WK7rWbsAo5G73sYxZyjH1mHAf417DdczAH28yqGi5yav3n6nPTaz/q46r6QK03 doog== X-Gm-Message-State: AOAM530iWXqyxMozGvS/SwCFnrCz+d0uWSs1b4Xpz3DUCWo1uAyYMAu/ U9W2T0FE+bA7Cz2DHFFFKck= X-Google-Smtp-Source: ABdhPJyeAb7g6pbkAQbcGVsg7pOfh2iXHujP7DvM3y0oaF8VOVorUP4qz+5xldmj1FLxcvEsB3Y5jA== X-Received: by 2002:a5d:6d8c:: with SMTP id l12mr55385518wrs.55.1641596778904; Fri, 07 Jan 2022 15:06:18 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id r17sm31931wrj.94.2022.01.07.15.06.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 15:06:18 -0800 (PST) Message-ID: <8da3f9ca812f490c43fce423ce273a12da02041f.camel@gmail.com> Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath , Timothy Sample Date: Sat, 08 Jan 2022 00:06:17 +0100 In-Reply-To: References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 07.01.2022 um 16:07 -0500 schrieb Philip McGrath: > My base position is that regexps should not be mandatory or default. > It was very convenient to be able to just copy--paste package names > from "package.json" into '#:absent-dependencies' (or whatever). I can > imagine it being useful for tooling, too, to be able to find just > from the package definition the dependencies which are being deleted, > rather than having to either download the origins or try to > reconstruct names from regexps. I don't think tooling should be too big of an issue, since you could teach your tool to support regexp. I.e. instead of checking whether a newly added package has the name, you check whether it fits the pattern. That might generate false positive in some cases, perhaps even many, but we can (and should) refine regexps that are too generic. > Alternatively, I would also be ok with [...] a slight variant on it > in which the user would write: > >      `("foo" "bar" ,(make-regexp "baz")) > > Since this (either variant) would not change the interpretation of > strings in the list of dependencies to delete, it could also be added > later without breaking compatibility. That's true, but the main reason to add it from my perspective is that we don't need to change how regexps are interpreted from the rest of Guix to make basic strings match fully. For the fun of it, we could also extend this to procedures of a single value so that one can finally supply (const #t) :D > I also think full string matches are better, regardless of any of the > above. Here's an implementation that avoids unneeded copies and > string comparison: > >      (define (regexp-match-exact? rx str) >        (define m (regexp-exec rx str)) >        (and m >             (= (match:start m) 0) >             (= (match:end m) (string-length str)))) I can't say this is more beautiful than  (equal? (and=> (regexp-exec rx str) match:substring) str), but there's only that many ways of making a partial match a full one and Guile core has none of them... From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 18:07:11 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 23:07:11 +0000 Received: from localhost ([127.0.0.1]:46048 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yKF-0007XZ-B3 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 18:07:11 -0500 Received: from mail2.fsfe.org ([213.95.165.55]:46612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yKD-0007XR-Hj for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 18:07:10 -0500 From: Jelle Licht DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fsfe.org; s=2021081301; t=1641596827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GAW9grASYvZpkyNAdiRk8uVUBPNXAi250xdv8Ve0a5I=; b=hgKAWp4J6lmYnj0R7oF2R3mTNZUW22mDdcLYBKUlZlTP2RtZEiery4NGSwV5Hir4harDx1 r5Cyfy4+QFuuSsrMC7TQtargI5ltjgo8c6H2gf1KUrndUJrLsxc0QJ01Q68+LtLSSdZEQs sx/8a5dD6FXYYAZ2OXGRC7qoniNdkJo= To: Liliana Marie Prikler , Timothy Sample Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. In-Reply-To: <80c4882db596f0b439b9ecca0b59cfea3ec96499.camel@gmail.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> <86o84n8dkj.fsf@fsfe.org> <80c4882db596f0b439b9ecca0b59cfea3ec96499.camel@gmail.com> Date: Sat, 08 Jan 2022 00:07:06 +0100 Message-ID: <86iluv87s5.fsf@fsfe.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Liliana Marie Prikler writes: > Am Freitag, dem 07.01.2022 um 22:02 +0100 schrieb Jelle Licht: >> To put it another way: a package that has to delete about 50 >> dependencies before it can be packaged in guix proper is allowed to >> look ugly! It can serve as a very unambigous list of things to >> possibly improve in a package, while being easy to review as well if >> changes are later proposed (e.g., you see 'node-karma-runner' being >> added to inputs, as well as the "karma-runner" string being removed >> from the list of dependencies to patch out). With regex you always >> need to hunt down if what is actually happening is what was intended >> to happen. >> >> In addition, since the things-that-can-be-matched by the regex w.r.t. >> a particular package.json file are already known and clearly >> enumerated, the only advantage regex brings us here is brevity. The >> biggest advantage of not using regex is that after a later package >> update, you can't inadvertently patch out a dependency that was added >> by upstream. > I'm not sure this is a good argument. Even with a huge ass list (put > the hyphen where you want to), upstreams can strengthen and weaken > coupling with an update, both incidentally and purposefully. So let's > say we decided to delete node-karma for version 0.2.0 of a package and > that worked fine until 0.6.5, but it's a requirement in 0.7.0 -- not > that we'd run tests or anything, because those require tap -- I don't > think either form is particularly helpful and in fact, I'd urge > reviewers to take a close look at the package.json before and after > regardless form. Rather the other way around; if we do not allow regex, we will see that there is a new dependency that we are currently neither patching nor adding to the inputs. We should celebrate any accurate build time failures we can make happen! >> Before the DRY brigade comes to take my guix REPL, I'd argue that any >> duplication here is incidental. What happens if we want to patch out >> "karma" and "karma-chrome-launcher", but for some reason want to keep >> "karma-browserify"?[1] Either way, the reviewer has to do a double >> take to see whether a change from "karma.*" to the two specifications >> "karma-chrome-launcher" and "karma" actually gives the expected >> output w.r.t. the package.json file that is being patched. > I think node packages do generally follow a pattern here, but let's > assume they don't and your example works that way. In that case, I'd > argue to make that regexp "karma(-browserify)?". And if later on > karma-chrome-launcher is to be added to that list, but karma-icecat is > allowed, "karma(-(browserify|chrome-launcher))?" In other words, we ^ I would object to this (constructed example) in a patch review, fwiw. At this stage, we expect the author to determine which dependencies to leave in and out, then correctly encode these choices as a regex, which is then decoded again by a reviewer who then must manually verify that this decoded intent makes sense with regards to both the listed inputs and the actual unpatched contents of package.json. Without regex, there's just a few details that need to be kept in mind for each step, for both author and reviewer(s). Adding something to the deleted dependencies can either: - fix a (newly) broken build - remove an optional dependency, and can most likely be removed from existing inputs. Removing something from the deleted dependencies can either: - be a no-op: so the existing deleted dependency was (made) redundant - enable an optional dependency, which should most likely be added to the inputs. That's it! Some creative types can put this in fancy decision graph and we have our "You Too Can Review Node Packages" campaign! This all just to clarify my position, but perhaps also demonstrate that it's a subjective preference, so 'agree to disagree' is a fine position to take here. > can as a community discourage the usage of ".*" without condemning all > regexp. > > Now I'm personally not convinced that disallowing "karma.*" altogether > is useful if we don't even have a karma package to go with -- and I'm > very sure we'd notice karma being packaged and check our karma dropping > packages -- but I'm willing to accept de gustibus here. This is a very pragmatic example indeed! If some other folks could still weigh in, I'd be okay with the resulting decision either way. - Jelle From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 18:47:58 2022 Received: (at 51838) by debbugs.gnu.org; 7 Jan 2022 23:47:58 +0000 Received: from localhost ([127.0.0.1]:46059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yxh-0000Dc-VZ for submit@debbugs.gnu.org; Fri, 07 Jan 2022 18:47:58 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:37875) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5yxe-0000Cm-Qj for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 18:47:56 -0500 Received: by mail-wm1-f68.google.com with SMTP id l12-20020a7bc34c000000b003467c58cbdfso5806368wmj.2 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 15:47:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=NzcdtdIM1Pdi4CKlW+vfQ5eWLCAP20JdNLyNxWdOyE4=; b=i6ENj1WY6Dr7KAhj9bn8zXk/m4lK6kQ48AR3xi1qjQMMmL0koQdLIna40Iqb8R9G+A Pj172lFuffMiYJMXqs67Nsi1StU8n1D9utXy5BCDKvEuOo2XczQFckgWke2jtHCBCn4O zmMxMvsDeZcm0BlBkBThef79roDyIzzWbUAChtQuJuOEp26aXhSGtvUPnxNfn+X0sXvo y0cMaVae55XhW8O2mEVNFizfyMdvwx/B2qdGk4Pv3l+W4uWypjQD9hRXoCiOZlQddhYt P4O23xmAQAT0X22gRglPq7S3VwJSv253IkPG/qrQdQRFA1Ofiw+o66is30sdhjD0CKcq OSMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=NzcdtdIM1Pdi4CKlW+vfQ5eWLCAP20JdNLyNxWdOyE4=; b=LwBh82bm9sTcq8DH9wVOu5Q8ivqLjSpKUeWOlZmFy/A7hYfCa15CppP+mxUvUntqcp 0Aja3B6eEzSMVBN8PvwCrul0RRoyGUgwNwokX5vvpk47zfhQ75ee/R6vlKnYva8SrUvg qpLGYulsuRGK9VoYCcJ8SWHuVJRrOXc+47VC0VlXb6esd/0dn1v5zHwnAxviZMjgzlCz /12WmNAWF4OhQZhm9+3GWgjdbCXOHqFzA2jhZC90n18oEXx1EPkOvDfOMBfdHQY+ZyTL ddk/3I/+2j/2I6cNuIYBpzCYdAI9i1nf/JEyeoBaQRljXo5FXe+T94dnqiINaYonXQg9 d8jg== X-Gm-Message-State: AOAM532d7PYj3Y131ZhYUmGVZSDC9fVooEs9B6Ss6Jii4iRLaxC7Jud7 5z8Ywu4x3+KtVrx96j6kGgM= X-Google-Smtp-Source: ABdhPJz15sd70pHrCj1Q57/PAfK+9BYciaPNhKf0SRTs3W5bfahjlsdWlpTlbyXbYnf4B0MN2Qy79A== X-Received: by 2002:a1c:2544:: with SMTP id l65mr13045038wml.101.1641599268795; Fri, 07 Jan 2022 15:47:48 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id n41sm142896wms.32.2022.01.07.15.47.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 15:47:48 -0800 (PST) Message-ID: <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath Date: Sat, 08 Jan 2022 00:47:46 +0100 In-Reply-To: References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 07.01.2022 um 17:11 -0500 schrieb Philip McGrath: > I think this is not quite correct. > > (Actually, I suspect more broadly that node-build-system's handling > of peerDependencies is not quite correct, but wrapping my head around > the semantics of peerDependencies is on my to-do list for after these > patches are applied. Here's one thing I want to read and understand: > https://pnpm.io/how-peers-are-resolved) > > NPM does not try to install packages in "peerDependencis" during 'npm > install' (out 'configure' phase). The problem arises because because > our 'patch-dependencies' phase adds the "peerDependencies" as > additional "dependencies". (Why? I don't fully understand, but I > guess because it wants them to be installed.) We want absent > "peerDependencies" to not be listed in "dependencies", but I don't > think we want to delete them from "peerDependencies": at a minimum, > we do not need to, and it seems like it might cause problems that I > don't fully understand. > > (This is one of the reasons I preferred to handle absent dependencies > in the 'patch-dependencies' phase.) I'd like to be able to understand that too, but npm still boggles my mind. I think node-build-system's implementation is a rather pragmatic one; it forces you to use just a single combination of versions for all of those rather than relying on node trickery (on a related note, perhaps we ought to make inputs in node-build-system propagated-inputs to be on the safe side). > > 4. Regexps :) > > Hopefully addressed in my previous email :) Jelle makes good > arguments for the no-regexps side. I'm genuinely on the fence, which > suggests to me the best course might be to leave it as a possible > future extension (as we're doing with '#:absent-dependencies'). We do already have threads on the regexp thing, so I'm not going to respond here to keep it manageable. The change is a rather small one inside node-build-system itself, but you have to expand those strings again ;) > For the patches where you've made substantive changes to the > implementation or the commit message, maybe there should be more of > an annotation than just "Signed-off-by". I'm not super familiar with > the Git etiquette here, but one suggestion I've seen is something > like: > >      Signed-off-by: Random J Developer >      [lucky@maintainer.example.org: struct foo moved from foo.c to > foo.h] >      Signed-off-by: Lucky K Maintainer > > It's not a big deal, I could just imagine getting confused some > months or years from now about what exactly I wrote or didn't write. > (TBH the numerous versions of this series are already a bit > unwieldy.) If you don't like my phrasing in a particular message, you are free to change it for v9 (or if you don't want a v9 to be reviewed, just reply to the individual one with how you'd reword it and I'll try to keep my changes to your version minimal). I simply tried to adapt your messages to the generally accepted style, which means moving long-form discussions out of the ChangeLog into the message body and correcting every variable to variable. Now I do admit that I used some more flowery parts for 3-5 and that's completely on me, but 3 already has me as Co-Author anyway. > Time permitting, I'll send some more comments, but the only things I > think need to be addressed before merging are peerDependencies and > regexps. Cool. Let's just not forget to send a v9 once we have what looks like to be a reasonable action (assuming it's not a do-nothing, in which case I just need to reword some of your commit messages again). In my personal experience, patches help a stalled discussion tremendously. Cheers From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 19:21:10 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 00:21:10 +0000 Received: from localhost ([127.0.0.1]:46064 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5zTp-00016Y-V2 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 19:21:10 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:36753) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5zTl-00015g-QP for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 19:21:08 -0500 Received: by mail-wr1-f67.google.com with SMTP id r10so6351491wrc.3 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 16:21:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=mPN4cM76t/YuvHwKt6M+f5YQmjBKh/3q3KM6j0dxiME=; b=NjQinEB3RwjIw47eohFpMB6O6nedWkiM5rC2FSVd4T5qRM583+Vui1euOtqrQA/s4p ijkWQoqvJIDl87zAevv9dVMwQmU7VtrekgG6dGjXPyREnlU+MdZa0syzS83n46aY5TP4 4/c+p9lGS3DwvrkuWMBbWaU5UC1TKR9k7oY0NGOvrn+B7xMplQkt40LMN1xiOOscFyYg KatOfo89nbAGIXVZNDnhom4dMUlvfQBRyuZNzcww5nG4pyo76lRkiX/T2tVcAapzQKZL I9HVrvviWmhvHy0WacPXfG5fJJJf9E45JA1jex9nNVUgWKziGp5GUAaHsM0CBB7XpFSQ a8ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=mPN4cM76t/YuvHwKt6M+f5YQmjBKh/3q3KM6j0dxiME=; b=OuEWWPSfu+kBysKKuEn+OmSGNovSshPMhEnh6XNDLCh9JnUXNBLqhOnoBqBbl3pmvv mwgVtlOHohpWngj6dJxYEyZ5QrUyP16VAzlqz62ltFT74EAj/EPDtemSpgy3dgQ0AJP9 5sO0mP6Bf6dlBYU/WYcGUJycFkCCux8l+kyLvQgaefFgMGUj+irEA839fZV2Icjh7g7p wjK1y/Z1+wGy6kwenBArY5hz7GrgVmaw+tAyOfj2UDmcpm2xv1nCMPNOuiYj0q1h1CDV yr5sIGVqgtJ/MhKMOXrfyy/FSyQjufDk2xzuNlZncYF20OVVJIWWAUBiYKj4la9dtwhC fjpA== X-Gm-Message-State: AOAM532udTPI+nf6esPcVaKzruldMgMw2ZqNpZVJLw9f3GYpPCX7oIDp rhHQmK+CN+TA7G2nrUCerfw= X-Google-Smtp-Source: ABdhPJys6ehkyV/55xGlQcu+RYXAtbgWoh+TbMQfU2l0LNjHXL6dNvBokGs07wrv/sV/5Kj/kardrQ== X-Received: by 2002:a05:6000:15c9:: with SMTP id y9mr11727548wry.32.1641601259639; Fri, 07 Jan 2022 16:20:59 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id r9sm154450wrm.76.2022.01.07.16.20.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 16:20:59 -0800 (PST) Message-ID: <10d5b7f0e05545cc6ca007da831358846e988438.camel@gmail.com> Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Jelle Licht , Timothy Sample Date: Sat, 08 Jan 2022 01:20:57 +0100 In-Reply-To: <86iluv87s5.fsf@fsfe.org> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> <86o84n8dkj.fsf@fsfe.org> <80c4882db596f0b439b9ecca0b59cfea3ec96499.camel@gmail.com> <86iluv87s5.fsf@fsfe.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Jelle, Am Samstag, dem 08.01.2022 um 00:07 +0100 schrieb Jelle Licht: > Liliana Marie Prikler writes: > > [...] > > I don't think either form is particularly helpful and in fact, I'd > > urge reviewers to take a close look at the package.json before and > > after regardless form. > > Rather the other way around; if we do not allow regex, we will see > that there is a new dependency that we are currently neither patching > nor adding to the inputs. We should celebrate any accurate build time > failures we can make happen! We're arguing past each other. What I'm saying is that with neither you can assure your exclude list is actually reasonable in any sense of the word. > > > At this stage, we expect the author to determine which dependencies > to leave in and out, then correctly encode these choices as a regex, > which is then decoded again by a reviewer who then must manually > verify that this decoded intent makes sense with regards to both the > listed inputs and the actual unpatched contents of package.json. Again de gustibus, but I'd rather read one very well thought out "typescript.*" than dozens of lines excluding typescript-something. Also, with longer/well-known prefixes, it typically becomes easier to reason about a single regexp rather than seeing again 3+ lines of any given package family and missing the forest for the trees. > Without regex, there's just a few details that need to be kept in > mind for each step, for both author and reviewer(s). > > Adding something to the deleted dependencies can either: > - fix a (newly) broken build > - remove an optional dependency, and can most likely be removed from >   existing inputs. > > Removing something from the deleted dependencies can either: > - be a no-op: so the existing deleted dependency was (made) redundant > - enable an optional dependency, which should most likely be added to >   the inputs. > > That's it! Some creative types can put this in fancy decision graph > and we have our "You Too Can Review Node Packages" campaign! That's not at all the complete list of possibilities for node packages. Unless you define "optional" in the loosest sense, meaning "yeah, you can build it, but try calling a simple function and you'll get an import error of doom", which is possible because node doesn't statically verify zilch (*). That's the main reason Philip rejected my "just restrict ourselves to what we find in inputs" suggestion. Cheers > > (*) double negative meant as actual negative From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 23:13:55 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 04:13:55 +0000 Received: from localhost ([127.0.0.1]:46186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6375-0001S9-7I for submit@debbugs.gnu.org; Fri, 07 Jan 2022 23:13:55 -0500 Received: from mail-ua1-f49.google.com ([209.85.222.49]:42951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n636z-0001Rs-MD for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 23:13:53 -0500 Received: by mail-ua1-f49.google.com with SMTP id p1so13762467uap.9 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 20:13:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=TaYdWiEaLzamElvSiebHDJRXPry8kXqU2gJxQMHIL0g=; b=SLBzrnfaCbqhs69dAx75ZCqf5rVdXg68A9B4d681aEceSZvvEF/fkPIzbFzBerMjiS apEyoaQXhP88fwztpfdvTqoRgzErRVdld2q7WVK7DbyDsydJbGJoMkdV8a9Bdqc2vgLy l2nqdc0qO9CTcQJEXmY/p7HMFXtX2jyt3E++sgl7+dmZJejKz5F7gpzm8QFMaXBtd623 xs/tqFPgvz98PlJNRmqhHBA3zei+4QB3YCPI3vT21KGl9W1afLAWTkfa5gKpQ6TL9Gbe 9e0KxvLsqhIs6ZvO7qCbOjQ7tivL67BRc2j/dAcLT8SMH/Br5HktwR1ArAvW0Rm8byHs XXEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=TaYdWiEaLzamElvSiebHDJRXPry8kXqU2gJxQMHIL0g=; b=juYRkuC+rNwCjqzS8hBk0n0VmPZ04W21bbtfxoKxvSdoiDDfGuJIfDgPFGSHYLzR3n 9weuQSk4ATExC0B+9kAi3Eb544qcP2jEuRuUIJDHFwWI2aqAhe48sUxfhuWr7fWfIY0D b7cdF4pgcy7e/m90mhPUl+M4R9d/okWCJoOLvB1FsKDWWA7Iu24tTp5b+VVoTciFzZ9S qCA99Th0U/EWUqHUTQZTaI/9WxgOHp5uYZbkD2GEu5pORT3ik0ohkmqrqdJTQzaynd/7 gOlDilGMQJ2plKyrTHkBiEIp+fL9Bn6OfDRiLdpwlsvf7MDOzsplNdMYJIWgo5ogAPuQ B1Gw== X-Gm-Message-State: AOAM533aGPGlfHEuspWJ1B2rDAT5CgB5jiqh6kb8epBR7jMvM/U9XSdf RVqKhOB+NwAduKSwR4m3IG/LaEmu6pu1KdEe X-Google-Smtp-Source: ABdhPJxCmXJbA7h6C3iEIrhap7mrTYi75U57HXREF9O5A5+AaddN6UOFq9CsI35l2dt05mKhYtlsiQ== X-Received: by 2002:a05:6102:316e:: with SMTP id l14mr22339244vsm.8.1641615224171; Fri, 07 Jan 2022 20:13:44 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id u69sm361600vke.30.2022.01.07.20.13.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jan 2022 20:13:43 -0800 (PST) Message-ID: Date: Fri, 7 Jan 2022 23:13:42 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v8 03/41] guix: node-build-system: Add JSON utilities. Content-Language: en-US To: Liliana Marie Prikler References: <71ee87241c6c8a2a49c7cff916b7e1e9d508e020.camel@gmail.com> From: Philip McGrath In-Reply-To: <71ee87241c6c8a2a49c7cff916b7e1e9d508e020.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, (None of the comments in this email should block these patches, IMO. I wouldn't change any of them until we move the functions to (guix build json-utils).) On 12/30/21 02:38, Liliana Marie Prikler wrote: > This commit adds several utility functions for non-destructive > transformation of the JSON representation used by (guix build json), > particularly for purely functional update of JSON objects. They ought > to eventually be exported from their own module, but for now are kept > private to allow experimentation. > > * guix/build/node-build-system.scm (assoc-ref*, jsobject-ref, alist-pop) > (alist-update, jsobject-update*, jsobject-union): New variables. > (with-atomic-json-file-replacement): New public variable. > (module-name, build, patch-dependencies): Use them. Do not resort to > unsafe alist primitives from Guile core. > > Co-authored-by: Liliana Marie Prikler > --- > guix/build/node-build-system.scm | 145 ++++++++++++++++++++++++------- > 1 file changed, 115 insertions(+), 30 deletions(-) > > diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm > index 2d7a3bdc67..c6602b876b 100644 > --- a/guix/build/node-build-system.scm > +++ b/guix/build/node-build-system.scm > @@ -3,6 +3,7 @@ > ;;; Copyright © 2016, 2020 Jelle Licht > ;;; Copyright © 2019, 2021 Timothy Sample > ;;; Copyright © 2021 Philip McGrath > +;;; Copyright © 2021 Liliana Marie Prikler > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -26,14 +27,101 @@ (define-module (guix build node-build-system) > #:use-module (ice-9 ftw) > #:use-module (ice-9 match) > #:use-module (srfi srfi-1) > + #:use-module (srfi srfi-71) > #:export (%standard-phases > + with-atomic-json-file-replacement > node-build)) > > -;; Commentary: > -;; > -;; Builder-side code of the standard Node/NPM package install procedure. > -;; > -;; Code: > +(define (with-atomic-json-file-replacement file proc) > + "Like 'with-atomic-file-replacement', but PROC is called with a single > +argument---the result of parsing FILE's contents as json---and should a value > +to be written as json to the replacement FILE." > + (with-atomic-file-replacement file > + (lambda (in out) > + (write-json (proc (read-json in)) out)))) > + > +(define* (assoc-ref* alist key #:optional default) > + "Like assoc-ref, but return DEFAULT instead of #f if no value exists." > + (match (assoc key alist) > + (#f default) > + ((_ . value) value))) > + > +(define* (jsobject-ref obj key #:optional default) > + (match obj > + (('@ . alist) (assoc-ref* alist key default)))) > + > +(define* (alist-pop alist key #:optional (= equal?)) > + "Return two values, the first pair in ALIST with key KEY, and the other > +elements. Equality calls are made as (= KEY ALISTCAR)." > + (define (found? pair) > + (= key (car pair))) > + > + (let ((before after (break found? alist))) > + (if (pair? after) > + (values (car after) (append before (cdr after))) > + (values #f before)))) FWIW, while I don't feel strongly about `let` vs. `define` in general, I find SRFI-71's overloaded `let` less clear than internal definitions and `define-values`, which are supported by core Guile. > + > +(define* (alist-update alist key proc #:optional default (= equal?)) > + "Return an association list like ALIST, but with KEY mapped to the result of > +PROC applied to the first value found under the comparison (= KEY ALISTCAR). > +If no such value exists, use DEFAULT instead. > +Unlike acons, this removes the previous association of KEY (assuming it is > +unique), but the result may still share storage with ALIST." > + (let ((pair rest (alist-pop alist key =))) > + (acons key > + (proc (if (pair? pair) > + (cdr pair) > + default)) > + rest))) > + > +(define (jsobject-update* js . updates) > + "Return a json object like JS, but with all UPDATES applied. Each update > +is a list (KEY PROC [DEFAULT]), so that KEY is mapped to the result of > +PROC applied to the value found for it, or DEFAULT otherwise." > + (match js > + (('@ . alist) > + (let loop ((alist alist) > + (updates updates)) > + (match updates > + (() (cons '@ alist)) > + (((key proc) . updates) > + (loop (alist-update alist key proc #f equal?) updates)) > + (((key proc default) . updates) > + (loop (alist-update alist key proc default equal?) updates))))))) I would prefer (KEY [DEFAULT] PROC). In my experience, DEFAULT is often something simple like #f, and writing it after a multi-line lambda expression is not very pleasant. As a reader, you often want to know what DEFAULT is while reading the body of PROC, whereas putting DEFAULT last can look like a dangling afterthought. Plus, I think indentation tends to work out better with PROC at the end of a clause. The docstring no longer specifies left-to-right evaluation or that the default DEFAULT is #f. (And I still think '(@) is a better default DEFAULT.) I don't especially like all of the explicit quasiquotation of lists in the rest argument. > + > +(define (jsobject-union combine seed . objects) > + "Merge OBJECTS into SEED by applying (COMBINE KEY VAL0 VAL), where VAL0 > +is the value found in the (possibly updated) SEED and VAL is the new value > +found in one of the OBJECTS." > + (match seed > + (('@ . aseed) > + (match objects > + (() seed) > + ((('@ . alists) ...) > + (cons > + '@ > + (fold (lambda (alist aseed) > + (if (null? aseed) alist > + (fold > + (match-lambda* > + (((k . v) aseed) > + (let ((pair tail (alist-pop alist k))) > + (match pair > + (#f (acons k v aseed)) > + ((_ . v0) (acons k (combine k v0 v) aseed)))))) > + aseed > + alist))) > + aseed > + alists))))))) > + > +;; Possibly useful helper functions: > +;; (define (newest key val0 val) val) > +;; (define (unkeyed->keyed proc) (lambda (_key val0 val) (proc val0 val))) I much prefer a keyword argument #:combine, and I still think the key-agnostic case is so much more common that the separation of #:combine/key is useful. -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 23:14:05 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 04:14:05 +0000 Received: from localhost ([127.0.0.1]:46190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n637E-0001T3-PM for submit@debbugs.gnu.org; Fri, 07 Jan 2022 23:14:05 -0500 Received: from mail-ua1-f50.google.com ([209.85.222.50]:33287) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n637B-0001SH-0p for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 23:14:04 -0500 Received: by mail-ua1-f50.google.com with SMTP id u6so13878394uaq.0 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 20:14:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=1jDfLbRj4g/OzOn8O30S74yo9i+PD4Cj2osyEyIAwHk=; b=cqSnMmEIC7pw2STrE2aH5EPZx8uR0QucYgztHUrF86k0gldSHyS17lz4XhgZRXzVHU SVwZ4cPR84nNUj8LNIUqvUFkIdiIewvbDQGHxChgFN+/jky9kGR+r40ueR1scBpC5lsZ 3sGM8Qo5FjVqhA88xDYQUUpxZmmMSzdFFrjauafMjV7KS2nAxfeq8cwbjj2LZO+3MiD4 npJCxU9k240UjKOUblQ2PDUc/94xpcTRDlGgPU/z3+6J7hE7g7FH99Sw4csJms7VBbg9 PcDWosfDVFM2V9MHPOuq9hLUO+80+XU0q+bTGNDBXg8sBjzCNzEnVBznG9Ow7gljE0pj s/9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=1jDfLbRj4g/OzOn8O30S74yo9i+PD4Cj2osyEyIAwHk=; b=64jiCGrgsNFsAPRvfOWnuZSjTPiFA12eK8iKV5WWi5nVooP44p+UE5gM2SuaczUO2E ccxybvDUeK7EFMpry72YllJaF3QCEANuhNqw+SAuGDADG7PQ0h9zB9cs4JZ23AYGG/4c uZAMfK3dAqjf3WUKmoI/76BSKJ1XWS0FjoyRsebAsezOH6E0TUV60W8NJF2IAev6+BGx 7cklxiKNAsrywatooMeWaI3F769ckQEQeK1QYWsHAOpNdU741f/Ko7cRvo4R/OWT7kXD UbJBo4cXMKg87HKohEQt/a7/i4S/R2I393K1sN9XOCc95daRPoE2CUMsYI7nKsMOKzp2 h7mg== X-Gm-Message-State: AOAM533VhNX7ETpVciF71kzAXdrCcCfZraCZeZOt5gxE+wAuTcCAvhOu 4huN4ZKKVRC9uPJdTn3R1BtWCA== X-Google-Smtp-Source: ABdhPJwXrnBQa1YuoL8Evs5bCx2OVvpcVU/0ooxS2kMfYiwwvbg8mzCaO6az592rdB2TI0n6FhRR4g== X-Received: by 2002:ab0:6813:: with SMTP id z19mr22410695uar.28.1641615235501; Fri, 07 Jan 2022 20:13:55 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id k135sm345428vke.53.2022.01.07.20.13.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jan 2022 20:13:55 -0800 (PST) Message-ID: <70c1a8ec-c2fb-74b3-1061-2178dfb21ca8@philipmcgrath.com> Date: Fri, 7 Jan 2022 23:13:54 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v6 03/41] guix: node-build-system: Add JSON utilities. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-4-philip@philipmcgrath.com> <6fde49a1b469be7f14524e902fc91cd3eb4f3d41.camel@gmail.com> From: Philip McGrath In-Reply-To: <6fde49a1b469be7f14524e902fc91cd3eb4f3d41.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, On 12/31/21 05:18, Liliana Marie Prikler wrote: > Am Freitag, dem 31.12.2021 um 00:22 -0500 schrieb Philip McGrath: >>>> +(define (alist-pop alist key) >>>> +  "Return two values: the first pair in ALIST with the given KEY >>>> in its >>>> +'car' (or #f, if no such pair exists) and an assosciation list >>>> like (and >>>> +potentially sharing storage with) ALIST, but with no entry for >>>> KEY." >>>> +  (match (assoc key alist) >>>> +    ;; If key isn't present, we don't need to do any allocation >>>> +    (#f >>>> +     (values #f alist)) >>>> +    (found >>>> +     (values found >>>> +             ;; Because we have `found`, we can find it more >>>> +             ;; efficiently this time with `eq?`. We avoid using >>>> +             ;; `delq` because it would copy pairs in a shared >>>> +             ;; tail. We assume a sufficiently smart compiler to >>>> +             ;; handle "tail recursion modulo cons" (vid. e.g. >>>> Indiana >>>> +             ;; University Technical Report No. 19, Friedman & >>>> Wise >>>> +             ;; 1975) at least as efficiently as a hand-written >>>> +             ;; tail-recursive implementation with an >>>> accumulator. >>>> +             (let loop ((alist alist)) >>>> +               (match alist >>>> +                 ;; We know that `found` is present, >>>> +                 ;; so no need to check for '() >>>> +                 ((this . alist) >>>> +                  (if (eq? this found) >>>> +                      alist >>>> +                      (cons this (loop alist)))))))))) >>> I think this can be more efficiently be done in a "single" loop. >>> >>>    (let loop ((rest alist) >>>               (previous '())) >>>      (match rest >>>        (() (values #f alist)) >>>        ((first . rest) >>>         (if (eq? (car first) key) >>>             (values first (reverse! previous rest)) >>>             (loop rest (cons first previous)))))) >>> >> >> I'll admit to a Racket bias, but, having just eliminated the use of >> 'assoc-set!', I'm loathe to start mutating pairs (even correctly). To >> quote a bit from the SRFI-1 spec for 'append-reverse!', "note that >> this pattern of iterative computation followed by a reverse can >> frequently be rewritten as a recursion, dispensing with the reverse >> and append-reverse steps, and shifting temporary, intermediate >> storage from the heap to the stack, which is typically a win for >> reasons of cache locality and eager storage reclamation." (See how >> 'set-cdr!' can crash safe Chez Scheme! >> ) >> >> IIUC, using SRFI-1's 'span' would lead to the same situation. > For the record, we can use the non-destructive append and reverse here > at the expense of more copying. If done in terms of SRFI-1 span, we > would not need reverse as far as I understand. > >>> Also, I don't think your version is tail-recursive.  (loop alist) >>> is not in tail position from what I can tell. >> >> Yes, "tail recursion modulo cons" refers to a compiler optimization >> for functions which are _not_ tail recursive. For full details, see >> the Friedman & Wise 1975 tech report I cited at >> (or various >> other articles), but, as briefly as I can: The optimization rests on >> the observation that many recursive functions, like the classic >> definition of 'map': >> >>      (define (map f lst) >>        (match lst >>          (() >>           '()) >>          ((this . lst) >>           (cons (f this) >>                 (map f lst))))) >> >> are nearly tail-recursive, and the only real work remaining to be >> done in the continuation of the recursive call is to fill in the cdr >> of the pair. Thus, a compiler can safely transform this code into a >> truly tail-recursive implementation: >> >>      (define (map f lst) >>        (match lst >>          (() >>           '()) >>          ((this . lst) >>           (define ret (list (f this))) >>           (let loop ((dest ret) >>                      (lst lst)) >>             (match lst >>               ((this . lst) >>                (define new (list (f this))) >>                (set-cdr! dest new) >>                (loop new lst)) >>               (() >>                ret)))))) >> >> Unlike the Proper Implementation of Tail Calls (so-called "tail-call >> optimization"), handling "tail recursion modulo cons" truly is an >> optimization: it does not change the space complexity of the >> function. But it can allow the compiler to generate whatever code it >> thinks will work best with its collector/allocator and >> continuation/"call stack" implementation. >> >> (The optimizations applies to constructors in general, not just >> 'cons', and a compiler can safely apply it to values that are >> immutable from the perspective of the source language.) > I'm not aware to which extent Guile implements tail recursion modulo > cons and I'd argue neither are you until you dig down into disassembly. > I think it's better here to avoid patterns from Racket that would feel > foreign to Guilers, particularly if you have to explain them with > reference to a paper (we already get hate for referring to Wingo's fold > for XML handling). In a sense, "tail recursion modulo cons" was a red herring here. The essential requirement for implementing 'alist-pop' or 'map' as I did is that the language implementation be "safe for space", i.e. not have "stack overflow"s: Guile meets that requirement. [1] In a safe-for-space language, the naturally recursive implementations and the implementations with explicit, non-destructive accumulators both allocate O(n) temporary storage. The difference is that the explicit accumulator versions allocate temporary pairs on the heap, while the naturally recursive version allocates its temporary space on the "stack" (i.e. additional frames of the (non-reified) continuation), which is generally, and specifically for Guile per [1], much better (though a sufficiently smart generational garbage collector with bump-pointer allocation in the nursery could mitigate the difference somewhat). All of that relies just on the guarantees of Guile as a safe-for-space language. The optimization in "tail recursion modulo cons" is that a compiler could, if it chose to expend its effort this way, make the naturally recursive implementations work without the O(n) temporary "stack" storage by transforming transforming the non-tail recursion into tail recursion. In essence, it could achieve a similar effect to an explicit accumulator plus 'reverse!' without the many downsides (some of which [1] discusses). But the naturally recursive implementation is preferable even if the optimization does not apply. > > In principle, what you're supposing is that a sufficiently smart > compiler could rewrite > > (let ((before after (span PRED mylist))) (append before after)) > > to (list-copy mylist), which as far as I'm aware Guile currently > doesn't. It could be argued that it would start doing so once I cast > some magic incantations, but I wouldn't count on it without reading the > disassembly. In some sense that's true, but your example would require a lot of interprocedural analysis, not just a directly visible pattern with well-known primitives using analysis that has been well known since the '70s. But, again, the optimization isn't really relevant. >>> Is order relevant here? Because we could just as well reimplement >>> our alist-delete* loop and cons the replacement onto the rest. >>> WDYT? >> >> Relying on order for JSON objects is non-interoperable, per RFC 8259 >> §4. I'm not intending for these alist procedures to be exported, so >> I'm not trying to handle any more general case than that, as I >> explain in the comments at the top of the file. >> >> I'm not sure what the advantage would be to reimplementing the >> 'alist-delete' loop here. > Fair enough, the question was however not so much what is required per > RFC, but rather if there is a natural feel of order to package.json > that we ought not disturb. Particularly, putting dependencies before > name and version could be confusing to whoever needs to debug a delete- > dependencies phase gone wrong. I haven't noticed a consistent convention in "package.json" files (which IIUC may not be entirely hand-written). For debugging, the biggest problem is that (guix build json) doesn't add any linebreaks or indentation. If I were changing it, I'd want it to write object keys in 'string) id 1n637J-0001TN-Dw for submit@debbugs.gnu.org; Fri, 07 Jan 2022 23:14:09 -0500 Received: from mail-ua1-f47.google.com ([209.85.222.47]:38814) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n637G-0001Sa-L5 for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 23:14:07 -0500 Received: by mail-ua1-f47.google.com with SMTP id o63so13767410uao.5 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 20:14:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=H97pSS6UGhbFKRNGBVLQJnoPVJ+RBoY1rF+/QdtwNoM=; b=UQcrZK1QjbXOdGc9/EpOHtyLbQARhNbSBFiwq3WtaY9HOjE+WiIs6BfQGZPtxMKGqM dqccG2BxmxzGX3bH3/ZXWkAn7X0KqcALiHWEkjJWNT2twCEgycLVzgIy6POEfkHSE6J9 6bZWpzzNey0vAIA1gCLY0Vv/xQZfW/1/vwizy4iNWgyLTzcyWI4gndC0VDF5f45rB3j4 Gub9EZKPFZTAvhRdI1RJPL2ApqAB30afee9RASDEFml+vop1NMyrZlEV67QXMiH0LeNJ EV1Nd20T5N7Zu4ymVwoEEIU3BJXcz0AQVpuSzWZQe52gdGXitrTzIB51zpmbHKxR1wv2 B8sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=H97pSS6UGhbFKRNGBVLQJnoPVJ+RBoY1rF+/QdtwNoM=; b=O3WF4J0uB2FinKaZe9BoIKPQ+ZFX7ezro/zzN21apzOI++ihUneUP9AiqgbB/inQqb YB2mgIhOEdAU7AqF5t873aJj3aTm2Ytt1r+RiOtJdue2rpE83rDrW/t3AEyUP+2WChFC DpMtZK4wxHEt+CQHb8MJqz2GttS5n4MzPxvC13F7bWt+r/0CLDY3uGdUSz229KkWoBho qIiv2SHw8BD8VPPsIjqLOMZGosFs2DVYzS93oRZ15koywdwCXO1Qj1Y9Db0c1YFaAZXD pKpkgiaqB4lea79XT/ZcTF/3nnB9zpo8ANtDFh104EnoadyOPEeR4i5s9zO2fbsqNB5d k/7A== X-Gm-Message-State: AOAM531nuRW91Pr75Nezt0UrLOw5y5lQu4GUaKc9+dIzBYVoVS4ROrDo GWfZ8HvqOthdkwd0dqINurrFvA== X-Google-Smtp-Source: ABdhPJzkUjipNh3YE+uSDpV3Uuo5DsOx0l+3Lh2uWBzq5iJOMjbUERtUbXE9rUEgCEqFsCrGvD+4PA== X-Received: by 2002:a67:bb01:: with SMTP id m1mr23717767vsn.48.1641615241138; Fri, 07 Jan 2022 20:14:01 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id b42sm315065uad.12.2022.01.07.20.14.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jan 2022 20:14:00 -0800 (PST) Message-ID: <546445d8-55b9-62ee-a73e-a30cbf2dd7fc@philipmcgrath.com> Date: Fri, 7 Jan 2022 23:14:00 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> <1e4755f3697d54b751684210215a1337c101f4ca.camel@gmail.com> From: Philip McGrath In-Reply-To: <1e4755f3697d54b751684210215a1337c101f4ca.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, On 1/5/22 16:04, Liliana Marie Prikler wrote: > Am Mittwoch, dem 05.01.2022 um 14:08 -0500 schrieb Philip McGrath: >> In case it helps at all to state my position more fully: with or >> without Guix, I think a major purpose, perhaps even the primary >> purpose, of _any_ build system is to relieve users (including >> ourselves) of the cognitive burden of lower-level details. Build >> systems are a means of abstraction and encapsulation. >> >> [...] > I agree with you that abstractions ought to help, but we do have some > disagreements about the amount by which certain abstractions help. > Those are gut feeling value judgements, they're not all entirely > rational. > >> I hope this is just a matter of some nuance in the connotation of >> the word "gratuitous" not coming across properly, but I would >> appreciate the same consideration being extended to my perspective. >> >> Almost tautologically, I don't think adding '#:absent-dependencies' >> would be gratuitous, or I wouldn't have proposed it. > Generally, keywords are reserved for a few special operations. I don't > currently have the time to write them all up, but suffice it to say I > don't believe the way #:absent-dependencies would be used fits into any > of those. I can write that up in a later message if you feel it's > imporant enough. It isn't needed right now, since we've agreed to go ahead without '#:absent-dependencies', but, since I do intend to propose '#:absent-dependencies' immediately thereafter, I think it would be useful: this seems to get close to the core of the disagreement we've been having for the last ... couple months? I don't see a reason why we should hesitate to use keywords when they enable especially nice code. Actually, I've sometimes wished build systems would '#:allow-other-keys'. I'd expect '#:absent-dependencies' to be more common for 'node-build-system' packages than '#:tests?', since I'd expect almost every package that would use '#:tests? #f', plus a significant number that wouldn't, to use '#:absent-dependencies'. Jumping back to an earlier email: On 12/30/21 21:46, Liliana Marie Prikler wrote: > Am Donnerstag, dem 30.12.2021 um 20:09 -0500 schrieb Philip McGrath: >> In my view, the high-level purpose of 'delete-dependencies', >> '#:absent-dependencies', or whatever is to gather our collective >> procedural knowledge about how to modify a "package.json" file to >> build a package without some of the dependencies its developers have >> declared and to encode that knowledge in a single, abstracted point >> of control in 'node-build-system', so that authors of Node.js package >> definitions can simply specify which declared dependencies are absent >> and leave it to 'node-build-system' to act accordingly. (I don't >> think it matters _why_ the dependencies are absent, i.e. whether we >> don't want the them or merely don't have them.) > For the record, you can delete present dependencies as well, which is > one shortcoming in the "absent dependencies" metaphor. [...] >> It is unnecessarily flexible because, if a package author ever passes >> some other value for '#:json-keys', that would seem to indicate that >> there's some procedural knowledge missing from 'node-build-system', >> and it should be added there. > The reason I have it as such is that a packager might decide in the > future to e.g. only drop a peer dependency, that might share a name > with a dev dependency or something along those lines. Since I don't think I've written it down before, my hope in describing them as "absent" dependencies was to state that they are absent from the build environment, while being as neutral as I could about _why_ they might be absent. In particular, I wanted to avoid the implications of "missing", which can have implications of "we don't know where X is" and "it would be better if we found X". One day, it would probably be nice to have 'node-aws-sdk' packaged for Guix, but, even if we knew the precise line number in "node-xyz.scm" where it we could find its definition, we would not want to use it while building 'node-sqlite3'. So, having established that the adjectives are a little fuzzy, I don't understand what it would mean to "delete present dependencies". If they are present in the build environment, why delete them? If the issue is that they only are needed at build time, the 'install' phase of 'node-build-system' should already handle this by passing '--production' to 'npm install'. If a "peerDependency" and a "devDependency" share a name, then they refer to the same package. I believe it would be an error (logically, that is: I do know npm would not raise an exception) to have a "peerDependency" that is also a "devDependency" or a "dependency": as I understand it (poorly!), peer dependencies are meant to be some weaker kind of relationship. But again, none of this needs to stand in the way of merging this patch series. -Philip From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 07 23:14:14 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 04:14:14 +0000 Received: from localhost ([127.0.0.1]:46196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n637N-0001Te-Ux for submit@debbugs.gnu.org; Fri, 07 Jan 2022 23:14:14 -0500 Received: from mail-vk1-f174.google.com ([209.85.221.174]:38871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n637M-0001TC-Fh for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 23:14:12 -0500 Received: by mail-vk1-f174.google.com with SMTP id h5so4911450vkp.5 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 20:14:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=5waxBRsxid+/jvF77W5lZGt/tvIk6rY2VGm5whlLwwk=; b=PnLfh+KfM4jqFJXputl1lj8wqYUNcITP8wc7+2cqjgJP8ocFLYW+17RHr3CAKxrdFl 5yCuPk/qeymMpMqRR3hCTb/SCDB+E88YRHc85YMbt9LU4P3NGud0ib5oNPphxpOyyVgY G+k2YiGSZOLPw5VqEWRyEqxnUA9xQ1kh+EBgGH3hI+/R4HXiDa6p8Exb19jWOJpkpKcW QwuzKphe7mcOgNRVJhiY6p0zduKmoEN8dx6wdWcIxRjDQ8jqrA5lUJD/bpiRAVM6oVe5 Cg8BD9lR/yOGiy1J4+UI+SB3JDXSXFTkhVjFXNyXE+EF5fZh45945i6a8QCCpYwP5Tki T/+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=5waxBRsxid+/jvF77W5lZGt/tvIk6rY2VGm5whlLwwk=; b=2ReONJLOzBQHWhn1dUIRLeyR/Y/l/soxxrxcfbxT+qKnHWQeebGyZ9HfwQB4QjVlAt 4xZSbLjeGRVvcSXTndAmxoIMyr2PDawnKVvb2nUpggqDg2LSW/P/CF9n45IqgLqhN+9n 63rNhciBJJsXi8MqVYW7bLNYN62q0YBUfPJTMBf/O7xLQmi4sTba28o4C757f914sYpk BhdpaRWsd2tjwXMBrsLVKF7gqJ0FW6DE+qaRz2QWUNa+bdta46bb4gX+Ou0yihFvk/eR YUXQv05wuqYLg3LvDXFIp3GKBRNq+PsAgyN6IiHXwNGGHNm7BfHwn4Vmy2kAEP7WZ2GB cNbw== X-Gm-Message-State: AOAM530eku6JlgBJu3J+v/hlDIL2sXED6BxdOfWcL1lZNpsAvF5sW3pr 6qbPaCeN26vNOqOk9qfpLQGLohuxU5uverxE X-Google-Smtp-Source: ABdhPJzqjhc0uMivTDL2uzMo8lN1XamDchb7LE6QhVOp20+2GKSE20EKuRgQlGJewoMQHDuEQnPzjQ== X-Received: by 2002:a05:6122:2c3:: with SMTP id k3mr690508vki.14.1641615245805; Fri, 07 Jan 2022 20:14:05 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id v7sm349711vkc.31.2022.01.07.20.14.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jan 2022 20:14:05 -0800 (PST) Message-ID: <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> Date: Fri, 7 Jan 2022 23:14:04 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: 51838@debbugs.gnu.org References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> From: Philip McGrath In-Reply-To: <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Liliana Marie Prikler , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, On 1/7/22 18:47, Liliana Marie Prikler wrote: > Hi, > > Am Freitag, dem 07.01.2022 um 17:11 -0500 schrieb Philip McGrath: >> I think this is not quite correct. >> >> (Actually, I suspect more broadly that node-build-system's handling >> of peerDependencies is not quite correct, but wrapping my head around >> the semantics of peerDependencies is on my to-do list for after these >> patches are applied. Here's one thing I want to read and understand: >> https://pnpm.io/how-peers-are-resolved) >> >> NPM does not try to install packages in "peerDependencis" during 'npm >> install' (out 'configure' phase). The problem arises because because >> our 'patch-dependencies' phase adds the "peerDependencies" as >> additional "dependencies". (Why? I don't fully understand, but I >> guess because it wants them to be installed.) We want absent >> "peerDependencies" to not be listed in "dependencies", but I don't >> think we want to delete them from "peerDependencies": at a minimum, >> we do not need to, and it seems like it might cause problems that I >> don't fully understand. >> >> (This is one of the reasons I preferred to handle absent dependencies >> in the 'patch-dependencies' phase.) > I'd like to be able to understand that too, but npm still boggles my > mind. I mean, I did start writing this patch series because I find it more understandable than just using npm :) > I think node-build-system's implementation is a rather pragmatic > one; it forces you to use just a single combination of versions for all > of those rather than relying on node trickery I will send a v9 that doesn't delete "peerDependencies" and just rely on doing the ordering properly. Hopefully, we can improve the situation later, once we understand how "peerDependencies" are actually supposed to work (and/or adopt '#:absent-dependencies' :) ). I don't know of any concrete problems that would be caused by overzealously deleting "peerDependencies", but I wouldn't know of them, since that's not the behavior I've been testing all this time. > (on a related note, > perhaps we ought to make inputs in node-build-system propagated-inputs > to be on the safe side). I think that might not actually lead Node.js to find all of the modules, and some things I've been reading with interest (but not yet fully understanding) suggests that the opposite, i.e. creating a more strict "node_modules", is actually useful. [1] [2] > >>> 4. Regexps :) >> >> Hopefully addressed in my previous email :) Jelle makes good >> arguments for the no-regexps side. I'm genuinely on the fence, which >> suggests to me the best course might be to leave it as a possible >> future extension (as we're doing with '#:absent-dependencies'). > We do already have threads on the regexp thing, so I'm not going to > respond here to keep it manageable. The change is a rather small one > inside node-build-system itself, but you have to expand those strings > again ;) I am not 100% clear---if I'm wrong, please speak up!---but my sense from the previous thread is that: 1. some people have reservations about some regexp proposals; 2. everyone who has liked any of the regexp proposals has been ok with one of the options for distinguishing regexps from non-regexp strings, either '(regexp "foo") or (make-regexp "foo"), with another dimension being whether or not to require full matches; and 3. with either of the options from #2---as long as regexps are using some representation that answers #f to 'string?'---regexp support could be added as a fully compatible future extension. So I think---I hope!---a version without regex support could get everyone's assent. Unless someone tells me otherwise first, that's what I'll do in v9. >> Time permitting, I'll send some more comments, but the only things I >> think need to be addressed before merging are peerDependencies and >> regexps. > Cool. Let's just not forget to send a v9 once we have what looks like > to be a reasonable action (assuming it's not a do-nothing, in which > case I just need to reword some of your commit messages again). In my > personal experience, patches help a stalled discussion tremendously. Ok! -Philip [1]: https://pnpm.io/blog/2020/05/27/flat-node-modules-is-not-the-only-way [2]: https://medium.com/pnpm/pnpms-strictness-helps-to-avoid-silly-bugs-9a15fb306308 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 02:00:42 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 07:00:42 +0000 Received: from localhost ([127.0.0.1]:46245 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n65iU-0006Mw-BT for submit@debbugs.gnu.org; Sat, 08 Jan 2022 02:00:42 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:33294) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n65iS-0006Mg-NH for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 02:00:41 -0500 Received: by mail-wr1-f68.google.com with SMTP id r9so13570774wrg.0 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 23:00:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=NUB4vtRoQZ3Eg28+jHoOvoKcRtfvXv/CQhcYvJLd+zY=; b=ToG9qTwmSkeCh2CfBLvU9M9Ae1NzhnLK7YRk/zPPEZa8X7tqV+GK5TWUklqKHieOri LfeRYCEkTixdAWMer12VBRS4VCXdkjVL2Ftii3EzdJtNExgfMrCpehfB2DMKVsKYakeq CgZ528SI7w+DboS0GUXMvds74lsC6Z/a1jO3Tzp0Rb9XMAg07kWBrFBiHDf5k30F7GPB nYjYpR53VUFvL/24IjvJoomVmP9wdlTo2dU6QiOzF+7DiLJjUZly2rvYygTKSKSrYTKa khiigYHw0A5iPvaOSoAY9I5rGeN51m5QglwyqoqDm8qj/S/OdFNZkylz6w6DHSozp//O sIgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=NUB4vtRoQZ3Eg28+jHoOvoKcRtfvXv/CQhcYvJLd+zY=; b=61cY3Gn06KPcGcpGjfA6wovhKuhkjdME1OSiKTRLBN54EyFV8XXDGxiGfu29LzbL7I U5A1itXoeM5l/thIqBvTVdOj7qDqH4wExuM+335bEvmOI+mgcRlA+g1uppGf4pLIVfK4 pfgaeE+nC6Ek3PFPXYaRDwBbc2Nyc7+4GEdhUTTPYdu1aiPtXvCBCFT1zqEC2Ehzrs+S tekSM7oCItr0RDVTme0up+WfDkVZsSWeLsFcuAJz2Q/vJ/JDmWsX2zn6wM73ZD1zRyKH m2Xp35LWYVWhQqwmc+oMpjD9gednAQfWpi4ztkMDJNGqWzNLABBeFWC2B3dpq8PJjdoX ig9w== X-Gm-Message-State: AOAM532NLC//OE2HcUHkh8Hpu0vZPWGcqc2iedGL3juNMqSgVHJq8LLF rtabyfX1smKSt/WjrAAlJ5Q= X-Google-Smtp-Source: ABdhPJxhVlnIEnYCJcSCtSv2WzqHlrU+L1eWnhkvhJ+tL3GtIFuBSmRUInIHcvdTxorUFgXXQwAshQ== X-Received: by 2002:a5d:64eb:: with SMTP id g11mr26578177wri.135.1641625234463; Fri, 07 Jan 2022 23:00:34 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id k14sm798319wrn.59.2022.01.07.23.00.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 23:00:34 -0800 (PST) Message-ID: <5c5d0aa3b3a1a2054d11162af55a9175d115d4ba.camel@gmail.com> Subject: Re: [PATCH v8 03/41] guix: node-build-system: Add JSON utilities. From: Liliana Marie Prikler To: Philip McGrath Date: Sat, 08 Jan 2022 08:00:32 +0100 In-Reply-To: References: <71ee87241c6c8a2a49c7cff916b7e1e9d508e020.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: 51838@debbugs.gnu.org, Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 07.01.2022 um 23:13 -0500 schrieb Philip McGrath: > FWIW, while I don't feel strongly about `let` vs. `define` in > general, I find SRFI-71's overloaded `let` less clear than internal > definitions and `define-values`, which are supported by core Guile. Internal definitions are an implicit letrec, which might be useful to have, but I prefer explicit let-binding. It has the added benefit of being shorter to write and having clearer scope. > I would prefer (KEY [DEFAULT] PROC). In my experience, DEFAULT is > often something simple like #f, and writing it after a multi-line > lambda expression is not very pleasant.  The reason to have DEFAULT be an optional final argument is imo symmetry with how you'd call the underlying alist functions. It makes the code a little easier to grok, but you're right that inline DEFAULT looks nicer. > The docstring no longer specifies left-to-right evaluation or that > the default DEFAULT is #f. That's a bug. > (And I still think '(@) is a better default DEFAULT.) I don't think so. Values could be of any type, not necessarily object type (e.g. suppose you're updating a key:string mapping). So explicit '(@) is preferred in my opinion. > I don't especially like all of the explicit quasiquotation of lists > in the rest argument. Two things: First it makes it easier to understand where each update begins and where each update ends. Second, I'm not satisfied with quasi-quote either (I'd like to have substitute-json* syntax ideally), but it's a fair middle ground between my ideal solution and what I could do on top of your submission in a short time. > > +(define (jsobject-union combine seed . objects) > > +  "Merge OBJECTS into SEED by applying (COMBINE KEY VAL0 VAL), > > where VAL0 > > +is the value found in the (possibly updated) SEED and VAL is the > > new value > > +found in one of the OBJECTS." > > +  (match seed > > +    (('@ . aseed) > > +     (match objects > > +       (() seed) > > +       ((('@ . alists) ...) > > +        (cons > > +         '@ > > +         (fold (lambda (alist aseed) > > +                 (if (null? aseed) alist > > +                     (fold > > +                      (match-lambda* > > +                        (((k . v) aseed) > > +                         (let ((pair tail (alist-pop alist k))) > > +                           (match pair > > +                             (#f (acons k v aseed)) > > +                             ((_ . v0) (acons k (combine k v0 v) > > aseed)))))) > > +                      aseed > > +                      alist))) > > +               aseed > > +               alists))))))) > > + > > +;; Possibly useful helper functions: > > +;; (define (newest key val0 val) val) > > +;; (define (unkeyed->keyed proc) (lambda (_key val0 val) (proc > > val0 val))) > > I much prefer a keyword argument #:combine, and I still think the > key-agnostic case is so much more common that the separation of > #:combine/key is useful. I think we could define an (alist-flatten alist #:key combine default- combine), where again combine is your combine/key and default-combine is your combine. Then we could define (json-object-union objs ...) as (alist-flatten (append-map json-object->alist objs) #:combine ...). Explicit conversion of json-object to alist and back seems to be the wiser option to me than defining everything twice. WDYT? From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 02:59:19 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 07:59:19 +0000 Received: from localhost ([127.0.0.1]:46273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n66dD-0007xU-85 for submit@debbugs.gnu.org; Sat, 08 Jan 2022 02:59:19 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:41486) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n66d7-0007x9-Qz for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 02:59:18 -0500 Received: by mail-wr1-f68.google.com with SMTP id v6so15497671wra.8 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 23:59:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=Alk/4sUNCRSBNsAHpAyOw4+NbUgADj7HbqNJwc5vek0=; b=McGM4EnlFGrHLl1/WgoeeGZ6wA6uqLoIan2NT5UzuR0Xdw80r8xEnxLF3Kus69QECi mAZuMYbPX+a3ME+TFWfiy+9vTYSCiHEWca+Pt165XbYLmUaYPR6nDHQKd0hFqcoBPPGv 0XDJuv8Xx3fIBPpnBu2TCG03DUhU4q2DtSdNUl6rjCto3l8F1dLkp5LJmv8RrnR26ay2 puKCwquFXUkx3cb1KCnmv28oxvilFKiVjtwoM4pZn8Y99rkc5UH/8knUhPgHuXJGczSF QT8siwH+eW1R3LgiSd/YNnQX8vRcWI0jeuFfKaQZoudNaEmbnk2GaUtslyPm+yfyevrP ChNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=Alk/4sUNCRSBNsAHpAyOw4+NbUgADj7HbqNJwc5vek0=; b=4PRrZ5UDXA31VHrk20i+ZIXUvAbPJ/hFP5hedTG65MQzjsXgg5COCZT+byjjpzxfAn ehfXOTxCwlxJz8noTZowhM4bEBSaPF4icEkLVPjmZsRDW80ifqJb5ovSKM6DIx0UP3zR 9OG+26VDslDvmaiPxj7zllZR28KQGMkxohW1NbGysiMYe6ayRGkTcXCtj+UXbpK5WUFC Tr/YucW/NFoCJndhVAK/SOQsgFnFthlYLZMHkhuT6WWadjkbO+9ZXrN6qluF56xylJLO QcBnwfKew12vI9i0g3qosCn2WeRemkmZpelZbjZZk5Lxt8pmNaOjlReROHKlVAhFyTBm 4dbg== X-Gm-Message-State: AOAM5335z4VI9kXVNnffpGbCiK8NXhwxqwDbG0Yhl/sdUGyYIl210ljL ++Er09jrsit/tFHNv+p4nus= X-Google-Smtp-Source: ABdhPJyCiKdN3k5oKBohG0rZWGZGUO9lPnTPugNocG+sWbwpskevZjbdu12peAJLvuOOMJPXmyovqA== X-Received: by 2002:a5d:6dac:: with SMTP id u12mr56146741wrs.233.1641628747664; Fri, 07 Jan 2022 23:59:07 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id r62sm729119wmr.35.2022.01.07.23.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 23:59:07 -0800 (PST) Message-ID: <7bdcc413a2c0cefef6c054d306aed395f3911594.camel@gmail.com> Subject: Re: [PATCH v6 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 08 Jan 2022 08:59:06 +0100 In-Reply-To: <546445d8-55b9-62ee-a73e-a30cbf2dd7fc@philipmcgrath.com> References: <082a81964a43ae5f735ad2ca433d0dfe00859c35.camel@gmail.com> <20211230073919.30327-1-philip@philipmcgrath.com> <20211230073919.30327-6-philip@philipmcgrath.com> <7d5dd434d7750123fa32cb623df0463d60d3f82f.camel@gmail.com> <23eaa7e6-c087-d885-924a-192917758bbf@philipmcgrath.com> <5b83ba5e35af7ac956a6d5de41cb98a892863b55.camel@gmail.com> <4e443a9e-e024-d641-14cd-e36ef7cae46d@philipmcgrath.com> <1e4755f3697d54b751684210215a1337c101f4ca.camel@gmail.com> <546445d8-55b9-62ee-a73e-a30cbf2dd7fc@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Am Freitag, dem 07.01.2022 um 23:14 -0500 schrieb Philip McGrath: > I do intend to propose '#:absent-dependencies' immediately > thereafter. And I do intend to reject that proposal immediately thereafter. Nothing personal, but I think I've made a clear enough case against it, although I could go into even more detail if you want me to. > I don't see a reason why we should hesitate to use keywords when they > enable especially nice code. Actually, I've sometimes wished build > systems would '#:allow-other-keys'. The reason to e.g. use #:tests? over (delete 'check) is not because the code looks nicer (although it does). As Jelle pointed out, code that does ugly things should be allowed to look ugly, and in terms of node- build-system needing to delete dependencies *at all* is already an ugly thing. There's no need for a convenience keyword, much less a reason to implement one for the sake of nicer-looking code. > Since I don't think I've written it down before, my hope in > describing them as "absent" dependencies was to state that they are > absent from the build environment, while being as neutral as I could > about _why_ they might be absent.  The word absent is not neutral. It implies it's not there when it should be. My use of unwanted does the opposite. It implies it should not be there when upstream claims it should. The obvious middle ground is good old "exclude", but I think it'd be hard to make an argument even for #:excluded-dependencies. > In particular, I wanted to avoid the implications of > "missing", which can have implications of "we don't know where X is" > and "it would be better if we found X".  You just substituted missing for another spelling of it. That doesn't really help here. > So, having established that the adjectives are a little fuzzy, I > don't understand what it would mean to "delete present dependencies". > If they are present in the build environment, why delete them?  It would mean committing the error of specifying a dependency both as input and as absent. This is for the lack of a better word UB. > If a "peerDependency" and a "devDependency" share a name, then they > refer to the same package. I believe it would be an error (logically, > that is: I do know npm would not raise an exception) to have a > "peerDependency" that is also a "devDependency" or a "dependency": as > I understand it (poorly!), peer dependencies are meant to be some > weaker kind of relationship. Even then, much of our other discussion revolves around the question of what the implications of those are. If we, the experts, can't be trusted to have a clear enough understanding, how should we trust non- expert users on the matter? That's why I wanted to encode the dependency key in delete-dependencies. That way, one could specify "delete X from dependencies after it was introduced by Guix" or "no, I really don't want it to be a peer dependency either". And until we have a clearer image, we could accept both forms and see what problems they'd cause later on, then reject one in favour of the other by patching them out over time. None of that would be possible with a keyword, at least one with a nice value encoding. You either change all node packages at a time, potentially causing a c-u-worthy rebuild, or you don't and you're stuck. Cheers From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:43:27 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:43:27 +0000 Received: from localhost ([127.0.0.1]:46282 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ju-0000hH-Ol for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:43:27 -0500 Received: from mail-qv1-f54.google.com ([209.85.219.54]:46831) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Js-0000h1-R4 for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:43:25 -0500 Received: by mail-qv1-f54.google.com with SMTP id r6so7909648qvr.13 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:43:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ThIBqT6tdfOWu4DNUQf8GcdCKV/OfAp6LYO7MDuWxrA=; b=Lo0gYmJYsKGA27YTI2uH97ZiPNjqR4WTf55AJ9jAQ9A0aH46OQwxdzBTQlS2EsIHxq mM8OQs2zq9sZiG3T+IN/LPLiykSltaCvzUyp5153mKBiLzv0MVBZCR7EO1woe9hjMX0K HUosYMXbqZCkLNCrgnb5SafVFAw0UKd9YUQAc3m/pVjKDJWA4MYE9tXGOG16Mt4JwM3+ 88XR9p7pHaCv75X7PW4mwzGtjvqq79isD+JbpGCJJvpSC1aRYJZXxqkCi7Tq+f8Np2of +dHwgFFKkLhrb+8NnX28P9nwhCxDX6N+caid5M0ITmOdYW3CKMhbWt2q+5qskh64COSS DOWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ThIBqT6tdfOWu4DNUQf8GcdCKV/OfAp6LYO7MDuWxrA=; b=x8OFeUjcB/2QfTYncDsoroCem9kbM/23b7tPmFgI6P63zV0IawD8sw3cfwcv9MXEri Hh05kH5vBS4HAHaDiAtd7QM1woU6Y32P7A+OpBJ/H63kRXm1uRvT8V6hKMA78xpJ/sHf mTSvU1NAjNyrtBAmo3ik65FCap60rzJ6WFCb8R8yh2amHeRV6BnKL1wDftKi3Zeg3y+6 LTAqTqAW4DFXTFw8en1nUPtL0DoRu7qf5enxiIaua7zQyGdLhUYHJ+AW4IpIWOAXZwUM kMlHghKLCXHaos8bggUPYZyzziNslYnZr1yPtcye82DXwBTiaAYYgaWOwnK6fL43AXrB 7j/Q== X-Gm-Message-State: AOAM531JIzznMA+sTRpasiuy3MCV9Fzw+j1I4K5lbb9LdJYCAruRXdL0 dDSX3nRFDsfZKDdCZ950H8nTk7RXgEuvSQmj X-Google-Smtp-Source: ABdhPJyJQl141PrNRLHO+NcIUuQUmyjysPUSzdZykNlU/Ywxqv0Ly4mZQlvx7vQDmwP9hB/bxqe/Kg== X-Received: by 2002:a05:6214:1c81:: with SMTP id ib1mr37882443qvb.127.1641631399190; Sat, 08 Jan 2022 00:43:19 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id j16sm672583qtx.92.2022.01.08.00.43.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:43:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Date: Sat, 8 Jan 2022 03:41:48 -0500 Message-Id: <20220108084229.362642-1-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Ninth time's the charm? I hope so! The only changes from v8 are: - In 03/41, I revised the docstring for 'jsonobject-update*' as discussed in ; - In 05/41, I changed 'delete-dependencies' to accept strings, rather than regexps, and not to delete "peerDependencies", as discussed in ; - In 06/41 through 41/41, I changed the arguments to 'delete-dependencies' accordingly, where applicable. Liliana, I removed your "Signed-off-by" so as not to imply that you'd seen these changes. I also added you as a co-author to 05/41, which seemed appropriate. Of course, feel free to adjust as you like. -Philip Philip McGrath (41): guix: node-build-system: Add delete-lockfiles phase. guix: node-build-system: Add implicit libuv input. guix: node-build-system: Add JSON utilities. guix: node-build-system: Add avoid-node-gyp-rebuild phase. guix: node-build-system: Add 'delete-dependencies' helper function. gnu: node-semver-bootstrap: Use 'delete-dependencies'. gnu: node-ms-bootstrap: Use 'delete-dependencies'. gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. gnu: node-debug-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. gnu: node-llparse-bootstrap: Use 'delete-dependencies'. gnu: node-semver: Use 'delete-dependencies'. gnu: node-wrappy: Use 'delete-dependencies'. gnu: node-once: Use 'delete-dependencies'. gnu: node-irc-colors: Use 'delete-dependencies'. gnu: node-irc: Use 'delete-dependencies'. gnu: Add node-inherits. gnu: Add node-safe-buffer. gnu: Add node-string-decoder. gnu: Add node-readable-stream. gnu: Add node-nan. gnu: Add node-openzwave-shared. gnu: Add node-addon-api. gnu: Add node-sqlite3. gnu: Add node-file-uri-to-path. gnu: Add node-bindings. gnu: Add node-segfault-handler. gnu: Add node-ms. gnu: Add node-debug. gnu: Add node-serialport-binding-abstract. gnu: Add node-serialport-parser-delimiter. gnu: Add node-serialport-parser-readline. gnu: Add node-serialport-bindings. gnu: Add node-serialport-parser-regex. gnu: Add node-serialport-parser-ready. gnu: Add node-serialport-parser-inter-byte-timeout. gnu: Add node-serialport-parser-cctalk. gnu: Add node-serialport-parser-byte-length. gnu: Add node-serialport-stream. gnu: Add node-serialport. gnu/packages/node-xyz.scm | 966 ++++++++++++++++++++++++++++++- gnu/packages/node.scm | 63 +- gnu/packages/zwave.scm | 64 ++ guix/build-system/node.scm | 9 +- guix/build/node-build-system.scm | 236 +++++++- 5 files changed, 1277 insertions(+), 61 deletions(-) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:43:44 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:43:44 +0000 Received: from localhost ([127.0.0.1]:46285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KC-0000ht-3H for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:43:44 -0500 Received: from mail-qk1-f172.google.com ([209.85.222.172]:43879) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KA-0000hd-HI for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:43:43 -0500 Received: by mail-qk1-f172.google.com with SMTP id f138so8473398qke.10 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:43:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LdZs1FW3wxcELyyFEiVAVcuSZhVay4HA/ADjYH1bwlU=; b=PiK5/qu570WzQK0r+SDmB8fdd+E/jJq8+5bicwaI+pjB9a96u6yGnfrF0gmz3QUqRC TLs1ARga2Mps8D3MuFg8EP2Lv3qhDwm/sVqYxc/ogXCWvs+7/g51GhvYb4k6jEmuDn5S u6Nji8/Uag2OqxDLTXF5jenmocffgxLKAsQc3sTVHJyzkFLP8Fl193LcA3jNVbVzIfvF Xai9yxlbpq+/m8dPeA4wcLB2VmjSm+HbDoKWdUtBlpm+anAaZV18PJYs/xCG/cHgyVup mTbCcu8m+K8HwrM9ZTBU4pBnMcNhs6voBGtGHad45Pib/mlOD+oiXE2eQx1ylbiTiKn0 TGjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LdZs1FW3wxcELyyFEiVAVcuSZhVay4HA/ADjYH1bwlU=; b=3JIlSyAAPSuYMuOg4trBu39oc53z+gH7q/VtKw+AcIswQ4xz2Zdhe5qNiZxUcsQ2X2 KnBUZL7Sg89dsyVyKSH/PKRBdg3hdUCA69JE9Ba1OU8CsO+W4QxDRrm9wpH2IZBiK75R lklShEVik2zUxXobzMX/VxpAbGthF7F3qDJh9FSkQYKt7NAUi2RZL+/D4tL1EUzPrqmH TLxRccJvd6rX/FVx83Xz0S5X+RWu/F3rRRcoP1Fcr/amRJ3qoDqCxFdFEjRNEeLnE5Zx qOdX+onl7QqjS6YP/4bmYRonCE8jqg4VoqRCyeoepsBMh4awQ660C+ahXLC5klH14fTn sjVw== X-Gm-Message-State: AOAM533h3At2vBguzY3cWqlEcTTmkgHoTYX3cgUXdoMtv2EfLijpimDk KSoKEhp0h87Cw8KMFGaeyhpJFRTgkRRUfLmY X-Google-Smtp-Source: ABdhPJwlbsHfl7cNxjB3Z5gAEroXdE+tMj7Thgn6E5pUBezcKXWXIOvZOpqSAAW9q8DR4boUjQFpYQ== X-Received: by 2002:a05:620a:4454:: with SMTP id w20mr47337357qkp.369.1641631416773; Sat, 08 Jan 2022 00:43:36 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id ay42sm696848qkb.40.2022.01.08.00.43.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:43:36 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 01/41] guix: node-build-system: Add delete-lockfiles phase. Date: Sat, 8 Jan 2022 03:41:49 -0500 Message-Id: <20220108084229.362642-2-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Guix does not use any of these lock files to determine the package versions used during the build, so they only serve to cause problems. * guix/build/node-build-system.scm (delete-lockfiles): New variable. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. --- guix/build/node-build-system.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 70a367618e..2d7a3bdc67 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2016, 2020 Jelle Licht ;;; Copyright © 2019, 2021 Timothy Sample +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -96,6 +97,17 @@ (define (resolve-dependencies package-meta meta-key) (write-json package-meta out)))) #t) +(define* (delete-lockfiles #:key inputs #:allow-other-keys) + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they +exist." + (for-each (lambda (pth) + (when (file-exists? pth) + (delete-file pth))) + '("package-lock.json" + "yarn.lock" + "npm-shrinkwrap.json")) + #t) + (define* (configure #:key outputs inputs #:allow-other-keys) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "--offline" "--ignore-scripts" "install") @@ -146,6 +158,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) (add-before 'configure 'patch-dependencies patch-dependencies) + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles) (replace 'configure configure) (replace 'build build) (replace 'check check) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:00 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:00 +0000 Received: from localhost ([127.0.0.1]:46288 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KP-0000iK-Dh for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:00 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:33503) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KN-0000i5-4j for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:43:55 -0500 Received: by mail-qv1-f45.google.com with SMTP id kk22so7987040qvb.0 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:43:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OR+Y4twRr3s8Rn/RIH2mP3iVUWWT56VgTF28n5YcXZs=; b=La9i8e5H4RSxR1EIClD2ei+BDLKH9tq/pZgwu7LOU6QwNHyNlkIwr0Q0e2a3sR7aCU Lwk9zYHRMa7l+JUI3XHoi09uzQgsRQADPpt4mi4ztYgBimVLqye2OXV2ESTt8ImBxTmN CUHIVPLYIzBRYtY+IozpKpepFUwuHI9PEN7UIbkseefjjeyN8+XOtuisNgSWCBAOApku HdUGeibeGwR50RJHd1viIr+/1rEw//yH3QE//7brSb5+DBgAUBat4vmPBpBCNvwTXYds 5mdIGUk80Z4e/uTQwfRF6d31loXmUckr9fL7asOo8jcDE0AbHEnh4QC0y1UG+k2Moks/ CmAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OR+Y4twRr3s8Rn/RIH2mP3iVUWWT56VgTF28n5YcXZs=; b=PbPyjkYVMYpt3+6TwgTZKEDTOC2BVE5zFolIXfjS8rv0NoKffXgoJELVkehSkwJuOB zGpQKCFz+lcZPJcI+L+sMFqplfcpb+u3kBUUmNeXhH7ylLrWwyTP69zNOLV2SisG9Zue oACBeFe/5FXqjYrgfRODuaXd/q0PA5+F1rHnA5VnUM6D7gDSqMn2FE28DRRDdeUwc7K0 iMiTRJA3/hoPKUGttNl7MUr4pfl2aMlXW4dZfiQCv7I3ITzjgfpykxpQJyl2w9kFlqxw 6lN6eq2YfE9nUM2ZH8PvS/JYNLB5X0zxJwHytwb9wj6Ujdd50/M3+zQFokD7ehM8bbVF z6/Q== X-Gm-Message-State: AOAM530EWdHCk5BrQI9BrVPk5RqJtcuTsMoSwGM0ZEd25T1uLzTrRIYW 5QUH5fXrTr7cvvyTPciR67M+8cFXo0kLTRKW X-Google-Smtp-Source: ABdhPJx38z2Y0S5I1v3LBbI6CvKSrrkFD3AN4TmJZpgujKgiFog+7twC+b3vxGPCz5NDvE3kB8Nv1A== X-Received: by 2002:ad4:5de9:: with SMTP id jn9mr60729035qvb.78.1641631429649; Sat, 08 Jan 2022 00:43:49 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bi8sm688394qkb.22.2022.01.08.00.43.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:43:49 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 02/41] guix: node-build-system: Add implicit libuv input. Date: Sat, 8 Jan 2022 03:41:50 -0500 Message-Id: <20220108084229.362642-3-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. --- guix/build-system/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 735f8dd06e..24bd677bfc 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2019 Timothy Sample ;;; Copyright © 2021 Ludovic Courtès +;;; Copyright © 2021 Pierre Langlois +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,10 +63,15 @@ (define private-keywords `(("source" ,source)) '()) ,@inputs - ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("node" ,node) + ;; Many packages with native addons need + ;; libuv headers. The libuv version must + ;; be exactly the same as for the node + ;; package we are adding implicitly, + ;; so we take care of adding libuv, too. + ("libuv" ,@(assoc-ref (package-inputs node) "libuv")) ,@native-inputs)) (outputs outputs) (build node-build) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:05 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:05 +0000 Received: from localhost ([127.0.0.1]:46294 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KW-0000jQ-QA for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:05 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:46779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KV-0000iM-Nz for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:04 -0500 Received: by mail-qt1-f182.google.com with SMTP id v7so4758568qtw.13 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7Ud0HsJ2lf4LEaRqtAQ/CwCD+dR7a3xvoPSgVdnRIkE=; b=a4pi4mFxxzfDkLYBKWWoQeO3mYN/iN0uEguul6zUOoezRzJ4cZsWxpNmUBjgmT2q8s zAd0UWETq1z6qIjXFYKVcxF3x2110Y/CKL+Qadax9X2BeAMwAnM2m0c3SjUBbhUArjSy hzsxbjkPJZlP3H5BUvRZjdqHKrnPKVOqCJf7/BGqV9JmdsZUM01U74yqCJoALaf2X+u7 Qv+UdRFg5my7dr742/1L96NAJMJsby/wl+x65NjkfrHL5Xk4tKUdRT1XWA5gr7L7Z1AK xe2XPt+sCTJNPP0AYPbT0rGlqxmlG3jKu8gV/S40ZnYRUqjVfdroxIXar4dwLjeMFdaq ZN1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7Ud0HsJ2lf4LEaRqtAQ/CwCD+dR7a3xvoPSgVdnRIkE=; b=sjEv5iP2TxelSHYRnTHRQh0jSd2n605w4wmdwcmg+/lkxmhBJf/fptSz2J9wDDP1vW p4T5CKSG0kT+pB4uMnda+6EhKJPpqNo524e+Wjy+Q857IVUdjV8B31rhS/O83skrhOe+ zdyp7PV9eaKVhyTGky5y0dLRFqKKwH6XS8MuL4pdatStJEUC59KkHdoh/hS0Ouf5xmSp KEs3358DMDe7DYpaY8B3mOECZv3KM+Boy30LEgn477rLRwnhP1INybTCBeQRAmhpS1g0 DoTDDTnRDFPzwByhF+G1VAOAu6eV5PC2eBZDITwIRWdfIS2Gk3xeD9jZNjWidbdM5VAQ 7i8Q== X-Gm-Message-State: AOAM531KTDn/56fsFHXWedEiABIc8fXDDZ6pBZX0McZZzWbpKwllEQyl QCgiZgkUYJXdE5tRfRwQ3o1oZB1GgySAAHmA X-Google-Smtp-Source: ABdhPJyqJHH91qO0Iv4JFbpogpepL47mSB9+9RPEbVfTDyTBWdLUaLWi7uPHfWoHw6Se76i0mWiRZQ== X-Received: by 2002:ac8:5885:: with SMTP id t5mr10128822qta.662.1641631438044; Sat, 08 Jan 2022 00:43:58 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id e14sm660205qts.15.2022.01.08.00.43.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:43:57 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 03/41] guix: node-build-system: Add JSON utilities. Date: Sat, 8 Jan 2022 03:41:51 -0500 Message-Id: <20220108084229.362642-4-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They ought to eventually be exported from their own module, but for now are kept private to allow experimentation. * guix/build/node-build-system.scm (assoc-ref*, jsobject-ref, alist-pop) (alist-update, jsobject-update*, jsobject-union): New variables. (with-atomic-json-file-replacement): New public variable. (module-name, build, patch-dependencies): Use them. Do not resort to unsafe alist primitives from Guile core. Co-authored-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 146 +++++++++++++++++++++++++------ 1 file changed, 117 insertions(+), 29 deletions(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 2d7a3bdc67..60c75dc85d 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2020 Jelle Licht ;;; Copyright © 2019, 2021 Timothy Sample ;;; Copyright © 2021 Philip McGrath +;;; Copyright © 2021 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,14 +27,104 @@ (define-module (guix build node-build-system) #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-71) #:export (%standard-phases + with-atomic-json-file-replacement node-build)) -;; Commentary: -;; -;; Builder-side code of the standard Node/NPM package install procedure. -;; -;; Code: +(define (with-atomic-json-file-replacement file proc) + "Like 'with-atomic-file-replacement', but PROC is called with a single +argument---the result of parsing FILE's contents as json---and should a value +to be written as json to the replacement FILE." + (with-atomic-file-replacement file + (lambda (in out) + (write-json (proc (read-json in)) out)))) + +(define* (assoc-ref* alist key #:optional default) + "Like assoc-ref, but return DEFAULT instead of #f if no value exists." + (match (assoc key alist) + (#f default) + ((_ . value) value))) + +(define* (jsobject-ref obj key #:optional default) + (match obj + (('@ . alist) (assoc-ref* alist key default)))) + +(define* (alist-pop alist key #:optional (= equal?)) + "Return two values, the first pair in ALIST with key KEY, and the other +elements. Equality calls are made as (= KEY ALISTCAR)." + (define (found? pair) + (= key (car pair))) + + (let ((before after (break found? alist))) + (if (pair? after) + (values (car after) (append before (cdr after))) + (values #f before)))) + +(define* (alist-update alist key proc #:optional default (= equal?)) + "Return an association list like ALIST, but with KEY mapped to the result of +PROC applied to the first value found under the comparison (= KEY ALISTCAR). +If no such value exists, use DEFAULT instead. +Unlike acons, this removes the previous association of KEY (assuming it is +unique), but the result may still share storage with ALIST." + (let ((pair rest (alist-pop alist key =))) + (acons key + (proc (if (pair? pair) + (cdr pair) + default)) + rest))) + +(define (jsobject-update* js . updates) + "Return a json object like JS, but with all UPDATES applied. Each update is +a list (KEY PROC [DEFAULT]), so that KEY is mapped to the result of PROC +applied to the value to which KEY is mapped in JS. If no such mapping exists, +PROC is instead applied to DEFAULT, or to '#f' is no DEFAULT is specified. +The update takes place from left to right, so later UPDATERs will receive the +values returned by earlier UPDATERs for the same KEY." + (match js + (('@ . alist) + (let loop ((alist alist) + (updates updates)) + (match updates + (() (cons '@ alist)) + (((key proc) . updates) + (loop (alist-update alist key proc #f equal?) updates)) + (((key proc default) . updates) + (loop (alist-update alist key proc default equal?) updates))))))) + +(define (jsobject-union combine seed . objects) + "Merge OBJECTS into SEED by applying (COMBINE KEY VAL0 VAL), where VAL0 +is the value found in the (possibly updated) SEED and VAL is the new value +found in one of the OBJECTS." + (match seed + (('@ . aseed) + (match objects + (() seed) + ((('@ . alists) ...) + (cons + '@ + (fold (lambda (alist aseed) + (if (null? aseed) alist + (fold + (match-lambda* + (((k . v) aseed) + (let ((pair tail (alist-pop alist k))) + (match pair + (#f (acons k v aseed)) + ((_ . v0) (acons k (combine k v0 v) aseed)))))) + aseed + alist))) + aseed + alists))))))) + +;; Possibly useful helper functions: +;; (define (newest key val0 val) val) +;; (define (unkeyed->keyed proc) (lambda (_key val0 val) (proc val0 val))) + + +;;; +;;; Phases. +;;; (define (set-home . _) (with-directory-excursion ".." @@ -50,7 +141,7 @@ (define (set-home . _) (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"))) + (jsobject-ref package-meta "name"))) (define (index-modules input-paths) (define (list-modules directory) @@ -74,27 +165,26 @@ (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) '()))) + (define resolve-dependencies + (match-lambda + (('@ . alist) + (cons '@ (map (match-lambda + ((key . value) + (cons key (hash-ref index key value)))) + alist))))) - (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)))) + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + `("devDependencies" ,resolve-dependencies (@)) + `("dependencies" ,(lambda (deps) + (resolve-dependencies + (jsobject-union + (lambda (k a b) b) + (jsobject-ref pkg-meta "peerDependencies" '(@)) + deps))) + (@))))) #t) (define* (delete-lockfiles #:key inputs #:allow-other-keys) @@ -115,9 +205,7 @@ (define* (configure #:key outputs inputs #:allow-other-keys) (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"))) + (if (jsobject-ref (jsobject-ref package-meta "scripts" '(@)) "build" #f) (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm"))) (invoke npm "run" "build")) (format #t "there is no build script to run~%")) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:09 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:09 +0000 Received: from localhost ([127.0.0.1]:46297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kb-0000ji-AC for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:09 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:45694) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67KZ-0000ir-MX for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:08 -0500 Received: by mail-qt1-f177.google.com with SMTP id b11so1169180qtk.12 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dGsGuPn2gq4WA19XVo5t3fUrd/z6WCQYTzjpyoqHAtg=; b=bBcockcQECqxdasOlenzy0LO2gJ1cu/0WYUHDq8wPZE9HBresqcNSO7wWVymxS++Mz cyNZ7Ved5HcxJaBTUEiqiUJ8XHosbppueeqL0KrcJ1VzQt031Ts8W3t2ETDR+dRUV8H4 Ia4fAq3aSAZe2sL4crbkhNgHHte14xGgap39tmebwESsaen8SsIS8oOONM4MvxrqxfKm O26f+91xJoJqOfz5EcpfPOAWyHbdnDSJOjmFqLqC39jfagKIiddI6buxFIARiU0RgGpQ KxVMamKdxuhb+E0zqJZTJ4gUXfO8o9MMDeAd7p/NfzfjG9+wNX3H8TUzkexvr7/bm6Ur qbUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dGsGuPn2gq4WA19XVo5t3fUrd/z6WCQYTzjpyoqHAtg=; b=e+VkO7zkSexqkEZ9R9mEjJnLmyqpJwU9oB29TfiqPz6NodYV6GKNgrNWNL+/piBF2S kYze5RTXq2S8KciI+SxqA0WTPzzCbn6mUZSM67VqK41iit0o3UlsioPLkJuBQ5cPGCy6 D3EeVVzwjPz95sEURVTyFGmoZcjFAhvT01/fBDHMT3UYVk7LJF4Fl0Wrqv/y5TS14Nmi /vy4zZ+Vy1/2UKl8w0gbly/2NmqI8RsMG55SlT2g87/7cbhISwTEwzmBCfMhDF8qA0yS 770nS8TFpF5CgLFkVjHW1SG95mLCUwhAzMWEKSEuo3ifp8kYuoetnV2ZQRYiOq1HCfQ/ goOA== X-Gm-Message-State: AOAM53275NVrGXuMB3juCmnuN3EnhgtD3aki2J8U5AqX/vRWo82/dSdo Mi8QyYJZZ5NPKs/g6HxQMAwRV98T8ZMuJPXX X-Google-Smtp-Source: ABdhPJzPMToJvVlA593NLr1mpTPrrNXVEz5bOutsoH6zjnjFuGJw0RBaSJoy9WO2cdPS9I+0EdT38Q== X-Received: by 2002:a05:622a:586:: with SMTP id c6mr3079368qtb.46.1641631442141; Sat, 08 Jan 2022 00:44:02 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id v1sm684409qtw.65.2022.01.08.00.44.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:01 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 04/41] guix: node-build-system: Add avoid-node-gyp-rebuild phase. Date: Sat, 8 Jan 2022 03:41:52 -0500 Message-Id: <20220108084229.362642-5-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Packages with native addons currently try to write to store paths when used as dependecies. This patch adds a phase to replace that behaviour with a no-op. * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New variable. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. --- guix/build/node-build-system.scm | 54 +++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index 60c75dc85d..ee3442e9e4 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -242,6 +242,57 @@ (define* (install #:key outputs inputs #:allow-other-keys) "install" "../package.tgz") #t)) +(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys) + "Adjust the installed 'package.json' to remove an 'install' script that +would try to run 'node-gyp rebuild'." + ;; We want to take advantage of `npm install`'s automatic support for + ;; building native addons with node-gyp: in particular, it helps us avoid + ;; hard-coding the specifics of how npm's internal copy of node-gyp is + ;; currently packaged. However, the mechanism by which the automatic support + ;; is implemented causes problems for us. + ;; + ;; If a package contains a 'binding.gyp' file and does not define an + ;; 'install' or 'preinstall' script, 'npm install' runs a default install + ;; script consisting of 'node-gyp rebuild'. In our 'install' phase, this + ;; implicit 'install' script, if it is applicable, is explicitly added to + ;; the "package.json" file. However, if another Guix package were to use a + ;; Node.js package with such an 'install' script, the dependent package's + ;; build process would fail, because 'node-gyp rebuild' would try to write + ;; to the store. + ;; + ;; Here, if the installed "package.json" defines scripts.install as + ;; "node-gyp rebuild", we replace it with a no-op. Importantly, deleting the + ;; install script definition would not be enough, because the default + ;; install script would cause the same problem. + ;; + ;; For further details, see: + ;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values + ;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices + (define installed-package.json + (search-input-file outputs (string-append "/lib/node_modules/" + (module-name ".") + "/package.json"))) + ;; We don't want to use an atomic replacement here, because we often don't + ;; even need to overwrite this file. Therefore, let's use some helpers + ;; that we'd otherwise not need. + (define pkg-meta + (call-with-input-file installed-package.json read-json)) + (define scripts + (jsobject-ref pkg-meta "scripts" '(@))) + (define (jsobject-set js key val) + (jsobject-update* js (list key (const val)))) + + (when (equal? "node-gyp rebuild" (jsobject-ref scripts "install" #f)) + (call-with-output-file installed-package.json + (lambda (out) + (write-json + (jsobject-set pkg-meta + "scripts" + (jsobject-set scripts + "install" + "echo Guix: avoiding node-gyp rebuild")) + out))))) + (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'unpack 'set-home set-home) @@ -251,7 +302,8 @@ (define %standard-phases (replace 'build build) (replace 'check check) (add-before 'install 'repack repack) - (replace 'install install))) + (replace 'install install) + (add-after 'install 'avoid-node-gyp-rebuild avoid-node-gyp-rebuild))) (define* (node-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:13 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:13 +0000 Received: from localhost ([127.0.0.1]:46300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ke-0000jz-Nv for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:13 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:42717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kd-0000jZ-NQ for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:12 -0500 Received: by mail-qk1-f170.google.com with SMTP id r139so8482862qke.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ARE2mqghqlOfXQHHbSUdT+VoRFw22yMwYCjopfV/jzw=; b=T4jJv4+TRzLen3isAzAfBecUvDphCnYXuC3nW6zuMmOyTef5FKOi1KUT1f9h5mdibh glEpsTtE9h10rwFFR33QUf3q1Xjte23006L4jvE05We7BRt2653SvA0zeH5aGoZGX3wm 5Zxat+euCv6kQE418300EL+9lL1biSeh0Thvu7p4p/eDaWl3I21yv96PR4y5gv1cfq2w eyJJbVONXHcJd7G47R7n76DhDFYT0t88qWYIVyQtLOO6jdIOoUGzy6mhwJO+/H8gVnBh eDeXilstjYcS/QO+do5TcTIQFs7LCz7N9Hub9IpMZnY38CpTEnF6CEhaM+eLtXxbIs4I /r7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ARE2mqghqlOfXQHHbSUdT+VoRFw22yMwYCjopfV/jzw=; b=BBdppF637kkMKyS7Mpl4tyyjGCDNByxUaK1XdZK++M2i3aiUhq9ZdOZtMYlZpn4AQK lUKYVFtyJnw11aMchJcOFrOLtCOr2J/Cvak9fgcJW2saT/Fm+uHjU7Srs8fOFicKLN0N 9vQpTYQnYpXGIQz2v0u4Pa4OEjkLrSM93Ro7VXfsQ2SgAbo1Kp72QHvZ8HSlhVKjP+K1 f0n3cdRMjNxRbg3FDPtUdAw35iPNGCokI/U0kCL7qmKPowJKuIsxjJ4pWu69LrJLAOda 4t2Snp2Luc5oBJc8tUaGc4KQvV4mNZw3U9NcC2nW8IF1NZEg0vnD+4y2Etpl96Usbznu d+lw== X-Gm-Message-State: AOAM530kQDnvvz/Q1E8WtBcZxheIrPsoeGwGjUtc4bzyAfWQ0ZFfdtAr NwsrZp4La0wHBFs9V/CgB6v5WUl7xigpmJqJ X-Google-Smtp-Source: ABdhPJxoypi/xpSimygJXUGN6Rx3DOMvS1ZToc0kX+LJN71/qzKJsbtqDXvYPUsWYX7Vu3klNJ6xeA== X-Received: by 2002:a37:5a43:: with SMTP id o64mr47097944qkb.375.1641631446188; Sat, 08 Jan 2022 00:44:06 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w10sm700863qkp.121.2022.01.08.00.44.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:06 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 05/41] guix: node-build-system: Add 'delete-dependencies' helper function. Date: Sat, 8 Jan 2022 03:41:53 -0500 Message-Id: <20220108084229.362642-6-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Many node packages currently skip the configure phase, because they lack both dependencies and a convenient way to build without all of them, e.g. for the purposes of bootstrapping. This patch adds a big hammer to flatten these nails. * guix/build/node-build-system.scm (delete-dependencies): New variable. Co-authored-by: Liliana Marie Prikler --- guix/build/node-build-system.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm index ee3442e9e4..e37a0f7b44 100644 --- a/guix/build/node-build-system.scm +++ b/guix/build/node-build-system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2016, 2020 Jelle Licht ;;; Copyright © 2019, 2021 Timothy Sample -;;; Copyright © 2021 Philip McGrath +;;; Copyright © 2021, 2022 Philip McGrath ;;; Copyright © 2021 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. @@ -25,11 +25,13 @@ (define-module (guix build node-build-system) #:use-module (guix build utils) #:use-module (guix build json) #:use-module (ice-9 ftw) + #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-71) #:export (%standard-phases with-atomic-json-file-replacement + delete-dependencies node-build)) (define (with-atomic-json-file-replacement file proc) @@ -187,6 +189,27 @@ (define resolve-dependencies (@))))) #t) +(define (delete-dependencies absent) + "Rewrite 'package.json' to allow the build to proceed without packages +listed in ABSENT, a list of strings naming npm packages. + +To prevent the deleted dependencies from being reintroduced, use this function +only after the 'patch-dependencies' phase." + (define delete-from-jsobject + (match-lambda + (('@ . alist) + (cons '@ (filter (match-lambda + ((k . _) + (not (member k absent)))) + alist))))) + + (with-atomic-json-file-replacement "package.json" + (lambda (pkg-meta) + (jsobject-update* + pkg-meta + `("devDependencies" ,delete-from-jsobject (@)) + `("dependencies" ,delete-from-jsobject (@)))))) + (define* (delete-lockfiles #:key inputs #:allow-other-keys) "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they exist." -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:20 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:20 +0000 Received: from localhost ([127.0.0.1]:46304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Km-0000kM-2N for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:20 -0500 Received: from mail-qk1-f169.google.com ([209.85.222.169]:46702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kh-0000jq-P4 for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:18 -0500 Received: by mail-qk1-f169.google.com with SMTP id 202so8465934qkg.13 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2H0OyvU9NS07QW0ZIkX3KT9Pn+ZKI649s1pgge/3eXU=; b=IgO4/aJVO2zbUaH01meEZyUFlYEfcJksFz7/hvl0E3Ob6lAkr2vHMHS9pdc7byG9NT 7KpMphG5QTg/7ugYDw8vQSwhaCo42IJtoQOLiVPyO5rA1p7/8FKQSWAD5jGF+QH1iMtr MyLDsUT0sDrICB1KGNA5WdJgVFUg0Dzc1ZF5nf4RWyhWYSM3eGffT3d3iGqPch2L7T00 SqOfkFKn8/YpGlloqmRIG3R6446L1pKKU7Vbtp3vUN+3eKxQCUIwwaSaSRq3DG7QG6Qw llLtXmk+nqqbG2FXgAATx14K358Hpx0woHKzOwkMuh8LxTSXOpTJ8RtdWhanI8n1nPqV 051Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2H0OyvU9NS07QW0ZIkX3KT9Pn+ZKI649s1pgge/3eXU=; b=I8HdKRbznqYZ2KYHQNnYF5ZVIGI+7ptguT4cXzg4jz2df7tAQuPcB0yPXOm7ktdLSP P1NJ96Wc+p/1P8LXf4l9cR6srTBccKXaDdJlPoJkfZNKozoghhO+TMzUJMJVPrObyozw 596vPa/1ez5CdJnzuto7stji7qzIoD9URv9a01izSxw92iTWIZM+zI4TznXA9sJru81A Qi5ZVQKUy6l7mKVTqVxxKO0K46L7s68UAdUX1Iyv3Ly+7yhaPnbkIKaJyvKrk09RwjW0 c3eOsk29xubox9+5Yymn3EegN/NR27ErumQ/OWBCUt6Ux6IoAzhrL2t7S7yAye/SXDZn aLxA== X-Gm-Message-State: AOAM532uYNwh8EK5m/OYO0ZYiCs+jLyo0JSo2JJzMQm0ASNFs6C/e8Co SUqk5NoBFle0I4nk89iqhY53he3438Spej+A X-Google-Smtp-Source: ABdhPJxYQAU4/CILToSBvy232TXat+HOvc0Ok8Bdw0rtlg4WXYcOWfoXI/FZeQcVPSDywxAjQZPIew== X-Received: by 2002:a37:a6cf:: with SMTP id p198mr44680964qke.393.1641631450260; Sat, 08 Jan 2022 00:44:10 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id f18sm713893qko.34.2022.01.08.00.44.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:10 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 06/41] gnu: node-semver-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:41:54 -0500 Message-Id: <20220108084229.362642-7-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-semver-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 51a393caab..fb21054fe7 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2020 Ricardo Wurmus ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021 Guillaume Le Vaillant -;;; Copyright © 2021 Philip McGrath +;;; Copyright © 2021, 2022 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -346,7 +346,9 @@ (define-public node-semver-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("tap"))))))) (home-page "https://github.com/npm/node-semver") (properties '((hidden? . #t))) (synopsis "Parses semantic versions strings") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:23 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:23 +0000 Received: from localhost ([127.0.0.1]:46306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kp-0000kc-DR for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:23 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:39545) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kl-0000k8-U4 for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:20 -0500 Received: by mail-qt1-f180.google.com with SMTP id bp39so8047068qtb.6 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yUnmYIf/9CzpkX+yznjrZac5H2Ou4BmmkgUzgT6ic7w=; b=RbnCB7KT3yXbYIpNZSSxs4kMpHGm9M5N2bQrq/PpzC5dafNiijakXFog7EscZC79Mb racPiEa6exi49Duj9oadFsjgFv4b3wZ2O+ftUTMUlBZ1kuh8aPd9xpRZTprPA8vai3wY xtlntoOzWTkjAw35Qinl7DhWqYvoLMb27Qd2UUhuZenwx1Zuu8thweonVh31hQnPfn4d wY1dB2SAchUgRN0kSx5JJUhBtjFmOe/iw5VN+ybzOMG8Ol0r0rEsLyh9dGK6R6cHQAVX 9qsKN2qaW/1FbyNG9z9Il6R3jW/0GUhNuIXVxyZtxpAVBZVnST7ELg5z5GGwYBpvwP/Y 8QTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yUnmYIf/9CzpkX+yznjrZac5H2Ou4BmmkgUzgT6ic7w=; b=EthB4dEFYekKRc48HICXHwkE2BEs3QcZw8+G/Vb1JFKmCwQTu3l9Auan7ZYhl7hrwO l3dj4gebpARUjJj0DrlSttj2NEZ1uhHRRwhxSfYPRglK7w/komrS02Z2EkCo61X8KZdL AqPIZEmpfbzXBNul5VSuWDB0Qf8IGU+HzG7tQtntAOESulN2WWzCEoDMjWe0ZLxuwrK6 kopQ2mDrdADtCy52Gz5XPSqvxG1l7kKEowYM+MwLcJ70ySeUv2AMF9M4k9+1284Ovww+ pzqHqBG3IzhQiCOFLEkmiFijWGmryYT00Q4ujUbmmpteAQPW4qCCJonLFmAmDJhS8LI6 MODA== X-Gm-Message-State: AOAM533hCBOFPSIkPEPWcYCgqoU4bGJOQiVuUb5E1GZOnjquvSTJKSKh DF0+At2/8u0UdEAdbh/2fUwHAgG1wmBE+dZI X-Google-Smtp-Source: ABdhPJwagY0mOW+bpBOIQxlnks4+IwJOLQSRYPnn7WaWbfdG1xfVmWcIuzsg8zFbK7lNiBXMdbrC/g== X-Received: by 2002:a05:622a:1207:: with SMTP id y7mr60066184qtx.626.1641631454386; Sat, 08 Jan 2022 00:44:14 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id z8sm692711qta.50.2022.01.08.00.44.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:14 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 07/41] gnu: node-ms-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:41:55 -0500 Message-Id: <20220108084229.362642-8-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-ms-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index fb21054fe7..495ae95dc3 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -377,7 +377,13 @@ (define-public node-ms-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha"))))))) (home-page "https://github.com/zeit/ms#readme") (properties '((hidden? . #t))) (synopsis "Tiny millisecond conversion utility") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:24 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:25 +0000 Received: from localhost ([127.0.0.1]:46309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kq-0000kq-Og for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:24 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:36434) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kp-0000kF-RM for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:24 -0500 Received: by mail-qt1-f177.google.com with SMTP id f9so7323257qtk.3 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=w7i1Te8reztdqsezi4YH/s4Ts2ji+VwbkYY3iy1egzA=; b=QgltlGJ5ke39NF9Dcz/4idrBwFJGbIcHyEmVdTKX3NXHtN1fZ6qIFb/Jq06P8obhZh 2ICH3bvOVi6U3FcZ/PGDgHMlovY7uD8VjZTaz1YLD9wYwzZcrJ81n5yZ99/XaNMw8DbM bKDVm6F0W/X71G3SYgSNxAyeI086XNsc4vJJNILbGhWbC/+dHg+IZvH7gxpS+rZGOyF6 ZZ5KkW5n0JPkDXsKbkLv4sN4oFnFvHdjGdtD9XiGdzrkEzpvdzfGF6Z+zt6jtUCn5BZY SFNy49jZvuLL53j/Mu5+Y6n4+zVQMoM654CGSLh2rvNu+dF34tlnm+6i+cmWt0WZTTiK oRHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=w7i1Te8reztdqsezi4YH/s4Ts2ji+VwbkYY3iy1egzA=; b=VNezM6bKMeXc/wAjRG9A1Ubq3Ug1iBszbBE5sXgW85HZXBi1SGPzRr+x65C1t1K979 LHEJB6L5AeSrUFYVh+GOhVakfOp2HPRfD43kDYWHsvjZWOMG7nd736j38ibqVoOzPf9m /fEsD63zC7c2VS0Kv5ApybwHkeI+uPKhHP6VA8rGZPQpy4ugFqc4Ygb2/nvntAj3SsHA GwmfcyaFkKcPzoAum567t9hrIrJjyCaVHGDfp5MAiPQ+OZP1lOpoOatYZQTvGHdNiG9r +lyuseXsnCLcHfz5cb6PwRU6G62ti3zoN9pTZBfYEPCDLIKLzlymPmVO+QRii/Q9jsKd wB1A== X-Gm-Message-State: AOAM533xudD39uiRHRdEZQ27ac9KW/yVyObpMAqWbXok1c20N6MVyQn7 gDWFmhQLK+LhV4RSNdUNDibsGEssUGtxdIkw X-Google-Smtp-Source: ABdhPJxOTCFM+iu4ODM5eFhy7pTJoSCgXfI4wugAJlN6pAsA2S9tD7ltZxq6QdAoKAWbB5RLQhtjPQ== X-Received: by 2002:a05:622a:5d3:: with SMTP id d19mr58229232qtb.231.1641631458447; Sat, 08 Jan 2022 00:44:18 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r8sm692037qkk.91.2022.01.08.00.44.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:18 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 08/41] gnu: node-binary-search-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:41:56 -0500 Message-Id: <20220108084229.362642-9-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-binary-search-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 495ae95dc3..2594b6d518 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -411,7 +411,9 @@ (define-public node-binary-search-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("chai" "mocha"))))))) (home-page "https://github.com/darkskyapp/binary-search#readme") (properties '((hidden? . #t))) (synopsis "Tiny binary search function with comparators") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:30 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:30 +0000 Received: from localhost ([127.0.0.1]:46312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Kv-0000l9-V8 for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:30 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:42589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ku-0000kb-7c for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:28 -0500 Received: by mail-qv1-f41.google.com with SMTP id q4so7940091qvh.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eG2OH0oNRYHdtIM+j7NbBoXsfegsz6IgDbrR2gYfqKY=; b=Ls6crkoTouZ2A8joTGe78a3BJdiMUqQwVdB2ANklz14wYtNlFENJ3JsPQCMQgOeS0N nTU0hKjoYk92hWWDNJK5sD1NLas6HPnwLTUZBeOzPYITWnGPcvM/bdQVtG+OhO6QejHw UNa4FZwvGIvyFS/T1+4RfeP1be0fTE+N5bDZ37moikLUD+JFO34luYfG4qbbOSQzi98i OcPCOTwkil4+G3r8b9xBjnxuM2VmmpgGvXibD7EJveSzQicdS4byY0QGrBoR/aAc/DeV mjj5h6brHNuOC/RFfL5X4D7TNqVT2H+QV03F3VJgJiWpcR1O/Bh0rdxrTpTwFAh+vU9I ssNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eG2OH0oNRYHdtIM+j7NbBoXsfegsz6IgDbrR2gYfqKY=; b=KTyLtoTtWHwbSxg0gv/gvDPx1jT7Sscoe7E8xUml7GiMyp5AvjJrjJ3ivHoAXtUr2y 182YkAtvZXdBW07G7fwtNEOXH4W1EicpLa+Pw8w7nN34z91NmynQXtf5aGD/0kjazMCu dkG4WVFCnGlfga1s5oTzKpXUrw9stAIZ/O77z2tjLuv0Sw6dAaHQXYESe8MAEq3+4wa3 mmjZf4l9vBMzBVleVwbB4cJFSjajjlevrSNmuTp8TnvmG7a4eTLEWTPT2LN9lXu2zBIg G/kAAXkWVsJxPnXRVfqD7ByPS9jTo68E7GB/nA5TdvE7lR3NbRQZnTyLUiro+zAuvGG4 C47g== X-Gm-Message-State: AOAM53192Xo3KZJRTwZoKoHzfJVy3Z3vjvmiL8ZMzxE2O+VzGcETlSRu YV5figuVeVOGIKoXABfM27BmUQapUTvyv2QL X-Google-Smtp-Source: ABdhPJzUvyoOR9aQo6QtTm9A0PrX4qJFsYq6B0vUgXbvgZvdDHMwWUjJzqzgA0UUVEFSJsmY6o4yVA== X-Received: by 2002:a05:6214:301d:: with SMTP id ke29mr60354829qvb.68.1641631462643; Sat, 08 Jan 2022 00:44:22 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id w10sm715714qtj.37.2022.01.08.00.44.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:22 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 09/41] gnu: node-debug-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:41:57 -0500 Message-Id: <20220108084229.362642-10-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-debug-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2594b6d518..bb4f54809a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -440,7 +440,19 @@ (define-public node-debug-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo"))))))) (inputs (list node-ms-bootstrap)) (home-page "https://github.com/visionmedia/debug#readme") (properties '((hidden? . #t))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:34 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:34 +0000 Received: from localhost ([127.0.0.1]:46315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67L0-0000lR-Bj for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:34 -0500 Received: from mail-qk1-f173.google.com ([209.85.222.173]:39784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ky-0000kz-96 for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:32 -0500 Received: by mail-qk1-f173.google.com with SMTP id 69so8509561qkd.6 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JC6oPbq5M2Fh2VO1mt12k8N3O3JQtM7M9U9AKdyfajw=; b=JiXBfA9RopqGTbOqMmR7uCO+0FI3wUDjwj3OVSU7gUHHUDzOBwafCRZMfBHHUvxngU FpUS0d5uGa88ATWkSnz7Q1fzlJIz9mPtMZlQOHA4Z6L0Sae2zTXqT2ATq3jPfqVUMcJj XFn7dn5yMIjz1m9y4NwiNVCmbaLyxhWH+VB5A4/9dwXmcpH3vRuhlz0AwYetkPNfh7oa WFCc3cjJReH5N6Hv1GgPIT8hJ2SEyWCgNi1p7AZlMojoDi8xgYV49zo15BWUm3RV03da 27S9mLgTc+yRXoAOlgs291hI66bNIUEenW8I9HtRYNh3ytCYXvjx4uaeVC+sWgmRpzhx tZzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JC6oPbq5M2Fh2VO1mt12k8N3O3JQtM7M9U9AKdyfajw=; b=roNRqoQ8l7yfbx5uI27fD2/eCCV2o6/UD1TgA/xq0XdAuwz28fp6kt9xt1nH8qCKmS /WAABeZycHm2B1+YsBOUgSCGkKa0Vyxfrne1pYFy6ybnh85e+KNZpuhwkbvOI+lTJMiK jmMZ4MDLB8DXt9pDhOavVsc3sELfQ+up354X6ir5jcOmP2aPk+JkOR3NKAn5ukK8VPi2 htPMe55SHB8rM72OyZMe7f3EYCFOwbNOYgdQnCS4Yq6WUEi4xrtvUDBhFtexCRek37PY 2yXHGiiUF1whkVXNBAgybQOCzZLCTDW36K4EmZqcS3Qu/lRa3A6nwQO18kJv1KbgaTT8 rPDQ== X-Gm-Message-State: AOAM532dA0EkQhmdR0Y0oC50wvI3L8gO6n+RBVjcIowOthVi+euu84nU 9b+3qA2Vj9lXu+uz+kmCXcZMWBwY8AamSpPO X-Google-Smtp-Source: ABdhPJypS8wk39fX1iEgGcyS4Inbkj/9ujn6x3RYn/nAQMx4eTS9JNUsEiKoFWro5BH/CDm5HtZ7Pw== X-Received: by 2002:ae9:ed96:: with SMTP id c144mr9312953qkg.306.1641631466712; Sat, 08 Jan 2022 00:44:26 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d199sm689605qkg.25.2022.01.08.00.44.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:26 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 10/41] gnu: node-llparse-builder-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:41:58 -0500 Message-Id: <20220108084229.362642-11-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index bb4f54809a..cff2b39dd6 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -506,7 +506,14 @@ (define-public node-llparse-builder-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda _ + (delete-dependencies `("@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript")))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:38 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:38 +0000 Received: from localhost ([127.0.0.1]:46318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67L4-0000lm-If for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:38 -0500 Received: from mail-qv1-f52.google.com ([209.85.219.52]:45578) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67L2-0000lI-9c for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:36 -0500 Received: by mail-qv1-f52.google.com with SMTP id a9so7926599qvd.12 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dproU3RTHcDFfzixxftMgRGH4Tm7DK6ThxqduqppOx0=; b=fLP20d91zLGpbHWk9Nu+uUuELKNZYNB6aEYFslj29W+p3I7T2G8W3bZTVZ/Q5K4UD8 V2o4ln0UkpOn8o1ZdnkjUUP6RS2uYTfYhrjoAvgInSMEvkPRN88bbRl+Wh871Uz52AEy zI8BJB5iQcOJ1WjCFXfyYhDnXcNkWYmzXG7SZAAVm9ahCFHhXfpcKOKXmTSV8juHj+O6 7DPX6f/XFQB6yNDNCZWAD+hwsRLmVJeaQqRCRBopioYek0nwe9VJrCo4huT7MZC9Ot36 WuPPrq4GgMnYZh/FKdFpmG0EaHy+DZxL6HrsDfeUM0kgMmDr7FWx11C3EoBlPJRM5sMg Yf0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dproU3RTHcDFfzixxftMgRGH4Tm7DK6ThxqduqppOx0=; b=wYBStteWjLAGg1lexZMYfotMS1y8RYx+1r/fLRZhA4vWpSo5V2fHNkTSCRuXpAJil/ bE8tHk3J/9IkZTX0Ld++uUaR1zXdxcAv6BqX8k37J5l0UbwOvDgmfXJskNhjduEAUgAG RTGpZOodp/cVB6b8mzoqOUzJmFrEq/bhoIFNe8t9bKfqLieQFNk5wwZl03R7Ad4ds6aX tVQ72Ti3OK0ChmCdx8g5//56qzmqpjxerdF80HlVmNb++Scyjzg5jk0DW0pmIVY4SlhO 2eJab9WQ7bwonPGPVDX+f68cTvxJTy5HWKXZ9Jc01Zef6ArYqPD6Nkht+qLw1moMua9p XMDQ== X-Gm-Message-State: AOAM532DfXXKaH76/dtc2fvRpIs6J/dPLkMf9ONEbUzHe9LkGVh7UtWs 1KWIF8netoQIn5NHJ41Qz69N07UfE4S6ioYq X-Google-Smtp-Source: ABdhPJzN5JL8pvo57noVincahWswySwl7ByEojiBtw7933CYBvlwLO/hJHXAQghiuPbD7huZzzVhbA== X-Received: by 2002:a05:6214:76a:: with SMTP id f10mr3417915qvz.54.1641631470758; Sat, 08 Jan 2022 00:44:30 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bs34sm692937qkb.57.2022.01.08.00.44.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:30 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 11/41] gnu: node-llparse-frontend-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:41:59 -0500 Message-Id: <20220108084229.362642-12-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-frontend-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index cff2b39dd6..55bca7c006 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -567,7 +567,15 @@ (define-public node-llparse-frontend-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("@types/debug" + "@types/mocha" + "@types/node" + "mocha" + "ts-node" + "tslint" + "typescript")))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:41 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:41 +0000 Received: from localhost ([127.0.0.1]:46321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67L6-0000m1-QJ for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:40 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:44009) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67L6-0000lZ-9I for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:40 -0500 Received: by mail-qt1-f177.google.com with SMTP id q14so8043724qtx.10 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ok64e9L8Cz7BUdZ/qIWOmf5GwjRS4hgcbNanru3O67A=; b=gVZJEcV7ZCPnebGMfwH1IAINAoTM2cuMnuPA/Unb3wkDwLMz7L/RUvpLFtB1LwWivA 4i0EkvTgc7uoqMb3kE1GE/7fuLgnvjgvKtGX3zJ63YFwQo4mRf86BthO28Bm8tglqWXt 7HrU8UYvkODI3QETCDYhGvQsrfCK3rbkHhpgR7xkvtPTA2Kvthi1+uaAX9gpCndpMJ5H c7i2AKaDJY4NWOv5WsLCiwJLMJiT/z74s9xciilEwx9fnstHaIluONNcOwUsuqhXMFx4 pn3DSeNouvNBnxBKDd8NiKnWD6V7QDFBvGmjr4SgUOb/T8nCrtgTTexX8P8hJJZlF3GK iRDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ok64e9L8Cz7BUdZ/qIWOmf5GwjRS4hgcbNanru3O67A=; b=Z0jXHUNqRKlWh/BUwyzf3myGuRGbokAJkpy9wEHT9cJwvT/UENgKel23RzMzBY+rl2 AwJIFrNjtoChh7P3nlmUQPURPRAGsNGTXoT1L+rEJr4I2uVhrDtMwKyMIaI8wgfzaw3d iE2TsaAs85xCYxkG86T2K+9VCmEL8gRJhKhp1UiOZiaH0z7djR3H8ZnIaaON68Xt8m/4 8/Via7X1ZuvgrFyot2KXb16BsqvYoypJTMsSbYelQBdPDdMGLm2osw1E4jbGDAhvWr/V +tYME76woncIwARgGUPDIw4JHvbIr+ru0PeNkwHcgOi26Jg2/gF3zwAdwnKKTsitRZJG L2vg== X-Gm-Message-State: AOAM533b+QDcLj7Pnl7a3uidT1eQuTEW4COl1V6flIhbiMz9VhuMAsv4 TUyDRJG/8F/pXQspxPPwAMGviCKhOxAKyt3i X-Google-Smtp-Source: ABdhPJz/jPTq9o8G82Ul/luBqls4Tv6xrPqte3IYES1mc2wCBUUqU3HLjLu6YbT6dqcAYLb4b+H1DA== X-Received: by 2002:a05:622a:242:: with SMTP id c2mr58223995qtx.559.1641631474876; Sat, 08 Jan 2022 00:44:34 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bl28sm691414qkb.17.2022.01.08.00.44.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:34 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 12/41] gnu: node-llparse-bootstrap: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:42:00 -0500 Message-Id: <20220108084229.362642-13-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node.scm (node-llparse-bootstrap)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 55bca7c006..5ec54b52eb 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -628,7 +628,17 @@ (define-public node-llparse-bootstrap #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("@types/debug" + "@types/mocha" + "@types/node" + "esm" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript")))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (let ((esbuild (search-input-file inputs "/bin/esbuild"))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:46 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:46 +0000 Received: from localhost ([127.0.0.1]:46324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LC-0000mK-0s for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:46 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:40534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LA-0000lu-Cr for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:44 -0500 Received: by mail-qv1-f41.google.com with SMTP id q3so7962037qvc.7 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dh4QIknWvYlVx0hgw0W+Y1iM2FIIfrHA4Iz2CLyjIxE=; b=Fik9aAvm2EIjeVteJPI2dWERWTyAYW8KPZMvSgZM0lt8s6E6y42ojlhvcouLCpG9lz PQmfjYMkv6HOASv6rI3/K/kbcHmeqxKSpudB1uDQEjhPRJ0LVVZza/zRa44wBYyZ4Hoa UjobtLGr9QubFxcQktSuo/gdC3XokP+myXHD1uBzGbX5CPId85BaOc5YVC2odz8bbnAs a0m0Ti9QXGE9iv+4KHaW9tsH1TES4IpecKLWFsyHOX55UlhiddcOb+rayjkTwsYXZ2KI AOId8xz+cvVOS/GV6Ncf7An1twHrBnyO6xfWi0hfyf+w0eTJ1DoOZfSzjErZwfK7JZMX 78zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dh4QIknWvYlVx0hgw0W+Y1iM2FIIfrHA4Iz2CLyjIxE=; b=uaxZByo98A6t4iSFXXvnBMQMR8urfL1CKzSwzt5kEDzbGWa7y2C9vtCyC1r0+77i/o WeVBfAFqIVahKaFpN8YzV6HQlQn+CvPl/SHUn/sxQvAP5XisMNXBMMqnvqV9hu65Jvzm ZkAdkhXef//Z83ptGJBXdRrpd1zutsXFIWc2Wpqcv03vnv63HwL1HM8QJR+UY5o1Dr4z UZ2Ycp+g0jVtW7ZIxPXXZ6aYNpYSxzQNNAFPTZZTvvF1R7VuQTf9LbjzBQyhSbgzapHk EmTJdEXj7ssGTK+qvm5uR5H8quXmOxCDusBkHSxBQg9VuAbP4WaBBpUG2LvcYfHqW5ln 40Yw== X-Gm-Message-State: AOAM532iK3cy934j7GoA+Z4XFC4O3fdlafT3p/CDy7097SAIqHXw9idy l1hCfCh4Ib7gVEiC/K0Ni/59n+4mZ6jYIvK3 X-Google-Smtp-Source: ABdhPJwGx9jkTEevWfBt43QmS8PDteRyjN6cZDypu0k7paDVIOqlVnS1+tIHV3L56xTddNWdhylxkw== X-Received: by 2002:a05:6214:27cd:: with SMTP id ge13mr62705244qvb.66.1641631478994; Sat, 08 Jan 2022 00:44:38 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id e2sm698553qty.14.2022.01.08.00.44.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:38 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 13/41] gnu: node-semver: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:42:01 -0500 Message-Id: <20220108084229.362642-14-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-semver)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9a0be96852..e99cd27a14 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -288,11 +288,13 @@ (define-public node-semver "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: Tests depend on node-tap - #:phases + '(#:phases (modify-phases %standard-phases - ;; The only dependency to check for is tap, which we don't have. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("tap"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (home-page "https://github.com/npm/node-semver") (synopsis "Parses semantic versions strings") (description -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:50 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:50 +0000 Received: from localhost ([127.0.0.1]:46327 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LG-0000md-8J for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:50 -0500 Received: from mail-qv1-f49.google.com ([209.85.219.49]:38743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LE-0000mB-Ex for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:48 -0500 Received: by mail-qv1-f49.google.com with SMTP id o10so7942580qvc.5 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ut9Ldu90yYPAyF8Kuzf79coWWpqvbA0F2oNi4DFL0og=; b=heTCCCaGhBjI+5EYapPDJTjnXV0tUh3a71psWubSxQG/4pZrcUleM82a/L5x5Jd8K+ mhZx8aEjKbXWriBVU9ZMdHkLhLdf9+WR7Qrre4WZ0uIU4zMonBn/malymABM2AaPGf/w wwOljM7RqVmk5taVDFTquHks3do5nRabjbnTW/ug+q2bdxe7uCEqIhGArlC7uI2qtoGk 5sJfuT566Rz75CjN160k0rPl09F7ltu087FBRQbzfiD+ASRvOtaA4j++Ju0P78vaQxZk ebLbsDoT4v2vPFWt8wUrhvcKZf9iWvoeTL3f4hSrnvKS99kg3PFmhAPMM1xSbzRTrQjm fYVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ut9Ldu90yYPAyF8Kuzf79coWWpqvbA0F2oNi4DFL0og=; b=zOrYOpkBzGRPUXcRWSxfD8pp4xpunKZmIFFWtD1MWqRNwCorThUFqEfii7tkTclQYc 4C6esHmGaF9McMaABAzmIdndTNjFQhNsxykjlznP9E54PfmKu4Liat403XNzvTbYrhcq n6K+ezCfTXi3RgzLiH5HNmPz4BnF01pQ1oB/SKakCRa62CsaLRSgN5kgXKVRQjJox3hv t8w66/C4UgFhhXS/8+haQBC3VAeeGNRrvB1N8puGJXMOloutu3WAAgmAoxMXA1WY3g5q kJseTtltxWc5VWvJA0+9F3pNcJ+EwA13vB03Muh6wyVOQ0toqOlthzevZlyjzVtfdaXH +2mQ== X-Gm-Message-State: AOAM5309/RB0fnsuRXUPNSS+NsRVffsVZ7xKxTy8RrjhfGbIIKX08kUX jYv60yjG3sb/xxvA8DGpO+Rfl1MMPjOXFTs3 X-Google-Smtp-Source: ABdhPJz+UsWiWW8XcLFb3fT/daVVsrzlXSvzh2+LOUMJZ/flhBkciN6Q2SEpfqVPXOxt/C3E/cuD1Q== X-Received: by 2002:a05:6214:2b0c:: with SMTP id jx12mr38812081qvb.84.1641631482973; Sat, 08 Jan 2022 00:44:42 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id l10sm695543qtk.18.2022.01.08.00.44.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:42 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 14/41] gnu: node-wrappy: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:42:02 -0500 Message-Id: <20220108084229.362642-15-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-wrappy)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e99cd27a14..e1ffdf978c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -320,8 +320,9 @@ (define-public node-wrappy '(#: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)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("tap"))))))) (home-page "https://github.com/npm/wrappy") (synopsis "Callback wrapping utility") (description "@code{wrappy} is a utility for Node.js to wrap callbacks.") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:55 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:55 +0000 Received: from localhost ([127.0.0.1]:46330 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LL-0000my-FO for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:55 -0500 Received: from mail-qt1-f174.google.com ([209.85.160.174]:44600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LI-0000mT-HO for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:53 -0500 Received: by mail-qt1-f174.google.com with SMTP id a1so8028663qtx.11 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5DSvIx1/vXRjOkpbXmW1dkakZ23LpWEhQJC1GgPJILU=; b=PT4YoZQ5apYaVH3oUoR+y3KmWHDudHM/Vldo+8SZf+yJ4QYjsQMRl7XlP8lEl9v1m3 rpCm4AmhzcP4Hw6i6sa8v4buimh1JpPkOOJTmCnw+5GVOVYZWwIqP1qxMhvXx1v48KXv K1I6RczAtbsk31yq/KM8RU6TB7Kakgu2kobNYrGdd2Ce9sMLa6zBfgsvQDDmx9yd/swd a8bL5jM4uM7sqTBuw5ScH+KnL8aEhRsKjtiLsQniyaoAdjN2YCt3k/Bent5WG+2i7Ii/ 4NN0ZC70NtFpXQ31gcQDJipZeS5OU9F7JazkGxwA9LWDG3fQSN89Dt/mC3detZbBzOEd gkpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5DSvIx1/vXRjOkpbXmW1dkakZ23LpWEhQJC1GgPJILU=; b=ViFUbQBmxQ2Z0FsdwQkJXCWz2VOCAf9/bqhmFyfgkv5OVenWq50mcbWkip57u1QM7L Mry2hKJ7LFb/Uoi6v6VOx/Q3JMVDiY0pkcWILCv+GqJERPpr6q1KWitag8cTv5I58s5i 2qbrvSP052MwZ+jF/1q4ShPpJ40KpC24vnhfY6X9K5mcFqiRiDSie5yuWptbn8Ri9Hch LabdfBmlWD7p6AGrJfQE9t7vdjg9YWpCVEJ++0QxDZOuiG9RjHaXDSfVK1n7XvTTw243 n4saIkWJ9oWpkpqnmjwSacinjvjgXd0pGUlOJdGv3OYhgdeHQz6aJLB/j2LsPkbu9WNS 8Kjg== X-Gm-Message-State: AOAM532lkc1qKq4PeRHZCqTc1DtOdnnJJJcc0pQr+D0VtrJCwZECUtcl AkNmMfTlwwYs6oCRV1aXsuqREPHeEGyABXro X-Google-Smtp-Source: ABdhPJxmSptzhUSQHj0gBOcsFbmcglgW87lQe//PvX48cZH2zGtJlLkOT4ShL7Ea1HOJspn+CtoSIA== X-Received: by 2002:ac8:6b58:: with SMTP id x24mr58983394qts.14.1641631486978; Sat, 08 Jan 2022 00:44:46 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d4sm704016qkn.79.2022.01.08.00.44.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:46 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 15/41] gnu: node-once: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:42:03 -0500 Message-Id: <20220108084229.362642-16-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-once)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e1ffdf978c..607877d677 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -343,13 +343,13 @@ (define-public node-once "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-tap - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to tap being missing, as we do - ;; not have tap packaged yet. It is used only for tests. This package - ;; still works as a dependency of node-glob and node-inflight. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("tap"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) (inputs (list node-wrappy)) (home-page "https://github.com/isaacs/once") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:44:57 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:44:58 +0000 Received: from localhost ([127.0.0.1]:46333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LN-0000nD-MY for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:57 -0500 Received: from mail-qv1-f42.google.com ([209.85.219.42]:40547) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LM-0000ml-FB for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:44:56 -0500 Received: by mail-qv1-f42.google.com with SMTP id q3so7962321qvc.7 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:44:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ua5oRDcqTPjpLTCt/T5GjpNIrBhfqUyh2Xf7OYUkxmQ=; b=KpqQhDAe8+mYsIwHniZDtp0mXNMKQmb+gU+h/JGGrWJOdXlPDXd0kmJOAHXkbMgmrX QCIWLUimbDmaOw91rxr6dudAlgwcFv1daokiTnIJzXQZATK8GuDnGV8953ww0cnS+lIw 7pMZmUolTYxJoCpdLLmImyd+Oza5Qj6LMgRJIGYoIf74qb7ePtxaZUK6Zxi9CR7cUXcJ BIwHVAHzs3YLZqIYIv5QgAc5ophWvMoSaOcMNu7ErXXqTcFQgNva6uDnV+QbKpCmiYvq PiNyceLg1KZcSKAbt08JfQFb6iCHAgJKJ6+bMZ3j+bJlOtGWST/kdlfI2uIMSyqimDQn jkdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ua5oRDcqTPjpLTCt/T5GjpNIrBhfqUyh2Xf7OYUkxmQ=; b=lChchdJwYQgqpascjZ1pYQOdfmLv7gs8K2+a53rSY9kZ1tZXKvu0wGeAl/rjFrrsDK bc5hQ3bo6e++Qzb7BJuCitS3SqGy59hPQ24BI1FTUsKgvg/xMPmpi48T2/Ty2sQAnYsd k4ATsPqHPAKHhfkraTbVQCVgG4FCUf6KnvTaPoCMB2wtMFkAwd68mrR3V+//dVQRaWQa 43JZ43M01lWFQeKzj4moTPE7g1riZX1YyTvoK2IUbC6qdbR1pxEBvpSdmRk78FRtM4ZX rlXDmmW3tmA59nHHKwhHgT3GkOHDilLBXQkDPYaVPS09doDSYbsgU3Rak8lQmcsumTZX 4H2w== X-Gm-Message-State: AOAM530+nVyNE2s/KYWv7hKIzXdm4aIQSvtlQjZUfP7i55a3sj0qiSOC rJv3jRg+APn7rzae5BTIjD+QS9IP46f+NE0+ X-Google-Smtp-Source: ABdhPJz0PBvTiCTQM9hVSenOBxjb4UMvVy52ClorWihmCUzZ5IDHs4QnPzNxulMkKfYg7q7Ln+FVow== X-Received: by 2002:a05:6214:5092:: with SMTP id kk18mr118266qvb.19.1641631491004; Sat, 08 Jan 2022 00:44:51 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t3sm743103qtc.7.2022.01.08.00.44.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:50 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 16/41] gnu: node-irc-colors: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:42:04 -0500 Message-Id: <20220108084229.362642-17-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc-colors)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 607877d677..4da4166465 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -375,12 +375,12 @@ (define-public node-irc-colors "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-istanbul - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("istanbul" "vows"))))) + #:tests? #f)) (home-page "https://github.com/fent/irc-colors.js") (synopsis "Node.js module providing color and formatting for IRC") (description "@code{node-irc-colors} is a Node.js module that -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:02 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:02 +0000 Received: from localhost ([127.0.0.1]:46337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LR-0000ny-To for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:02 -0500 Received: from mail-qk1-f170.google.com ([209.85.222.170]:35615) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LQ-0000mz-Gg for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:00 -0500 Received: by mail-qk1-f170.google.com with SMTP id 131so8524080qkk.2 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VeUrPmJIkgYvtsT2Nf4f9SuSIOv0PyCwXwTFJi5pWoE=; b=eYZHT3RNvFfI1LWg1fDNFQ1I2JCE5AMMtTKV7PKAk0v7ys5yHqc/wGWtwzdJtz8ddq 0y6gtGveGN/27Yz7vg9mGWJk7Y4wmCF8nGeNVbuZXJbl2J/zVZpBRCd8+7dPFuwlVcOv me0V9B4vSjdh9SpCF+sOHR/NW3tpl1oBccxD030jtkypjP74ZQjVZpocQ09v7/e1/xUD LtArJxFhkP/WEjKnF9gliceLokbEq9IkkfYlALOh1G/PUhhrKHOFAuqcX8qkpa4QA6q1 xi/SX87498TpEyRXXvkLlIJ2wtUDzJaCNZSanyVwRfzY7kvidi3TRuKi2fo/FNdzUEUY 3gJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VeUrPmJIkgYvtsT2Nf4f9SuSIOv0PyCwXwTFJi5pWoE=; b=teN59yLX0dWUh6kFJufjKMEQ9xZTOWoGOu0AuqtwUJahHAQk8/CWVseu6y6AJK7va1 GuThrbYAsqUBm7B7nxQ3q1OAdu7bIvI81pBUoyPsJ0PlKVuVx4IRIF3ZEVRtwZv172Sq RL5epmv8nLkSd8ji8Zo3ivTkA+zA0c9tlopxboAlL8JQqsTI2AV2LdrEWNihVukiyz/P +xcIzJ6phP9OtWVPChs8RUW7RWFbfbgt5w/2tJITs72rDHmO2nL/8JK0qI3lGKgyuB5T Inh8Bj2rrKyoPuRtK3ecWkedj4kjoByF4Z4whIS9NzY8N9vdVmlrJqjqq7C1lrMilk5o ppOA== X-Gm-Message-State: AOAM531DRcqlG7QbOPVNzXutc3HZLfWCe7LL6PlzBynVL+A1uutaN7on SrBvQI4r+CBKqxGM7X53TXWsQ9LMZUHzLrv6 X-Google-Smtp-Source: ABdhPJz5YA8g67BE+TJMAdIdNP5CpyYwDU36sTGw20E+gHvU92xf7QNij94hh5QHVniDwF9XJTlhGQ== X-Received: by 2002:a05:620a:1991:: with SMTP id bm17mr46474736qkb.459.1641631495089; Sat, 08 Jan 2022 00:44:55 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id s13sm697709qkp.107.2022.01.08.00.44.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:54 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 17/41] gnu: node-irc: Use 'delete-dependencies'. Date: Sat, 8 Jan 2022 03:42:05 -0500 Message-Id: <20220108084229.362642-18-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) gnu/packages/node-xyz.scm (node-irc)[arguments]: Use 'delete-dependencies'. Stop deleting the 'configure' phase. --- gnu/packages/node-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4da4166465..80495cacf4 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -404,12 +404,13 @@ (define-public node-irc "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x")))) (build-system node-build-system) (arguments - '(#:tests? #f ; FIXME: tests depend on node-faucet - #:phases + '(#:phases (modify-phases %standard-phases - ;; The default configure phase fails due to various packages - ;; being missing, as we don't have them packaged yet. - (delete 'configure)))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `("ansi-color" "faucet" "jscs" "tape"))))) + #:tests? #f)) (inputs (list node-irc-colors)) (home-page "https://github.com/martynsmith/node-irc") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:06 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:06 +0000 Received: from localhost ([127.0.0.1]:46349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LW-0000pM-A6 for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:06 -0500 Received: from mail-qv1-f52.google.com ([209.85.219.52]:35669) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LU-0000nO-KH for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:05 -0500 Received: by mail-qv1-f52.google.com with SMTP id a8so2539600qvx.2 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=umfNMxvWqUyd/T6DJucURhLivyXbdQBryP1AyNkpImg=; b=X6fGHPPvQcpY42h7/Esuf8EWJsIfkQvt+4NfTec1/o3YE8MaeARmctL8X3qGAcUUlz 9EwURM2zl40v1tPwBIV9N+o52lqB3APGygwFVFhNIkqGi6LP9VjXpnzZmQKqV3i50gbr ghUZgzLmsB23CvgngJqgWyu7PisP5X3g9JiDxVyrw7Wot1q3lYKdthlnonYSkQP4xFBf KZB+8yAC6wovvGppxwmApGyjHYfUUqjP8OFDaYzOdhryvCPffwz+ghLWVNCyhjRiXidU UZOvr87mibtNdlLO32DjsnULjijbx2cMv1yssYma9uT35RTGWbaONDpMvpHmN6mLeft/ OX3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=umfNMxvWqUyd/T6DJucURhLivyXbdQBryP1AyNkpImg=; b=XolqJcBi+iVqEG82sroAeHhFrZJEHwv09X836k5Ko9lxBlYzBG3FLao/pZOjpF0WcP clIPjZiMYZPgbHW/nWdvZWcBDDK+5BW5Lr+xrH6UhsWWgLPX+frll7wiPwCmEHX8yQJu 1ASxJZpOHPFnz+6WmKHBaqb98QCZItssVM21RcfKvOnyxCe2hiNEN3noeS+4tAcr41I0 RMmjTA2CX0/Wq8vL7ArugDBBY0ADIUB6wde8TAmZ7+gzai6CTFcwdidsbR8M5Vpto8gZ zoBR1XTZeDjxlQtPkjCTr7ma7/txCJ/ITbc07A2ok2CP1lJj6/7bWZTVlw7HR1yUad09 P4DQ== X-Gm-Message-State: AOAM5320ps9EYZghu7c+oi1PzMl5LNnh8eXoUr6eW4JqhBGPJmkO7stS 08sOrbAf7iv506DSdqN+EgdEfuFPVyq/noJ+ X-Google-Smtp-Source: ABdhPJxxBdIMHs0C2tUnw1b/Am6IwhXYRZmoTUchMyc624TFWovPp+itHHpcdIhXOd6qEhwFumv7ig== X-Received: by 2002:a0c:beca:: with SMTP id f10mr61322815qvj.97.1641631499176; Sat, 08 Jan 2022 00:44:59 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bk21sm713608qkb.13.2022.01.08.00.44.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:44:58 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 18/41] gnu: Add node-inherits. Date: Sat, 8 Jan 2022 03:42:06 -0500 Message-Id: <20220108084229.362642-19-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-inherits): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 80495cacf4..e12849b0a6 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2021 Noisytoot ;;; Copyright © 2021 Charles +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -360,6 +361,38 @@ (define-public node-once if desired.") (license license:isc))) +(define-public node-inherits + (package + (name "node-inherits") + (version "2.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/isaacs/inherits") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cpsr5yqwkxpbbbbl0rwk4mcby6zbx841k2zb4c3gb1579i5wq9p")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("tap"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (home-page + "https://github.com/isaacs/inherits") + (synopsis + "Browser-friendly inheritance Node.js") + (description + "Browser-friendly inheritance fully compatible with standard Node.js +@code{inherits()}.") + (license license:isc))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:10 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:11 +0000 Received: from localhost ([127.0.0.1]:46358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67La-0000qZ-KN for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:10 -0500 Received: from mail-qv1-f54.google.com ([209.85.219.54]:42634) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67LY-0000oU-Mb for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:09 -0500 Received: by mail-qv1-f54.google.com with SMTP id q4so7941089qvh.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TjbV6u+DZRgDF97FB71YrN+9LKvhwTdrFsdoezVbhDA=; b=hEQ2RouyY+o4H1AoBCTNHOCfoBkD/5nmrScAmp2olsFts853ECSoDp265A+7oiIT8L a+P/5y/lLtxkbNnxNrutBBhaoztAg5Eo3LAILAsD4R8P0zJNNvnj0LozurKUiSn63j86 gYXBid50JGmOvRpDycIQDkqpPkvzmU3iwJTSswkuLHImK6yTgDnvVhwKRKpy0Y4wCrAH hdFvAViI1Kdz1UEiv1sEvXN1HRXIOyE0QiHCTEsuMCAQWd2RzfWSVceMLfzxDgtD9NES KNI1NkhgPH4B6CY+1H6PcKFt/VsKKI5ozxn5cE0X02Vr3nlH+uEJzNEEcWrDruPBftkh C6Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TjbV6u+DZRgDF97FB71YrN+9LKvhwTdrFsdoezVbhDA=; b=H+LvLl0Mg74IrU4Et9ch+kzXOFTEw+jWtCjovQrLzJVxIvXb9divfEtCdWXMMfBxjt q+PHETtxvoLOjRT90LnrtvHAP0Q3ARwPGUhqv8XtdqRE31UA7FK1C0uq/lbF15E2vXPT b91MeydpFjd7FejLWbKMMfBLtN7udTM9eVDIcL6sT8eSfRMpUKA1F/HEf0BXYOHua9DF iipzDM4o8sLaBojnd5Ij1UCc541E2iSihZgyzRtE4kWCMsnNUfSE8ZWI4JEWL7y8FoCk BS4gmIZ7H9ywohyVxWKEC6YrAP3eg+aoS+KZC8QG4UqlFyuLO79rbTWem6xOlAgIL67f HK2w== X-Gm-Message-State: AOAM532rfUCXSLK/Y80PK0AFCCEvA2tQLZTFUmqSjnVJWw7Xz5JtEHnV 4bUMFWDsNxRZl6FBwfgvB5AZXN7SJlfYIQeW X-Google-Smtp-Source: ABdhPJxW0fjDu4NLzQ7VA6eJjd0rxPcnw3QqIbFJbhGjweuG4TBu5n1N+o6X2bLkCIYlbwipuvYpNg== X-Received: by 2002:a05:6214:c82:: with SMTP id r2mr10358832qvr.119.1641631503256; Sat, 08 Jan 2022 00:45:03 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t11sm683724qkm.96.2022.01.08.00.45.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:03 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 19/41] gnu: Add node-safe-buffer. Date: Sat, 8 Jan 2022 03:42:07 -0500 Message-Id: <20220108084229.362642-20-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-safe-buffer): New variable. --- gnu/packages/node-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e12849b0a6..9c524fec5e 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -393,6 +393,36 @@ (define-public node-inherits @code{inherits()}.") (license license:isc))) +(define-public node-safe-buffer + (package + (name "node-safe-buffer") + (version "5.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/feross/safe-buffer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r26m0nl41h90ihnl2xf0cqs6z9z7jb87dl5j8yqb7887r9jlbpi")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies '("tape" "standard"))))) + #:tests? #f)) + (home-page + "https://github.com/feross/safe-buffer") + (synopsis "Safer Node.js Buffer API") + (description "A safe drop-in replacement the Node.js @code{Buffer} API +that works in all versions of Node.js, using the built-in implementation when +available.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:15 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:15 +0000 Received: from localhost ([127.0.0.1]:46361 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Le-0000qu-VH for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:15 -0500 Received: from mail-qv1-f53.google.com ([209.85.219.53]:43696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lc-0000pr-OY for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:13 -0500 Received: by mail-qv1-f53.google.com with SMTP id fq10so7935822qvb.10 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AMf1ZcYbuA/kMdBsS68IPpdGG8qw1ZuoI2KBbVMRhJ0=; b=DVa+1CNz/uf1T199iqlZfYRrVYSbMrX60IgePyiHL+D4MEGAUEGbDNELZOVFSGuMgf rpNSess3pQc3x2gqmm8+q6exjoAA6hoYlMaylLAcETQvqtBgidCJQ9mydwSvCzrK4tPr MaNhUp+9M//8rL8qj7AkXsOQrlweb2GCai5bJ97RcfKakOTOFMsiqAnkKRTj3nktQABu 42+mLZH4lko5IHDlFRcjvAYTIUJbYNHr5yMKLCXrZc96g1lRC0wOa8/omPrYDIsLaO7t qiEjIvuoL0HsrRimN93EP/zOGnwfSbNu7TYmrVmzcgV0Y8dEpJ6joH7J4ytKGPdBI3Rc Zdig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AMf1ZcYbuA/kMdBsS68IPpdGG8qw1ZuoI2KBbVMRhJ0=; b=ldtzqfl9hzw++xL46QGPu6d4qH3ZJBsMavKuoVXhRcjQ7jYhjCr5Rz4zGpjrPb6Q9c 5eqMpd1wPJ459fZ+5UFqaZQ+MuFxNd5vrqvoVFt2v8sst8ZeGZ/Xce1RSfwtGkA/Onzg tGYY67cr3SitFq2mHL5b6aLgFwe0NAWqhlUJi33cjskI92MD76V5O2Rp8upMH3zr/x8D 2yatzxiVoVJENOU1o2cUa5Oebgbq+L2+9sZOHexGyihIG4u92rD9ZotbbbbZPHF3AhnO iYI7qQ3RXVQs/YtcH/+RFmuL9t5QLe+gBWMfb+Xe+4vU9TxwZxhOjeIOeJUbnW1GZuCo 1slA== X-Gm-Message-State: AOAM532jYmAHh4fUMQpafwVhOaw6EXCZhihmEUsU5p2jTsw+6k3yVoX3 U/0OZQVpDQMrFJMFRYXlN4OcU9mAtCQaxBpq X-Google-Smtp-Source: ABdhPJwRPY+6LwMI5lFcs02qrInKzDKxUgxZ7oBm+eZocEnqDzapouRAmEbX6KPrxstfby/kYOswdQ== X-Received: by 2002:a05:6214:ca2:: with SMTP id s2mr45087529qvs.90.1641631507295; Sat, 08 Jan 2022 00:45:07 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bm12sm703245qkb.86.2022.01.08.00.45.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:07 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 20/41] gnu: Add node-string-decoder. Date: Sat, 8 Jan 2022 03:42:08 -0500 Message-Id: <20220108084229.362642-21-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-string-decoder): New variable. --- gnu/packages/node-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9c524fec5e..8c5cd33c80 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -423,6 +423,41 @@ (define-public node-safe-buffer available.") (license license:expat))) +(define-public node-string-decoder + (package + (name "node-string-decoder") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/string_decoder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xxvyya9fl9rlkqwmxzqzbz4rdr3jgw4vf37hff7cgscxkhg266k")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + '("tap" "core-util-is" "babel-polyfill"))))) + ;; FIXME: Tests depend on node-tap + #:tests? #f)) + (inputs + (list node-safe-buffer node-inherits)) + (home-page + "https://github.com/nodejs/string_decoder") + (synopsis + "Node.js core @code{string_decoder} for userland") + (description + "This package is a mirror of the @code{string_decoder} implementation in +Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:18 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:18 +0000 Received: from localhost ([127.0.0.1]:46364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Li-0000rA-8W for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:18 -0500 Received: from mail-qv1-f43.google.com ([209.85.219.43]:43691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lg-0000qj-RQ for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:17 -0500 Received: by mail-qv1-f43.google.com with SMTP id fq10so7935932qvb.10 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vtdY5c/2nz2ChX+d0ZHjomM05fiqrXE17MlNZFWkzyM=; b=AmUJ9OknSvtero+ZkbqYjhK2har/BHHM36JUBZCX0c4r19YOcFpxqLTMtAMzN75ULG LuYvpXXTECJ4mLRk/d7GEwaNpXvI6M0eDcibrqoQ+stOK4YjgggzK5HYD5frYmhOcz6t qnjRlj9fpBPUMO06vi2a9zfUgd8Y8YbV1EQQYavY5+wv7i9DT+7q6Zu8356q8AsldsH9 ZHn4soUSSt6aBBeAYgA3m6Pf/r3wdMoaUm9Qgpe8yVPXu6wAxpZW084Y/GMJ4mvQ/W8K ILH1zzoyYBekRjAwXKe+05U8cg2QIRAJeEuEnmMkzahi9q+TOTNlxWK0/72I02hVbX9U pUEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vtdY5c/2nz2ChX+d0ZHjomM05fiqrXE17MlNZFWkzyM=; b=DFcT9+r6vEOVmcz/DyKzB9ZpD+k3NM5kcqiWOLfJ4I0uexl2DgVyfJkGb+SUQ3Sw8O Zvo6a6ykoTrgneZwnWIBerFYS2MV+FgHBaChDS6R8lsMHQrI2FOxbI33aLgugiu6Z8pB yUc4TfGNjOava5BnM8OCS7fEQD1DsoIBal4nUZH4PEOr9OzdSkt720GmfL1Ze34sqxC4 FrrAeq8y3rr7rPOj8c1IHUqMbPC9MJbl+fSR26qnuZO3nkmpTrH7cLpzuY1q0Wt5TklQ gksuKwxFuU+J0NUR9fb+tYMCFq3PgUUz5FcHt8s7uLDV6dgPA6PvgBQnkZjfdz/+deKb bCzg== X-Gm-Message-State: AOAM531qWSd96Nxu4/4XTExmJjefkbH1Tr/oLOBCqtmyN/fzQ8bjxeWy AvVB9lvg0RgZlJqOrZK14KSFiZs+IvbILTGx X-Google-Smtp-Source: ABdhPJyiQR9MF1b9eybpyPQV0sDnSEy6IdvmvINCQ7OwHaSm96lKmZX/YxTNLXrARmt+ksMDUdAkgA== X-Received: by 2002:a05:6214:626:: with SMTP id a6mr61960623qvx.128.1641631511357; Sat, 08 Jan 2022 00:45:11 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id z5sm650059qti.57.2022.01.08.00.45.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:11 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 21/41] gnu: Add node-readable-stream. Date: Sat, 8 Jan 2022 03:42:09 -0500 Message-Id: <20220108084229.362642-22-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-readable-stream): New variable. --- gnu/packages/node-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8c5cd33c80..b08609e8b0 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -458,6 +458,61 @@ (define-public node-string-decoder Node-core.") (license license:expat))) +(define-public node-readable-stream + (package + (name "node-readable-stream") + (version "3.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/readable-stream") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybl4cdgsm9c5jq3xq8s01201jk8w0yakh63hlclsfbcdfqhd9ri")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("@babel/cli" + "@babel/core" + "@babel/polyfill" + "@babel/preset-env" + "airtap" + "assert" + "bl" + "deep-strict-equal" + "events.once" + "glob" + "gunzip-maybe" + "hyperquest" + "lolex" + "nyc" + "pump" + "rimraf" + "tap" + "tape" + "tar-fs" + "util-promisify"))))) + #:tests? #f)) + (inputs + (list node-util-deprecate node-string-decoder node-inherits)) + (home-page + "https://github.com/nodejs/readable-stream") + (synopsis + "Node.js core streams for userland") + (description + "This package is a mirror of the streams implementations in Node.js. + +If you want to guarantee a stable streams base, regardless of what version of +Node you (or the users of your libraries) are using, use +@code{readable-stream} only and avoid the @code{stream} module in Node-core.") + (license license:expat))) + (define-public node-irc-colors (package (name "node-irc-colors") -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:34 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:34 +0000 Received: from localhost ([127.0.0.1]:46367 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lm-0000rS-Hg for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:34 -0500 Received: from mail-qt1-f181.google.com ([209.85.160.181]:42807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lk-0000r1-Vp for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:21 -0500 Received: by mail-qt1-f181.google.com with SMTP id y17so8043478qtx.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=on9vLZvOEH0EfV2OEpp25txdvsjQiCrr22rTOIvDNmQ=; b=hEf5ECiJW67VPR8NYY36SzWbV678CWT/BnoZxOpnCVjz84QoDRVRfUHBl7yMMRzeYv oZn+GvwJ5t0zc9cnk5KV9eizq3ylWco07rQoEN8pVcCLfwIRVHIZ0dHgbR9JnmoWWR5g vynBuDpJ9JbK2t5c49/12o99b8BRDXmiX2cu0yXksfmRBG8XnlGBdYLcX21EYOdhCIPi db6o892blJ4Ul0WMb9t5Ol9sM7ysHWYxjGeG5aQ1V5VeZ/7zNrrhbe2+OT8Jl77/lE3h pSotgsaPLnKt6YoSpdSRPRN3wTECQsGd4v72cGMaiHbSN1xpUW040Ocr47eOxNkZMW4W 79qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=on9vLZvOEH0EfV2OEpp25txdvsjQiCrr22rTOIvDNmQ=; b=pEHZIkcSNlsnNtEWSPW714Wd+jJ2ry7gh7dYd+PysHxO11NgAqsdZXGXtOPTpW5grT 4HheveT8yzPUZChxEujz8R9ugmqbtIZvw68xhBN8yLJ1wKsIkgLEtR/fM7svk+o4S3aR XRVx9L0hGf8zJ0BDZscnGG5APIOJ/UyOMkygBi7KaTpMXJbLhvTK0AszkjT3eKGOOmCU dlgyZnbecguVZg08MM2cb2/4QT7GJTkybx3LjeetkFCxoSMAOqjRImVMUhazQpRg7hKC b4zJAAaa6hgSaYQ7aPM09wOQm7jawzpieixcnaNoNZipfZfWiiUSK/ULZ83hnRP6YMMi jLAg== X-Gm-Message-State: AOAM533qH0tFuUhwQc4fo7/tlNWMCHmv1mQ56I9YR9WFdb/Y5yjNEk+Q 5z7ADWXUnMlc2vIi0HrzSmDgdHvIlEBkQmH3 X-Google-Smtp-Source: ABdhPJztL645SjBgdCXKkL3ZGtLfRcLF2i/Ks29aqjBW17E8W5yPvoo4ji46raJC8+c+nyiWgD5h+g== X-Received: by 2002:ac8:58d4:: with SMTP id u20mr54553060qta.49.1641631515393; Sat, 08 Jan 2022 00:45:15 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id r24sm668718qtp.38.2022.01.08.00.45.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:15 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 22/41] gnu: Add node-nan. Date: Sat, 8 Jan 2022 03:42:10 -0500 Message-Id: <20220108084229.362642-23-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-nan): New variable. --- gnu/packages/node-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index b08609e8b0..0e05e938bf 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -571,3 +571,46 @@ (define-public node-irc (description "@code{node-irc} is an IRC client library for Node.js. It has functions for joining, parting, talking, and many other IRC commands.") (license license:gpl3+))) + +(define-public node-nan + (package + (name "node-nan") + (version "2.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/nan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18xslh9va5ld872scrp5y4251ax9s3c6qh0lnl1200lpzbsxy7yd")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + '("bindings" + "commander" + "glob" + "request" + "node-gyp" ;; would be needed for tests + "tap" + "xtend"))))) + ;; tests need tap and other dependencies + #:tests? #f)) + (inputs + (list node-readable-stream)) + (home-page "https://github.com/nodejs/nan") + (synopsis "Native Abstractions for Node.js") + (description "Native Abstractions for Node.js (``NaN'') provides a header +file filled with macro and utility goodness for making add-on development for +Node.js easier across versions. The goal of this project is to store all logic +necessary to develop native Node.js addons without having to inspect +@code{NODE_MODULE_VERSION} and get yourself into a macro-tangle. + +This project also contains some helper utilities that make addon development a +bit more pleasant.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:34 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:34 +0000 Received: from localhost ([127.0.0.1]:46372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ly-0000rz-6o for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:34 -0500 Received: from mail-qk1-f178.google.com ([209.85.222.178]:38472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lp-0000rK-24 for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:25 -0500 Received: by mail-qk1-f178.google.com with SMTP id i187so8510333qkf.5 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+xtycBiRVjgB2UA1K94Is0xR+gS/nT8DNKtlqbV/dT4=; b=kbCzUbkTEA4NEuSMj0XdbqiuARP3xSBn4qDDG/TZlBDfuqK4iz8mQLxZioDjJF6jC9 bt3X6YXS96NUK8oeGhLtKqfs/afGnSS6q6s9PjXKYkAOqcKVe/AODPLKAdQSpSQADMl6 z8hDHNGfB23xZLfafOb804NDvmee/8MbOUFTZNME9cdIEaCyyGdxNnK1Yqkzwx1OfsQ0 kalKin8JJs5+LjVb6gSgDP9eV5+JTsGXil+WjQMvnv8GSgL/DBHSKQsJul0fs3VDIPXo DSCBibX0Pva3FOIaQr8chr4Ueo6OQnBoag+M0O9nbjYqk4MVSXX/ap+DM+C8LV2n+0v8 XfhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+xtycBiRVjgB2UA1K94Is0xR+gS/nT8DNKtlqbV/dT4=; b=hCgwjCzdYtL/RYmF4dCwLUP+j2IBOJ3HCZFt/Aq5LrmoKYwv9ycNVzb3AKzC4PS/gC O6rdKLxwmA6XUINm9JZj1Guv6lA7dCWp5LJRIO1Ooh7rZPqkNFzGbRgShyOTU1dhBlI3 hSP0ari4oTv1E1ynIP5VfvSj8+cU/2j2UoauXtOAsKvhB24oShS6/pKyirTLmyCEbip7 opWh/Y/Jq1+ArDGmAEdBm6BEao6Z3RSvLrUiBHU4R7JKVqxvd7B56sZCuSib1Mf5II1x WobaHQnZEYAktCqn4hGtrEXnCfViO7q2DJVU3MWAUmmE8DLtitu0/45MkqoK77+6dnQf NFTQ== X-Gm-Message-State: AOAM531FVVS0lTGKI+MfotjeSB0hQi21zp9gAlB7MQ2hZsqz1BXJ19mI 3iW5CNBD0uK+Ccjh1zC0bfaMrLAV0TzjgiXs X-Google-Smtp-Source: ABdhPJxM+nYIfVqyfdL+DOUjtemFboQYT6wNoWsADt9V7wL3Qp0ya2ryowD2qA0rHFfZrV+LPYbDig== X-Received: by 2002:a05:620a:4481:: with SMTP id x1mr46359702qkp.423.1641631519501; Sat, 08 Jan 2022 00:45:19 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id v20sm680499qkl.123.2022.01.08.00.45.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:19 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 23/41] gnu: Add node-openzwave-shared. Date: Sat, 8 Jan 2022 03:42:11 -0500 Message-Id: <20220108084229.362642-24-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/zwave.scm (node-openzwave-shared): New variable. --- gnu/packages/zwave.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 4d8286e334..3e99bd7687 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2021 Philip McGrath ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ (define-module (gnu packages zwave) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -85,3 +89,63 @@ (define-public open-zwave and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + (list open-zwave node-nan)) + (native-inputs + (list which python pkg-config)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke (search-input-file (or native-inputs inputs) "/bin/npx") + "--call" + (string-append + (search-input-file + (or native-inputs inputs) + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp") + " rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:37 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:37 +0000 Received: from localhost ([127.0.0.1]:46374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ly-0000s7-LZ for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:36 -0500 Received: from mail-qt1-f171.google.com ([209.85.160.171]:44631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lt-0000rX-BZ for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:29 -0500 Received: by mail-qt1-f171.google.com with SMTP id a1so8029614qtx.11 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ttKqu7t8pz/l2Bi7uwfhFDCEAg0CfvRdi1dwA2f1lKQ=; b=jw2p9PztPsi1ZrE/Mfz15kCsFSZfvJlK5UQQiAujA1I+qGVceL5ujG5JiGMbwrZmOK RrRO5V2Emx60jrokmmDpPbu6bS/NZkNZziegynAjsCTJP/+9bHt+GDhgtJRzZY3T3UIi tl6x5GRtaohjWPPCJaWy8AUhXImpa8TD5vtcSgmJ2mVBP6lH/DJH2SLXhZ1rrZMtvaeC Ec9JZnsIKEznlOJtjWoS0NKxKV9W1l0fi9sbU6OjyVR9JIueyKu2kyDUQ1aXjfQb0w2H 1JXkvFzcrz6QDMza5tsJoJbM9vGorhn4it12PUVWI5Wm9eJ7QcyEZNocFsYAN7mgST4j +2Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ttKqu7t8pz/l2Bi7uwfhFDCEAg0CfvRdi1dwA2f1lKQ=; b=mfRqtnC/1rFsg+aYO23aiWEtfuBp3Zfx4HpIC7xtnVzI5xg4TOs6o8WyPJbs4axrds FI49M8qWQ+A5wNL4n3WIQwBuylllPfHh6qgkFG3yx/UNmMKL5XaNhfX2wJMtJWgSXMNN BV+2zvqtJfaGewCl9AyFW1rTCiPTxWFmHv5Njqbcnn0Qp+Xsw4dasttYko+h+qdFRIF0 rIzKQV7gnbBWjSTditju4axWLATApOU3apKHvTsGLgDJcwanHHiYnMrJKmwM/ZoutM5V 9XLo5EGLu+jb8TMz9Y5YZFJvOsPamf8nSu3GZv4cjbDpnZqAKeBj1GER+VJ5hX0VEYRd 9J8g== X-Gm-Message-State: AOAM533ZVWNqkCNmNS8Rlq/od/UhuDAR9+snPoR5x4WzDcHyICrgfdKV d2q7TUKgySSaNuKM+fjBxbw2VUV0ZwPDNn1D X-Google-Smtp-Source: ABdhPJzqXxjpSVSwsL+DNpq2WgNrQpXf8zzl2yBSAWrPwXzGkKWD0dKbEeNIRRmS7UqJ2mUP64GeNg== X-Received: by 2002:a05:622a:1745:: with SMTP id l5mr59078265qtk.663.1641631523798; Sat, 08 Jan 2022 00:45:23 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id v12sm670703qtx.80.2022.01.08.00.45.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:23 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 24/41] gnu: Add node-addon-api. Date: Sat, 8 Jan 2022 03:42:12 -0500 Message-Id: <20220108084229.362642-25-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-addon-api): New variable. --- gnu/packages/node-xyz.scm | 85 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 0e05e938bf..637f116c3d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -22,6 +22,9 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system node)) @@ -614,3 +617,85 @@ (define-public node-nan This project also contains some helper utilities that make addon development a bit more pleasant.") (license license:expat))) + +(define-public node-addon-api + (package + (name "node-addon-api") + (version "4.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nodejs/node-addon-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bhvfi2m9nxfz418s619914vmidcnrzbjv6l9nid476c3zlpazch")))) + (inputs + (list python node-safe-buffer)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `("benchmark" + "bindings" + "clang-format" + "eslint" + "eslint-config-semistandard" + "eslint-config-standard" + "eslint-plugin-import" + "eslint-plugin-node" + "eslint-plugin-promise" + "fs-extra" + "path" + "pre-commit")))) + (add-after 'unpack 'skip-js-tests + ;; We can't run the js-based tests, + ;; but we can still do the C++ parts + (lambda args + (define new-test-script + "echo stopping after pretest on Guix") + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons + '@ + (map (match-lambda + (("scripts" '@ . scripts-alist) + `("scripts" @ ,@(map (match-lambda + (("test" . _) + (cons "test" + new-test-script)) + (other + other)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/nodejs/node-addon-api") + (synopsis "Node.js API (Node-API) header-only C++ wrappers") + (description "This module contains header-only C++ wrapper classes which +simplify the use of the C based Node-API provided by Node.js when using C++. +It provides a C++ object model and exception handling semantics with low +overhead. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is intended to insulate native addons from changes in the +underlying JavaScript engine and allow modules compiled for one version to run +on later versions of Node.js without recompilation. The @code{node-addon-api} +module, which is not part of Node.js, preserves the benefits of the Node-API +as it consists only of inline code that depends only on the stable API +provided by Node-API. + +It is important to remember that @emph{other} Node.js interfaces such as +@code{libuv} (included in a project via @code{#include }) are not +ABI-stable across Node.js major versions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:37 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:37 +0000 Received: from localhost ([127.0.0.1]:46376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67M1-0000sM-02 for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:37 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:42796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Lx-0000rh-KI for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:34 -0500 Received: by mail-qk1-f175.google.com with SMTP id r139so8484860qke.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cG5PqsfnBe+H8QVwTVVAWsQovwu0SROgeiqV1NFnRHk=; b=jCmJ5jfa5VsCMnXIxZ+jg2vhL3YMLLFNuFImmm1X2TpUYEOZfO/BWSy+hJG3N/ux/G ttYZWrvVYsjIJSvLdsllKOsD2Zrmfj/Y6sIm9lu2oe9w1qAFbb0FUvv/6qX2P1eGHLsj oODRpl3K1eMr6CX3nv3h85ow2HDkyt5O54orX9t+4pJ2XUDFdqJusHkGJqYGNf7jjnV6 xNxy8WvwToY3jz8O5oOwPTcw243gpb21J++VS3xpqExsQ+kVrCjhImkDls/Ca1Xl36B3 M6x/merRWo+qFmm5Sh3cJIYFIH/m4pZg+AuCaol842RorNhou7qA7MUbL1OlAfg6NMJp Pp6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cG5PqsfnBe+H8QVwTVVAWsQovwu0SROgeiqV1NFnRHk=; b=dFmColvWM7LDSLIGvicwRCGBrMn0nNZfdAT7mYJFEh7RqMfO3MOJE8Gbaa1McpwNSv vPmuKQvhUQveYU+Xc+hFpEbuB4WZwu3gP1uBynKhGGvOLDEgONEu1//EXK9OTj5Nt8np e3ijmTwbDDoaDbGIqfFAVu1KmgN0FJT8fC+NL7TcVSSA2E6KFvI4Qngqnui533HtxkAU YFTWv46uZq0Ce5d/9dI0g/SS/8LYSd5LN5EnC83OY3u5U4tT0TAriLdc26vD1lNQcdNO z4BgVqzupykEpjoWem+WSxpoa+R/vn2lNc61DEpnmVEZx4Bw4LvJblbPNzzLVs+a1mpu uQUQ== X-Gm-Message-State: AOAM533yFFlMbvXf/4SdzkHYtUlWCiaA3xQD6UORsnxSxYpYhRGVPC2d fU8zH/CciJLudO2AeS4sUCwEKA0eL7JsD8IP X-Google-Smtp-Source: ABdhPJygFH34+ka/Jmf7MoxgAWwzDTArWgNlAotx7pxFC8Uwsxf1oxGL8mT3ILz68Pxcjvvapqfr8A== X-Received: by 2002:ae9:f810:: with SMTP id x16mr11032764qkh.346.1641631527934; Sat, 08 Jan 2022 00:45:27 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id ay39sm701041qkb.63.2022.01.08.00.45.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:27 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 25/41] gnu: Add node-sqlite3. Date: Sat, 8 Jan 2022 03:42:13 -0500 Message-Id: <20220108084229.362642-26-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-sqlite3): New variable. --- gnu/packages/node-xyz.scm | 130 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 637f116c3d..9682582eec 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -699,3 +699,133 @@ (define new-test-script @code{libuv} (included in a project via @code{#include }) are not ABI-stable across Node.js major versions.") (license license:expat))) + +(define-public node-sqlite3 + (package + (name "node-sqlite3") + (version "5.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mapbox/node-sqlite3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sbbzzli282nxyfha10zx0k5m8hdp0sf3ipl59khjb7wm449j86h")) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + ;; unbundle sqlite + (for-each delete-file-recursively + (find-files "deps" + (lambda (pth stat) + (gzip-file? pth))))))))) + (inputs + (list node-addon-api python sqlite)) + (build-system node-build-system) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:tests? #f ; FIXME: tests depend on node-mocha + #:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies + `(;; Normally, this is "built" using @mapbox/node-pre-gyp, + ;; which publishes or downloads pre-built binaries or + ;; falls back to building from source. Here, we patch out + ;; all of that and just build directly. It might be + ;; better to patch a version of @mapbox/node-pre-gyp that + ;; always builds from source, as Debian does, but there + ;; are a number of dependencies that need to be packaged + ;; or removed. + "@mapbox/node-pre-gyp" + "node-pre-gyp" ;; deprecated name still used in some places + "aws-sdk" + "@mapbox/cloudfriend" + ;; Confusingly, this is only a dependency because of + ;; @mapbox/node-pre-gyp: with that removed, + ;; npm will use its own copy: + "node-gyp" + ;; These we'd like, we just don't have them yet: + "eslint" + "mocha")))) + (add-before 'configure 'npm-config-sqlite + ;; We need this step even if we do replace @mapbox/node-pre-gyp + ;; because the package expects to build its bundled sqlite + (lambda* (#:key inputs #:allow-other-keys) + (setenv "npm_config_sqlite" (assoc-ref inputs "sqlite")))) + (add-after 'install 'patch-binding-path + ;; We replace a file that dynamic searches for the addon using + ;; node-pre-gyp (which we don't have) with a version that + ;; simply uses the path to the addon we built directly. + ;; The exact path is supposed to depend on things like the + ;; architecture and napi_build_version, so, to avoid having + ;; hard-code the details accurately, we do this after the addon + ;; has been built so we can just find where it ended up. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (search-input-directory outputs + "lib/node_modules/sqlite3/lib") + (match (find-files "binding" "\\.node$") + ((rel-path) + (with-atomic-file-replacement "sqlite3-binding.js" + (lambda (in out) + (format out "var binding = require('./~a');\n" rel-path) + (display "module.exports = exports = binding;\n" + out)))))))) + (add-after 'patch-dependencies 'avoid-node-pre-gyp + (lambda args + ;; We need to patch .npmignore before the 'repack phase + ;; so that the built addon is installed with in the package. + ;; (Upstream assumes node-pre-gyp will download a pre-built + ;; version when this package is installed.) + (substitute* ".npmignore" + (("lib/binding") + "#lib/binding # <- patched for Guix")) + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (match (assoc-ref pkg-meta-alist "binary") + (('@ . binary-alist) + ;; When it builds from source, node-pre-gyp supplies + ;; module_name and module_path based on the entries under + ;; "binary" from "package.json", so this package's + ;; "binding.gyp" doesn't define them. Thus, we also need + ;; to supply them. The GYP_DEFINES environment variable + ;; turns out to be the easiest way to make sure they are + ;; propagated from npm to node-gyp to gyp. + (setenv "GYP_DEFINES" + (string-append + "module_name=" + (assoc-ref binary-alist "module_name") + " " + "module_path=" + (assoc-ref binary-alist "module_path"))))) + ;; We need to remove the install script from "package.json", + ;; as it would try to use node-pre-gyp and would block the + ;; automatic building performed by `npm install`. + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))))) + (home-page "https://github.com/mapbox/node-sqlite3") + (synopsis "Asynchronous, non-blocking SQLite3 bindings for Node.js") + (description + "The Node.js add-on @code{node-sqlite3} provides a set of a asynchronous, +non-blocking bindings for SQLite3, written in modern C++ and tested for memory +leaks.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:39 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:39 +0000 Received: from localhost ([127.0.0.1]:46379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67M3-0000sg-FK for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:39 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:35653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67M1-0000rt-Er for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:37 -0500 Received: by mail-qk1-f174.google.com with SMTP id 131so8525003qkk.2 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YTcgMXFqaAreTbqsLofqGGMJEb/QftU3tvE6conWoFM=; b=DZEAd2XNJzQLAZrW15lTtRfVuD9jVR81UNLtWKykjzuaZWSnDljyXUzrTRW+BGFbhs 7XLvohLwgOm+/Baox7+SJ3gil8ZRBrhlVRKjiiQpmifmV1XsM4ykqXEUCZud/Jswd5fe 7FVlWgih7Xa0ZPzqo7vw6bx4kvdKunmru0wbGCIw4KTRoR3Q293TX6QpG1xQMjn03Dty 3fcDQLo5be1f6yX4+T9AXV3akRDdFlbGMYNTapqFx6CUgj0DuKosz6MIMzSeyMi41ErQ qFidZMrNxKAv3ZvIi2jZ5Dy5wLYWuXWz/iCAWLv8bo9XPRPmpvbtAPR1EGdFdA6KKNar NeHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YTcgMXFqaAreTbqsLofqGGMJEb/QftU3tvE6conWoFM=; b=gpGdYulJ28apevgFKJe9OJi+O/8Fn+b9S9MSaTzx8qD+jkkn5C9Z8Ei3xqT2ObU71B D/8FhN9mS5AwuU02htCxnehWXt/VtT2pg90czNRUP0iG1ion6gj+zmCKgjfnRF4jHVp/ F7334pJkgXL09sG7Y7vNIdA3hS2Um8BTMhRft46mneWkHQ8Z+QZYbCAZNJDZfkb/qNT5 FwHOHpgTz/8Yg/b+7ba0IgmnwJZBD/lF4Pq282wIYT0r/8B5GZuomJwrfmoUZ3LxnszR TcA7aZndUTZzD7GTGVyixZcBSexGOuwyYI5Y/atkNh0magKsWyfpMmg9hM6z7ALesiwO mC8A== X-Gm-Message-State: AOAM53076Y9uwQ8so0kKvMTUBInKxUG35F6qPQV393kiV8Q2fqYbGwUf 0Ny87T7c0C5jdn/Ar0Tz1jJ+MB8dI9ILho+N X-Google-Smtp-Source: ABdhPJxRvG/Za21/1Mde33DtqY7zoAptPjU4j3/1kIJRSQfJAzoBAumm32eMKAmLr19hbV7YxpIZZQ== X-Received: by 2002:a37:b944:: with SMTP id j65mr47090500qkf.708.1641631531930; Sat, 08 Jan 2022 00:45:31 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id j20sm718182qko.117.2022.01.08.00.45.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:31 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 26/41] gnu: Add node-file-uri-to-path. Date: Sat, 8 Jan 2022 03:42:14 -0500 Message-Id: <20220108084229.362642-27-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-file-uri-to-path): New variable. --- gnu/packages/node-xyz.scm | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9682582eec..c35ae10990 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -24,6 +24,7 @@ (define-module (gnu packages node-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages sqlite) #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) @@ -829,3 +830,57 @@ (define-public node-sqlite3 non-blocking bindings for SQLite3, written in modern C++ and tested for memory leaks.") (license license:bsd-3))) + +(define-public node-file-uri-to-path + (package + (name "node-file-uri-to-path") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/file-uri-to-path") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08l779az44czm12xdhgcrnzpqw34s59hbrlfphs7g9y2k26drqav")))) + (native-inputs + (list esbuild)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("@types/mocha" + "@types/node" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "cpy-cli" + "eslint" + "eslint-config-airbnb" + "eslint-config-prettier" + "eslint-import-resolver-typescript" + "eslint-plugin-import" + "eslint-plugin-jsx-a11y" + "eslint-plugin-react" + "mocha" + "rimraf" + "typescript")))) + (replace 'build + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (copy-recursively "src" "dist") + (invoke (search-input-file (or native-inputs inputs) + "/bin/esbuild") + "dist/index.ts" + "--outfile=dist/src/index.js" + "--format=cjs" + "--sourcemap" + "--platform=node")))) + #:tests? #f)) + (home-page "https://github.com/TooTallNate/file-uri-to-path") + (synopsis "Convert a @code{file:} URI to a file path") + (description "This package provides a function to convert a @code{file:} +URI to a file path. It accepts a @code{file:} URI and returns a file path +suitable for use with the @code{fs} module functions.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:46 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:46 +0000 Received: from localhost ([127.0.0.1]:46382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67M6-0000sw-OZ for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:46 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:46785) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67M5-0000sK-GA for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:41 -0500 Received: by mail-qk1-f176.google.com with SMTP id 202so8467979qkg.13 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LjLAFbLwHG11XCF3uwQHR/3kZXssXLkg8dNtYpCajjY=; b=AOW/4BYwNimOBzj3jOrfVwgjPHBuwKOx19HlgwqfqZJxA7djmxeRC5aGfgiV/xk01x 1SrbzTwHq7+CXXqyOS3/FwDxO1dqGM9uW+elH2AgcZH4FflC8ki6wHvOslqawK24PH+g +DaRK/s7iFlyyd/63qF2/QvTpksDfe/Y8t34NdnAHr5d4UVDAVaU1mxzwp+wZrTqLnua itjLyTqJvZDz4B/EtPhVdnOXS2TkSfy2fMFYiFArNQXL0WjIWNk2ve47Zgn4qJOZGXhN EW8e/nrP0CF6ZvGnDLWQnU8Pveh+hb7zMnqYf6pEdoiqk7UI/A8a/FNh6Xo2AIMoKpUS DDTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LjLAFbLwHG11XCF3uwQHR/3kZXssXLkg8dNtYpCajjY=; b=UApBaSxx4fn9ahcvF5c8zEPtqPKNdevMvgdpOMw0gIBOv8woXAhFofHPnKsJe9JvcJ Mu0d9TuZia607A3RyCkx8o03V1/HZrN26RqZBM+w4iry47yhv8a1gaE+xPbhQ+KwDU4t 9sezLTdBF3XUVrAHUcy1afH+zicpB7WBtQxjIH4M3dggqH2SjBgzJUhi9EQ/SQAX6XUx tcKGlVZIhpr3tGuZjSyhPZwuyUJGovPCkBhWbua1GZAu/ImRR/Zk+GmqrYUNo14wSB/d VELWH+zw7wgwmkJAA1qo+vuphrZEuB6XDNEU8sthLThttXX1AL7VmgMN3aga8LEZXeoD ONaw== X-Gm-Message-State: AOAM5327udc8lZvuNKRvLnsEVNB5vUeHIY4eBe+IydwQ2O3+M85Ag8fO 9kgNMYCetTQdGaUjJljXMq+pgvASfNJYxQ1c X-Google-Smtp-Source: ABdhPJxoAb/SRgiO4NFK3SeG70aQxinIicZlHH0O1az8c25aAF8mrG98O/nwAYlgMa9c4oCEu6uV8A== X-Received: by 2002:a05:620a:2586:: with SMTP id x6mr44871618qko.15.1641631535974; Sat, 08 Jan 2022 00:45:35 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d20sm643526qtg.73.2022.01.08.00.45.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:35 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 27/41] gnu: Add node-bindings. Date: Sat, 8 Jan 2022 03:42:15 -0500 Message-Id: <20220108084229.362642-28-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-bindings): New variable. --- gnu/packages/node-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c35ae10990..70dc08debe 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -884,3 +884,29 @@ (define-public node-file-uri-to-path URI to a file path. It accepts a @code{file:} URI and returns a file path suitable for use with the @code{fs} module functions.") (license license:expat))) + +(define-public node-bindings + (package + (name "node-bindings") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/node-bindings") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "100gp6kpjvd4j1dqnp0sbjr1hqx5mz7r61q9qy527jyhk9mj47wk")))) + (inputs + (list node-file-uri-to-path)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/TooTallNate/node-bindings") + (synopsis "Help for loading your native module's @code{.node} file") + (description "This is a helper module for authors of Node.js native addon +modules. It is basically the ``swiss army knife'' of @code{require()}ing your +native module's @code{.node} file.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:47 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:48 +0000 Received: from localhost ([127.0.0.1]:46385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MB-0000tI-Jq for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:47 -0500 Received: from mail-qk1-f173.google.com ([209.85.222.173]:35660) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67M9-0000so-KO for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:45 -0500 Received: by mail-qk1-f173.google.com with SMTP id 131so8525229qkk.2 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IVMc3w9ucoDHg6uv/v2BAupXAZHu2/kxWpjJayabm2U=; b=FPD6LFN5aNs0r7h7AoBNKODt9gMKGFaTOen/xdc/9ZYQxZVORygVgC78Hns94MDPS7 PRqwic6TPQt1KC4u/0BKEC484py2p6yOvRIlETVKxpp5TIvRzTqflbAJ3ZYl0X5ft7Bp TzqNeCkEwVwVIEVxfnotBmxlAKWm4FG6Ef41mQKnin4fePQX/+1ZLQMvdgAChrjJBBcQ RN1liIINL3srrJt2WIzyBAFrzWV/Psf9f704qGiytj2MpeXOVjSpZ4dR6wMlCDzcwPCy 1UlBIoM2ZxK2aKKktNY3CYCUNUEmvDmBJk9+Doyxeq9s8pDHkfJm0rqwqYyjGAa67ZRA uYyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IVMc3w9ucoDHg6uv/v2BAupXAZHu2/kxWpjJayabm2U=; b=otGBOoFm02PamHSZOtMvZ90wdRKsuh3Y4vxW1EK78lf3LVyqFje0FzsTTzJclRw/Hg ohsIQcTmGRcpSZgOCvAfoPh2eMvpjJBkqq11GvGYswIkv+Lc5kzxjDIfIV4UtAScjs9P 7P1YFCDlcmMW3vGi7X8i42RMKzd/YJ6u0esGrcciAlSWL3qtknksCZVqx+KslcN97vAC U/0jX3WT53mrzv6J5fsDzRALYKFR50xDQBSve4+W47uiDf76AUSgLJpv54siI+i9hgv5 V/etMqWmavJY5jL1qYAPeD7rLwi4dmZj+1332FMOq15DEpctrB5VQvC3YyjkUuOr7GEk cvEQ== X-Gm-Message-State: AOAM533wJ+95bd7KcO0BXbjYzYppVNTH6Eq6nYGsmBGmvGIfY5aw8fba D+g+UsKL9dMb06LSK5P0cr+T1BGyyIsqNmvE X-Google-Smtp-Source: ABdhPJxD7fkgiAep+qAAlft4RuDiRG9FQSzIbZWZCaoq699KDBIdydsZtbZYzwQ30PAAWtuGAZHrpA== X-Received: by 2002:a05:620a:4481:: with SMTP id x1mr46360114qkp.423.1641631540147; Sat, 08 Jan 2022 00:45:40 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id n3sm711992qkp.56.2022.01.08.00.45.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:40 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 28/41] gnu: Add node-segfault-handler. Date: Sat, 8 Jan 2022 03:42:16 -0500 Message-Id: <20220108084229.362642-29-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-segfault-handler): New variable. --- gnu/packages/node-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 70dc08debe..6352f63688 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -910,3 +910,32 @@ (define-public node-bindings modules. It is basically the ``swiss army knife'' of @code{require()}ing your native module's @code{.node} file.") (license license:expat))) + +(define-public node-segfault-handler + (package + (name "node-segfault-handler") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ddopson/node-segfault-handler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07nbw35wvrr18kmh8f388v4k5mpjgyy0260bx0xzjdv795i3xvfv")))) + (native-inputs + (list python)) + (inputs + (list node-bindings node-nan)) + (build-system node-build-system) + (arguments + ;; there are no tests + `(#:tests? #f)) + (home-page "https://github.com/ddopson/node-segfault-handler") + (synopsis "Catches @code{SIGSEGV} and prints diagnostic information") + (description "This package is a tool for debugging Node.js C/C++ native +code modules and getting stack traces when things go wrong. If a +@code{SIGSEGV} signal is raised, the module will print a native stack trace to +both @code{STDERR} and to a timestamped file.") + (license license:bsd-3))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:51 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:51 +0000 Received: from localhost ([127.0.0.1]:46388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67ME-0000tY-To for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:51 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:42832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MD-0000t1-Jp for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:49 -0500 Received: by mail-qt1-f182.google.com with SMTP id y17so8044236qtx.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kfvpXswce6FTJZcUlMmURGvPsflOckdSxp26FwAvXYc=; b=NSKawr+bTOmCjDuUu+XeJeJge9JzMWD44seeQfh3SjffMsFzYS7077FtVnkseHTCvq 9lNV7PNkgrJ6p02c5hGVdqX42N9Y52v1zJOYVuUluWKxs+VHJoFBq2oEBVp4z8fb/EVE NQ1+KWCMrSJ8BzCBns9rZa0ixIDBKlPbstKJcgwrdCNDmKXVY3380OSmazRLgTzQJgaq uLkfVoa5dozo4ADithFoFu/LEBVneXnvhugbgNYpXfneX8na3YB7E3nHUxAMeJGgBgIV DIaVEWm4ZBaXuqXkqKM0JBDCfURK6p8twySqdsZ9l0by7rNsY7u7HO4HVmkW4BOVaZo0 3GRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kfvpXswce6FTJZcUlMmURGvPsflOckdSxp26FwAvXYc=; b=m57fmvDsq15OGq1oqM7EyhwdH5xDXXxiM9LIKod7RqyQUceiH4aQkBGEC+wYxX1D6d BWUeySy7iShQ79axmRhLMKKeO5fjfuGwx369Fv8wBm4KdaCjDmjN/muSJrwoKexi9RM6 BD+FdbsFVW8Ac2l9QR/0YxumGOd6FsEbM0tAirS3ny/iQwKJ7Qu7dPjN1w0ezlVdTLjF 7niTWPT412F2wV61o/yYEsQNH1v2ggzafpSmjzMIFz99TJQgNeB8yxOGfc8CnQAXlB2E ZH2Yel7NxBeN04RICkTuYEvOOMrgmxxHpMeYEWOL0vbdjk1p92+v5BZjoo9m1nJRl1ZY jbOA== X-Gm-Message-State: AOAM533c462Gp1o7NcgH/wqv2oTYzlgAtS5zfSsqoJK79dlzVhqBe7b9 RQGQ1Yg9aCHt5ZvUFD2FMn07S7IaIV/ha9gh X-Google-Smtp-Source: ABdhPJwnD8/OK49OR+5xI1udz1DUFGrklN2n8z3piQpdPerzDVEVAY+EFPfMl+UlPQwMrAbm8wD8YQ== X-Received: by 2002:ac8:5ac3:: with SMTP id d3mr3614563qtd.388.1641631544137; Sat, 08 Jan 2022 00:45:44 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bm12sm703850qkb.86.2022.01.08.00.45.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:43 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 29/41] gnu: Add node-ms. Date: Sat, 8 Jan 2022 03:42:17 -0500 Message-Id: <20220108084229.362642-30-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-ms): New variable. --- gnu/packages/node-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6352f63688..6142254c35 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -939,3 +939,49 @@ (define-public node-segfault-handler @code{SIGSEGV} signal is raised, the module will print a native stack trace to both @code{STDERR} and to a timestamped file.") (license license:bsd-3))) + +(define-public node-ms + (package + (name "node-ms") + (version "2.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vercel/ms") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1l74kmmwffmzdz38lli0v5mdb9p9jmsjxpb48ncknqw2n74cgf08")))) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("eslint" + "expect.js" + "husky" + "lint-staged" + "mocha" + "prettier"))))) + #:tests? #f)) + (home-page "https://github.com/vercel/ms") + (synopsis "Tiny millisecond conversion utility") + (description "Use this package to easily convert various time formats to +milliseconds. + +Features: +@itemize @bullet +@item +Works both in Node.js and in the browser. +@item +If a number is supplied to @code{ms}, a string with a unit is returned. +@item +If a string that contains the number is supplied, it returns it as a +number (e.g. it returns @code{100} for @code{'100'}). +@item +If you pass a string with a number and a valid unit, the number of +equivalent milliseconds is returned. +@end itemize") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:55 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:55 +0000 Received: from localhost ([127.0.0.1]:46391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MJ-0000ts-5L for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:55 -0500 Received: from mail-qk1-f182.google.com ([209.85.222.182]:38498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MH-0000tQ-Kx for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:53 -0500 Received: by mail-qk1-f182.google.com with SMTP id i187so8511008qkf.5 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yNH/K8Nj1WRroo2A9Ey8tzlsaN+RPVkeegYNZwPWS1w=; b=EtVl4FbYci7k3ELccFF2gGDCTcfYA6lf3vgAjxhmzZtsMF0i8epRTDl3bs0c1RYOOE KwsB+FCQF2bsAqDixU9xeWcwaZ9KZKZdmC8QUGdhmFuTuUgz3247s39wXD0evWidXXHZ 3n7hz/0r3SmLMLi+pIZWpYFhuhyEDGM6wgU/Sly0AQ8L2HGAH3nJASv1Uzd5BFHEpMyS ku8LQwI3K0/uQ8JdSRPOnZJ1pzxTLRdq7/1CsQdtmMEqzK31kGhJxLLsa0CJNJrKOfaA SJRxIrNG2u14cU7Tr5EOWCRFbK69GK6M09/H8GmahbUKCBM64pgkyQhgnapawQafoyaX e3aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yNH/K8Nj1WRroo2A9Ey8tzlsaN+RPVkeegYNZwPWS1w=; b=bhmkOQiMTnE0uPWYCC5Tqde82ca9t72OAsJovqOuV1FGF6BkXykIQNfJW0BfuNf/dR ltj2EK/gCiRiSOfQwizrlEeLvqsysg71f4kxOawQg5JSftBT1RZSimtPhoAF/TJMNdBX ZqTsCkotQLe3+mbUf20UnA8R08zw7jquqg4l0yea8TirXBotWqK+MLTaZEmlPoSfNaZX MLr3/6+c6OcfhYSk/SXZCoR+zoRNRyJsscEMGDq61X6PzUZex/xYlznj+t9aCCtpVDHD gW0BnZPpnYk48rfSrKi+Jzfa1BmTAxXdM+v6k0wVDXnqcF8yN7EJgACdoMhQguiBQoI0 XPFQ== X-Gm-Message-State: AOAM532ibbuTTPpbkAX5ZqG2XUktLjNC3zfnq5BUp0ZUFqV05ifsdj/L /i2k8ny5AO0Twzf337aiOXmfPxmlGVRkPb+a X-Google-Smtp-Source: ABdhPJy/bzhzWyjpVIf6jL3Oz1CxxS8VLkdI9PwaViX/2P5tt9rdChyXKrRetWBOZLQ6aAkAu/eBhA== X-Received: by 2002:a05:620a:4449:: with SMTP id w9mr980334qkp.617.1641631548129; Sat, 08 Jan 2022 00:45:48 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id d17sm703695qtb.71.2022.01.08.00.45.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:48 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 30/41] gnu: Add node-debug. Date: Sat, 8 Jan 2022 03:42:18 -0500 Message-Id: <20220108084229.362642-31-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-debug): New variable. --- gnu/packages/node-xyz.scm | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 6142254c35..3be2b93b31 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -985,3 +985,48 @@ (define-public node-ms equivalent milliseconds is returned. @end itemize") (license license:expat))) + +(define-public node-debug + (package + (name "node-debug") + (version "4.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/debug-js/debug") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ji0dmdl2xkgxqxvd6xjy7k3mmknmhvqjgc40vyly9ka1mpf20vb")))) + (inputs + (list node-ms)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("brfs" + "browserify" + "coveralls" + "istanbul" + "karma" + "karma-browserify" + "karma-chrome-launcher" + "karma-mocha" + "mocha" + "mocha-lcov-reporter" + "xo" + "supports-color"))))) + #:tests? #f)) + (home-page "https://github.com/debug-js/debug") + (synopsis "Lightweight debugging utility for Node.js and the browser") + (description "A tiny JavaScript debugging utility modelled after Node.js +core's debugging technique. orks in Node.js and web browsers. + +The @code{debug} module exposes a function; simply pass this function the name +of your module, and it will return a decorated version of @code{console.error} +for you to pass debug statements to. This will allow you to toggle the debug +output for different parts of your module as well as the module as a whole.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:45:59 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:45:59 +0000 Received: from localhost ([127.0.0.1]:46394 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MN-0000u9-Dw for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:59 -0500 Received: from mail-qt1-f180.google.com ([209.85.160.180]:44661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67ML-0000tg-MG for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:45:57 -0500 Received: by mail-qt1-f180.google.com with SMTP id a1so8030288qtx.11 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:45:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3dEMHWTHdpHMFCzNMBegxLdfhwEmMC8lh7jPZvO9PtU=; b=QLeWALOKiqxtJlorZJsW8aL0LbcVfQvv8YYJnBW1GOhWt5yIYxUrvTkoMqWm4kZuJ5 yP5zdOOVb4TePfIO+GOZjWaxsTqyxjZIlurLBupetkwck0vFsjwEDvkxGHIeBeCNceOm 3n8WlXKyy78bjf1jZE2ADlRzEpgJlpkT8QGpGy7WoqL2y8ZxLQj/+PI/ETadWh24hSAi /wpauCaoLuXJh7lH/yXnjuTUgClErbVBQkx1b0pEpIQJu7JLDcOQrwH9uSnwcGXCSRmN tW5GjZhcnqUiRKFnnatJzM/vGQQUMM8nfS0+/FfL10UMmnSfNAqz3Bs/Y5FxIH4mGHqS AUZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3dEMHWTHdpHMFCzNMBegxLdfhwEmMC8lh7jPZvO9PtU=; b=q6ffHr4Dj6nR5+oKakeiExcaespYir7bU3lEAiqhywVXvGh7ZfIPl2yZPRjDVT87h5 HdJIDri4QXo20Axgi0gD64CXRVPvKSqBxN/nLaaVYfVaz6eluvg0TV/+EtcqIiuhV5TS Nm8++pG5Zkcaetgt5P7JrxiDIH/dr2SkLBFY2aeV22mBf4cSdWE8ftw4js4M2CBdkNjb DkWyP4GuUGSD5vRHtEGSSasXd/1NNwwvuxQMcEBV89o0IS4KZoL3ZhL+ZSX7TDcQUaPL HN09oHgNdpRHb/6ZzoMtlIDXJfIdNLBsLldDT3vlhqbXg7M25dcyF8JxekgVV7eqJ409 B6Cw== X-Gm-Message-State: AOAM531HOnG5y//XrApNG1EQ12/T2rikTCMEhYi7kowZl3YSMdgzSNJs AE9ajeldDdJqS3cR4o7PUjR5DEJzPda2Ng/e X-Google-Smtp-Source: ABdhPJxo2jgM4zAUYiIFfk5j4fGxBGnmJEqpJ1vCmeD2x+J7nOyk+sM0xenMA0ot49rCU9XXcVMczQ== X-Received: by 2002:ac8:5781:: with SMTP id v1mr56762445qta.4.1641631552148; Sat, 08 Jan 2022 00:45:52 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id t15sm698136qta.45.2022.01.08.00.45.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:52 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 31/41] gnu: Add node-serialport-binding-abstract. Date: Sat, 8 Jan 2022 03:42:19 -0500 Message-Id: <20220108084229.362642-32-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-binding-abstract): New variable. --- gnu/packages/node-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3be2b93b31..4c79716d08 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1030,3 +1030,37 @@ (define-public node-debug for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.") (license license:expat))) + +(define-public node-serialport-binding-abstract + (package + (name "node-serialport-binding-abstract") + (version "9.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/serialport/node-serialport") + (commit "v9.2.7"))) + (file-name (git-file-name "serialport-monorepo" version)) + (sha256 + (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) + (inputs + (list node-debug)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/binding-abstract")))) + #:tests? #f)) + (home-page "https://serialport.io") + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology.") + (license license:expat))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:04 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:04 +0000 Received: from localhost ([127.0.0.1]:46400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MR-0000v7-MK for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:04 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:40608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MP-0000u1-PX for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:02 -0500 Received: by mail-qv1-f41.google.com with SMTP id q3so7964015qvc.7 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eptQjT8F+TkL7A+LBRWDRGB5RjxgWUdowWP7Dqu6iro=; b=S4FWqsJPojPXlF2Z8XoCHqB+oURMmN7LLl1KX+RPByb4jTVneJCjvh4izNMZah9Jem butc0WIM7UMCnBxIG4Ol+QWsa/jDf/A5fKjkK8jnCZGZRvTPYYjXXXQGNd3kkvbU13rL MTDTCUw93myPrEYeBRYRePfm9LsY67NOFmgMjZXZ9hvLD0l3Y2UnO2wT8vwvfF/2p36H nXYOYecjW0oZgxNY4lH2C2JzUiqFncIFTCdQdpUtrB0ThRybXXjU3jcgK30p5+D86oGS lEE3bqBvqZ9ncT8mjSlJ7dZt2A5aftnyr6m9Wk7UgMAVs0vRh0nDA2fMUVMTDfOXP1nZ s53w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eptQjT8F+TkL7A+LBRWDRGB5RjxgWUdowWP7Dqu6iro=; b=OhYT9NmbBLg4TDk6t2USUZ79X05QpiBRbez3EAQYiYZWhVbJ/7KpyfpBxehdmvlyKN Nopy7TDlXyMVFP8k8YcPvOC/YReAfF4pkfe+Pnj81DaPU1jIAGghZqHpI5Oi0u/2jzzk 3Ang7zZ02zhilZZD1utYPaVqt07WH1VibWWRkHYTqFYAo3rAEJCTFh73DQcDTuA4JvLX VduehhSZb3g1IiLPC0IvVP2Wv1VFcb4Silp/AXBzbKrrFbyyrtMl69Px0EOMQ9bW9fQi 1krtVgIkibO7mu1no+9Yvf+q/Vu++yoPI/xRo/M84pfMIyv9q3n6nAYoqQq7kvVSQOmY u9WQ== X-Gm-Message-State: AOAM531RY1Fl8I0sg7xRpqjvziQgcJEwJtTHGJ1oXOwspjBft2YUefaT wkIqW3qsRekkD4YEOwPJ7/PjR7itzdYv2U9l X-Google-Smtp-Source: ABdhPJyKOGuzlD+BqJY7rcCw83JcdxQsiIBvFH9jveBpJtlrVeOklPuyFsarwUcOcNmLO/RT7z66nw== X-Received: by 2002:a05:6214:300d:: with SMTP id ke13mr61016579qvb.85.1641631556305; Sat, 08 Jan 2022 00:45:56 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id y15sm699562qko.74.2022.01.08.00.45.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:45:56 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 32/41] gnu: Add node-serialport-parser-delimiter. Date: Sat, 8 Jan 2022 03:42:20 -0500 Message-Id: <20220108084229.362642-33-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-delimiter): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4c79716d08..d35e4c6ba6 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1064,3 +1064,25 @@ (define-public node-serialport-binding-abstract SerialPort bindings. You wouldn't use this class directly, but instead extend it to make a new binding for a different platform or underling technology.") (license license:expat))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:07 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:07 +0000 Received: from localhost ([127.0.0.1]:46412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MV-0000wL-2P for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:07 -0500 Received: from mail-qv1-f42.google.com ([209.85.219.42]:34319) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MT-0000uI-Pq for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:06 -0500 Received: by mail-qv1-f42.google.com with SMTP id ke6so7976962qvb.1 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IyVQraU/GOE6tIB+AuRuQbDeAuL0pm5Ao8+mEcjjxIo=; b=kYMcfgvir9nisTt7hQ8Oj/PqAYD/jy8NW5KImgRp2BzG3y3EQIxay/FcJA/nyQBA3+ MDYAzhLHYYTb9cjBe0oMaAac+wRIQZhuM+yHTvRzBmG/utLhf9RznRTFwObJ7XUpRGwy becoIZarGhDB/SJzpRmEga/4JJbvrYqlaRV8H9cLBm34ti1cc1fWy08x26QbHNB7FnuX dH8FTPoM1hyifLJcQx3FzEJ4geO5HYsg5j70Qn2G/0ja9mLUw93D8cLr5xqIw13OxbUY iedMpcPXW4lMK7553DQCv2DBWLqi0e4z5KBKm3ZoI5HF/pOoO/ab5ObmmEypeN/YaP1Y 90YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IyVQraU/GOE6tIB+AuRuQbDeAuL0pm5Ao8+mEcjjxIo=; b=IBgb5xc7TIus6UXf750mHSyFbDyZ3znbCwXq+qVMIqkmeIiE99JZRfTTWpa1IF1KGl J9vjuL02kedLC/pdpxogrbRtYAy4T8PGRUU1CvMSgVuQtZ8ePrwaiaNbxCzLX6DNodM7 kem1IOl4vR4sPgP5v4ct+yfsQDDqWeRjzHJjk1cXLNAdnsGj/ozikPG5rXU049A/YOiO ge20ujrbLgGWMrVN6mDM/3D3LyheY12ZBxI4F73A2P9nBiJ1BYl/TwbVbovig2L0vw2v 62IlMafhwbVB+nuXi8ed8kmXFfO1Hc6gIl6j84gjp39EuR8ljPTsrKBkyQhskIeQCCC5 VTEg== X-Gm-Message-State: AOAM533ouJezAcrBfKce5AgIOYuNpoWZRM9/fkzAs0aRckcMhI21JsUA 450t66/FrHTlrXI6K7TivcWj21A3U0m/DSQm X-Google-Smtp-Source: ABdhPJy91yCyDbLBLLiYyS01iB6d1JjT7mlPFEil+K9S0rvwJjr/F6NUAF6ewtXH8qTG9+5WFyeR3A== X-Received: by 2002:a05:6214:5091:: with SMTP id kk17mr61501045qvb.93.1641631560286; Sat, 08 Jan 2022 00:46:00 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id x15sm677584qkm.118.2022.01.08.00.45.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:00 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 33/41] gnu: Add node-serialport-parser-readline. Date: Sat, 8 Jan 2022 03:42:21 -0500 Message-Id: <20220108084229.362642-34-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-readline): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index d35e4c6ba6..8e70afb71c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1086,3 +1086,26 @@ (define-public node-serialport-parser-delimiter Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Delimiter}, a parser that emits data each time a specified byte sequence is received."))) + +(define-public node-serialport-parser-readline + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + (list node-serialport-parser-delimiter)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:11 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:11 +0000 Received: from localhost ([127.0.0.1]:46418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MZ-0000xD-EW for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:11 -0500 Received: from mail-qt1-f171.google.com ([209.85.160.171]:37885) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67MX-0000vX-PM for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:10 -0500 Received: by mail-qt1-f171.google.com with SMTP id c15so7671534qtc.4 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SzHTcUVBuP7Vmp11J0m4a5UV/hygKdVlrWfFJ8JkIuY=; b=grlz34CNZuncpWxymnaH82iDMaje4/JPKQrM+JvxMcVsQm09PkavUAqiCR98lM07iJ 4XPzZHv2aqTAI/R+M4A6gx3vP3JnqahZoID1JrLbv27uPjeqBPqK9ptsdxO4Gt3YU7Bl QcggAVQ1aYWulBL8LaxTbqTWV0gjS3sIeGD0/KQb0FeEFS/kRSD1y21JDeJwH+5tHkIi 8mvTKvATfTHroOyFFSlniIznMED8Nmkk0TnzXSqnfm1Xhjb2kbEQAjq/en9cBGGoGAZN ln7fOnkovcruhNLJyya7KyCyqWkX3fwEr9YXVN3fhdsgpbUZ0yZS7eA88WVgjfH9h0A1 qk3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SzHTcUVBuP7Vmp11J0m4a5UV/hygKdVlrWfFJ8JkIuY=; b=Wc4U8l5vtBaVoQFddh/pYyu3iUOyELsSv5NoTf7tbClAlspkOsWy9tZ64cW3ZyUziY sIDECgB0nZ2vjeeM3mmW+KSk2F3ZEPrIaGTMD6DOCN2ljQtUFJDA+2RwflRX7lzcABDd aESW6K0ALMCNOVKW6jOo7QHBz8tnxmC0b/hhuJSD7NuKMnnlEhlcy6jwVtzNlTfYZiWZ 0FQXLCRBTp/eQOT4Y6K9EoiMWPesZ2ixRTPRAjP3AIWS3fOHy9ZDpgCoHLP41EqljEj4 POExCfXrPyYNiMZ/Z/D5Tu2fniMSa5TLTlhDXKYJ4PECZbi6Q0DDM3MWfw0xs3/ivmVb xSkg== X-Gm-Message-State: AOAM531y9llnEv0tTprF8D3CaRs/GcJ1O+E51sLrdl1DAV7+OLyAuOzH UAtAD2hMQo85RAVy/xpvxMAS7rVnInie+sF/ X-Google-Smtp-Source: ABdhPJy0hv4NJaCCDld5ogMMNnI7zW4wRpSjqoZcpZ0jLPKg7eCQ2CrlX+veOKDTGxqpBB9XXSltKw== X-Received: by 2002:a05:622a:153:: with SMTP id v19mr59253688qtw.144.1641631564321; Sat, 08 Jan 2022 00:46:04 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id c7sm678876qtd.62.2022.01.08.00.46.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:04 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 34/41] gnu: Add node-serialport-bindings. Date: Sat, 8 Jan 2022 03:42:22 -0500 Message-Id: <20220108084229.362642-35-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-bindings): New variable. --- gnu/packages/node-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 8e70afb71c..305fdda69c 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1109,3 +1109,57 @@ (define-public node-serialport-parser-readline Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Readline}, a parser that emits data after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-bindings + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-bindings") + (version "9.2.7") + (native-inputs + (list python)) + (inputs + (list node-nan node-bindings node-serialport-binding-abstract + node-serialport-parser-readline node-debug)) + (arguments + `(#:modules + ((guix build node-build-system) + (srfi srfi-1) + (ice-9 match) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/bindings"))) + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("prebuild-install" + ;; devDependencies + "@serialport/binding-mock" + "node-abi")))) + (add-after 'chdir 'avoid-prebuild-install + (lambda args + (with-atomic-json-file-replacement "package.json" + (match-lambda + (('@ . pkg-meta-alist) + (cons '@ (map (match-lambda + (("scripts" @ . scripts-alist) + `("scripts" @ ,@(filter (match-lambda + (("install" . _) + #f) + (_ + #t)) + scripts-alist))) + (other + other)) + pkg-meta-alist)))))))) + #:tests? #f)) + (synopsis "Abstract base class for Node SerialPort bindings") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides the @code{Binding} class, which uses a native addon to +talk to the underlying system. You never have to use @code{Binding} objects +directly. There is also a @code{MockBinding} available (but not yet packaged +for Guix) to assist with testing."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:15 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:16 +0000 Received: from localhost ([127.0.0.1]:46421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Md-0000xU-Nk for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:15 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:36608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mb-0000x2-Va for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:14 -0500 Received: by mail-qk1-f175.google.com with SMTP id i130so8533741qke.3 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=t96wwdYNJaL9ClPoMyeEHpUENBNBUfOj0CgCWbg56Is=; b=WJIV0kymwDSoTlQv6IkEJRVqDlSndz31HjPcqmWt/H9xg9fI3I4cvU3ArljsBg1rVn uVD+WiJMGttEj9c1UqrMBH9/UheeEN6ovfnkazd3KDYrRlucSX8+nc3t8aRbCb6i6H3n ekpYpr8w0KlobOO9AVgOSt5AmCv/Tx5ZvNDstrEbgZr26nOAD9L4osqYhrFYP8dplouj NDUQ/Xrvi/o9ykSdfAztpDW7NcVSaEwyl+p46NYbYp3dx45Dj8vXFcBCztFkTFJDmeSV t6Oma3Km40l/kpOS9pubm2zzi+ISNYEtwBTva4Gh9M1I+4tzxgO8Ergtr3D20pNxkmLa Y1nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=t96wwdYNJaL9ClPoMyeEHpUENBNBUfOj0CgCWbg56Is=; b=HfLgFwL3fxhmdp065BiOlmiwi5AvnPYZClkH0m/EqztPoE7jsXZHqiuJBeWUC6NFer V/wB8KZbRJ3M/HiD62y+q6vm+RHYpPZGYGRo25m5VMYxdkxJnFxvPHAXMORiqLMwsdNr 6zvbk7CGtDtq6G1JuqvjsBA+194EszPmlxYcP07z7MXFKo1pA8sUGHf8jMGgcXON8+Ol aQ2gSkEMBI3sQwsowZI2o/QB6uvDjIQ+mknt263vBqSKzYAL20J/3VBAOqZDAlKLO3H+ uE7eWled5PfnfiGm0QuR9LYw0h2dACbECW0qPfAo7t5UIL8Ou4URYHmNKz7OuERVAOhc ZnNg== X-Gm-Message-State: AOAM532XEXBmpPt7EZR0fSOgsA/tRwo9oEElRhyKsBqQCXwHJSeY7/hT EqkMvf5duKo3Z6C4J6tzA+o/aMg8UU5dMXuG X-Google-Smtp-Source: ABdhPJwZ5XbHtJP1PegQH8dKtzraUDN2yPeQpDlEs+OK67ME3SRaoKTxVh95caLWtcF0yHIBq4ApEg== X-Received: by 2002:a37:9f46:: with SMTP id i67mr48471433qke.254.1641631568444; Sat, 08 Jan 2022 00:46:08 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id e7sm688164qtx.72.2022.01.08.00.46.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:08 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 35/41] gnu: Add node-serialport-parser-regex. Date: Sat, 8 Jan 2022 03:42:23 -0500 Message-Id: <20220108084229.362642-36-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-regex): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 305fdda69c..783befa3fe 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1163,3 +1163,25 @@ (define-public node-serialport-bindings talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) + +(define-public node-serialport-parser-regex + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-regex") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-regex")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a regular expression") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:21 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:21 +0000 Received: from localhost ([127.0.0.1]:46424 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mi-0000xp-Vi for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:21 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:44020) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mh-0000xM-3v for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:19 -0500 Received: by mail-qk1-f177.google.com with SMTP id f138so8477157qke.10 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Sa0YoyPyEQY7c55041E6CWIaSXq7AOjZC62wDnlLhaQ=; b=TmXl5mp4eo/lBtMocFiuscoNge/H6syCWvdGa3a6F/ChlcxCRMhexpzvIQrpxeo68y YNr/UUzVPy9f57cIuB74Qm9FxYov12qx3HPIUchzwxi6hT8HPDjhIh4Mu0VoyJ8Ay5dJ 9qkoeku4u213XeqV2afFV4lv5oeQIQvvIZWTagq8OR+CMmZKE259BZZPgvPC5DJ9Gyyc ZM+eNEzOOHTLzv1zElygU60Ot0bU0sXJs2RP2pJNGVr64/PA+xyFhisQ9LOVWz44Stle LscNZfj6tHLD3ii7//Sg98IEOHo+djyTT1abGJHXF4sV78GbyQhrThAyQYwdsFlNSLdB OdRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Sa0YoyPyEQY7c55041E6CWIaSXq7AOjZC62wDnlLhaQ=; b=nTauVGNML7Msz6W3Vmhld7+k/Se8BNirqtUGs/CuU72VM/rjN8UrbS4YlLxtY7Ac73 O9l6fprLVO8a5oNV2lZViIZHIKbjfG9mioaVeaW2E9b3cvvpIRON58zxCMfuqd3biESD bizainuLJMXjSWNhjWWihypA56ixwXfPFBM8D1tPhbs0Zvbeq14DJvyfhhMbItUmGtVt xl0ZAKX3027i99+bqApKArxYuP8ZMGcna2VmyZDPsshol4Iv/AjvwScf9nYjvWl8/TSH /NG50xo/Dal/FiuKjLHyzybyqQ/U2+itFXyueVTu+SxjhSPWXnpn8eu7JTzzPqjlqdUl mmag== X-Gm-Message-State: AOAM533cASKTAMH5QGs4GSNe8S84lSyhwr51rGOymbGGKXUBnR1YfZ47 d5HrIEVwdfoUESUwp25ztcKd/kK5ONdCJ+UE X-Google-Smtp-Source: ABdhPJzfqWKcuet5I2iepzeRN7OfC8lcgjm5II4G+n35vm4AnCjDH11OObsrYZ/EsJag3rPFFgL+eQ== X-Received: by 2002:a37:aa0b:: with SMTP id t11mr46706906qke.101.1641631572631; Sat, 08 Jan 2022 00:46:12 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id n11sm694969qtk.44.2022.01.08.00.46.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:12 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 36/41] gnu: Add node-serialport-parser-ready. Date: Sat, 8 Jan 2022 03:42:24 -0500 Message-Id: <20220108084229.362642-37-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-ready): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 783befa3fe..3d172e13b8 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1185,3 +1185,26 @@ (define-public node-serialport-parser-regex Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{Regex}, a parser that uses a regular expression to split the incoming text."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-ready") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-ready")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to wait for specified byte sequence") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:23 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:23 +0000 Received: from localhost ([127.0.0.1]:46427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ml-0000y4-7N for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:23 -0500 Received: from mail-qv1-f49.google.com ([209.85.219.49]:45679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mk-0000xc-3F for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:22 -0500 Received: by mail-qv1-f49.google.com with SMTP id a9so7929309qvd.12 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eeklUSEPe0r+7Zm49X/xxPvaQdGpE2Lq3bZmyPu/CJI=; b=BJAW9B0I+CuLvhCPOnA8EwS1XCthYlKem+K3oUbcPKGY1sB9Ks9XR2M/rTXGfa/y4k RvukLYEBvj+z+P3TOzCaabFjA/PHnJGwPvoc3MODKeRKP5GQ3IZVw90e048Y9w7ChSfY 5XDvOr1Xl3CyARcFoygVJKz1rt81Qew4vjMEj7rowKAdWV8Ye+M1kFlFy96D/+y0MiYD v6Xpjpf+toNJueJOsYYs7ilGElmSr8jjrzoo51NPAYBZQzLfsSdHXsBkeb0zcDaDPXpy tTw4MmVZD00DH2ZyCbQiq3je6aziKMdZI1+dDpUG1p8U/NzIDoPmFJ1C1Lb+TfbMZAq8 UEDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eeklUSEPe0r+7Zm49X/xxPvaQdGpE2Lq3bZmyPu/CJI=; b=w8H4314UxLLhRIgoRhzbl6rYFk2FhunpmO6Uqpep50sSObuj1FqhKl954X/1iXcg1Y 1/3eNUbZ5yBmHi/wWBhN4A6of+AYRWE4ZSOYfQzzgeIF7wB9i/BapBSs6p5FwLoMU7co loBt/u/0PXA2PmMT7WIWjG02puL27026X0acGJCV2CEvEYd7q6U3mSrGn7igCuEYkvS4 IEpWtup5NS58C+tRcF+jlsm9i9LZj+w2uEZmCrUdDQPk39noH9lULE5mjN98Hvu7C1qD 6mkAhBEql3wplwsD9+yS6Kqz+LrnyV25BXGF0646xkw4REa3Q15cuS+GeeS1cUM6k0Ex 0q7A== X-Gm-Message-State: AOAM531kpcxWml8OaGK9Axp2z1lvDjpOOm9fUS50YsvtyI71FH6OqcZo SepaFu4nkeMe3skd5ALQYJ7r3S+nu9SFPlaV X-Google-Smtp-Source: ABdhPJy9+QDRAVwhKib7XBazyCbDG7g/zPb3SWACRT61H/Q+XjbapbYN6ZDUIfV1aCXbbF+ghWWbkA== X-Received: by 2002:a05:6214:19cd:: with SMTP id j13mr8095268qvc.88.1641631576666; Sat, 08 Jan 2022 00:46:16 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id f4sm726037qkp.14.2022.01.08.00.46.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:16 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 37/41] gnu: Add node-serialport-parser-inter-byte-timeout. Date: Sat, 8 Jan 2022 03:42:25 -0500 Message-Id: <20220108084229.362642-38-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-inter-byte-timeout): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 3d172e13b8..4384cd7326 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1208,3 +1208,25 @@ (define-public node-serialport-parser-ready messages. This package provides @code{Ready}, a parser that waits for a specified sequence of ``ready'' bytes before emitting a ready event and emitting data events."))) + +(define-public node-serialport-parser-inter-byte-timeout + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-inter-byte-timeout") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-inter-byte-timeout")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to detect pauses in data") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{InterByteTimeout}, a parser that emits +data if there is a pause between packets for the specified amount of time."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:27 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:27 +0000 Received: from localhost ([127.0.0.1]:46430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mp-0000yN-FP for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:27 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:33646) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mo-0000xq-6J for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:26 -0500 Received: by mail-qv1-f45.google.com with SMTP id kk22so7990757qvb.0 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=orEK5zKpyo3pMVOfeUnFBkYzYRUtu3q+G4Dk+IKW984=; b=atDEDmrp6TEqVUKRrF7ZgCSyHR2ggUXtl/rXlco8cWzYtJBG+rKMLQxIjU+MmES6aJ yoCeupvDoJDJMhGSct++mF1aWnJaH3qsGzcSi+IhFpWAxsL9DYSVwTXQ7yfcFJsOtroW pg3tzk4gq5khnDFP0UyC1FpG7Q56Qm4Uft6YbnQGCp0cfYDbQIM6YWQB4QT53jIikiMg 8ctBRdBt3jB8mvnjvs7+EENgLKtHndufXMplRHT/IRNPTEiy9AH6fspnIpvR2DogmEwh Di7smdXg+gKDfqOxp4esTXhbQ1W4Aobhy9B/0onoHQyCiU2oIHXP9V1FjDezwkbunKBj bS1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=orEK5zKpyo3pMVOfeUnFBkYzYRUtu3q+G4Dk+IKW984=; b=aiwVCZWoCB/eGcgNjxf0MHVHGmRuttYmwVVbjq3UNZG1iGSI88wRy9HrZZLH+IEptA wxNEOIxQStWOiezbiXAffhxH9lghaMIhXU09wjANXOG6ZzsvpKgCme8AVFtYFKWdMgIv ZAJwxytyjpSV1p/VE9K29W6t5KxcLHoVHmr+YWJqWpNb5SLXmbOwpFAu8HFYpeG+AxNP Yg9jOii+UtmBlvbRj6Pw22rKvaNQfOyiVPkxlLbKATiSEjrI7otAzkvYe206iaSGB6nf 0ki7K8ndLs5RQ4biMOUNv24hd2qz6ldp1vT8bGSU5hidJGO8olzdHw3A1b95DIE52fwV zMww== X-Gm-Message-State: AOAM533c7hRdjdgSWyCeFHuYPhwW1xgL4RPQ7ebrN7QQOKeva78GS15V 8y5ch6nFVMWCV3q21h9iu5XMPX3o0rHxSAq+ X-Google-Smtp-Source: ABdhPJwxA5i33kHj35T9ma5e4p+TDQgLPMVdWnd7Y45rmaCUyX62dHWtsKndDEwg1J87RuPS//gAgg== X-Received: by 2002:a05:6214:250b:: with SMTP id gf11mr8984588qvb.38.1641631580737; Sat, 08 Jan 2022 00:46:20 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id bs9sm694070qkb.87.2022.01.08.00.46.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:20 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 38/41] gnu: Add node-serialport-parser-cctalk. Date: Sat, 8 Jan 2022 03:42:26 -0500 Message-Id: <20220108084229.362642-39-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-cctalk): New variable. --- gnu/packages/node-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 4384cd7326..c34e86e393 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1230,3 +1230,26 @@ (define-public node-serialport-parser-inter-byte-timeout Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) + +(define-public node-serialport-parser-cctalk + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-cctalk") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-cctalk")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for the ccTalk protocol") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:32 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:32 +0000 Received: from localhost ([127.0.0.1]:46433 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mt-0000yj-NQ for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:31 -0500 Received: from mail-qv1-f45.google.com ([209.85.219.45]:42696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Ms-0000yF-4w for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:30 -0500 Received: by mail-qv1-f45.google.com with SMTP id q4so7943042qvh.9 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6BjUYWk6ZhLGeZtjjFdEIUi7/QvJfIcE9KRmJyHMjdA=; b=gZdlZH/2X+73AjTI3ZIKEi4sv8YO3qh9LLy4mpN5ysRxnNBMGJVhf9t+dyzUBD3V8L G8SSbSMC9YtkINDuJcQY3DNRsNxwPYw6GRxGcZ+zWxTz9vAR8LZkmRT/zXP6TJKccjPT nAUS9ZAViqne1RxySAqOvAg/Lno9nt5OToDDzkTtJCjOK3yp57VoSe9jN7bwTnZTjUpW 8xUm9gLLdBmukXzH/0hQ1ChzaOcJ6CFuHjjxkk803Rvqn+h61HWTfkE2I0D4SLowbWHl 39o66fPifSiOc1JJufNvMR4H7hKlI4kQFjco4v+pg5iVj27T/4bO07qCemZ+Z9qMT7PA BOEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6BjUYWk6ZhLGeZtjjFdEIUi7/QvJfIcE9KRmJyHMjdA=; b=nartfPt/SFI5IE7UwM9vB2Zbge1wPKZuK7ftyzw3DSJMif7IJSQEaDq/oS3Sj2U50V XSwVFNWBUrNP5crsrOqMl9ClASgVS8np54MiC3Gthv2Le1NgpgA838dan1qImr31Ljb4 0XmmIcjdFLF0BUBnLUH4ZgbqzmfQPx/+fNSYTdZlHT1aUstQaT/bD3tN0SEV2WwHotBs Hd2XkkOHycBA5/ADztYqh9GppBiJDwyyjoEuPgYlyY4qQesToNSezX8oOl/gwjDkWWyT JlYdhIznunA/IoqXKFoL7x6LcFJjE/J3nvFHPYB3gY5ZMTeqUsaf1YuDeRs9INTbooJH Tm5g== X-Gm-Message-State: AOAM531coyJVBxbQ31jvIeid+BGknGoVCyXiDsmy4OmCmq3BqH1qPIvV ecPszuGI6MQSbwKou62uyK5BvHkZ6p1dHOE3 X-Google-Smtp-Source: ABdhPJzHt/8nLMURnESdZW5i2hhK9iqNiCxgg0skbN/nItp4wbp5MKPUTMFdp/PXrytk626MciFt8Q== X-Received: by 2002:a05:6214:1cc1:: with SMTP id g1mr48651464qvd.64.1641631584737; Sat, 08 Jan 2022 00:46:24 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id y12sm717312qko.36.2022.01.08.00.46.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:24 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 39/41] gnu: Add node-serialport-parser-byte-length. Date: Sat, 8 Jan 2022 03:42:27 -0500 Message-Id: <20220108084229.362642-40-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-parser-byte-length): New variable. --- gnu/packages/node-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index c34e86e393..e38e2031e0 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1253,3 +1253,25 @@ (define-public node-serialport-parser-cctalk messages. This package provides @code{CCTalk}, which emits packets for the ccTalk protocol (an open standard for currency detectors) as they are received."))) + +(define-public node-serialport-parser-byte-length + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-parser-byte-length") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-byte-length")))) + #:tests? #f)) + (synopsis "Node SerialPort parser for fixed-length buffers") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:36 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:36 +0000 Received: from localhost ([127.0.0.1]:46436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67My-0000z0-0L for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:36 -0500 Received: from mail-qv1-f53.google.com ([209.85.219.53]:37701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67Mw-0000ya-CU for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:34 -0500 Received: by mail-qv1-f53.google.com with SMTP id fo11so7933116qvb.4 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6FbcP3Jhrk4+Q1ro968HHNLshlrvrxF0OnIM+U4qPVw=; b=jBp/B6cogTwMG4SsFJWO0FcnBqcvamhg9L1cm9ayQx1E5onmF40+VuFLht9977b73Q fGLMoXi+8On4QAloMy9EkK/Hsjfd8lbWFNK9WFcZqyKwtJ9sjErA7CEDlFACR5YkirF8 n9DbVqTLXv6t1RYfnCylwr+BQQGMcqth3aw/9nlYutJfP7lnpl/2uVF7ekV8EdB17rBe FtuhWh7trRz2IQaHbvE8lxiTk/NmYr8EyIFvxkkOd6M66GIxQIlGr0sqGCYZIskwiMpG WvcJMAaQTN4aw++D7wjsi0hh4QlCH1Fm2Xpj2G0P2wsXWroiXQa4rIM5kuCeYxrMn5Co Ax3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6FbcP3Jhrk4+Q1ro968HHNLshlrvrxF0OnIM+U4qPVw=; b=Rk9oNwakX51+TY4Mvp7sdRVyTyCQz0Rck9D/fmkVgvdAK8Iw5hU2+9tnoK9lPldwkS JxBJHnAumNLLSydYKnqC7KQDSfc1/IjdHLkCTkmAlYO4TE5wpAna5OauIHTbIN8ra3FS N5eTs8gdwqWH+Jgy0F4zT8l91hQA/t+8JphPiAIstVxh54Y6IX1JiFPgdXGGCkdWq43I seD8os5TM0eUarwpybyJ6YwgB3bLotwXvFcz4ry42/FnQRTH/ECvYpQXghKexZus5u81 NVfJXxSdpQyVMuFf1eVMMQE2ytfXiekEVWGzPx4m/O0H46C3MsuBjoyjee/8GMKcnNaD ctgw== X-Gm-Message-State: AOAM533fhWuRzyoGQ+FNDapzf8yTDxwWfCNa16KJ+0jB+RvJoCpUjQIK DMMjihi4hmLf70cdeX5UYl+w5sLe/73hRXUO X-Google-Smtp-Source: ABdhPJzgWLvSX5FGFMrB0AsW9iwGrgiJ6AW1T4v3IawCbHCpP4FvI1nbwSFWfhId5oA7+8pYBfKZqw== X-Received: by 2002:a05:6214:c2d:: with SMTP id a13mr61027083qvd.28.1641631588928; Sat, 08 Jan 2022 00:46:28 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id q7sm697494qkl.72.2022.01.08.00.46.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:28 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 40/41] gnu: Add node-serialport-stream. Date: Sat, 8 Jan 2022 03:42:28 -0500 Message-Id: <20220108084229.362642-41-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport-stream): New variable. --- gnu/packages/node-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e38e2031e0..9b6457dee5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1275,3 +1275,31 @@ (define-public node-serialport-parser-byte-length Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{ByteLength}, a parser that emits data as a buffer every time a specified number of bytes are received."))) + +(define-public node-serialport-stream + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport-stream") + (version "9.2.4") + (inputs + (list node-debug)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `(;; devDependencies + "@serialport/binding-mock")))) + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/stream")))) + #:tests? #f)) + (synopsis "Node.js stream interface for Node SerialPort") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +This package provides an interface for using Node SerialPort bindings via the +Node.js Stream API. The stream is a duplex stream, allowing for reading and +writing. It has additional methods for managing the SerialPort +connection."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 03:46:40 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 08:46:40 +0000 Received: from localhost ([127.0.0.1]:46439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67N2-0000zG-8S for submit@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:40 -0500 Received: from mail-qv1-f49.google.com ([209.85.219.49]:40649) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n67N0-0000ys-Bj for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 03:46:38 -0500 Received: by mail-qv1-f49.google.com with SMTP id q3so7964984qvc.7 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 00:46:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7FK63y8AM26+X4uFSvmQYlkQJcQmhE/NmHPJgNGV0q4=; b=FylJQ2ULL3FxtYgbH/6os6K3efBtvacytX3UMbNJrm+4ropnHpKNIsLvhLLJCePJQl /bAJxlzZ8futIBlHQBd+4l/mC32inPiKmP0GxSgT75h4fA/kAb8R1on4XokLgvKIXYKm HLLuOhIK82lU67VA3S7VY53KgPSTP8QQhQ+vjvAx0Hd4MDFoymtlXWd+d4yX6LIMr9a0 4IQb/PC0dmtc0sHoW3QTCYOOZNM9+sut/Ldu7X5J3oIpoiP9PqsVcUlnKbalLtTRPYkl PQmr9lj/XNyi5N2ql2y3aaEngonMy8HePwoX/zMSVRe0Rx7k+lNsavHmP3ib/wJOKDb+ 4xug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7FK63y8AM26+X4uFSvmQYlkQJcQmhE/NmHPJgNGV0q4=; b=ae7x8SfJzDfvG8eaUmoWuMM1m2n9cbd7CGeeuXWg44kFEcYPbjGi4rW6DgGHBnjW7F Rsf5hbKCnMqQUEQtHmEIdw2Qluvx5UZQyl45soE/wo8eOTAAsgFtf+EdAD2s6sYcydvu IT22584JzDUBrHl8XfCwRw3SCuhsNw0Sz9pFoI21dEC2+U+YVEFqB/wmQcI7lWTih72v JspX4Y+0xAvko8ERN2mR/sFIoay2VXOPCzCloSK61vXXUGfmkNYaD5WRF9ILdT9TRUyT x5gw/XKEtsWrb14qMFBpKUr1zNwODaVI0mc6wknAFDYBjaYC+VEF41Z1d4JbNXgBSNYR NE4A== X-Gm-Message-State: AOAM531n/qIPELcx3sCyWBPowTSdKiL3nQ0eOsV6o4Nn3smmpU3Wi1nI WJpgosoGF9WvAqodwB66AJWXcnVAJXqMnLy7 X-Google-Smtp-Source: ABdhPJxSQgaoe9Ivpp0oEs6C8Cn08xmFqRbXdOzwMevHl0tsXJgiEnkeod258+2QQ61uzqS0vhyucA== X-Received: by 2002:a05:6214:500f:: with SMTP id jo15mr61067409qvb.59.1641631592923; Sat, 08 Jan 2022 00:46:32 -0800 (PST) Received: from localhost (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with UTF8SMTPSA id ay39sm702127qkb.63.2022.01.08.00.46.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 00:46:32 -0800 (PST) From: Philip McGrath To: 51838@debbugs.gnu.org Subject: [PATCH v9 41/41] gnu: Add node-serialport. Date: Sat, 8 Jan 2022 03:42:29 -0500 Message-Id: <20220108084229.362642-42-philip@philipmcgrath.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Philip McGrath , Pierre Langlois , Liliana Marie Prikler , Leo Famulari , Jelle Licht X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) * gnu/packages/node-xyz.scm (node-serialport): New variable. --- gnu/packages/node-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 9b6457dee5..837856be9d 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1303,3 +1303,36 @@ (define-public node-serialport-stream Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) + +(define-public node-serialport + (package + (inherit node-serialport-binding-abstract) + (name "node-serialport") + (version "9.2.7") + (inputs + (list node-serialport-bindings + node-serialport-parser-delimiter + node-serialport-parser-readline + node-serialport-parser-regex + node-serialport-parser-ready + node-serialport-parser-inter-byte-timeout + node-serialport-parser-cctalk + node-serialport-parser-byte-length + node-serialport-stream + node-debug)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("@serialport/binding-mock")) + )) + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/serialport")))) + #:tests? #f)) + (synopsis "Node.js package to access serial ports") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings."))) -- 2.32.0 From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 06:19:30 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 11:19:30 +0000 Received: from localhost ([127.0.0.1]:46509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n69kw-0007Ta-2s for submit@debbugs.gnu.org; Sat, 08 Jan 2022 06:19:30 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:38728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n69kr-0007TG-0C for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 06:19:28 -0500 Received: by mail-wm1-f66.google.com with SMTP id p1-20020a1c7401000000b00345c2d068bdso6819022wmc.3 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 03:19:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=xU85e/17JFCrfsQXDpJDP7bZq7sAiO7ksy4gdmgSyBw=; b=CgUwCqdRDgn33Vc+cwS0DEA73+P2wZQyXvUGyOMBKRd5GFmqh1WfnSEk9TRmC6mOhL zX9kM1dhcBJFCzJnLBqE767nTJbEsn7Y5Fmz5c/gkIPYkpppj4pABlNJLTu+VLKVWdr/ jBs6/PWkWoehWpUlrnQHrLzOxbP3ZTR2gFbOHvNSWdJicQeEP3w2gcqREaHeEViOEp/8 3uKqkmyyBSCPq3v2FiPrIv70g83G58KDTlAuUYq020E3WeWPNaan2iYpw1YFN71gHwSQ yJuAM8HLs+SisKyYIfiwhl/t3MSQtDivMivG2BxIOHfeTjKhpJuOI6+TjzJxUJK8djiO k8yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=xU85e/17JFCrfsQXDpJDP7bZq7sAiO7ksy4gdmgSyBw=; b=zRy+2TgGGmTvWIIh9necKll+GTFscnnj9HzdRdxv6uLwlsXVLjWMQ7bBpreIaXvXWB U5jJEUY78lkfSBdl9zcuouCJasfi0kvHwqB8n0v+2Pdls7XmDBECgyXE/zoaBYMxc5S8 zYibgrqbr/ALu+Fu1T6uz2dLAaAt/DF5lZyunk5OYhE/wjom7z/KLFTE/QWpfvt+8JXQ AX5rtaECe2jV131CllVkXSCKJUw7hyGTUiIikk2Aq8nwbZQH/1fAbPqsP7ptzsEYYs3c AbI0erF+bLkFNPLj7XV+lD8/FsxuJ53oupg5Cd9BpMC0jIiJE4v+RJRS1b+I80H5ywV3 dY/g== X-Gm-Message-State: AOAM532bYcnOP+vlmfu2WLne1Rtamp5OmGQFVwjgfJVF4EeA+WmDkq29 9wn/v+qtM4XU2TyQMwQDXUI= X-Google-Smtp-Source: ABdhPJw+cxKp7brZ5fnwMiIRGIrSmSyXmCVHnk0MmzxmMLjfX8SOAJ3vxQ+CeFCrbGDRROz+8zoVUg== X-Received: by 2002:a05:600c:1e05:: with SMTP id ay5mr14368853wmb.131.1641640759056; Sat, 08 Jan 2022 03:19:19 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id o1sm1334754wmc.38.2022.01.08.03.19.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jan 2022 03:19:18 -0800 (PST) Message-ID: Subject: Re: [PATCH v9 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath , 51838@debbugs.gnu.org Date: Sat, 08 Jan 2022 12:19:17 +0100 In-Reply-To: <20220108084229.362642-1-philip@philipmcgrath.com> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 08.01.2022 um 03:41 -0500 schrieb Philip McGrath: > Ninth time's the charm? I hope so! > > The only changes from v8 are: > >   - In 03/41, I revised the docstring for 'jsonobject-update*' as > discussed >     in ; Misspelled UPDATES as UPDATERs, but otherwise fine. >   - In 05/41, I changed 'delete-dependencies' to accept strings, > rather than >     regexps, and not to delete "peerDependencies", as discussed in >     ; > >   - In 06/41 through 41/41, I changed the arguments to 'delete- > dependencies' accordingly, where applicable. Fair enough, I can live without regexps for now. > Liliana, I removed your "Signed-off-by" so as not to imply that you'd > seen these changes. I also added you as a co-author to 05/41, which > seemed appropriate. Of course, feel free to adjust as you like. As far as I can see 05/41 carries none of my intellectual property. All I did was adjust it to my changes in 03. I'll look over the changes more closely later and apply them once I've confirmed that that's everything. Cheers From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 10:34:08 2022 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 15:34:08 +0000 Received: from localhost ([127.0.0.1]:48632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6DjM-00055w-C1 for submit@debbugs.gnu.org; Sat, 08 Jan 2022 10:34:08 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:38566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6DjJ-00055M-Ok for 51838@debbugs.gnu.org; Sat, 08 Jan 2022 10:34:06 -0500 Received: by mail-qk1-f175.google.com with SMTP id i187so9273492qkf.5 for <51838@debbugs.gnu.org>; Sat, 08 Jan 2022 07:34:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=uiyyOVl1OqXV7HwdeBZHT4K4M/tGxaoAksQ1gB9aZEw=; b=FZnZzfdXup6ARuk9MDs/e+iebQWn4g0f9nDAmVwJJgLIgdiqs2nOI2ZYK5Lsf1HRU1 Dz19ZVEj7sQCuwJYIxTP8x5EiNreqltRqW4y2nYwn2yeQiGtfHdXEZKABlSQ3rN1x6hD ZsdSIb+celcDp/pr+Y9JF84+PeqxU6BNmbAQW8zzEcqYSzWELX8qwGikDhRtsi8hl9V+ Kizcd9klfNwynBuR67nlxNSscGOxOIu1oQ3/y27/WW90+0IvM10R8sGu4KOvqoDoJPXK aWzmWhSOpEfqh1qf2jF+Rjsapmcw6URusyuddSMuGWr3E4iJHg6sdWsznMH7Pcx8EpcB eJOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=uiyyOVl1OqXV7HwdeBZHT4K4M/tGxaoAksQ1gB9aZEw=; b=M9f8gQR4dkjA2brkIjYfBw18hyc/qclXn0oC3O98DGA4deH9YA67kog2TedjRIbWJN 4xn56acOU3Mufacv0Mb8w+4H8BHtc1RxPwU/Q2xB0aCID2dzlX23LDReBvQEvmQclDNb DJ7VtLzGyZfmmKu+aDmN1aWlvVNHO8nilWYwH/+53Ckf8nIL5Sj+YfzBV7BXYMQHj9Yu nWmSA6iSpwflwENDLJwAQiJjcARLv4yE9DzDCCjzwG6UnrRxmwxVsOIRo/XwAlXp3tu2 RPnLhRYgLDLliVEYNE7RpQbib2otmfiKDU2Q3IM14CRZiJ5RthsGnPGDY/hIM+YWRE6L a1CA== X-Gm-Message-State: AOAM5308TkAx7pXgrOy22c5W9x4dCUBO8OOfDjI+AZDQXhqUQMMBy+F7 hr86pCRcxaYR7tLvpti1KQ0pOQ== X-Google-Smtp-Source: ABdhPJxxzz4Ra3VzXxmIx0vPc/RaIiJ0dORTI6I4Dbn7RCrXZeDoUiYg/F/4WSY8aAXGuPJjwaQGKw== X-Received: by 2002:a05:620a:8c7:: with SMTP id z7mr46263828qkz.772.1641656040257; Sat, 08 Jan 2022 07:34:00 -0800 (PST) Received: from [192.168.45.37] (c-73-125-89-242.hsd1.fl.comcast.net. [73.125.89.242]) by smtp.gmail.com with ESMTPSA id x14sm1164750qko.110.2022.01.08.07.33.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jan 2022 07:33:59 -0800 (PST) Message-ID: Date: Sat, 8 Jan 2022 10:33:58 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v9 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Content-Language: en-US To: Liliana Marie Prikler , 51838@debbugs.gnu.org References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> From: Philip McGrath In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 51838 Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) Hi, On 1/8/22 06:19, Liliana Marie Prikler wrote: > Am Samstag, dem 08.01.2022 um 03:41 -0500 schrieb Philip McGrath: >> Liliana, I removed your "Signed-off-by" so as not to imply that you'd >> seen these changes. I also added you as a co-author to 05/41, which >> seemed appropriate. Of course, feel free to adjust as you like. > As far as I can see 05/41 carries none of my intellectual property. > All I did was adjust it to my changes in 03. My intention was to acknowledge that the basic approach of 'delete-dependencies' was your idea. But, again, whatever you like! -Philip From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 08 20:19:41 2022 Received: (at 51838-done) by debbugs.gnu.org; 9 Jan 2022 01:19:41 +0000 Received: from localhost ([127.0.0.1]:48979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6Ms1-0000Sd-H8 for submit@debbugs.gnu.org; Sat, 08 Jan 2022 20:19:41 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:40571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n6Mrz-0000SM-Nl for 51838-done@debbugs.gnu.org; Sat, 08 Jan 2022 20:19:40 -0500 Received: by mail-wm1-f66.google.com with SMTP id 2-20020a05600c02c200b003470f96e778so4915360wmn.5 for <51838-done@debbugs.gnu.org>; Sat, 08 Jan 2022 17:19:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=9q51HHfgwW3sszISbyLtKPzDtld0JkYkEYo9T0DAteg=; b=OxV8SPHgco7nMGb+03PQA4kXavCkPZCu6pcaGAhN+eUUSN7kTkVnWd5OK50TPGkZ+V vhc08tfGSE82dk2kkHbU/lIYOzfDdYTi1xDDXB47glVUD5d/z6Fo/xn/kTX18WBG5nlt pVgh+JScHn/5kNKiyBtVivsJ3lKtXMoEV4x2mQP98YW4NiWCb0+OxfRjfIfz+3gJCRs2 FmlXnwTUSrFBvVjIuOqXxsd3kD5S814lsWnFFL6SRooS+uPANWAD7U9RpADKm5MG8MoS 5WdWnjoyqD5+sVdEDLAxPmbikjJqf9Tz+nX0gza9X2BP/EnuZXrtqW1Jw/lqHfOpDtRM NqEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=9q51HHfgwW3sszISbyLtKPzDtld0JkYkEYo9T0DAteg=; b=HmGxIvIVPnRuvnJ2jZTuqnbngu2qNCnxV3Nr77fhl/xOGzeFKXsY6pzf/71pKytEDo kGMXULWs8EOoe2+7zEyrpKXUY9SIsCSPg+S1LuYI+abLW59rqwkUKQ20J5zV4yC2a+CG UaTh6QjeFLlu/1S7SGkQk/CrKvOKIiHU9NEBA+Wq6VqAXVCFXTwL+BOAK85KO+sSm88p JPZGN4hxa4e8q7lCSGE6a2ULNWiui+GwxRkqKg67RqdDpLL3ep1GgQBs/MUw6PGbMKTp udJyDTVvFbRb0VvC6kYGHylDaeu9T4y1kZ6ehJ5jp16y71oh4pXJKOLJpaREVou97E7C Z/nw== X-Gm-Message-State: AOAM532wVFXMkGm4VTswU9KoWTGLQYcSf+vyV098IJu0fQMQOb1g7JL8 8IApV3bKdt8vlWDE/YxipZg= X-Google-Smtp-Source: ABdhPJz5uoAptTz8i485rR3F2h8QT+2xTRE0bcxMaDTnAZXpYO93ZOD4mh6HnOvhYzlbZ292MxZZcA== X-Received: by 2002:a05:600c:3554:: with SMTP id i20mr16727205wmq.40.1641691173846; Sat, 08 Jan 2022 17:19:33 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id o5sm2739924wmc.39.2022.01.08.17.19.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Jan 2022 17:19:33 -0800 (PST) Message-ID: <92d499642b68db88a913c407e95a2374e208c517.camel@gmail.com> Subject: Re: [PATCH v9 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. From: Liliana Marie Prikler To: Philip McGrath , 51838-done@debbugs.gnu.org Date: Sun, 09 Jan 2022 02:19:30 +0100 In-Reply-To: References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <7b04af28bbd57c67093ce8f33a648efec89693bd.camel@gmail.com> <441bfeb0-eb6e-81f6-488b-cdf1b09a78ef@philipmcgrath.com> <20220108084229.362642-1-philip@philipmcgrath.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 51838-done Cc: Timothy Sample , Pierre Langlois , Jelle Licht , Leo Famulari X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Am Samstag, dem 08.01.2022 um 10:33 -0500 schrieb Philip McGrath: > My intention was to acknowledge that the basic approach of > 'delete-dependencies' was your idea. But, again, whatever you like! That hardly counts as intellectual property in my opinion, it's not like I revolutionized anything in the scope of Guix. The new node-build-system is live now, so you can rewrite JSON and delete dependencies as much as you want on master. Please allow for other users to actually make use of it before writing up your next proposal. We'll only be able to see our shortcomings by having a large number of people try it in the real world. Thanks and good night :) From unknown Tue Aug 19 23:13:52 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 06 Feb 2022 12:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator