Date: Sunday, June 1, 2014 @ 13:25:35
  Author: bpiotrowski
Revision: 214018

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  libgdiplus/repos/staging-i686/
  libgdiplus/repos/staging-i686/PKGBUILD
    (from rev 214017, libgdiplus/trunk/PKGBUILD)
  libgdiplus/repos/staging-i686/libgdiplus-2.10.9-freetype25.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-freetype25.patch)
  libgdiplus/repos/staging-i686/libgdiplus-2.10.9-giflib-5.1.0.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-giflib-5.1.0.patch)
  libgdiplus/repos/staging-i686/libgdiplus-2.10.9-gold.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-gold.patch)
  libgdiplus/repos/staging-i686/libgdiplus0-giflib5.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus0-giflib5.patch)
  libgdiplus/repos/staging-i686/libpng15.patch
    (from rev 214017, libgdiplus/trunk/libpng15.patch)
  libgdiplus/repos/staging-x86_64/
  libgdiplus/repos/staging-x86_64/PKGBUILD
    (from rev 214017, libgdiplus/trunk/PKGBUILD)
  libgdiplus/repos/staging-x86_64/libgdiplus-2.10.9-freetype25.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-freetype25.patch)
  libgdiplus/repos/staging-x86_64/libgdiplus-2.10.9-giflib-5.1.0.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-giflib-5.1.0.patch)
  libgdiplus/repos/staging-x86_64/libgdiplus-2.10.9-gold.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-gold.patch)
  libgdiplus/repos/staging-x86_64/libgdiplus0-giflib5.patch
    (from rev 214017, libgdiplus/trunk/libgdiplus0-giflib5.patch)
  libgdiplus/repos/staging-x86_64/libpng15.patch
    (from rev 214017, libgdiplus/trunk/libpng15.patch)

-----------------------------------------------------+
 staging-i686/PKGBUILD                               |   46 +++++
 staging-i686/libgdiplus-2.10.9-freetype25.patch     |   26 ++
 staging-i686/libgdiplus-2.10.9-giflib-5.1.0.patch   |   30 +++
 staging-i686/libgdiplus-2.10.9-gold.patch           |   16 +
 staging-i686/libgdiplus0-giflib5.patch              |  117 ++++++++++++
 staging-i686/libpng15.patch                         |  164 ++++++++++++++++++
 staging-x86_64/PKGBUILD                             |   46 +++++
 staging-x86_64/libgdiplus-2.10.9-freetype25.patch   |   26 ++
 staging-x86_64/libgdiplus-2.10.9-giflib-5.1.0.patch |   30 +++
 staging-x86_64/libgdiplus-2.10.9-gold.patch         |   16 +
 staging-x86_64/libgdiplus0-giflib5.patch            |  117 ++++++++++++
 staging-x86_64/libpng15.patch                       |  164 ++++++++++++++++++
 12 files changed, 798 insertions(+)

Copied: libgdiplus/repos/staging-i686/PKGBUILD (from rev 214017, 
libgdiplus/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD                               (rev 0)
+++ staging-i686/PKGBUILD       2014-06-01 11:25:35 UTC (rev 214018)
@@ -0,0 +1,46 @@
+# $Id$
+# Maintainer: Daniel Isenmann <dan...@archlinux.org>
+
+pkgname=libgdiplus
+pkgver=2.10.9
+pkgrel=5
+pkgdesc="An Open Source Implementation of the GDI+ API"
+arch=(i686 x86_64)
+license=('MPL' 'LGPL')
+url="http://www.mono-project.com";
+depends=('libtiff' 'cairo' 'giflib' 'glib2' 'libexif')
+source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+        libpng15.patch
+        libgdiplus0-giflib5.patch
+        libgdiplus-2.10.9-gold.patch
+        libgdiplus-2.10.9-freetype25.patch
+        libgdiplus-2.10.9-giflib-5.1.0.patch)
+md5sums=('b4615c14584b5d73cbb9757c28887654'
+         'a2d143676bbaceeb88b4c34069e93986'
+         'ad97558c721106eea03c7808b501814b'
+         '95fb92750c131ce9287419c3ac5fcb76'
+         '6ee484dde02ea89aded1287c0a8d4bad'
+         '8c0a975b12a011b21e4216c44be1416e')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -Np0 -i ../libpng15.patch
+  patch -Np1 -i ../libgdiplus0-giflib5.patch
+  patch -Np1 -i ../libgdiplus-2.10.9-gold.patch
+  patch -Np1 -i ../libgdiplus-2.10.9-freetype25.patch
+  patch -Np1 -i ../libgdiplus-2.10.9-giflib-5.1.0.patch
+
+  sed -i -e 's/-L\${libjpeg_prefix}\/lib -ljpeg/-ljpeg/' configure
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr --with-cairo=system
+
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+}

