diff options
Diffstat (limited to 'gnu/packages/node-xyz.scm')
| -rw-r--r-- | gnu/packages/node-xyz.scm | 222 |
1 files changed, 110 insertions, 112 deletions
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 79096f7fa3..b49a19372b 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1126,88 +1126,74 @@ both @file{stderr} and to a timestamped file.") @uref{https://semver.org/, SemVer.org} specification.") (license license:isc))) -(define-public node-serialport-binding-abstract +(define-public node-serialport (package - (name "node-serialport-binding-abstract") - (version "9.2.3") + (name "node-serialport") + (version "9.2.7") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/serialport/node-serialport") - (commit "v9.2.7"))) - (file-name (git-file-name "serialport-monorepo" version)) + (commit (string-append "v" version)))) (sha256 (base32 "0x7zm59a5ff5yygjyw15xs3r5m3rb8av1yfrh4snn44mrwq87yg8")))) (inputs - (list node-debug)) + (list node-serialport-bindings + node-serialport-parser-delimiter + node-serialport-parser-readline + node-serialport-parser-regex + node-serialport-parser-ready + node-serialport-parser-inter-byte-timeout + node-serialport-parser-cctalk + node-serialport-parser-byte-length + node-serialport-stream + node-debug)) (build-system node-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'patch-dependencies 'delete-dependencies + (lambda args + (delete-dependencies `("@serialport/binding-mock")))) (add-after 'unpack 'chdir (lambda args - (chdir "packages/binding-abstract")))) + (chdir "packages/serialport")))) #:tests? #f)) (home-page "https://serialport.io") - (synopsis "Abstract base class for Node SerialPort bindings") + (synopsis "Node.js package to access serial ports") (description "Node SerialPort is a modular suite of Node.js packages for -accessing serial ports. The Guix package @code{node-serialport} provides the -recommended high-level interface. - -This package provides the @code{AbstractBinding} class, the base for all Node -SerialPort bindings. You wouldn't use this class directly, but instead extend -it to make a new binding for a different platform or underling technology.") +accessing serial ports. This package is the recommended entry point for most +projects. It combines a high-level Node.js stream interface with a useful +default set of parsers and bindings.") (license license:expat))) -(define-public node-serialport-parser-delimiter - (package - (inherit node-serialport-binding-abstract) - (name "node-serialport-parser-delimiter") - (version "9.2.4") - (inputs `()) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda args - (chdir "packages/parser-delimiter")))) - #:tests? #f)) - (synopsis "Node SerialPort parser to split data on a delimiter") - (description "Node SerialPort is a modular suite of Node.js packages for -accessing serial ports. The Guix package @code{node-serialport} provides the -recommended high-level interface. - -Parsers are used to take raw binary data and transform them into usable -messages. This package provides @code{Delimiter}, a parser that emits data -each time a specified byte sequence is received."))) - -(define-public node-serialport-parser-readline +(define-public node-serialport-binding-abstract (package - (inherit node-serialport-binding-abstract) - (name "node-serialport-parser-readline") - (version "9.2.4") + (inherit node-serialport) + (name "node-serialport-binding-abstract") + (version "9.2.3") (inputs - (list node-serialport-parser-delimiter)) + (list node-debug)) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda args - (chdir "packages/parser-readline")))) + (chdir "packages/binding-abstract")))) #:tests? #f)) - (synopsis "Node SerialPort parser to split data on newlines") + (synopsis "Abstract base class for Node SerialPort bindings") (description "Node SerialPort is a modular suite of Node.js packages for accessing serial ports. The Guix package @code{node-serialport} provides the recommended high-level interface. -Parsers are used to take raw binary data and transform them into usable -messages. This package provides @code{Readline}, a parser that emits data -after a (configurable) newline delimiter is received."))) +This package provides the @code{AbstractBinding} class, the base for all Node +SerialPort bindings. You wouldn't use this class directly, but instead extend +it to make a new binding for a different platform or underling technology."))) (define-public node-serialport-bindings (package - (inherit node-serialport-binding-abstract) + (inherit node-serialport) (name "node-serialport-bindings") (version "9.2.7") (native-inputs @@ -1261,10 +1247,10 @@ talk to the underlying system. You never have to use @code{Binding} objects directly. There is also a @code{MockBinding} available (but not yet packaged for Guix) to assist with testing."))) -(define-public node-serialport-parser-regex +(define-public node-serialport-parser-byte-length (package - (inherit node-serialport-binding-abstract) - (name "node-serialport-parser-regex") + (inherit node-serialport) + (name "node-serialport-parser-byte-length") (version "9.2.4") (inputs `()) (arguments @@ -1272,21 +1258,21 @@ for Guix) to assist with testing."))) (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda args - (chdir "packages/parser-regex")))) + (chdir "packages/parser-byte-length")))) #:tests? #f)) - (synopsis "Node SerialPort parser to split data on a regular expression") + (synopsis "Node SerialPort parser for fixed-length buffers") (description "Node SerialPort is a modular suite of Node.js packages for accessing serial ports. The Guix package @code{node-serialport} provides the recommended high-level interface. Parsers are used to take raw binary data and transform them into usable -messages. This package provides @code{Regex}, a parser that uses a regular -expression to split the incoming text."))) +messages. This package provides @code{ByteLength}, a parser that emits data +as a buffer every time a specified number of bytes are received."))) -(define-public node-serialport-parser-ready +(define-public node-serialport-parser-cctalk (package - (inherit node-serialport-binding-abstract) - (name "node-serialport-parser-ready") + (inherit node-serialport) + (name "node-serialport-parser-cctalk") (version "9.2.4") (inputs `()) (arguments @@ -1294,21 +1280,43 @@ expression to split the incoming text."))) (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda args - (chdir "packages/parser-ready")))) + (chdir "packages/parser-cctalk")))) #:tests? #f)) - (synopsis "Node SerialPort parser to wait for specified byte sequence") + (synopsis "Node SerialPort parser for the ccTalk protocol") (description "Node SerialPort is a modular suite of Node.js packages for accessing serial ports. The Guix package @code{node-serialport} provides the recommended high-level interface. Parsers are used to take raw binary data and transform them into usable -messages. This package provides @code{Ready}, a parser that waits for a -specified sequence of ``ready'' bytes before emitting a ready event and -emitting data events."))) +messages. This package provides @code{CCTalk}, which emits packets for the +ccTalk protocol (an open standard for currency detectors) as they are +received."))) + +(define-public node-serialport-parser-delimiter + (package + (inherit node-serialport) + (name "node-serialport-parser-delimiter") + (version "9.2.4") + (inputs `()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-delimiter")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on a delimiter") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Delimiter}, a parser that emits data +each time a specified byte sequence is received."))) (define-public node-serialport-parser-inter-byte-timeout (package - (inherit node-serialport-binding-abstract) + (inherit node-serialport) (name "node-serialport-parser-inter-byte-timeout") (version "9.2.4") (inputs `()) @@ -1328,10 +1336,33 @@ Parsers are used to take raw binary data and transform them into usable messages. This package provides @code{InterByteTimeout}, a parser that emits data if there is a pause between packets for the specified amount of time."))) -(define-public node-serialport-parser-cctalk +(define-public node-serialport-parser-readline (package - (inherit node-serialport-binding-abstract) - (name "node-serialport-parser-cctalk") + (inherit node-serialport) + (name "node-serialport-parser-readline") + (version "9.2.4") + (inputs + (list node-serialport-parser-delimiter)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda args + (chdir "packages/parser-readline")))) + #:tests? #f)) + (synopsis "Node SerialPort parser to split data on newlines") + (description "Node SerialPort is a modular suite of Node.js packages for +accessing serial ports. The Guix package @code{node-serialport} provides the +recommended high-level interface. + +Parsers are used to take raw binary data and transform them into usable +messages. This package provides @code{Readline}, a parser that emits data +after a (configurable) newline delimiter is received."))) + +(define-public node-serialport-parser-ready + (package + (inherit node-serialport) + (name "node-serialport-parser-ready") (version "9.2.4") (inputs `()) (arguments @@ -1339,22 +1370,22 @@ data if there is a pause between packets for the specified amount of time."))) (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda args - (chdir "packages/parser-cctalk")))) + (chdir "packages/parser-ready")))) #:tests? #f)) - (synopsis "Node SerialPort parser for the ccTalk protocol") + (synopsis "Node SerialPort parser to wait for specified byte sequence") (description "Node SerialPort is a modular suite of Node.js packages for accessing serial ports. The Guix package @code{node-serialport} provides the recommended high-level interface. Parsers are used to take raw binary data and transform them into usable -messages. This package provides @code{CCTalk}, which emits packets for the -ccTalk protocol (an open standard for currency detectors) as they are -received."))) +messages. This package provides @code{Ready}, a parser that waits for a +specified sequence of ``ready'' bytes before emitting a ready event and +emitting data events."))) -(define-public node-serialport-parser-byte-length +(define-public node-serialport-parser-regex (package - (inherit node-serialport-binding-abstract) - (name "node-serialport-parser-byte-length") + (inherit node-serialport) + (name "node-serialport-parser-regex") (version "9.2.4") (inputs `()) (arguments @@ -1362,20 +1393,20 @@ received."))) (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda args - (chdir "packages/parser-byte-length")))) + (chdir "packages/parser-regex")))) #:tests? #f)) - (synopsis "Node SerialPort parser for fixed-length buffers") + (synopsis "Node SerialPort parser to split data on a regular expression") (description "Node SerialPort is a modular suite of Node.js packages for accessing serial ports. The Guix package @code{node-serialport} provides the recommended high-level interface. Parsers are used to take raw binary data and transform them into usable -messages. This package provides @code{ByteLength}, a parser that emits data -as a buffer every time a specified number of bytes are received."))) +messages. This package provides @code{Regex}, a parser that uses a regular +expression to split the incoming text."))) (define-public node-serialport-stream (package - (inherit node-serialport-binding-abstract) + (inherit node-serialport) (name "node-serialport-stream") (version "9.2.4") (inputs @@ -1401,39 +1432,6 @@ Node.js Stream API. The stream is a duplex stream, allowing for reading and writing. It has additional methods for managing the SerialPort connection."))) -(define-public node-serialport - (package - (inherit node-serialport-binding-abstract) - (name "node-serialport") - (version "9.2.7") - (inputs - (list node-serialport-bindings - node-serialport-parser-delimiter - node-serialport-parser-readline - node-serialport-parser-regex - node-serialport-parser-ready - node-serialport-parser-inter-byte-timeout - node-serialport-parser-cctalk - node-serialport-parser-byte-length - node-serialport-stream - node-debug)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'patch-dependencies 'delete-dependencies - (lambda args - (delete-dependencies `("@serialport/binding-mock")) - )) - (add-after 'unpack 'chdir - (lambda args - (chdir "packages/serialport")))) - #:tests? #f)) - (synopsis "Node.js package to access serial ports") - (description "Node SerialPort is a modular suite of Node.js packages for -accessing serial ports. This package is the recommended entry point for most -projects. It combines a high-level Node.js stream interface with a useful -default set of parsers and bindings."))) - (define-public node-sqlite3 (package (name "node-sqlite3") |
