./graphics/GraphicsMagick, X application for displaying and manipulating images

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.3.31, Package name: GraphicsMagick-1.3.31, Maintainer: pkgsrc-users

GraphicsMagick(TM) provides a powerful image manipulation and
translation utility. It is capable of displaying still images and
animations using the X Window system, provides a simple interface for
interactively editing images, and is capable of importing selected
windows or the entire desktop. GraphicsMagick can read and write over
88 image formats, including JPEG, TIFF, WMF, SVG, PNG, PNM, GIF, and
Photo CD. It can resize, rotate, sharpen, color reduce, or add
special effects to the image and save the result to any supported
format. GraphicsMagick may be used to create animated or transparent
.gifs, create composite images, create thumbnail images, and much,
much, more.

GraphicsMagick is one of your choices if you need a program to
manipulate and display images. If you want to develop your own
applications which use GraphicsMagick code or APIs, you need to
install GraphicsMagick-devel as well.


Required to run:
[textproc/libxml2] [print/ghostscript] [graphics/jasper] [graphics/tiff] [graphics/freetype2] [graphics/png] [devel/libltdl] [graphics/jbigkit] [fonts/urw-fonts] [graphics/lcms2] [graphics/libwebp] [devel/pkgconf] [archivers/zstd]

Required to build:
[pkgtools/x11-links] [pkgtools/cwrappers]

Package options: jasper, x11

Master sites:

SHA1: 06229cbb16cc9a3eff9b1bd0426a88fb6b806bd9
RMD160: 55f4448820f8b24f2d50f989775cc263490451fd
Filesize: 5417.66 KB

Version history: (Expand)


CVS history: (Expand)


   2018-11-22 17:09:23 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
GraphicsMagick: commit missing patch, fix buildlink.mk
   2018-11-22 16:51:45 by Patrick Welche | Files touched by this commit (1) | Package updated
Log message:
Build fix for GraphicsMagick 1.3.31 update

[It is worth building packages with PKG_DEVELOPER=yes set before committing
updates.]

GraphicsMagick 1.3.31 added PKG_CONFIG, PKG_CONFIG_PATH, and presumably
PKG_CONFIG_LIBDIR to its build system, which then appear in the output
of "gm version". Ignore the WRKDIR which appears listed there.
   2018-11-20 11:19:29 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
GraphicsMagick: updated to 1.3.31

1.3.31:

Special Issues:
Firmware and operating system updates to address the Spectre vulnerability (and \ 
possibly to some extent the Meltdown vulnerability) have substantially penalized \ 
GraphicsMagick's OpenMP performance. Performance is reduced even with GCC 7 and \ 
8's improved optimizers. There does not appear to be anything we can do about \ 
this.
Security Fixes:

GraphicsMagick is now participating in Google's oss-fuzz project due to the \ 
contributions and assistance of Alex Gaynor. Since February 4 2018, 292 issues \ 
have been opened by oss-fuzz and 279 of those issues have been resolved. The \ 
issues list is available at https://bugs.chromium.org/p/oss-fuzz/issues/list \ 
under search term "graphicsmagick". Issues are available for anyone to \ 
view and duplicate if they have been in "Verified" status for 30 days, \ 
or if they have been in "New" status for 90 days. There are too many \ 
fixes to list here. Please consult the GraphicsMagick ChangeLog file, Mercurial \ 
repository commit log, and the oss-fuzz issues list for details.

Bug fixes:
See above note about oss-fuzz fixes.
CINEON: Fix unexpected hang on a crafted Cineon image. SourceForge issue 571.
Drawing recursion is limited to 100 and may be tuned via the \ 
MAX_DRAWIMAGE_RECURSION pre-processor definition.
Fix reading MIFF files using legacy keyword 'color-profile' for ICC color \ 
profile as was used by ImageMagick 4.2.9.
Fix reading/writing files when 'magick' is specified in lower case. This bug was \ 
a regression in 1.3.30.

New Features:
TIFF: Support Zstd compression in TIFF. This requires libtiff 4.0.10 or later.
TIFF: Support WebP compression in TIFF. This requires libtiff 4.0.10 or later.

API Updates:
MagickMonitor() is marked as deprecated. Code should not be using this function \ 
any more.

