changeset 204:e5345be1032e

sync graphicsmagick with portage
author holger
date Tue, 16 Feb 2010 22:41:46 +0100
parents 96df2364b964
children b0741b66a8cc
files media-gfx/graphicsmagick/files/graphicsmagick-1.3.7-CVE-2009-1882.patch media-gfx/graphicsmagick/files/graphicsmagick-1.3.7-CVE-2009-3736.patch media-gfx/graphicsmagick/graphicsmagick-1.3.10.ebuild
diffstat 3 files changed, 2 insertions(+), 505 deletions(-) [+]
line wrap: on
line diff
--- a/media-gfx/graphicsmagick/files/graphicsmagick-1.3.7-CVE-2009-1882.patch	Tue Feb 16 22:40:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +0,0 @@
---- GraphicsMagick/magick/xwindow.c	2009/09/16 02:13:01	1.230
-+++ GraphicsMagick/magick/xwindow.c	2009/10/10 17:55:17	1.232
-@@ -43,10 +43,12 @@
- #include "magick/describe.h"
- #include "magick/log.h"
- #include "magick/magick.h"
-+#include "magick/monitor.h"
- #include "magick/pixel_cache.h"
- #include "magick/resize.h"
- #include "magick/shear.h"
- #include "magick/tempfile.h"
-+#include "magick/texture.h"
- #include "magick/transform.h"
- #include "magick/utility.h"
- #include "magick/version.h"
-@@ -2937,7 +2939,7 @@ MagickExport void MagickXGetImportInfo(M
- %                                                                             %
- %                                                                             %
- %                                                                             %
--%   M a g i c k X G e t P i x e l I n f o                                     %
-+%   M a g i c k X G e t P i x e l P a c k e t                                 %
- %                                                                             %
- %                                                                             %
- %                                                                             %
-@@ -5350,8 +5352,8 @@ MagickExport Cursor MagickXMakeCursor(Di
- %  The format of the MagickXMakeImage method is:
- %
- %      unsigned int MagickXMakeImage(Display *display,
--%        const MagickXResourceInfo *resource_info,MagickXWindowInfo *window,Image *image,
--%        unsigned int width,unsigned int height)
-+%        const MagickXResourceInfo *resource_info,MagickXWindowInfo *window,
-+%        Image *image,unsigned int width,unsigned int height)
- %
- %  A description of each parameter follows:
- %
-@@ -5376,9 +5378,49 @@ MagickExport Cursor MagickXMakeCursor(Di
- %
- %
- */
--MagickExport unsigned int MagickXMakeImage(Display *display,
--  const MagickXResourceInfo *resource_info,MagickXWindowInfo *window,Image *image,
--  unsigned int width,unsigned int height)
-+static const char *
-+MagickXImageFormatToString(int xformat)
-+{
-+  static const char
-+    *formats[] = 
-+    {
-+      "XYBitmap",
-+      "XYPixmap",
-+      "ZPixmap"
-+    };
-+  
-+  const char
-+    *format = "Unknown";
-+
-+  if ((size_t) xformat < sizeof(formats)/sizeof(formats[0]))
-+    format=formats[xformat];
-+
-+  return format;
-+}
-+static const char *
-+MagickXByteOrderToString(int xbyte_order)
-+{
-+  static const char
-+    *byte_orders[] =
-+    {
-+      "LSBFirst",
-+      "MSBFirst"
-+    };
-+  
-+  const char
-+    *byte_order = "Unknown";
-+
-+  if ((size_t) xbyte_order < sizeof(byte_orders)/sizeof(byte_orders[0]))
-+    byte_order=byte_orders[xbyte_order];
-+
-+  return byte_order;
-+}
-+MagickExport unsigned int
-+MagickXMakeImage(Display *display,
-+		 const MagickXResourceInfo *resource_info,
-+		 MagickXWindowInfo *window,
-+		 Image *image,
-+		 unsigned int width,unsigned int height)
- {
-   int
-     depth,
-@@ -5410,6 +5452,10 @@ MagickExport unsigned int MagickXMakeIma
-   window->destroy=False;
-   if (window->image != (Image *) NULL)
-     {
-+      MonitorHandler
-+	handler=(MonitorHandler) NULL;
-+
-+      handler=SetMonitorHandler((MonitorHandler) NULL);
-       if (window->crop_geometry)
-         {
-           Image
-@@ -5459,44 +5505,49 @@ MagickExport unsigned int MagickXMakeIma
-               window->destroy=MagickTrue;
-             }
-         }
--#if 0
--      if ((window->immutable == MagickFalse) &&
--          (window->image->matte != MagickFalse) &&
--          (window->pixel_info->colors == 0))
-+      if ((window->image->matte != MagickFalse) &&
-+	  (window->pixel_info->colors == 0)
-+	  /* && (window->immutable == MagickFalse) */)
-         {
-           Image
-             *texture;
- 
-           /*
--            Tile background with texture.
-+            Tile background with texture according to opacity
-           */
--          strlcpy(resource_info->image_info->filename,"image:checkerboard",MaxTextExtent);
-+          strlcpy(resource_info->image_info->filename,"image:checkerboard",
-+		  sizeof(resource_info->image_info->filename));
-           texture=ReadImage(resource_info->image_info,&window->image->exception);
-           if (texture != (Image *) NULL)
-             {
-               Image
-                 *textured_image;
- 
--              textured_image=CloneImage(window->image,window->image->columns,
--                window->image->rows,MagickTrue,&window->image->exception);
-+              textured_image=CloneImage(window->image,0,0,MagickTrue,
-+					&window->image->exception);
-               if (textured_image != (Image *) NULL)
-                 {
--/*                   strlcpy(window->image->filename,"textured_image.miff", MaxTextExtent); */
--/*                   WriteImage(resource_info->image_info,window->image); */
--                  TextureImage(textured_image,texture);
--                  textured_image->matte=MagickFalse;
--                  if (window->image != image)
--                    DestroyImage(window->image);
--                  window->image=textured_image;
--                  window->destroy=MagickTrue;
-+                  if (TextureImage(textured_image,texture) != MagickFail)
-+		    {
-+		      if (window->image != image)
-+			DestroyImage(window->image);
-+		      window->image=textured_image;
-+		      window->destroy=MagickTrue;
-+		    }
-+		  else
-+		    {
-+		      DestroyImage(textured_image);
-+		    }
-                 }
-               DestroyImage(texture);
-               texture=(Image *) NULL;
-             }
-           }
--#endif
-       width=(unsigned int) window->image->columns;
-+      assert(width == window->image->columns);
-       height=(unsigned int) window->image->rows;
-+      assert(height == window->image->rows);
-+      (void) SetMonitorHandler(handler);
-     }
-   /*
-     Create X image.
-@@ -5504,27 +5555,32 @@ MagickExport unsigned int MagickXMakeIma
-   ximage=(XImage *) NULL;
-   format=(depth == 1) ? XYBitmap : ZPixmap;
- #if defined(HasSharedMemory)
--  window->shared_memory&=XShmQueryExtension(display);
-+  window->shared_memory &= XShmQueryExtension(display);
-   if (window->shared_memory)
-     {
-       XShmSegmentInfo
-         *segment_info;
- 
-+      size_t
-+	shm_extent;
-+
-       segment_info=(XShmSegmentInfo *) window->segment_info;
-       segment_info[1].shmid=(-1);
-       segment_info[1].shmaddr=NULL;
-       ximage=XShmCreateImage(display,window->visual,depth,format,(char *) NULL,
--        &segment_info[1],width,height);
--      window->shared_memory&=(ximage != (XImage *) NULL);
-+			     &segment_info[1],width,height);
-+      window->shared_memory &= (ximage != (XImage *) NULL);
-+
-+      shm_extent=MagickArraySize(ximage->height,ximage->bytes_per_line);
-+      window->shared_memory &= (shm_extent != 0);
- 
-       if (window->shared_memory)
--        segment_info[1].shmid=shmget(IPC_PRIVATE,(size_t)
--          (ximage->bytes_per_line*ximage->height),IPC_CREAT | 0777);
--      window->shared_memory&=(segment_info[1].shmid >= 0);
-+        segment_info[1].shmid=shmget(IPC_PRIVATE,shm_extent,IPC_CREAT | 0777);
-+      window->shared_memory &= (segment_info[1].shmid >= 0);
- 
-       if (window->shared_memory)
-         segment_info[1].shmaddr=(char *) MagickShmAt(segment_info[1].shmid,0,0);
--      window->shared_memory&=(segment_info[1].shmaddr != NULL);
-+      window->shared_memory &= (segment_info[1].shmaddr != NULL);
- 
-       if (!window->shared_memory)
-         {
-@@ -5607,12 +5663,12 @@ MagickExport unsigned int MagickXMakeIma
-   if (IsEventLogging())
-     {
-       (void) LogMagickEvent(X11Event,GetMagickModule(),"XImage:");
--      (void) LogMagickEvent(X11Event,GetMagickModule(),"  width, height: %dx%d",
-+      (void) LogMagickEvent(X11Event,GetMagickModule(),"  width x height: %dx%d",
-         ximage->width,ximage->height);
--      (void) LogMagickEvent(X11Event,GetMagickModule(),"  format: %d",
--        ximage->format);
--      (void) LogMagickEvent(X11Event,GetMagickModule(),"  byte order: %d",
--        ximage->byte_order);
-+      (void) LogMagickEvent(X11Event,GetMagickModule(),"  format: %s",
-+			    MagickXImageFormatToString(ximage->format));
-+      (void) LogMagickEvent(X11Event,GetMagickModule(),"  byte order: %s",
-+			    MagickXByteOrderToString(ximage->byte_order));
-       (void) LogMagickEvent(X11Event,GetMagickModule(),
-         "  bitmap unit, bit order, pad: %d %d %d",ximage->bitmap_unit,
-         ximage->bitmap_bit_order,ximage->bitmap_pad);
-@@ -5629,11 +5685,13 @@ MagickExport unsigned int MagickXMakeIma
-   if (!window->shared_memory)
-     {
-       if (ximage->format == XYBitmap)
--        ximage->data=MagickAllocateArray(char *,
--          ximage->height*ximage->depth,ximage->bytes_per_line);
-+        ximage->data=
-+	  MagickAllocateArray(char *,
-+			      MagickArraySize(ximage->height,ximage->bytes_per_line),
-+			      ximage->depth);
-       else
--        ximage->data=MagickAllocateArray(char *,
--          ximage->height,ximage->bytes_per_line);
-+        ximage->data=
-+	  MagickAllocateArray(char *,ximage->height,ximage->bytes_per_line);
-     }
-   if (ximage->data == (char *) NULL)
-     {
-@@ -5709,8 +5767,9 @@ MagickExport unsigned int MagickXMakeIma
-             /*
-               Allocate matte image pixel data.
-             */
--            length=matte_image->bytes_per_line*
--              matte_image->height*matte_image->depth;
-+            length=MagickArraySize(MagickArraySize(matte_image->bytes_per_line,
-+						   matte_image->height),
-+				   matte_image->depth);
-             matte_image->data=MagickAllocateMemory(char *,length);
-             if (matte_image->data == (char *) NULL)
-               {
-@@ -7371,9 +7430,9 @@ MagickExport void MagickXMakeMagnifyImag
- %
- %  The format of the MagickXMakePixmap method is:
- %
--%      void MagickXMakeStandardColormap(Display *display,XVisualInfo *visual_info,
--%        MagickXResourceInfo *resource_info,Image *image,XStandardColormap *map_info,
--%        MagickXPixelInfo *pixel)
-+%      unsigned int MagickXMakePixmap(Display *display,
-+%                                     const MagickXResourceInfo *resource_info,
-+%                                     MagickXWindowInfo *window)
- %
- %  A description of each parameter follows:
- %
---- GraphicsMagick/magick/xwindow.c	2009/10/10 17:55:17	1.232
-+++ GraphicsMagick/magick/xwindow.c	2009/10/11 00:46:55	1.233
-@@ -1,5 +1,5 @@
- /*
--% Copyright (C) 2003, 2004 GraphicsMagick Group
-+% Copyright (C) 2003 - 2009 GraphicsMagick Group
- % Copyright (C) 2002 ImageMagick Studio
- %
- % This program is covered by multiple licenses, which are described in
-@@ -808,7 +808,7 @@ static char **MagickFontToList(char *fon
-   for (p=font; *p != '\0'; p++)
-     if ((*p == ':') || (*p == ';') || (*p == ','))
-       fonts++;
--  fontlist=MagickAllocateMemory(char **,(fonts+1)*sizeof(char *));
-+  fontlist=MagickAllocateArray(char **,(fonts+1),sizeof(char *));
-   if (fontlist == (char **) NULL)
-     {
-       MagickError3(ResourceLimitError,MemoryAllocationFailed,
-@@ -1103,7 +1103,7 @@ MagickExport void MagickXBestPixel(Displ
-       /*
-         Read X server colormap.
-       */
--      colors=MagickAllocateMemory(XColor *,number_colors*sizeof(XColor));
-+      colors=MagickAllocateArray(XColor *,number_colors,sizeof(XColor));
-       if (colors == (XColor *) NULL)
-         {
-           MagickError3(ResourceLimitError,MemoryAllocationFailed,
-@@ -2133,10 +2133,10 @@ static void MagickXDitherImage(Image *im
-   for (i=0; i < 2; i++)
-     for (j=0; j < 16; j++)
-     {
--      red_map[i][j]=MagickAllocateMemory(unsigned char *,256*sizeof(unsigned char));
--      green_map[i][j]=MagickAllocateMemory(unsigned char *,
--        256*sizeof(unsigned char));
--      blue_map[i][j]=MagickAllocateMemory(unsigned char *,256*sizeof(unsigned char));
-+      red_map[i][j]=MagickAllocateArray(unsigned char *,256,sizeof(unsigned char));
-+      green_map[i][j]=MagickAllocateArray(unsigned char *,
-+					  256,sizeof(unsigned char));
-+      blue_map[i][j]=MagickAllocateArray(unsigned char *,256,sizeof(unsigned char));
-       if ((red_map[i][j] == (unsigned char *) NULL) ||
-           (green_map[i][j] == (unsigned char *) NULL) ||
-           (blue_map[i][j] == (unsigned char *) NULL))
-@@ -3022,7 +3022,7 @@ MagickExport void MagickXGetPixelPacket(
-   if (pixel->pixels != (unsigned long *) NULL)
-     MagickFreeMemory(pixel->pixels);
-   pixel->pixels=
--    MagickAllocateMemory(unsigned long *,packets*sizeof(unsigned long));
-+    MagickAllocateArray(unsigned long *,packets,sizeof(unsigned long));
-   if (pixel->pixels == (unsigned long *) NULL)
-     MagickFatalError(ResourceLimitFatalError,MemoryAllocationFailed,
-       MagickMsg(XServerFatalError,UnableToGetPixelInfo));
-@@ -4073,8 +4073,8 @@ static Image *MagickXGetWindowImage(Disp
-       */
-       max_windows+=1024;
-       if (window_info == (WindowInfo *) NULL)
--        window_info=MagickAllocateMemory(WindowInfo *,
--          max_windows*sizeof(WindowInfo));
-+        window_info=MagickAllocateArray(WindowInfo *,
-+					max_windows,sizeof(WindowInfo));
-       else
-         MagickReallocMemory(WindowInfo *,window_info,max_windows*sizeof(WindowInfo));
-     }
-@@ -4227,7 +4227,7 @@ static Image *MagickXGetWindowImage(Disp
-                 /*
-                   Get the window colormap.
-                 */
--                colors=MagickAllocateMemory(XColor *,number_colors*sizeof(XColor));
-+                colors=MagickAllocateArray(XColor *,number_colors,sizeof(XColor));
-                 if (colors == (XColor *) NULL)
-                   {
-                     XDestroyImage(ximage);
-@@ -4577,7 +4577,7 @@ MagickExport void MagickXGetWindowInfo(D
-           *segment_info;
- 
-         if (window->segment_info == (void *) NULL)
--          window->segment_info=MagickAllocateMemory(void *,2*sizeof(XShmSegmentInfo));
-+          window->segment_info=MagickAllocateArray(void *,2,sizeof(XShmSegmentInfo));
-         segment_info=(XShmSegmentInfo *) window->segment_info;
-         segment_info[0].shmid=(-1);
-         segment_info[0].shmaddr=NULL;
-@@ -7734,8 +7734,8 @@ MagickExport void MagickXMakeStandardCol
-         Define Standard Colormap for StaticGray or StaticColor visual.
-       */
-       number_colors=image->colors;
--      colors=MagickAllocateMemory(XColor *,
--        visual_info->colormap_size*sizeof(XColor));
-+      colors=MagickAllocateArray(XColor *,
-+				 visual_info->colormap_size,sizeof(XColor));
-       if (colors == (XColor *) NULL)
-         MagickFatalError3(ResourceLimitError,MemoryAllocationFailed,
-           UnableToCreateColormap);
-@@ -7774,8 +7774,8 @@ MagickExport void MagickXMakeStandardCol
-         Define Standard Colormap for GrayScale or PseudoColor visual.
-       */
-       number_colors=image->colors;
--      colors=MagickAllocateMemory(XColor *,
--        visual_info->colormap_size*sizeof(XColor));
-+      colors=MagickAllocateArray(XColor *,
-+				 visual_info->colormap_size,sizeof(XColor));
-       if (colors == (XColor *) NULL)
-         MagickFatalError3(ResourceLimitFatalError,MemoryAllocationFailed,
-           UnableToCreateColormap);
-@@ -7820,8 +7820,8 @@ MagickExport void MagickXMakeStandardCol
-           /*
-             Define Standard colormap for shared GrayScale or PseudoColor visual.
-           */
--          diversity=MagickAllocateMemory(DiversityPacket *,
--            image->colors*sizeof(DiversityPacket));
-+          diversity=MagickAllocateArray(DiversityPacket *,
-+					image->colors,sizeof(DiversityPacket));
-           if (diversity == (DiversityPacket *) NULL)
-             MagickFatalError3(ResourceLimitFatalError,MemoryAllocationFailed,
-               UnableToCreateColormap);
-@@ -7882,8 +7882,9 @@ MagickExport void MagickXMakeStandardCol
-           /*
-             Read X server colormap.
-           */
--          server_colors=MagickAllocateMemory(XColor *,
--            visual_info->colormap_size*sizeof(XColor));
-+          server_colors=MagickAllocateArray(XColor *,
-+					    visual_info->colormap_size,
-+					    sizeof(XColor));
-           if (server_colors == (XColor *) NULL)
-             MagickFatalError3(ResourceLimitFatalError,MemoryAllocationFailed,
-               UnableToCreateColormap);
-@@ -8023,7 +8024,7 @@ MagickExport void MagickXMakeStandardCol
-       /*
-         Allocate color array.
-       */
--      colors=MagickAllocateMemory(XColor *,number_colors*sizeof(XColor));
-+      colors=MagickAllocateArray(XColor *,number_colors,sizeof(XColor));
-       if (colors == (XColor *) NULL)
-         MagickFatalError3(ResourceLimitFatalError,MemoryAllocationFailed,
-           UnableToCreateColormap);
---- GraphicsMagick/magick/memory.c	2009/10/05 23:57:54	1.54
-+++ GraphicsMagick/magick/memory.c	2009/10/09 18:20:22	1.55
-@@ -90,6 +90,43 @@ MagickExport void MagickAllocFunctions(M
- %                                                                             %
- %                                                                             %
- %                                                                             %
-++   M a g i c k A r r a y Si z e                                              %
-+%                                                                             %
-+%                                                                             %
-+%                                                                             %
-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-+%
-+%  MagickArraySize() returnes the size of an array given two size_t arguments.
-+%  Zero is returned if the computed result overflows the size_t type.
-+%
-+%  The format of the MagickArraySize method is:
-+%
-+%      size_t MagickArraySize(const size_t count, const size_t size);
-+%
-+%  A description of each parameter follows:
-+%
-+%    o count: The number of elements in the array.
-+%
-+%    o size: The size of one array element.
-+%
-+*/
-+MagickExport size_t MagickArraySize(const size_t count, const size_t size)
-+{
-+  size_t
-+    allocation_size;
-+
-+  allocation_size = size * count;
-+  if ((count != 0) && (size != allocation_size/count))
-+    allocation_size = 0;
-+
-+  return allocation_size;
-+}
-+
-+/*
-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-+%                                                                             %
-+%                                                                             %
-+%                                                                             %
- %   M a g i c k M a l l o c                                                   %
- %                                                                             %
- %                                                                             %
-@@ -155,9 +192,8 @@ MagickExport void *MagickMallocArray(con
-     *allocation;
- 
-   allocation = (void *) NULL;
--  allocation_size = size * count;
--  if ((count != 0) && (size != allocation_size/count))
--    allocation_size = 0;
-+  allocation_size=MagickArraySize(count,size);
-+
-   if (allocation_size)
-     allocation = (MallocFunc)(allocation_size);
-   return allocation;
---- GraphicsMagick/magick/memory.h	2009/06/10 00:38:07	1.16
-+++ GraphicsMagick/magick/memory.h	2009/10/09 18:20:22	1.17
-@@ -22,7 +22,6 @@ extern MagickExport void
-    MagickAllocFunctions(MagickFreeFunc free_func,MagickMallocFunc malloc_func,
-                         MagickReallocFunc realloc_func),
-   *MagickMalloc(const size_t size),
--  *MagickMallocArray(const size_t count,const size_t size),
-   *MagickMallocCleared(const size_t size),
-   *MagickCloneMemory(void *destination,const void *source,const size_t size),
-   *MagickRealloc(void *memory,const size_t size),
-@@ -30,6 +29,12 @@ extern MagickExport void
- 
- #if defined(MAGICK_IMPLEMENTATION)
- 
-+extern MagickExport void
-+  *MagickMallocArray(const size_t count,const size_t size);
-+
-+extern MagickExport size_t
-+  MagickArraySize(const size_t count,const size_t size);
-+
- /*
-   Allocate memory
- */
--- a/media-gfx/graphicsmagick/files/graphicsmagick-1.3.7-CVE-2009-3736.patch	Tue Feb 16 22:40:12 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
---- ltdl/ltdl.c	2008-09-09 03:35:02.000000000 +0200
-+++ ltdl/ltdl.c.oden	2009-11-19 16:20:03.000000000 +0100
-@@ -529,7 +529,8 @@ find_module (lt_dlhandle *handle, const 
-   /* Try to open the old library first; if it was dlpreopened,
-      we want the preopened version of it, even if a dlopenable
-      module is available.  */
--  if (old_name && tryall_dlopen (handle, old_name, advise, 0) == 0)
-+  if (old_name && tryall_dlopen (handle, old_name,
-+			  advise, lt_dlloader_find ("lt_preopen") ) == 0)
-     {
-       return 0;
-     }
-@@ -1345,7 +1346,7 @@ try_dlopen (lt_dlhandle *phandle, const 
- 	    }
- #endif
- 	}
--      if (!file)
-+      else
- 	{
- 	  file = fopen (attempt, LT_READTEXT_MODE);
- 	}
--- a/media-gfx/graphicsmagick/graphicsmagick-1.3.10.ebuild	Tue Feb 16 22:40:12 2010 +0100
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.3.10.ebuild	Tue Feb 16 22:41:46 2010 +0100
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphicsmagick/graphicsmagick-1.3.8.ebuild,v 1.1 2010/01/26 06:17:18 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphicsmagick/graphicsmagick-1.3.10.ebuild,v 1.1 2010/02/14 18:05:43 bicatali Exp $
 
 EAPI="2"
 
@@ -14,7 +14,7 @@
 
 LICENSE="MIT"
 SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
 IUSE="bzip2 cxx debug doc fpx imagemagick jbig jpeg jpeg2k lcms openmp
 	perl png q16 q32 svg threads tiff truetype X wmf zlib"