summary refs log tree commit diff
path: root/guix
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-06-09 10:09:21 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:12:55 +0200
commit0224a8f400278c0afafc0aa4d45ee5ee261df59b (patch)
tree09d57bbb0efd412de6815b17b6a4057f2c72b71a /guix
parent5f51601bd90ae05547313a36cce590c26bd6a6b2 (diff)
downloadguix-0224a8f400278c0afafc0aa4d45ee5ee261df59b.tar.gz
guix: texlive importer: Fix build system and arguments for meta-packages.
* guix/import/texlive.scm (tlpdb->package): Meta packages should use trivial
build system and an appropriate builder.
* tests/texlive.scm ("texlive->guix-package, meta-package"):
("texlive->guix-package, translate dependencies"): Update tests.
Diffstat (limited to 'guix')
-rw-r--r--guix/import/texlive.scm38
1 files changed, 22 insertions, 16 deletions
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index 3b0f5cf5c1..a39e327d45 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -342,24 +342,30 @@ of those files are returned that are unexpectedly installed."
           ,@(if (assoc-ref data 'docfiles)
                 '((outputs '("out" "doc")))
                 '())
-          (build-system texlive-build-system)
+          (build-system ,(if meta-package?
+                             'trivial-build-system
+                             'texlive-build-system))
           ;; Translate AddFormat execute actions into a `#:create-formats'
           ;; argument.
-          ,@(or (and-let*
-                    ((actions (assoc-ref data 'execute))
-                     (formats
-                      (delete-duplicates
-                       (filter-map (lambda (action)
-                                     (match (string-split action #\space)
-                                       (("AddFormat" name . _)
-                                        (string-drop name
-                                                     (string-length "name=")))
-                                       (  #f)))
-                                   actions)))
-                     ((not (null? formats))))
-                  `((arguments
-                     (list #:create-formats #~(list ,@(reverse formats))))))
-                '())
+          ,@(cond
+             (meta-package? '((arguments (list #:builder #~(mkdir #$output)))))
+             ((and-let* ((actions (assoc-ref data 'execute))
+                         (formats
+                          (delete-duplicates
+                           (filter-map
+                            (lambda (action)
+                              (match (string-split action #\space)
+                                (("AddFormat" name . _)
+                                 (string-drop name (string-length "name=")))
+                                (  #f)))
+                            actions)))
+                         ((not (null? formats))))
+                formats)
+              =>
+              (lambda (formats)
+                `((arguments
+                   (list #:create-formats #~(list ,@(reverse formats)))))))
+             (else '()))
           ;; Texlive build system generates font metrics whenever a font
           ;; metrics file has the same base name as a Metafont file.
           ,@(or (and-let* ((runfiles (assoc-ref data 'runfiles))