Hello community,

here is the log from the commit of package libgdiplus0 for openSUSE:Factory 
checked in at 2015-04-21 10:50:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgdiplus0 (Old)
 and      /work/SRC/openSUSE:Factory/.libgdiplus0.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libgdiplus0"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libgdiplus0/libgdiplus0.changes  2014-09-17 
17:24:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libgdiplus0.new/libgdiplus0.changes     
2015-04-21 10:50:20.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Apr  4 13:56:37 UTC 2015 - mailaen...@opensuse.org
+
+- Update to version 3.12
+- Enable unit tests
+
+-------------------------------------------------------------------

Old:
----
  libgdiplus-3.8.tar.gz

New:
----
  libgdiplus-3.12.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libgdiplus0.spec ++++++
--- /var/tmp/diff_new_pack.IeWUuv/_old  2015-04-21 10:50:21.000000000 +0200
+++ /var/tmp/diff_new_pack.IeWUuv/_new  2015-04-21 10:50:21.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libgdiplus0
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,11 +19,11 @@
 %define real_name libgdiplus
 
 Name:           libgdiplus0
-Version:        3.8
+Version:        3.12
 Release:        0
 Url:            https://github.com/mono/libgdiplus
 Source:         
http://download.mono-project.com/sources/%{real_name}/%{real_name}-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM libgdiplus0-giflib5.patch 
https://github.com/mono/libgdiplus/pull/26
+# PATCH-FIX-UPSTREAM libgdiplus0-giflib5.patch 
https://github.com/mono/libgdiplus/pull/32
 Patch1:         libgdiplus0-giflib5.patch
 Summary:        Open Source Implementation of the GDI+ API
 License:        (LGPL-2.1+ or MPL-1.1) and MIT
@@ -78,6 +78,9 @@
 # (appeases suse rpmlint checks, saves 3kb)
 find . -name INSTALL | xargs rm -f
 
+%check
+make check
+
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig

++++++ libgdiplus-3.8.tar.gz -> libgdiplus-3.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgdiplus-3.8/configure 
new/libgdiplus-3.12/configure
--- old/libgdiplus-3.8/configure        2014-09-04 09:36:02.000000000 +0200
+++ new/libgdiplus-3.12/configure       2015-01-05 11:28:28.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libgdiplus 3.8.
+# Generated by GNU Autoconf 2.69 for libgdiplus 3.12.
 #
 # Report bugs to 
<https://bugzilla.xamarin.com/enter_bug.cgi?product=Class%20Libraries&component=libgdiplus>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='libgdiplus'
 PACKAGE_TARNAME='libgdiplus'
-PACKAGE_VERSION='3.8'
-PACKAGE_STRING='libgdiplus 3.8'
+PACKAGE_VERSION='3.12'
+PACKAGE_STRING='libgdiplus 3.12'
 
PACKAGE_BUGREPORT='https://bugzilla.xamarin.com/enter_bug.cgi?product=Class%20Libraries&component=libgdiplus'
 PACKAGE_URL=''
 
