tiff: update to latest stable version

Upgraded media-libs/tiff to version 4.0.0-r1 on amd64, arm, x86

Needed for virtual/jpeg usage.

BUG=chromium-os:25177
TEST=`cbuildbot chromiumos-sdk` works
TEST=build_packages+build_image for x86-alex boots & runs fine

Change-Id: I59da1cf30336d6016fbb2cd08f19d4fb32464ebb
Reviewed-on: https://gerrit.chromium.org/gerrit/20513
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Mike Frysinger 2012-03-28 18:42:53 -04:00 committed by Gerrit
parent 4b71b1a1ca
commit e1facd8b75
8 changed files with 83 additions and 177 deletions

View File

@ -1 +1 @@
DIST tiff-3.9.2.tar.gz 1419742 RMD160 22716e0bcee93a654a704900f3e19f41600f3d18 SHA1 5c054d31e350e53102221b7760c3700cf70b4327 SHA256 3cd566c19291ea3379115dd0d2ebcdefb6a7cf0511cc33e733ec3a500e10da69
DIST tiff-4.0.0.tar.gz 2008075 RMD160 82b27f00b48c74970faac6a4bb4a8a49a199e3b1 SHA1 85d85520fea40fc9291995a60e3d40cf980b5522 SHA256 9f4c0b2a8446a259db431c6401342bcb2c1be4a604e77a532d109c8448619288

View File

