summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/splashutils/ChangeLog7
-rw-r--r--media-gfx/splashutils/files/splashutils-1.5.4.3-libpng15_compat.patch96
-rw-r--r--media-gfx/splashutils/splashutils-1.5.4.3-r3.ebuild3
3 files changed, 104 insertions, 2 deletions
diff --git a/media-gfx/splashutils/ChangeLog b/media-gfx/splashutils/ChangeLog
index 8511126e0d52..16e93067b8d7 100644
--- a/media-gfx/splashutils/ChangeLog
+++ b/media-gfx/splashutils/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for media-gfx/splashutils
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/ChangeLog,v 1.187 2011/03/26 22:01:16 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/ChangeLog,v 1.188 2011/05/08 15:30:15 spock Exp $
+
+ 08 May 2011; Michał Januszewski <spock@gentoo.org>
+ splashutils-1.5.4.3-r3.ebuild,
+ +files/splashutils-1.5.4.3-libpng15_compat.patch:
+ Add a patch for libpng-1.5 compatiblity (bug #361333).
26 Mar 2011; Michał Januszewski <spock@gentoo.org>
splashutils-1.5.4.3-r3.ebuild:
diff --git a/media-gfx/splashutils/files/splashutils-1.5.4.3-libpng15_compat.patch b/media-gfx/splashutils/files/splashutils-1.5.4.3-libpng15_compat.patch
new file mode 100644
index 000000000000..fb962aefbcb2
--- /dev/null
+++ b/media-gfx/splashutils/files/splashutils-1.5.4.3-libpng15_compat.patch
@@ -0,0 +1,96 @@
+commit 1b760b583f1faa0d3114440a6746cbefa36dd797
+Author: AlphatPC <AlphatPC@gmail.com>
+Date: Sun May 8 17:18:03 2011 +0200
+
+ Use libpng accessor functions (for libpng-1.5 compat).
+
+diff --git a/core/src/image.c b/core/src/image.c
+index 6973575..4fb21a9 100644
+--- a/core/src/image.c
++++ b/core/src/image.c
+@@ -61,27 +61,27 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap *
+ png_init_io(png_ptr, fp);
+ png_read_info(png_ptr, info_ptr);
+
+- if (cmap && info_ptr->color_type != PNG_COLOR_TYPE_PALETTE)
++ if (cmap && png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE)
+ return -2;
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
+- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
++ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
+ png_set_gray_to_rgb(png_ptr);
+
+- if (info_ptr->bit_depth == 16)
++ if (png_get_bit_depth(png_ptr, info_ptr) == 16)
+ png_set_strip_16(png_ptr);
+
+- if (!want_alpha && info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
++ if (!want_alpha && png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
+ png_set_strip_alpha(png_ptr);
+
+ #ifndef TARGET_KERNEL
+- if (!(info_ptr->color_type & PNG_COLOR_MASK_ALPHA) & want_alpha) {
++ if (!(png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) & want_alpha) {
+ png_set_add_alpha(png_ptr, 0xff, PNG_FILLER_AFTER);
+ }
+ #endif
+ png_read_update_info(png_ptr, info_ptr);
+
+- if (!cmap && info_ptr->color_type != PNG_COLOR_TYPE_RGB && info_ptr->color_type != PNG_COLOR_TYPE_RGBA)
++ if (!cmap && png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_RGB && png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_RGBA)
+ return -3;
+
+ if (cmap) {
+@@ -93,12 +93,12 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap *
+
+ rowbytes = png_get_rowbytes(png_ptr, info_ptr);
+
+- if ((width && *width && info_ptr->width != *width) || (height && *height && info_ptr->height != *height)) {
++ if ((width && *width && png_get_image_width(png_ptr, info_ptr) != *width) || (height && *height && png_get_image_height(png_ptr, info_ptr) != *height)) {
+ iprint(MSG_ERROR, "Image size mismatch: %s.\n", filename);
+ return -2;
+ } else {
+- *width = info_ptr->width;
+- *height = info_ptr->height;
++ *width = png_get_image_width(png_ptr, info_ptr);
++ *height = png_get_image_height(png_ptr, info_ptr);
+ }
+
+ *data = malloc(theme->xres * theme->yres * fbd.bytespp);
+@@ -114,11 +114,11 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap *
+ return -4;
+ }
+
+- for (i = 0; i < info_ptr->height; i++) {
++ for (i = 0; i < png_get_image_height(png_ptr, info_ptr); i++) {
+ if (cmap) {
+- row_pointer = *data + info_ptr->width * i;
++ row_pointer = *data + png_get_image_width(png_ptr, info_ptr) * i;
+ } else if (want_alpha) {
+- row_pointer = *data + info_ptr->width * i * 4;
++ row_pointer = *data + png_get_image_width(png_ptr, info_ptr) * i * 4;
+ } else {
+ row_pointer = buf;
+ }
+@@ -127,7 +127,7 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap *
+
+ if (cmap) {
+ int h = 256 - cmap->len;
+- t = *data + info_ptr->width * i;
++ t = *data + png_get_image_width(png_ptr, info_ptr) * i;
+
+ if (h) {
+ /* Move the colors up by 'h' offset. This is used because fbcon
+@@ -139,8 +139,8 @@ static int load_png(stheme_t *theme, char *filename, u8 **data, struct fb_cmap *
+
+ /* We only need to convert the image if the alpha channel is not required */
+ } else if (!want_alpha) {
+- u8 *tmp = *data + info_ptr->width * bytespp * i;
+- rgba2fb((rgbacolor*)buf, tmp, tmp, info_ptr->width, i, 0, 0xff);
++ u8 *tmp = *data + png_get_image_width(png_ptr, info_ptr) * bytespp * i;
++ rgba2fb((rgbacolor*)buf, tmp, tmp, png_get_image_width(png_ptr, info_ptr), i, 0, 0xff);
+ }
+ }
+
diff --git a/media-gfx/splashutils/splashutils-1.5.4.3-r3.ebuild b/media-gfx/splashutils/splashutils-1.5.4.3-r3.ebuild
index 39a18c963492..50bc202a6f1d 100644
--- a/media-gfx/splashutils/splashutils-1.5.4.3-r3.ebuild
+++ b/media-gfx/splashutils/splashutils-1.5.4.3-r3.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/media-gfx/splashutils/splashutils-1.5.4.3-r3.ebuild,v 1.13 2011/03/27 07:09:41 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.5.4.3-r3.ebuild,v 1.14 2011/05/08 15:30:15 spock Exp $
EAPI="2"
@@ -89,6 +89,7 @@ src_prepare() {
epatch "${FILESDIR}"/splashutils-1.5.4.3-makefile.patch
epatch "${FILESDIR}"/splashutils-1.5.4.3-splash_geninitramfs.patch
epatch "${FILESDIR}"/splashutils-1.5.4.3-libjpeg.patch
+ epatch "${FILESDIR}"/splashutils-1.5.4.3-libpng15_compat.patch
epatch "${FILESDIR}"/splashutils-1.5.4.3-daemon-exit-signal.patch
epatch "${FILESDIR}"/splashutils-1.5.4.3-splash-functions.patch
epatch "${FILESDIR}"/splashutils-1.5.4.3-splash_util.patch