summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch43
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 */
+