Date: Sunday, September 28, 2014 @ 19:42:32 Author: daniel Revision: 223662
upgpkg: libgdiplus 3.8-1 New upstream release Modified: libgdiplus/trunk/PKGBUILD libgdiplus/trunk/libgdiplus0-giflib5.patch ---------------------------+ PKGBUILD | 24 ++++------------- libgdiplus0-giflib5.patch | 60 +++++++++++++++++++++++++++++++++++--------- 2 files changed, 54 insertions(+), 30 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-09-28 17:38:16 UTC (rev 223661) +++ PKGBUILD 2014-09-28 17:42:32 UTC (rev 223662) @@ -2,33 +2,21 @@ # Maintainer: Daniel Isenmann <[email protected]> pkgname=libgdiplus -pkgver=2.10.9 -pkgrel=5 +pkgver=3.8 +pkgrel=1 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') +source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.gz + libgdiplus0-giflib5.patch) +md5sums=('e75440257b006d7fc2c39e9c56022c4e' + 'a2db6fbb81b1367b3d45eaff674c00a5') 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 } Modified: libgdiplus0-giflib5.patch =================================================================== --- libgdiplus0-giflib5.patch 2014-09-28 17:38:16 UTC (rev 223661) +++ libgdiplus0-giflib5.patch 2014-09-28 17:42:32 UTC (rev 223662) @@ -1,19 +1,28 @@ -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 +--- + src/gifcodec.c | 50 +++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 41 insertions(+), 9 deletions(-) + +Index: libgdiplus-2.10.9/src/gifcodec.c +=================================================================== +--- libgdiplus-2.10.9.orig/src/gifcodec.c ++++ libgdiplus-2.10.9/src/gifcodec.c +@@ -39,8 +39,15 @@ GUID gdip_gif_image_format_guid = {0xb96 #include "gifcodec.h" -+#if GIFLIB_MAJOR < 5 ++#if !defined(GIFLIB_MAJOR) || GIFLIB_MAJOR < 5 /* giflib declares this incorrectly as EgifOpen */ extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc); +#endif ++#if !defined(GIFLIB_MAJOR) || !(GIFLIB_MAJOR > 5 || \ ++ (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1)) ++# define DGifCloseFile(a, b) DGifCloseFile(a) ++# define EGifCloseFile(a, b) EGifCloseFile(a) ++#endif /* Data structure used for callback */ typedef struct -@@ -105,7 +107,7 @@ gdip_gif_inputfunc (GifFileType *gif, GifByteType *data, int len) +@@ -105,7 +112,7 @@ gdip_gif_inputfunc (GifFileType *gif, Gi */ static int @@ -22,7 +31,7 @@ { ExtensionBlock *ep; -@@ -129,7 +131,7 @@ AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[]) +@@ -129,7 +136,7 @@ AddExtensionBlockMono(SavedImage *New, i if (ExtData) { memcpy(ep->Bytes, ExtData, Len); @@ -31,7 +40,7 @@ } return (GIF_OK); -@@ -232,20 +234,20 @@ DGifSlurpMono(GifFileType * GifFile, SavedImage *TrailingExtensions) +@@ -232,20 +239,20 @@ DGifSlurpMono(GifFileType * GifFile, Sav } case EXTENSION_RECORD_TYPE: { @@ -55,7 +64,7 @@ } break; } -@@ -303,12 +305,19 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL from_file) +@@ -303,12 +310,19 @@ gdip_load_gif_image (void *stream, GpIma result = NULL; loop_counter = FALSE; @@ -76,7 +85,25 @@ if (gif == NULL) { goto error; } -@@ -660,11 +669,22 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file) +@@ -581,7 +595,7 @@ gdip_load_gif_image (void *stream, GpIma + } + + FreeExtensionMono(&global_extensions); +- DGifCloseFile (gif); ++ DGifCloseFile (gif, NULL); + + *image = result; + return Ok; +@@ -597,7 +611,7 @@ error: + + if (gif != NULL) { + FreeExtensionMono (&global_extensions); +- DGifCloseFile (gif); ++ DGifCloseFile (gif, NULL); + } + + *image = NULL; +@@ -660,11 +674,22 @@ gdip_save_gif_image (void *stream, GpIma return InvalidParameter; } @@ -99,7 +126,7 @@ if (!fp) { return FileNotFound; -@@ -848,8 +868,15 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL from_file) +@@ -848,8 +873,15 @@ gdip_save_gif_image (void *stream, GpIma Buffer[0] = 1; Buffer[1] = ptr[0]; Buffer[2] = ptr[1]; @@ -115,3 +142,12 @@ } } +@@ -923,7 +955,7 @@ gdip_save_gif_image (void *stream, GpIma + } + } + +- EGifCloseFile (fp); ++ EGifCloseFile (fp, NULL); + + return Ok; +
