<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1a3b6a78dbd211238468cb5f78edb71f7649be7c">https://github.com/macports/macports-ports/commit/1a3b6a78dbd211238468cb5f78edb71f7649be7c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1a3b6a78dbd211238468cb5f78edb71f7649be7c
</span>Author: Christopher Chavez <chrischavez@gmx.us>
AuthorDate: Fri Apr 5 14:40:01 2019 -0500

<span style='display:block; white-space:pre;color:#404040;'>    metapixel: patch for libpng 1.5+
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/38753
</span>---
 graphics/metapixel/Portfile                        |   5 +-
 .../files/metapixel_1.0.2-libpng1.5.patch          | 175 +++++++++++++++++++++
 2 files changed, 178 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/metapixel/Portfile b/graphics/metapixel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e8099ec..86bfe82 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/metapixel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/metapixel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem              1.0
</span> 
 name                    metapixel
 version                 1.0.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                5
</span> categories              graphics
 platforms               darwin
 maintainers             free.fr:fclaire
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,7 +31,8 @@ depends_lib             port:jpeg \
</span>                         port:giflib \
                         port:libpng
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              patch-Makefile.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles              metapixel_1.0.2-libpng1.5.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-Makefile.diff \
</span>                         patch-rwimg-Makefile.diff
 
 use_configure           no
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/metapixel/files/metapixel_1.0.2-libpng1.5.patch b/graphics/metapixel/files/metapixel_1.0.2-libpng1.5.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9f39e8a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/metapixel/files/metapixel_1.0.2-libpng1.5.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,175 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -u metapixel-1.0.2/debian/changelog metapixel-1.0.2/debian/changelog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- rwimg/rwpng.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ rwimg/rwpng.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,19 +57,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->end_info = png_create_info_struct(data->png_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(data->end_info != 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (setjmp(png_jmpbuf((data->png_ptr))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (setjmp(data->png_ptr->jmpbuf))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    png_init_io(data->png_ptr, data->file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  png_init_io(data->png_ptr, data->file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    png_read_info(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  png_init_io(data->png_ptr, data->file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_read_info(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *width = png_get_image_width(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *height = png_get_image_height(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          png_byte value = png_get_bit_depth(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          assert(value == 8 || value == 16);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          value = png_get_color_type(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          assert(value == PNG_COLOR_TYPE_RGB || value == PNG_COLOR_TYPE_RGB_ALPHA);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          value = png_get_interlace_type(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          assert(value == PNG_INTERLACE_NONE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     *width = data->info_ptr->width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     *height = data->info_ptr->height;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(data->info_ptr->bit_depth == 8 || data->info_ptr->bit_depth == 16);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(data->info_ptr->color_type == PNG_COLOR_TYPE_RGB || data->info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(data->info_ptr->interlace_type == PNG_INTERLACE_NONE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->have_read = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,32 +101,51 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_data_t *data = (png_data_t*)_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    int bps, spp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int bps, spp, width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned char *row;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (setjmp(png_jmpbuf((data->png_ptr))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (setjmp(data->png_ptr->jmpbuf))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   spp = 3;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   spp = 4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(png_get_bit_depth(data->png_ptr, data->info_ptr) == 16)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (data->info_ptr->bit_depth == 16)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bps = 2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bps = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    row = (unsigned char*)malloc(data->info_ptr->width * spp * bps);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  width = png_get_image_width(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    width = data->info_ptr->width:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    row = (unsigned char*)malloc(width * spp * bps);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (i = 0; i < num_lines; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int j, channel;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   png_read_row(data->png_ptr, (png_bytep)row, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (j = 0; j < data->info_ptr->width; ++j)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (j = 0; j < width; ++j)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       for (channel = 0; channel < 3; ++channel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          lines[i * width * 3 + j * 3 + channel] = row[j * spp * bps + channel * bps];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     free(row);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -119,7 +158,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_data_t *data = (png_data_t*)_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (setjmp(png_jmpbuf((data->png_ptr))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (setjmp(data->png_ptr->jmpbuf))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (data->have_read)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -148,7 +191,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr = png_create_info_struct(data->png_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(data->info_ptr != 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (setjmp(png_jmpbuf((data->png_ptr))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (setjmp(data->png_ptr->jmpbuf))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (pixel_stride == 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -156,6 +203,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_init_io(data->png_ptr, data->file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  png_set_IHDR(data->png_ptr, data->info_ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          width, height, 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Maybe does not need following. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  png_set_tRNS(data->png_ptr, data->info_ptr, NULL, 0, NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  png_set_PLTE(data->png_ptr, data->info_ptr, NULL, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  png_set_invalid(data->png_ptr, data->info_ptr, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr->width = width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr->height = height;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr->valid = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -168,6 +225,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     data->info_ptr->interlace_type = PNG_INTERLACE_NONE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_write_info(data->png_ptr, data->info_ptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,7 +240,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_data_t *data = (png_data_t*)_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (setjmp(png_jmpbuf((data->png_ptr))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (setjmp(data->png_ptr->jmpbuf))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     for (i = 0; i < num_lines; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -194,7 +256,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_data_t *data = (png_data_t*)_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (setjmp(png_jmpbuf((data->png_ptr))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (setjmp(data->png_ptr->jmpbuf))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     png_write_end(data->png_ptr, data->info_ptr);
</span></pre><pre style='margin:0'>

</pre>