[PATCH 00/19] Sort packages in node-xyz.scm

  • Done
  • quality assurance status badge
Details
2 participants
  • Nicolas Graves
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote on 24 Sep 2023 14:47
(address . guix-patches@gnu.org)(address . ngraves@ngraves.fr)
cover.1695559497.git.ngraves@ngraves.fr
This patch series roughly sorts the whole node-xyz.scm file, and adds
a reminder header to add packages in the alphabetical order.

Nicolas Graves (19):
gnu: node-bindings: Move package in alphabetical order.
gnu: node-util-deprecate: Move package in alphabetical order.
gnu: node-once: Move package in alphabetical order.
gnu: node-ieee754: Move package in alphabetical order.
gnu: node-inherits: Move package in alphabetical order.
gnu: node-safe-buffer: Move package in alphabetical order.
gnu: node-string-decoder: Move package in alphabetical order.
gnu: node-readable-stream: Move package in alphabetical order.
gnu: node-irc and node-irc-colors: Move in alphabetical order.
gnu: node-nan: Move package in alphabetical order.
gnu: node-addon-api: Move package in alphabetical order.
gnu: node-sqlite3: Move package in alphabetical order.
gnu: node-file-uri-to-path: Move package in alphabetical order.
gnu: node-segfault-handler: Move package in alphabetical order.
gnu: node-ms: Move package in alphabetical order.
gnu: node-debug: Move package in alphabetical order.
gnu: node-serialport packages: Move packages in alphabetical order.
gnu: node-semver: Move package in alphabetical order.
gnu: packages: node-xyz: Add alphatical order header.

gnu/packages/node-xyz.scm | 1480 +++++++++++++++++++------------------
1 file changed, 742 insertions(+), 738 deletions(-)


