diff options
author | Florian Schmaus <flow@gentoo.org> | 2024-12-11 10:13:32 +0100 |
---|---|---|
committer | Florian Schmaus <flow@gentoo.org> | 2024-12-12 17:57:05 +0100 |
commit | b19ff3462450417986410812624ed7c29a767824 (patch) | |
tree | b7fe52f9783d948cb6c8281be3eebab717fcb785 /eclass | |
parent | dev-tex/tex4ht: remove unused patch (diff) | |
download | gentoo-b19ff3462450417986410812624ed7c29a767824.tar.gz gentoo-b19ff3462450417986410812624ed7c29a767824.tar.bz2 gentoo-b19ff3462450417986410812624ed7c29a767824.zip |
latex-package.eclass: do not set $@ in latex-package_src_doinstall's loop
Since 595611085bc5 ("latex-package: kill POSIX and old EAPI"), the 'tex'
and 'dtx' case handling of latex-package_src_doinstall's loop would set
$@ to a pdflatex invocation. However, the main loop of this function
iterates over $@, and after $@ is set to a pdflatex command, this
iteration would continue to process the components of the pdflatex
command.
As result, ebuild have to
latex-package_src_doinstall doc
latex-package_src_doinstall pdf
when
latex-package_src_doinstall doc
should be sufficient, because the 'doc' case expands to the "tex dtx dvi
ps pdf" cases. However, once a 'tex' or 'dtx' case was processed, the
remaining onces are no longer be processed, due the bug described above.
The fix is simple: do not abuse $@ to save the pdflatex command,
instead, use a dedicated local variable.
Fixes: 595611085bc532afb9f31fa23cee734bc37d21a4
Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/latex-package.eclass | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass index 4082e161b843..d6426775f720 100644 --- a/eclass/latex-package.eclass +++ b/eclass/latex-package.eclass @@ -137,11 +137,16 @@ latex-package_src_doinstall() { continue einfo "Making documentation: ${i}" + local mypdflatex=( + pdflatex + ${LATEX_DOC_ARGUMENTS} + --halt-on-error + --interaction=nonstopmode + "${i}" + ) # some macros need compiler called twice, do it here. - set -- pdflatex ${LATEX_DOC_ARGUMENTS} \ - --halt-on-error --interaction=nonstopmode "${i}" - if "${@}"; then - "${@}" + if "${mypdflatex[@]}"; then + "${mypdflatex[@]}" else einfo "pdflatex failed, trying texi2dvi" texi2dvi -q -c --language=latex "${i}" || die |