Feature improvements:
The progress monitor callbacks (registered using MagickMonitor() or \ 
MagickMonitorFormatted()) are serialized via a common semaphore rather than via \ 
critical sections in OpenMP loops. OpenMP loops are updated to use OpenMP \ 
'atomic' and 'flush' to update shared loop variables rather than using a OpenMP \ 
'critical' construct, reducing contention. Performance on some targets is \ 
observed to have been improved by this change.

Build Changes:
There was already a 'compare' command installed with the \ 
'--enable-magick-compat' configure option was used but it did not function. Now \ 
it functions. There was no compare command in ImageMagick 5.5.2 and this compare \ 
command is only roughly similar to a compare command in some subsequent \ 
ImageMagick release.
Removed Remove Ghostscript library support (--with-gslib) from configure script. \ 
The 'HasGS' pre-processor defines which were enabled by this remain in the \ 
source code so it is still possible to use this library if absolutely necessary \ 
(e.g. CPPFLAGS=-DHasGS LIBS=-lgs).
No longer explicitly link with the OpenMP library when it will be supplied \ 
already due to CFLAGS.

Behavior Changes:
JPEG: Libjpeg-turbo is allowed 1/5th the memory resource limit provided for \ 
Graphicsmagick via the cinfo->mem->max_memory_to_use option, which is part \ 
of the IJG JPEG API/ABI, but usually not supported there. This feature works for \ 
libjpeg-turbo 1.5.2 and later. Limiting the memory usage is useful since \ 
libjpeg-turbo may otherwise consume arbitrary amounts of memory even before \ 
Graphicsmagick is informed of the image dimensions.
JPEG: The maximum number of JPEG progressive scans is limited to 50. Otherwise \ 
some technically valid files could be read for almost forever.
   2018-11-14 23:22:54 by Klaus Klein | Files touched by this commit (1332) | Package updated
Log message:
Revbump after cairo 1.16.0 update.
   2018-11-12 04:53:16 by Ryo ONODERA | Files touched by this commit (1532)
Log message:
Recursive revbump from hardbuzz-2.1.1
   2018-08-22 11:48:07 by Thomas Klausner | Files touched by this commit (3558)
Log message:
Recursive bump for perl5-5.28.0
   2018-06-24 12:16:49 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
GraphicsMagick: update to 1.3.30.

1.3.30 (June 23, 2018)
=========================

Security Fixes:

* GraphicsMagick is now participating in Google's oss-fuzz project due
  to the contributions and assistance of Alex Gaynor. Since February 4
  2018, 238 issues have been opened by oss-fuzz and 230 of those
  issues have been resolved.  The issues list is available at
  https://bugs.chromium.org/p/oss-fuzz/issues/list under search term
  "graphicsmagick".  Issues are available for anyone to view and
  duplicate if they have been in "Verified" status for 30 days, or if
  they have been in "New" status for 90 days.  There are too many
  fixes to list here.  Please consult the GraphicsMagick ChangeLog
  file, Mercurial repository commit log, and the oss-fuzz issues list
  for details.

* SVG/Rendering: Fix heap write overflow of PrimitiveInfo and
  PointInfo arrays.  This is another manefestation of CVE-2016-2317,
  which should finally be fixed correctly due to active
  detection/correction of pending overflow rather than using
  estimation.

Bug fixes:

* Many oss-fuzz fixes are bug fixes.

* Drawing/Rendering: Many more fixes by Gregory J Wolfe (see the ChangeLog).

* MIFF: Detect end of file while reading image directory.

* SVG: Many more fixes by Gregory J Wolfe (see the ChangeLog).

* The AlphaCompositePixel macro was producing wrong results when the
  output alpha value was not 100% opaque. This is a regression
  introduced in 1.3.29.

* TILE: Fix problem with tiling JPEG images because the size request
  used by the TILE algorithm was also causing re-scaling in the JPEG
  reader.  The problem is solved by stripping the size request before
  reading the image.

API Updates:

