From c0e9d470e1eb3eba0d2c2da3c6ffdd5665c4638b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 22 Nov 2019 14:21:13 +0100 Subject: [PATCH] import: texlive: Handle multi-license packages. This fixes "guix import texlive translator". * guix/import/texlive.scm (sxml->package): Add clause for when 'license' is a list of licences, as is the case with the "translator" package. --- guix/import/texlive.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 791b514485..d528aace9a 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -140,7 +140,9 @@ expression describing it." (synopsis (sxml-value '(entry caption *text*))) (version (or (sxml-value '(entry version @ number *text*)) (sxml-value '(entry version @ date *text*)))) - (license (string->license (sxml-value '(entry license @ type *text*)))) + (license (match ((sxpath '(entry license @ type *text*)) sxml) + ((license) (string->license license)) + ((lst ...) (map string->license lst)))) (home-page (string-append "http://www.ctan.org/pkg/" id)) (ref (texlive-ref component id)) (checkout (download-svn-to-store store ref))) @@ -169,7 +171,9 @@ expression describing it." (sxml->string (or (sxml-value '(entry description)) '()))) #\newline))))) - (license ,license))))) + (license ,(match license + ((lst ...) `(list ,@lst)) + (license license))))))) (define texlive->guix-package (memoize