mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-23 02:36:40 +01:00
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:
parent
ae83879c58
commit
f3cdb6e203
1 changed files with 28 additions and 23 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue