pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/multimedia/ming fixes build with giflib>=5 and back gi...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8e446ad8a830
branches:  trunk
changeset: 634413:8e446ad8a830
user:      obache <obache%pkgsrc.org@localhost>
date:      Fri May 16 10:00:33 2014 +0000

description:
fixes build with giflib>=5 and back giflib<5 compatibilities.

diffstat:

 multimedia/ming/distinfo                          |  13 ++++--
 multimedia/ming/patches/patch-src_blocks_gifdbl.c |  26 ++++++++++---
 multimedia/ming/patches/patch-src_libming.h       |  20 ++++++++--
 multimedia/ming/patches/patch-util_gif2dbl.c      |  41 ++++++++++++++++++----
 multimedia/ming/patches/patch-util_gif2mask.c     |  33 ++++++++++++++---
 5 files changed, 101 insertions(+), 32 deletions(-)

diffs (260 lines):

diff -r 9dbdf294a1b3 -r 8e446ad8a830 multimedia/ming/distinfo
--- a/multimedia/ming/distinfo  Fri May 16 09:57:55 2014 +0000
+++ b/multimedia/ming/distinfo  Fri May 16 10:00:33 2014 +0000
@@ -1,10 +1,13 @@
-$NetBSD: distinfo,v 1.13 2014/05/16 09:43:30 wiz Exp $
+$NetBSD: distinfo,v 1.14 2014/05/16 10:00:33 obache Exp $
 
 SHA1 (ming-0.4.5.tar.gz) = 97c201040729917bf7c62da9616a87f4a920f473
 RMD160 (ming-0.4.5.tar.gz) = 9ef9cf769a03c6e356dca299c85e06a2cdd6a155
 Size (ming-0.4.5.tar.gz) = 15029578 bytes
+<<<<<<< distinfo
+=======
+>>>>>>> 1.13
 SHA1 (patch-ae) = 614e322330d2d2ab1e0ef1beadf1395014ecd880
-SHA1 (patch-src_blocks_gifdbl.c) = 8138151af51ed032561af3159814fc7ceae08a47
-SHA1 (patch-src_libming.h) = 130f02a12a28cc62afc6cfe007ebb301e30c161b
-SHA1 (patch-util_gif2dbl.c) = aca8c93c0dbe4cb637bc7efc48ab3ea724719a49
-SHA1 (patch-util_gif2mask.c) = 5a87deca141b561725725a32971e68837ac6f4e1
+SHA1 (patch-src_blocks_gifdbl.c) = 212535b773d373a9836facb9bbc248749ca9d552
+SHA1 (patch-src_libming.h) = bba5e6f93913359b7109e3b18177f819989be98f
+SHA1 (patch-util_gif2dbl.c) = bd897674d5146ac6d6c2b4df6399f18e283c22e6
+SHA1 (patch-util_gif2mask.c) = b98e2bcbbf6e3237acf71aaa02f3e36f6fb62dfd
diff -r 9dbdf294a1b3 -r 8e446ad8a830 multimedia/ming/patches/patch-src_blocks_gifdbl.c
--- a/multimedia/ming/patches/patch-src_blocks_gifdbl.c Fri May 16 09:57:55 2014 +0000
+++ b/multimedia/ming/patches/patch-src_blocks_gifdbl.c Fri May 16 10:00:33 2014 +0000
@@ -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 -r 9dbdf294a1b3 -r 8e446ad8a830 multimedia/ming/patches/patch-src_libming.h
--- a/multimedia/ming/patches/patch-src_libming.h       Fri May 16 09:57:55 2014 +0000
+++ b/multimedia/ming/patches/patch-src_libming.h       Fri May 16 10:00:33 2014 +0000
@@ -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 @@
  
  
  #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 -r 9dbdf294a1b3 -r 8e446ad8a830 multimedia/ming/patches/patch-util_gif2dbl.c
--- a/multimedia/ming/patches/patch-util_gif2dbl.c      Fri May 16 09:57:55 2014 +0000
+++ b/multimedia/ming/patches/patch-util_gif2dbl.c      Fri May 16 10:00:33 2014 +0000
@@ -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 -r 9dbdf294a1b3 -r 8e446ad8a830 multimedia/ming/patches/patch-util_gif2mask.c
--- a/multimedia/ming/patches/patch-util_gif2mask.c     Fri May 16 09:57:55 2014 +0000
+++ b/multimedia/ming/patches/patch-util_gif2mask.c     Fri May 16 10:00:33 2014 +0000
@@ -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 */
+ 



Home | Main Index | Thread Index | Old Index