/[pkgs]/devel/texlive/texlive-poppler.patch
ViewVC logotype

Contents of /devel/texlive/texlive-poppler.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (show annotations) (download) (as text)
Fri Oct 16 05:36:20 2009 UTC (5 weeks, 3 days ago) by jnovy
Branch: MAIN
CVS Tags: texlive-2007-46_fc13, texlive-2007-47_fc13, texlive-2007-45_fc13, HEAD
Changes since 1.5: +20 -11 lines
File MIME type: text/x-patch
* Thu Oct 15 2009 Jindrich Novy <jnovy@redhat.com> 2007-45
- make kpathsea not dependent on texlive
- fix lacheck again (#451513)
- fix dvips configuration (#467542)
- update kpathsea description and summary (#519257)
- use upstream patch to fix pool overflow CVE-2009-1284 (#492136)
1 diff -up texlive-2007/configure.in.poppler texlive-2007/configure.in
2 --- texlive-2007/configure.in.poppler 2007-01-09 02:17:11.000000000 +0100
3 +++ texlive-2007/configure.in 2009-10-15 14:57:43.000000000 +0200
4 @@ -157,9 +157,9 @@ export needs_zlib
5
6 # we need libxpdf for pdf[ex]tex, xetex
7 test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
8 -test "$with_pdftex" != no && : ${needs_libxpdf=yes}
9 -test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
10 -test "$with_xetex" != no && : ${needs_libxpdf=yes}
11 +test "$with_pdftex" != no && : ${needs_libxpdf=no}
12 +test "$with_pdfetex" != no && : ${needs_libxpdf=no}
13 +test "$with_xetex" != no && : ${needs_libxpdf=no}
14 : ${needs_libxpdf=no}
15 export needs_libxpdf
16
17 @@ -207,7 +207,7 @@ dnl We cannot use variables (e.g. $LIBPN
18 sinclude(libs/libpng/libpng.ac)
19 sinclude(libs/zlib/zlib.ac)
20 sinclude(libs/ncurses/ncurses.ac)
21 -sinclude(libs/xpdf/libxpdf.ac)
22 +#sinclude(libs/xpdf/libxpdf.ac)
23 sinclude(libs/t1lib/t1lib.ac)
24 sinclude(libs/gd/gd.ac)
25 sinclude(libs/freetype/freetype.ac)
26 diff -up texlive-2007/configure.poppler texlive-2007/configure
27 --- texlive-2007/configure.poppler 2007-01-09 15:16:26.000000000 +0100
28 +++ texlive-2007/configure 2009-10-15 14:57:43.000000000 +0200
29 @@ -3442,9 +3442,9 @@ export needs_zlib
30
31 # we need libxpdf for pdf[ex]tex, xetex
32 test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
33 -test "$with_pdftex" != no && : ${needs_libxpdf=yes}
34 -test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
35 -test "$with_xetex" != no && : ${needs_libxpdf=yes}
36 +test "$with_pdftex" != no && : ${needs_libxpdf=no}
37 +test "$with_pdfetex" != no && : ${needs_libxpdf=no}
38 +test "$with_xetex" != no && : ${needs_libxpdf=no}
39 : ${needs_libxpdf=no}
40 export needs_libxpdf
41
42 diff -up texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler texlive-2007/texk/web2c/pdftexdir/pdftexextra.in
43 --- texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler 2006-12-27 00:37:34.000000000 +0100
44 +++ texlive-2007/texk/web2c/pdftexdir/pdftexextra.in 2009-10-15 14:57:43.000000000 +0200
45 @@ -26,7 +26,7 @@ $Id: pdftexextra.in,v 1.4 2004/08/26 18:
46 (generated from ../lib/texmfmp.c).
47 */
48
49 -#define BANNER "This is pdfTeX, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION"
50 +#define BANNER "This is pdfTeX using libpoppler, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION"
51 #define COPYRIGHT_HOLDER "Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX)"
52 #define AUTHOR NULL
53 #define PROGRAM_HELP PDFTEXHELP
54 diff -up texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler texlive-2007/texk/web2c/pdftexdir/pdftex.mk
55 --- texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler 2006-12-27 00:37:34.000000000 +0100
56 +++ texlive-2007/texk/web2c/pdftexdir/pdftex.mk 2009-10-15 14:57:43.000000000 +0200
57 @@ -2,6 +2,9 @@
58 # This fragment contains the parts of the makefile that are most likely to
59 # differ between releases of pdfeTeX.
60
61 +# use libpoppler instead of included xpdf code
62 +ADDLDFLAGS = -lpoppler
63 +
64 # We build pdftex
65 pdftex = @PETEX@ pdftex
66 pdftexdir = pdftexdir
67 @@ -29,7 +32,7 @@ pdftex_o = pdftexini.o pdftex0.o pdftex1
68
69 # Making pdftex
70 pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep)
71 - @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@
72 + @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS)
73
74 # C file dependencies.
75 $(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h
76 @@ -156,7 +159,7 @@ ttf2afm-clean:
77 pdftosrc = pdftosrc
78
79 pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP)
80 - @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@
81 + @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS)
82 $(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc
83 cd $(pdftexdir) && $(MAKE) pdftosrc.o
84 check: pdftosrc-check
85 diff -up texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc
86 --- texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler 2006-12-27 00:37:34.000000000 +0100
87 +++ texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc 2009-10-15 14:57:52.000000000 +0200
88 @@ -26,25 +26,24 @@ $Id: pdftoepdf.cc,v 1.9 2006/09/01 18:06
89 #include <stdio.h>
90 #include <string.h>
91 #include <ctype.h>
92 -#include <aconf.h>
93 -#include <GString.h>
94 -#include <gmem.h>
95 -#include <gfile.h>
96 -#include <config.h>
97 #include <assert.h>
98 -#include "Object.h"
99 -#include "Stream.h"
100 -#include "Array.h"
101 -#include "Dict.h"
102 -#include "XRef.h"
103 -#include "Catalog.h"
104 -#include "Link.h"
105 -#include "Page.h"
106 -#include "GfxFont.h"
107 -#include "PDFDoc.h"
108 -#include "GlobalParams.h"
109 -#include "Error.h"
110 -
111 +#include <dirent.h>
112 +#include <poppler/poppler-config.h>
113 +#include <poppler/goo/GooString.h>
114 +#include <poppler/goo/gmem.h>
115 +#include <poppler/goo/gfile.h>
116 +#include "poppler/Object.h"
117 +#include "poppler/Stream.h"
118 +#include "poppler/Array.h"
119 +#include "poppler/Dict.h"
120 +#include "poppler/XRef.h"
121 +#include "poppler/Link.h"
122 +#include "poppler/Catalog.h"
123 +#include "poppler/Page.h"
124 +#include "poppler/GfxFont.h"
125 +#include "poppler/PDFDoc.h"
126 +#include "poppler/GlobalParams.h"
127 +#include "poppler/Error.h"
128 #include "epdf.h"
129
130 // This file is mostly C and not very much C++; it's just used to interface
131 @@ -169,7 +168,7 @@ static PdfDocument *find_add_document(ch
132 fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name,
133 p->occurences);
134 #endif
135 - GString *docName = new GString(p->file_name);
136 + GooString *docName = new GooString(p->file_name);
137 p->doc = new PDFDoc(docName); // takes ownership of docName
138 if (!p->doc->isOk() || !p->doc->okToPrint()) {
139 pdftex_fail("xpdf: reading PDF image failed");
140 @@ -511,7 +510,7 @@ static void copyObject(Object * obj)
141 int i, l, c;
142 Ref ref;
143 char *p;
144 - GString *s;
145 + GooString *s;
146 if (obj->isBool()) {
147 pdf_printf("%s", obj->getBool()? "true" : "false");
148 } else if (obj->isInt()) {
149 @@ -634,7 +633,7 @@ static void writeEncodings()
150 }
151 for (r = encodingList; r != 0; r = n) {
152 n = r->next;
153 - delete r->font;
154 + r->font->decRefCnt();
155 delete r;
156 }
157 }
158 @@ -689,7 +688,7 @@ read_pdf_info(char *image_name, char *pa
159 // this works only for PDF 1.x -- but since any versions of PDF newer
160 // than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
161 // then have to changed drastically anyway.
162 - pdf_version_found = pdf_doc->doc->getPDFVersion();
163 + pdf_version_found = pdf_doc->doc->getPDFMajorVersion() + pdf_doc->doc->getPDFMinorVersion()/10.;
164 pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
165 if (pdf_version_found > pdf_version_wanted) {
166 char msg[] =
167 @@ -703,7 +702,7 @@ read_pdf_info(char *image_name, char *pa
168 epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
169 if (page_name) {
170 // get page by name
171 - GString name(page_name);
172 + GooString name(page_name);
173 LinkDest *link = pdf_doc->doc->findDest(&name);
174 if (link == 0 || !link->isOk())
175 pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
176 diff -up texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc
177 --- texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler 2006-12-27 00:37:34.000000000 +0100
178 +++ texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2009-10-15 14:57:43.000000000 +0200
179 @@ -25,22 +25,23 @@ $Id: //depot/Build/source.development/Te
180 #include <stdio.h>
181 #include <string.h>
182 #include <ctype.h>
183 -#include <aconf.h>
184 #include <assert.h>
185 -#include <GString.h>
186 -#include <gmem.h>
187 -#include <gfile.h>
188 -#include "Object.h"
189 -#include "Stream.h"
190 -#include "Array.h"
191 -#include "Dict.h"
192 -#include "XRef.h"
193 -#include "Catalog.h"
194 -#include "Page.h"
195 -#include "GfxFont.h"
196 -#include "PDFDoc.h"
197 -#include "GlobalParams.h"
198 -#include "Error.h"
199 +
200 +#include <dirent.h>
201 +#include <poppler/goo/GooString.h>
202 +#include <poppler/goo/gmem.h>
203 +#include <poppler/goo/gfile.h>
204 +#include <poppler/Object.h>
205 +#include <poppler/Stream.h>
206 +#include <poppler/Array.h>
207 +#include <poppler/Dict.h>
208 +#include <poppler/XRef.h>
209 +#include <poppler/Catalog.h>
210 +#include <poppler/Page.h>
211 +#include <poppler/GfxFont.h>
212 +#include <poppler/PDFDoc.h>
213 +#include <poppler/GlobalParams.h>
214 +#include <poppler/Error.h>
215
216 static XRef *xref = 0;
217
218 @@ -48,7 +49,7 @@ int main(int argc, char *argv[])
219 {
220 char *p, buf[1024];
221 PDFDoc *doc;
222 - GString *fileName;
223 + GooString *fileName;
224 Stream *s;
225 Object srcStream, srcName, catalogDict;
226 FILE *outfile;
227 @@ -56,13 +57,13 @@ int main(int argc, char *argv[])
228 int objnum = 0, objgen = 0;
229 bool extract_xref_table = false;
230 int c;
231 - fprintf(stderr, "pdftosrc version %s\n", xpdfVersion);
232 + fprintf(stderr, "pdftosrc\n");
233 if (argc < 2) {
234 fprintf(stderr,
235 "Usage: pdftosrc <PDF-file> [<stream-object-number>]\n");
236 exit(1);
237 }
238 - fileName = new GString(argv[1]);
239 + fileName = new GooString(argv[1]);
240 globalParams = new GlobalParams();
241 doc = new PDFDoc(fileName);
242 if (!doc->isOk()) {
243 diff -up texlive-2007/texk/web2c/pdftexdir/utils.c.poppler texlive-2007/texk/web2c/pdftexdir/utils.c
244 --- texlive-2007/texk/web2c/pdftexdir/utils.c.poppler 2007-01-01 18:20:03.000000000 +0100
245 +++ texlive-2007/texk/web2c/pdftexdir/utils.c 2009-10-15 14:57:43.000000000 +0200
246 @@ -37,7 +37,7 @@ $Id: //depot/Build/source.development/Te
247 #include "zlib.h"
248 #include "ptexlib.h"
249 #include "png.h"
250 -#include "xpdf/config.h" /* just to get the xpdf version */
251 +#include "poppler/poppler-config.h" /* just to get the xpdf version */
252
253 #define check_nprintf(size_get, size_want) \
254 if ((unsigned)(size_get) >= (unsigned)(size_want)) \
255 @@ -1261,9 +1261,9 @@ void initversionstring(char **versions)
256 (void) asprintf(versions,
257 "Compiled with libpng %s; using libpng %s\n"
258 "Compiled with zlib %s; using zlib %s\n"
259 - "Compiled with xpdf version %s\n",
260 + "Compiled with libpoppler\n",
261 PNG_LIBPNG_VER_STRING, png_libpng_ver,
262 - ZLIB_VERSION, zlib_version, xpdfVersion);
263 + ZLIB_VERSION, zlib_version);
264 }
265
266
267 diff -up texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler texlive-2007/texk/web2c/xetexdir/pdfimage.cpp
268 --- texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler 2006-12-09 11:29:12.000000000 +0100
269 +++ texlive-2007/texk/web2c/xetexdir/pdfimage.cpp 2009-10-15 14:57:43.000000000 +0200
270 @@ -11,10 +11,24 @@
271
272 #include "pdfimage.h"
273
274 -#include "PDFDoc.h"
275 -#include "Catalog.h"
276 -#include "Page.h"
277 -#include "GString.h"
278 +#include <dirent.h>
279 +#include <poppler/poppler-config.h>
280 +#include <poppler/goo/GooString.h>
281 +#include <poppler/goo/gmem.h>
282 +#include <poppler/goo/gfile.h>
283 +#include "poppler/Object.h"
284 +#include "poppler/Stream.h"
285 +#include "poppler/Array.h"
286 +#include "poppler/Dict.h"
287 +#include "poppler/XRef.h"
288 +#include "poppler/Link.h"
289 +#include "poppler/Catalog.h"
290 +#include "poppler/Page.h"
291 +#include "poppler/GfxFont.h"
292 +#include "poppler/PDFDoc.h"
293 +#include "poppler/GlobalParams.h"
294 +#include "poppler/Error.h"
295 +
296
297 #include "XeTeX_ext.h"
298
299 @@ -28,7 +42,7 @@ my_fmin(double x, double y)
300 int
301 pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box)
302 {
303 - GString* name = new GString(filename);
304 + GooString* name = new GooString(filename);
305 PDFDoc* doc = new PDFDoc(name);
306
307 if (!doc) {
308 diff -up texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c
309 --- texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler 2007-01-15 14:04:36.000000000 +0100
310 +++ texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c 2009-10-15 14:57:43.000000000 +0200
311 @@ -33,7 +33,7 @@ authorization from SIL International.
312 */
313
314 #ifdef XETEX_OTHER
315 -#include "xpdf/config.h"
316 +#include "poppler/poppler-config.h"
317 #include "png.h"
318 #endif
319
320 @@ -194,7 +194,7 @@ void initversionstring(char **versions)
321 #else
322 "Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n"
323 "Compiled with libpng version %s; using %s\n"
324 - "Compiled with xpdf version %s\n"
325 + "Compiled with libpoppler\n"
326 #endif
327 ;
328
329 @@ -205,7 +205,6 @@ void initversionstring(char **versions)
330 #ifdef XETEX_OTHER
331 + strlen(PNG_LIBPNG_VER_STRING)
332 + strlen(png_libpng_ver)
333 - + strlen(xpdfVersion)
334 + 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
335 #endif
336 + 6 * 3; /* for freetype version #s (ditto) */
337 @@ -229,8 +228,7 @@ void initversionstring(char **versions)
338 ,
339 FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,
340 fc_version / 10000, (fc_version % 10000) / 100, fc_version % 100,
341 - PNG_LIBPNG_VER_STRING, png_libpng_ver,
342 - xpdfVersion
343 + PNG_LIBPNG_VER_STRING, png_libpng_ver
344 #endif
345 );
346 }
347 diff -up texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler texlive-2007/texk/web2c/xetexdir/xetex.mk
348 --- texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler 2009-10-15 14:57:41.000000000 +0200
349 +++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2009-10-15 14:57:43.000000000 +0200
350 @@ -4,6 +4,10 @@
351
352 Makefile: $(srcdir)/xetexdir/xetex.mk
353
354 +# use libpoppler instead of included xpdf code
355 +ADDLDFLAGS = -lpoppler
356 +
357 +
358 # We build xetex unless configure decides to skip it
359 xetex = @XETEX@ xetex
360
361 @@ -29,7 +33,7 @@ xetex = @XETEX@ xetex
362
363 @XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER
364
365 -@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@
366 +@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS)
367
368 @XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@
369
370 @@ -144,7 +148,7 @@ pngimage.o: $(srcdir)/xetexdir/pngimage.
371 $(compile) $(ALL_CFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@
372
373 pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h
374 - $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@
375 + $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -I/usr/include/poppler -c $< -o $@
376
377 XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs)
378 $(compile) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
379 @@ -187,7 +191,7 @@ XeTeXOTMath.o: $(srcdir)/xetexdir/XeTeXO
380
381 # special rules for files that need the TECkit headers as well
382 XeTeX_ext.o: $(srcdir)/xetexdir/XeTeX_ext.c xetexd.h
383 - $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
384 + $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -I/usr/include/poppler -c $< -o $@
385 XeTeX_mac.o: $(srcdir)/xetexdir/XeTeX_mac.c xetexd.h
386 $(compile) $(ICUCFLAGS) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
387

admin@fedoraproject.org
ViewVC Help
Powered by ViewVC 1.1.2