app-doc/doxygen: try to fix ghostscript compatibility
authorMatthias Maier <tamiko@gentoo.org>
Thu, 12 Dec 2019 19:05:15 +0000 (13:05 -0600)
committerMatthias Maier <tamiko@gentoo.org>
Thu, 12 Dec 2019 19:13:58 +0000 (13:13 -0600)
Bug: https://bugs.gentoo.org/695710
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Matthias Maier <tamiko@gentoo.org>
app-doc/doxygen/doxygen-1.8.16.ebuild
app-doc/doxygen/files/doxygen-1.8.16-ghostscript-compatilibility.patch [new file with mode: 0644]

index 33dcae69729138cfbeaaa755a8d0077adf86d8c3..7b7f2f933b7bc5d90e8a5feb146398b61ebc24a5 100644 (file)
@@ -62,6 +62,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348
        "${FILESDIR}/${PN}-1.8.16-link_with_pthread.patch"
        "${FILESDIR}/${PN}-1.8.15-llvm7.patch" #666692
+       "${FILESDIR}/${PN}-1.8.16-ghostscript-compatilibility.patch" #695710
 )
 
 DOCS=( LANGUAGE.HOWTO README.md )
diff --git a/app-doc/doxygen/files/doxygen-1.8.16-ghostscript-compatilibility.patch b/app-doc/doxygen/files/doxygen-1.8.16-ghostscript-compatilibility.patch
new file mode 100644 (file)
index 0000000..55445fa
--- /dev/null
@@ -0,0 +1,39 @@
+From f08e87623368134c6541af12995b811ef9aff069 Mon Sep 17 00:00:00 2001
+From: albert-github <albert.tests@gmail.com>
+Date: Tue, 12 Nov 2019 11:42:22 +0100
+Subject: [PATCH] issue #7290 error: Problem running ghostscript gs -q -g562x56
+ -r384x384x -sDEVICE=ppmraw -sOutputFile=_form0.pnm -dNOPAUSE -dBATCH --
+ _form0.ps. Check your installation!
+
+@maehr had a talk with Robin Watts and Ken Sharp at IRC and there seem to be basically 3 different problems:
+* `-r%dx%d` (the dimension for `r` shouldn't be `-r384x384x`, but `-r384x384`),
+* misuse / unnecessary use of `--` and
+* since 9.50 the command needs more control access (that might be worked around by either whitelisting the file via `--permit-file-read=_form0.eps` (only works from 9.50 and upwards) or generally accepting any file with `-dNOSAFER` (works since quite some time). The second option is considered to be unsafe if we would process any file, but in this case we process self produced / controlled files. I don't know if doxygen has any threat model that it assumes. ).
+
+> Ken Sharp: Yeah the %dx is wrong, as Robin says its sheer luck that works
+the -- isn't needed and is what's causing the first problem
+and file control is the new bugbear
+
+The suggestions have been implemented and test / docs works now with old and new version.
+---
+ src/formula.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/formula.cpp b/src/formula.cpp
+index 534f56ac..3d8e6ce1 100644
+--- a/src/formula.cpp
++++ b/src/formula.cpp
+@@ -193,8 +193,8 @@ void FormulaList::generateBitmaps(const char *path)
+       // used.  
+       char gsArgs[4096];
+-      sprintf(gsArgs,"-q -g%dx%d -r%dx%dx -sDEVICE=ppmraw "
+-                    "-sOutputFile=%s.pnm -dNOPAUSE -dBATCH -- %s.ps",
++      sprintf(gsArgs,"-q -g%dx%d -r%dx%d -sDEVICE=ppmraw "
++                    "-sOutputFile=%s.pnm -dNOPAUSE -dBATCH -dNOSAFER %s.ps",
+                     gx,gy,(int)(scaleFactor*72),(int)(scaleFactor*72),
+                     formBase.data(),formBase.data()
+              );
+-- 
+2.24.1
+