[ghostscript/f20] Use upstream patch to fix duplex for some devices (bug #1068896).
Tim Waugh
twaugh at fedoraproject.org
Thu Feb 27 16:30:24 UTC 2014
commit 68499706a5951da36260a99d6c1bed353495bd32
Author: Tim Waugh <twaugh at redhat.com>
Date: Thu Feb 27 16:16:13 2014 +0000
Use upstream patch to fix duplex for some devices (bug #1068896).
Resolves: rhbz#1068896
ghostscript-duplex.patch | 66 ++++++++++++++++++++++++++++++++++++++++++++++
ghostscript.spec | 9 +++++-
2 files changed, 74 insertions(+), 1 deletions(-)
---
diff --git a/ghostscript-duplex.patch b/ghostscript-duplex.patch
new file mode 100644
index 0000000..cf261cf
--- /dev/null
+++ b/ghostscript-duplex.patch
@@ -0,0 +1,66 @@
+diff -up ghostscript-9.10/devices/vector/opdfread.h.duplex ghostscript-9.10/devices/vector/opdfread.h
+--- ghostscript-9.10/devices/vector/opdfread.h.duplex 2013-08-30 11:37:28.000000000 +0100
++++ ghostscript-9.10/devices/vector/opdfread.h 2014-02-27 15:59:45.986847087 +0000
+@@ -734,10 +734,27 @@ const char *opdfread_ps [] = {
+ "0 0}ifelse\n",
+ "round cvi 2 index round cvi eq\n",
+ "exch round cvi 3 index round cvi eq and{\n",
++"//PDFR_DEBUG{(PageSize matches request) == flush}if\n",
+ "pop pop}{\n",
++"/MediaRequested where {\n",
++"//PDFR_DEBUG{(MediaRequested is true, check against new request) == flush}if\n",
++"/MediaRequested get aload pop\n",
++"round cvi 2 index round cvi eq\n",
++"exch round cvi 3 index round cvi eq and\n",
++"{//PDFR_DEBUG{(MediaRequested same as current request, ignore) == flush}if pop pop false}\n",
++"{//PDFR_DEBUG{(MediaRequested different to current request) == flush}if true}ifelse\n",
++"}{\n",
++"//PDFR_DEBUG{(No MediaRequested yet) == flush}if\n",
++"true\n",
++"}ifelse\n",
++"{\n",
++"//PDFR_DEBUG{(Setting pagesize) == flush}if\n",
+ "2 array astore\n",
++"dup /MediaRequested exch def\n",
+ "<< exch /PageSize exch >> setpagedevice\n",
+-"} ifelse\n",
++"/pagesave save def\n",
++"}if\n",
++"}ifelse\n",
+ "userdict/PDFR_InitialGS gstate put\n",
+ "setglobal\n",
+ "}if\n",
+diff -up ghostscript-9.10/lib/opdfread.ps.duplex ghostscript-9.10/lib/opdfread.ps
+--- ghostscript-9.10/lib/opdfread.ps.duplex 2013-08-30 11:37:28.000000000 +0100
++++ ghostscript-9.10/lib/opdfread.ps 2014-02-27 15:59:45.987847093 +0000
+@@ -896,13 +896,27 @@ currentdict end readonly def
+ 0 0 % dummy page size values if not known
+ }ifelse
+ % bw bh px0 py0 bw bh bool bw bh Width Height
+- round cvi 2 index round cvi % bw bh px0 py0 bw bh bool bw bh Width bool
++ round cvi 2 index round cvi eq % bw bh px0 py0 bw bh bool bw bh Width bool
+ exch round cvi 3 index round cvi eq and % bw bh px0 py0 bw bh bool bw bh bool
+ { % Page Size unchanged, do not emit setpagedevice
+ pop pop % bw bh px0 py0 bw bh bool
+ } {
+- 2 array astore % bw bh px0 py0 bw bh bool []
+- << exch /PageSize exch >> setpagedevice % bw bh px0 py0 bw bh bool
++ /MediaRequested where {
++ % bw bh px0 py0 bw bh
++ /MediaRequested get aload pop % bw bh px0 py0 bw bh Width Height
++ round cvi 2 index round cvi eq % bw bh px0 py0 bw bh bool bw bh Width bool
++ exch round cvi 3 index round cvi eq and % bw bh px0 py0 bw bh bool bw bh bool
++ {pop pop false} % We already requested this media size, so don't re-request
++ {true} ifelse % Media request different to last request
++ } {
++ true % No stored media request, so apply setpagedevice
++ } ifelse
++ {
++ 2 array astore % bw bh px0 py0 bw bh bool []
++ dup /MediaRequested exch def
++ << exch /PageSize exch >> setpagedevice % bw bh px0 py0 bw bh bool
++ /pagesave save def
++ } if
+ } ifelse
+ userdict /PDFR_InitialGS gstate put
+ setglobal % bw bh px0 py0 bw bh
diff --git a/ghostscript.spec b/ghostscript.spec
index d5240c8..5a9259c 100644
--- a/ghostscript.spec
+++ b/ghostscript.spec
@@ -5,7 +5,7 @@ Summary: A PostScript interpreter and renderer
Name: ghostscript
Version: %{gs_ver}
-Release: 5%{?dist}
+Release: 6%{?dist}
# Included CMap data is Redistributable, no modification permitted,
# see http://bugzilla.redhat.com/487510
@@ -32,6 +32,7 @@ Patch8: ghostscript-gdevcups-debug-uninit.patch
Patch9: ghostscript-wrf-snprintf.patch
Patch10: ghostscript-gs694154.patch
Patch11: ghostscript-gs694809.patch
+Patch12: ghostscript-duplex.patch
Requires: urw-fonts >= 1.1, ghostscript-fonts
Requires: poppler-data
@@ -138,6 +139,9 @@ rm -rf expat freetype icclib jasper jpeg jpegxr lcms lcms2 libpng openjpeg zlib
# Use upstream patch to fix gs segfault (bug #1039718).
%patch11 -p1 -b .gs694809
+# Use upstream patch to fix duplex for some devices (bug #1068896).
+%patch12 -p1 -b .duplex
+
# Convert manual pages to UTF-8
from8859_1() {
iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_"
@@ -328,6 +332,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libgs.so
%changelog
+* Thu Feb 27 2014 Tim Waugh <twaugh at redhat.com> 9.10-6
+- Use upstream patch to fix duplex for some devices (bug #1068896).
+
* Tue Dec 10 2013 Tim Waugh <twaugh at redhat.com> 9.10-5
- Use upstream patches to fix gs segfaults (bug #1026428, bug #1039718).
More information about the scm-commits
mailing list