[bug#70923,v4,11/11] import: hexpm: Use (guix import utils) 'maybe-inputs' procedure.

Message ID 5cee288aa6676f609297e7599a9f121886d8d6a7.1733774143.git.herman@rimm.ee
State New
Headers
Series [bug#70923,v4,01/11] build-system: cargo: Accept unlabeled #:cargo-inputs. |

Commit Message

Herman Rimm Dec. 9, 2024, 7:58 p.m. UTC
  * guix/import/hexpm.scm (maybe-inputs): Delete procedure.
(dependencies->package-names): Return strings instead of symbols.
(make-hexpm-sexp): Use 'maybe-inputs' from (guix import utils).

Change-Id: Ie7a8a630a3a9d4859453d49fdee42aa560e27f17
---
 guix/import/hexpm.scm | 29 +++++++++--------------------
 1 file changed, 9 insertions(+), 20 deletions(-)
  

Patch

diff --git a/guix/import/hexpm.scm b/guix/import/hexpm.scm
index 71a54ba973..a7d74e24c3 100644
--- a/guix/import/hexpm.scm
+++ b/guix/import/hexpm.scm
@@ -5,6 +5,7 @@ 
 ;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020-2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -153,26 +154,14 @@  (define (lookup-hexpm-release version*)
 ;;; Converting hex.pm packages to Guix packages.
 ;;;
 
-(define (maybe-inputs package-inputs input-type)
-  "Given a list of PACKAGE-INPUTS, tries to generate the 'inputs' field of a
-package definition.  INPUT-TYPE, a symbol, is used to populate the name of
-the input field."
-  (match package-inputs
-    (()
-     '())
-    ((package-inputs ...)
-     `((,input-type (list ,@package-inputs))))))
-
 (define (dependencies->package-names names)
-  "Given a list of hexpm package NAMES, returns a list of guix package names
-as symbols."
-  ;; TODO: Base name on language of dependency.
-  ;; The language used for implementing the dependency is not know without
-  ;; recursing the dependencies.  So for now assume more packages are based on
-  ;; Erlang and prefix all dependencies with "erlang-" (the default).
-  (map string->symbol
-       (map hexpm-name->package-name
-            (sort names string-ci<?))))
+  "Given a list of hexpm package NAMES, returns a list of guix package
+names."
+  ;; TODO: Base name on the programming language of the dependency.
+  ;; The language used for implementing the dependency can only be known
+  ;; by traversing the dependencies.  So for now assume packages are
+  ;; based on Erlang, and prefix dependencies with "erlang-" by default.
+  (map hexpm-name->package-name (sort names string-ci<?)))
 
 (define* (make-hexpm-sexp #:key name version tarball-url
                           home-page synopsis description license
@@ -194,7 +183,7 @@  (define* (make-hexpm-sexp #:key name version tarball-url
                    (uri (hexpm-uri ,name version))
                    (sha256 (base32 ,(guix-hash-url temp)))))
          (build-system ,build-system)
-         ,@(maybe-inputs (dependencies->package-names dependencies) 'inputs)
+         ,@(maybe-inputs (dependencies->package-names dependencies))
          (synopsis ,synopsis)
          (description ,(beautify-description description))
          (home-page ,(match home-page