Subject: [bug#69231] [PATCH 1/6] gnu: node-serialport: Move package in alphabetical order.

From: Nicolas Graves <[email-masked]>
Date: Mon, 19 Feb 2024 01:11:05 +0100

* /gnu/packages/node-xyz.scm

(node-serialport): Move package in alphabetical order. Remove
inheritance on node-serialport-binding-abstract, and add fields
build-system, home-page, and license.

(node-serialport-binding-abstract): Inherit from node-serialport and
remove fields source, build-system, home-page, and license.

(node-serialport-parser-delimiter, node-serialport-parser-readline,
node-serialport-bindings, 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): Inherit from node-serialport instead of
node-serialport-binding-abstract.

Change-Id: Ib2c6bae11f9a7afeaa8566c86d1800afd40d22d3
---
 gnu/packages/node-xyz.scm | 100 +++++++++++++++++++-------------------
 1 file changed, 49 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 79096f7fa3..81db9f4aa4 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -1126,22 +1126,55 @@ (define-public node-semver
 @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/serialport"))))
+       #:tests? #f))
+    (home-page "https://serialport.io")
+    (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.")
+    (license license:expat)))
+
+(define-public node-serialport-binding-abstract
+  (package
+    (inherit node-serialport)
+    (name "node-serialport-binding-abstract")
+    (version "9.2.3")
+    (inputs
+     (list node-debug))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -1149,7 +1182,6 @@ (define-public node-serialport-binding-abstract
            (lambda args
              (chdir "packages/binding-abstract"))))
        #:tests? #f))
-    (home-page "https://serialport.io")
     (synopsis "Abstract base class for Node SerialPort bindings")
     (description "Node SerialPort is a modular suite of Node.js packages for
 accessing serial ports.  The Guix package @code{node-serialport} provides the
@@ -1157,12 +1189,11 @@ (define-public node-serialport-binding-abstract
 
 This package provides the @code{AbstractBinding} class, the base for all Node
 SerialPort bindings.  You wouldn't use this class directly, but instead extend
-it to make a new binding for a different platform or underling technology.")
-    (license license:expat)))
+it to make a new binding for a different platform or underling technology.")))
 
 (define-public node-serialport-parser-delimiter
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-parser-delimiter")
     (version "9.2.4")
     (inputs `())
@@ -1184,7 +1215,7 @@ (define-public node-serialport-parser-delimiter
 
 (define-public node-serialport-parser-readline
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-parser-readline")
     (version "9.2.4")
     (inputs
@@ -1207,7 +1238,7 @@ (define-public node-serialport-parser-readline
 
 (define-public node-serialport-bindings
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-bindings")
     (version "9.2.7")
     (native-inputs
@@ -1263,7 +1294,7 @@ (define-public node-serialport-bindings
 
 (define-public node-serialport-parser-regex
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-parser-regex")
     (version "9.2.4")
     (inputs `())
@@ -1285,7 +1316,7 @@ (define-public node-serialport-parser-regex
 
 (define-public node-serialport-parser-ready
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-parser-ready")
     (version "9.2.4")
     (inputs `())
@@ -1308,7 +1339,7 @@ (define-public node-serialport-parser-ready
 
 (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 `())
@@ -1330,7 +1361,7 @@ (define-public node-serialport-parser-inter-byte-timeout
 
 (define-public node-serialport-parser-cctalk
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-parser-cctalk")
     (version "9.2.4")
     (inputs `())
@@ -1353,7 +1384,7 @@ (define-public node-serialport-parser-cctalk
 
 (define-public node-serialport-parser-byte-length
   (package
-    (inherit node-serialport-binding-abstract)
+    (inherit node-serialport)
     (name "node-serialport-parser-byte-length")
     (version "9.2.4")
     (inputs `())
@@ -1375,7 +1406,7 @@ (define-public node-serialport-parser-byte-length
 
 (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 @@ (define-public node-serialport-stream
 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")
-- 
2.41.0