From patchwork Sun Sep 24 12:50:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 54260 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4065027BBE2; Sun, 24 Sep 2023 13:53:02 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id CDA1A27BBE9 for ; Sun, 24 Sep 2023 13:52:58 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkOai-0006ef-Pj; Sun, 24 Sep 2023 08:52:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkOab-0006ZL-G2 for guix-patches@gnu.org; Sun, 24 Sep 2023 08:51:57 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkOab-0003Xu-75 for guix-patches@gnu.org; Sun, 24 Sep 2023 08:51:57 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qkOam-0003Dg-Uc for guix-patches@gnu.org; Sun, 24 Sep 2023 08:52:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66180] [PATCH 17/19] gnu: node-serialport packages: Move packages in alphabetical order. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 24 Sep 2023 12:52:08 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66180 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66180@debbugs.gnu.org Cc: ngraves@ngraves.fr Received: via spool by 66180-submit@debbugs.gnu.org id=B66180.169555991912227 (code B ref 66180); Sun, 24 Sep 2023 12:52:08 +0000 Received: (at 66180) by debbugs.gnu.org; 24 Sep 2023 12:51:59 +0000 Received: from localhost ([127.0.0.1]:41310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkOac-0003B1-9w for submit@debbugs.gnu.org; Sun, 24 Sep 2023 08:51:59 -0400 Received: from 9.mo575.mail-out.ovh.net ([46.105.78.111]:43501) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkOaD-000396-KI for 66180@debbugs.gnu.org; Sun, 24 Sep 2023 08:51:35 -0400 Received: from director4.ghost.mail-out.ovh.net (unknown [10.109.138.64]) by mo575.mail-out.ovh.net (Postfix) with ESMTP id A856D24B0F for <66180@debbugs.gnu.org>; Sun, 24 Sep 2023 12:51:20 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-v6knm (unknown [10.110.115.40]) by director4.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5EF521FE49; Sun, 24 Sep 2023 12:51:20 +0000 (UTC) Received: from ngraves.fr ([37.59.142.108]) by ghost-submission-6684bf9d7b-v6knm with ESMTPSA id y4gtFsgwEGXJgQYAVcaDmw (envelope-from ); Sun, 24 Sep 2023 12:51:20 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-108S0023664bfb5-d9e7-4456-93a9-bb343440ae54, 37298845F4A107D180274B7401D593E91573BF7B) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Sun, 24 Sep 2023 14:50:43 +0200 Message-ID: <532437f62e548076aae3cb2e4795f62a3ddb55f0.1695559845.git.ngraves@ngraves.fr> X-Mailer: git-send-email 2.41.0 In-Reply-To: <28369246c2163cab7579f033071c85fbc6d0768b.1695559845.git.ngraves@ngraves.fr> References: <28369246c2163cab7579f033071c85fbc6d0768b.1695559845.git.ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 3515059509474419426 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrudelvddgheejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvdevteevuedvhedvgfelhfeuiedufedugffhgedvteekudejvdfggeetkefgtddunecuffhomhgrihhnpehgihhthhhusgdrtghomhdpshgvmhhvvghrrdhorhhgnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrddutdeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeiiedukedtseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeehpdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/node-xyz.scm (node-serialport packages): Move packages in alphabetical order. --- gnu/packages/node-xyz.scm | 588 +++++++++++++++++++------------------- 1 file changed, 294 insertions(+), 294 deletions(-) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index e3542adf77..21956ef5da 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -996,300 +996,6 @@ (define-public node-segfault-handler both @file{stderr} and to a timestamped file.") (license license:bsd-3))) -(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 "Node.js bindings for SQLite3") - (description - "@code{node-sqlite3} provides a set of a Node.js bindings for interacting -with SQLite3 databases.") - (license license:bsd-3))) - -(define-public node-stack-trace - ;; There have been improvements since the last release. - (let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf") - (revision "1")) - (package - (name "node-stack-trace") - (version (git-version "0.0.10" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/felixge/node-stack-trace") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1pk19wcpy8i95z5jr77fybd57qj7xmzmniap4dy47vjlmpkqia4i")))) - (build-system node-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'skip-intentionally-failing-test - (lambda _ - (substitute* "test/run.js" - (("far.include") "far.exclude(/test-parse.js/)\nfar.include")) - #t))))) - (native-inputs - (list node-far node-long-stack-traces)) - (home-page "https://github.com/felixge/node-stack-trace") - (synopsis "Get v8 stack traces as an array of CallSite objects") - (description "Get v8 stack traces as an array of CallSite objects.") - (license license:expat)))) - -(define-public node-statsd-parser - (package - (name "node-statsd-parser") - (version "0.0.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dscape/statsd-parser") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "049rnczsd6pv6bk282q4w72bhqc5cs562djgr7yncy7lk0wzq5j3")))) - (build-system node-build-system) - (arguments '(#:tests? #f)) ; No tests. - (home-page "https://github.com/dscape/statsd-parser") - (synopsis "Streaming parser for the statsd protocol") - (description "This package provides a streaming parser for the statsd -protocol used in @code{node-lynx}.") - (license license:asl2.0))) - -(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 "Decode buffers while preserving multi-byte sequences") - (description "This package provides a user-land implementation of -Node-core's @code{string_decoder}, which serves to decode buffers to -strings so that the decoded string does not contain incomplete multibyte -sequences.") - (license license:expat))) - -(define-public node-semver - (package - (name "node-semver") - (version "7.2.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/npm/node-semver") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) - (build-system node-build-system) - (arguments - '(#: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/npm/node-semver") - (synopsis "Parses semantic versions strings") - (description - "@code{node-semver} is a JavaScript implementation of the -@uref{https://semver.org/, SemVer.org} specification.") - (license license:isc))) - -(define-public node-util-deprecate - (package - (name "node-util-deprecate") - (version "1.0.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/TooTallNate/util-deprecate") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1rk94nl3qc7znsk8400bnga30v0m7j2mmvz9ldwjinxv1d3n11xc")))) - (build-system node-build-system) - (arguments '(#:tests? #f)) ; No test suite. - (home-page "https://github.com/TooTallNate/util-deprecate") - (synopsis "Node.js `util.deprecate()` function with browser support") - (description "This package provides the Node.js @code{util.deprecate()} -function with browser support.") - (license license:expat))) - -(define-public node-wrappy - (package - (name "node-wrappy") - (version "1.0.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/npm/wrappy") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ymlc61cja6v5438vwb04gq8wg2b784lj39zf0g4i36fvgcw9783")))) - (build-system node-build-system) - (arguments - '(#:tests? #f ; FIXME: Tests depend on node-tap - #:phases - (modify-phases %standard-phases - (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.") - (license license:isc))) - (define-public node-serialport-binding-abstract (package (name "node-serialport-binding-abstract") @@ -1598,6 +1304,300 @@ (define-public node-serialport projects. It combines a high-level Node.js stream interface with a useful default set of parsers and bindings."))) +(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 "Node.js bindings for SQLite3") + (description + "@code{node-sqlite3} provides a set of a Node.js bindings for interacting +with SQLite3 databases.") + (license license:bsd-3))) + +(define-public node-stack-trace + ;; There have been improvements since the last release. + (let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf") + (revision "1")) + (package + (name "node-stack-trace") + (version (git-version "0.0.10" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/felixge/node-stack-trace") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pk19wcpy8i95z5jr77fybd57qj7xmzmniap4dy47vjlmpkqia4i")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'skip-intentionally-failing-test + (lambda _ + (substitute* "test/run.js" + (("far.include") "far.exclude(/test-parse.js/)\nfar.include")) + #t))))) + (native-inputs + (list node-far node-long-stack-traces)) + (home-page "https://github.com/felixge/node-stack-trace") + (synopsis "Get v8 stack traces as an array of CallSite objects") + (description "Get v8 stack traces as an array of CallSite objects.") + (license license:expat)))) + +(define-public node-statsd-parser + (package + (name "node-statsd-parser") + (version "0.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dscape/statsd-parser") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "049rnczsd6pv6bk282q4w72bhqc5cs562djgr7yncy7lk0wzq5j3")))) + (build-system node-build-system) + (arguments '(#:tests? #f)) ; No tests. + (home-page "https://github.com/dscape/statsd-parser") + (synopsis "Streaming parser for the statsd protocol") + (description "This package provides a streaming parser for the statsd +protocol used in @code{node-lynx}.") + (license license:asl2.0))) + +(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 "Decode buffers while preserving multi-byte sequences") + (description "This package provides a user-land implementation of +Node-core's @code{string_decoder}, which serves to decode buffers to +strings so that the decoded string does not contain incomplete multibyte +sequences.") + (license license:expat))) + +(define-public node-semver + (package + (name "node-semver") + (version "7.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/npm/node-semver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) + (build-system node-build-system) + (arguments + '(#: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/npm/node-semver") + (synopsis "Parses semantic versions strings") + (description + "@code{node-semver} is a JavaScript implementation of the +@uref{https://semver.org/, SemVer.org} specification.") + (license license:isc))) + +(define-public node-util-deprecate + (package + (name "node-util-deprecate") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TooTallNate/util-deprecate") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rk94nl3qc7znsk8400bnga30v0m7j2mmvz9ldwjinxv1d3n11xc")))) + (build-system node-build-system) + (arguments '(#:tests? #f)) ; No test suite. + (home-page "https://github.com/TooTallNate/util-deprecate") + (synopsis "Node.js `util.deprecate()` function with browser support") + (description "This package provides the Node.js @code{util.deprecate()} +function with browser support.") + (license license:expat))) + +(define-public node-wrappy + (package + (name "node-wrappy") + (version "1.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/npm/wrappy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ymlc61cja6v5438vwb04gq8wg2b784lj39zf0g4i36fvgcw9783")))) + (build-system node-build-system) + (arguments + '(#:tests? #f ; FIXME: Tests depend on node-tap + #:phases + (modify-phases %standard-phases + (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.") + (license license:isc))) + (define-public node-yazl (package (name "node-yazl")