Fix building with libpng15 wrt #385521
authorSamuli Suominen <ssuominen@gentoo.org>
Wed, 5 Oct 2011 14:00:05 +0000 (14:00 +0000)
committerSamuli Suominen <ssuominen@gentoo.org>
Wed, 5 Oct 2011 14:00:05 +0000 (14:00 +0000)
Package-Manager: portage-2.2.0_alpha60/cvs/Linux x86_64

app-text/htmldoc/ChangeLog
app-text/htmldoc/Manifest
app-text/htmldoc/files/htmldoc-libpng15.patch [new file with mode: 0644]
app-text/htmldoc/htmldoc-1.8.27-r2.ebuild

index 13b6cd4cf60a5bc35c7f8b2a4393c21b440be27c..0fec292feeffd28ebe1eef70cea365c5becad7ee 100644 (file)
@@ -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
index 79ad6b1c81e6d065b4ee295e45079aaf1836e6ce..dd20aaa06f9a001904e42dc16347d222202c65db 100644 (file)
@@ -1,19 +1,22 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
 
 AUX htmldoc-fortify-fail.patch 815 RMD160 589216f06e7ed5c780e5dffb3d96f8bd84fbf6ea SHA1 6f20f691683b13cb506820c78bae75896a546c96 SHA256 d8d5a5d9ebf5225a32b4f00d80e89a5576122d8c70c5ef60f36c3717c3770746
+AUX htmldoc-libpng15.patch 3809 RMD160 903711ef3bc042ca1b5990f8ec91792d26833d0c SHA1 b6a6ad737987815403ecd640e9de635a3a17856c SHA256 e235431989cf8b5228d395204ae8bff67bdce26d5befdfab637369efdc4f8e16
 AUX htmldoc-sscanf-overflows.patch 1351 RMD160 37ed892d0ebaaca6be134e43568333073536de0b SHA1 9ba341c585f6666f3cd78e4e6934a3ce7aa150c1 SHA256 b6c20cf21b781787f9e2663859646daa8b07c34e96cf39221f68dd2ce1a7f7a7
 DIST htmldoc-1.8.27-source.tar.bz2 3960271 RMD160 9605a5894675439f5fae405fb060972e19f33c7e SHA1 472908e0aafed1cedfbacd8ed3168734aebdec4b SHA256 89ffd223734268375dc959c200622dc5f167576c5cad9d7ce4bd7567faeb9613
 EBUILD htmldoc-1.8.27-r1.ebuild 1811 RMD160 9bdfbf232b18c52df34e14836d644016004f154e SHA1 e56b92cb201ed10817a850518f6d47a5f8b095dc SHA256 5376e617e72862bb687c48507fc8a8f11b6859aae54f5c9dc632889723bec1d2
-EBUILD htmldoc-1.8.27-r2.ebuild 1861 RMD160 62b21f72b9d72effa67ef3b7295a4b0f7e4bbcaa SHA1 01de89fd3bc28b3700af48dd1507700c3ba7f620 SHA256 9947c9f87c1f9991f9fd846007d0e29750a7be4000ae79e6e54cf4c1ae1dc013
-MISC ChangeLog 7327 RMD160 84968b2edc57d239aa9ff398b129760916f105e0 SHA1 a9bc7e07cac2447924959a33aa6df321cab587b8 SHA256 5d1f3b444da7860341ca9d1ab0adcc04851f1a6809ce4fde39023fac7287a3a9
+EBUILD htmldoc-1.8.27-r2.ebuild 1909 RMD160 7595e2257332e4badaf93c408dddb80fe3b146fe SHA1 3319204b24355d42b29e259fdf5d0680481cc4d7 SHA256 6c06d8d7bd22bc62c775e0625fe649d9f2382752f1e6f311bc30c41320f835fc
+MISC ChangeLog 7486 RMD160 36fe3b22db7e36e1acc3893b29326a6fb4abae30 SHA1 b809766c13f80c124b91b874cd2432fc7e76a973 SHA256 40fd5535683c71186e100d2da4cf3d78e7a583e8485a543b17998c8e7502a685
 MISC metadata.xml 212 RMD160 f278ca2a473dd949f7d0f359c432cfe4ed026e71 SHA1 b67d9ec2368a50032f536d14dbd7f105b25191cf SHA256 70bbfd181623c884c763902ca127ef24c917b2e55cda0869e6ffaa6c4ebc5757
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iJwEAQEIAAYFAk5/GKUACgkQfXuS5UK5QB2WbQP/QI2GUz+nZ/+yNgdjcLXAy2nS
-lens1VTuObx24VXSJZ0GM4VvlJKv9k1AcrN8AhgD3W2kBZIp8/ym0C7z0VKFRGNf
-vakdAYW/TX1M27MrhGGWUM3BxDN0lgWYny1zUbKRB4bszbJ6huIc+jfxWJlaVEv2
-s55bqLZfbYEGT7iT6N8=
-=2o3L
+iQEcBAEBAgAGBQJOjGMKAAoJEEdUh39IaPFNRJYH/2y/K0qIncD69DPGSrFw8+fX
+T3QvnM9Ss096Mb3srI5+NF7gy6Xn3fF+gD0j23sTf6Tl+hnqe4tQIraOOBimbqLE
+Nnq1xTAwJyxm3Ap+CsLeTM2AZcOGa3efcFnpG12l5i3EhCP0miwje2LCg663Qqm1
+HfvMm7t5Xl94OBBWr5h6KRXxS9lGoaPrPJJd76BxEESa7BCVbK+lWDhaeAKrbNMI
+urUn4AeJYjcLmAm4HFzm0ddoFG67qKdICPF99ZGOkzyLSDo5UckrIR4bz/eQZ84o
+LPdytacWIyvKnHmTFmQg9/VxJLrRcGTcQx4p3aEeiOqB7btQlr2hvPh6bdVIBVc=
+=utA/
 -----END PGP SIGNATURE-----
diff --git a/app-text/htmldoc/files/htmldoc-libpng15.patch b/app-text/htmldoc/files/htmldoc-libpng15.patch
new file mode 100644 (file)
index 0000000..7b834c3
--- /dev/null
@@ -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...
index defeb465f0a00a62bebb60f3b79308562dd7468c..f0a02b5670e80e836ac236c371989cf81e7deddb 100644 (file)
@@ -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