diff options
author | markd <markd@pkgsrc.org> | 2011-02-06 08:57:07 +0000 |
---|---|---|
committer | markd <markd@pkgsrc.org> | 2011-02-06 08:57:07 +0000 |
commit | 966f0685b536423da04070e85a33cdc5fa254605 (patch) | |
tree | e4b621a53b933c732e79b330e85321e8104f2cc3 /graphics/py-matplotlib | |
parent | 705909d2dd90323b21620d899564db097723fdb0 (diff) | |
download | pkgsrc-966f0685b536423da04070e85a33cdc5fa254605.tar.gz |
Fix build with png 1.5
Diffstat (limited to 'graphics/py-matplotlib')
-rw-r--r-- | graphics/py-matplotlib/distinfo | 4 | ||||
-rw-r--r-- | graphics/py-matplotlib/patches/patch-ab | 68 |
2 files changed, 69 insertions, 3 deletions
diff --git a/graphics/py-matplotlib/distinfo b/graphics/py-matplotlib/distinfo index 494ae7551c8..69d67848c44 100644 --- a/graphics/py-matplotlib/distinfo +++ b/graphics/py-matplotlib/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.11 2010/06/13 22:44:42 wiz Exp $ +$NetBSD: distinfo,v 1.12 2011/02/06 08:57:07 markd Exp $ SHA1 (matplotlib-0.99.1.2.tar.gz) = c3f9053a8522e2541d93ee55e8b447165708ac15 RMD160 (matplotlib-0.99.1.2.tar.gz) = 11daee415102dff944d9c45de22c48c83e76dde7 Size (matplotlib-0.99.1.2.tar.gz) = 11940390 bytes SHA1 (patch-aa) = 1f900684fec67a895fc1999f72d5c164376b40a6 -SHA1 (patch-ab) = fb7b689a2766c6221a994882fbf9b8942a4f94f9 +SHA1 (patch-ab) = bc711f6b594813672aead4cfec52eacbaff308fb diff --git a/graphics/py-matplotlib/patches/patch-ab b/graphics/py-matplotlib/patches/patch-ab index ad54e2964df..ceac7d65efe 100644 --- a/graphics/py-matplotlib/patches/patch-ab +++ b/graphics/py-matplotlib/patches/patch-ab @@ -1,7 +1,73 @@ -$NetBSD: patch-ab,v 1.3 2010/06/13 22:44:42 wiz Exp $ +$NetBSD: patch-ab,v 1.4 2011/02/06 08:57:07 markd Exp $ + +Fix build with png 1.5 --- src/_png.cpp.orig 2009-08-01 19:14:01.000000000 +0000 +++ src/_png.cpp +@@ -122,7 +122,7 @@ Py::Object _png_module::write_png(const + throw Py::RuntimeError("Could not create info struct"); + } + +- if (setjmp(png_ptr->jmpbuf)) { ++ if (setjmp(png_jmpbuf(png_ptr))) { + throw Py::RuntimeError("Error building image"); + } + +@@ -210,10 +210,10 @@ _png_module::read_png(const Py::Tuple& a + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); + +- png_uint_32 width = info_ptr->width; +- png_uint_32 height = info_ptr->height; ++ png_uint_32 width = png_get_image_width(png_ptr, info_ptr); ++ png_uint_32 height = png_get_image_height(png_ptr, info_ptr); + +- int bit_depth = info_ptr->bit_depth; ++ int bit_depth = png_get_bit_depth(png_ptr, info_ptr); + + // Unpack 1, 2, and 4-bit images + if (bit_depth < 8) +@@ -221,7 +221,7 @@ _png_module::read_png(const Py::Tuple& a + + // If sig bits are set, shift data + png_color_8p sig_bit; +- if ((info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) && png_get_sBIT(png_ptr, info_ptr, &sig_bit)) ++ if ((png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) && png_get_sBIT(png_ptr, info_ptr, &sig_bit)) + png_set_shift(png_ptr, sig_bit); + + // Convert big endian to little +@@ -229,11 +229,11 @@ _png_module::read_png(const Py::Tuple& a + png_set_swap(png_ptr); + + // Convert palletes to full RGB +- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) + png_set_palette_to_rgb(png_ptr); + + // If there's an alpha channel convert gray to RGB +- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb(png_ptr); + + png_set_interlace_handling(png_ptr); +@@ -254,14 +254,14 @@ _png_module::read_png(const Py::Tuple& a + npy_intp dimensions[3]; + dimensions[0] = height; //numrows + dimensions[1] = width; //numcols +- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) ++ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) + dimensions[2] = 4; //RGBA images +- else if (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ++ else if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_COLOR) + dimensions[2] = 3; //RGB images + else + dimensions[2] = 1; //Greyscale images + //For gray, return an x by y array, not an x by y by 1 +- int num_dims = (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ? 3 : 2; ++ int num_dims = (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_COLOR) ? 3 : 2; + + double max_value = (1 << ((bit_depth < 8) ? 8 : bit_depth)) - 1; + PyArrayObject *A = (PyArrayObject *) PyArray_SimpleNew(num_dims, dimensions, PyArray_FLOAT); @@ -290,7 +290,7 @@ _png_module::read_png(const Py::Tuple& a //free the png memory |