xplanet: fix build against giflib 5.*
This commit is contained in:
parent
2ce67ca947
commit
1f5d28001e
2 changed files with 132 additions and 0 deletions
|
@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [ pkgconfig freetype pango libpng libtiff giflib libjpeg netpbm ];
|
buildInputs = [ pkgconfig freetype pango libpng libtiff giflib libjpeg netpbm ];
|
||||||
|
|
||||||
|
patches = [ ./giflib.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Renders an image of the earth or other planets into the X root window";
|
description = "Renders an image of the earth or other planets into the X root window";
|
||||||
homepage = http://xplanet.sourceforge.net;
|
homepage = http://xplanet.sourceforge.net;
|
||||||
|
|
130
pkgs/applications/science/astronomy/xplanet/giflib.patch
Normal file
130
pkgs/applications/science/astronomy/xplanet/giflib.patch
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
diff -wbBur xplanet-1.3.0/src/libimage/gif.c /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c
|
||||||
|
--- xplanet-1.3.0/src/libimage/gif.c 2006-03-26 01:50:51.000000000 +0300
|
||||||
|
+++ /home/sergej/tmp/BUILD/staging-i686/sergej/build/xplanet/src/xplanet-1.3.0/src/libimage/gif.c 2013-07-30 18:21:17.412474692 +0400
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
-
|
||||||
|
+#define FALSE 0
|
||||||
|
#include <gif_lib.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -42,11 +42,11 @@
|
||||||
|
int color_index;
|
||||||
|
unsigned char *ptr = NULL;
|
||||||
|
|
||||||
|
- infile = DGifOpenFileName(filename);
|
||||||
|
+ infile = DGifOpenFileName(filename, NULL);
|
||||||
|
|
||||||
|
if (infile == NULL)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -54,7 +54,7 @@
|
||||||
|
{
|
||||||
|
if (DGifGetRecordType(infile, &record_type) == GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -63,7 +63,7 @@
|
||||||
|
case IMAGE_DESC_RECORD_TYPE:
|
||||||
|
if (DGifGetImageDesc(infile) == GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -107,14 +107,14 @@
|
||||||
|
GifByteType *ext;
|
||||||
|
if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
while (ext != NULL)
|
||||||
|
{
|
||||||
|
if (DGifGetExtensionNext(infile, &ext) == GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -178,7 +178,7 @@
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
- colormap = MakeMapObject(colormap_size, NULL);
|
||||||
|
+ colormap = GifMakeMapObject(colormap_size, NULL);
|
||||||
|
|
||||||
|
for (i = 0; i < width * height; i++)
|
||||||
|
{
|
||||||
|
@@ -187,10 +187,10 @@
|
||||||
|
blue[i] = (GifByteType) rgb[3*i+2];
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (QuantizeBuffer(width, height, &colormap_size, red, green, blue,
|
||||||
|
+ if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue,
|
||||||
|
buffer, colormap->Colors) == GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -198,24 +198,24 @@
|
||||||
|
free(green);
|
||||||
|
free(blue);
|
||||||
|
|
||||||
|
- outfile = EGifOpenFileName((char *) filename, FALSE);
|
||||||
|
+ outfile = EGifOpenFileName((char *) filename, FALSE, NULL);
|
||||||
|
if (outfile == NULL)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (EGifPutScreenDesc(outfile, width, height, colormap_size, 0, colormap)
|
||||||
|
== GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (EGifPutImageDesc(outfile, 0, 0, width, height, FALSE, NULL)
|
||||||
|
== GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -224,7 +224,7 @@
|
||||||
|
{
|
||||||
|
if (EGifPutLine(outfile, ptr, width) == GIF_ERROR)
|
||||||
|
{
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
ptr += width;
|
||||||
|
@@ -233,7 +233,7 @@
|
||||||
|
EGifSpew(outfile);
|
||||||
|
|
||||||
|
if (EGifCloseFile(outfile) == GIF_ERROR)
|
||||||
|
- PrintGifError();
|
||||||
|
+ printf("%s\n", GifErrorString(GIF_ERROR));
|
||||||
|
|
||||||
|
free(buffer);
|
||||||
|
|
Loading…
Reference in a new issue