mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-18 22:06:04 +01:00
libraries/libgdiplus: Updated for version 3.12.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
2ef34e4f11
commit
6321e5178f
3 changed files with 207 additions and 14 deletions
195
libraries/libgdiplus/libgdiplus-giflib.patch
Normal file
195
libraries/libgdiplus/libgdiplus-giflib.patch
Normal file
|
@ -0,0 +1,195 @@
|
|||
--- libgdiplus-3.12/src/gifcodec.c.orig 2015-01-05 11:27:06.000000000 +0100
|
||||
+++ libgdiplus-3.12/src/gifcodec.c 2015-01-25 17:25:58.991762538 +0100
|
||||
@@ -39,11 +39,6 @@ GUID gdip_gif_image_format_guid = {0xb96
|
||||
|
||||
#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
|
||||
{
|
||||
@@ -107,7 +102,7 @@ gdip_gif_inputfunc (GifFileType *gif, Gi
|
||||
*/
|
||||
|
||||
static int
|
||||
-AddExtensionBlockMono(SavedImage *New, int Len, BYTE ExtData[])
|
||||
+AddExtensionBlockMono(SavedImage *New, int Function, int Len, BYTE ExtData[])
|
||||
{
|
||||
ExtensionBlock *ep;
|
||||
|
||||
@@ -123,15 +118,15 @@ AddExtensionBlockMono(SavedImage *New, i
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
return (GIF_OK);
|
||||
@@ -168,6 +163,7 @@ static int
|
||||
DGifSlurpMono(GifFileType * GifFile, SavedImage *TrailingExtensions)
|
||||
{
|
||||
int ImageSize;
|
||||
+ int Function;
|
||||
GifRecordType RecordType;
|
||||
SavedImage *sp;
|
||||
GifByteType *ExtData;
|
||||
@@ -234,20 +230,19 @@ DGifSlurpMono(GifFileType * GifFile, Sav
|
||||
}
|
||||
|
||||
case EXTENSION_RECORD_TYPE: {
|
||||
- if (DGifGetExtension(GifFile, &temp_save.Function, &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, Function, ExtData[0], &ExtData[1]) == GIF_ERROR) {
|
||||
return (GIF_ERROR);
|
||||
}
|
||||
|
||||
if (DGifGetExtensionNext(GifFile, &ExtData) == GIF_ERROR) {
|
||||
return (GIF_ERROR);
|
||||
}
|
||||
- temp_save.Function = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -306,9 +301,9 @@ gdip_load_gif_image (void *stream, GpIma
|
||||
loop_counter = FALSE;
|
||||
|
||||
if (from_file) {
|
||||
- gif = DGifOpen(stream, &gdip_gif_fileinputfunc);
|
||||
+ gif = DGifOpen(stream, &gdip_gif_fileinputfunc, NULL);
|
||||
} else {
|
||||
- gif = DGifOpen (stream, &gdip_gif_inputfunc);
|
||||
+ gif = DGifOpen (stream, &gdip_gif_inputfunc, NULL);
|
||||
}
|
||||
|
||||
if (gif == NULL) {
|
||||
@@ -583,7 +578,11 @@ gdip_load_gif_image (void *stream, GpIma
|
||||
}
|
||||
|
||||
FreeExtensionMono(&global_extensions);
|
||||
+#if (GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && (GIFLIB_MINOR >= 1))
|
||||
+ DGifCloseFile (gif, NULL);
|
||||
+#else
|
||||
DGifCloseFile (gif);
|
||||
+#endif
|
||||
|
||||
*image = result;
|
||||
return Ok;
|
||||
@@ -599,7 +598,11 @@ error:
|
||||
|
||||
if (gif != NULL) {
|
||||
FreeExtensionMono (&global_extensions);
|
||||
+#if (GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && (GIFLIB_MINOR >= 1))
|
||||
+ DGifCloseFile (gif, NULL);
|
||||
+#else
|
||||
DGifCloseFile (gif);
|
||||
+#endif
|
||||
}
|
||||
|
||||
*image = NULL;
|
||||
@@ -663,9 +666,9 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
}
|
||||
|
||||
if (from_file) {
|
||||
- fp = EGifOpenFileName (stream, 0);
|
||||
+ fp = EGifOpenFileName (stream, 0, NULL);
|
||||
} else {
|
||||
- fp = EGifOpen (stream, gdip_gif_outputfunc);
|
||||
+ fp = EGifOpen (stream, gdip_gif_outputfunc, NULL);
|
||||
}
|
||||
|
||||
if (!fp) {
|
||||
@@ -704,7 +707,7 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
goto error;
|
||||
}
|
||||
|
||||
- cmap = MakeMapObject(cmap_size, 0);
|
||||
+ cmap = GifMakeMapObject(cmap_size, 0);
|
||||
|
||||
pixbuf = GdipAlloc(pixbuf_size);
|
||||
if (pixbuf == NULL) {
|
||||
@@ -795,7 +798,7 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
pixbuf = pixbuf_org;
|
||||
} else {
|
||||
cmap_size = 256;
|
||||
- cmap = MakeMapObject (cmap_size, 0);
|
||||
+ cmap = GifMakeMapObject (cmap_size, 0);
|
||||
|
||||
red = GdipAlloc(pixbuf_size);
|
||||
green = GdipAlloc(pixbuf_size);
|
||||
@@ -826,13 +829,13 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
v += 4;
|
||||
}
|
||||
}
|
||||
- if (QuantizeBuffer(bitmap_data->width, bitmap_data->height, &cmap_size,
|
||||
+ if (GifQuantizeBuffer(bitmap_data->width, bitmap_data->height, &cmap_size,
|
||||
red, green, blue, pixbuf, cmap->Colors) == GIF_ERROR) {
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
- cmap->BitsPerPixel = BitSize (cmap_size);
|
||||
+ cmap->BitsPerPixel = GifBitSize (cmap_size);
|
||||
cmap->ColorCount = 1 << cmap->BitsPerPixel;
|
||||
|
||||
if ((frame == 0) && (k == 0)) {
|
||||
@@ -850,8 +853,10 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
Buffer[0] = 1;
|
||||
Buffer[1] = ptr[0];
|
||||
Buffer[2] = ptr[1];
|
||||
- EGifPutExtensionFirst(fp, APPLICATION_EXT_FUNC_CODE, 11, "NETSCAPE2.0");
|
||||
- EGifPutExtensionLast(fp, APPLICATION_EXT_FUNC_CODE, 3, Buffer);
|
||||
+ EGifPutExtensionLeader(fp, APPLICATION_EXT_FUNC_CODE);
|
||||
+ EGifPutExtensionBlock(fp, 11, "NETSCAPE2.0");
|
||||
+ EGifPutExtensionBlock(fp, 3, Buffer);
|
||||
+ EGifPutExtensionTrailer(fp);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -903,7 +908,7 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
pixbuf += bitmap_data->width;
|
||||
}
|
||||
|
||||
- FreeMapObject (cmap);
|
||||
+ GifFreeMapObject (cmap);
|
||||
if (red != NULL) {
|
||||
GdipFree (red);
|
||||
}
|
||||
@@ -925,13 +930,17 @@ gdip_save_gif_image (void *stream, GpIma
|
||||
}
|
||||
}
|
||||
|
||||
+#if (GIFLIB_MAJOR > 5) || ((GIFLIB_MAJOR == 5) && (GIFLIB_MINOR >= 1))
|
||||
+ EGifCloseFile (fp, NULL);
|
||||
+#else
|
||||
EGifCloseFile (fp);
|
||||
+#endif
|
||||
|
||||
return Ok;
|
||||
|
||||
error:
|
||||
if (cmap != NULL) {
|
||||
- FreeMapObject (cmap);
|
||||
+ GifFreeMapObject (cmap);
|
||||
}
|
||||
|
||||
if (red != NULL) {
|
|
@ -25,8 +25,8 @@
|
|||
# Modified by the SlackBuilds.org project
|
||||
|
||||
PRGNAM=libgdiplus
|
||||
VERSION=2.10.9
|
||||
BUILD=${BUILD:-2}
|
||||
VERSION=${VERSION:-3.12}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -62,14 +62,18 @@ rm -rf $PKG
|
|||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find -L . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
|
||||
-o -perm 511 \) -exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
# Patch for latest giflib (current)
|
||||
# from https://github.com/pld-linux/libgdiplus/blob/master/libgdiplus-giflib.patch
|
||||
# patch -p1 < $CWD/libgdiplus-giflib.patch
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
|
@ -83,17 +87,11 @@ CXXFLAGS="$SLKCFLAGS" \
|
|||
--disable-static \
|
||||
--build=$ARCH-slackware-linux
|
||||
|
||||
# Quick fix borrowed from:
|
||||
# https://www.slacky.eu/asche64/pkgreports/
|
||||
sed -i "s/^LIBS = -lpthread -lfontconfig $/\
|
||||
LIBS = -lpthread -lfontconfig -lglib-2.0 -lX11/" tests/Makefile
|
||||
|
||||
make
|
||||
make install-strip DESTDIR=$PKG
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a \
|
||||
AUTHORS COPYING ChangeLog INSTALL LICENSE MPL-1.1.html NEWS README TODO \
|
||||
cp -a AUTHORS COPYING ChangeLog INSTALL LICENSE MPL-1.1.html NEWS README TODO \
|
||||
$PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PRGNAM="libgdiplus"
|
||||
VERSION="2.10.9"
|
||||
VERSION="3.12"
|
||||
HOMEPAGE="http://www.go-mono.org"
|
||||
DOWNLOAD="http://origin-download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2"
|
||||
MD5SUM="b4615c14584b5d73cbb9757c28887654"
|
||||
DOWNLOAD="http://origin-download.mono-project.com/sources/libgdiplus/libgdiplus-3.12.tar.gz"
|
||||
MD5SUM="b8fd78c2adce16498354c2476a248d98"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
|
|
Loading…
Reference in a new issue