diff options
Diffstat (limited to 'app-text/htmldoc')
-rw-r--r-- | app-text/htmldoc/ChangeLog | 6 | ||||
-rw-r--r-- | app-text/htmldoc/files/htmldoc-libpng15.patch | 116 | ||||
-rw-r--r-- | app-text/htmldoc/htmldoc-1.8.27-r2.ebuild | 8 |
3 files changed, 126 insertions, 4 deletions
diff --git a/app-text/htmldoc/ChangeLog b/app-text/htmldoc/ChangeLog index 13b6cd4cf60a..0fec292feeff 100644 --- a/app-text/htmldoc/ChangeLog +++ b/app-text/htmldoc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for app-text/htmldoc # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-text/htmldoc/ChangeLog,v 1.59 2011/07/20 15:44:40 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-text/htmldoc/ChangeLog,v 1.60 2011/10/05 14:00:05 ssuominen Exp $ + + 05 Oct 2011; Samuli Suominen <ssuominen@gentoo.org> + +files/htmldoc-libpng15.patch, htmldoc-1.8.27-r2.ebuild: + Fix building with libpng15 wrt #385521 20 Jul 2011; Pacho Ramos <pacho@gentoo.org> metadata.xml: Drop maintainer due retirement, bug #47265 diff --git a/app-text/htmldoc/files/htmldoc-libpng15.patch b/app-text/htmldoc/files/htmldoc-libpng15.patch new file mode 100644 index 000000000000..7b834c304d26 --- /dev/null +++ b/app-text/htmldoc/files/htmldoc-libpng15.patch @@ -0,0 +1,116 @@ +http://bugs.gentoo.org/385521 +http://www.htmldoc.org/str.php?L243+P0+S-2+C0+I0+E0+M10+Q + +--- htmldoc/image.cxx ++++ htmldoc/image.cxx +@@ -1472,6 +1472,9 @@ image_load_png(image_t *img, /* I - Imag + png_bytep *rows; /* PNG row pointers */ + uchar *inptr, /* Input pixels */ + *outptr; /* Output pixels */ ++ png_bytep trans_alpha; ++ int num_trans; ++ png_color_16p trans_color; + + + /* +@@ -1499,7 +1502,7 @@ image_load_png(image_t *img, /* I - Imag + + rows = NULL; + +- if (setjmp(pp->jmpbuf)) ++ if (setjmp(png_jmpbuf(pp))) + { + progress_error(HD_ERROR_BAD_FORMAT, "PNG file contains errors!"); + +@@ -1526,7 +1529,7 @@ image_load_png(image_t *img, /* I - Imag + + png_read_info(pp, info); + +- if (info->color_type & PNG_COLOR_MASK_PALETTE) ++ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE) + { + png_set_expand(pp); + +@@ -1535,15 +1538,15 @@ image_load_png(image_t *img, /* I - Imag + if (Encryption) + img->use ++; + } +- else if (info->bit_depth < 8) ++ else if (png_get_bit_depth(pp, info) < 8) + { + png_set_packing(pp); + png_set_expand(pp); + } +- else if (info->bit_depth == 16) ++ else if (png_get_bit_depth(pp, info) == 16) + png_set_strip_16(pp); + +- if (info->color_type & PNG_COLOR_MASK_COLOR) ++ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR) + { + depth = 3; + img->depth = gray ? 1 : 3; +@@ -1554,10 +1557,11 @@ image_load_png(image_t *img, /* I - Imag + img->depth = 1; + } + +- img->width = info->width; +- img->height = info->height; ++ img->width = png_get_image_width(pp, info); ++ img->height = png_get_image_height(pp, info); + +- if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans) ++ png_get_tRNS(pp, info, &trans_alpha, &num_trans, &trans_color); ++ if ((png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA) || num_trans) + { + if ((PSLevel == 0 && PDFVersion >= 14) || PSLevel == 3) + image_need_mask(img, 8); +@@ -1571,14 +1575,14 @@ image_load_png(image_t *img, /* I - Imag + + #ifdef DEBUG + printf("color_type=0x%04x, depth=%d, img->width=%d, img->height=%d, img->depth=%d\n", +- info->color_type, depth, img->width, img->height, img->depth); +- if (info->color_type & PNG_COLOR_MASK_COLOR) ++ png_get_color_type(pp, info), depth, img->width, img->height, img->depth); ++ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR) + puts(" COLOR"); + else + puts(" GRAYSCALE"); +- if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans) ++ if ((png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA) || num_trans) + puts(" ALPHA"); +- if (info->color_type & PNG_COLOR_MASK_PALETTE) ++ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE) + puts(" PALETTE"); + #endif // DEBUG + +@@ -1594,9 +1598,9 @@ image_load_png(image_t *img, /* I - Imag + * Allocate pointers... + */ + +- rows = (png_bytep *)calloc(info->height, sizeof(png_bytep)); ++ rows = (png_bytep *)calloc(png_get_image_height(pp, info), sizeof(png_bytep)); + +- for (i = 0; i < (int)info->height; i ++) ++ for (i = 0; i < (int)png_get_image_height(pp, info); i ++) + rows[i] = img->pixels + i * img->width * depth; + + /* +@@ -1610,7 +1614,7 @@ image_load_png(image_t *img, /* I - Imag + * Generate the alpha mask as necessary... + */ + +- if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans) ++ if ((png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA) || num_trans) + { + #ifdef DEBUG + for (inptr = img->pixels, i = 0; i < img->height; i ++) +@@ -1639,7 +1643,7 @@ image_load_png(image_t *img, /* I - Imag + * Reformat the data as necessary for the reader... + */ + +- if (gray && info->color_type & PNG_COLOR_MASK_COLOR) ++ if (gray && png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR) + { + /* + * Greyscale output needed... diff --git a/app-text/htmldoc/htmldoc-1.8.27-r2.ebuild b/app-text/htmldoc/htmldoc-1.8.27-r2.ebuild index defeb465f0a0..f0a02b5670e8 100644 --- a/app-text/htmldoc/htmldoc-1.8.27-r2.ebuild +++ b/app-text/htmldoc/htmldoc-1.8.27-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-text/htmldoc/htmldoc-1.8.27-r2.ebuild,v 1.2 2011/03/20 20:19:53 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-text/htmldoc/htmldoc-1.8.27-r2.ebuild,v 1.3 2011/10/05 14:00:05 ssuominen Exp $ EAPI=1 @@ -35,8 +35,10 @@ src_unpack() { # make sure not to use the libs htmldoc ships with mkdir foo ; mv jpeg foo/ ; mv png foo/ ; mv zlib foo/ - epatch "${FILESDIR}"/${PN}-sscanf-overflows.patch \ - "${FILESDIR}"/${PN}-fortify-fail.patch + epatch \ + "${FILESDIR}"/${PN}-sscanf-overflows.patch \ + "${FILESDIR}"/${PN}-fortify-fail.patch \ + "${FILESDIR}"/${PN}-libpng15.patch sed -i "s:^#define DOCUMENTATION \"\$prefix/share/doc/htmldoc\":#define DOCUMENTATION \"\$prefix/share/doc/${PF}/html\":" \ configure |