How to install Boxee in Gentoo Linux/boxee-libpng14.patch

http://bugs.gentoo.org/319113 http://how-to.wikia.com/wiki/How_to_install_Boxee_in_Gentoo_Linux/boxee-libpng14.patch

diff -Nur xbmc/lib/cximage-6.0/CxImage/ximapng.cpp xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp --- 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/screensavers/rsxs-0.9/src/pngimage.cc xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc --- 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/visualizations/Goom/goom2k4-0/src/pngload.c xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c --- 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);