[bug#70923,v4,11/11] import: hexpm: Use (guix import utils) 'maybe-inputs' procedure.
Commit Message
* 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(-)
@@ -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