summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2011-05-01 10:11:27 +0000
committerPeter Volkov <pva@gentoo.org>2011-05-01 10:11:27 +0000
commitf5de56175a2729616d7d974affcb51e958263507 (patch)
tree1522d661acaa4c50c7b542588748f6cdf9e3662e /media-gfx/xfig
parentppc64 stable wrt #360531 (diff)
downloadgentoo-2-f5de56175a2729616d7d974affcb51e958263507.tar.gz
gentoo-2-f5de56175a2729616d7d974affcb51e958263507.tar.bz2
gentoo-2-f5de56175a2729616d7d974affcb51e958263507.zip
Fix build issue with libpng-1.5, bug #356753 thank Alexis Ballier for this patch. Drop old.
(Portage version: 2.1.9.46/cvs/Linux x86_64)
Diffstat (limited to 'media-gfx/xfig')
-rw-r--r--media-gfx/xfig/ChangeLog7
-rw-r--r--media-gfx/xfig/files/xfig-3.2.5b-libpng-1.5.patch70
-rw-r--r--media-gfx/xfig/xfig-3.2.5b-r1.ebuild4
-rw-r--r--media-gfx/xfig/xfig-3.2.5b.ebuild94
4 files changed, 79 insertions, 96 deletions
diff --git a/media-gfx/xfig/ChangeLog b/media-gfx/xfig/ChangeLog
index 2e7bff1aaed7..21c178c92bc7 100644
--- a/media-gfx/xfig/ChangeLog
+++ b/media-gfx/xfig/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for media-gfx/xfig
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/xfig/ChangeLog,v 1.73 2011/01/09 13:57:52 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/xfig/ChangeLog,v 1.74 2011/05/01 10:11:26 pva Exp $
+
+ 01 May 2011; Peter Volkov <pva@gentoo.org> -xfig-3.2.5b.ebuild,
+ xfig-3.2.5b-r1.ebuild, +files/xfig-3.2.5b-libpng-1.5.patch:
+ Fix build issue with libpng-1.5, bug #356753 thank Alexis Ballier for this
+ patch. Drop old.
09 Jan 2011; Brent Baude <ranger@gentoo.org> xfig-3.2.5b-r1.ebuild:
Marking xfig-3.2.5b-r1 ppc for bug 348344
diff --git a/media-gfx/xfig/files/xfig-3.2.5b-libpng-1.5.patch b/media-gfx/xfig/files/xfig-3.2.5b-libpng-1.5.patch
new file mode 100644
index 000000000000..7d9c3f15efb9
--- /dev/null
+++ b/media-gfx/xfig/files/xfig-3.2.5b-libpng-1.5.patch
@@ -0,0 +1,70 @@
+Index: xfig.3.2.5b/f_readpng.c
+===================================================================
+--- xfig.3.2.5b.orig/f_readpng.c
++++ xfig.3.2.5b/f_readpng.c
+@@ -73,7 +73,7 @@ read_png(FILE *file, int filetype, F_pic
+ }
+
+ /* set long jump recovery here */
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ /* if we get here there was a problem reading the file */
+ png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+ close_picfile(file,filetype);
+@@ -90,15 +90,17 @@ read_png(FILE *file, int filetype, F_pic
+ png_get_IHDR(png_ptr, info_ptr, &w, &h, &bit_depth, &color_type,
+ &interlace_type, &compression_type, &filter_type);
+
+- if (info_ptr->valid & PNG_INFO_gAMA)
+- png_set_gamma(png_ptr, 2.2, info_ptr->gamma);
+- else
+- png_set_gamma(png_ptr, 2.2, 0.45);
++ png_fixed_point gamma = 0.45;
++ png_get_gAMA_fixed(png_ptr,info_ptr,&gamma);
++ png_set_gamma(png_ptr, 2.2, gamma);
+
+- if (info_ptr->valid & PNG_INFO_bKGD)
++ if (png_get_valid(png_ptr,info_ptr,PNG_INFO_bKGD)) {
+ /* set the background to the one supplied */
+- png_set_background(png_ptr, &info_ptr->background,
++ png_color_16p background;
++ png_get_bKGD(png_ptr,info_ptr,&background);
++ png_set_background(png_ptr, background,
+ PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
++ }
+ else {
+ /* blend the canvas background using the alpha channel */
+ background.red = x_bg_color.red >> 8;
+@@ -136,7 +138,11 @@ read_png(FILE *file, int filetype, F_pic
+
+ if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) {
+ png_get_hIST(png_ptr, info_ptr, &histogram);
++#if PNG_LIBPNG_VER_MAJOR <= 1 && PNG_LIBPNG_VER_MINOR < 5
+ png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0);
++#else
++ png_set_quantize(png_ptr, palette, num_palette, 256, histogram, 0);
++#endif
+ }
+ }
+ if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
+Index: xfig.3.2.5b/f_wrpng.c
+===================================================================
+--- xfig.3.2.5b.orig/f_wrpng.c
++++ xfig.3.2.5b/f_wrpng.c
+@@ -20,6 +20,7 @@
+ #include "w_msgpanel.h"
+ #include "w_setup.h"
+ #include <png.h>
++#include <zlib.h>
+
+ /*
+ * Write PNG file from rgb data
+@@ -59,7 +60,7 @@ write_png(FILE *file, unsigned char *dat
+ }
+
+ /* set long jump recovery here */
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ /* if we get here there was a problem reading the file */
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ return False;
diff --git a/media-gfx/xfig/xfig-3.2.5b-r1.ebuild b/media-gfx/xfig/xfig-3.2.5b-r1.ebuild
index 091448315e1a..f6cdc3bab089 100644
--- a/media-gfx/xfig/xfig-3.2.5b-r1.ebuild
+++ b/media-gfx/xfig/xfig-3.2.5b-r1.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/xfig/xfig-3.2.5b-r1.ebuild,v 1.7 2011/01/09 13:57:52 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/xfig/xfig-3.2.5b-r1.ebuild,v 1.8 2011/05/01 10:11:26 pva Exp $
EAPI="2"
inherit eutils multilib
@@ -73,6 +73,8 @@ src_prepare() {
epatch "${FILESDIR}/${P}-urwfonts.patch"
epatch "${FILESDIR}/${P}-mkstemp.patch" #264575
epatch "${FILESDIR}/${P}-CVE-2010-4262.patch" #348344
+ epatch "${FILESDIR}/${P}-libpng-1.5.patch" #356753
+
sed_Imakefile Imakefile
sed -e "s:/usr/lib/X11/xfig:/usr/share/doc/${PF}:" \
-i Doc/xfig.man -i Doc/xfig_man.html || die
diff --git a/media-gfx/xfig/xfig-3.2.5b.ebuild b/media-gfx/xfig/xfig-3.2.5b.ebuild
deleted file mode 100644
index 5b85c19987c2..000000000000
--- a/media-gfx/xfig/xfig-3.2.5b.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/xfig/xfig-3.2.5b.ebuild,v 1.9 2010/11/24 12:16:59 pva Exp $
-
-EAPI="2"
-inherit eutils multilib
-
-MY_P=${PN}.${PV}
-
-DESCRIPTION="A menu-driven tool to draw and manipulate objects interactively in an X window."
-HOMEPAGE="http://www.xfig.org"
-SRC_URI="mirror://sourceforge/mcj/${MY_P}.full.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86"
-IUSE=""
-
-RDEPEND="x11-libs/libXaw
- x11-libs/libXp
- x11-libs/Xaw3d
- x11-libs/libXi
- virtual/jpeg
- media-libs/libpng
- media-fonts/font-misc-misc
- media-fonts/urw-fonts
- >=media-gfx/transfig-3.2.5-r1
- media-libs/netpbm"
-DEPEND="${RDEPEND}
- x11-misc/imake
- x11-proto/xproto
- x11-proto/inputproto"
-
-S=${WORKDIR}/${MY_P}
-
-sed_Imakefile() {
- # see Imakefile for details
- vars2subs=( BINDIR=/usr/bin
- PNGINC=-I/usr/include
- JPEGLIBDIR="/usr/$(get_libdir)"
- JPEGINC=-I/usr/include
- XPMLIBDIR="/usr/$(get_libdir)"
- XPMINC=-I/usr/include/X11
- "USEINLINE = -DUSE_INLINE"
- XFIGLIBDIR=/usr/share/xfig
- XFIGDOCDIR="/usr/share/doc/${PF}"
- MANDIR="/usr/share/man/man\$\(MANSUFFIX\)"
- "CC=$(tc-getCC)" )
-
- for variable in "${vars2subs[@]}" ; do
- varname=${variable%%=*}
- varval=${variable##*=}
- sed -i "s:^\(XCOMM\)*[[:space:]]*${varname}[[:space:]]*=.*$:${varname} = ${varval}:" "$@"
- done
- sed -i "s:^\(XCOMM\)*[[:space:]]*\(#define I18N\).*$:\2:" "$@"
- if has_version '>=x11-libs/Xaw3d-1.5e'; then
- einfo "x11-libs/Xaw3d 1.5e and abover installed"
- sed -i "s:^\(XCOMM\)*[[:space:]]*\(#define XAW3D1_5E\).*$:\2:" "$@"
- fi
-}
-
-src_prepare() {
- # Permissions are really crazy here
- chmod -R go+rX .
- find . -type f -exec chmod a-x '{}' \;
- epatch "${FILESDIR}/${P}-figparserstack.patch" #297379
- epatch "${FILESDIR}/${P}-spelling.patch"
- epatch "${FILESDIR}/${P}-papersize_b1.patch"
- epatch "${FILESDIR}/${P}-pdfimport_mediabox.patch"
- epatch "${FILESDIR}/${P}-network_images.patch"
- epatch "${FILESDIR}/${P}-app-defaults.patch"
- epatch "${FILESDIR}/${P}-zoom-during-edit.patch"
- epatch "${FILESDIR}/${P}-urwfonts.patch"
- epatch "${FILESDIR}/${P}-mkstemp.patch" #264575
- sed_Imakefile Imakefile
- sed -e "s:/usr/lib/X11/xfig:/usr/share/doc/${PF}:" \
- -i Doc/xfig.man -i Doc/xfig_man.html || die
-}
-
-src_compile() {
- xmkmf || die
- emake CC="$(tc-getCC)" LOCAL_LDFLAGS="${LDFLAGS}" CDEBUGFLAGS="${CFLAGS}" \
- USRLIBDIR=/usr/$(get_libdir) || die
-}
-
-src_install() {
- emake -j1 DESTDIR="${D}" install.all || die
-
- insinto /usr/share/doc/${PF}
- doins README FIGAPPS CHANGES LATEX.AND.XFIG
-
- doicon xfig.png
- make_desktop_entry xfig Xfig xfig
-}