Copied: libgdiplus/repos/staging-i686/libgdiplus-2.10.9-freetype25.patch (from 
rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-freetype25.patch)
===================================================================
--- staging-i686/libgdiplus-2.10.9-freetype25.patch                             
(rev 0)
+++ staging-i686/libgdiplus-2.10.9-freetype25.patch     2014-06-01 11:25:35 UTC 
(rev 214018)
@@ -0,0 +1,26 @@
+commit 180c02e0f2a2016eba8520b456ca929e9dcf03db
+Author: Jo Shields <direct...@apebox.org>
+Date:   Mon Dec 16 09:24:57 2013 +0000
+
+    Use FreeType macros for tttables.h inclusion
+    
+    As of FreeType 2.1.6 (November 2003), using #include to include Freetype 
libraries directly is not supported.
+    
+    This has come to a head, as in FreeType 2.5.0, the location of headers has 
been moved around, breaking building of libgdiplus.
+    
+    This slight change uses the "official" way to include the required header 
file, without breaking building on older versions of the library.
+
+diff --git a/src/gdiplus-private.h b/src/gdiplus-private.h
+index 59edf9e..dfccc02 100644
+--- a/src/gdiplus-private.h
++++ b/src/gdiplus-private.h
+@@ -30,7 +30,8 @@
+ #include <stdio.h>
+ #include <math.h>
+ #include <glib.h>
+-#include <freetype/tttables.h>
++#include <ft2build.h>
++#include FT_TRUETYPE_TABLES_H
+ #include <pthread.h>
+ #include <unistd.h>
+ 

Copied: libgdiplus/repos/staging-i686/libgdiplus-2.10.9-giflib-5.1.0.patch 
(from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-giflib-5.1.0.patch)
===================================================================
--- staging-i686/libgdiplus-2.10.9-giflib-5.1.0.patch                           
(rev 0)
+++ staging-i686/libgdiplus-2.10.9-giflib-5.1.0.patch   2014-06-01 11:25:35 UTC 
(rev 214018)
@@ -0,0 +1,30 @@
+diff -rupN a/src/gifcodec.c b/src/gifcodec.c
+--- a/src/gifcodec.c   2011-12-02 18:23:12.000000000 +0100
++++ b/src/gifcodec.c   2014-06-01 13:20:17.027203704 +0200
+@@ -581,7 +581,7 @@ gdip_load_gif_image (void *stream, GpIma
+       }
+ 
+       FreeExtensionMono(&global_extensions);
+-      DGifCloseFile (gif);
++      DGifCloseFile (gif, NULL);
+ 
+       *image = result;
+       return Ok;
+@@ -597,7 +597,7 @@ error:
+ 
+       if (gif != NULL) {
+               FreeExtensionMono (&global_extensions);
+-              DGifCloseFile (gif);
++              DGifCloseFile (gif, NULL);
+       }
+ 
+       *image = NULL;
+@@ -923,7 +923,7 @@ gdip_save_gif_image (void *stream, GpIma
+               }
+       }
+ 
+-      EGifCloseFile (fp);     
++      EGifCloseFile (fp, NULL);       
+       
+       return Ok;
+ 

Copied: libgdiplus/repos/staging-i686/libgdiplus-2.10.9-gold.patch (from rev 
214017, libgdiplus/trunk/libgdiplus-2.10.9-gold.patch)
===================================================================
--- staging-i686/libgdiplus-2.10.9-gold.patch                           (rev 0)
+++ staging-i686/libgdiplus-2.10.9-gold.patch   2014-06-01 11:25:35 UTC (rev 
214018)
@@ -0,0 +1,16 @@
+ tests/Makefile.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index 97f5f4e..c02ca25 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -228,7 +228,7 @@ DEPS = \
+       $(top_builddir)/src/libgdiplus.la
+ 
+ LDADDS = \
+-      $(top_builddir)/src/libgdiplus.la
++      $(top_builddir)/src/libgdiplus.la -lX11 -lglib-2.0
+ 
+ testgdi_DEPENDENCIES = $(TEST_DEPS)
+ testgdi_LDADD = $(LDADDS)

