xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "Provides support for the Tag Image File Format (TIFF)"
2DESCRIPTION = "Library provides support for the Tag Image File Format \
3(TIFF), a widely used format for storing image data.  This library \
4provide means to easily access and create TIFF image files."
5HOMEPAGE = "http://www.libtiff.org/"
6LICENSE = "BSD-2-Clause"
7LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
8
9CVE_PRODUCT = "libtiff"
10
11SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
12           file://0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch \
13           file://561599c99f987dc32ae110370cfdd7df7975586b.patch \
14           file://eecb0712f4c3a5b449f70c57988260a667ddbdef.patch \
15           file://0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch \
16           file://0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch \
17           file://0003-add-checks-for-return-value-of-limitMalloc-392.patch \
18           file://0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch \
19           file://0005-fix-the-FPE-in-tiffcrop-393.patch \
20           file://0006-fix-heap-buffer-overflow-in-tiffcp-278.patch \
21           file://0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch \
22           file://CVE-2022-1354.patch \
23           file://CVE-2022-1355.patch \
24           file://CVE-2022-34526.patch \
25           file://CVE-2022-2869.patch \
26           file://CVE-2022-2867.patch \
27           file://b258ed69a485a9cfb299d9f060eb2a46c54e5903.patch \
28           file://0001-tiffcrop-Fix-issue-330-and-some-more-from-320-to-349.patch \
29           file://CVE-2022-2953.patch \
30           file://CVE-2022-3970.patch \
31           file://0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch \
32           file://0001-tiffcrop-S-option-Make-decision-simpler.patch \
33           file://0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch \
34           file://0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch \
35           file://CVE-2022-48281.patch \
36           file://CVE-2023-0800_0801_0802_0803_0804.patch \
37           "
38
39SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8"
40
41# exclude betas
42UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
43
44# Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313
45# and 4.3.0 doesn't have the issue
46CVE_CHECK_IGNORE += "CVE-2015-7313"
47# These issues only affect libtiff post-4.3.0 but before 4.4.0,
48# caused by 3079627e and fixed by b4e79bfa.
49CVE_CHECK_IGNORE += "CVE-2022-1622 CVE-2022-1623"
50# Issue is in jbig which we don't enable
51CVE_CHECK_IGNORE += "CVE-2022-1210"
52
53inherit autotools multilib_header
54
55CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no"
56
57PACKAGECONFIG ?= "cxx jpeg zlib lzma \
58                  strip-chopping extrasample-as-alpha check-ycbcr-subsampling"
59
60PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,,"
61PACKAGECONFIG[jbig] = "--enable-jbig,--disable-jbig,jbig,"
62PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg,"
63PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
64PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz,"
65PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp,"
66
67# Convert single-strip uncompressed images to multiple strips of specified
68# size (default: 8192) to reduce memory usage
69PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,,"
70
71# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA
72PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,,"
73
74# Control picking up YCbCr subsample info. Disable to support files lacking
75# the tag
76PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,,"
77
78# Support a mechanism allowing reading large strips (usually one strip files)
79# in chunks when using TIFFReadScanline. Experimental 4.0+ feature
80PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,,"
81
82PACKAGES =+ "tiffxx tiff-utils"
83FILES:tiffxx = "${libdir}/libtiffxx.so.*"
84FILES:tiff-utils = "${bindir}/*"
85
86do_install:append() {
87    oe_multilib_header tiffconf.h
88}
89
90BBCLASSEXTEND = "native nativesdk"
91