diff --git a/.gitignore b/.gitignore index 927b494..109274f 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ ghostscript-8.71.tar.xz /ghostscript-9.00.tar.xz /ghostscript-9.01.tar.bz2 /ghostscript-9.02.tar.bz2 +/ghostscript-9.04.tar.bz2 diff --git a/ghostscript-colord.patch b/ghostscript-colord.patch deleted file mode 100644 index 4dae090..0000000 --- a/ghostscript-colord.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up ghostscript-9.02/cups/colord.c.colord ghostscript-9.02/cups/colord.c ---- ghostscript-9.02/cups/colord.c.colord 2011-04-12 11:09:49.852203837 +0100 -+++ ghostscript-9.02/cups/colord.c 2011-04-12 11:11:11.226356829 +0100 -@@ -316,9 +316,14 @@ char * - colord_get_profile_for_device_id (const char *device_id, - const char **qualifier_tuple) - { -- DBusConnection *con; -+ DBusConnection *con = NULL; - char *filename = NULL; - -+ if (device_id == NULL) { -+ fprintf(stderr, "DEBUG: No colord device ID available\n"); -+ goto out; -+ } -+ - /* connect to system bus */ - con = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); - if (con == NULL) { diff --git a/ghostscript-gstoraster-errors.patch b/ghostscript-gstoraster-errors.patch deleted file mode 100644 index 10e6685..0000000 --- a/ghostscript-gstoraster-errors.patch +++ /dev/null @@ -1,107 +0,0 @@ -diff -up ghostscript-9.04rc1/cups/gdevcups.c.gstoraster-errors ghostscript-9.04rc1/cups/gdevcups.c -diff -up ghostscript-9.04rc1/cups/gstoraster.c.gstoraster-errors ghostscript-9.04rc1/cups/gstoraster.c ---- ghostscript-9.04rc1/cups/gstoraster.c.gstoraster-errors 2011-08-01 15:10:36.850534567 +0100 -+++ ghostscript-9.04rc1/cups/gstoraster.c 2011-08-01 15:11:21.215732758 +0100 -@@ -381,7 +381,7 @@ gs_spawn (const char *filename, - { - fds[0] = -1; - fds[1] = -1; -- fprintf(stderr, "ERROR: Unable to establish pipe for Ghostscript call"); -+ fprintf(stderr, "ERROR: Unable to establish pipe for Ghostscript call\n"); - goto out; - } - -@@ -392,14 +392,14 @@ gs_spawn (const char *filename, - close(fds[1]); - fds[0] = -1; - fds[1] = -1; -- fprintf(stderr, "ERROR: Unable to set \"close on exec\" flag on read end of the pipe for Ghostscript call"); -+ fprintf(stderr, "ERROR: Unable to set \"close on exec\" flag on read end of the pipe for Ghostscript call\n"); - goto out; - } - if (fcntl(fds[1], F_SETFD, fcntl(fds[1], F_GETFD) | FD_CLOEXEC)) - { - close(fds[0]); - close(fds[1]); -- fprintf(stderr, "ERROR: Unable to set \"close on exec\" flag on write end of the pipe for Ghostscript call"); -+ fprintf(stderr, "ERROR: Unable to set \"close on exec\" flag on write end of the pipe for Ghostscript call\n"); - goto out; - } - -@@ -411,7 +411,7 @@ gs_spawn (const char *filename, - if (fds[0] > 0) - dup(fds[0]); - else { -- fprintf(stderr, "ERROR: Unable to couple pipe with STDIN of Ghostscript process"); -+ fprintf(stderr, "ERROR: Unable to couple pipe with STDIN of Ghostscript process\n"); - goto out; - } - } -@@ -425,7 +425,7 @@ gs_spawn (const char *filename, - /* Feed job data into Ghostscript */ - while ((n = fread(buf, 1, BUFSIZ, fp)) > 0) { - if (write(fds[1], buf, n) != n) { -- fprintf(stderr, "ERROR: Can't feed job data into Ghostscript"); -+ fprintf(stderr, "ERROR: Can't feed job data into Ghostscript\n"); - goto out; - } - } -@@ -542,7 +542,7 @@ main (int argc, char **argv, char *envp[ - - t = getenv("PPD"); - if ((ppd = ppdOpenFile(t)) == NULL) { -- fprintf(stderr, "ERROR: Failed to open PPD: %s", t); -+ fprintf(stderr, "ERROR: Failed to open PPD: %s\n", t); - goto out; - } - -@@ -554,7 +554,7 @@ main (int argc, char **argv, char *envp[ - - fd = cupsTempFd(buf,BUFSIZ); - if (fd < 0) { -- fprintf(stderr, "ERROR: Can't create temporary file"); -+ fprintf(stderr, "ERROR: Can't create temporary file\n"); - goto out; - } - /* remove name */ -@@ -563,19 +563,19 @@ main (int argc, char **argv, char *envp[ - /* copy stdin to the tmp file */ - while ((n = read(0,buf,BUFSIZ)) > 0) { - if (write(fd,buf,n) != n) { -- fprintf(stderr, "ERROR: Can't copy stdin to temporary file"); -+ fprintf(stderr, "ERROR: Can't copy stdin to temporary file\n"); - close(fd); - goto out; - } - } - if (lseek(fd,0,SEEK_SET) < 0) { -- fprintf(stderr, "ERROR: Can't rewind temporary file"); -+ fprintf(stderr, "ERROR: Can't rewind temporary file\n"); - close(fd); - goto out; - } - - if ((fp = fdopen(fd,"rb")) == 0) { -- fprintf(stderr, "ERROR: Can't fdopen temporary file"); -+ fprintf(stderr, "ERROR: Can't fdopen temporary file\n"); - close(fd); - goto out; - } -@@ -583,7 +583,7 @@ main (int argc, char **argv, char *envp[ - /* argc == 7 filename is specified */ - - if ((fp = fopen(argv[6],"rb")) == 0) { -- fprintf(stderr, "ERROR: Can't open input file %s",argv[6]); -+ fprintf(stderr, "ERROR: Can't open input file %s\n",argv[6]); - goto out; - } - } -@@ -591,7 +591,7 @@ main (int argc, char **argv, char *envp[ - /* find out file type */ - doc_type = parse_doc_type(fp); - if (doc_type == GS_DOC_TYPE_UNKNOWN) { -- fprintf(stderr, "ERROR: Can't detect file type"); -+ fprintf(stderr, "ERROR: Can't detect file type\n"); - goto out; - } - diff --git a/ghostscript-iccprofiles-initdir.patch b/ghostscript-iccprofiles-initdir.patch index f25feb1..3c827e0 100644 --- a/ghostscript-iccprofiles-initdir.patch +++ b/ghostscript-iccprofiles-initdir.patch @@ -1,7 +1,7 @@ -diff -up ghostscript-9.01/psi/zusparam.c.iccprofiles-initdir ghostscript-9.01/psi/zusparam.c ---- ghostscript-9.01/psi/zusparam.c.iccprofiles-initdir 2010-11-16 14:48:31.000000000 +0000 -+++ ghostscript-9.01/psi/zusparam.c 2011-02-10 09:51:59.107972983 +0000 -@@ -607,12 +607,31 @@ set_default_gray_icc(i_ctx_t *i_ctx_p, g +diff -up ghostscript-9.04rc1/psi/zusparam.c.iccprofiles-initdir ghostscript-9.04rc1/psi/zusparam.c +--- ghostscript-9.04rc1/psi/zusparam.c.iccprofiles-initdir 2011-07-29 10:42:52.000000000 +0100 ++++ ghostscript-9.04rc1/psi/zusparam.c 2011-08-01 12:32:41.203228412 +0100 +@@ -605,6 +605,8 @@ set_default_gray_icc(i_ctx_t *i_ctx_p, g return code; } @@ -10,26 +10,27 @@ diff -up ghostscript-9.01/psi/zusparam.c.iccprofiles-initdir ghostscript-9.01/ps static void current_icc_directory(i_ctx_t *i_ctx_p, gs_param_string * pval) { - static const char *const rfs = DEFAULT_DIR_ICC; /* as good as any other */ - const gs_imager_state * pis = (gs_imager_state *) igs; -+ int have_rom_device = 0; +@@ -612,8 +614,21 @@ current_icc_directory(i_ctx_t *i_ctx_p, + const gs_lib_ctx_t *lib_ctx = ((gs_imager_state *)igs)->memory->gs_lib_ctx; + + if (lib_ctx->profiledir == NULL) { +- pval->data = (const byte *)rfs; +- pval->size = strlen(rfs); ++ int have_rom_device = 0; ++ int i; + -+ if (pis->icc_manager->profiledir != NULL) -+ pval->data = (const byte *) pis->icc_manager->profiledir; -+ else { -+ int i; -+ for (i = 0; i < gx_io_device_table_count; i++) { -+ const gx_io_device *iodev = gx_io_device_table[i]; -+ const char *dname = iodev->dname; ++ for (i = 0; i < gx_io_device_table_count; i++) { ++ const gx_io_device *iodev = gx_io_device_table[i]; ++ const char *dname = iodev->dname; + -+ if (dname && strlen(dname) == 5 && !memcmp("%rom%", dname, 5)) { -+ have_rom_device = 1; -+ break; -+ } -+ } - -+ pval->data = (const byte *) (have_rom_device ? rfs : ""); -+ } - pval->data = (const byte *)( (pis->icc_manager->profiledir == NULL) ? - rfs : pis->icc_manager->profiledir); - pval->size = strlen((const char *)pval->data); ++ if (dname && strlen(dname) == 5 && !memcpy("%rom%", dname, 5)) { ++ have_rom_device = 1; ++ break; ++ } ++ } ++ ++ pval->data = (const byte *) (have_rom_device ? rfs : ""); ++ pval->size = strlen(pval->data); + } else { + pval->data = (const byte *)(lib_ctx->profiledir); + pval->size = lib_ctx->profiledir_len; diff --git a/ghostscript-pksmraw.patch b/ghostscript-pksmraw.patch deleted file mode 100644 index e713efc..0000000 --- a/ghostscript-pksmraw.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ghostscript-8.64/base/gxclrast.c.pksmraw ghostscript-8.64/base/gxclrast.c ---- ghostscript-8.64/base/gxclrast.c.pksmraw 2008-12-13 20:05:37.000000000 +0000 -+++ ghostscript-8.64/base/gxclrast.c 2009-02-04 11:36:25.000000000 +0000 -@@ -2685,8 +2685,6 @@ static int apply_create_compositor(gx_de - rc_increment(tdev); - *ptarget = tdev; - } -- if (code < 0) -- return code; - - /* Perform any updates for the clist device required */ - code = pcomp->type->procs.clist_compositor_read_update(pcomp, diff --git a/ghostscript-pxl-landscape.patch b/ghostscript-pxl-landscape.patch index c8d5f58..a94f46c 100644 --- a/ghostscript-pxl-landscape.patch +++ b/ghostscript-pxl-landscape.patch @@ -1,12 +1,12 @@ -diff -up ghostscript-9.02/base/gdevpxut.c.pxl-landscape ghostscript-9.02/base/gdevpxut.c ---- ghostscript-9.02/base/gdevpxut.c.pxl-landscape 2011-04-06 16:40:09.266015684 +0100 -+++ ghostscript-9.02/base/gdevpxut.c 2011-04-06 16:42:25.134593037 +0100 +diff -up ghostscript-9.04rc1/base/gdevpxut.c.pxl-landscape ghostscript-9.04rc1/base/gdevpxut.c +--- ghostscript-9.04rc1/base/gdevpxut.c.pxl-landscape 2011-07-29 10:42:51.000000000 +0100 ++++ ghostscript-9.04rc1/base/gdevpxut.c 2011-08-01 12:34:54.201815802 +0100 @@ -115,11 +115,7 @@ px_write_file_header(stream *s, const gx int px_write_page_header(stream *s, const gx_device *dev) { - static const byte page_header_1[] = { -- DUB(ePortraitOrientation), DA(pxaOrientation) +- DUB(ePortraitOrientation), DA(pxaOrientation) - }; - - PX_PUT_LIT(s, page_header_1); @@ -23,17 +23,18 @@ diff -up ghostscript-9.02/base/gdevpxut.c.pxl-landscape ghostscript-9.02/base/gd /* The default is eDefaultPaperSize (=96), but we'll emit CustomMediaSize */ @@ -156,11 +153,19 @@ px_write_select_media(stream *s, const g - match_found = true; - size = media_sizes[i].ms; - break; -+ } else if (fabs(media_sizes[i].height - w) < 0.05 && + match_found = true; + size = media_sizes[i].ms; + break; +- } ++ } else if (fabs(media_sizes[i].height - w) < 0.05 && + fabs(media_sizes[i].width - h) < 0.05 + ) { + match_found = true; + size = media_sizes[i].ms; + orientation = eLandscapeOrientation; + break; - } ++ } /* * According to the PCL XL documentation, MediaSize/CustomMediaSize must always * be specified, but MediaSource is optional. diff --git a/ghostscript-runlibfileifexists.patch b/ghostscript-runlibfileifexists.patch index 911a90e..dec094a 100644 --- a/ghostscript-runlibfileifexists.patch +++ b/ghostscript-runlibfileifexists.patch @@ -1,6 +1,6 @@ -diff -up ghostscript-8.71/Resource/Init/gs_fonts.ps.runlibfileifexists ghostscript-8.71/Resource/Init/gs_fonts.ps ---- ghostscript-8.71/Resource/Init/gs_fonts.ps.runlibfileifexists 2010-09-13 15:00:22.566812041 +0100 -+++ ghostscript-8.71/Resource/Init/gs_fonts.ps 2010-09-13 15:03:24.520814577 +0100 +diff -up ghostscript-9.04/Resource/Init/gs_fonts.ps.runlibfileifexists ghostscript-9.04/Resource/Init/gs_fonts.ps +--- ghostscript-9.04/Resource/Init/gs_fonts.ps.runlibfileifexists 2011-08-09 17:05:39.736485415 +0100 ++++ ghostscript-9.04/Resource/Init/gs_fonts.ps 2011-08-09 17:06:08.615943187 +0100 @@ -96,10 +96,19 @@ userdict /Fontmap .FontDirectory maxleng % stack: dict file fontname filename|aliasname 1 index type /stringtype eq @@ -24,26 +24,26 @@ diff -up ghostscript-8.71/Resource/Init/gs_fonts.ps.runlibfileifexists ghostscri } { % This is a real entry. % Read and pop tokens until a semicolon. -diff -up ghostscript-8.64/Resource/Init/gs_init.ps.runlibfileifexists ghostscript-8.64/Resource/Init/gs_init.ps ---- ghostscript-8.64/Resource/Init/gs_init.ps.runlibfileifexists 2009-01-08 09:17:18.000000000 +0000 -+++ ghostscript-8.64/Resource/Init/gs_init.ps 2009-02-04 11:35:19.000000000 +0000 -@@ -672,6 +672,14 @@ systemdict /internaldict dup .makeintern - { /undefinedfilename signalerror } - ifelse - } bind def +diff -up ghostscript-9.04/Resource/Init/gs_init.ps.runlibfileifexists ghostscript-9.04/Resource/Init/gs_init.ps +--- ghostscript-9.04/Resource/Init/gs_init.ps.runlibfileifexists 2011-08-09 17:05:44.395397937 +0100 ++++ ghostscript-9.04/Resource/Init/gs_init.ps 2011-08-09 17:06:15.238818843 +0100 +@@ -674,6 +674,14 @@ systemdict /internaldict dup .makeintern + { /undefinedfilename signalerror } + ifelse + } bind def +/runlibfileifexists -+ { % We don't want to bind 'run' into this procedure, -+ % since run may get redefined. -+ findlibfile -+ { exch pop /run .systemvar exec } -+ { pop } -+ ifelse -+ } bind def ++ { % We don't want to bind 'run' into this procedure, ++ % since run may get redefined. ++ findlibfile ++ { exch pop /run .systemvar exec } ++ { pop } ++ ifelse ++ } bind def /selectdevice - { finddevice setdevice .setdefaultscreen } bind def + { finddevice setdevice .setdefaultscreen } bind def /signalerror % signalerror - -@@ -840,6 +848,7 @@ userdict /.currentresourcefile //null pu - } bind def +@@ -842,6 +850,7 @@ userdict /.currentresourcefile //null pu + } bind def % Temporarily substitute it for the real runlibfile. /.runlibfile /runlibfile load def +/.runlibfileifexists /runlibfileifexists load def diff --git a/ghostscript-scripts.patch b/ghostscript-scripts.patch index 8b34d0e..2f050c2 100644 --- a/ghostscript-scripts.patch +++ b/ghostscript-scripts.patch @@ -7,25 +7,4 @@ diff -up ghostscript-9.00/lib/dvipdf.scripts ghostscript-9.00/lib/dvipdf # appears before other options. -exec dvips -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite - +exec dvips -R -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite - -diff -up ghostscript-9.00/lib/pv.sh.scripts ghostscript-9.00/lib/pv.sh ---- ghostscript-9.00/lib/pv.sh.scripts 2010-06-03 01:32:07.000000000 +0100 -+++ ghostscript-9.00/lib/pv.sh 2010-09-23 09:56:59.512796516 +0100 -@@ -31,7 +31,7 @@ fi - GS_EXECUTABLE=gs - - TEMPDIR=. --PAGE=$1 -+PAGE="$1" - shift - FILE="$1" - shift -@@ -44,7 +44,7 @@ else - tmpfile="$TEMPDIR/$FILE.$$.pv" - fi - trap "rm -rf $tmpfile" 0 1 2 15 --#dvips -D$RESOLUTION -p $PAGE -n 1 "$FILE" "$@" -o $tmpfile --dvips -p $PAGE -n 1 "$FILE" "$@" -o $tmpfile -+#dvips -R -D$RESOLUTION -p $PAGE -n 1 "$FILE" "$@" -o $tmpfile -+dvips -R -p $PAGE -n 1 "$FILE" "$@" -o $tmpfile - $GS_EXECUTABLE -P- -dSAFER $tmpfile - exit 0 + diff --git a/ghostscript-vsnprintf.patch b/ghostscript-vsnprintf.patch deleted file mode 100644 index 29229b1..0000000 --- a/ghostscript-vsnprintf.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up ghostscript-9.01/base/gsmisc.c.vsnprintf ghostscript-9.01/base/gsmisc.c -diff -up ghostscript-9.01/base/gxttfb.c.vsnprintf ghostscript-9.01/base/gxttfb.c ---- ghostscript-9.01/base/gxttfb.c.vsnprintf 2011-01-14 18:58:46.000000000 +0000 -+++ ghostscript-9.01/base/gxttfb.c 2011-02-10 09:48:01.334990056 +0000 -@@ -246,7 +246,7 @@ static int DebugPrint(ttfFont *ttf, cons - - if (gs_debug_c('Y')) { - va_start(args, fmt); -- count = vsprintf(buf, fmt, args); -+ count = vsnprintf(buf, sizeof (buf), fmt, args); - /* NB: moved debug output from stdout to stderr - */ - errwrite(ttf->DebugMem, buf, count); -diff -up ghostscript-9.01/base/rinkj/rinkj-byte-stream.c.vsnprintf ghostscript-9.01/base/rinkj/rinkj-byte-stream.c ---- ghostscript-9.01/base/rinkj/rinkj-byte-stream.c.vsnprintf 2008-04-04 02:02:16.000000000 +0100 -+++ ghostscript-9.01/base/rinkj/rinkj-byte-stream.c 2011-02-10 09:48:01.338989692 +0000 -@@ -43,7 +43,7 @@ rinkj_byte_stream_printf (RinkjByteStrea - va_list ap; - - va_start (ap, fmt); -- len = vsprintf (str, fmt, ap); -+ len = vsnprintf (str, sizeof (str), fmt, ap); - va_end (ap); - return rinkj_byte_stream_write (bs, str, len); - } diff --git a/ghostscript.spec b/ghostscript.spec index 1e4aa06..ecbee91 100644 --- a/ghostscript.spec +++ b/ghostscript.spec @@ -1,11 +1,11 @@ -%define gs_ver 9.02 -%define gs_dot_ver 9.02 +%define gs_ver 9.04 +%define gs_dot_ver 9.04 %{expand: %%define build_with_freetype %{?_with_freetype:1}%{!?_with_freetype:0}} Summary: A PostScript interpreter and renderer Name: ghostscript Version: %{gs_ver} -Release: 5%{?dist} +Release: 1%{?dist} # Included CMap data is Redistributable, no modification permitted, # see http://bugzilla.redhat.com/487510 @@ -21,16 +21,12 @@ Patch2: ghostscript-scripts.patch Patch3: ghostscript-noopt.patch Patch4: ghostscript-ijs-automake-ver.patch Patch5: ghostscript-runlibfileifexists.patch -Patch6: ghostscript-colord.patch -Patch7: ghostscript-pksmraw.patch Patch8: ghostscript-jbig2dec-nullderef.patch Patch10: ghostscript-cups-filters.patch -Patch12: ghostscript-vsnprintf.patch Patch27: ghostscript-Fontmap.local.patch Patch28: ghostscript-iccprofiles-initdir.patch Patch29: ghostscript-gdevcups-debug-uninit.patch Patch30: ghostscript-pxl-landscape.patch -Patch31: ghostscript-gstoraster-errors.patch Requires: urw-fonts >= 1.1, ghostscript-fonts Requires: poppler-data @@ -124,21 +120,12 @@ rm -rf libpng zlib jpeg jasper expat # Define .runlibfileifexists. %patch5 -p1 -# Prevent segfault when running gstoraster outside CUPS. -%patch6 -p1 -b .colord - -# Fix pksmraw output (bug #308211). Still needed in 8.63. -%patch7 -p1 -b .pksmraw - # Applied patch to fix NULL dereference in JBIG2 decoder (bug #501710). %patch8 -p1 -b .jbig2dec-nullderef # Install CUPS filter convs files in the correct place. %patch10 -p1 -b .cups-filters -# Harden ghostscript's debugging output functions (bug #540760). -%patch12 -p1 -b .vsnprintf - # Restored Fontmap.local patch, incorrectly dropped after # ghostscript-8.15.4-3 (bug #610301). # Note: don't use -b here to avoid the backup file ending up in the @@ -154,9 +141,6 @@ rm -rf libpng zlib jpeg jasper expat # pxl: match landscape page sizes (bug #692165). %patch30 -p1 -b .pxl-landscape -# Fixed error reporting in the gstoraster filter. -%patch31 -p1 -b .gstoraster-errors - # Convert manual pages to UTF-8 from8859_1() { iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_" @@ -193,6 +177,7 @@ done autoconf --force %configure --with-ijs --enable-dynamic --with-fontpath="$FONTPATH" \ --with-drivers=ALL --disable-compile-inits --with-system-libtiff \ + --with-install-cups \ CFLAGS="$CFLAGS $EXTRACFLAGS" # Build IJS @@ -252,10 +237,6 @@ mv $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap{,.GS} install -m0644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/CIDFnmap install -m0644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{gs_dot_ver}/Resource/Init/cidfmap -# Header files. -mkdir -p $RPM_BUILD_ROOT%{_includedir}/ghostscript -install -m0644 base/errors.h $RPM_BUILD_ROOT%{_includedir}/ghostscript - # Documentation install -m0644 doc/COPYING $RPM_BUILD_ROOT%{_docdir}/%{name}-%{gs_dot_ver} @@ -349,6 +330,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libgs.so %changelog +* Mon Aug 1 2011 Tim Waugh 9.04-1 +- 9.04. + * Mon Aug 1 2011 Tim Waugh 9.02-5 - No longer need jbig2-image-refcount patch. - Fixed error reporting in the gstoraster filter. diff --git a/sources b/sources index 004a91b..7cadb8d 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ 2fbae60417d42779f6488ab897dcaaf6 acro5-cmaps-2001.tar.gz dfc93dd2aaaf2b86d2fd55f654c13261 adobe-cmaps-200406.tar.gz -f67151444bd56a7904579fc75a083dd6 ghostscript-9.02.tar.bz2 +9f6899e821ab6d78ab2c856f10fa3023 ghostscript-9.04.tar.bz2