1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-16 20:10:39 +02:00

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.
This commit is contained in:
Nicolas Goaziou 2023-06-09 10:09:21 +02:00
parent 5f51601bd9
commit 0224a8f400
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D
2 changed files with 30 additions and 23 deletions

View file

@ -342,24 +342,30 @@ of those files are returned that are unexpectedly installed."
,@(if (assoc-ref data 'docfiles) ,@(if (assoc-ref data 'docfiles)
'((outputs '("out" "doc"))) '((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' ;; Translate AddFormat execute actions into a `#:create-formats'
;; argument. ;; argument.
,@(or (and-let* ,@(cond
((actions (assoc-ref data 'execute)) (meta-package? '((arguments (list #:builder #~(mkdir #$output)))))
(formats ((and-let* ((actions (assoc-ref data 'execute))
(delete-duplicates (formats
(filter-map (lambda (action) (delete-duplicates
(match (string-split action #\space) (filter-map
(("AddFormat" name . _) (lambda (action)
(string-drop name (match (string-split action #\space)
(string-length "name="))) (("AddFormat" name . _)
(  #f))) (string-drop name (string-length "name=")))
actions))) (  #f)))
((not (null? formats)))) actions)))
`((arguments ((not (null? formats))))
(list #:create-formats #~(list ,@(reverse formats)))))) formats)
'()) =>
(lambda (formats)
`((arguments
(list #:create-formats #~(list ,@(reverse formats)))))))
(else '()))
;; Texlive build system generates font metrics whenever a font ;; Texlive build system generates font metrics whenever a font
;; metrics file has the same base name as a Metafont file. ;; metrics file has the same base name as a Metafont file.
,@(or (and-let* ((runfiles (assoc-ref data 'runfiles)) ,@(or (and-let* ((runfiles (assoc-ref data 'runfiles))

View file

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