diff options
Diffstat (limited to 'sci-misc/h5utils/files/h5utils-1.12.1-png15.patch')
-rw-r--r-- | sci-misc/h5utils/files/h5utils-1.12.1-png15.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sci-misc/h5utils/files/h5utils-1.12.1-png15.patch b/sci-misc/h5utils/files/h5utils-1.12.1-png15.patch new file mode 100644 index 000000000000..e611310145eb --- /dev/null +++ b/sci-misc/h5utils/files/h5utils-1.12.1-png15.patch @@ -0,0 +1,43 @@ +Fix build with png-1.5. + +https://bugs.gentoo.org/show_bug.cgi?id=378919 + +Patch stolen from NetBSD +--- writepng.c ++++ writepng.c +@@ -240,6 +240,8 @@ void writepng(char *filename, + double skewsin = sin(skew), skewcos = cos(skew); + REAL minoverlay = 0, maxoverlay = 0; + png_byte mask_byte; ++ png_colorp palette = NULL; ++ + + /* we must use direct color for translucent overlays */ + if (overlay) +@@ -309,7 +311,7 @@ void writepng(char *filename, + } + /* Set error handling. REQUIRED if you aren't supplying your own * + * error hadnling functions in the png_create_write_struct() call. */ +- if (setjmp(png_ptr->jmpbuf)) { ++ if (setjmp(png_jmpbuf(png_ptr))) { + /* If we get here, we had a problem reading the file */ + fclose(fp); + png_destroy_write_struct(&png_ptr, (png_infopp) NULL); +@@ -334,8 +336,6 @@ void writepng(char *filename, + PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + else { +- png_colorp palette; +- + png_set_IHDR(png_ptr, info_ptr, width, height, 8 /* bit_depth */ , + PNG_COLOR_TYPE_PALETTE, + PNG_INTERLACE_NONE, +@@ -434,7 +434,7 @@ void writepng(char *filename, + png_write_end(png_ptr, info_ptr); + + /* if you malloced the palette, free it here */ +- free(info_ptr->palette); ++ free(palette); + + /* if you allocated any text comments, free them here */ + |