Copied: libgdiplus/repos/staging-i686/libgdiplus0-giflib5.patch (from rev 
214017, libgdiplus/trunk/libgdiplus0-giflib5.patch)
===================================================================
--- staging-i686/libgdiplus0-giflib5.patch                              (rev 0)
+++ staging-i686/libgdiplus0-giflib5.patch      2014-06-01 11:25:35 UTC (rev 
214018)
@@ -0,0 +1,117 @@
+diff --git a/src/gifcodec.c b/src/gifcodec.c
+index 8dee0eb..564beed 100644
+--- a/src/gifcodec.c
++++ b/src/gifcodec.c
+@@ -39,8 +39,10 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 
0x11d3U, {0x9d, 0x7b, 0
+ 
+ #include "gifcodec.h"
+ 
++#if GIFLIB_MAJOR < 5
+ /* giflib declares this incorrectly as EgifOpen */
+ extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc);
++#endif
+ 
+ /* Data structure used for callback */
+ typedef struct
+@@ -105,7 +107,7 @@ gdip_gif_inputfunc (GifFileType *gif, GifByteType *data, 
int len)
+ */
+ 
+ static int
+-AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[])
++AddExtensionBlockMono(SavedImage *New, int Len, int func, BYTE ExtData[])
+ {
+       ExtensionBlock  *ep;
+ 
+@@ -129,7 +131,7 @@ AddExtensionBlockMono(SavedImage *New, int Len, BYTE 
ExtData[])
+ 
+       if (ExtData) {
+               memcpy(ep->Bytes, ExtData, Len);
+-              ep->Function = New->Function;
++              ep->Function = func;
+       }
+ 
+       return (GIF_OK);
+@@ -232,20 +234,20 @@ DGifSlurpMono(GifFileType * GifFile, SavedImage 
*TrailingExtensions)
+                       }
+ 
+                       case EXTENSION_RECORD_TYPE: {
+-                              if (DGifGetExtension(GifFile, 
&temp_save.Function, &ExtData) == GIF_ERROR) {
++                              int func;
++                              if (DGifGetExtension(GifFile, &func, &ExtData) 
== GIF_ERROR) {
+                                       return (GIF_ERROR);
+                               }
+ 
+                               while (ExtData != NULL) {
+                                       /* Create an extension block with our 
data */
+-                                      if (AddExtensionBlockMono(&temp_save, 
ExtData[0], &ExtData[1]) == GIF_ERROR) {
++                                      if (AddExtensionBlockMono(&temp_save, 
func, ExtData[0], &ExtData[1]) == GIF_ERROR) {
+                                               return (GIF_ERROR);
+                                       }
+ 
+                                       if (DGifGetExtensionNext(GifFile, 
&ExtData) == GIF_ERROR) {
+                                               return (GIF_ERROR);
+                                       }
+-                                      temp_save.Function = 0;
+                               }
+                               break;
+                       }
+@@ -303,12 +305,19 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL 
from_file)
+       result = NULL;
+       loop_counter = FALSE;
+ 
++#if GIFLIB_MAJOR < 5
+       if (from_file) {
+               gif = DGifOpen(stream, &gdip_gif_fileinputfunc);
+       } else {
+               gif = DGifOpen (stream, &gdip_gif_inputfunc);
+       }
+-      
++#else
++      if (from_file)
++              gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL);
++      else
++              gif = DGifOpen(stream, &gdip_gif_inputfunc, NULL);
++#endif
++
+       if (gif == NULL) {
+               goto error;
+       }
+@@ -660,11 +669,22 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+               return InvalidParameter;
+       }
+ 
++#if GIFLIB_MAJOR < 5
+       if (from_file) {
+               fp = EGifOpenFileName (stream, 0);
+       } else {
+               fp = EGifOpen (stream, gdip_gif_outputfunc);
+       }
++#else
++      if (from_file)
++              fp = EGifOpenFileName (stream, 0, NULL);
++      else
++              fp = EGifOpen (stream, gdip_gif_outputfunc, NULL);
++#define MakeMapObject  GifMakeMapObject
++#define FreeMapObject  GifFreeMapObject
++#define QuantizeBuffer GifQuantizeBuffer
++#define BitSize        GifBitSize
++#endif
+               
+       if (!fp) {
+               return FileNotFound;
+@@ -848,8 +868,15 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+                                               Buffer[0] = 1;
+                                               Buffer[1] = ptr[0];
+                                               Buffer[2] = ptr[1];
++#if GIFLIB_MAJOR < 5
+                                               EGifPutExtensionFirst(fp, 
APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0");
+                                               EGifPutExtensionLast(fp, 
APPLICATION_EXT_FUNC_CODE, 3, Buffer);
++#else
++                                              EGifPutExtensionLeader(fp, 
APPLICATION_EXT_FUNC_CODE);
++                                              EGifPutExtensionBlock(fp, 11, 
"NETSCAPE2.0");
++                                              EGifPutExtensionBlock(fp, 3, 
Buffer);
++                                              EGifPutExtensionTrailer(fp);
++#endif
+                                       }
+                               }
+ 