@ -1,21 +0,0 @@
--- libtiff/tif_lzw.c
+++ libtiff/tif_lzw.c
@@ -421,7 +421,7 @@ LZWDecode(TIFF* tif, tidata_t op0, tsize
NextCode(tif, sp, bp, code, GetNextCode);
if (code == CODE_EOI)
break;
- if (code == CODE_CLEAR) {
+ if (code >= CODE_CLEAR) {
TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
"LZWDecode: Corrupted LZW table at scanline %d",
tif->tif_row);
@@ -624,7 +624,7 @@ LZWDecodeCompat(TIFF* tif, tidata_t op0,
NextCode(tif, sp, bp, code, GetNextCodeCompat);
if (code == CODE_EOI)
break;
- if (code == CODE_CLEAR) {
+ if (code >= CODE_CLEAR) {
TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
"LZWDecode: Corrupted LZW table at scanline %d",
tif->tif_row);

View File

@ -1,89 +0,0 @@
http://bugs.gentoo.org/show_bug.cgi?id=307001
http://bugzilla.maptools.org/show_bug.cgi?id=2079
--- tools/tiff2rgba.c
+++ tools/tiff2rgba.c
@@ -125,6 +125,17 @@
return (0);
}
+static tsize_t
+multiply(tsize_t m1, tsize_t m2)
+{
+ tsize_t prod = m1 * m2;
+
+ if (m1 && prod / m1 != m2)
+ prod = 0; /* overflow */
+
+ return prod;
+}
+
static int
cvt_by_tile( TIFF *in, TIFF *out )
@@ -134,6 +145,7 @@
uint32 tile_width, tile_height;
uint32 row, col;
uint32 *wrk_line;
+ tsize_t raster_size;
int ok = 1;
TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &width);
@@ -151,7 +163,14 @@
/*
* Allocate tile buffer
*/
- raster = (uint32*)_TIFFmalloc(tile_width * tile_height * sizeof (uint32));
+ raster_size = multiply(multiply(tile_width, tile_height), sizeof (uint32));
+ if (!raster_size) {
+ TIFFError(TIFFFileName(in),
+ "Can't allocate buffer for raster of size %lux%lu",
+ (unsigned long) tile_width, (unsigned long) tile_height);
+ return (0);
+ }
+ raster = (uint32*)_TIFFmalloc(raster_size);
if (raster == 0) {
TIFFError(TIFFFileName(in), "No space for raster buffer");
return (0);
@@ -159,7 +178,7 @@
/*
* Allocate a scanline buffer for swapping during the vertical
- * mirroring pass.
+ * mirroring pass. (Request can't overflow given prior checks.)
*/
wrk_line = (uint32*)_TIFFmalloc(tile_width * sizeof (uint32));
if (!wrk_line) {
@@ -236,6 +255,7 @@
uint32 width, height; /* image width & height */
uint32 row;
uint32 *wrk_line;
+ tsize_t raster_size;
int ok = 1;
TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &width);
@@ -251,7 +271,14 @@
/*
* Allocate strip buffer
*/
- raster = (uint32*)_TIFFmalloc(width * rowsperstrip * sizeof (uint32));
+ raster_size = multiply(multiply(width, rowsperstrip), sizeof (uint32));
+ if (!raster_size) {
+ TIFFError(TIFFFileName(in),
+ "Can't allocate buffer for raster of size %lux%lu",
+ (unsigned long) width, (unsigned long) rowsperstrip);
+ return (0);
+ }
+ raster = (uint32*)_TIFFmalloc(raster_size);
if (raster == 0) {
TIFFError(TIFFFileName(in), "No space for raster buffer");
return (0);
@@ -259,7 +286,7 @@
/*
* Allocate a scanline buffer for swapping during the vertical
- * mirroring pass.
+ * mirroring pass. (Request can't overflow given prior checks.)
*/
wrk_line = (uint32*)_TIFFmalloc(width * sizeof (uint32));
if (!wrk_line) {

View File

@ -0,0 +1,22 @@
http://bugzilla.maptools.org/show_bug.cgi?id=2345
--- configure
+++ configure
@@ -18016,6 +18016,7 @@
$as_echo "#define LZMA_SUPPORT 1" >>confdefs.h
LIBS="-llzma $LIBS"
+ tiff_libs_private="-llzma ${tiff_libs_private}"
if test "$HAVE_RPATH" = "yes" -a "x$with_lzma_lib_dir" != "x" ; then
LIBDIR="-R $with_lzma_lib_dir $LIBDIR"
--- configure.ac
+++ configure.ac
@@ -720,6 +720,7 @@
if test "$HAVE_LZMA" = "yes" ; then
AC_DEFINE(LZMA_SUPPORT,1,[Support LZMA2 compression])
LIBS="-llzma $LIBS"
+ tiff_libs_private="-llzma ${tiff_libs_private}"
if test "$HAVE_RPATH" = "yes" -a "x$with_lzma_lib_dir" != "x" ; then
LIBDIR="-R $with_lzma_lib_dir $LIBDIR"

View File

@ -1,53 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/tiff/tiff-3.9.2-r1.ebuild,v 1.7 2010/03/09 21:46:10 josejx Exp $
EAPI=2
inherit eutils libtool
DESCRIPTION="Library for manipulation of TIFF (Tag Image File Format) images"
HOMEPAGE="http://www.remotesensing.org/libtiff/"
SRC_URI="ftp://ftp.remotesensing.org/pub/libtiff/${P}.tar.gz"
LICENSE="as-is"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="jpeg jbig +cxx zlib"
DEPEND="jpeg? ( >=media-libs/jpeg-6b:0 )
jbig? ( media-libs/jbigkit )
zlib? ( sys-libs/zlib )"
src_prepare() {
epatch "${FILESDIR}"/${PN}-3.8.2-CVE-2009-2285.patch \
"${FILESDIR}"/${P}-CVE-2009-2347.patch
elibtoolize
}
src_configure() {
use prefix || EPREFIX=
econf \
--disable-dependency-tracking \
$(use_enable cxx) \
$(use_enable zlib) \
$(use_enable jpeg) \
$(use_enable jbig) \
--without-x \
--with-docdir="${EPREFIX}"/usr/share/doc/${PF}
}
src_install() {
emake DESTDIR="${D}" install || die
dodoc ChangeLog README TODO
}
pkg_postinst() {
if use jbig; then
echo
elog "JBIG support is intended for Hylafax fax compression, so we"
elog "really need more feedback in other areas (most testing has"
elog "been done with fax). Be sure to recompile anything linked"
elog "against tiff if you rebuild it with jbig support."
echo
fi
}

View File

@ -0,0 +1,47 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/tiff/tiff-4.0.0-r1.ebuild,v 1.6 2012/02/15 02:12:12 ssuominen Exp $
EAPI=4
inherit eutils libtool
DESCRIPTION="Library for manipulation of TIFF (Tag Image File Format) images"
HOMEPAGE="http://www.remotesensing.org/libtiff/"
SRC_URI="http://download.osgeo.org/libtiff/${P}.tar.gz
ftp://ftp.remotesensing.org/pub/libtiff/${P}.tar.gz"
LICENSE="as-is"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="+cxx jbig jpeg lzma static-libs zlib"
RDEPEND="jpeg? ( virtual/jpeg )
jbig? ( media-libs/jbigkit )
lzma? ( app-arch/xz-utils )
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}"
src_prepare() {
epatch "${FILESDIR}"/${P}-missing_lzma_pkgconfig.patch #396531
elibtoolize
}
src_configure() {
econf \
$(use_enable static-libs static) \
$(use_enable zlib) \
$(use_enable jpeg) \
$(use_enable jbig) \
$(use_enable lzma) \
$(use_enable cxx) \
--without-x \
--with-docdir="${EPREFIX}"/usr/share/doc/${PF}
}
src_install() {
default
rm -f \
"${ED}"/usr/lib*/libtiff*.la \
"${ED}"/usr/share/doc/${PF}/{COPYRIGHT,README*,RELEASE-DATE,TODO,VERSION}
}

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=configure install postinst prepare
DEPEND=jpeg? ( >=media-libs/jpeg-6b:0 ) jbig? ( media-libs/jbigkit ) zlib? ( sys-libs/zlib )
DESCRIPTION=Library for manipulation of TIFF (Tag Image File Format) images
EAPI=2
HOMEPAGE=http://www.remotesensing.org/libtiff/
IUSE=jpeg jbig +cxx zlib
KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
LICENSE=as-is
RDEPEND=jpeg? ( >=media-libs/jpeg-6b:0 ) jbig? ( media-libs/jbigkit ) zlib? ( sys-libs/zlib )
SLOT=0
SRC_URI=ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.2.tar.gz
_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29
_md5_=379fbf6fe88902a04a8e20177489e26b

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=configure install prepare
DEPEND=jpeg? ( virtual/jpeg ) jbig? ( media-libs/jbigkit ) lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
DESCRIPTION=Library for manipulation of TIFF (Tag Image File Format) images
EAPI=4
HOMEPAGE=http://www.remotesensing.org/libtiff/
IUSE=+cxx jbig jpeg lzma static-libs zlib
KEYWORDS=~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris
LICENSE=as-is
RDEPEND=jpeg? ( virtual/jpeg ) jbig? ( media-libs/jbigkit ) lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
SLOT=0
SRC_URI=http://download.osgeo.org/libtiff/tiff-4.0.0.tar.gz ftp://ftp.remotesensing.org/pub/libtiff/tiff-4.0.0.tar.gz
_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29
_md5_=b73f7bdff7ff29b5802967d4b390b96b