wok rev 23056
xplanet: add giflib5 patch
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Mar 07 16:37:51 2020 +0100 (2020-03-07) |
parents | add4006354aa |
children | 37aaa01a6b70 |
files | giflib/receipt giflib/stuff/restore-GifQuantizeBuffer.u libgnomeprint/receipt xplanet/stuff/xplanet-giflib5.patch |
line diff
1.1 --- a/giflib/receipt Sat Mar 07 12:23:57 2020 +0100 1.2 +++ b/giflib/receipt Sat Mar 07 16:37:51 2020 +0100 1.3 @@ -18,6 +18,7 @@ 1.4 # Rules to configure and make the package. 1.5 compile_rules() 1.6 { 1.7 + patch -p0 < $stuff/restore-GifQuantizeBuffer.u 1.8 sed -i 's|/local||' Makefile 1.9 make && make DESTDIR=$DESTDIR install 1.10 case "$ARCH" in
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/giflib/stuff/restore-GifQuantizeBuffer.u Sat Mar 07 16:37:51 2020 +0100 2.3 @@ -0,0 +1,30 @@ 2.4 +--- Makefile 2019-03-28 14:57:23.000000000 -0400 2.5 ++++ Makefile 2019-03-31 23:38:20.700603561 -0400 2.6 +@@ -67,8 +67,8 @@ 2.7 + 2.8 + $(UTILS):: libgif.a libutil.a 2.9 + 2.10 +-libgif.so: $(OBJECTS) $(HEADERS) 2.11 +- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) 2.12 ++libgif.so: $(OBJECTS) $(HEADERS) $(UOBJECTS) 2.13 ++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) $(UOBJECTS) 2.14 + 2.15 + libgif.a: $(OBJECTS) $(HEADERS) 2.16 + $(AR) rcs libgif.a $(OBJECTS) 2.17 +--- gif_lib.h 2.18 ++++ gif_lib.h 2.19 +@@ -295,6 +295,14 @@ extern void GifDrawBoxedText8x8(SavedIma 2.20 + const char *legend, 2.21 + const int border, const int bg, const int fg); 2.22 + 2.23 ++/****************************************************************************** 2.24 ++ Color table quantization 2.25 ++******************************************************************************/ 2.26 ++int GifQuantizeBuffer(unsigned int Width, unsigned int Height, 2.27 ++ int *ColorMapSize, GifByteType * RedInput, 2.28 ++ GifByteType * GreenInput, GifByteType * BlueInput, 2.29 ++ GifByteType * OutputBuffer, 2.30 ++ GifColorType * OutputColorMap); 2.31 + #ifdef __cplusplus 2.32 + } 2.33 + #endif /* __cplusplus */
3.1 --- a/libgnomeprint/receipt Sat Mar 07 12:23:57 2020 +0100 3.2 +++ b/libgnomeprint/receipt Sat Mar 07 16:37:51 2020 +0100 3.3 @@ -17,8 +17,8 @@ 3.4 # Rules to configure and make the package. 3.5 compile_rules() 3.6 { 3.7 - # YYPARSE_PARAM is no longer supported in Bison 3 3.8 - sed -e '/YYPARSE_PARAM/d' -e 's|yyerror (|yyerror (graph_t *g, |' \ 3.9 + # Update for Bison 3 3.10 + sed -e '/YYPARSE_PARAM/d' -e 's|yyerror (|&graph_t *g, |' \ 3.11 -e 's|%pure_parser|&\n%parse-param { graph_t *graph }|' \ 3.12 -i libgnomeprint/grammar.y 3.13
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/xplanet/stuff/xplanet-giflib5.patch Sat Mar 07 16:37:51 2020 +0100 4.3 @@ -0,0 +1,214 @@ 4.4 +--- xplanet-1.3.0.orig/src/libimage/gif.c 2006-03-25 14:50:51.000000000 -0800 4.5 ++++ xplanet-1.3.0/src/libimage/gif.c 2015-01-30 21:01:52.000000000 -0800 4.6 +@@ -28,6 +28,18 @@ 4.7 + distribution. 4.8 + */ 4.9 + 4.10 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.11 ++void 4.12 ++PrintGifError(int ErrorCode) { 4.13 ++ const char *Err = GifErrorString(ErrorCode); 4.14 ++ if (Err != NULL) 4.15 ++ fprintf(stderr, "GIF-LIB error: %s.\n", Err); 4.16 ++ else 4.17 ++ fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode); 4.18 ++} 4.19 ++#endif 4.20 ++ 4.21 ++ 4.22 + int 4.23 + read_gif(const char *filename, int *width, int *height, unsigned char **rgb) 4.24 + { 4.25 +@@ -41,12 +53,23 @@ 4.26 + int i, j; 4.27 + int color_index; 4.28 + unsigned char *ptr = NULL; 4.29 +- 4.30 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.31 ++ int err; 4.32 ++#endif 4.33 ++ 4.34 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.35 ++ infile = DGifOpenFileName(filename, NULL); 4.36 ++#else 4.37 + infile = DGifOpenFileName(filename); 4.38 ++#endif 4.39 + 4.40 + if (infile == NULL) 4.41 + { 4.42 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.43 ++ PrintGifError(infile->Error); 4.44 ++#else 4.45 + PrintGifError(); 4.46 ++#endif 4.47 + return(0); 4.48 + } 4.49 + 4.50 +@@ -54,7 +77,11 @@ 4.51 + { 4.52 + if (DGifGetRecordType(infile, &record_type) == GIF_ERROR) 4.53 + { 4.54 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.55 ++ PrintGifError(infile->Error); 4.56 ++#else 4.57 + PrintGifError(); 4.58 ++#endif 4.59 + return(0); 4.60 + } 4.61 + 4.62 +@@ -63,7 +90,11 @@ 4.63 + case IMAGE_DESC_RECORD_TYPE: 4.64 + if (DGifGetImageDesc(infile) == GIF_ERROR) 4.65 + { 4.66 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.67 ++ PrintGifError(infile->Error); 4.68 ++#else 4.69 + PrintGifError(); 4.70 ++#endif 4.71 + return(0); 4.72 + } 4.73 + 4.74 +@@ -107,14 +138,22 @@ 4.75 + GifByteType *ext; 4.76 + if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR) 4.77 + { 4.78 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.79 ++ PrintGifError(infile->Error); 4.80 ++#else 4.81 + PrintGifError(); 4.82 ++#endif 4.83 + return(0); 4.84 + } 4.85 + while (ext != NULL) 4.86 + { 4.87 + if (DGifGetExtensionNext(infile, &ext) == GIF_ERROR) 4.88 + { 4.89 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.90 ++ PrintGifError(infile->Error); 4.91 ++#else 4.92 + PrintGifError(); 4.93 ++#endif 4.94 + return(0); 4.95 + } 4.96 + } 4.97 +@@ -154,7 +193,11 @@ 4.98 + 4.99 + free(buffer); 4.100 + 4.101 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1 4.102 ++ DGifCloseFile(infile, NULL); 4.103 ++#else 4.104 + DGifCloseFile(infile); 4.105 ++#endif 4.106 + return(1); 4.107 + } 4.108 + 4.109 +@@ -166,6 +209,9 @@ 4.110 + GifByteType *red, *green, *blue, *buffer, *ptr; 4.111 + GifFileType *outfile; 4.112 + ColorMapObject *colormap; 4.113 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.114 ++ int err; 4.115 ++#endif 4.116 + 4.117 + red = malloc(width * height * sizeof(GifByteType)); 4.118 + green = malloc(width * height * sizeof(GifByteType)); 4.119 +@@ -178,7 +224,11 @@ 4.120 + return(0); 4.121 + } 4.122 + 4.123 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.124 ++ colormap = GifMakeMapObject(colormap_size, NULL); 4.125 ++#else 4.126 + colormap = MakeMapObject(colormap_size, NULL); 4.127 ++#endif 4.128 + 4.129 + for (i = 0; i < width * height; i++) 4.130 + { 4.131 +@@ -187,10 +237,17 @@ 4.132 + blue[i] = (GifByteType) rgb[3*i+2]; 4.133 + } 4.134 + 4.135 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.136 ++ if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue, 4.137 ++ buffer, colormap->Colors) == GIF_ERROR) 4.138 ++ { 4.139 ++ PrintGifError(-1); 4.140 ++#else 4.141 + if (QuantizeBuffer(width, height, &colormap_size, red, green, blue, 4.142 + buffer, colormap->Colors) == GIF_ERROR) 4.143 + { 4.144 + PrintGifError(); 4.145 ++#endif 4.146 + return(0); 4.147 + } 4.148 + 4.149 +@@ -198,24 +255,41 @@ 4.150 + free(green); 4.151 + free(blue); 4.152 + 4.153 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.154 ++ outfile = EGifOpenFileName((char *) filename, 0, &err); 4.155 ++ if (outfile == NULL) 4.156 ++ { 4.157 ++ PrintGifError(err); 4.158 ++ return(0); 4.159 ++ } 4.160 ++#else 4.161 + outfile = EGifOpenFileName((char *) filename, FALSE); 4.162 + if (outfile == NULL) 4.163 + { 4.164 + PrintGifError(); 4.165 + return(0); 4.166 + } 4.167 ++#endif 4.168 + 4.169 + if (EGifPutScreenDesc(outfile, width, height, colormap_size, 0, colormap) 4.170 + == GIF_ERROR) 4.171 + { 4.172 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.173 ++ PrintGifError(outfile->Error); 4.174 ++#else 4.175 + PrintGifError(); 4.176 ++#endif 4.177 + return(0); 4.178 + } 4.179 + 4.180 +- if (EGifPutImageDesc(outfile, 0, 0, width, height, FALSE, NULL) 4.181 ++ if (EGifPutImageDesc(outfile, 0, 0, width, height, 0, NULL) 4.182 + == GIF_ERROR) 4.183 + { 4.184 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.185 ++ PrintGifError(outfile->Error); 4.186 ++#else 4.187 + PrintGifError(); 4.188 ++#endif 4.189 + return(0); 4.190 + } 4.191 + 4.192 +@@ -224,7 +298,11 @@ 4.193 + { 4.194 + if (EGifPutLine(outfile, ptr, width) == GIF_ERROR) 4.195 + { 4.196 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 4.197 ++ PrintGifError(outfile->Error); 4.198 ++#else 4.199 + PrintGifError(); 4.200 ++#endif 4.201 + return(0); 4.202 + } 4.203 + ptr += width; 4.204 +@@ -232,8 +310,13 @@ 4.205 + 4.206 + EGifSpew(outfile); 4.207 + 4.208 ++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1 4.209 ++ if (EGifCloseFile(outfile, &err) == GIF_ERROR) 4.210 ++ PrintGifError(err); 4.211 ++#else 4.212 + if (EGifCloseFile(outfile) == GIF_ERROR) 4.213 + PrintGifError(); 4.214 ++#endif 4.215 + 4.216 + free(buffer); 4.217 +