gnu: Add simple-texlive-package.
* gnu/packages/tex.scm (simple-texlive-package): New procedure.
This commit is contained in:
parent
2541379ee4
commit
8ab600f8c3
|
@ -75,6 +75,64 @@
|
|||
#:use-module (ice-9 match)
|
||||
#:use-module ((srfi srfi-1) #:hide (zip)))
|
||||
|
||||
(define* (simple-texlive-package name locations hash
|
||||
#:key trivial?)
|
||||
"Return a template for a simple TeX Live package with the given NAME,
|
||||
downloading from a list of LOCATIONS in the TeX Live repository, and expecting
|
||||
the provided output HASH. If TRIVIAL? is provided, all files will simply be
|
||||
copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used."
|
||||
(define with-documentation?
|
||||
(and trivial?
|
||||
(any (lambda (location)
|
||||
(string-prefix? "/doc" location))
|
||||
locations)))
|
||||
(package
|
||||
(name name)
|
||||
(version (number->string %texlive-revision))
|
||||
(source (texlive-origin name version
|
||||
locations hash))
|
||||
(outputs (if with-documentation?
|
||||
'("out" "doc")
|
||||
'("out")))
|
||||
(build-system (if trivial?
|
||||
gnu-build-system
|
||||
texlive-build-system))
|
||||
(arguments
|
||||
(let ((copy-files
|
||||
`(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let (,@(if with-documentation?
|
||||
`((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/texmf-dist/")))
|
||||
'())
|
||||
(out (string-append (assoc-ref outputs "out")
|
||||
"/share/texmf-dist/")))
|
||||
,@(if with-documentation?
|
||||
'((mkdir-p doc)
|
||||
(copy-recursively
|
||||
(string-append (assoc-ref inputs "source") "/doc")
|
||||
(string-append doc "/doc")))
|
||||
'())
|
||||
(mkdir-p out)
|
||||
(copy-recursively (assoc-ref inputs "source") out)
|
||||
,@(if with-documentation?
|
||||
'((delete-file-recursively (string-append out "/doc")))
|
||||
'())
|
||||
#t))))
|
||||
(if trivial?
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build (const #t))
|
||||
(replace 'install ,copy-files)))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'copy-files ,copy-files))))))
|
||||
(home-page #f)
|
||||
(synopsis #f)
|
||||
(description #f)
|
||||
(license #f)))
|
||||
|
||||
(define texlive-extra-src
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
|
Loading…
Reference in New Issue