commit:     7e46810c2d4eaeaba6e7ce1d2d888e0b2e9fae68
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 19:05:15 2019 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 19:13:58 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e46810c

app-doc/doxygen: try to fix ghostscript compatibility

Bug: https://bugs.gentoo.org/695710
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 app-doc/doxygen/doxygen-1.8.16.ebuild              |  1 +
 ...oxygen-1.8.16-ghostscript-compatilibility.patch | 39 ++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/app-doc/doxygen/doxygen-1.8.16.ebuild 
b/app-doc/doxygen/doxygen-1.8.16.ebuild
index 33dcae69729..7b7f2f933b7 100644
--- a/app-doc/doxygen/doxygen-1.8.16.ebuild
+++ b/app-doc/doxygen/doxygen-1.8.16.ebuild
@@ -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
index 00000000000..55445fa19dc
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.16-ghostscript-compatilibility.patch
@@ -0,0 +1,39 @@
+From f08e87623368134c6541af12995b811ef9aff069 Mon Sep 17 00:00:00 2001
+From: albert-github <albert.te...@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
+

Reply via email to