* The size of PrimitiveInfo (believed to be an internal/private
  structure but in a header which is installed, has been increased to
  store a 'flags' argument. This is intended to be an internal
  interface but but may be detected as an ABI change.

Build Changes:

* The oss-fuzz build script (fuzzing/oss-fuzz-build.sh) now includes
  many delegate libraries such as zlib, libpng, libtiff, libjpeg, and
  freetype, resulting in more comprehensive testing.  The Q16 build is
  now being tested rather than the 'configure' default of Q8.

Behavior Changes:

* JPEG: The JPEG reader now allows 3 warnings of any particular type
  before giving up on reading and throwing an exception.  This choice
  was made after observing files which produce hundreds of warnings
  and consume massive amounts of memory before reading the image data
  has even started.  It is currently unknown how many files which were
  previously accepted will be rejected by default.  The number of
  allowed warnings may be adjusted using '-define
  jpeg:max-warnings=<value>'.  The default limit will be adjusted
  based on reported user experiences and may be adjusted prior to
  compilation via the MaxWarningCount definition in coders/jpeg.c.
   2018-05-06 12:03:34 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
GraphicsMagick: updated to 1.3.29

1.3.29:
Security Fixes:
GraphicsMagick is now participating in Google's oss-fuzz project due to the \ 
contributions and assistance of Alex Gaynor. Since February 4 2018, 180 issues \ 
have been opened by oss-fuzz and 173 of those issues have been resolved. The \ 
issues list is available at https://bugs.chromium.org/p/oss-fuzz/issues/list \ 
under search term "graphicsmagick". Issues are available for anyone to \ 
view and duplicate if they have been in "Verified" status for 30 days, \ 
or if they have been in "New" status for 90 days. There are too many \ 
fixes to list here. Please consult the GraphicsMagick ChangeLog file, Mercurial \ 
repository commit log, and the oss-fuzz issues list for details.
JNG: Require that the embedded JPEG image have the same dimensions as the JNG \ 
image as provided by JHDR. Avoids a heap write overflow.
MNG: Arbitrarily limit the number of loops which may be requested by the MNG \ 
LOOP chunk to 512 loops, and provide the '-define mng:maximum-loops=value' \ 
option in case the user wants to change the limit. This fixes a denial of \ 
service caused by large LOOP specifications.

Bug fixes:
Many oss-fuzz fixes are bug fixes.
DICOM: Pre/post rescale functions are temporarily disabled (until the \ 
implementation is fixed).
JPEG: Fix regression in last release in which reading some JPEG files produces \ 
the error "Improper call to JPEG library in state 201".
ICON: Some DIB-based Windows ICON files were reported as corrupt to an \ 
unexpectedly missing opacity mask image.
In-memory Blob I/O: Don't implicitly increase the allocation size due to seek \ 
offsets.
MNG: Detect and handle failure to allocate global PLTE. Fix divide by zero.
DrawGetStrokeDashArray(): Check for failure to allocate memory.
BlobToImage(): Now produces useful exception reports to cover the cases where \ 
'magick' was not set and the file format could not be deduced from its header.

API Updates:
Wand API: Added MagickIsPaletteImage(), MagickIsOpaqueImage(), \ 
MagickIsMonochromeImage(), MagickIsGrayImage(), MagickHasColormap() based on \ 
contributions by Troy Patteson.
New structure ImageExtra added and Image 'clip_mask' member is replaced by \ 
'extra' which points to private ImageExtra allocation. The ImageGetClipMask() \ 
function now provides access to the clip mask image.
New structure DrawInfoExtra and DrawInfo 'clip_path' is replaced by 'extra' \ 
which points to private DrawInfoExtra allocation. The DrawInfoGetClipPath() \ 
function now provides access to the clip path.
New core library functions: GetImageCompositeMask(), CompositeMaskImage(), \ 
CompositePathImage(), SetImageCompositeMask(), ImageGetClipMask(), \ 
ImageGetCompositeMask(), DrawInfoGetClipPath(), DrawInfoGetCompositePath()
Deprecated core library functions: RegisterStaticModules(), \ 
UnregisterStaticModules().

Feature improvements:
Static modules (in static library or shared library without dynamically loadable \ 
modules) are now lazy-loaded using the same external interface as the \ 
lazy-loader for dynamic modules. This results in more similarity between the \ 
builds and reduces the fixed initialization overhead by only initializing the \ 
modules which are used.
SVG: The quality of SVG support has been significantly improved due to the \ 
efforts of Greg Wolfe.
FreeType/TTF rendering: Rendering fixes for opacity.