From 5b6285518be6e4f588f688dadf70eacf4614b797 Mon Sep 17 00:00:00 2001 From: Sarah Morgensen Date: Wed, 14 Jul 2021 18:40:34 -0700 Subject: import: egg: Emit new-style package inputs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/egg.scm (egg->guix-package): Generate dependency list from a list of symbols. [egg-parse-dependency]: Return a list of symbols. [maybe-inputs]: Wrap INPUTS in 'list' instead of 'quasiquote'. * tests/egg.scm (match-chicken-foo): Adjust accordingly. Signed-off-by: Ludovic Courtès --- guix/import/egg.scm | 14 ++++++-------- tests/egg.scm | 27 +++++++-------------------- 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/guix/import/egg.scm b/guix/import/egg.scm index 107894ddcf..86b54ff56f 100644 --- a/guix/import/egg.scm +++ b/guix/import/egg.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Tobias Geerinckx-Rice +;;; Copyright © 2021 Sarah Morgensen ;;; ;;; This file is part of GNU Guix. ;;; @@ -246,12 +247,9 @@ not work." (let ((name (prettify-name (extract-name name)))) ;; Dependencies are sometimes specified as symbols and sometimes ;; as strings - (list (string-append (if system? "" package-name-prefix) - name) - (list 'unquote - (string->symbol (string-append - (if system? "" package-name-prefix) - name)))))) + (string->symbol (string-append + (if system? "" package-name-prefix) + name)))) (define egg-propagated-inputs (let ((dependencies (assoc-ref egg-content 'dependencies))) @@ -290,7 +288,7 @@ not work." '()) ((inputs ...) (list (list input-type - (list 'quasiquote inputs)))))) + `(list ,@inputs)))))) (values `(package @@ -318,7 +316,7 @@ not work." (license ,egg-licenses)) (filter (lambda (name) (not (member name '("srfi-4")))) - (map (compose guix-name->egg-name first) + (map (compose guix-name->egg-name symbol->string) (append egg-propagated-inputs egg-native-inputs))))))) diff --git a/tests/egg.scm b/tests/egg.scm index 0884d8d429..9e45a42443 100644 --- a/tests/egg.scm +++ b/tests/egg.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2021 Sarah Morgensen ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,16 +87,9 @@ ('build-system 'chicken-build-system) ('arguments ('quasiquote ('#:egg-name "foo"))) ('native-inputs - ('quasiquote - (("chicken-test" ('unquote chicken-test)) - ("chicken-srfi-1" ('unquote chicken-srfi-1)) - ("chicken-begin-syntax" ('unquote chicken-begin-syntax))))) - ('inputs - ('quasiquote - (("libgit2" ('unquote libgit2))))) - ('propagated-inputs - ('quasiquote - (("chicken-datatype" ('unquote chicken-datatype))))) + ('list 'chicken-test 'chicken-srfi-1 'chicken-begin-syntax)) + ('inputs ('list 'libgit2)) + ('propagated-inputs ('list 'chicken-datatype)) ('home-page "https://wiki.call-cc.org/egg/foo") ('synopsis "Example egg") ('description #f) @@ -108,16 +102,9 @@ ('source (? file-like? source)) ('build-system 'chicken-build-system) ('arguments ('quasiquote ('#:egg-name "bar"))) - ('native-inputs - ('quasiquote - (("chicken-test" ('unquote chicken-test)) - ("chicken-begin-syntax" ('unquote chicken-begin-syntax))))) - ('inputs - ('quasiquote - (("libgit2" ('unquote libgit2))))) - ('propagated-inputs - ('quasiquote - (("chicken-datatype" ('unquote chicken-datatype))))) + ('native-inputs ('list 'chicken-test 'chicken-begin-syntax)) + ('inputs ('list 'libgit2)) + ('propagated-inputs ('list 'chicken-datatype)) ('home-page "https://wiki.call-cc.org/egg/bar") ('synopsis "Example egg") ('description #f) -- cgit v1.2.3