diff options
author | obache <obache@pkgsrc.org> | 2014-05-16 10:00:33 +0000 |
---|---|---|
committer | obache <obache@pkgsrc.org> | 2014-05-16 10:00:33 +0000 |
commit | 295097a6edd068321470bf3556d288294c37c6c7 (patch) | |
tree | 0bf57eab869ab2709ee342b64049572df44216bc /multimedia/ming/patches | |
parent | 42cfb38ed9fa5ca293d6452064928b7cf434b239 (diff) | |
download | pkgsrc-295097a6edd068321470bf3556d288294c37c6c7.tar.gz |
fixes build with giflib>=5 and back giflib<5 compatibilities.
Diffstat (limited to 'multimedia/ming/patches')
-rw-r--r-- | multimedia/ming/patches/patch-src_blocks_gifdbl.c | 26 | ||||
-rw-r--r-- | multimedia/ming/patches/patch-src_libming.h | 20 | ||||
-rw-r--r-- | multimedia/ming/patches/patch-util_gif2dbl.c | 41 | ||||
-rw-r--r-- | multimedia/ming/patches/patch-util_gif2mask.c | 33 |
4 files changed, 93 insertions, 27 deletions
diff --git a/multimedia/ming/patches/patch-src_blocks_gifdbl.c b/multimedia/ming/patches/patch-src_blocks_gifdbl.c index 2f89e278329..8d6a3e26582 100644 --- a/multimedia/ming/patches/patch-src_blocks_gifdbl.c +++ b/multimedia/ming/patches/patch-src_blocks_gifdbl.c @@ -1,33 +1,45 @@ -$NetBSD: patch-src_blocks_gifdbl.c,v 1.2 2014/05/16 09:43:30 wiz Exp $ +$NetBSD: patch-src_blocks_gifdbl.c,v 1.3 2014/05/16 10:00:33 obache Exp $ -* Fix build with giflib 5.0. +* Fix build with giflib>=5.0. --- src/blocks/gifdbl.c.orig 2010-10-10 07:19:23.000000000 +0000 +++ src/blocks/gifdbl.c -@@ -203,7 +203,7 @@ readGif(GifFileType *file, dblData resul +@@ -203,7 +203,13 @@ readGif(GifFileType *file, dblData resul } /* Done! */ - DGifCloseFile(file); ++#if (GIFLIB_MAJOR + 0) >= 5 && (GIFLIB_MINOR + 0 >= 1) || (GIFLIB_MAJOR + 0 ) > 5 + DGifCloseFile(file, NULL); ++#else ++ if (DGifCloseFile(file) != GIF_OK) { ++ free(file); ++ } ++#endif result->data = malloc(outsize = (int)floor(size*1.01+12)); -@@ -227,7 +227,7 @@ SWFDBLBitmapData newSWFDBLBitmapData_fro +@@ -227,7 +233,11 @@ SWFDBLBitmapData newSWFDBLBitmapData_fro SWFDBLBitmapData ret; struct dbl_data gifdata; -- if((file = DGifOpenFileName(fileName)) == NULL) ++#if (GIFLIB_MAJOR + 0) >= 5 + if((file = DGifOpenFileName(fileName, NULL)) == NULL) ++#else + if((file = DGifOpenFileName(fileName)) == NULL) ++#endif return NULL; if(!readGif(file, &gifdata)) return NULL; -@@ -246,7 +246,7 @@ SWFDBLBitmapData newSWFDBLBitmapData_fro +@@ -246,7 +256,11 @@ SWFDBLBitmapData newSWFDBLBitmapData_fro SWFDBLBitmapData ret; struct dbl_data gifdata; -- if((file = DGifOpen(input, (InputFunc) gifReadFunc)) == NULL) ++#if (GIFLIB_MAJOR + 0) >= 5 + if((file = DGifOpen(input, (InputFunc) gifReadFunc, NULL)) == NULL) ++#else + if((file = DGifOpen(input, (InputFunc) gifReadFunc)) == NULL) ++#endif return NULL; if(!readGif(file, &gifdata)) return NULL; diff --git a/multimedia/ming/patches/patch-src_libming.h b/multimedia/ming/patches/patch-src_libming.h index b560c1fc4c4..4ef23b471db 100644 --- a/multimedia/ming/patches/patch-src_libming.h +++ b/multimedia/ming/patches/patch-src_libming.h @@ -1,6 +1,6 @@ -$NetBSD: patch-src_libming.h,v 1.2 2014/05/16 09:43:30 wiz Exp $ +$NetBSD: patch-src_libming.h,v 1.3 2014/05/16 10:00:33 obache Exp $ -* Introduce custom PrintGifError() from util/qprintf.c of giflib 5.0.4. +* Introduce custom PrintGifError() from util/qprintf.c of giflib>=5. --- src/libming.h.orig 2013-06-08 14:08:51.000000000 +0000 +++ src/libming.h @@ -12,20 +12,30 @@ $NetBSD: patch-src_libming.h,v 1.2 2014/05/16 09:43:30 wiz Exp $ #include "ming.h" -@@ -78,9 +79,14 @@ typedef unsigned char BOOL; +@@ -78,9 +79,26 @@ typedef unsigned char BOOL; #if GIFLIB_GIFERRORSTRING static void --PrintGifError(void) ++#if (GIFLIB_MAJOR + 0) >= 5 +PrintGifError(int ErrorCode) ++#else + PrintGifError(void) ++#endif { -- fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString()); ++#if (GIFLIB_MAJOR + 0) >= 5 ++# if GIFLIB_MAJOR == 5 && GIFLIB_MINOR == 0 ++ char *Err = GifErrorString(ErrorCode); ++# else + const char *Err = GifErrorString(ErrorCode); ++# endif + + if (Err != NULL) + fprintf(stderr, "\nGIF-LIB error: %s.\n", Err); + else + fprintf(stderr, "\nGIF-LIB undefined error %d.\n", ErrorCode); ++#else + fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString()); ++#endif } #endif diff --git a/multimedia/ming/patches/patch-util_gif2dbl.c b/multimedia/ming/patches/patch-util_gif2dbl.c index db0ad7afc7b..e9b40e4cd80 100644 --- a/multimedia/ming/patches/patch-util_gif2dbl.c +++ b/multimedia/ming/patches/patch-util_gif2dbl.c @@ -1,39 +1,64 @@ -$NetBSD: patch-util_gif2dbl.c,v 1.2 2014/05/16 09:43:30 wiz Exp $ +$NetBSD: patch-util_gif2dbl.c,v 1.3 2014/05/16 10:00:33 obache Exp $ * Fix build with giflib 5.0.4. * Catch error with gifib 5.0 manner. --- util/gif2dbl.c.orig 2013-06-08 14:08:51.000000000 +0000 +++ util/gif2dbl.c -@@ -19,10 +19,12 @@ +@@ -19,10 +19,18 @@ #include "libming.h" -+int ErrorCode; -+ ++#if (GIFLIB_MAJOR + 0) >= 5 ++void error(char *msg, int ErrorCode) ++#else void error(char *msg) ++#endif { printf("%s:\n\n", msg); -- PrintGifError(); ++#if (GIFLIB_MAJOR + 0) >= 5 + PrintGifError(ErrorCode); ++#else + PrintGifError(); ++#endif exit(-1); } -@@ -59,7 +61,7 @@ unsigned char *readGif(char *fileName, i +@@ -58,12 +66,22 @@ unsigned char *readGif(char *fileName, i + unsigned char *data; unsigned char *p; int i, nColors, size, alpha, bgColor, alignedWidth; ++#if (GIFLIB_MAJOR + 0) >= 5 ++ int ErrorCode; -- if((file = DGifOpenFileName(fileName)) == NULL) + if((file = DGifOpenFileName(fileName, &ErrorCode)) == NULL) ++ error("Error opening file", ErrorCode); ++#else + if((file = DGifOpenFileName(fileName)) == NULL) error("Error opening file"); ++#endif if(DGifSlurp(file) != GIF_OK) -@@ -190,7 +192,7 @@ unsigned char *readGif(char *fileName, i ++#if (GIFLIB_MAJOR + 0) >= 5 ++ error("Error slurping file", file->Error); ++#else + error("Error slurping file"); ++#endif + + /* data should now be available */ + +@@ -190,7 +208,13 @@ unsigned char *readGif(char *fileName, i } /* Done! */ - DGifCloseFile(file); ++#if (GIFLIB_MAJOR + 0) >= 5 && (GIFLIB_MINOR >= 1) || (GIFLIB_MAJOR + 0) > 5 + DGifCloseFile(file, NULL); ++#else ++ if (DGifCloseFile(file) != GIF_OK) { ++ free(file); ++ } ++#endif *length = size; return data; diff --git a/multimedia/ming/patches/patch-util_gif2mask.c b/multimedia/ming/patches/patch-util_gif2mask.c index f7ca5de4c44..1c27c63c4dd 100644 --- a/multimedia/ming/patches/patch-util_gif2mask.c +++ b/multimedia/ming/patches/patch-util_gif2mask.c @@ -1,30 +1,49 @@ -$NetBSD: patch-util_gif2mask.c,v 1.1 2013/07/06 07:43:13 ryoon Exp $ +$NetBSD: patch-util_gif2mask.c,v 1.2 2014/05/16 10:00:33 obache Exp $ * Fix build with giflib 5.0.4. * Catch error with gifib 5.0 manner. --- util/gif2mask.c.orig 2013-06-08 14:08:51.000000000 +0000 +++ util/gif2mask.c -@@ -13,10 +13,12 @@ +@@ -13,10 +13,18 @@ #define max(a,b,c) (((a)>(b))?(((c)>(a))?(c):(a)):(((c)>(b))?(c):(b))) -+int ErrorCode; -+ ++#if (GIFLIB_MAJOR + 0) >= 5 ++void error(char *msg, int ErrorCode) ++#else void error(char *msg) ++#endif { printf("%s:\n\n", msg); -- PrintGifError(); ++#if (GIFLIB_MAJOR + 0) >= 5 + PrintGifError(ErrorCode); ++#else + PrintGifError(); ++#endif exit(-1); } -@@ -28,7 +30,7 @@ unsigned char *readGif(char *fileName, i +@@ -27,12 +35,22 @@ unsigned char *readGif(char *fileName, i + unsigned char colorMap[256]; unsigned char *data; int i, nColors, size; ++#if (GIFLIB_MAJOR + 0) >= 5 ++ int ErrorCode; -- if((file = DGifOpenFileName(fileName)) == NULL) + if((file = DGifOpenFileName(fileName, &ErrorCode)) == NULL) ++ error("Error opening file", ErrorCode); ++#else + if((file = DGifOpenFileName(fileName)) == NULL) error("Error opening file"); ++#endif if(DGifSlurp(file) != GIF_OK) ++#if (GIFLIB_MAJOR + 0) >= 5 ++ error("Error slurping file", file->Error); ++#else + error("Error slurping file"); ++#endif + + /* data should now be available */ + |