aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-06-09 10:09:21 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:12:55 +0200
commit0224a8f400278c0afafc0aa4d45ee5ee261df59b (patch)
tree09d57bbb0efd412de6815b17b6a4057f2c72b71a
parent5f51601bd90ae05547313a36cce590c26bd6a6b2 (diff)
downloadguix-0224a8f400278c0afafc0aa4d45ee5ee261df59b.tar.gz
guix-0224a8f400278c0afafc0aa4d45ee5ee261df59b.zip
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.
-rw-r--r--guix/import/texlive.scm38
-rw-r--r--tests/texlive.scm15
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))