From 4a245129ffc84ca9a173da82df6f91239c6b1fe6 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Fri, 5 May 2023 17:22:03 +0200
Subject: guix: import: Update texlive importer according to new build system.

* guix/import/texlive.scm (tlpdb->package): Generate a package that doesn't
need SIMPLE-TEXLIVE-PACKAGE.
* guix/import/utils.scm (package->definition): Remove special case for
`simple-texlive-package'.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package"): Update test.
("texlive->guix-package, no docfiles"): New test.
---
 guix/import/texlive.scm | 42 +++++++++++++++++++++++-------------------
 guix/import/utils.scm   |  3 ---
 2 files changed, 23 insertions(+), 22 deletions(-)

(limited to 'guix/import')

diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index 086cd363a9..e5fcb7adf8 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -275,33 +275,37 @@ of those files are returned that are unexpectedly installed."
                         store ref (string-append name "-svn-multi-checkout")))))
     (values
      `(package
-        (inherit (simple-texlive-package
-                  ,name
-                  (list ,@dirs)
-                  (base32
-                   ,(bytevector->nix-base32-string
-                     (let-values (((port get-hash) (open-sha256-port)))
-                       (write-file source port)
-                       (force-output port)
-                       (get-hash))))
-                  ,@(if (assoc-ref data 'srcfiles) '() '(#:trivial? #true))))
-        ;; package->definition in (guix import utils) expects to see a
-        ;; version field.
-        (version ,version)
+        (name ,name)
+        (version (number->string %texlive-revision))
+        (source (texlive-origin
+                 name version
+                 (list ,@(sort locs string<))
+                 (base32
+                  ,(bytevector->nix-base32-string
+                    (let-values (((port get-hash) (open-sha256-port)))
+                      (write-file source port)
+                      (force-output port)
+                      (get-hash))))))
+        ,@(if (assoc-ref data 'docfiles)
+              '((outputs '("out" "doc")))
+              '())
+        (build-system texlive-build-system)
         ,@(match filtered-depends
             (() '())
             (inputs
              `((propagated-inputs
-                (list ,@(map
+                (list ,@(map-in-order
                          (lambda (tex-name)
                            (let ((name (guix-name tex-name)))
                              (string->symbol name)))
-                         inputs))))))
-        ,@(or (and=> (assoc-ref data 'name)
+                         ;; Sort inputs alphabetically.
+                         (reverse inputs)))))))
+        (home-page
+         ,(or (and=> (or (assoc-ref data 'catalogue)
+                         (assoc-ref data 'name))
                      (lambda (name)
-                       `((home-page ,(string-append "https://ctan.org/pkg/"
-                                                    name)))))
-              '((home-page "https://www.tug.org/texlive/")))
+                       (string-append "https://ctan.org/pkg/" name)))
+              "https://www.tug.org/texlive/"))
         (synopsis ,(assoc-ref data 'shortdesc))
         (description ,(and=> (assoc-ref data 'longdesc) beautify-description))
         (license ,(and=> (assoc-ref data 'catalogue-license)
diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index e9a0a7ecd7..5176f12a31 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -436,10 +436,7 @@ APPEND-VERSION?/string is a string, append this string."
   (match guix-package
     ((or
       ('package ('name name) ('version version) . rest)
-      ('package ('inherit ('simple-texlive-package name . _))
-                ('version version) . rest)
       ('let _ ('package ('name name) ('version version) . rest)))
-
      `(define-public ,(string->symbol
                        (cond
                         ((string? append-version?/string)
-- 
cgit v1.2.3