Subject: [PATCH] gnu: Add node-once.
From: Ron Nazarov <[email-masked]>
To: [email-masked]
Cc: Ron Nazarov <[email-masked]>
Date: Fri, 9 Apr 2021 22:34:43 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/node-xyz.scm (node-once): 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 f401380310..a56190da9e 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -298,3 +298,30 @@ function with browser support.")
     (synopsis "Callback wrapping utility")
     (description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
     (license license:isc)))
+
+(define-public node-once
+  (package
+    (name "node-once")
+    (version "1.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/isaacs/once")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav"))))
+    (build-system node-build-system)
+    (arguments
+     '(#:tests? #f ; FIXME: Tests depend on node-tap
+       #:phases
+       (modify-phases %standard-phases
+         ;; Fails due to tap being missing
+         (delete 'configure))))
+    (inputs
+     `(("node-wrappy" ,node-wrappy)))
+    (home-page "https://github.com/isaacs/once")
+    (synopsis "Node.js module to only run a function once")
+    (description "@code{once} is a Node.js module to only run a function once.")
+    (license license:isc)))
-- 
2.30.2