base-commit: 792a20ab93cf88feae119296b0d2db58dccf3732
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 02/19] gnu: node-util-deprecate: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
adf4d15835d17a93775063238e49a2782430a88e.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-util-deprecate): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 44 +++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 22 deletions(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index b685c7d597..e3c002a1a9 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -547,28 +547,6 @@ (define-public node-statsd-parser
protocol used in @code{node-lynx}.")
(license license:asl2.0)))
-(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-semver
(package
(name "node-semver")
@@ -598,6 +576,28 @@ (define-public node-semver
@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")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 01/19] gnu: node-bindings: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
28369246c2163cab7579f033071c85fbc6d0768b.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-bindings): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 50 +++++++++++++++++++--------------------
1 file changed, 25 insertions(+), 25 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 6c16417309..b685c7d597 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -107,6 +107,31 @@ (define-public node-acorn
architecture supporting plugins.")
(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 "Locate native addons")
+ (description "This package provides a helper module to locate native
+addons in a wide array of potential locations.")
+ (license license:expat)))
+
(define-public node-buffer-crc32
(package
(name "node-buffer-crc32")
@@ -1161,31 +1186,6 @@ (define-public node-file-uri-to-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 "Locate native addons")
- (description "This package provides a helper module to locate native
-addons in a wide array of potential locations.")
- (license license:expat)))
-
(define-public node-segfault-handler
(package
(name "node-segfault-handler")

base-commit: 792a20ab93cf88feae119296b0d2db58dccf3732
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 04/19] gnu: node-ieee754: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
741aa2c07b6160b8f2c9c396014f9b9f14aeb3e9.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-ieee754): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 52 +++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 22bf16437a..61bae983f8 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -301,6 +301,32 @@ (define-public node-global-gradle-clean
clean task of each project.")
(license license:expat)))
+(define-public node-ieee754
+ (package
+ (name "node-ieee754")
+ (version "1.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/feross/ieee754")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "19rlg59lavnwsvbblhvrqwinz2wzqlxhddqpwrc3cyqkscjgza7i"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'patch-dependencies 'delete-dependencies
+ (lambda _
+ (delete-dependencies '("airtap" "standard" "tape")))))))
+ (home-page "https://github.com/feross/ieee754")
+ (synopsis "Read/write IEEE754 floating point numbers in Javascript")
+ (description "This package can read and write IEEE754 floating point
+numbers from/to a Buffer or array-like object in Javascript.")
+ (license license:bsd-3)))
+
(define-public node-long-stack-traces
(package
(name "node-long-stack-traces")
@@ -656,32 +682,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(define-public node-ieee754
- (package
- (name "node-ieee754")
- (version "1.2.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/feross/ieee754")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "19rlg59lavnwsvbblhvrqwinz2wzqlxhddqpwrc3cyqkscjgza7i"))))
- (build-system node-build-system)
- (arguments
- '(#:tests? #f
- #:phases (modify-phases %standard-phases
- (add-after 'patch-dependencies 'delete-dependencies
- (lambda _
- (delete-dependencies '("airtap" "standard" "tape")))))))
- (home-page "https://github.com/feross/ieee754")
- (synopsis "Read/write IEEE754 floating point numbers in Javascript")
- (description "This package can read and write IEEE754 floating point
-numbers from/to a Buffer or array-like object in Javascript.")
- (license license:bsd-3)))
-
(define-public node-inherits
(package
(name "node-inherits")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 05/19] gnu: node-inherits: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
10eb8382afd423d2929fce414e176d7052de8bc1.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-inherits): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 60 +++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 30 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 61bae983f8..4ec1174f57 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -327,6 +327,36 @@ (define-public node-ieee754
numbers from/to a Buffer or array-like object in Javascript.")
(license license:bsd-3)))
+(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 object inheritance")
+ (description "This package provides an alternative implementation of
+Node's @code{inherits} constructor that can be used in browsers, while
+defaulting to Node's implementation otherwise.")
+ (license license:isc)))
+
(define-public node-long-stack-traces
(package
(name "node-long-stack-traces")
@@ -682,36 +712,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(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 object inheritance")
- (description "This package provides an alternative implementation of
-Node's @code{inherits} constructor that can be used in browsers, while
-defaulting to Node's implementation otherwise.")
- (license license:isc)))
-
(define-public node-safe-buffer
(package
(name "node-safe-buffer")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 03/19] gnu: node-once: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
dfd16ecf5c8f4be2dbd1b4869f3c7738cc83fb09.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-once): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 64 +++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 32 deletions(-)

Toggle diff (84 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index e3c002a1a9..22bf16437a 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -372,6 +372,38 @@ (define-public node-minimist
Javascript.")
(license license:expat)))
+(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
+ '(#:phases
+ (modify-phases %standard-phases
+ (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")
+ (synopsis "Node.js module to call a function only once")
+ (description
+ "@code{once} is a Node.js module to call a function exactly one time.
+Subsequent calls will either return the cached previous value or throw an error
+if desired.")
+ (license license:isc)))
+
(define-public node-oop
;; No releases, last commit was February 2013.
(let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
@@ -624,38 +656,6 @@ (define-public node-wrappy
(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
- '(#:phases
- (modify-phases %standard-phases
- (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")
- (synopsis "Node.js module to call a function only once")
- (description
- "@code{once} is a Node.js module to call a function exactly one time.
-Subsequent calls will either return the cached previous value or throw an error
-if desired.")
- (license license:isc)))
-
(define-public node-ieee754
(package
(name "node-ieee754")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 06/19] gnu: node-safe-buffer: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
39fd44131b2c53b204f5d042c542caccf2de9e32.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-safe-buffer): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 4ec1174f57..cd4794aed6 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -580,6 +580,35 @@ (define-public node-resolve-protobuf-schema
resolve all imports.")
(license license:expat)))
+(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 "Buffer creation with explicit semantics")
+ (description "This package provides a drop-in replacement for Node.js
+@code{Buffer} API, which provides newer, explicit constructors (such as
+@code{Buffer.alloc(SIZE)}) in older versions.")
+ (license license:expat)))
+
(define-public node-stack-trace
;; There have been improvements since the last release.
(let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
@@ -712,35 +741,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(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 "Buffer creation with explicit semantics")
- (description "This package provides a drop-in replacement for Node.js
-@code{Buffer} API, which provides newer, explicit constructors (such as
-@code{Buffer.alloc(SIZE)}) in older versions.")
- (license license:expat)))
-
(define-public node-string-decoder
(package
(name "node-string-decoder")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 07/19] gnu: node-string-decoder: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
de89e6af8e98d55d1f463a30a789dcef48f24a51.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-string-decoder): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 66 +++++++++++++++++++--------------------
1 file changed, 33 insertions(+), 33 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index cd4794aed6..67aeb71f15 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -664,6 +664,39 @@ (define-public node-statsd-parser
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")
@@ -741,39 +774,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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-readable-stream
(package
(name "node-readable-stream")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 08/19] gnu: node-readable-stream: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
0bc25c4dc6dc0b786675791ae104978d2c49efe2.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-readable-stream): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 98 +++++++++++++++++++--------------------
1 file changed, 49 insertions(+), 49 deletions(-)

Toggle diff (118 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 67aeb71f15..28f9f1f6a7 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -552,6 +552,55 @@ (define-public node-protocol-buffers-schema
written in Javascript.")
(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
+ "@code{readable-stream} provides an implementation of Node.js core streams
+that behaves the same across different versions.")
+ (license license:expat)))
+
(define-public node-resolve-protobuf-schema
(package
(name "node-resolve-protobuf-schema")
@@ -774,55 +823,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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
- "@code{readable-stream} provides an implementation of Node.js core streams
-that behaves the same across different versions.")
- (license license:expat)))
-
(define-public node-irc-colors
(package
(name "node-irc-colors")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 10/19] gnu: node-nan: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
ac363e1a25789ac33142ef1ea07fb257b0d91daa.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-nan): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 78 +++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 39 deletions(-)

Toggle diff (98 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index d9cfd110a4..dc7502d76a 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -487,6 +487,45 @@ (define-public node-minimist
Javascript.")
(license license:expat)))
+(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 macros and utilities for making add-on development for Node.js
+easier across versions. The goal is to provide all logic necessary to develop
+native Node.js addons without having to inspect @code{NODE_MODULE_VERSION}.")
+ (license license:expat)))
+
(define-public node-once
(package
(name "node-once")
@@ -882,45 +921,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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 macros and utilities for making add-on development for Node.js
-easier across versions. The goal is to provide all logic necessary to develop
-native Node.js addons without having to inspect @code{NODE_MODULE_VERSION}.")
- (license license:expat)))
-
(define-public node-addon-api
(package
(name "node-addon-api")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 11/19] gnu: node-addon-api: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
abfc4223a068ccd162cb28d78bfdb427e673a02b.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-addon-api): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 164 +++++++++++++++++++-------------------
1 file changed, 82 insertions(+), 82 deletions(-)

Toggle diff (184 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index dc7502d76a..0ef691e0e6 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -107,6 +107,88 @@ (define-public node-acorn
architecture supporting plugins.")
(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 <uv.h>}) are not
+ABI-stable across Node.js major versions.")
+ (license license:expat)))
+
(define-public node-bindings
(package
(name "node-bindings")
@@ -921,88 +1003,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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 <uv.h>}) are not
-ABI-stable across Node.js major versions.")
- (license license:expat)))
-
(define-public node-sqlite3
(package
(name "node-sqlite3")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 12/19] gnu: node-sqlite3: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
b360aa150043ff8490f2bb43ff44a43a37caef60.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-sqlite3): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 258 +++++++++++++++++++-------------------
1 file changed, 129 insertions(+), 129 deletions(-)

Toggle diff (278 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 0ef691e0e6..cefc826c8d 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -838,6 +838,135 @@ (define-public node-safe-buffer
@code{Buffer.alloc(SIZE)}) in older 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 "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")
@@ -1003,135 +1132,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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-file-uri-to-path
(package
(name "node-file-uri-to-path")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 13/19] gnu: node-file-uri-to-path: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
a00f194f5e5d72d07538262c77995eee962b42e7.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-file-uri-to-path): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 108 +++++++++++++++++++-------------------
1 file changed, 54 insertions(+), 54 deletions(-)

Toggle diff (128 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index cefc826c8d..0924788bee 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -359,6 +359,60 @@ (define-public node-far
codes.")
(license license:expat)))
+(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)))
+
(define-public node-global-gradle-clean
(package
(name "node-global-gradle-clean")
@@ -1132,60 +1186,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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)))
-
(define-public node-segfault-handler
(package
(name "node-segfault-handler")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 15/19] gnu: node-ms: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
c8f608f8cdf764e6e36e72d663e62aa178f5d3c7.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-ms): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 66 +++++++++++++++++++--------------------
1 file changed, 33 insertions(+), 33 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index f4dc03ea6b..a82ecd581a 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -623,6 +623,39 @@ (define-public node-minimist
Javascript.")
(license license:expat)))
+(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 "Convert time to milliseconds")
+ (description "Use this package to easily convert various time formats to
+milliseconds. A number supplied as integer or string is returned as-is, while
+a string consisting of a number and a time unit is converted to milliseconds.")
+ (license license:expat)))
+
(define-public node-nan
(package
(name "node-nan")
@@ -1215,39 +1248,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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 "Convert time to milliseconds")
- (description "Use this package to easily convert various time formats to
-milliseconds. A number supplied as integer or string is returned as-is, while
-a string consisting of a number and a time unit is converted to milliseconds.")
- (license license:expat)))
-
(define-public node-debug
(package
(name "node-debug")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 09/19] gnu: node-irc and node-irc-colors: Move in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
cdcf72b8a6e2d3d460b235b586e792311cecd3ee.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-irc and node-irc-colors): Move packages in alphabetical order.
---
gnu/packages/node-xyz.scm | 118 +++++++++++++++++++-------------------
1 file changed, 59 insertions(+), 59 deletions(-)

Toggle diff (138 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 28f9f1f6a7..d9cfd110a4 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -357,6 +357,65 @@ (define-public node-inherits
defaulting to Node's implementation otherwise.")
(license license:isc)))
+(define-public node-irc-colors
+ (package
+ (name "node-irc-colors")
+ (version "1.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fent/irc-colors.js")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (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
+allows you to easily use colored output and formatting in IRC bots.
+It contains functions for colours as well as more complex formatting
+such as rainbows.")
+ (license license:expat)))
+
+(define-public node-irc
+ (package
+ (name "node-irc")
+ (version "0.5.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/martynsmith/node-irc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (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")
+ (synopsis "IRC client library for Node.js")
+ (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-long-stack-traces
(package
(name "node-long-stack-traces")
@@ -823,65 +882,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(define-public node-irc-colors
- (package
- (name "node-irc-colors")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/fent/irc-colors.js")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli"))))
- (build-system node-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (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
-allows you to easily use colored output and formatting in IRC bots.
-It contains functions for colours as well as more complex formatting
-such as rainbows.")
- (license license:expat)))
-
-(define-public node-irc
- (package
- (name "node-irc")
- (version "0.5.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/martynsmith/node-irc")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x"))))
- (build-system node-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (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")
- (synopsis "IRC client library for Node.js")
- (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")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 14/19] gnu: node-segfault-handler: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
6adad3f337d467324705143f41bcab58acbdc99c.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-segfault-handler): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 0924788bee..f4dc03ea6b 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -892,6 +892,35 @@ (define-public node-safe-buffer
@code{Buffer.alloc(SIZE)}) in older versions.")
(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 @file{stderr} and to a timestamped file.")
+ (license license:bsd-3)))
+
(define-public node-sqlite3
(package
(name "node-sqlite3")
@@ -1186,35 +1215,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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 @file{stderr} and to a timestamped file.")
- (license license:bsd-3)))
-
(define-public node-ms
(package
(name "node-ms")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 16/19] gnu: node-debug: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
17c486b4fac2c340f43532dc602424022ddd5669.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-debug): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 84 +++++++++++++++++++--------------------
1 file changed, 42 insertions(+), 42 deletions(-)

Toggle diff (104 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index a82ecd581a..e3542adf77 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -305,6 +305,48 @@ (define-public node-crx3
64.0.3242 and above and all other browsers supporting the file format and API.")
(license license:bsd-3)))
+(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 "Debugging utility for Node.js")
+ (description "The @code{debug} module exposes a function, which if called
+with a module name as argument provides a function that writes debug output to
+@code{console.error} under that module name. This output can be controlled in
+a more fine-grained manner by binding the @env{DEBUG} variable.")
+ (license license:expat)))
+
(define-public node-env-variable
(package
(name "node-env-variable")
@@ -1248,48 +1290,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(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 "Debugging utility for Node.js")
- (description "The @code{debug} module exposes a function, which if called
-with a module name as argument provides a function that writes debug output to
-@code{console.error} under that module name. This output can be controlled in
-a more fine-grained manner by binding the @env{DEBUG} variable.")
- (license license:expat)))
-
(define-public node-serialport-binding-abstract
(package
(name "node-serialport-binding-abstract")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 17/19] gnu: node-serialport packages: Move packages in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
532437f62e548076aae3cb2e4795f62a3ddb55f0.1695559845.git.ngraves@ngraves.fr
* 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(-)

Toggle diff (431 lines)
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))
+
This message was truncated. Download the full message here.
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 18/19] gnu: node-semver: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
f019edb44f23fb9bb4d199b6ebe561f95a846b55.1695559845.git.ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-semver): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 21956ef5da..d81d6b8eff 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -996,6 +996,35 @@ (define-public node-segfault-handler
both @file{stderr} and to a timestamped file.")
(license license:bsd-3)))
+(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-serialport-binding-abstract
(package
(name "node-serialport-binding-abstract")
@@ -1521,35 +1550,6 @@ (define-public node-string-decoder
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")
--
2.41.0
N
N
Nicolas Graves wrote on 24 Sep 2023 14:50
[PATCH 19/19] gnu: packages: node-xyz: Add alphatical order header.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
6d2adc735be3a11764c037bf0fd6b1beb869807e.1695559845.git.ngraves@ngraves.fr
* (gnu/packages/node-xyz): Add alphabetical order header.
---
gnu/packages/node-xyz.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (17 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index d81d6b8eff..bfa092a5c1 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -33,6 +33,10 @@ (define-module (gnu packages node-xyz)
#:use-module (guix git-download)
#:use-module (guix build-system node))
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+
(define-public node-acorn
(package
(name "node-acorn")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 01/20] gnu: node-bindings: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-1-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-bindings): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 50 +++++++++++++++++++--------------------
1 file changed, 25 insertions(+), 25 deletions(-)

Toggle diff (70 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index a47c525d14..bb10c885c8 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -107,6 +107,31 @@ (define-public node-acorn
architecture supporting plugins.")
(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 "Locate native addons")
+ (description "This package provides a helper module to locate native
+addons in a wide array of potential locations.")
+ (license license:expat)))
+
(define-public node-buffer-crc32
(package
(name "node-buffer-crc32")
@@ -1258,31 +1283,6 @@ (define-public node-file-uri-to-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 "Locate native addons")
- (description "This package provides a helper module to locate native
-addons in a wide array of potential locations.")
- (license license:expat)))
-
(define-public node-segfault-handler
(package
(name "node-segfault-handler")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 02/20] gnu: node-util-deprecate: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-2-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-util-deprecate): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 44 +++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 22 deletions(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index bb10c885c8..7fbeac5516 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -618,28 +618,6 @@ (define-public node-statsd-parser
protocol used in @code{node-lynx}.")
(license license:asl2.0)))
-(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-semver
(package
(name "node-semver")
@@ -669,6 +647,28 @@ (define-public node-semver
@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")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 03/20] gnu: node-once: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-3-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-once): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 64 +++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 32 deletions(-)

Toggle diff (84 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 7fbeac5516..10e065f1da 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -401,6 +401,38 @@ (define-public node-normalize-path
slashes, unless disabled.")
(license license:expat)))
+(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
+ '(#:phases
+ (modify-phases %standard-phases
+ (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")
+ (synopsis "Node.js module to call a function only once")
+ (description
+ "@code{once} is a Node.js module to call a function exactly one time.
+Subsequent calls will either return the cached previous value or throw an error
+if desired.")
+ (license license:isc)))
+
(define-public node-oop
;; No releases, last commit was February 2013.
(let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
@@ -695,38 +727,6 @@ (define-public node-wrappy
(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
- '(#:phases
- (modify-phases %standard-phases
- (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")
- (synopsis "Node.js module to call a function only once")
- (description
- "@code{once} is a Node.js module to call a function exactly one time.
-Subsequent calls will either return the cached previous value or throw an error
-if desired.")
- (license license:isc)))
-
(define-public node-path-key
(package
(name "node-path-key")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 04/20] gnu: node-ieee754: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-4-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-ieee754): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 52 +++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 10e065f1da..699e35b96f 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -301,6 +301,32 @@ (define-public node-global-gradle-clean
clean task of each project.")
(license license:expat)))
+(define-public node-ieee754
+ (package
+ (name "node-ieee754")
+ (version "1.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/feross/ieee754")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "19rlg59lavnwsvbblhvrqwinz2wzqlxhddqpwrc3cyqkscjgza7i"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'patch-dependencies 'delete-dependencies
+ (lambda _
+ (delete-dependencies '("airtap" "standard" "tape")))))))
+ (home-page "https://github.com/feross/ieee754")
+ (synopsis "Read/write IEEE754 floating point numbers in Javascript")
+ (description "This package can read and write IEEE754 floating point
+numbers from/to a Buffer or array-like object in Javascript.")
+ (license license:bsd-3)))
+
(define-public node-long-stack-traces
(package
(name "node-long-stack-traces")
@@ -753,32 +779,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(define-public node-ieee754
- (package
- (name "node-ieee754")
- (version "1.2.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/feross/ieee754")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "19rlg59lavnwsvbblhvrqwinz2wzqlxhddqpwrc3cyqkscjgza7i"))))
- (build-system node-build-system)
- (arguments
- '(#:tests? #f
- #:phases (modify-phases %standard-phases
- (add-after 'patch-dependencies 'delete-dependencies
- (lambda _
- (delete-dependencies '("airtap" "standard" "tape")))))))
- (home-page "https://github.com/feross/ieee754")
- (synopsis "Read/write IEEE754 floating point numbers in Javascript")
- (description "This package can read and write IEEE754 floating point
-numbers from/to a Buffer or array-like object in Javascript.")
- (license license:bsd-3)))
-
(define-public node-inherits
(package
(name "node-inherits")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 05/20] gnu: node-inherits: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-5-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-inherits): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 60 +++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 30 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 699e35b96f..37a1c57764 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -327,6 +327,36 @@ (define-public node-ieee754
numbers from/to a Buffer or array-like object in Javascript.")
(license license:bsd-3)))
+(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 object inheritance")
+ (description "This package provides an alternative implementation of
+Node's @code{inherits} constructor that can be used in browsers, while
+defaulting to Node's implementation otherwise.")
+ (license license:isc)))
+
(define-public node-long-stack-traces
(package
(name "node-long-stack-traces")
@@ -779,36 +809,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(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 object inheritance")
- (description "This package provides an alternative implementation of
-Node's @code{inherits} constructor that can be used in browsers, while
-defaulting to Node's implementation otherwise.")
- (license license:isc)))
-
(define-public node-safe-buffer
(package
(name "node-safe-buffer")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 06/20] gnu: node-safe-buffer: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-6-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-safe-buffer): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 37a1c57764..11f3bae3f3 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -651,6 +651,35 @@ (define-public node-safe-stable-stringify
compatibility check.")
(license license:expat)))
+(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 "Buffer creation with explicit semantics")
+ (description "This package provides a drop-in replacement for Node.js
+@code{Buffer} API, which provides newer, explicit constructors (such as
+@code{Buffer.alloc(SIZE)}) in older versions.")
+ (license license:expat)))
+
(define-public node-stack-trace
;; There have been improvements since the last release.
(let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
@@ -809,35 +838,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(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 "Buffer creation with explicit semantics")
- (description "This package provides a drop-in replacement for Node.js
-@code{Buffer} API, which provides newer, explicit constructors (such as
-@code{Buffer.alloc(SIZE)}) in older versions.")
- (license license:expat)))
-
(define-public node-string-decoder
(package
(name "node-string-decoder")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 08/20] gnu: node-readable-stream: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-8-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-readable-stream): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 98 +++++++++++++++++++--------------------
1 file changed, 49 insertions(+), 49 deletions(-)

Toggle diff (118 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 180e4e9f69..4f61ac95b2 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -581,6 +581,55 @@ (define-public node-protocol-buffers-schema
written in Javascript.")
(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
+ "@code{readable-stream} provides an implementation of Node.js core streams
+that behaves the same across different versions.")
+ (license license:expat)))
+
(define-public node-resolve-protobuf-schema
(package
(name "node-resolve-protobuf-schema")
@@ -871,55 +920,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(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
- "@code{readable-stream} provides an implementation of Node.js core streams
-that behaves the same across different versions.")
- (license license:expat)))
-
(define-public node-irc-colors
(package
(name "node-irc-colors")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 07/20] gnu: node-string-decoder: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-7-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-string-decoder): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 66 +++++++++++++++++++--------------------
1 file changed, 33 insertions(+), 33 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 11f3bae3f3..180e4e9f69 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -735,6 +735,39 @@ (define-public node-statsd-parser
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")
@@ -838,39 +871,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(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 "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-readable-stream
(package
(name "node-readable-stream")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 09/20] gnu: node-irc and node-irc-colors: Move in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-9-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-irc and node-irc-colors): Move packages in alphabetical order.
---
gnu/packages/node-xyz.scm | 118 +++++++++++++++++++-------------------
1 file changed, 59 insertions(+), 59 deletions(-)

Toggle diff (138 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 4f61ac95b2..bc8fd0fb69 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -357,6 +357,65 @@ (define-public node-inherits
defaulting to Node's implementation otherwise.")
(license license:isc)))
+(define-public node-irc-colors
+ (package
+ (name "node-irc-colors")
+ (version "1.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fent/irc-colors.js")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (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
+allows you to easily use colored output and formatting in IRC bots.
+It contains functions for colours as well as more complex formatting
+such as rainbows.")
+ (license license:expat)))
+
+(define-public node-irc
+ (package
+ (name "node-irc")
+ (version "0.5.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/martynsmith/node-irc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (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")
+ (synopsis "IRC client library for Node.js")
+ (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-long-stack-traces
(package
(name "node-long-stack-traces")
@@ -920,65 +979,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(define-public node-irc-colors
- (package
- (name "node-irc-colors")
- (version "1.5.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/fent/irc-colors.js")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0q3y34rbnlc55jcakmdxkicwazyvyph9r6gaf6hi8k7wj2nfwfli"))))
- (build-system node-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (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
-allows you to easily use colored output and formatting in IRC bots.
-It contains functions for colours as well as more complex formatting
-such as rainbows.")
- (license license:expat)))
-
-(define-public node-irc
- (package
- (name "node-irc")
- (version "0.5.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/martynsmith/node-irc")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ln4qfx20jbwg4cp8lp0vf27m5281z2sz16d15xd6150n26cbi4x"))))
- (build-system node-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (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")
- (synopsis "IRC client library for Node.js")
- (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")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 10/20] gnu: node-nan: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-10-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-nan): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 78 +++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 39 deletions(-)

Toggle diff (98 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index bc8fd0fb69..250816c04a 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -487,6 +487,45 @@ (define-public node-minimist
Javascript.")
(license license:expat)))
+(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 macros and utilities for making add-on development for Node.js
+easier across versions. The goal is to provide all logic necessary to develop
+native Node.js addons without having to inspect @code{NODE_MODULE_VERSION}.")
+ (license license:expat)))
+
(define-public node-normalize-path
(package
(name "node-normalize-path")
@@ -979,45 +1018,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(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 macros and utilities for making add-on development for Node.js
-easier across versions. The goal is to provide all logic necessary to develop
-native Node.js addons without having to inspect @code{NODE_MODULE_VERSION}.")
- (license license:expat)))
-
(define-public node-addon-api
(package
(name "node-addon-api")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 11/20] gnu: node-addon-api: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-11-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-addon-api): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 164 +++++++++++++++++++-------------------
1 file changed, 82 insertions(+), 82 deletions(-)

Toggle diff (184 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 250816c04a..c472b4d8b8 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -107,6 +107,88 @@ (define-public node-acorn
architecture supporting plugins.")
(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 <uv.h>}) are not
+ABI-stable across Node.js major versions.")
+ (license license:expat)))
+
(define-public node-bindings
(package
(name "node-bindings")
@@ -1018,88 +1100,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(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 <uv.h>}) are not
-ABI-stable across Node.js major versions.")
- (license license:expat)))
-
(define-public node-sqlite3
(package
(name "node-sqlite3")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 13/20] gnu: node-file-uri-to-path: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-13-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-file-uri-to-path): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 108 +++++++++++++++++++-------------------
1 file changed, 54 insertions(+), 54 deletions(-)

Toggle diff (128 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index dcda27e411..1afbf6deac 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -359,6 +359,60 @@ (define-public node-far
codes.")
(license license:expat)))
+(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)))
+
(define-public node-global-gradle-clean
(package
(name "node-global-gradle-clean")
@@ -1229,60 +1283,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(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)))
-
(define-public node-segfault-handler
(package
(name "node-segfault-handler")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 12/20] gnu: node-sqlite3: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-12-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-sqlite3): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 258 +++++++++++++++++++-------------------
1 file changed, 129 insertions(+), 129 deletions(-)

Toggle diff (278 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index c472b4d8b8..dcda27e411 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -909,6 +909,135 @@ (define-public node-safe-buffer
@code{Buffer.alloc(SIZE)}) in older 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 "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")
@@ -1100,135 +1229,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(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 "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-file-uri-to-path
(package
(name "node-file-uri-to-path")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 14/20] gnu: node-segfault-handler: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-14-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-segfault-handler): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 1afbf6deac..cc61c0b5fe 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -963,6 +963,35 @@ (define-public node-safe-buffer
@code{Buffer.alloc(SIZE)}) in older versions.")
(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 @file{stderr} and to a timestamped file.")
+ (license license:bsd-3)))
+
(define-public node-sqlite3
(package
(name "node-sqlite3")
@@ -1283,35 +1312,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(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 @file{stderr} and to a timestamped file.")
- (license license:bsd-3)))
-
(define-public node-ms
(package
(name "node-ms")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 15/20] gnu: node-ms: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-15-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-ms): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 66 +++++++++++++++++++--------------------
1 file changed, 33 insertions(+), 33 deletions(-)

Toggle diff (86 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index cc61c0b5fe..45dbe8693e 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -623,6 +623,39 @@ (define-public node-minimist
Javascript.")
(license license:expat)))
+(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 "Convert time to milliseconds")
+ (description "Use this package to easily convert various time formats to
+milliseconds. A number supplied as integer or string is returned as-is, while
+a string consisting of a number and a time unit is converted to milliseconds.")
+ (license license:expat)))
+
(define-public node-nan
(package
(name "node-nan")
@@ -1312,39 +1345,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(license license:expat)))
-(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 "Convert time to milliseconds")
- (description "Use this package to easily convert various time formats to
-milliseconds. A number supplied as integer or string is returned as-is, while
-a string consisting of a number and a time unit is converted to milliseconds.")
- (license license:expat)))
-
(define-public node-debug
(package
(name "node-debug")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 16/20] gnu: node-debug: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-16-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-debug): Move package in alphabetical order.
---
gnu/packages/node-xyz.scm | 84 +++++++++++++++++++--------------------
1 file changed, 42 insertions(+), 42 deletions(-)

Toggle diff (104 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 45dbe8693e..d5b2476265 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -305,6 +305,48 @@ (define-public node-crx3
64.0.3242 and above and all other browsers supporting the file format and API.")
(license license:bsd-3)))
+(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 "Debugging utility for Node.js")
+ (description "The @code{debug} module exposes a function, which if called
+with a module name as argument provides a function that writes debug output to
+@code{console.error} under that module name. This output can be controlled in
+a more fine-grained manner by binding the @env{DEBUG} variable.")
+ (license license:expat)))
+
(define-public node-env-variable
(package
(name "node-env-variable")
@@ -1345,48 +1387,6 @@ (define-public node-path-key
particular cross-platform spellings of the PATH environment variable key.")
(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 "Debugging utility for Node.js")
- (description "The @code{debug} module exposes a function, which if called
-with a module name as argument provides a function that writes debug output to
-@code{console.error} under that module name. This output can be controlled in
-a more fine-grained manner by binding the @env{DEBUG} variable.")
- (license license:expat)))
-
(define-public node-serialport-binding-abstract
(package
(name "node-serialport-binding-abstract")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 17/20] gnu: packages: node-xyz: Add alphatical order header.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-17-ngraves@ngraves.fr
* (gnu/packages/node-xyz): Add alphabetical order header.
---
gnu/packages/node-xyz.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (17 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index d5b2476265..042d79dd90 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -33,6 +33,10 @@ (define-module (gnu packages node-xyz)
#:use-module (guix git-download)
#:use-module (guix build-system node))
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+
(define-public node-acorn
(package
(name "node-acorn")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 18/20] gnu: node-semver: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-18-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-semver): Move package in alphabetical order.

Change-Id: I723b019db2e46ec7acb5b594a1eacdcd4ddd8ac6
---
gnu/packages/node-xyz.scm | 58 +++++++++++++++++++--------------------
1 file changed, 29 insertions(+), 29 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 042d79dd90..47c1244674 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -1071,6 +1071,35 @@ (define-public node-segfault-handler
both @file{stderr} and to a timestamped file.")
(license license:bsd-3)))
+(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-sqlite3
(package
(name "node-sqlite3")
@@ -1288,35 +1317,6 @@ (define-public node-string-decoder
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")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 19/20] gnu: node-path-key: Move package in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-19-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-path-key): Move package in alphabetical order.

Change-Id: I33d737668063c13f6cd369f8d922eb1aa02f7177
---
gnu/packages/node-xyz.scm | 52 +++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 26 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 47c1244674..e6858db1f4 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -827,6 +827,32 @@ (define-public node-oop
while being as light-weight and simple as possible.")
(license license:expat))))
+(define-public node-path-key
+ (package
+ (name "node-path-key")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sindresorhus/path-key")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09f4rf70qhq234fcc3pw9nrqic8cb75pk2b6wfnpr96v0r1h8d8g"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'patch-dependencies 'delete-dependencies
+ (lambda _
+ (delete-dependencies '("@types/node" "ava" "tsd" "xo")))))))
+ (home-page "https://github.com/sindresorhus/path-key")
+ (synopsis "Cross-platform utility to compute the PATH environment variable key")
+ (description "@code{path-key} provides an implementation to compute the
+particular cross-platform spellings of the PATH environment variable key.")
+ (license license:expat)))
+
(define-public node-pbf
(package
(name "node-pbf")
@@ -1365,32 +1391,6 @@ (define-public node-wrappy
(description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
(license license:isc)))
-(define-public node-path-key
- (package
- (name "node-path-key")
- (version "4.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sindresorhus/path-key")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09f4rf70qhq234fcc3pw9nrqic8cb75pk2b6wfnpr96v0r1h8d8g"))))
- (build-system node-build-system)
- (arguments
- '(#:tests? #f
- #:phases (modify-phases %standard-phases
- (add-after 'patch-dependencies 'delete-dependencies
- (lambda _
- (delete-dependencies '("@types/node" "ava" "tsd" "xo")))))))
- (home-page "https://github.com/sindresorhus/path-key")
- (synopsis "Cross-platform utility to compute the PATH environment variable key")
- (description "@code{path-key} provides an implementation to compute the
-particular cross-platform spellings of the PATH environment variable key.")
- (license license:expat)))
-
(define-public node-serialport-binding-abstract
(package
(name "node-serialport-binding-abstract")
--
2.41.0
N
N
Nicolas Graves wrote on 4 Feb 13:40 +0100
[PATCH v2 20/20] gnu: node-serialport-*: Move packages in alphabetical order.
(address . 66180@debbugs.gnu.org)(address . ngraves@ngraves.fr)
20240204124035.994-20-ngraves@ngraves.fr
* gnu/packages/node-xyz.scm (node-serialport-*): Move packages in alphabetical order.

Change-Id: I3245d4dbb788061eb3264e73fc9d1fae4d4aa77b
---
gnu/packages/node-xyz.scm | 530 +++++++++++++++++++-------------------
1 file changed, 265 insertions(+), 265 deletions(-)

Toggle diff (430 lines)
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index e6858db1f4..d68f730b77 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -1126,271 +1126,6 @@ (define-public node-semver
@uref{https://semver.org/, SemVer.org} specification.")
(license license:isc)))
-(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-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")
@@ -1699,6 +1434,271 @@ (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
+
This message was truncated. Download the full message here.
N
N
Nicolas Graves wrote on 6 Feb 00:23 +0100
(address . control@debbugs.gnu.org)
87le7yzeat.fsf@ngraves.fr
block 68941 by 66180

--
Best regards,
Nicolas Graves
S
S
Sharlatan Hellseher wrote on 10 Feb 17:16 +0100
(address . 66180@debbugs.gnu.org)
87cyt4qoq5.fsf@gmail.com
Hi Nicolas,

This is a great initiative! Patch series looks good for me. Looking
forward for more packages in node-xyz ;-)

Thanks,
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmXHoVIACgkQdtcnv/Ys
0rXeqg//Uc6bXwPhOSu2X2no6Y6+XjfLQx4eiqFunltf+6M7pj7aVNe/fNsUS9ak
8ANHt/s3SVPgRfsQort02nupbbbwkCnWc2kxdwTxBtkm5plyg5bVuWsV64g47RHi
zAKKHurXZmGHD5Ud9Sx6K+1rjVsOmvRXjvrxJu+9sAADRGBLN9YNGjok/akAKPoa
o22POCxh5ACgf0EnPd65/Gnh3l9EsusTgqtPyHWuFYtRpTUUJXP5LBQyX8nzs5sN
/Mu45f/Csb6kuweuQFPRibBDiO+X4JFiqqWHdjLCSmnKDifv6fLamnzzhKjuE5C1
9gO8c3yhBVmMLLPt9pfRSoiNz/YkBxNzRGW8oncBVVY0O+LciBTd1jt5RlO8g62M
rqZ4QMjws0dHHuTNpFdTkZWkE36xlq4MkmvPI+SW8so8yEEFlQPHe+z/GpBZ79JT
P3w2Lyqu+FIoBhTOskDslEPPWs2mrbl5CosObABd8UlRYWXuaJoXAaeSJlCL2SV9
PbsFmv0mSrfLpzfAEcVInkoBm/pIxmSKBZjTQAfvtMXz7fl2xwt/tsKAU4cpgrpb
zjl6O2+NUVtYYnjr6xaEjAd7atCr+RNt3DVR3D95DDMbvX/z0TH0tugMYcUQAUXh
ILr+atg7sis+oLwJugPVTcR5EOPugia9Zm8oJauJOeH3YSZWfic=
=0QDz
-----END PGP SIGNATURE-----

N
N
ngraves wrote on 18 Feb 13:02 +0100
87le7ikmjh.fsf@ngraves.fr
Hi Oleg,

Thanks for your review!

Is there a way to get this merged? A quick way to check which lines have
been actually changed and not moved is this command (where patches is a
directory with all patches from the series):

find patches -type f -print0 | xargs -0 -n1 grep -E '^[+-]' | sed -E 's/^[+-]//' | sort | uniq -u

I'm developping on this patch series and it's a pain to rebase
everything in the case any new node package gets merged upstream.

Nicolas

On 2024-02-10 16:16, Sharlatan Hellseher wrote:

Toggle quote (8 lines)
> Hi Nicolas,
>
> This is a great initiative! Patch series looks good for me. Looking
> forward for more packages in node-xyz ;-)
>
> Thanks,
> Oleg

--
Best regards,
Nicolas Graves
N
N
ngraves wrote on 18 Feb 13:02 +0100
87jzn2kmj5.fsf@ngraves.fr
Hi Oleg,

Thanks for your review!

Is there a way to get this merged? A quick way to check which lines have
been actually changed and not moved is this command (where patches is a
directory with all patches from the series):

find patches -type f -print0 | xargs -0 -n1 grep -E '^[+-]' | sed -E 's/^[+-]//' | sort | uniq -u

I'm developping on this patch series and it's a pain to rebase
everything in the case any new node package gets merged upstream.

Nicolas

On 2024-02-10 16:16, Sharlatan Hellseher wrote:

Toggle quote (8 lines)
> Hi Nicolas,
>
> This is a great initiative! Patch series looks good for me. Looking
> forward for more packages in node-xyz ;-)
>
> Thanks,
> Oleg

--
Best regards,
Nicolas Graves
S
S
Sharlatan Hellseher wrote on 18 Feb 14:06 +0100
[PATCH 00/19] Sort packages in node-xyz.scm
(address . 66180-done@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
87ttm5ly63.fsf@gmail.com
Hi Nicolas,

I've checked packages order once again and found that some of them still
need to be re-allocated but due to inheritance it can't be done easily.

e.g. package node-serialport needs to be the one from the rest are inheritated.

- node-serialport-binding-abstract
- node-serialport-bindings
- node-serialport-parser-byte-length
- node-serialport-parser-cctalk
- node-serialport-parser-delimiter
- node-serialport-parser-inter-byte-timeout
- node-serialport-parser-readline
- node-serialport-parser-ready
- node-serialport-parser-regex
- node-serialport-stream

May you check it please in the next round?

I've used Emacs' occur, search for define-public, copied to an empty
buffer A and in buffer B sorted lines, then run buffer-diff on A and B.
Toggle snippet (29 lines)
diff -u --label \#\<buffer\ \*new\*\<3\>\> --label \#\<buffer\ \*new\*\<4\>\> /tmp/buffer-content-SbBuJ0 /tmp/buffer-content-bu3SO4
--- #<buffer *new*<3>>
+++ #<buffer *new*<4>>
@@ -30,17 +30,17 @@
define-public node-safe-stable-stringify
define-public node-segfault-handler
define-public node-semver
+define-public node-serialport
define-public node-serialport-binding-abstract
+define-public node-serialport-bindings
+define-public node-serialport-parser-byte-length
+define-public node-serialport-parser-cctalk
define-public node-serialport-parser-delimiter
+define-public node-serialport-parser-inter-byte-timeout
define-public node-serialport-parser-readline
-define-public node-serialport-bindings
-define-public node-serialport-parser-regex
define-public node-serialport-parser-ready
-define-public node-serialport-parser-inter-byte-timeout
-define-public node-serialport-parser-cctalk
-define-public node-serialport-parser-byte-length
+define-public node-serialport-parser-regex
define-public node-serialport-stream
-define-public node-serialport
define-public node-sqlite3
define-public node-stack-trace
define-public node-statsd-parser

Your servcie is pushed as aede3fa122..345a54ff4c to master.

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmXSAMQACgkQdtcnv/Ys
0rVuGBAA0jr/KQj3c+JTGs0veRkG2y7HRF2xsbW+ZvoSjNSC/zR15ab4sgMh+g1U
PLWQwXf5dMoEXxLJubalad2xbxuA9s28UVXulw/ammeEffTSe96X9VjhuzmlOR33
XwQlWbq5GIFxz6xKwV1ruua7zKbh5xBDjr7rDr1TRBXefRIR/Vf3WZzd2/5rpEy9
0rmdiw/6mP86BvbizEfP9plrXZMJFQsaAMYutyw+vUGZWFvqMtiWjc0Ei+M/AayH
U7srMCu+0z1G0MTo8v0Jlhwf7XMa40gt0/6sGli5iupH5zfWj7EQzB/uA146mgoR
ERJGjMP2QoewV554jagwJLNrQeMLOZ5ASDIgSIe+i2nBur84Cq9g1YwybEPWaHUU
0NGc594KFd7M0GDg2AChsUJ3JDaLZ38KMjAmbe4t6UnNeTROkxxCZU3Z8kw0IfIa
Bu+GUeEFSYaoQqbJWJxZmA6AI4rr+46vYw7HhHB7/WtbvqvAE/hNl08ZFY3orkw0
/5GJiE10NIr43pbavjroCsb5cjXz0hdcStCSrxGgqfa572uACELo9s5qg0j1tddU
WVnX5GP96qwOtjZvc2ftICe+GqpA5G+wDctNpgrJ8RrEP8eUgLYi3nJmuHI1R8z/
IArcvcZtQ7qcebh58W5rrbLSa/72yRsED/rX4h1+E/r1LRoWBgs=
=GU6k
-----END PGP SIGNATURE-----

Closed
N
N
Nicolas Graves wrote on 18 Feb 15:23 +0100
87h6i5lul7.fsf@ngraves.fr
On 2024-02-18 13:06, Sharlatan Hellseher wrote:

Toggle quote (20 lines)
> Hi Nicolas,
>
> I've checked packages order once again and found that some of them still
> need to be re-allocated but due to inheritance it can't be done easily.
>
> e.g. package node-serialport needs to be the one from the rest are inheritated.
>
> - node-serialport-binding-abstract
> - node-serialport-bindings
> - node-serialport-parser-byte-length
> - node-serialport-parser-cctalk
> - node-serialport-parser-delimiter
> - node-serialport-parser-inter-byte-timeout
> - node-serialport-parser-readline
> - node-serialport-parser-ready
> - node-serialport-parser-regex
> - node-serialport-stream
>
> May you check it please in the next round?

Will do.

Toggle quote (38 lines)
>
> I've used Emacs' occur, search for define-public, copied to an empty
> buffer A and in buffer B sorted lines, then run buffer-diff on A and B.
> --8<---------------cut here---------------start------------->8---
> diff -u --label \#\<buffer\ \*new\*\<3\>\> --label \#\<buffer\ \*new\*\<4\>\> /tmp/buffer-content-SbBuJ0 /tmp/buffer-content-bu3SO4
> --- #<buffer *new*<3>>
> +++ #<buffer *new*<4>>
> @@ -30,17 +30,17 @@
> define-public node-safe-stable-stringify
> define-public node-segfault-handler
> define-public node-semver
> +define-public node-serialport
> define-public node-serialport-binding-abstract
> +define-public node-serialport-bindings
> +define-public node-serialport-parser-byte-length
> +define-public node-serialport-parser-cctalk
> define-public node-serialport-parser-delimiter
> +define-public node-serialport-parser-inter-byte-timeout
> define-public node-serialport-parser-readline
> -define-public node-serialport-bindings
> -define-public node-serialport-parser-regex
> define-public node-serialport-parser-ready
> -define-public node-serialport-parser-inter-byte-timeout
> -define-public node-serialport-parser-cctalk
> -define-public node-serialport-parser-byte-length
> +define-public node-serialport-parser-regex
> define-public node-serialport-stream
> -define-public node-serialport
> define-public node-sqlite3
> define-public node-stack-trace
> define-public node-statsd-parser
> --8<---------------cut here---------------end--------------->8---
>
> Your servcie is pushed as aede3fa122..345a54ff4c to master.
>
> --
> Oleg

--
Best regards,
Nicolas Graves
Closed
N
N
Nicolas Graves wrote on 18 Feb 15:29 +0100
87edd9lubm.fsf@ngraves.fr
On 2024-02-18 15:23, Nicolas Graves wrote:

Toggle quote (24 lines)
> On 2024-02-18 13:06, Sharlatan Hellseher wrote:
>
>> Hi Nicolas,
>>
>> I've checked packages order once again and found that some of them still
>> need to be re-allocated but due to inheritance it can't be done easily.
>>
>> e.g. package node-serialport needs to be the one from the rest are inheritated.
>>
>> - node-serialport-binding-abstract
>> - node-serialport-bindings
>> - node-serialport-parser-byte-length
>> - node-serialport-parser-cctalk
>> - node-serialport-parser-delimiter
>> - node-serialport-parser-inter-byte-timeout
>> - node-serialport-parser-readline
>> - node-serialport-parser-ready
>> - node-serialport-parser-regex
>> - node-serialport-stream
>>
>> May you check it please in the next round?
>
> Will do.

I'm not sure how to do that though with these inheritance issues. Do you
have an example in Guix source where this kind of things is done?
Toggle quote (39 lines)
>
>>
>> I've used Emacs' occur, search for define-public, copied to an empty
>> buffer A and in buffer B sorted lines, then run buffer-diff on A and B.
>> --8<---------------cut here---------------start------------->8---
>> diff -u --label \#\<buffer\ \*new\*\<3\>\> --label \#\<buffer\ \*new\*\<4\>\> /tmp/buffer-content-SbBuJ0 /tmp/buffer-content-bu3SO4
>> --- #<buffer *new*<3>>
>> +++ #<buffer *new*<4>>
>> @@ -30,17 +30,17 @@
>> define-public node-safe-stable-stringify
>> define-public node-segfault-handler
>> define-public node-semver
>> +define-public node-serialport
>> define-public node-serialport-binding-abstract
>> +define-public node-serialport-bindings
>> +define-public node-serialport-parser-byte-length
>> +define-public node-serialport-parser-cctalk
>> define-public node-serialport-parser-delimiter
>> +define-public node-serialport-parser-inter-byte-timeout
>> define-public node-serialport-parser-readline
>> -define-public node-serialport-bindings
>> -define-public node-serialport-parser-regex
>> define-public node-serialport-parser-ready
>> -define-public node-serialport-parser-inter-byte-timeout
>> -define-public node-serialport-parser-cctalk
>> -define-public node-serialport-parser-byte-length
>> +define-public node-serialport-parser-regex
>> define-public node-serialport-stream
>> -define-public node-serialport
>> define-public node-sqlite3
>> define-public node-stack-trace
>> define-public node-statsd-parser
>> --8<---------------cut here---------------end--------------->8---
>>
>> Your servcie is pushed as aede3fa122..345a54ff4c to master.
>>
>> --
>> Oleg

--
Best regards,
Nicolas Graves
Closed
S
S
Sharlatan Hellseher wrote on 18 Feb 15:48 +0100
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 66180-done@debbugs.gnu.org)
CAO+9K5pqwWaCJ9oOCh=Bp644u_WZub2KbA+udqLSawwsrOyoGw@mail.gmail.com
Hi Nicolas,

From recent split job for golang I may say that the order and placement of the
inherited package is very important.

There are two simple rules I've followed:

- inherited package needs to be in the same Guile module
- inherited package needs to follow the one which it's inherited from

Take a look at golang-xyz.scm, it's freshly created, alphabetically sorted and
all inherited packages following 2 mentioned rules.

--
Oleg

On Sun, 18 Feb 2024 at 14:29, Nicolas Graves <ngraves@ngraves.fr> wrote:
Toggle quote (74 lines)
>
> On 2024-02-18 15:23, Nicolas Graves wrote:
>
> > On 2024-02-18 13:06, Sharlatan Hellseher wrote:
> >
> >> Hi Nicolas,
> >>
> >> I've checked packages order once again and found that some of them still
> >> need to be re-allocated but due to inheritance it can't be done easily.
> >>
> >> e.g. package node-serialport needs to be the one from the rest are inheritated.
> >>
> >> - node-serialport-binding-abstract
> >> - node-serialport-bindings
> >> - node-serialport-parser-byte-length
> >> - node-serialport-parser-cctalk
> >> - node-serialport-parser-delimiter
> >> - node-serialport-parser-inter-byte-timeout
> >> - node-serialport-parser-readline
> >> - node-serialport-parser-ready
> >> - node-serialport-parser-regex
> >> - node-serialport-stream
> >>
> >> May you check it please in the next round?
> >
> > Will do.
>
> I'm not sure how to do that though with these inheritance issues. Do you
> have an example in Guix source where this kind of things is done?
> >
> >>
> >> I've used Emacs' occur, search for define-public, copied to an empty
> >> buffer A and in buffer B sorted lines, then run buffer-diff on A and B.
> >> --8<---------------cut here---------------start------------->8---
> >> diff -u --label \#\<buffer\ \*new\*\<3\>\> --label \#\<buffer\ \*new\*\<4\>\> /tmp/buffer-content-SbBuJ0 /tmp/buffer-content-bu3SO4
> >> --- #<buffer *new*<3>>
> >> +++ #<buffer *new*<4>>
> >> @@ -30,17 +30,17 @@
> >> define-public node-safe-stable-stringify
> >> define-public node-segfault-handler
> >> define-public node-semver
> >> +define-public node-serialport
> >> define-public node-serialport-binding-abstract
> >> +define-public node-serialport-bindings
> >> +define-public node-serialport-parser-byte-length
> >> +define-public node-serialport-parser-cctalk
> >> define-public node-serialport-parser-delimiter
> >> +define-public node-serialport-parser-inter-byte-timeout
> >> define-public node-serialport-parser-readline
> >> -define-public node-serialport-bindings
> >> -define-public node-serialport-parser-regex
> >> define-public node-serialport-parser-ready
> >> -define-public node-serialport-parser-inter-byte-timeout
> >> -define-public node-serialport-parser-cctalk
> >> -define-public node-serialport-parser-byte-length
> >> +define-public node-serialport-parser-regex
> >> define-public node-serialport-stream
> >> -define-public node-serialport
> >> define-public node-sqlite3
> >> define-public node-stack-trace
> >> define-public node-statsd-parser
> >> --8<---------------cut here---------------end--------------->8---
> >>
> >> Your servcie is pushed as aede3fa122..345a54ff4c to master.
> >>
> >> --
> >> Oleg
>
> --
> Best regards,
> Nicolas Graves



--
VCS: https://github.incerto.xyz/;https://git.sr.ht/~hellseher/
GPG: 9847 81DE 689C 21C2 6418 0867 76D7 27BF F62C D2B5

… ??? ????? - ???????????? ?????????????? ?????? ??????? ????????
????? ????? ????? ? ??? ??????, ??????????? ????? ???????, ??
?????????? ?? ? ????????? ??????? ????? ? ?????????????????.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 66180@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66180
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch