[arch-commits] Commit in ghostscript/repos/extra-x86_64 (6 files)

andyrtr at archlinux.org andyrtr at archlinux.org
Mon Aug 22 16:48:17 UTC 2011


    Date: Monday, August 22, 2011 @ 12:48:17
  Author: andyrtr
Revision: 136087

archrelease: copy trunk to extra-x86_64

Added:
  ghostscript/repos/extra-x86_64/PKGBUILD
    (from rev 136086, ghostscript/trunk/PKGBUILD)
  ghostscript/repos/extra-x86_64/gs_bug691759and691760.diff
    (from rev 136086, ghostscript/trunk/gs_bug691759and691760.diff)
  ghostscript/repos/extra-x86_64/svn_rev11948.diff
    (from rev 136086, ghostscript/trunk/svn_rev11948.diff)
Deleted:
  ghostscript/repos/extra-x86_64/PKGBUILD
  ghostscript/repos/extra-x86_64/gs_bug691759and691760.diff
  ghostscript/repos/extra-x86_64/svn_rev11948.diff

----------------------------+
 PKGBUILD                   |  140 +++++++-------
 gs_bug691759and691760.diff |  430 +++++++++++++++++++++----------------------
 svn_rev11948.diff          |   32 +--
 3 files changed, 301 insertions(+), 301 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2011-08-22 16:47:23 UTC (rev 136086)
+++ PKGBUILD	2011-08-22 16:48:17 UTC (rev 136087)
@@ -1,70 +0,0 @@
-# $Id$
-# Maintainer: AndyRTR <andyrtr at archlinux.org>
-
-pkgname=ghostscript
-pkgver=9.04
-pkgrel=4
-pkgdesc="An interpreter for the PostScript language"
-arch=('i686' 'x86_64')
-license=('GPL3' 'custom')
-depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng' 'libjpeg' 'libtiff' 'lcms') # 'lcms2' won't get used) # move in libpaper from community?
-makedepends=('gtk2' 'gnutls')
-optdepends=('texlive-core:      needed for dvipdf'
-            'gtk2:              needed for gsx')
-url="http://www.ghostscript.com/"
-source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
-	ghostscript-cups-rgbw.patch)
-options=('!libtool' '!makeflags')
-md5sums=('9f6899e821ab6d78ab2c856f10fa3023'
-         '7c1477e1cadd9c451ea8d6ec3fbbc670')
-
-build() {
-  cd ${srcdir}/ghostscript-${pkgver}
-  
-  # fix broken color printing https://bugs.archlinux.org/task/25519
-  patch -Np1 -i ${srcdir}/ghostscript-cups-rgbw.patch
-
-  # force it to use system-libs
-  rm -rf jpeg libpng zlib jasper expat tiff freetype lcms
-
-  ./configure --prefix=/usr \
-	--enable-dynamic \
-	--with-ijs \
-	--with-jbig2dec \
-	--with-omni \
-	--with-x \
-	--with-drivers=ALL\
-	--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
-	--with-install-cups \
-	--enable-fontconfig \
-	--enable-freetype \
-	--without-luratech \
-	--disable-compile-inits #--help # needed for linking with system-zlib
-  make
-  
-  # Build IJS
-  cd ${srcdir}/ghostscript-${pkgver}/ijs
-  ./autogen.sh
-  ./configure --prefix=/usr --enable-shared --disable-static
-  make
-}
-
-package() {
-  cd ${srcdir}/ghostscript-${pkgver}
-  make DESTDIR=${pkgdir} \
-	cups_serverroot=${pkgdir}/etc/cups \
-	cups_serverbin=${pkgdir}/usr/lib/cups install soinstall
-
-  # install missing doc files # http://bugs.archlinux.org/task/18023
-  install -m 644 ${srcdir}/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} ${pkgdir}/usr/share/ghostscript/$pkgver/doc/
-  
-  mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
-  install -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/
-
-  # remove unwanted localized man-pages
-  rm -rf $pkgdir/usr/share/man/[^man1]*
-
-  # install IJS
-  cd ${srcdir}/ghostscript-${pkgver}/ijs
-  make DESTDIR=${pkgdir} install
-}

Copied: ghostscript/repos/extra-x86_64/PKGBUILD (from rev 136086, ghostscript/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2011-08-22 16:48:17 UTC (rev 136087)
@@ -0,0 +1,70 @@
+# $Id$
+# Maintainer: AndyRTR <andyrtr at archlinux.org>
+
+pkgname=ghostscript
+pkgver=9.04
+pkgrel=5
+pkgdesc="An interpreter for the PostScript language"
+arch=('i686' 'x86_64')
+license=('GPL3' 'custom')
+depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng' 'libjpeg' 'libtiff' 'lcms') # 'lcms2' won't get used) # move in libpaper from community?
+makedepends=('gtk2' 'gnutls')
+optdepends=('texlive-core:      needed for dvipdf'
+            'gtk2:              needed for gsx')
+url="http://www.ghostscript.com/"
+source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
+	ghostscript-cups-rgbw.patch)
+options=('!libtool' '!makeflags')
+md5sums=('9f6899e821ab6d78ab2c856f10fa3023'
+         'bc56eb8c5fef0ecf964f6b3e9b7e65ae')
+
+build() {
+  cd ${srcdir}/ghostscript-${pkgver}
+  
+  # fix broken color printing https://bugs.archlinux.org/task/25519
+  patch -Np1 -i ${srcdir}/ghostscript-cups-rgbw.patch
+
+  # force it to use system-libs
+  rm -rf jpeg libpng zlib jasper expat tiff freetype lcms
+
+  ./configure --prefix=/usr \
+	--enable-dynamic \
+	--with-ijs \
+	--with-jbig2dec \
+	--with-omni \
+	--with-x \
+	--with-drivers=ALL\
+	--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
+	--with-install-cups \
+	--enable-fontconfig \
+	--enable-freetype \
+	--without-luratech \
+	--disable-compile-inits #--help # needed for linking with system-zlib
+  make
+  
+  # Build IJS
+  cd ${srcdir}/ghostscript-${pkgver}/ijs
+  ./autogen.sh
+  ./configure --prefix=/usr --enable-shared --disable-static
+  make
+}
+
+package() {
+  cd ${srcdir}/ghostscript-${pkgver}
+  make DESTDIR=${pkgdir} \
+	cups_serverroot=${pkgdir}/etc/cups \
+	cups_serverbin=${pkgdir}/usr/lib/cups install soinstall
+
+  # install missing doc files # http://bugs.archlinux.org/task/18023
+  install -m 644 ${srcdir}/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} ${pkgdir}/usr/share/ghostscript/$pkgver/doc/
+  
+  mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
+  install -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/
+
+  # remove unwanted localized man-pages
+  rm -rf $pkgdir/usr/share/man/[^man1]*
+
+  # install IJS
+  cd ${srcdir}/ghostscript-${pkgver}/ijs
+  make DESTDIR=${pkgdir} install
+}

Deleted: gs_bug691759and691760.diff
===================================================================
--- gs_bug691759and691760.diff	2011-08-22 16:47:23 UTC (rev 136086)
+++ gs_bug691759and691760.diff	2011-08-22 16:48:17 UTC (rev 136087)
@@ -1,215 +0,0 @@
-Modified: trunk/gs/base/gdevnfwd.c
-===================================================================
---- trunk/gs/base/gdevnfwd.c	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gdevnfwd.c	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -1117,3 +1117,29 @@
- {
-     return 0;
- }
-+
-+bool
-+fwd_uses_fwd_cmap_procs(gx_device * dev) 
-+{
-+    const gx_cm_color_map_procs *pprocs;
-+
-+    pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
-+    if (pprocs == &FwdDevice_cm_map_procs) {
-+        return true;
-+    }
-+    return false;
-+}
-+
-+const gx_cm_color_map_procs*
-+fwd_get_target_cmap_procs(gx_device * dev)
-+{
-+    const gx_cm_color_map_procs *pprocs;
-+    gx_device_forward * const fdev = (gx_device_forward *)dev;
-+    gx_device * const tdev = fdev->target;
-+
-+    pprocs = dev_proc(tdev, get_color_mapping_procs(tdev));
-+    while (pprocs == &FwdDevice_cm_map_procs) {
-+        pprocs = fwd_get_target_cmap_procs(tdev);
-+    }
-+    return pprocs;
-+}
-\ No newline at end of file
-
-Modified: trunk/gs/base/gdevp14.c
-===================================================================
---- trunk/gs/base/gdevp14.c	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gdevp14.c	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -900,7 +900,11 @@
-                         nos->parent_color_info_procs->num_components, 1,
-                                   false, false, true, tos->planestride, 
-                                   tos->rowstride, num_rows, num_cols);
--                    /* Transform the data */
-+                    /* Transform the data. Since the pdf14 device should be
-+                       using RGB, CMYK or Gray buffers, this transform 
-+                       does not need to worry about the cmap procs of 
-+                       the target device.  Those are handled when we do
-+                       the pdf14 put image operation */
-                     gscms_transform_color_buffer(icc_link, &input_buff_desc, 
-                                         &output_buff_desc, tos->data, 
-                                         new_data_buf);
-
-Modified: trunk/gs/base/gxcmap.c
-===================================================================
---- trunk/gs/base/gxcmap.c	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxcmap.c	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -31,6 +31,7 @@
- #include "gsicc_manage.h"
- #include "gdevdevn.h"
- #include "gsicc_cache.h"
-+#include "gscms.h"
- 
- /* Structure descriptor */
- public_st_device_color();
-@@ -1744,3 +1745,37 @@
- 
-     }
- }
-+
-+bool
-+gx_device_uses_std_cmap_procs(gx_device * dev) 
-+{
-+    const gx_cm_color_map_procs *pprocs;
-+
-+    if (dev->device_icc_profile != NULL) {
-+        pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
-+        /* Check if they are forwarding procs */
-+        if (fwd_uses_fwd_cmap_procs(dev)) {
-+            pprocs = fwd_get_target_cmap_procs(dev);
-+        } 
-+        switch(dev->device_icc_profile->data_cs) {
-+            case gsGRAY:
-+                if (pprocs == &DeviceGray_procs) {
-+                    return true;
-+                }
-+                break;
-+            case gsRGB:	
-+                if (pprocs == &DeviceRGB_procs) {
-+                    return true;
-+                }
-+                break;
-+            case gsCMYK:
-+                if (pprocs == &DeviceCMYK_procs) {
-+                    return true;
-+                }
-+                break;
-+            default:
-+                break;
-+        }
-+    } 
-+    return false;
-+}
-
-Modified: trunk/gs/base/gxcmap.h
-===================================================================
---- trunk/gs/base/gxcmap.h	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxcmap.h	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -284,5 +284,11 @@
-  * [0,1]
-  */
- frac gx_unit_frac(float fvalue);
-+/* Determine if the device is using the standard color mapping procs.  In
-+   such a case, we can make use of the faster icc color conversions for 
-+   images */
-+bool gx_device_uses_std_cmap_procs(gx_device * dev);
-+bool fwd_uses_fwd_cmap_procs(gx_device * dev);
-+const gx_cm_color_map_procs* fwd_get_target_cmap_procs(gx_device * dev);
- 
- #endif /* gxcmap_INCLUDED */
-
-Modified: trunk/gs/base/gxi12bit.c
-===================================================================
---- trunk/gs/base/gxi12bit.c	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxi12bit.c	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -113,6 +113,8 @@
- irender_proc_t
- gs_image_class_2_fracs(gx_image_enum * penum)
- {
-+    bool std_cmap_procs;
-+
-     if (penum->bps > 8) {
- 	if (penum->use_mask_color) {
- 	    /* Convert color mask values to fracs. */
-@@ -122,9 +124,14 @@
- 		penum->mask_color.values[i] =
- 		    bits2frac(penum->mask_color.values[i], 12);
- 	}
-+        /* If the device has some unique color mapping procs due to its color space,
-+           then we will need to use those and go through pixel by pixel instead
-+           of blasting through buffers.  This is true for example with many of 
-+           the color spaces for CUPs */
-+        std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
-         if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
-             penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color || 
--            penum->bps != 16 || 
-+            penum->bps != 16 || !std_cmap_procs ||
-             gs_color_space_get_index(penum->pcs) == gs_color_space_index_DevicePixel) { 
-             /* DevicePixel color space used in mask from 3x type.  Basically
-                a simple color space that just is scaled to the device bit 
-
-Modified: trunk/gs/base/gxicolor.c
-===================================================================
---- trunk/gs/base/gxicolor.c	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxicolor.c	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -97,6 +97,8 @@
- irender_proc_t
- gs_image_class_4_color(gx_image_enum * penum)
- {
-+    bool std_cmap_procs;
-+
-     if (penum->use_mask_color) {
- 	/*
- 	 * Scale the mask colors to match the scaling of each sample to
-@@ -128,8 +130,14 @@
- 	penum->mask_color.mask = 0;
- 	penum->mask_color.test = ~0;
-     }
-+    /* If the device has some unique color mapping procs due to its color space,
-+       then we will need to use those and go through pixel by pixel instead
-+       of blasting through buffers.  This is true for example with many of 
-+       the color spaces for CUPs */
-+    std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
-     if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
--        penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ) {
-+        penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
-+        !std_cmap_procs) {
-         return &image_render_color_DeviceN;
-     } else {
-         /* Set up the link now */
-
-Modified: trunk/gs/base/gxiscale.c
-===================================================================
---- trunk/gs/base/gxiscale.c	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/gxiscale.c	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -104,6 +104,13 @@
-         != penum->dev->color_info.num_components) {
-         use_icc = false;
-     }
-+    /* If the device has some unique color mapping procs due to its color space,
-+       then we will need to use those and go through pixel by pixel instead
-+       of blasting through buffers.  This is true for example with many of 
-+       the color spaces for CUPs */
-+    if(!gx_device_uses_std_cmap_procs(penum->dev)) {
-+        use_icc = false;
-+    }
- /*
-  * USE_CONSERVATIVE_INTERPOLATION_RULES is normally NOT defined since
-  * the MITCHELL digital filter seems OK as long as we are going out to
-
-Modified: trunk/gs/base/lib.mak
-===================================================================
---- trunk/gs/base/lib.mak	2011-01-06 23:48:14 UTC (rev 12004)
-+++ trunk/gs/base/lib.mak	2011-01-07 04:49:42 UTC (rev 12005)
-@@ -602,7 +602,7 @@
-  $(gxalpha_h) $(gxcspace_h) $(gxfarith_h) $(gxfrac_h)\
-  $(gxdcconv_h) $(gxdevice_h) $(gxcmap_h) $(gsnamecl_h) $(gxlum_h)\
-  $(gzstate_h) $(gxdither_h) $(gxcdevn_h) $(string__h)\
-- $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h)
-+ $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h) $(gscms_h)
- 	$(GLCC) $(GLO_)gxcmap.$(OBJ) $(C_) $(GLSRC)gxcmap.c
- 
- $(GLOBJ)gxcpath.$(OBJ) : $(GLSRC)gxcpath.c $(GXERR)\
-

Copied: ghostscript/repos/extra-x86_64/gs_bug691759and691760.diff (from rev 136086, ghostscript/trunk/gs_bug691759and691760.diff)
===================================================================
--- gs_bug691759and691760.diff	                        (rev 0)
+++ gs_bug691759and691760.diff	2011-08-22 16:48:17 UTC (rev 136087)
@@ -0,0 +1,215 @@
+Modified: trunk/gs/base/gdevnfwd.c
+===================================================================
+--- trunk/gs/base/gdevnfwd.c	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gdevnfwd.c	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -1117,3 +1117,29 @@
+ {
+     return 0;
+ }
++
++bool
++fwd_uses_fwd_cmap_procs(gx_device * dev) 
++{
++    const gx_cm_color_map_procs *pprocs;
++
++    pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
++    if (pprocs == &FwdDevice_cm_map_procs) {
++        return true;
++    }
++    return false;
++}
++
++const gx_cm_color_map_procs*
++fwd_get_target_cmap_procs(gx_device * dev)
++{
++    const gx_cm_color_map_procs *pprocs;
++    gx_device_forward * const fdev = (gx_device_forward *)dev;
++    gx_device * const tdev = fdev->target;
++
++    pprocs = dev_proc(tdev, get_color_mapping_procs(tdev));
++    while (pprocs == &FwdDevice_cm_map_procs) {
++        pprocs = fwd_get_target_cmap_procs(tdev);
++    }
++    return pprocs;
++}
+\ No newline at end of file
+
+Modified: trunk/gs/base/gdevp14.c
+===================================================================
+--- trunk/gs/base/gdevp14.c	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gdevp14.c	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -900,7 +900,11 @@
+                         nos->parent_color_info_procs->num_components, 1,
+                                   false, false, true, tos->planestride, 
+                                   tos->rowstride, num_rows, num_cols);
+-                    /* Transform the data */
++                    /* Transform the data. Since the pdf14 device should be
++                       using RGB, CMYK or Gray buffers, this transform 
++                       does not need to worry about the cmap procs of 
++                       the target device.  Those are handled when we do
++                       the pdf14 put image operation */
+                     gscms_transform_color_buffer(icc_link, &input_buff_desc, 
+                                         &output_buff_desc, tos->data, 
+                                         new_data_buf);
+
+Modified: trunk/gs/base/gxcmap.c
+===================================================================
+--- trunk/gs/base/gxcmap.c	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gxcmap.c	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -31,6 +31,7 @@
+ #include "gsicc_manage.h"
+ #include "gdevdevn.h"
+ #include "gsicc_cache.h"
++#include "gscms.h"
+ 
+ /* Structure descriptor */
+ public_st_device_color();
+@@ -1744,3 +1745,37 @@
+ 
+     }
+ }
++
++bool
++gx_device_uses_std_cmap_procs(gx_device * dev) 
++{
++    const gx_cm_color_map_procs *pprocs;
++
++    if (dev->device_icc_profile != NULL) {
++        pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
++        /* Check if they are forwarding procs */
++        if (fwd_uses_fwd_cmap_procs(dev)) {
++            pprocs = fwd_get_target_cmap_procs(dev);
++        } 
++        switch(dev->device_icc_profile->data_cs) {
++            case gsGRAY:
++                if (pprocs == &DeviceGray_procs) {
++                    return true;
++                }
++                break;
++            case gsRGB:	
++                if (pprocs == &DeviceRGB_procs) {
++                    return true;
++                }
++                break;
++            case gsCMYK:
++                if (pprocs == &DeviceCMYK_procs) {
++                    return true;
++                }
++                break;
++            default:
++                break;
++        }
++    } 
++    return false;
++}
+
+Modified: trunk/gs/base/gxcmap.h
+===================================================================
+--- trunk/gs/base/gxcmap.h	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gxcmap.h	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -284,5 +284,11 @@
+  * [0,1]
+  */
+ frac gx_unit_frac(float fvalue);
++/* Determine if the device is using the standard color mapping procs.  In
++   such a case, we can make use of the faster icc color conversions for 
++   images */
++bool gx_device_uses_std_cmap_procs(gx_device * dev);
++bool fwd_uses_fwd_cmap_procs(gx_device * dev);
++const gx_cm_color_map_procs* fwd_get_target_cmap_procs(gx_device * dev);
+ 
+ #endif /* gxcmap_INCLUDED */
+
+Modified: trunk/gs/base/gxi12bit.c
+===================================================================
+--- trunk/gs/base/gxi12bit.c	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gxi12bit.c	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -113,6 +113,8 @@
+ irender_proc_t
+ gs_image_class_2_fracs(gx_image_enum * penum)
+ {
++    bool std_cmap_procs;
++
+     if (penum->bps > 8) {
+ 	if (penum->use_mask_color) {
+ 	    /* Convert color mask values to fracs. */
+@@ -122,9 +124,14 @@
+ 		penum->mask_color.values[i] =
+ 		    bits2frac(penum->mask_color.values[i], 12);
+ 	}
++        /* If the device has some unique color mapping procs due to its color space,
++           then we will need to use those and go through pixel by pixel instead
++           of blasting through buffers.  This is true for example with many of 
++           the color spaces for CUPs */
++        std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
+         if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
+             penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color || 
+-            penum->bps != 16 || 
++            penum->bps != 16 || !std_cmap_procs ||
+             gs_color_space_get_index(penum->pcs) == gs_color_space_index_DevicePixel) { 
+             /* DevicePixel color space used in mask from 3x type.  Basically
+                a simple color space that just is scaled to the device bit 
+
+Modified: trunk/gs/base/gxicolor.c
+===================================================================
+--- trunk/gs/base/gxicolor.c	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gxicolor.c	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -97,6 +97,8 @@
+ irender_proc_t
+ gs_image_class_4_color(gx_image_enum * penum)
+ {
++    bool std_cmap_procs;
++
+     if (penum->use_mask_color) {
+ 	/*
+ 	 * Scale the mask colors to match the scaling of each sample to
+@@ -128,8 +130,14 @@
+ 	penum->mask_color.mask = 0;
+ 	penum->mask_color.test = ~0;
+     }
++    /* If the device has some unique color mapping procs due to its color space,
++       then we will need to use those and go through pixel by pixel instead
++       of blasting through buffers.  This is true for example with many of 
++       the color spaces for CUPs */
++    std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
+     if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
+-        penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ) {
++        penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
++        !std_cmap_procs) {
+         return &image_render_color_DeviceN;
+     } else {
+         /* Set up the link now */
+
+Modified: trunk/gs/base/gxiscale.c
+===================================================================
+--- trunk/gs/base/gxiscale.c	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/gxiscale.c	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -104,6 +104,13 @@
+         != penum->dev->color_info.num_components) {
+         use_icc = false;
+     }
++    /* If the device has some unique color mapping procs due to its color space,
++       then we will need to use those and go through pixel by pixel instead
++       of blasting through buffers.  This is true for example with many of 
++       the color spaces for CUPs */
++    if(!gx_device_uses_std_cmap_procs(penum->dev)) {
++        use_icc = false;
++    }
+ /*
+  * USE_CONSERVATIVE_INTERPOLATION_RULES is normally NOT defined since
+  * the MITCHELL digital filter seems OK as long as we are going out to
+
+Modified: trunk/gs/base/lib.mak
+===================================================================
+--- trunk/gs/base/lib.mak	2011-01-06 23:48:14 UTC (rev 12004)
++++ trunk/gs/base/lib.mak	2011-01-07 04:49:42 UTC (rev 12005)
+@@ -602,7 +602,7 @@
+  $(gxalpha_h) $(gxcspace_h) $(gxfarith_h) $(gxfrac_h)\
+  $(gxdcconv_h) $(gxdevice_h) $(gxcmap_h) $(gsnamecl_h) $(gxlum_h)\
+  $(gzstate_h) $(gxdither_h) $(gxcdevn_h) $(string__h)\
+- $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h)
++ $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h) $(gscms_h)
+ 	$(GLCC) $(GLO_)gxcmap.$(OBJ) $(C_) $(GLSRC)gxcmap.c
+ 
+ $(GLOBJ)gxcpath.$(OBJ) : $(GLSRC)gxcpath.c $(GXERR)\
+

Deleted: svn_rev11948.diff
===================================================================
--- svn_rev11948.diff	2011-08-22 16:47:23 UTC (rev 136086)
+++ svn_rev11948.diff	2011-08-22 16:48:17 UTC (rev 136087)
@@ -1,16 +0,0 @@
-Modified: trunk/gs/base/gximag3x.c
-===================================================================
---- trunk/gs/base/gximag3x.c	2010-12-10 19:50:53 UTC (rev 11947)
-+++ trunk/gs/base/gximag3x.c	2010-12-11 23:02:25 UTC (rev 11948)
-@@ -241,7 +241,9 @@
- 	    const gs_image3x_mask_t *pixm =
- 		(i == 0 ? &pim->Opacity : &pim->Shape);
- 
--	    *(gs_data_image_t *)&mask[i].image = pixm->MaskDict;
-+            /* Use memcpy because direct assignment breaks ANSI aliasing */
-+            /* rules and causes SEGV with gcc 4.5.1 */
-+            memcpy(&mask[i].image, &pixm->MaskDict, sizeof(pixm->MaskDict));
- 	    mask[i].image.type = type1;
- 	    mask[i].image.BitsPerComponent = pixm->MaskDict.BitsPerComponent;
- 	}
-

Copied: ghostscript/repos/extra-x86_64/svn_rev11948.diff (from rev 136086, ghostscript/trunk/svn_rev11948.diff)
===================================================================
--- svn_rev11948.diff	                        (rev 0)
+++ svn_rev11948.diff	2011-08-22 16:48:17 UTC (rev 136087)
@@ -0,0 +1,16 @@
+Modified: trunk/gs/base/gximag3x.c
+===================================================================
+--- trunk/gs/base/gximag3x.c	2010-12-10 19:50:53 UTC (rev 11947)
++++ trunk/gs/base/gximag3x.c	2010-12-11 23:02:25 UTC (rev 11948)
+@@ -241,7 +241,9 @@
+ 	    const gs_image3x_mask_t *pixm =
+ 		(i == 0 ? &pim->Opacity : &pim->Shape);
+ 
+-	    *(gs_data_image_t *)&mask[i].image = pixm->MaskDict;
++            /* Use memcpy because direct assignment breaks ANSI aliasing */
++            /* rules and causes SEGV with gcc 4.5.1 */
++            memcpy(&mask[i].image, &pixm->MaskDict, sizeof(pixm->MaskDict));
+ 	    mask[i].image.type = type1;
+ 	    mask[i].image.BitsPerComponent = pixm->MaskDict.BitsPerComponent;
+ 	}
+




More information about the arch-commits mailing list