@@ -1364,7 +1364,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libgdiplus 3.8 to adapt to many kinds of systems.
+\`configure' configures libgdiplus 3.12 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1435,7 +1435,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libgdiplus 3.8:";;
+     short | recursive ) echo "Configuration of libgdiplus 3.12:";;
    esac
   cat <<\_ACEOF
 
@@ -1577,7 +1577,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libgdiplus configure 3.8
+libgdiplus configure 3.12
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1946,7 +1946,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libgdiplus $as_me 3.8, which was
+It was created by libgdiplus $as_me 3.12, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2924,7 +2924,7 @@
 
 # Define the identity of the package.
  PACKAGE='libgdiplus'
- VERSION='3.8'
+ VERSION='3.12'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14190,7 +14190,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libgdiplus $as_me 3.8, which was
+This file was extended by libgdiplus $as_me 3.12, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14256,7 +14256,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libgdiplus config.status 3.8
+libgdiplus config.status 3.12
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgdiplus-3.8/configure.ac 
new/libgdiplus-3.12/configure.ac
--- old/libgdiplus-3.8/configure.ac     2014-09-04 09:31:56.000000000 +0200
+++ new/libgdiplus-3.12/configure.ac    2015-01-05 11:27:31.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(libgdiplus, [3.8], 
+AC_INIT(libgdiplus, [3.12], 
        
[https://bugzilla.xamarin.com/enter_bug.cgi?product=Class%20Libraries&component=libgdiplus])
        AC_CONFIG_SRCDIR([README])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgdiplus-3.8/libgdiplus0.spec.in 
new/libgdiplus-3.12/libgdiplus0.spec.in
--- old/libgdiplus-3.8/libgdiplus0.spec.in      2014-08-27 18:45:05.000000000 
+0200
+++ new/libgdiplus-3.12/libgdiplus0.spec.in     2014-10-04 11:54:02.000000000 
+0200
@@ -16,14 +16,19 @@
 
 BuildRequires:  cairo-devel >= 1.6.4
 BuildRequires:  fontconfig-devel
-BuildRequires:  freetype2-devel
 BuildRequires:  giflib-devel
 BuildRequires:  glib2-devel
 BuildRequires:  libexif-devel
 BuildRequires:  libjpeg-devel
 BuildRequires:  libpng-devel
 BuildRequires:  libtiff-devel
+%if 0%{?suse_version}
 BuildRequires:  xorg-x11-libXrender-devel
+BuildRequires:  freetype2-devel
+%else
+BuildRequires:  libXrender-devel
+BuildRequires:  freetype-devel
+%endif
 
 %description
 This is part of the Mono project. It is required when using
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libgdiplus-3.8/src/gifcodec.c 
new/libgdiplus-3.12/src/gifcodec.c
--- old/libgdiplus-3.8/src/gifcodec.c   2014-08-27 18:45:05.000000000 +0200
+++ new/libgdiplus-3.12/src/gifcodec.c  2015-01-05 11:27:06.000000000 +0100
@@ -39,8 +39,10 @@
 
 #include "gifcodec.h"
 
+#ifdef EgifOpen
 /* giflib declares this incorrectly as EgifOpen */
 extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc);
+#endif
 
 /* Data structure used for callback */
 typedef struct

++++++ libgdiplus0-giflib5.patch ++++++
--- /var/tmp/diff_new_pack.IeWUuv/_old  2015-04-21 10:50:21.000000000 +0200
+++ /var/tmp/diff_new_pack.IeWUuv/_new  2015-04-21 10:50:21.000000000 +0200
@@ -1,59 +1,76 @@
+From 0da7cde2a9d8248fe8f6472777d63ba5ba5d4303 Mon Sep 17 00:00:00 2001
+Message-Id: 
<0da7cde2a9d8248fe8f6472777d63ba5ba5d4303.1428776341.git.mailaen...@opensuse.org>
+From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= <mailaen...@opensuse.org>
+Date: Sat, 11 Apr 2015 18:09:13 +0200
+Subject: [PATCH] fix compilation with giflib version 5
+
 ---
- src/gifcodec.c |   50 +++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 41 insertions(+), 9 deletions(-)
+ src/gifcodec.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 71 insertions(+), 17 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
+diff --git a/src/gifcodec.c b/src/gifcodec.c
+index e1a0697..6f8dedb 100644
+--- a/src/gifcodec.c
++++ b/src/gifcodec.c
+@@ -39,10 +39,6 @@ GUID gdip_gif_image_format_guid = {0xb96b3cb0U, 0x0728U, 
0x11d3U, {0x9d, 0x7b, 0
  
  #include "gifcodec.h"
  
-+#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
+-#ifdef EgifOpen
+-/* giflib declares this incorrectly as EgifOpen */
+-extern GifFileType *EGifOpen(void *userData, OutputFunc writeFunc);
+-#endif
  
  /* Data structure used for callback */
  typedef struct
-@@ -105,7 +112,7 @@ gdip_gif_inputfunc (GifFileType *gif, Gi
+@@ -107,7 +103,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[])
++AddExtensionBlockMono(SavedImage *New, int Function, int Len, BYTE ExtData[])
  {
        ExtensionBlock  *ep;
  
-@@ -129,7 +136,7 @@ AddExtensionBlockMono(SavedImage *New, i
+@@ -123,15 +119,15 @@ AddExtensionBlockMono(SavedImage *New, int Len, BYTE 
ExtData[])
+ 
+       ep = &New->ExtensionBlocks[New->ExtensionBlockCount++];
+ 
++      ep->Function = Function;
+       ep->ByteCount=Len;
+-      ep->Bytes = (char *)GdipAlloc(ep->ByteCount);
++      ep->Bytes = (GifByteType *)GdipAlloc(ep->ByteCount);
+       if (ep->Bytes == NULL) {
+               return (GIF_ERROR);
+       }
  
        if (ExtData) {
                memcpy(ep->Bytes, ExtData, Len);
 -              ep->Function = New->Function;
-+              ep->Function = func;
        }
  
        return (GIF_OK);
-@@ -232,20 +239,20 @@ DGifSlurpMono(GifFileType * GifFile, Sav
+@@ -168,6 +164,7 @@ static int
+ DGifSlurpMono(GifFileType * GifFile, SavedImage *TrailingExtensions)
+ {
+       int             ImageSize;
++      int             Function;
+       GifRecordType   RecordType;
+       SavedImage      *sp;
+       GifByteType     *ExtData;
+@@ -234,20 +231,19 @@ 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) {
++                              if (DGifGetExtension(GifFile, &Function, 
&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) {
++                                      if (AddExtensionBlockMono(&temp_save, 
Function, ExtData[0], &ExtData[1]) == GIF_ERROR) {
                                                return (GIF_ERROR);
                                        }
  
@@ -64,90 +81,171 @@
                                }
                                break;
                        }
-@@ -303,12 +310,19 @@ gdip_load_gif_image (void *stream, GpIma
-       result = NULL;
+@@ -306,9 +302,17 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL 
from_file)
        loop_counter = FALSE;
  
-+#if GIFLIB_MAJOR < 5
        if (from_file) {
++#if GIFLIB_MAJOR >= 5
++              gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL);
++#else
                gif = DGifOpen(stream, &gdip_gif_fileinputfunc);
++#endif
        } else {
-               gif = DGifOpen (stream, &gdip_gif_inputfunc);
-       }
--      
++#if GIFLIB_MAJOR >= 5
++              gif = DGifOpen (stream, &gdip_gif_inputfunc, NULL);
 +#else
-+      if (from_file)
-+              gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL);
-+      else
-+              gif = DGifOpen(stream, &gdip_gif_inputfunc, NULL);
+               gif = DGifOpen (stream, &gdip_gif_inputfunc);
 +#endif
-+
-       if (gif == NULL) {
-               goto error;
        }
-@@ -581,7 +595,7 @@ gdip_load_gif_image (void *stream, GpIma
+       
+       if (gif == NULL) {
+@@ -583,8 +587,11 @@ gdip_load_gif_image (void *stream, GpImage **image, BOOL 
from_file)
        }
  
        FreeExtensionMono(&global_extensions);
--      DGifCloseFile (gif);
++#if (GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && (GIFLIB_MINOR >= 1))
 +      DGifCloseFile (gif, NULL);
- 
++#else
+       DGifCloseFile (gif);
+-
++#endif
        *image = result;
        return Ok;
-@@ -597,7 +611,7 @@ error:
+ 
+@@ -599,7 +606,11 @@ error:
  
        if (gif != NULL) {
                FreeExtensionMono (&global_extensions);
--              DGifCloseFile (gif);
++#if (GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && (GIFLIB_MINOR >= 1))
 +              DGifCloseFile (gif, NULL);
++#else
+               DGifCloseFile (gif);
++#endif
        }
  
        *image = NULL;
-@@ -660,11 +674,22 @@ gdip_save_gif_image (void *stream, GpIma
-               return InvalidParameter;
+@@ -663,9 +674,17 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
        }
  
-+#if GIFLIB_MAJOR < 5
        if (from_file) {
++#if GIFLIB_MAJOR >= 5
++              fp = EGifOpenFileName (stream, 0, NULL);
++#else
                fp = EGifOpenFileName (stream, 0);
++#endif
        } else {
-               fp = EGifOpen (stream, gdip_gif_outputfunc);
-       }
-+#else
-+      if (from_file)
-+              fp = EGifOpenFileName (stream, 0, NULL);
-+      else
++#if GIFLIB_MAJOR >= 5
 +              fp = EGifOpen (stream, gdip_gif_outputfunc, NULL);
-+#define MakeMapObject  GifMakeMapObject
-+#define FreeMapObject  GifFreeMapObject
-+#define QuantizeBuffer GifQuantizeBuffer
-+#define BitSize        GifBitSize
++#else
+               fp = EGifOpen (stream, gdip_gif_outputfunc);
 +#endif
+       }
                
        if (!fp) {
-               return FileNotFound;
-@@ -848,8 +873,15 @@ gdip_save_gif_image (void *stream, GpIma
+@@ -704,8 +723,11 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+                                       goto error; 
+                               }
+ 
++#if GIFLIB_MAJOR >= 5
++                              cmap = GifMakeMapObject(cmap_size, 0);
++#else
+                               cmap = MakeMapObject(cmap_size, 0);
+-
++#endif
+                               pixbuf = GdipAlloc(pixbuf_size);
+                               if (pixbuf == NULL) {
+                                       goto error;
+@@ -795,8 +817,11 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+                               pixbuf = pixbuf_org;
+                       } else {
+                               cmap_size = 256;
++#if GIFLIB_MAJOR >= 5
++                              cmap  = GifMakeMapObject (cmap_size, 0);
++#else
+                               cmap  = MakeMapObject (cmap_size, 0);
+-
++#endif
+                               red = GdipAlloc(pixbuf_size);
+                               green = GdipAlloc(pixbuf_size);
+                               blue = GdipAlloc(pixbuf_size);
+@@ -826,13 +851,23 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+                                               v += 4;
+                                       }
+                               }
+-                              if (QuantizeBuffer(bitmap_data->width, 
bitmap_data->height, &cmap_size, 
++                              if (
++#if GIFLIB_MAJOR >= 5
++                              GifQuantizeBuffer(
++#else
++                              QuantizeBuffer(
++#endif
++                                              bitmap_data->width, 
bitmap_data->height, &cmap_size, 
+                                               red,  green, blue, pixbuf, 
cmap->Colors) == GIF_ERROR) {
+                                       goto error;
+                               }
+                       }
+ 
++#if GIFLIB_MAJOR >= 5
++                      cmap->BitsPerPixel = GifBitSize (cmap_size);
++#else
+                       cmap->BitsPerPixel = BitSize (cmap_size);
++#endif
+                       cmap->ColorCount = 1 << cmap->BitsPerPixel;
+ 
+                       if ((frame == 0) && (k == 0)) {
+@@ -850,8 +885,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
+-                                              EGifPutExtensionFirst(fp, 
APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0");
+-                                              EGifPutExtensionLast(fp, 
APPLICATION_EXT_FUNC_CODE, 3, Buffer);
++#if GIFLIB_MAJOR >= 5
 +                                              EGifPutExtensionLeader(fp, 
APPLICATION_EXT_FUNC_CODE);
 +                                              EGifPutExtensionBlock(fp, 11, 
"NETSCAPE2.0");
 +                                              EGifPutExtensionBlock(fp, 3, 
Buffer);
 +                                              EGifPutExtensionTrailer(fp);
++#else
++                                              EGifPutExtensionFirst(fp, 
APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0"); 
++                                              EGifPutExtensionLast(fp, 
APPLICATION_EXT_FUNC_CODE, 3, Buffer); 
 +#endif
                                        }
                                }
  
-@@ -923,7 +955,7 @@ gdip_save_gif_image (void *stream, GpIma
+@@ -903,7 +945,11 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
+                               pixbuf += bitmap_data->width;
+                       }
+ 
++#if GIFLIB_MAJOR >= 5
++                      GifFreeMapObject (cmap);
++#else
+                       FreeMapObject (cmap);
++#endif
+                       if (red != NULL) {
+                               GdipFree (red);
+                       }
+@@ -925,13 +971,21 @@ gdip_save_gif_image (void *stream, GpImage *image, BOOL 
from_file)
                }
        }
  
 -      EGifCloseFile (fp);     
++#if (GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && (GIFLIB_MINOR >= 1))
 +      EGifCloseFile (fp, NULL);
++#else
++      EGifCloseFile (fp);
++#endif
        
        return Ok;
  
+ error:
+       if (cmap != NULL) {
++#if GIFLIB_MAJOR >= 5
++              GifFreeMapObject (cmap);
++#else
+               FreeMapObject (cmap);
++#endif
+       }
+ 
+       if (red != NULL) {
+-- 
+2.1.4
+


Reply via email to