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 +