From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Mar 28 10:20:02 2010 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2E671065672 for ; Sun, 28 Mar 2010 10:20:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id C68FC8FC15 for ; Sun, 28 Mar 2010 10:20:02 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o2SAK23r015135 for ; Sun, 28 Mar 2010 10:20:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o2SAK2Bi015134; Sun, 28 Mar 2010 10:20:02 GMT (envelope-from gnats) Resent-Date: Sun, 28 Mar 2010 10:20:02 GMT Resent-Message-Id: <201003281020.o2SAK2Bi015134@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Christoph Moench-Tegeder Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4BC90106564A for ; Sun, 28 Mar 2010 10:11:45 +0000 (UTC) (envelope-from cmt@burggraben.net) Received: from smtp.burggraben.net (ns.exwg.net [88.198.69.35]) by mx1.freebsd.org (Postfix) with ESMTP id E859B8FC08 for ; Sun, 28 Mar 2010 10:11:44 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp.burggraben.net (Postfix) with ESMTP id 1395C600098 for ; Sun, 28 Mar 2010 11:52:29 +0200 (CEST) Received: from smtp.burggraben.net ([127.0.0.1]) by localhost (ns.burggraben.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MEfCzMrquBXj for ; Sun, 28 Mar 2010 11:52:28 +0200 (CEST) Received: from elch.exwg.net (p5798775F.dip.t-dialin.net [87.152.119.95]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "elch.exwg.net", Issuer "Christoph Moench-Tegeder" (verified OK)) by smtp.burggraben.net (Postfix) with ESMTPS for ; Sun, 28 Mar 2010 11:52:28 +0200 (CEST) Received: by elch.exwg.net (Postfix, from userid 1000) id 18440AC827; Sun, 28 Mar 2010 11:52:28 +0200 (CEST) Message-Id: <20100328095228.18440AC827@elch.exwg.net> Date: Sun, 28 Mar 2010 11:52:28 +0200 (CEST) From: Christoph Moench-Tegeder To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/145102: [PATCH] fix build of graphics/netpbm (broken by update of libpng) X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Christoph Moench-Tegeder List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Mar 2010 10:20:03 -0000 >Number: 145102 >Category: ports >Synopsis: [PATCH] fix build of graphics/netpbm (broken by update of libpng) >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Mar 28 10:20:01 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Christoph Moench-Tegeder >Release: FreeBSD 8.0-RELEASE-p2 amd64 >Organization: >Environment: System: FreeBSD elch.exwg.net 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #8: Sat Feb 20 21:36:50 CET 2010 cmt@elch.exwg.net:/usr/obj/usr/src/sys/CMT amd64 png-1.4.1 netpbm-10.26.63_3 (upgrading from netpbm-10.26.63_2) >Description: libpng-1.4 renamed some fields in struct png_info (namely png_info.trans_values to png_info.trans_color and png_info.trans to png_info.trans_alpha) which leads to breakage in pnmtopng and pngtopnm from netpbm, for example: pnmtopng.c:1866: error: 'png_info' has no member named 'trans' [...] pnmtopng.c:1903: error: 'png_info' has no member named 'trans_values' pnmtopng.c:1912: warning: 'valid' is deprecated (declared at /usr/local/include/png.h:635) pnmtopng.c:1915: error: 'png_info' has no member named 'trans_values' pnmtopng.c:1916: error: 'png_info' has no member named 'trans_values' pnmtopng.c:1917: error: 'png_info' has no member named 'trans_values' pnmtopng.c:1918: error: 'png_info' has no member named 'trans_values' There are a lot of deprecationw arnings, but those seem to be non-critical at the moment. Included patches fix the problem for graphics/netpbm, I'll submit patches for graphics/netpbm-devel later. >How-To-Repeat: Run portupgrade. (Why wasn't this spotted on pointyhat?) >Fix: Add the following to patches in graphics/netpbm/files/ In case they are mangled by some mail system they are available at http://burggraben.net/hacks/patch-converter-other-pngtopnm and http://burggraben.net/hacks/patch-converter-other-pnmtopng graphics/netpbm/files/patch-converter-other-pngtopnm --- converter/other/pngtopnm.c.orig 2010-03-28 11:32:58.000000000 +0200 +++ converter/other/pngtopnm.c 2010-03-28 11:36:11.000000000 +0200 @@ -494,7 +494,7 @@ case PNG_COLOR_TYPE_GRAY: setXel(&xelrow[col], c, c, c, ((info_ptr->valid & PNG_INFO_tRNS) && - (c == gamma_correct(info_ptr->trans_values.gray, + (c == gamma_correct(info_ptr->trans_color.gray, totalgamma))) ? 0 : maxval); break; @@ -511,7 +511,7 @@ info_ptr->palette[c].blue, (info_ptr->valid & PNG_INFO_tRNS) && c < info_ptr->num_trans ? - info_ptr->trans[c] : maxval); + info_ptr->trans_alpha[c] : maxval); break; case PNG_COLOR_TYPE_RGB: { @@ -519,11 +519,11 @@ png_uint_16 const c3 = get_png_val(png_pixelP); setXel(&xelrow[col], c, c2, c3, ((info_ptr->valid & PNG_INFO_tRNS) && - (c == gamma_correct(info_ptr->trans_values.red, + (c == gamma_correct(info_ptr->trans_color.red, totalgamma)) && - (c2 == gamma_correct(info_ptr->trans_values.green, + (c2 == gamma_correct(info_ptr->trans_color.green, totalgamma)) && - (c3 == gamma_correct(info_ptr->trans_values.blue, + (c3 == gamma_correct(info_ptr->trans_color.blue, totalgamma))) ? 0 : maxval); } @@ -688,7 +688,7 @@ (info_ptr->valid & PNG_INFO_tRNS)) { trans_mix = TRUE; for (i = 0 ; i < info_ptr->num_trans ; i++) - if (info_ptr->trans[i] != 0 && info_ptr->trans[i] != 255) { + if (info_ptr->trans_alpha[i] != 0 && info_ptr->trans_alpha[i] != 255) { trans_mix = FALSE; break; } @@ -841,7 +841,7 @@ pnm_type = PBM_TYPE; if (info_ptr->valid & PNG_INFO_tRNS) { for (i = 0 ; i < info_ptr->num_trans ; i++) { - if (info_ptr->trans[i] != 0 && info_ptr->trans[i] != maxval) { + if (info_ptr->trans_alpha[i] != 0 && info_ptr->trans_alpha[i] != maxval) { pnm_type = PGM_TYPE; break; } graphics/netpbm/files/patch-converter-other-pnmtopng --- converter/other/pnmtopng.c.orig 2010-03-28 11:19:55.000000000 +0200 +++ converter/other/pnmtopng.c 2010-03-28 11:22:32.000000000 +0200 @@ -1863,7 +1863,7 @@ info_ptr->num_palette = palette_size; if (trans_size > 0) { info_ptr->valid |= PNG_INFO_tRNS; - info_ptr->trans = trans; + info_ptr->trans_alpha = trans; info_ptr->num_trans = trans_size; /* omit opaque values */ } /* creating hIST chunk */ @@ -1900,7 +1900,7 @@ info_ptr->color_type == PNG_COLOR_TYPE_RGB) { if (transparent > 0) { info_ptr->valid |= PNG_INFO_tRNS; - info_ptr->trans_values = + info_ptr->trans_color = xelToPngColor_16(transcolor, maxval, png_maxval); } } else { @@ -1912,10 +1912,10 @@ if (info_ptr->valid && PNG_INFO_tRNS) pm_message("Transparent color {gray, red, green, blue} = " "{%d, %d, %d, %d}", - info_ptr->trans_values.gray, - info_ptr->trans_values.red, - info_ptr->trans_values.green, - info_ptr->trans_values.blue); + info_ptr->trans_color.gray, + info_ptr->trans_color.red, + info_ptr->trans_color.green, + info_ptr->trans_color.blue); else pm_message("No transparent color"); } >Release-Note: >Audit-Trail: >Unformatted: