guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

436/458: guix: texlive importer: Fix build system and arguments for meta


From: guix-commits
Subject: 436/458: guix: texlive importer: Fix build system and arguments for meta-packages.
Date: Wed, 14 Jun 2023 05:23:28 -0400 (EDT)

ngz pushed a commit to branch tex-team-next
in repository guix.

commit fd1693658a9f8175de93e611076edbd7a11ff68a
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Fri Jun 9 10:09:21 2023 +0200

    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.
---
 guix/import/texlive.scm | 38 ++++++++++++++++++++++----------------
 tests/texlive.scm       | 15 ++++++++-------
 2 files changed, 30 insertions(+), 23 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))
diff --git a/tests/texlive.scm b/tests/texlive.scm
index 975f36c1be..64ab6a2e2e 100644
--- a/tests/texlive.scm
+++ b/tests/texlive.scm
@@ -157,11 +157,7 @@ stuff like \\newcommand\\pi'12{\\pi '_{12}}.")
      (shortdesc . "A sophisticated typesetting engine")
      (longdesc . "TeX is a typesetting system that incorporates...")
      (depend "cm" "hyphen-base" "tex.ARCH")
-     (docfiles
-      "texmf-dist/doc/man/man1/initex.1"
-      "texmf-dist/doc/man/man1/initex.man1.pdf"
-      "texmf-dist/doc/man/man1/tex.1"
-      "texmf-dist/doc/man/man1/tex.man1.pdf")
+     (docfiles "texmf-dist/doc/man/man1/tex.1")
      (catalogue-license . "knuth"))
     ("texsis"
      . ((name
@@ -495,7 +491,9 @@ completely compatible with Plain TeX.")
                ('name "texlive-collection-texworks")
                ('version _)
                ('source #f)
-               ('build-system 'texlive-build-system)
+               ('build-system 'trivial-build-system)
+               ('arguments
+                ('list '#:builder ('gexp ('mkdir ('ungexp 'output)))))
                ('propagated-inputs
                 ('list 'texlive-collection-basic 'texlive-texworks))
                ('home-page "https://www.tug.org/texlive/";)
@@ -598,7 +596,9 @@ completely compatible with Plain TeX.")
                ('name "texlive-collection-basic")
                ('version _)
                ('source _)
-               ('build-system 'texlive-build-system)
+               ('build-system 'trivial-build-system)
+               ('arguments
+                ('list '#:builder ('gexp ('mkdir ('ungexp 'output)))))
                ('propagated-inputs
                 ('list 'texlive-amsfonts 'texlive-hyphen-complete))
                ('home-page (? string?))
@@ -631,6 +631,7 @@ completely compatible with Plain TeX.")
                ('name "texlive-tex")
                ('version _)
                ('source _)
+               ('outputs _)
                ('build-system 'texlive-build-system)
                ('propagated-inputs
                 ('list 'texlive-cm 'texlive-hyphen-base))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]