svn commit: r375529 - in head/graphics/flam3: . files

Antoine Brodin antoine at FreeBSD.org
Thu Dec 25 10:12:08 UTC 2014


Author: antoine
Date: Thu Dec 25 10:12:06 2014
New Revision: 375529
URL: https://svnweb.freebsd.org/changeset/ports/375529
QAT: https://qat.redports.org/buildarchive/r375529/

Log:
  Properly support png 1.5

Modified:
  head/graphics/flam3/Makefile
  head/graphics/flam3/files/patch-png.c

Modified: head/graphics/flam3/Makefile
==============================================================================
--- head/graphics/flam3/Makefile	Thu Dec 25 09:38:30 2014	(r375528)
+++ head/graphics/flam3/Makefile	Thu Dec 25 10:12:06 2014	(r375529)
@@ -11,14 +11,14 @@ MASTER_SITES=	http://flam3.com/ \
 MAINTAINER=	john.c.prather at gmail.com
 COMMENT=	Flame Renderer
 
-LIB_DEPENDS=	libpng15.so:${PORTSDIR}/graphics/png \
+LIB_DEPENDS=	libpng.so:${PORTSDIR}/graphics/png \
 		libxml2.so:${PORTSDIR}/textproc/libxml2 \
 		libjpeg.so:${PORTSDIR}/graphics/jpeg
 
 GNU_CONFIGURE=	yes
 USES=		gmake libtool pathfix pkgconfig
 
-CPPFLAGS+=	-I${LOCALBASE}/include/libpng15 -I${LOCALBASE}/include
+CPPFLAGS+=	-I${LOCALBASE}/include
 LIBS+=		-L${LOCALBASE}/lib
 
 .include <bsd.port.mk>

Modified: head/graphics/flam3/files/patch-png.c
==============================================================================
--- head/graphics/flam3/files/patch-png.c	Thu Dec 25 09:38:30 2014	(r375528)
+++ head/graphics/flam3/files/patch-png.c	Thu Dec 25 10:12:06 2014	(r375529)
@@ -1,10 +1,76 @@
---- png.c.orig	2008-11-12 02:39:40.000000000 +0100
-+++ png.c	2012-04-25 06:46:07.000000000 +0200
-@@ -21,6 +21,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <png.h>
-+#include <pngpriv.h>
- #include <setjmp.h>
+http://code.google.com/p/flam3/issues/detail?id=8
+
+--- png.c.orig
++++ png.c
+@@ -142,7 +142,7 @@
+   }
+   if (setjmp(png_jmpbuf(png_ptr))) {
+      if (png_image) {
+-	 for (y = 0 ; y < info_ptr->height ; y++)
++	 for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
+ 	     free (png_image[y]);
+ 	 free (png_image);
+      }
+@@ -161,19 +161,19 @@
+   png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE);
+   png_read_info (png_ptr, info_ptr);
  
- #include "config.h"
+-  if (8 != info_ptr->bit_depth) {
++  if (8 != png_get_bit_depth(png_ptr, info_ptr)) {
+     fprintf(stderr, "bit depth type must be 8, not %d.\n",
+-	    info_ptr->bit_depth);
++	    png_get_bit_depth(png_ptr, info_ptr));
+     return 0;
+   }
+ 
+-  *width = info_ptr->width;
+-  *height = info_ptr->height;
++  *width = png_get_image_width(png_ptr, info_ptr);
++  *height = png_get_image_height(png_ptr, info_ptr);
+   p = q = malloc(4 * *width * *height);
+-  png_image = (png_byte **)malloc (info_ptr->height * sizeof (png_byte*));
++  png_image = (png_byte **)malloc (png_get_image_height(png_ptr, info_ptr) * sizeof (png_byte*));
+ 
+-  linesize = info_ptr->width;
+-  switch (info_ptr->color_type) {
++  linesize = png_get_image_width(png_ptr, info_ptr);
++  switch (png_get_color_type(png_ptr, info_ptr)) {
+     case PNG_COLOR_TYPE_RGB:
+       linesize *= 3;
+       break;
+@@ -182,21 +182,21 @@
+       break;
+   default:
+     fprintf(stderr, "color type must be RGB or RGBA not %d.\n",
+-	    info_ptr->color_type);
++	    png_get_color_type(png_ptr, info_ptr));
+     return 0;
+   }
+ 
+-  for (y = 0 ; y < info_ptr->height ; y++) {
++  for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
+     png_image[y] = malloc (linesize);
+   }
+   png_read_image (png_ptr, png_image);
+   png_read_end (png_ptr, info_ptr);
+ 
+-  for (y = 0 ; y < info_ptr->height ; y++) {
++  for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++) {
+     unsigned char *s = png_image[y];
+-    for (x = 0 ; x < info_ptr->width ; x++) {
++    for (x = 0 ; x < png_get_image_width(png_ptr, info_ptr) ; x++) {
+ 
+-      switch (info_ptr->color_type) {
++      switch (png_get_color_type(png_ptr, info_ptr)) {
+       case PNG_COLOR_TYPE_RGB:
+ 	p[0] = s[0];
+ 	p[1] = s[1];
+@@ -217,7 +217,7 @@
+     }
+   }
+ 
+-  for (y = 0 ; y < info_ptr->height ; y++)
++  for (y = 0 ; y < png_get_image_height(png_ptr, info_ptr) ; y++)
+     free (png_image[y]);
+   free (png_image);
+   png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);  


More information about the svn-ports-head mailing list