Copied: libgdiplus/repos/staging-i686/libpng15.patch (from rev 214017, 
libgdiplus/trunk/libpng15.patch)
===================================================================
--- staging-i686/libpng15.patch                         (rev 0)
+++ staging-i686/libpng15.patch 2014-06-01 11:25:35 UTC (rev 214018)
@@ -0,0 +1,164 @@
+$NetBSD: patch-aa,v 1.8 2011/01/21 10:21:51 wiz Exp $
+
+Fix build with png-1.5.
+
+--- src/pngcodec.c.orig        2010-11-03 16:52:54.000000000 +0000
++++ src/pngcodec.c
+@@ -116,10 +116,15 @@ gdip_load_png_properties (png_structp pn
+       bitmap_data->dpi_horz = png_get_x_pixels_per_inch(png_ptr, info_ptr);
+       bitmap_data->dpi_vert = png_get_y_pixels_per_inch(png_ptr, info_ptr);
+ #elif defined(PNG_pHYs_SUPPORTED)
+-      if ((info_ptr->valid & PNG_INFO_pHYs) && (info_ptr->phys_unit_type == 
PNG_RESOLUTION_METER)) {
+-              bitmap_data->image_flags |= ImageFlagsHasRealDPI;
+-              bitmap_data->dpi_horz = info_ptr->x_pixels_per_unit * 0.0254;
+-              bitmap_data->dpi_vert = info_ptr->y_pixels_per_unit * 0.0254;
++      if (png_get_valid (png_ptr, info_ptr, PNG_INFO_pHYs)) {
++              png_uint_32 res_x, res_y;
++              int unit_type;
++              png_get_pHYs (png_ptr, info_ptr, &res_x, &res_y, &unit_type);
++              if (unit_type == PNG_RESOLUTION_METER) {
++                      bitmap_data->image_flags |= ImageFlagsHasRealDPI;
++                      bitmap_data->dpi_horz = res_x * 0.0254;
++                      bitmap_data->dpi_vert = res_y * 0.0254;
++              }
+       }
+ #endif
+       /* default to screen resolution (if nothing was provided or available) 
*/
+@@ -130,7 +135,7 @@ gdip_load_png_properties (png_structp pn
+ #if defined(PNG_iCCP_SUPPORTED)
+       {
+               png_charp       name;
+-              png_charp       profile;
++              png_bytep       profile;
+               png_uint_32     proflen;
+               int             compression_type;
+ 
+@@ -292,6 +297,11 @@ gdip_load_png_image_from_file_or_stream 
+               ImageFlags      colourspace_flag;
+               int             i;
+               int             j;
++              png_colorp      png_palette;
++              int             png_num_palette;
++              png_bytep       trans_alpha;
++              int             num_trans;
++              png_color_16p   trans_color;
+ 
+               width = png_get_image_width (png_ptr, info_ptr);
+               height = png_get_image_height (png_ptr, info_ptr);
+@@ -309,6 +319,8 @@ gdip_load_png_image_from_file_or_stream 
+               }
+ 
+               /* Copy palette. */
++              png_get_PLTE (png_ptr, info_ptr, &png_palette, 
&png_num_palette);
++
+               num_colours = 1 << bit_depth;
+ 
+               if (png_get_color_type (png_ptr, info_ptr) == 
PNG_COLOR_TYPE_GRAY) {
+@@ -321,8 +333,8 @@ gdip_load_png_image_from_file_or_stream 
+                       colourspace_flag = ImageFlagsColorSpaceRGB;
+ 
+                       palette_entries = num_colours;
+-                      if (palette_entries > info_ptr->num_palette) {
+-                              palette_entries = info_ptr->num_palette;
++                      if (palette_entries > png_num_palette) {
++                              palette_entries = png_num_palette;
+                       }
+ 
+                       palette = GdipAlloc (sizeof(ColorPalette) + 
(num_colours - 1) * sizeof(ARGB));
+@@ -331,29 +343,30 @@ gdip_load_png_image_from_file_or_stream 
+ 
+                       for (i=0; i < palette_entries; i++) {
+                               set_pixel_bgra (&palette->Entries[i], 0,
+-                                              info_ptr->palette[i].blue,
+-                                              info_ptr->palette[i].green,
+-                                              info_ptr->palette[i].red,
++                                              png_palette[i].blue,
++                                              png_palette[i].green,
++                                              png_palette[i].red,
+                                               0xFF); /* alpha */
+                       }
+               }
+ 
++              png_get_tRNS (png_ptr, info_ptr, &trans_alpha, &num_trans, 
&trans_color);
+               /* Make sure transparency is respected. */
+-              if (info_ptr->num_trans > 0) {
++              if (num_trans > 0) {
+                       palette->Flags |= PaletteFlagsHasAlpha;
+                       colourspace_flag |= ImageFlagsHasAlpha;
+ 
+-                      if (info_ptr->num_trans > info_ptr->num_palette) {
+-                              info_ptr->num_trans = info_ptr->num_palette;
++                      if (num_trans > png_num_palette) {
++                              num_trans = png_num_palette;
+                       }
+ 
+-                      for (i=0; i < info_ptr->num_trans; i++) {
++                      for (i=0; i < num_trans; i++) {
+                               set_pixel_bgra(&palette->Entries[i], 0,
+-                                              info_ptr->palette[i].blue,
+-                                              info_ptr->palette[i].green,
+-                                              info_ptr->palette[i].red,
++                                              png_palette[i].blue,
++                                              png_palette[i].green,
++                                              png_palette[i].red,
+ #if PNG_LIBPNG_VER > 10399
+-                                              info_ptr->trans_alpha [i]); /* 
alpha */
++                                              trans_alpha [i]); /* alpha */
+ #else
+                                               info_ptr->trans[i]); /* alpha */
+ #endif
+@@ -398,6 +411,8 @@ gdip_load_png_image_from_file_or_stream 
+               BYTE            bit_depth;
+               int             stride;
+               int             interlace;
++              png_colorp      png_palette;
++              int             png_num_palette;
+               png_bytep *row_pointers;
+               BYTE *rawptr;
+               int i, j;
+@@ -490,32 +505,33 @@ gdip_load_png_image_from_file_or_stream 
+                                                       png_byte palette = 0;
+                                                       png_byte pix = *rowp++;
+ 
++                                                      png_get_PLTE (png_ptr, 
info_ptr, &png_palette, &png_num_palette);
+                                                       palette = (pix >> 6) & 
0x03;
+                                                       set_pixel_bgra (rawptr, 
0,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+ 
+                                                       palette = (pix >> 4) & 
0x03;
+                                                       set_pixel_bgra (rawptr, 
4,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+ 
+                                                       palette = (pix >> 2) & 
0x03;
+                                                       set_pixel_bgra (rawptr, 
8,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+ 
+                                                       palette = pix & 0x03;
+                                                       set_pixel_bgra (rawptr, 
12,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+                                                       rawptr += 16;
+                                               }

Copied: libgdiplus/repos/staging-x86_64/PKGBUILD (from rev 214017, 
libgdiplus/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD                             (rev 0)
+++ staging-x86_64/PKGBUILD     2014-06-01 11:25:35 UTC (rev 214018)
@@ -0,0 +1,46 @@
+# $Id$
+# Maintainer: Daniel Isenmann <dan...@archlinux.org>
+
+pkgname=libgdiplus
+pkgver=2.10.9
+pkgrel=5
+pkgdesc="An Open Source Implementation of the GDI+ API"
+arch=(i686 x86_64)
+license=('MPL' 'LGPL')
+url="http://www.mono-project.com";
+depends=('libtiff' 'cairo' 'giflib' 'glib2' 'libexif')
+source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+        libpng15.patch
+        libgdiplus0-giflib5.patch
+        libgdiplus-2.10.9-gold.patch
+        libgdiplus-2.10.9-freetype25.patch
+        libgdiplus-2.10.9-giflib-5.1.0.patch)
+md5sums=('b4615c14584b5d73cbb9757c28887654'
+         'a2d143676bbaceeb88b4c34069e93986'
+         'ad97558c721106eea03c7808b501814b'
+         '95fb92750c131ce9287419c3ac5fcb76'
+         '6ee484dde02ea89aded1287c0a8d4bad'
+         '8c0a975b12a011b21e4216c44be1416e')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -Np0 -i ../libpng15.patch
+  patch -Np1 -i ../libgdiplus0-giflib5.patch
+  patch -Np1 -i ../libgdiplus-2.10.9-gold.patch
+  patch -Np1 -i ../libgdiplus-2.10.9-freetype25.patch
+  patch -Np1 -i ../libgdiplus-2.10.9-giflib-5.1.0.patch
+
+  sed -i -e 's/-L\${libjpeg_prefix}\/lib -ljpeg/-ljpeg/' configure
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr --with-cairo=system
+
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+}

Copied: libgdiplus/repos/staging-x86_64/libgdiplus-2.10.9-freetype25.patch 
(from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-freetype25.patch)
===================================================================
--- staging-x86_64/libgdiplus-2.10.9-freetype25.patch                           
(rev 0)
+++ staging-x86_64/libgdiplus-2.10.9-freetype25.patch   2014-06-01 11:25:35 UTC 
(rev 214018)
@@ -0,0 +1,26 @@
+commit 180c02e0f2a2016eba8520b456ca929e9dcf03db
+Author: Jo Shields <direct...@apebox.org>
+Date:   Mon Dec 16 09:24:57 2013 +0000
+
+    Use FreeType macros for tttables.h inclusion
+    
+    As of FreeType 2.1.6 (November 2003), using #include to include Freetype 
libraries directly is not supported.
+    
+    This has come to a head, as in FreeType 2.5.0, the location of headers has 
been moved around, breaking building of libgdiplus.
+    
+    This slight change uses the "official" way to include the required header 
file, without breaking building on older versions of the library.
+
+diff --git a/src/gdiplus-private.h b/src/gdiplus-private.h
+index 59edf9e..dfccc02 100644
+--- a/src/gdiplus-private.h
++++ b/src/gdiplus-private.h
+@@ -30,7 +30,8 @@
+ #include <stdio.h>
+ #include <math.h>
+ #include <glib.h>
+-#include <freetype/tttables.h>
++#include <ft2build.h>
++#include FT_TRUETYPE_TABLES_H
+ #include <pthread.h>
+ #include <unistd.h>
+ 

Copied: libgdiplus/repos/staging-x86_64/libgdiplus-2.10.9-giflib-5.1.0.patch 
(from rev 214017, libgdiplus/trunk/libgdiplus-2.10.9-giflib-5.1.0.patch)
===================================================================
--- staging-x86_64/libgdiplus-2.10.9-giflib-5.1.0.patch                         
(rev 0)
+++ staging-x86_64/libgdiplus-2.10.9-giflib-5.1.0.patch 2014-06-01 11:25:35 UTC 
(rev 214018)
@@ -0,0 +1,30 @@
+diff -rupN a/src/gifcodec.c b/src/gifcodec.c
+--- a/src/gifcodec.c   2011-12-02 18:23:12.000000000 +0100
++++ b/src/gifcodec.c   2014-06-01 13:20:17.027203704 +0200
+@@ -581,7 +581,7 @@ gdip_load_gif_image (void *stream, GpIma
+       }
+ 
+       FreeExtensionMono(&global_extensions);
+-      DGifCloseFile (gif);
++      DGifCloseFile (gif, NULL);
+ 
+       *image = result;
+       return Ok;
+@@ -597,7 +597,7 @@ error:
+ 
+       if (gif != NULL) {
+               FreeExtensionMono (&global_extensions);
+-              DGifCloseFile (gif);
++              DGifCloseFile (gif, NULL);
+       }
+ 
+       *image = NULL;
+@@ -923,7 +923,7 @@ gdip_save_gif_image (void *stream, GpIma
+               }
+       }
+ 
+-      EGifCloseFile (fp);     
++      EGifCloseFile (fp, NULL);       
+       
+       return Ok;
+ 

Copied: libgdiplus/repos/staging-x86_64/libgdiplus-2.10.9-gold.patch (from rev 
214017, libgdiplus/trunk/libgdiplus-2.10.9-gold.patch)
===================================================================
--- staging-x86_64/libgdiplus-2.10.9-gold.patch                         (rev 0)
+++ staging-x86_64/libgdiplus-2.10.9-gold.patch 2014-06-01 11:25:35 UTC (rev 
214018)
@@ -0,0 +1,16 @@
+ tests/Makefile.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index 97f5f4e..c02ca25 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -228,7 +228,7 @@ DEPS = \
+       $(top_builddir)/src/libgdiplus.la
+ 
+ LDADDS = \
+-      $(top_builddir)/src/libgdiplus.la
++      $(top_builddir)/src/libgdiplus.la -lX11 -lglib-2.0
+ 
+ testgdi_DEPENDENCIES = $(TEST_DEPS)
+ testgdi_LDADD = $(LDADDS)

Copied: libgdiplus/repos/staging-x86_64/libgdiplus0-giflib5.patch (from rev 
214017, libgdiplus/trunk/libgdiplus0-giflib5.patch)
===================================================================
--- staging-x86_64/libgdiplus0-giflib5.patch                            (rev 0)
+++ staging-x86_64/libgdiplus0-giflib5.patch    2014-06-01 11:25:35 UTC (rev 
214018)
@@ -0,0 +1,117 @@
+diff --git a/src/gifcodec.c b/src/gifcodec.c
+index 8dee0eb..564beed 100644
+--- a/src/gifcodec.c
++++ b/src/gifcodec.c
+@@ -39,8 +39,10 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 
0x11d3U, {0x9d, 0x7b, 0
+ 
+ #include "gifcodec.h"
+ 
++#if GIFLIB_MAJOR < 5
+ /* giflib declares this incorrectly as EgifOpen */
+ extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc);
++#endif
+ 
+ /* Data structure used for callback */
+ typedef struct
+@@ -105,7 +107,7 @@ gdip_gif_inputfunc (GifFileType *gif, GifByteType *data, 
int len)
+ */
+ 
+ static int
+-AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[])
++AddExtensionBlockMono(SavedImage *New, int Len, int func, BYTE ExtData[])
+ {
+       ExtensionBlock  *ep;
+ 
+@@ -129,7 +131,7 @@ AddExtensionBlockMono(SavedImage *New, int Len, BYTE 
ExtData[])
+ 
+       if (ExtData) {
+               memcpy(ep->Bytes, ExtData, Len);
+-              ep->Function = New->Function;
++              ep->Function = func;
+       }
+ 
+       return (GIF_OK);
+@@ -232,20 +234,20 @@ DGifSlurpMono(GifFileType * GifFile, SavedImage 
*TrailingExtensions)
+                       }
+ 
+                       case EXTENSION_RECORD_TYPE: {
+-                              if (DGifGetExtension(GifFile, 
&temp_save.Function, &ExtData) == GIF_ERROR) {
++                              int func;
++                              if (DGifGetExtension(GifFile, &func, &ExtData) 
== GIF_ERROR) {
+                                       return (GIF_ERROR);
+                               }
+ 
+                               while (ExtData != NULL) {
+                                       /* Create an extension block with our 
data */
+-                                      if (AddExtensionBlockMono(&temp_save, 
ExtData[0], &ExtData[1]) == GIF_ERROR) {
++                                      if (AddExtensionBlockMono(&temp_save, 
func, ExtData[0], &ExtData[1]) == GIF_ERROR) {
+                                               return (GIF_ERROR);
+                                       }
+ 
+                                       if (DGifGetExtensionNext(GifFile, 
&ExtData) == GIF_ERROR) {
+                                               return (GIF_ERROR);
+                                       }
+-                                      temp_save.Function = 0;
+                               }
+                               break;
+                       }
+@@ -303,12 +305,19 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL 
from_file)
+       result = NULL;
+       loop_counter = FALSE;
+ 
++#if GIFLIB_MAJOR < 5
+       if (from_file) {
+               gif = DGifOpen(stream, &gdip_gif_fileinputfunc);
+       } else {
+               gif = DGifOpen (stream, &gdip_gif_inputfunc);
+       }
+-      
++#else
++      if (from_file)
++              gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL);
++      else
++              gif = DGifOpen(stream, &gdip_gif_inputfunc, NULL);
++#endif
++
+       if (gif == NULL) {
+               goto error;
+       }
+@@ -660,11 +669,22 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+               return InvalidParameter;
+       }
+ 
++#if GIFLIB_MAJOR < 5
+       if (from_file) {
+               fp = EGifOpenFileName (stream, 0);
+       } else {
+               fp = EGifOpen (stream, gdip_gif_outputfunc);
+       }
++#else
++      if (from_file)
++              fp = EGifOpenFileName (stream, 0, NULL);
++      else
++              fp = EGifOpen (stream, gdip_gif_outputfunc, NULL);
++#define MakeMapObject  GifMakeMapObject
++#define FreeMapObject  GifFreeMapObject
++#define QuantizeBuffer GifQuantizeBuffer
++#define BitSize        GifBitSize
++#endif
+               
+       if (!fp) {
+               return FileNotFound;
+@@ -848,8 +868,15 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+                                               Buffer[0] = 1;
+                                               Buffer[1] = ptr[0];
+                                               Buffer[2] = ptr[1];
++#if GIFLIB_MAJOR < 5
+                                               EGifPutExtensionFirst(fp, 
APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0");
+                                               EGifPutExtensionLast(fp, 
APPLICATION_EXT_FUNC_CODE, 3, Buffer);
++#else
++                                              EGifPutExtensionLeader(fp, 
APPLICATION_EXT_FUNC_CODE);
++                                              EGifPutExtensionBlock(fp, 11, 
"NETSCAPE2.0");
++                                              EGifPutExtensionBlock(fp, 3, 
Buffer);
++                                              EGifPutExtensionTrailer(fp);
++#endif
+                                       }
+                               }
+ 

Copied: libgdiplus/repos/staging-x86_64/libpng15.patch (from rev 214017, 
libgdiplus/trunk/libpng15.patch)
===================================================================
--- staging-x86_64/libpng15.patch                               (rev 0)
+++ staging-x86_64/libpng15.patch       2014-06-01 11:25:35 UTC (rev 214018)
@@ -0,0 +1,164 @@
+$NetBSD: patch-aa,v 1.8 2011/01/21 10:21:51 wiz Exp $
+
+Fix build with png-1.5.
+
+--- src/pngcodec.c.orig        2010-11-03 16:52:54.000000000 +0000
++++ src/pngcodec.c
+@@ -116,10 +116,15 @@ gdip_load_png_properties (png_structp pn
+       bitmap_data->dpi_horz = png_get_x_pixels_per_inch(png_ptr, info_ptr);
+       bitmap_data->dpi_vert = png_get_y_pixels_per_inch(png_ptr, info_ptr);
+ #elif defined(PNG_pHYs_SUPPORTED)
+-      if ((info_ptr->valid & PNG_INFO_pHYs) && (info_ptr->phys_unit_type == 
PNG_RESOLUTION_METER)) {
+-              bitmap_data->image_flags |= ImageFlagsHasRealDPI;
+-              bitmap_data->dpi_horz = info_ptr->x_pixels_per_unit * 0.0254;
+-              bitmap_data->dpi_vert = info_ptr->y_pixels_per_unit * 0.0254;
++      if (png_get_valid (png_ptr, info_ptr, PNG_INFO_pHYs)) {
++              png_uint_32 res_x, res_y;
++              int unit_type;
++              png_get_pHYs (png_ptr, info_ptr, &res_x, &res_y, &unit_type);
++              if (unit_type == PNG_RESOLUTION_METER) {
++                      bitmap_data->image_flags |= ImageFlagsHasRealDPI;
++                      bitmap_data->dpi_horz = res_x * 0.0254;
++                      bitmap_data->dpi_vert = res_y * 0.0254;
++              }
+       }
+ #endif
+       /* default to screen resolution (if nothing was provided or available) 
*/
+@@ -130,7 +135,7 @@ gdip_load_png_properties (png_structp pn
+ #if defined(PNG_iCCP_SUPPORTED)
+       {
+               png_charp       name;
+-              png_charp       profile;
++              png_bytep       profile;
+               png_uint_32     proflen;
+               int             compression_type;
+ 
+@@ -292,6 +297,11 @@ gdip_load_png_image_from_file_or_stream 
+               ImageFlags      colourspace_flag;
+               int             i;
+               int             j;
++              png_colorp      png_palette;
++              int             png_num_palette;
++              png_bytep       trans_alpha;
++              int             num_trans;
++              png_color_16p   trans_color;
+ 
+               width = png_get_image_width (png_ptr, info_ptr);
+               height = png_get_image_height (png_ptr, info_ptr);
+@@ -309,6 +319,8 @@ gdip_load_png_image_from_file_or_stream 
+               }
+ 
+               /* Copy palette. */
++              png_get_PLTE (png_ptr, info_ptr, &png_palette, 
&png_num_palette);
++
+               num_colours = 1 << bit_depth;
+ 
+               if (png_get_color_type (png_ptr, info_ptr) == 
PNG_COLOR_TYPE_GRAY) {
+@@ -321,8 +333,8 @@ gdip_load_png_image_from_file_or_stream 
+                       colourspace_flag = ImageFlagsColorSpaceRGB;
+ 
+                       palette_entries = num_colours;
+-                      if (palette_entries > info_ptr->num_palette) {
+-                              palette_entries = info_ptr->num_palette;
++                      if (palette_entries > png_num_palette) {
++                              palette_entries = png_num_palette;
+                       }
+ 
+                       palette = GdipAlloc (sizeof(ColorPalette) + 
(num_colours - 1) * sizeof(ARGB));
+@@ -331,29 +343,30 @@ gdip_load_png_image_from_file_or_stream 
+ 
+                       for (i=0; i < palette_entries; i++) {
+                               set_pixel_bgra (&palette->Entries[i], 0,
+-                                              info_ptr->palette[i].blue,
+-                                              info_ptr->palette[i].green,
+-                                              info_ptr->palette[i].red,
++                                              png_palette[i].blue,
++                                              png_palette[i].green,
++                                              png_palette[i].red,
+                                               0xFF); /* alpha */
+                       }
+               }
+ 
++              png_get_tRNS (png_ptr, info_ptr, &trans_alpha, &num_trans, 
&trans_color);
+               /* Make sure transparency is respected. */
+-              if (info_ptr->num_trans > 0) {
++              if (num_trans > 0) {
+                       palette->Flags |= PaletteFlagsHasAlpha;
+                       colourspace_flag |= ImageFlagsHasAlpha;
+ 
+-                      if (info_ptr->num_trans > info_ptr->num_palette) {
+-                              info_ptr->num_trans = info_ptr->num_palette;
++                      if (num_trans > png_num_palette) {
++                              num_trans = png_num_palette;
+                       }
+ 
+-                      for (i=0; i < info_ptr->num_trans; i++) {
++                      for (i=0; i < num_trans; i++) {
+                               set_pixel_bgra(&palette->Entries[i], 0,
+-                                              info_ptr->palette[i].blue,
+-                                              info_ptr->palette[i].green,
+-                                              info_ptr->palette[i].red,
++                                              png_palette[i].blue,
++                                              png_palette[i].green,
++                                              png_palette[i].red,
+ #if PNG_LIBPNG_VER > 10399
+-                                              info_ptr->trans_alpha [i]); /* 
alpha */
++                                              trans_alpha [i]); /* alpha */
+ #else
+                                               info_ptr->trans[i]); /* alpha */
+ #endif
+@@ -398,6 +411,8 @@ gdip_load_png_image_from_file_or_stream 
+               BYTE            bit_depth;
+               int             stride;
+               int             interlace;
++              png_colorp      png_palette;
++              int             png_num_palette;
+               png_bytep *row_pointers;
+               BYTE *rawptr;
+               int i, j;
+@@ -490,32 +505,33 @@ gdip_load_png_image_from_file_or_stream 
+                                                       png_byte palette = 0;
+                                                       png_byte pix = *rowp++;
+ 
++                                                      png_get_PLTE (png_ptr, 
info_ptr, &png_palette, &png_num_palette);
+                                                       palette = (pix >> 6) & 
0x03;
+                                                       set_pixel_bgra (rawptr, 
0,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+ 
+                                                       palette = (pix >> 4) & 
0x03;
+                                                       set_pixel_bgra (rawptr, 
4,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+ 
+                                                       palette = (pix >> 2) & 
0x03;
+                                                       set_pixel_bgra (rawptr, 
8,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+ 
+                                                       palette = pix & 0x03;
+                                                       set_pixel_bgra (rawptr, 
12,
+-                                                              
info_ptr->palette[palette].blue,
+-                                                              
info_ptr->palette[palette].green,
+-                                                              
info_ptr->palette[palette].red,
++                                                              
png_palette[palette].blue,
++                                                              
png_palette[palette].green,
++                                                              
png_palette[palette].red,
+                                                               0xFF); /* alpha 
*/
+                                                       rawptr += 16;
+                                               }

Reply via email to