gnu: fastcap: Use texlive-tiny.

* gnu/packages/engineering.scm (fastcap)[native-inputs]: Replace texlive with
texlive-tiny.
[arguments]: Fix indentation; set HOME in "make-pdf" phase to avoid font
errors with texlive-tiny.
This commit is contained in:
Ricardo Wurmus 2017-11-08 17:15:24 +01:00
parent 7e3aca2b78
commit 697e341e74
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 63 additions and 59 deletions

View File

@ -314,7 +314,10 @@ featuring various improvements and bug fixes.")))
"fastcap-mulGlobal.patch")))) "fastcap-mulGlobal.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("texlive" ,texlive) ;; FIXME: with texlive-tiny citation references are rendered as question
;; marks. During the build warnings like these are printed:
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3.
`(("texlive" ,texlive-tiny)
("ghostscript" ,ghostscript))) ("ghostscript" ,ghostscript)))
(arguments (arguments
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all") `(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
@ -325,69 +328,70 @@ featuring various improvements and bug fixes.")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'build 'make-doc (add-after 'build 'make-doc
(lambda _ (lambda _
(zero? (system* "make" "CC=gcc" "RM=rm" "SHELL=sh" (zero? (system* "make" "CC=gcc" "RM=rm" "SHELL=sh"
"manual")))) "manual"))))
(add-before 'make-doc 'fix-doc (add-before 'make-doc 'fix-doc
(lambda _ (lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm"))) (substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(substitute* (find-files "doc" "\\.tex") (substitute* (find-files "doc" "\\.tex")
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}" (("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale) all file scale)
(string-append "\\includegraphics[scale=" scale "]{" (string-append "\\includegraphics[scale=" scale "]{"
file "}")) file "}"))
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}" (("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
all file width) all file width)
(string-append "\\includegraphics[width=" width "]{" (string-append "\\includegraphics[width=" width "]{"
file "}")) file "}"))
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}" (("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
all file height) all file height)
(string-append "\\includegraphics[height=" height "]{" (string-append "\\includegraphics[height=" height "]{"
file "}")) file "}"))
(("\\\\psfig\\{figure=([^,]*)\\}" all file) (("\\\\psfig\\{figure=([^,]*)\\}" all file)
(string-append "\\includegraphics{" file "}"))) (string-append "\\includegraphics{" file "}")))
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex") (substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}" (("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class) all options class)
(string-append "\\documentclass[" options "]{" (string-append "\\documentclass[" options "]{"
class "}\n" class "}\n"
"\\usepackage{graphicx}\n" "\\usepackage{graphicx}\n"
"\\usepackage{robinspace}")) "\\usepackage{robinspace}"))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all) (("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
(string-append "%" all)) (string-append "%" all))
(("\\\\setstretch\\{.*\\}" all) (("\\\\setstretch\\{.*\\}" all)
(string-append "%" all))) (string-append "%" all)))
#t)) #t))
(delete 'configure) (delete 'configure)
(add-before 'install 'clean-bin (add-before 'install 'clean-bin
(lambda _ (lambda _
(delete-file (string-append (getcwd) "/bin/README")) (delete-file (string-append (getcwd) "/bin/README"))
#t)) #t))
(add-before 'install 'make-pdf (add-before 'install 'make-pdf
(lambda _ (lambda _
(with-directory-excursion "doc" (setenv "HOME" "/tmp") ; FIXME: for texlive font cache
(and (with-directory-excursion "doc"
(every (lambda (file) (and
(zero? (system* "dvips" file "-o"))) (every (lambda (file)
(find-files "." "\\.dvi")) (zero? (system* "dvips" file "-o")))
(every (lambda (file) (find-files "." "\\.dvi"))
(zero? (system* "ps2pdf" file))) (every (lambda (file)
'("mtt.ps" "ug.ps" "tcad.ps")) (zero? (system* "ps2pdf" file)))
(zero? (system* "make" "clean")))))) '("mtt.ps" "ug.ps" "tcad.ps"))
(zero? (system* "make" "clean"))))))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share")) (data (string-append out "/share"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(doc (string-append data "/doc/" ,name "-" ,version)) (doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples"))) (examples (string-append doc "/examples")))
(with-directory-excursion "bin" (with-directory-excursion "bin"
(for-each (lambda (f) (for-each (lambda (f)
(install-file f bin)) (install-file f bin))
(find-files "." ".*"))) (find-files "." ".*")))
(copy-recursively "doc" doc) (copy-recursively "doc" doc)
(copy-recursively "examples" examples) (copy-recursively "examples" examples)
#t)))))) #t))))))
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm") (home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated capacitance extraction program") (synopsis "Multipole-accelerated capacitance extraction program")
(description (description