wok-next rev 20211

Add cinepaint-stable (1.0-4)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sat Nov 04 16:41:54 2017 +0200 (2017-11-04)
parents d2f636276174
children 650b75e18a32
files cinepaint-stable/receipt cinepaint-stable/stuff/patches/cinepaint-1.4-png.patch cinepaint-stable/stuff/patches/series
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/cinepaint-stable/receipt	Sat Nov 04 16:41:54 2017 +0200
     1.3 @@ -0,0 +1,49 @@
     1.4 +# SliTaz package receipt v2.
     1.5 +
     1.6 +PACKAGE="cinepaint-stable"
     1.7 +VERSION="1.0-4"
     1.8 +CATEGORY="graphics"
     1.9 +SHORT_DESC="For painting and retouching bitmap frames of films"
    1.10 +MAINTAINER="slaxemulator@gmail.com"
    1.11 +LICENSE="MIT GPL LGPL"
    1.12 +WEB_SITE="http://www.cinepaint.org/"
    1.13 +
    1.14 +TARBALL="cinepaint-$VERSION.tar.gz"
    1.15 +WGET_URL="$SF_MIRROR/cinepaint/$TARBALL"
    1.16 +
    1.17 +BUILD_DEPENDS="patch gtk+-dev gettext tiff-dev openexr-dev ilmbase-dev \
    1.18 +libjpeg-turbo-dev zlib-dev libpng16-dev lcms-dev xorg-libXmu-dev fltk-dev \
    1.19 +python"
    1.20 +SPLIT="cinepaint-stable-dev"
    1.21 +
    1.22 +compile_rules() {
    1.23 +	chmod a+x ./install-sh
    1.24 +
    1.25 +	./configure \
    1.26 +		--disable-print \
    1.27 +		$CONFIGURE_ARGS &&
    1.28 +	make && make install
    1.29 +}
    1.30 +
    1.31 +genpkg_rules() {
    1.32 +	case $PACKAGE in
    1.33 +		cinepaint-stable)
    1.34 +			copy @std
    1.35 +			DEPENDS="atk bzlib cairo fltk fontconfig freetype gdk-pixbuf glib \
    1.36 +			gtk+ ilmbase lcms libffi libharfbuzz libjpeg-turbo liblzma \
    1.37 +			libpng16 libxml2 openexr pango pcre tiff util-linux-blkid \
    1.38 +			util-linux-mount util-linux-uuid xorg-libICE xorg-libSM \
    1.39 +			xorg-libX11 xorg-libXau xorg-libXdmcp xorg-libXextxorg-libXfixes \
    1.40 +			xorg-libXft xorg-libXinerama xorg-libXmu xorg-libXrender \
    1.41 +			xorg-libXt xorg-libxcb xorg-pixman zlib"
    1.42 +			;;
    1.43 +		*-dev)
    1.44 +			copy @dev
    1.45 +			DEPENDS="cinepaint-stable fontconfig-dev freetype-dev glib-dev \
    1.46 +			harfbuzz-dev libjpeg-turbo-dev libpng16-dev libxml2-dev pcre-dev \
    1.47 +			xorg-libX11-dev xorg-libXau-dev xorg-libXdmcp-dev xorg-libXext-dev \
    1.48 +			xorg-libXfixes xorg-libXft-dev xorg-libXinerama-dev \
    1.49 +			xorg-libXrender-dev xorg-libxcb-dev xz-dev"
    1.50 +			;;
    1.51 +	esac
    1.52 +}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/cinepaint-stable/stuff/patches/cinepaint-1.4-png.patch	Sat Nov 04 16:41:54 2017 +0200
     2.3 @@ -0,0 +1,418 @@
     2.4 +diff -ur cinepaint/plug-ins/png/png.c cinepaint-png15/plug-ins/png/png.c
     2.5 +--- cinepaint/plug-ins/png/png.c	2006-11-24 15:52:55.000000000 -0500
     2.6 ++++ cinepaint-png15/plug-ins/png/png.c	2013-03-02 03:37:33.304142225 -0500
     2.7 +@@ -405,7 +405,7 @@
     2.8 +   info = (png_infop)calloc(sizeof(png_info), 1);
     2.9 + #endif /* PNG_LIBPNG_VER > 88 */
    2.10 + 
    2.11 +-  if (setjmp (pp->jmpbuf))
    2.12 ++  if (setjmp (png_jmpbuf(pp)))
    2.13 +   {
    2.14 +     g_message ("%s\nPNG error. File corrupted?", filename);
    2.15 +     return image;
    2.16 +@@ -448,15 +448,15 @@
    2.17 +   */
    2.18 + 
    2.19 + #ifndef WORDS_BIGENDIAN
    2.20 +-  if(info->bit_depth == 16)
    2.21 ++  if(png_get_bit_depth(pp,info) == 16)
    2.22 + 	  png_set_swap(pp);
    2.23 + #endif
    2.24 + 
    2.25 +-  if (info->color_type == PNG_COLOR_TYPE_GRAY && info->bit_depth < 8) {
    2.26 ++  if (png_get_color_type(pp,info) == PNG_COLOR_TYPE_GRAY && png_get_bit_depth(pp,info) < 8) {
    2.27 +     png_set_expand(pp);
    2.28 +   }
    2.29 + 
    2.30 +-  if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) {
    2.31 ++  if (png_get_color_type(pp,info) == PNG_COLOR_TYPE_PALETTE && png_get_bit_depth(pp,info) < 8) {
    2.32 +     png_set_packing(pp);
    2.33 +   }
    2.34 + 
    2.35 +@@ -464,8 +464,8 @@
    2.36 +   * Expand G+tRNS to GA, RGB+tRNS to RGBA
    2.37 +   */
    2.38 + 
    2.39 +-  if (info->color_type != PNG_COLOR_TYPE_PALETTE &&
    2.40 +-                       (info->valid & PNG_INFO_tRNS)) {
    2.41 ++  if (png_get_color_type(pp,info) != PNG_COLOR_TYPE_PALETTE &&
    2.42 ++                  (png_get_valid(pp,info,PNG_INFO_tRNS) & PNG_INFO_tRNS)) {
    2.43 +     png_set_expand(pp);
    2.44 +   }
    2.45 + 
    2.46 +@@ -482,7 +482,7 @@
    2.47 + 
    2.48 + #if PNG_LIBPNG_VER > 99
    2.49 +   if (png_get_valid(pp, info, PNG_INFO_tRNS) &&
    2.50 +-      info->color_type == PNG_COLOR_TYPE_PALETTE)
    2.51 ++      png_get_color_type(pp, info) == PNG_COLOR_TYPE_PALETTE)
    2.52 +   {
    2.53 +     png_get_tRNS(pp, info, &alpha_ptr, &num, NULL);
    2.54 +     /* Copy the existing alpha values from the tRNS chunk */
    2.55 +@@ -505,9 +505,9 @@
    2.56 + 
    2.57 +   png_read_update_info(pp, info);
    2.58 +   
    2.59 +-  if(info->bit_depth==16)
    2.60 ++  if(png_get_bit_depth(pp,info)==16)
    2.61 +   {
    2.62 +-	  switch (info->color_type)
    2.63 ++	  switch (png_get_color_type(pp, info))
    2.64 + 	  {
    2.65 + 		  case PNG_COLOR_TYPE_RGB :		/* RGB */
    2.66 + 			  bpp        = 6;
    2.67 +@@ -545,7 +545,7 @@
    2.68 +   }
    2.69 +   else
    2.70 +   {
    2.71 +-	  switch (info->color_type)
    2.72 ++	  switch (png_get_color_type(pp, info))
    2.73 + 	  {
    2.74 + 		  case PNG_COLOR_TYPE_RGB :		/* RGB */
    2.75 + 			  bpp        = 3;
    2.76 +@@ -582,7 +582,7 @@
    2.77 + 	  };
    2.78 +   }
    2.79 + 
    2.80 +-  image = gimp_image_new(info->width, info->height, image_type);
    2.81 ++  image = gimp_image_new(png_get_image_width(pp,info), png_get_image_height(pp,info), image_type);
    2.82 +   if (image == -1)
    2.83 +   {
    2.84 +     g_message("Can't allocate new image\n%s", filename);
    2.85 +@@ -595,7 +595,7 @@
    2.86 +   * Create the "background" layer to hold the image...
    2.87 +   */
    2.88 + 
    2.89 +-  layer = gimp_layer_new(image, _("Background"), info->width, info->height,
    2.90 ++  layer = gimp_layer_new(image, _("Background"), png_get_image_width(pp,info), png_get_image_height(pp,info),
    2.91 +                          layer_type, 100, NORMAL_MODE);
    2.92 +   gimp_image_add_layer(image, layer, 0);
    2.93 + 
    2.94 +@@ -627,20 +627,23 @@
    2.95 + 
    2.96 +   empty= 0; /* by default assume no full transparent palette entries */
    2.97 + 
    2.98 +-  if (info->color_type & PNG_COLOR_MASK_PALETTE) {
    2.99 ++  if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE) {
   2.100 ++	png_colorp palette;
   2.101 ++	int num_palette;
   2.102 ++	png_get_PLTE(pp, info, &palette, &num_palette);
   2.103 ++
   2.104 + 
   2.105 + #if PNG_LIBPNG_VER > 99
   2.106 +     if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
   2.107 +       for (empty= 0; empty < 256 && alpha[empty] == 0; ++empty);
   2.108 +         /* Calculates number of fully transparent "empty" entries */
   2.109 + 
   2.110 +-      gimp_image_set_cmap(image, (guchar *) (info->palette + empty),
   2.111 +-                          info->num_palette - empty);
   2.112 ++      gimp_image_set_cmap(image, (guchar *) &palette + empty,num_palette - empty);
   2.113 +     } else {
   2.114 +-      gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
   2.115 ++      gimp_image_set_cmap(image, (guchar *)&palette, num_palette);
   2.116 +     }
   2.117 + #else
   2.118 +-    gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
   2.119 ++    gimp_image_set_cmap(image, (guchar *)&palette, num_palette);
   2.120 + #endif /* PNG_LIBPNG_VER > 99 */
   2.121 + 
   2.122 +   }
   2.123 +@@ -659,18 +662,18 @@
   2.124 +   */
   2.125 + 
   2.126 +   tile_height = gimp_tile_height ();
   2.127 +-  pixel       = g_new(guchar, tile_height * info->width * bpp);
   2.128 ++  pixel       = g_new(guchar, tile_height * png_get_image_width(pp,info) * bpp);
   2.129 +   pixels      = g_new(guchar *, tile_height);
   2.130 + 
   2.131 +-  if(info->bit_depth==16)
   2.132 ++  if(png_get_bit_depth(pp,info)==16)
   2.133 +   {
   2.134 + 	  for (i = 0; i < tile_height; i ++)
   2.135 +-		  pixels[i] = pixel + info->width * info->channels * i * 2;
   2.136 ++		  pixels[i] = pixel + png_get_image_width(pp,info) * png_get_channels(pp,info) * i * 2;
   2.137 +   }
   2.138 +   else
   2.139 +   {
   2.140 + 	  for (i = 0; i < tile_height; i ++)
   2.141 +-		  pixels[i] = pixel + info->width * info->channels * i;
   2.142 ++		  pixels[i] = pixel + png_get_image_width(pp,info) * png_get_channels(pp,info) * i;
   2.143 +   }
   2.144 + 
   2.145 +   for (pass = 0; pass < num_passes; pass ++)
   2.146 +@@ -680,11 +683,11 @@
   2.147 + 	   */
   2.148 + 
   2.149 + 	  for (begin = 0, end = tile_height;
   2.150 +-			  begin < info->height;
   2.151 ++			  begin < png_get_image_height(pp,info);
   2.152 + 			  begin += tile_height, end += tile_height)
   2.153 + 	  {
   2.154 +-		  if (end > info->height)
   2.155 +-			  end = info->height;
   2.156 ++		  if (end > png_get_image_height(pp,info))
   2.157 ++			  end = png_get_image_height(pp,info);
   2.158 + 
   2.159 + 		  num = end - begin;
   2.160 + 
   2.161 +@@ -697,21 +700,24 @@
   2.162 + 		  gimp_pixel_rgn_set_rect(&pixel_rgn, pixel, 0, begin,
   2.163 + 				  drawable->width, num);
   2.164 + 
   2.165 +-		  gimp_progress_update(((double)pass + (double)end / (double)info->height) /
   2.166 ++		  gimp_progress_update(((double)pass + (double)end / (double)png_get_image_height(pp,info)) /
   2.167 + 				  (double)num_passes);
   2.168 + 	  };
   2.169 +   };
   2.170 + 
   2.171 + #if defined(PNG_iCCP_SUPPORTED)
   2.172 ++{
   2.173 +   /* set icc profile */
   2.174 +-  if (info->iccp_proflen > 0) {
   2.175 +-    gimp_image_set_icc_profile_by_mem (image, info->iccp_proflen,
   2.176 +-                                              info->iccp_profile,
   2.177 +-                                              ICC_IMAGE_PROFILE);
   2.178 ++  png_charpp name;
   2.179 ++  int ctype = PNG_COMPRESSION_TYPE_BASE;
   2.180 ++  png_bytepp prof;
   2.181 ++  png_uint_32 proflen;
   2.182 ++  if (png_get_iCCP(pp,info,name,&ctype,prof,&proflen) > 0) {
   2.183 ++    gimp_image_set_icc_profile_by_mem (image, proflen, prof, ICC_IMAGE_PROFILE);
   2.184 +     printf ("%s:%d %s() set embedded profile \"%s\"\n",
   2.185 +-             __FILE__,__LINE__,__func__,
   2.186 +-                                              info->iccp_name);
   2.187 ++             __FILE__,__LINE__,__func__,(const char *)name);
   2.188 +   }
   2.189 ++}
   2.190 + #endif
   2.191 + 
   2.192 +  /*
   2.193 +@@ -774,6 +780,8 @@
   2.194 +  * 'save_image ()' - Save the specified image to a PNG file.
   2.195 +  */
   2.196 + 
   2.197 ++typedef png_info *png_infop;
   2.198 ++
   2.199 + static gint
   2.200 + save_image (gchar  *filename,	        /* I - File to save to */
   2.201 + 	    gint32  image_ID,	        /* I - Image to save */
   2.202 +@@ -794,7 +802,7 @@
   2.203 +   GPixelRgn	pixel_rgn;	/* Pixel region for layer */
   2.204 +   png_structp	pp;		/* PNG read pointer */
   2.205 +   png_infop	info;		/* PNG info pointer */
   2.206 +-  gint		num_colors;	/* Number of colors in colormap */
   2.207 ++  gint		num_colors = 0;	/* Number of colors in colormap */
   2.208 +   gint		offx, offy;	/* Drawable offsets from origin */
   2.209 +   guchar	**pixels,	/* Pixel rows */
   2.210 + 		*fixed,		/* Fixed-up pixel data */
   2.211 +@@ -808,6 +816,7 @@
   2.212 +                 blue;           /* Used for palette background */
   2.213 +   time_t	cutime;         /* Time since epoch */
   2.214 +   struct tm	*gmt;		/* GMT broken down */
   2.215 ++  int bit_depth,color_type;
   2.216 + 
   2.217 +  /*
   2.218 +   * PNG 0.89 and newer have a sane, forwards compatible constructor.
   2.219 +@@ -824,7 +833,7 @@
   2.220 +   info = (png_infop)calloc(sizeof(png_info), 1);
   2.221 + #endif /* PNG_LIBPNG_VER > 88 */
   2.222 + 
   2.223 +-  if (setjmp (pp->jmpbuf))
   2.224 ++  if (setjmp (png_jmpbuf(pp)))
   2.225 +   {
   2.226 +     g_message ("%s\nPNG error. Couldn't save image", filename);
   2.227 +     return 0;
   2.228 +@@ -863,10 +872,6 @@
   2.229 + 
   2.230 +   png_set_compression_level (pp, pngvals.compression_level);
   2.231 + 
   2.232 +-  info->width          = drawable->width;
   2.233 +-  info->height         = drawable->height;
   2.234 +-  info->interlace_type = pngvals.interlaced;
   2.235 +-
   2.236 +  /*
   2.237 +   * Set color type and remember bytes per pixel count 
   2.238 +   */
   2.239 +@@ -874,71 +879,69 @@
   2.240 +   switch (type)
   2.241 +   {
   2.242 +     case RGB_IMAGE :
   2.243 +-        info->color_type = PNG_COLOR_TYPE_RGB;
   2.244 +-	info->bit_depth      = 8;
   2.245 ++        color_type = PNG_COLOR_TYPE_RGB;
   2.246 ++	bit_depth      = 8;
   2.247 +         bpp              = 3;
   2.248 +         break;
   2.249 +     case RGBA_IMAGE :
   2.250 +-        info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
   2.251 +-	info->bit_depth      = 8;
   2.252 ++        color_type = PNG_COLOR_TYPE_RGB_ALPHA;
   2.253 ++	bit_depth      = 8;
   2.254 +         bpp              = 4;
   2.255 +         break;
   2.256 +     case GRAY_IMAGE :
   2.257 +-        info->color_type = PNG_COLOR_TYPE_GRAY;
   2.258 +-	info->bit_depth      = 8;
   2.259 ++        color_type = PNG_COLOR_TYPE_GRAY;
   2.260 ++	bit_depth      = 8;
   2.261 +         bpp              = 1;
   2.262 +         break;
   2.263 +     case GRAYA_IMAGE :
   2.264 +-        info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
   2.265 +-	info->bit_depth      = 8;
   2.266 ++        color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
   2.267 ++	bit_depth      = 8;
   2.268 +         bpp              = 2;
   2.269 +         break;
   2.270 +     case INDEXED_IMAGE :
   2.271 + 	bpp		 = 1;
   2.272 +-	info->bit_depth      = 8;
   2.273 +-        info->color_type = PNG_COLOR_TYPE_PALETTE;
   2.274 +-	info->valid      |= PNG_INFO_PLTE;
   2.275 +-        info->palette= (png_colorp) gimp_image_get_cmap(image_ID, &num_colors);
   2.276 +-        info->num_palette= num_colors;
   2.277 ++	bit_depth      = 8;
   2.278 ++        color_type = PNG_COLOR_TYPE_PALETTE;
   2.279 ++	void *plte = gimp_image_get_cmap(image_ID, &num_colors);
   2.280 ++	png_set_PLTE(pp,info,plte,num_colors);
   2.281 +         break;
   2.282 +     case INDEXEDA_IMAGE :
   2.283 + 	bpp		 = 2;
   2.284 +-	info->bit_depth      = 8;
   2.285 +-	info->color_type = PNG_COLOR_TYPE_PALETTE;
   2.286 ++	bit_depth      = 8;
   2.287 ++	color_type = PNG_COLOR_TYPE_PALETTE;
   2.288 + 	respin_cmap (pp, info, image_ID); /* fix up transparency */
   2.289 + 	break;
   2.290 +     case U16_RGB_IMAGE :
   2.291 +-        info->color_type = PNG_COLOR_TYPE_RGB;
   2.292 +-	info->bit_depth      = 16;
   2.293 ++        color_type = PNG_COLOR_TYPE_RGB;
   2.294 ++	bit_depth      = 16;
   2.295 +         bpp              = 6;
   2.296 +         break;
   2.297 +     case U16_RGBA_IMAGE :
   2.298 +-        info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
   2.299 +-	info->bit_depth      = 16;
   2.300 ++        color_type = PNG_COLOR_TYPE_RGB_ALPHA;
   2.301 ++	bit_depth      = 16;
   2.302 +         bpp              = 8;
   2.303 +         break;
   2.304 +     case U16_GRAY_IMAGE :
   2.305 +-        info->color_type = PNG_COLOR_TYPE_GRAY;
   2.306 +-	info->bit_depth      = 16;
   2.307 ++        color_type = PNG_COLOR_TYPE_GRAY;
   2.308 ++	bit_depth      = 16;
   2.309 +         bpp              = 2;
   2.310 +         break;
   2.311 +     case U16_GRAYA_IMAGE :
   2.312 +-        info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
   2.313 +-	info->bit_depth      = 16;
   2.314 ++        color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
   2.315 ++	bit_depth      = 16;
   2.316 +         bpp              = 4;
   2.317 +         break;
   2.318 +-    case U16_INDEXED_IMAGE :
   2.319 ++    case U16_INDEXED_IMAGE :{
   2.320 + 	bpp		 = 2;
   2.321 +-	info->bit_depth      = 16;
   2.322 +-        info->color_type = PNG_COLOR_TYPE_PALETTE;
   2.323 +-	info->valid      |= PNG_INFO_PLTE;
   2.324 +-        info->palette= (png_colorp) gimp_image_get_cmap(image_ID, &num_colors);
   2.325 +-        info->num_palette= num_colors;
   2.326 ++	bit_depth      = 16;
   2.327 ++        color_type = PNG_COLOR_TYPE_PALETTE;
   2.328 ++	void *plte = gimp_image_get_cmap(image_ID, &num_colors);
   2.329 ++	png_set_PLTE(pp,info,plte,num_colors);
   2.330 +         break;
   2.331 +-    case U16_INDEXEDA_IMAGE :
   2.332 ++    }case U16_INDEXEDA_IMAGE :
   2.333 + 	bpp		 = 4;
   2.334 +-	info->bit_depth      = 16;
   2.335 +-	info->color_type = PNG_COLOR_TYPE_PALETTE;
   2.336 ++	bit_depth      = 16;
   2.337 ++	color_type = PNG_COLOR_TYPE_PALETTE;
   2.338 + 	respin_cmap (pp, info, image_ID); /* fix up transparency */
   2.339 + 	break;
   2.340 +     default:
   2.341 +@@ -950,16 +953,21 @@
   2.342 +   * Fix bit depths for (possibly) smaller colormap images
   2.343 +   */
   2.344 +   
   2.345 +-  if (info->valid & PNG_INFO_PLTE) {
   2.346 +-    if (info->num_palette <= 2)
   2.347 +-      info->bit_depth= 1;
   2.348 +-    else if (info->num_palette <= 4)
   2.349 +-      info->bit_depth= 2;
   2.350 +-    else if (info->num_palette <= 16)
   2.351 +-      info->bit_depth= 4;
   2.352 ++  if (png_get_valid(pp,info,PNG_INFO_PLTE) & PNG_INFO_PLTE) {
   2.353 ++    if (num_colors <= 2)
   2.354 ++      bit_depth= 1;
   2.355 ++    else if (num_colors <= 4)
   2.356 ++      bit_depth= 2;
   2.357 ++    else if (num_colors <= 16)
   2.358 ++      bit_depth= 4;
   2.359 +     /* otherwise the default is fine */
   2.360 +   }
   2.361 + 
   2.362 ++  png_set_IHDR(pp,info,drawable->width,drawable->height,
   2.363 ++		bit_depth,color_type,pngvals.interlaced,
   2.364 ++		PNG_COMPRESSION_TYPE_DEFAULT,
   2.365 ++		PNG_FILTER_TYPE_DEFAULT);
   2.366 ++
   2.367 +   // write icc profile
   2.368 + #if defined(PNG_iCCP_SUPPORTED)
   2.369 +   if (gimp_image_has_icc_profile (image_ID, ICC_IMAGE_PROFILE)) {
   2.370 +@@ -973,7 +981,7 @@
   2.371 +                   0, buffer, size);
   2.372 +     printf ("%s:%d %s() embedd icc profile \"%s\"\n",
   2.373 +              __FILE__,__LINE__,__func__,
   2.374 +-                                              info->iccp_name);
   2.375 ++           gimp_image_get_icc_profile_description (image_ID, ICC_IMAGE_PROFILE));
   2.376 +   }
   2.377 + #endif
   2.378 + 
   2.379 +@@ -1039,13 +1047,13 @@
   2.380 +   * Convert unpacked pixels to packed if necessary
   2.381 +   */
   2.382 + 
   2.383 +-  if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8)
   2.384 ++  if (png_get_color_type(pp, info) == PNG_COLOR_TYPE_PALETTE && png_get_bit_depth(pp,info) < 8)
   2.385 +     png_set_packing(pp);
   2.386 + 
   2.387 +   /* Set swapping for 16 bit per sample images */
   2.388 +   
   2.389 + #ifndef WORDS_BIGENDIAN
   2.390 +-  if (info->bit_depth == 16)
   2.391 ++  if (png_get_bit_depth(pp,info) == 16)
   2.392 + 	  png_set_swap(pp);
   2.393 + #endif
   2.394 +   
   2.395 +@@ -1077,7 +1085,7 @@
   2.396 + 	num = end - begin;
   2.397 + 	
   2.398 + 	gimp_pixel_rgn_get_rect (&pixel_rgn, pixel, 0, begin, drawable->width, num);
   2.399 +-        if (info->valid & PNG_INFO_tRNS) {
   2.400 ++        if (png_get_valid(pp,info,PNG_INFO_tRNS) & PNG_INFO_tRNS) {
   2.401 +           for (i = 0; i < num; ++i) {
   2.402 + 	    fixed= pixels[i];
   2.403 +             for (k = 0; k < drawable->width; ++k) {
   2.404 +@@ -1085,7 +1093,7 @@
   2.405 +             }
   2.406 +           }
   2.407 +        /* Forgot this case before, what if there are too many colors? */
   2.408 +-        } else if (info->valid & PNG_INFO_PLTE && bpp == 2) {
   2.409 ++        } else if (png_get_valid(pp,info,PNG_INFO_PLTE) & PNG_INFO_PLTE && bpp == 2) {
   2.410 +           for (i = 0; i < num; ++i) {
   2.411 + 	    fixed= pixels[i];
   2.412 +             for (k = 0; k < drawable->width; ++k) {
   2.413 +@@ -1097,7 +1105,7 @@
   2.414 + 	png_write_rows (pp, pixels, num);
   2.415 + 	
   2.416 + 	gimp_progress_update (((double)pass + (double)end /
   2.417 +-                    (double)info->height) / (double)num_passes);
   2.418 ++                    (double)png_get_image_height(pp,info)) / (double)num_passes);
   2.419 +       };
   2.420 +   };
   2.421 + 
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/cinepaint-stable/stuff/patches/series	Sat Nov 04 16:41:54 2017 +0200
     3.3 @@ -0,0 +1,1 @@
     3.4 +cinepaint-1.4-png.patch