From 0224a8f400278c0afafc0aa4d45ee5ee261df59b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 9 Jun 2023 10:09:21 +0200 Subject: 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 @@ (define (tlpdb->package name version package-database) ,@(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 @@ (define %fake-tlpdb (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 @@ (define %fake-tlpdb ('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 @@ (define %fake-tlpdb ('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 @@ (define %fake-tlpdb ('name "texlive-tex") ('version _) ('source _) + ('outputs _) ('build-system 'texlive-build-system) ('propagated-inputs ('list 'texlive-cm 'texlive-hyphen-base)) -- cgit v1.2.3