Package: doxygen
Severity: serious
Tags: upstream
Justification: Policy 7.8
Hi,
as discussed on Debian Mentors list[1] doxygen injects unescaped '%'
signs into LaTeX source. I tried to apply the attached patch to the
doxygen package since Jakub Wilk pointed to a potential solution in
upstream Git[2]. Unfortunately this does not help since the cimg build
remains with the broken LaTeX code as you can see here:
~ grep "operator%" html/latex/*.tex
html/latex/structcimg__library_1_1CImg.tex:\subsubsection[{\texorpdfstring{operator\%=(const
t value)}{operator%=(const t value)}}]{\setlength{\rightskip}{0pt plus
5cm}{\bf C\+Img}$<$T$>$\& operator\%= (
html/latex/structcimg__library_1_1CImg.tex:\subsubsection[{\texorpdfstring{operator\%=(const
char $\ast$const expression)}{operator%=(const char *const
expression)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf C\+Img}$<$T$>$\&
operator\%= (
html/latex/structcimg__library_1_1CImg.tex:\subsubsection[{\texorpdfstring{operator\%=(const
C\+Img$<$ t $>$ \&img)}{operator%=(const CImg< t >
&img)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf C\+Img}$<$T$>$\& operator\%= (
html/latex/structcimg__library_1_1CImg.tex:\subsubsection[{\texorpdfstring{operator\%(const
t value) const }{operator%(const t value) const }}]{\setlength{\rightskip}{0pt
plus 5cm}{\bf C\+Img}$<$ typename cimg\+::superset$<$T,t$>$\+::type $>$
operator\% (
html/latex/structcimg__library_1_1CImg.tex:\subsubsection[{\texorpdfstring{operator\%(const
char $\ast$const expression) const }{operator%(const char *const expression)
const }}]{\setlength{\rightskip}{0pt plus 5cm}{\bf C\+Img}$<$Tfloat$>$
operator\% (
html/latex/structcimg__library_1_1CImg.tex:\subsubsection[{\texorpdfstring{operator\%(const
C\+Img$<$ t $>$ \&img) const }{operator%(const CImg< t > &img) const
}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf C\+Img}$<$ typename
cimg\+::superset$<$T,t$>$\+::type $>$ operator\% (
I've set this bug to serious since the problem causes FTBFS for
at least one package (cimg see #819606).
Kind regards
Andreas.
[1] https://lists.debian.org/debian-mentors/2016/05/msg00061.html
[2]
https://github.com/doxygen/doxygen/commit/d4ab02c2da7df472bebbf2724419ba00f2de229c
-- System Information:
Debian Release: 8.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages doxygen depends on:
ii libc6 2.19-18+deb8u4
pn libclang1-3.5 <none>
ii libgcc1 1:4.9.2-10
ii libsqlite3-0 3.8.7.1-1+deb8u1
ii libstdc++6 4.9.2-10
ii libxapian22 1.2.19-1+deb8u1
doxygen recommends no packages.
Versions of packages doxygen suggests:
pn doxygen-doc <none>
pn doxygen-gui <none>
pn doxygen-latex <none>
pn graphviz <none>
Author: Andreas Tille <[email protected]>
Last-Update: Wed, 31 Aug 2016 08:41:10 +0200
Origin: https://github.com/doxygen/doxygen/commit/d4ab02c2da7df472bebbf2724419ba00f2de229c
Description: Fix unescaped % and & sign breaking (at least) build of
cimg (see #819606)
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -6550,6 +6550,8 @@ void filterLatexString(FTextStream &t,co
case '{': t << "\\{"; break;
case '}': t << "\\}"; break;
case '_': t << "\\_"; break;
+ case '%': t << "\\%"; break;
+ case '&': t << "\\&"; break;
case ' ': if (keepSpaces) t << "~"; else t << ' ';
break;
default: