Subject: CVS commit: pkgsrc/graphics/tiff
From: Thomas Klausner
Date: 2021-01-04 19:05:03
Message id: 20210104180503.9BDEEFA9D@cvs.NetBSD.org

Log Message:
tiff: update to 4.2.0.

MAJOR CHANGES:

    Optional support for using libdeflate is added.
    Many of the tools now support a memory usage limit.

CHANGES IN LIBTIFF:

    A great many issues discovered by fuzzers (via oss-fuzz and other reports) \ 
have been addressed.
    EXIF 2.32 and GPS tags and functionality have been upgraded:
        Existing EXIF field definition of tags are upgraded to EXIF version 2.3.2
        EXIF-GPS structure, tags and access functions are added as special \ 
CustomDirectory (like it was done for EXIF).
        Reading error for FileSource and SceneType tags corrected.
    Make TIFFTAG_CFAPATTERN variable count.
    Cmake configuration fixes for big-endian targets.

    Added support for optional building against libdeflate for faster \ 
Zip/Deflate compression/decompression.

    We now have 2 kinds of builds with the Zip/Deflate codec:
        zlib only
        zlib + libdeflate

    Speed improvements in the 35%-50% range can be expected when libdeflate is \ 
used. Compression level up to 12 is now supported (capped to 9 when zlib is \ 
used). Still requires zlib for situations where libdeflate cannot be used (that \ 
is for scanline access, since libdeflate has no streaming mode)

    Pseudo-tag \ 
TIFFTAG_DEFLATE_SUBCODEC=DEFLATE_SUBCODEC_ZLIB/DEFLATE_SUBCODEC_LIBDEFLATE is \ 
added to control which subcodec (zlib or libdeflate) should be used (it defaults \ 
of course to libdeflate, when it is available). This is mostly aimed at being \ 
used on the writing side, to be able to reproduce output of previous libtiff \ 
versions at a binary level, in situations where this would be really needed. Or \ 
as a safety belt in case there would be unforeseen issues with using libdeflate. \ 
It can be used to know when libdeflate is available at runtime \ 
(DEFLATE_SUBCODEC_LIBDEFLATE will be the default value in that situation).

    Of course, deflate codestreams produced by libdeflate can be read by zlib, \ 
and vice-versa.

CHANGES IN THE TOOLS:

    A great many issues discovered by fuzzers (via oss-fuzz and other reports) \ 
have been addressed.
    ppm2tiff: support any bps value from 1 to 16.
    tiff2ps, tiff2rgba: A default memory limit is now enforced (256MiB) and a \ 
'-M' option is added to allow the user to adjust the limit.
    tiff2pdf, tiffcp: A default memory limit is now enforced (256MiB) and a '-m' \ 
option is added to allow the user to adjust the limit.
    tiffcrop: A default memory limit is now enforced (256MiB) and a '-k' option \ 
is added to allow the user to adjust the limit.
    tiff2pdf: fix "raw" copy of Deflate streams.
    tiff2pdf.c: properly calculate datasize when saving to JPEG YCbCr
    tiffcp: disable strip chopping when trying to convert to JBIG compression

Files:
RevisionActionfile
1.148modifypkgsrc/graphics/tiff/Makefile
1.28modifypkgsrc/graphics/tiff/PLIST
1.96modifypkgsrc/graphics/tiff/distinfo