Subject: CVS commit: pkgsrc/graphics/GraphicsMagick
From: OBATA Akio
Date: 2010-01-22 07:16:18
Message id: 20100122061618.9C325175DD@cvs.netbsd.org

Log Message:
Update GraphicsMagick to 1.3.8.

1.3.8 (January 21, 2010)
========================

Security Fixes:

  * Fix for CVE-2009-1882 "Integer overflow in the XMakeImage
    function".

  * Fix lockup due to hanging in loop while parsing malformed
    sub-image specification (SourceForge issue 2886560).

  * Libltdl: Updated libtool to 2.2.6b in order to fix security issue.
    Resolves CVE-2009-3736 as it pertains to GraphicsMagick.

Bug fixes:

  * -convolve, -recolor: Validate that user-provided matrix is square
    when parsing -convolve and -recolor commands in order to avoid a
    core dump.

  * CALS: Reading images taller than the image width resulted in a
    failure.

  * ConstituteImage(), DispatchImage(): 'A' and 'T' should indicate
    transparency and 'O' should indicate opacity.  Behavior was
    inconsistent.  In some cases 'O' meant transparency while in other
    cases it meant opacity. Also, in a few cases, matte was not
    getting enabled in the image as it should.

  * DCRAW: Module name was not registered so modules based builds were
    not supporting formats provided via 'dcraw'.

  * GetOptimalKernelWidth1D(), GetOptimalKernelWidth2D(): In the Q32
    build, convolution kernel size was estimated incorrectly for large
    sigmas on 32-bit systems due to arithmetic overflow.  This could
    cause wrong results for -convolve, -blur, -sharpen, and other
    algorithms which use these functions.

  * Image Size: Fixed the ability to pass the image size via the
    filename specification like "myfile.jpg[640x480]" rather than
    needing to use -size.

  * IPTC: Blob data needed to be padded to an even size.  Size is now
    correctly reported.

  * IPTC: Returned IPTC string values were one character too short.

  * Large Files: Large pixel cache files were not working under GNU
    Linux.

  * JP2: Fixed some value scaling problems.

  * JP2: Fix possible crash at exit when Jasper is used by a modules
    build.

  * MPC: is_monochrome and is_grayscale flags were not managed
    properly for the MPC coder.

  * PCL: Page was not always being ejected.

  * PNG: The png8 encoder would fail when trying to write a 1-color
    image.

  * PSD: PSD parser was confused by 0x0 pixel layers, resulting in
    image data corruption of all following layers.

  * -rotate, -shear: Some internally-reported errors were potentially
    being lost.

  * Subrange/stdin: Commands now support reading an image from stdin
    in conjunction with a subrange specification (e.g. "-[1]").

  * Magick++ STL ShadeImage: Implementation was completely botched.

New Features:

  * CALS Type 1 files may now be written (Work contributed by John
    Sergeant).  CALS support is dependent on the TIFF library.

  * GROUP4RAW encoder supports reading/writing RAW Group4 data.

  * JP2: JPEG 2000 may now be written in arbitrary bit depths ranging
    from 2 to 16 rather than just 8 or 16.

  * JPEG: IJG JPEG library version 7 is now supported.

  * JPEG: Added jpeg:block-smoothing and jpeg:fancy-upsampling defines
    to control these JPEG library options.

  * JPEG: Detect and apply colorspaces appropriately for ITU FAX JPEG.

  * Resource Limits: There is now a "threads" resource limit which
    allows specifying the number of OpenMP threads which may be used,
    similar to the OMP_NUM_THREADS environment variable.

  * TIFF: Allow CIELAB TIFF to be read.

  * MagickGetImageAttribute()/MagickSetImageAttribute(): New Wand
    methods to support getting and setting an image attribute.
    Contributed by Mikko Koppanen.

  * ClonePixelWand(): New Wand method to deep-copy an existing pixel
    wand.

  * ClonePixelWands(): New Wand method to deep-copy an array of
    existing pixel wands.

  * MagickCdlImage(): New Wand method to apply the ASC CDL to an
    image.

  * MagickGetImageBoundingBox(): New Wand method to return the crop
    bounding box required to remove any solid-color border from the
    image.

  * MagickGetImageFuzz(), MagickSetImageFuzz(): New Wand methods to
    get and set the color comparison fuzz factor.

  * MagickHaldClutImage(): New Wand method to apply a Hald CLUT to an
    image.

  * MagickSetResolution(): New Wand method to set the wand resolution.

  * MagickSetResolutionUnits(): New Wand method to set the wand
    resolution units.

  * Magick++: Allow Magick++ library to built as a DLL under MinGW and
    Cygwin.  This requires a modern GCC in order for C++ exceptions to
    work.

Feature improvements:

  * Cygwin: Cygwin 1.7 is now supported.

  * JPEG compression settings are preserved (if possible) when
    inserting JPEG blobs into formats which use JPEG.

  * PDF: If the original file used JPEG compression, then use JPEG
    compression with original settings (if possible).

  * TIFF: Update Windows build to use libtiff 3.9.2.

  * X11 Display: Apply a checkerboard pattern underneath transparent
    images which use more than simple binary transparency.

Performance Improvements:

  * Gamma: Performance is improved for Q8 and Q16 builds.  Also
    preserve full precision in Q32 build.

  * String data is dealt with a bit more efficiently (fewer
    allocations, less memory, and less CPU).

Behavior Changes:

  * InitializeMagick() MUST be invoked prior to using any Magick API
    function.  Failure to do so will likely lead to an immediate
    application crash.  This is due to initialization and runtime
    changes intended to improve thread safety and efficiency.
    Previously it was only strongly recommended to invoke
    InitializeMagick().

  * ConstituteImage(), DispatchImage(): 'A' and 'T' should indicate
    transparency and 'O' should indicate opacity.  Behavior was
    inconsistent.  In some cases 'O' meant transparency while in other
    cases it meant opacity. Also, in a few cases, matte was not
    getting enabled in the image as it should.

  * colors.mgk: Is now empty to default and is optional.  Previous
    content is now compiled into the library in an efficient way, but
    existing values may be modified, or new values added by adding
    entries to color.mgk.

  * DisableSlowOpenMP is now the default.  Use --enable-openmp-slow to
    enable OpenMP for algorithms which sometimes run slower rather
    than faster.

  * magic.mgk: This configuration file is no longer used since this
    data is now compiled into the library in an efficient way.

  * modules.mgk: Is now empty to default and is optional.  Previous
    content is now compiled into the library in an efficient way, but
    existing values may be modified, or new values added by adding
    entries to modules.mgk.

  * Third party executables not included in the Visual Studio build
    are no longer bundled in the GraphicsMagick installer.  This means
    that hp2xx.exe, mpeg2dec.exe, and mpeg2enc.exe are no longer
    distributed.

Files:
RevisionActionfile
1.27modifypkgsrc/graphics/GraphicsMagick/Makefile
1.13modifypkgsrc/graphics/GraphicsMagick/PLIST
1.21modifypkgsrc/graphics/GraphicsMagick/distinfo