summaryrefslogtreecommitdiff
path: root/app-text/dvisvgm/files/dvisvgm-2.14-ghostscript.patch
blob: 88b3dcfde3f0ae8280d2afa249abc0d87c1a3c84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
https://github.com/mgieseki/dvisvgm/commit/629544928877362d0c6d64f20695f7df3073c5eb
https://github.com/mgieseki/dvisvgm/commit/0213b9252e4aa44034520112dd59a8d5d2ca4e85
https://github.com/mgieseki/dvisvgm/commit/9bf81fd0b6e7876e5079e917ed7e12163b9e7f7f
https://bugs.gentoo.org/873961

From 629544928877362d0c6d64f20695f7df3073c5eb Mon Sep 17 00:00:00 2001
From: Martin Gieseking <martin.gieseking@uos.de>
Date: Thu, 22 Sep 2022 10:41:11 +0200
Subject: [PATCH] fixed compilation error when DISABLE_GS is set

--- a/src/Ghostscript.hpp
+++ b/src/Ghostscript.hpp
@@ -47,8 +47,8 @@ struct Ghostscript {
 	Ghostscript (int argc, const char **argv, void *caller=0) {}
 	bool init (int argc, const char **argv, void *caller=0) {return false;}
 	bool available () {return false;}
-	bool revision (gsapi_revision_t *r) {return false;}
-	int revision () {return 0;}
+	bool revision (gsapi_revision_t *r) const {return false;}
+	int revision () const {return 0;}
 	std::string revisionstr () {return "";}
 	int set_stdio (Stdin in, Stdout out, Stderr err) {return 0;}
 	int run_string_begin (int user_errors, int *pexit_code) {return 0;}

From 0213b9252e4aa44034520112dd59a8d5d2ca4e85 Mon Sep 17 00:00:00 2001
From: Martin Gieseking <martin.gieseking@uos.de>
Date: Fri, 23 Sep 2022 19:59:01 +0200
Subject: [PATCH] updated ierrors.h

--- a/src/ierrors.h
+++ b/src/ierrors.h
@@ -1,22 +1,26 @@
-/* Copyright (C) 2001-2006 Artifex Software, Inc.
+/* Copyright (C) 2001-2022 Artifex Software, Inc.
    All Rights Reserved.
-  
+
    This software is provided AS-IS with no warranty, either express or
    implied.
 
-   This software is distributed under license and may not be copied, modified
-   or distributed except as expressly authorized under the terms of that
-   license.  Refer to licensing information at http://www.artifex.com/
-   or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
-   San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
+   This software is distributed under license and may not be copied,
+   modified or distributed except as expressly authorized under the terms
+   of the license contained in the file LICENSE in this distribution.
+
+   Refer to licensing information at http://www.artifex.com or contact
+   Artifex Software, Inc.,  1305 Grant Avenue - Suite 200, Novato,
+   CA 94945, U.S.A., +1(415)492-9861, for further information.
 */
 
-/* $Id: ierrors.h 8022 2007-06-05 22:23:38Z giles $ */
+
 /* Definition of error codes */
 
 #ifndef ierrors_INCLUDED
 #  define ierrors_INCLUDED
 
+//#include "gserrors.h"
+
 /*
  * DO NOT USE THIS FILE IN THE GRAPHICS LIBRARY.
  * THIS FILE IS PART OF THE POSTSCRIPT INTERPRETER.
@@ -33,33 +37,7 @@
 /* Define the error name table */
 extern const char *const gs_error_names[];
 
-		/* ------ PostScript Level 1 errors ------ */
-
-#define e_unknownerror (-1)	/* unknown error */
-#define e_dictfull (-2)
-#define e_dictstackoverflow (-3)
-#define e_dictstackunderflow (-4)
-#define e_execstackoverflow (-5)
-#define e_interrupt (-6)
-#define e_invalidaccess (-7)
-#define e_invalidexit (-8)
-#define e_invalidfileaccess (-9)
-#define e_invalidfont (-10)
-#define e_invalidrestore (-11)
-#define e_ioerror (-12)
-#define e_limitcheck (-13)
-#define e_nocurrentpoint (-14)
-#define e_rangecheck (-15)
-#define e_stackoverflow (-16)
-#define e_stackunderflow (-17)
-#define e_syntaxerror (-18)
-#define e_timeout (-19)
-#define e_typecheck (-20)
-#define e_undefined (-21)
-#define e_undefinedfilename (-22)
-#define e_undefinedresult (-23)
-#define e_unmatchedmark (-24)
-#define e_VMerror (-25)		/* must be the last Level 1 error */
+                /* ------ PostScript Level 1 errors ------ */
 
 #define LEVEL1_ERROR_NAMES\
  "unknownerror", "dictfull", "dictstackoverflow", "dictstackunderflow",\
@@ -69,85 +47,26 @@ extern const char *const gs_error_names[];
  "stackunderflow", "syntaxerror", "timeout", "typecheck", "undefined",\
  "undefinedfilename", "undefinedresult", "unmatchedmark", "VMerror"
 
-	/* ------ Additional Level 2 errors (also in DPS) ------ */
-
-#define e_configurationerror (-26)
-#define e_undefinedresource (-27)
-#define e_unregistered (-28)
+        /* ------ Additional Level 2 errors (also in DPS) ------ */
 
 #define LEVEL2_ERROR_NAMES\
  "configurationerror", "undefinedresource", "unregistered"
 
-	/* ------ Additional DPS errors ------ */
-
-#define e_invalidcontext (-29)
-/* invalidid is for the NeXT DPS extension. */
-#define e_invalidid (-30)
+        /* ------ Additional DPS errors ------ */
 
 #define DPS_ERROR_NAMES\
  "invalidcontext", "invalidid"
 
-#define ERROR_NAMES\
- LEVEL1_ERROR_NAMES, LEVEL2_ERROR_NAMES, DPS_ERROR_NAMES
-
-	/* ------ Pseudo-errors used internally ------ */
-
-/*
- * Internal code for a fatal error.
- * gs_interpret also returns this for a .quit with a positive exit code.
- */
-#define e_Fatal (-100)
-
-/*
- * Internal code for the .quit operator.
- * The real quit code is an integer on the operand stack.
- * gs_interpret returns this only for a .quit with a zero exit code.
- */
-#define e_Quit (-101)
-
-/*
- * Internal code for a normal exit from the interpreter.
- * Do not use outside of interp.c.
- */
-#define e_InterpreterExit (-102)
-
-/*
- * Internal code that indicates that a procedure has been stored in the
- * remap_proc of the graphics state, and should be called before retrying
- * the current token.  This is used for color remapping involving a call
- * back into the interpreter -- inelegant, but effective.
- */
-#define e_RemapColor (-103)
-
-/*
- * Internal code to indicate we have underflowed the top block
- * of the e-stack.
- */
-#define e_ExecStackUnderflow (-104)
-
-/*
- * Internal code for the vmreclaim operator with a positive operand.
- * We need to handle this as an error because otherwise the interpreter
- * won't reload enough of its state when the operator returns.
- */
-#define e_VMreclaim (-105)
-
-/*
- * Internal code for requesting more input from run_string.
- */
-#define e_NeedInput (-106)
+#define PDF_ERROR_NAMES\
+ "pdf_stackoverflow", "pdf_circular_reference"
 
-/*
- * Internal code for a normal exit when usage info is displayed.
- * This allows Window versions of Ghostscript to pause until
- * the message can be read.
- */
-#define e_Info (-110)
+#define ERROR_NAMES\
+ LEVEL1_ERROR_NAMES, LEVEL2_ERROR_NAMES, DPS_ERROR_NAMES, PDF_ERROR_NAMES
 
 /*
  * Define which error codes require re-executing the current object.
  */
-#define ERROR_IS_INTERRUPT(ecode)\
-  ((ecode) == e_interrupt || (ecode) == e_timeout)
+#define GS_ERROR_IS_INTERRUPT(ecode)\
+  ((ecode) == gs_error_interrupt || (ecode) == gs_error_timeout)
 
 #endif /* ierrors_INCLUDED */

From 9bf81fd0b6e7876e5079e917ed7e12163b9e7f7f Mon Sep 17 00:00:00 2001
From: Martin Gieseking <martin.gieseking@uos.de>
Date: Fri, 23 Sep 2022 20:01:46 +0200
Subject: [PATCH] dropped usage of gs_error_names() because it's no longer
 accessible as of GS 10.0.0 (closes #195)

--- a/src/Ghostscript.cpp
+++ b/src/Ghostscript.cpp
@@ -375,19 +375,9 @@ const char* Ghostscript::error_name (int code) {
 	if (code < 0)
 		code = -code;
 	const char *error_names[] = { ERROR_NAMES };
-	if (code == 0 || (size_t)code > sizeof(error_names)/sizeof(error_names[0]))
+	if (code == 0 || size_t(code) > sizeof(error_names)/sizeof(error_names[0]))
 		return nullptr;
-#if defined(HAVE_LIBGS)
-	// use array defined in libgs to avoid linking the error strings into the binary
-	return gs_error_names[code-1];
-#elif defined(_WIN32)
-	// gs_error_names is private in the Ghostscript DLL so we can't access it here
 	return error_names[code-1];
-#else
-	if (auto error_names = loadSymbol<const char**>("gs_error_names"))
-		return error_names[code-1];
-	return nullptr;
-#endif
 }
 
 #endif  // !DISABLE_GS