[arch-commits] Commit in libgdiplus/trunk (3 files)
Jan de Groot
jgc at nymeria.archlinux.org
Tue Jul 30 09:44:52 UTC 2013
Date: Tuesday, July 30, 2013 @ 11:44:51
Author: jgc
Revision: 191758
giflib rebuild, add patches to make it build
upgpkg: libgdiplus 2.10.9-1
Added:
libgdiplus/trunk/libgdiplus-2.10.9-gold.patch
libgdiplus/trunk/libgdiplus0-giflib5.patch
Modified:
libgdiplus/trunk/PKGBUILD
------------------------------+
PKGBUILD | 28 ++++++---
libgdiplus-2.10.9-gold.patch | 16 +++++
libgdiplus0-giflib5.patch | 117 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 152 insertions(+), 9 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-07-30 09:24:26 UTC (rev 191757)
+++ PKGBUILD 2013-07-30 09:44:51 UTC (rev 191758)
@@ -2,27 +2,37 @@
# Maintainer: Daniel Isenmann <daniel at archlinux.org>
pkgname=libgdiplus
-pkgver=2.10
-pkgrel=4
+pkgver=2.10.9
+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>=3.9.2-2' 'cairo>=1.8.10' 'giflib' 'glib2>=2.24.0' 'libexif')
+depends=('libtiff' 'cairo' 'giflib' 'glib2' 'libexif')
options=('!libtool')
-source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2 libpng15.patch)
-md5sums=('451966e8f637e3a1f02d1d30f900255d'
- 'a2d143676bbaceeb88b4c34069e93986')
+source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ libpng15.patch
+ libgdiplus0-giflib5.patch
+ libgdiplus-2.10.9-gold.patch)
+md5sums=('b4615c14584b5d73cbb9757c28887654'
+ 'a2d143676bbaceeb88b4c34069e93986'
+ 'ad97558c721106eea03c7808b501814b'
+ '95fb92750c131ce9287419c3ac5fcb76')
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -Np0 -i ../libpng15.patch
+ patch -Np1 -i ../libgdiplus0-giflib5.patch
+ patch -Np1 -i ../libgdiplus-2.10.9-gold.patch
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p0 <../libpng15.patch
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr --with-cairo=system
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
}
Added: libgdiplus-2.10.9-gold.patch
===================================================================
--- libgdiplus-2.10.9-gold.patch (rev 0)
+++ libgdiplus-2.10.9-gold.patch 2013-07-30 09:44:51 UTC (rev 191758)
@@ -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)
Added: libgdiplus0-giflib5.patch
===================================================================
--- libgdiplus0-giflib5.patch (rev 0)
+++ libgdiplus0-giflib5.patch 2013-07-30 09:44:51 UTC (rev 191758)
@@ -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
+ }
+ }
+
More information about the arch-commits
mailing list