From 9b2d61060176727ca8ea07fd5f7a2651062d40cb Mon Sep 17 00:00:00 2001 From: Samuli Suominen Date: Mon, 10 May 2010 12:35:50 +0000 Subject: Fix building with libpng14 wrt #319113 by Manuel Nickschas. (Portage version: 2.2_rc67/cvs/Linux x86_64) --- media-tv/xbmc/ChangeLog | 6 +- media-tv/xbmc/files/xbmc-9.11-libpng14.patch | 91 ++++++++++++++++++++++++++++ media-tv/xbmc/xbmc-9.11-r3.ebuild | 3 +- 3 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 media-tv/xbmc/files/xbmc-9.11-libpng14.patch (limited to 'media-tv/xbmc') diff --git a/media-tv/xbmc/ChangeLog b/media-tv/xbmc/ChangeLog index 80699a0aff61..aecf2de81c17 100644 --- a/media-tv/xbmc/ChangeLog +++ b/media-tv/xbmc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-tv/xbmc # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.50 2010/04/07 20:39:16 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.51 2010/05/10 12:35:50 ssuominen Exp $ + + 10 May 2010; Samuli Suominen xbmc-9.11-r3.ebuild, + +files/xbmc-9.11-libpng14.patch: + Fix building with libpng14 wrt #319113 by Manuel Nickschas. 07 Apr 2010; Patrick Lauer xbmc-9.11.ebuild, xbmc-9.11-r3.ebuild, xbmc-9999.ebuild: diff --git a/media-tv/xbmc/files/xbmc-9.11-libpng14.patch b/media-tv/xbmc/files/xbmc-9.11-libpng14.patch new file mode 100644 index 000000000000..2e66de904feb --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9.11-libpng14.patch @@ -0,0 +1,91 @@ +http://repos.archlinux.org/wsvn/community/xbmc/trunk/libpng14.patch + +diff -Nur xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp +--- xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2008-07-18 23:40:53.000000000 +0300 ++++ xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2010-01-20 21:55:11.000000000 +0200 +@@ -142,9 +142,9 @@ + if (info_ptr->num_trans!=0){ //palette transparency + if (info_ptr->num_trans==1){ + if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){ +- info.nBkgndIndex = info_ptr->trans_values.index; ++ info.nBkgndIndex = info_ptr->trans_color.index; + } else{ +- info.nBkgndIndex = info_ptr->trans_values.gray>>nshift; ++ info.nBkgndIndex = info_ptr->trans_color.gray>>nshift; + } + } + if (info_ptr->num_trans>1){ +@@ -152,7 +152,7 @@ + if (pal){ + DWORD ip; + for (ip=0;ipnum_trans);ip++) +- pal[ip].rgbReserved=info_ptr->trans[ip]; ++ pal[ip].rgbReserved=info_ptr->trans_alpha[ip]; + for (ip=info_ptr->num_trans;iptrans_values.red>>nshift); +- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift); +- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_values.blue>>nshift); ++ info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift); ++ info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift); ++ info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift); + info.nBkgndColor.rgbReserved = 0; + info.nBkgndIndex = 0; + } +@@ -417,12 +417,12 @@ + if (info.nBkgndIndex >= 0){ + info_ptr->num_trans = 1; + info_ptr->valid |= PNG_INFO_tRNS; +- info_ptr->trans = trans; +- info_ptr->trans_values.index = (BYTE)info.nBkgndIndex; +- info_ptr->trans_values.red = tc.rgbRed; +- info_ptr->trans_values.green = tc.rgbGreen; +- info_ptr->trans_values.blue = tc.rgbBlue; +- info_ptr->trans_values.gray = info_ptr->trans_values.index; ++ info_ptr->trans_alpha = trans; ++ info_ptr->trans_color.index = (BYTE)info.nBkgndIndex; ++ info_ptr->trans_color.red = tc.rgbRed; ++ info_ptr->trans_color.green = tc.rgbGreen; ++ info_ptr->trans_color.blue = tc.rgbBlue; ++ info_ptr->trans_color.gray = info_ptr->trans_color.index; + + // the transparency indexes start from 0 for non grayscale palette + if (!bGrayScale && head.biClrUsed && info.nBkgndIndex) +@@ -443,7 +443,7 @@ + trans[ip]=GetPaletteColor((BYTE)ip).rgbReserved; + info_ptr->num_trans = (WORD)nc; + info_ptr->valid |= PNG_INFO_tRNS; +- info_ptr->trans = trans; ++ info_ptr->trans_alpha = trans; + } + + // copy the palette colors +diff -Nur xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc +--- xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2008-07-30 23:35:38.000000000 +0300 ++++ xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2010-01-20 22:21:01.000000000 +0200 +@@ -65,7 +65,7 @@ + (png_get_color_type(png, pngInfo) == PNG_COLOR_TYPE_GRAY) && + png_get_bit_depth(png, pngInfo) < 8 + ) +- png_set_gray_1_2_4_to_8(png); ++ png_set_expand_gray_1_2_4_to_8(png); + if (png_get_valid(png, pngInfo, PNG_INFO_tRNS)) + png_set_tRNS_to_alpha(png); + if (fullColor) +diff -Nur xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c +--- xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2008-08-04 05:05:51.000000000 +0300 ++++ xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2010-01-20 22:16:23.000000000 +0200 +@@ -94,7 +94,7 @@ + png_set_palette_to_rgb (png_ptr); + + if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) +- png_set_gray_1_2_4_to_8 (png_ptr); ++ png_set_expand_gray_1_2_4_to_8 (png_ptr); + else if (color_type == PNG_COLOR_TYPE_GRAY || + color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png_ptr); diff --git a/media-tv/xbmc/xbmc-9.11-r3.ebuild b/media-tv/xbmc/xbmc-9.11-r3.ebuild index 21a90a4d83af..4c5c47fe07e3 100644 --- a/media-tv/xbmc/xbmc-9.11-r3.ebuild +++ b/media-tv/xbmc/xbmc-9.11-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-9.11-r3.ebuild,v 1.3 2010/04/07 20:39:16 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-9.11-r3.ebuild,v 1.4 2010/05/10 12:35:50 ssuominen Exp $ EAPI="2" @@ -107,6 +107,7 @@ src_unpack() { } src_prepare() { + epatch "${FILESDIR}"/${P}-libpng14.patch # 319113 epatch "${FILESDIR}"/${P}-wavpack.patch epatch "${FILESDIR}"/${P}-jpeg-speedup.patch #300909 epatch "${FILESDIR}"/${P}-use-cdio-system-headers-on-non-win32.patch #303030, upstream: #8026 -- cgit v1.2.3-65-gdbad