summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-11-22 14:21:13 +0100
committerLudovic Courtès <ludo@gnu.org>2019-11-22 15:00:59 +0100
commitc0e9d470e1eb3eba0d2c2da3c6ffdd5665c4638b (patch)
tree6170f678497a7fa6edc8b58f476a651ecfc4d697
parent732c96f182386d1be00ebf47d332d8c81b878dcf (diff)
downloadguix-c0e9d470e1eb3eba0d2c2da3c6ffdd5665c4638b.tar.gz
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.
-rw-r--r--guix/import/texlive.scm8
1 files 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