guix: texlive importer allows meta-packages to build TeX formats.

* guix/import/texlive.scm (tlpdb->package): A package with no locations can
still build TeX format files, and therefore may use TEXLIVE-BUILD-SYSTEM.
This commit is contained in:
Nicolas Goaziou 2023-06-19 15:18:35 +02:00
parent ae83879c58
commit f3cdb6e203
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -394,9 +394,10 @@ (define (tlpdb->package name version package-database)
(source (with-store store (source (with-store store
(download-multi-svn-to-store (download-multi-svn-to-store
store ref (string-append name "-svn-multi-checkout"))))) store ref (string-append name "-svn-multi-checkout")))))
(let* ((meta-package? (null? locs)) (let* ((scripts (linked-scripts texlive-name package-database))
(scripts (and (not meta-package?) (tex-formats (formats data))
(linked-scripts texlive-name package-database)))) (meta-package? (null? locs))
(empty-package? (and meta-package? (not (pair? tex-formats)))))
(values (values
`(package `(package
(name ,name) (name ,name)
@ -414,29 +415,33 @@ (define (tlpdb->package name version package-database)
,@(if (assoc-ref data 'docfiles) ,@(if (assoc-ref data 'docfiles)
'((outputs '("out" "doc"))) '((outputs '("out" "doc")))
'()) '())
(build-system ,(if meta-package? ;; Set build-system.
;;
;; Use trivial build system only when the package contains no files,
;; and no TeX format file is expected to be built.
(build-system ,(if empty-package?
'trivial-build-system 'trivial-build-system
'texlive-build-system)) 'texlive-build-system))
;; Generate arguments field. ;; Generate arguments field.
,@(if meta-package? ,@(let* ((latex-bin-dependency?
'((arguments (list #:builder #~(mkdir #$output)))) (member texlive-name
(let* ((formats (formats data)) (latex-bin-dependency-tree package-database)))
(latex-bin-dependency? (arguments
(member texlive-name (append (if empty-package?
(latex-bin-dependency-tree package-database))) '(#:builder #~(mkdir #$output))
(arguments '())
(append (if latex-bin-dependency? (if latex-bin-dependency?
'(#:texlive-latex-bin? #f) '(#:texlive-latex-bin? #f)
'()) '())
(if (pair? scripts) (if (pair? scripts)
`(#:link-scripts #~(list ,@scripts)) `(#:link-scripts #~(list ,@scripts))
'()) '())
(if (pair? formats) (if (pair? tex-formats)
`(#:create-formats #~(list ,@formats)) `(#:create-formats #~(list ,@tex-formats))
'())))) '()))))
(if (pair? arguments) (if (pair? arguments)
`((arguments (list ,@arguments))) `((arguments (list ,@arguments)))
'()))) '()))
;; Native inputs. ;; Native inputs.
;; ;;
;; Texlive build system generates font metrics whenever a font ;; Texlive build system generates font metrics whenever a font