pkgsrc/graphics/GraphicsMagick/Makefile

48 lines
1.6 KiB
Makefile
Raw Normal View History

{p5-}GraphicsMagick: updated to 1.3.32 1.3.32: Special Issues: It has been discovered that the 'ICU' library (a perhaps 30MB C++ library) which is now often a libxml2 dependendency causes huge process initialization overhead. This is noticed as unexpected slowness when GraphicsMagick utilities are used to process small to medium sized files. The time to initialize is often longer than the time to read the input file, process the image, and write the output file. If the 'ICU' dependency can not be avoided, then make sure to use the modules build. Please lobby the 'ICU' library developers to change their implementation to avoid long start-up times due to merely linking with the library. 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, 343 issues have been opened by oss-fuzz and 331 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. BMP reader: Fix heap overflow in 32-bit build due to arithmetic overflow. Only happens if limits are changed from defaults. BMP reader/writer: Improve buffer-size calculations to guard against buffer overflows. DIB reader: Reject files which claim more than 8-bits per pixel but also claim to be colormapped. DIB reader/writer: Improve buffer-size calculations to guard against buffer overflows. MIFF reader: Detect end of file while reading RLE packets. MIFF reader: Fix heap overflow (for some files using RLE compression) caused by a typo in the code. MAT writer: Added missing error handling to avoid heap overflow. MNG reader: Fixed a small heap buffer overflow. SVG reader: Fixed a stack buffer overflow. TGA writer: Fix heap overflow when image rows/columns are larger than 65535. TIFF reader: Rationalize tile width/height to reject large tile sizes which are much larger than the image dimensions. TIFF reader: Apply memory resource limits to strip and tile allocations. WMF reader: Fixed a division by zero problem. XWD reader: Many heap buffer overflows and uses of uninitialized data were fixed. Pixel cache: Now apply resource limits to pixel nexus allocations using the same limits (total pixels, width, height, memory) as applied to the whole image since some requests are directly influenced by the input file. More tests are added for arithmetic overflow. Care was taken to minimize performance impact due to the many extra checks. Bug fixes: See above note about oss-fuzz fixes. Fixed include order of magick/api.h vs wand/wand_symbols.h. WriteImage(): Eliminate use of just-freed memory in clone_info->magick when throwing exception due to no support for format. Magick++/lib/Magick++/Drawable.h: Fix use of clang diagnostic syntax. DIB: Preserve PseudoClass opaque representation if ICO mask is opaque. JPEG reader: Restore ability to access detailed image properties while in 'ping' mode. JPEG reader: Base test for "Unreasonable dimensions" on original JPEG dimensions and not the scaled dimensions. JPEG reader: Allow input files to have a compression ratio as high as 2500. Extremely compressed files were being rejected. FreeType renderer: Fixed a memory leak. PDF writer: Fixed a memory leak. PDF writer: Fixed a thread safety problem. PICT reader: Fix a thread safety problem. Exception reporting: Throwing an exception was not thread safe. Now it is. Exception reporting: Handle the case where some passed character strings refer to existing exception character strings. Command-line parser now does not attempt to read a list of filenames from a file in '@name' syntax if the path '@name' exists. Previously it would attempt to read a list of file names from 'name' even if '@name' did exist. Rendering: Short-circuit path parsing and return and error immediately if an error occurs. New Features: Added support for writing the Braille image format (by Samuel Thibault). WebP writer: Support WebP 'use_sharp_yuv' option ("if needed, use sharp (and slow) RGB->YUV conversion") via -define webp:use-sharp-yuv=true. The version command output now reports the OpenMP specification number rather than just the integer version identifier. API Updates: ReallocateImageColormap() added to re-allocate an existing colormap. Some improperly-exposed globals are now static as they should have been.
2019-06-18 15:30:52 +02:00
# $NetBSD: Makefile,v 1.97 2019/06/18 13:30:52 adam Exp $
.include "Makefile.common"
2011-05-17 13:44:28 +02:00
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.graphicsmagick.org/
COMMENT= X application for displaying and manipulating images
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
LICENSE= mit
DEPENDS+= urw-fonts-[0-9]*:../../fonts/urw-fonts
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake pkg-config:run
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
USE_FEATURES= vsnprintf # optional but recommended for security
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-shared
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
CONFIGURE_ARGS+= --with-modules=yes
GraphicsMagick: updated to 1.3.27a 1.3.27: Security Fixes: * CMYK: Fix heap overwrites in raw CMYK writer. Fix heap overwrites in raw CMYK reader (noticed when doing montage). * GIF: Assure that global colormap is initialized. * DescribeImage(): Fix possible heap write overflow when describing visual image directory. Fix possible heap read overflow while accessing heap data, and possible information disclosure while describing the IPTC profile. * DICOM: Fix huge memory allocation based on bogus length value (DOS opportunity). * DrawDashPolygon(): Fix heap out of bounds read in render code. * GRAY: Fix heap overwrites in raw GRAY reader (noticed when doing montage). * JNG: Fix heap overruns. Fix assertions. * JNG: Prevent a crash due to zero-length color_image while reading a JNG image. (CVE-2017-11102). Reject JNG files with unreasonable dimensions given the file size (avoid DOS). * JNX: Fix DOS due to excessive memory allocations with corrupt file. * JPEG: Do not allocate backing image pixels until a scanline has been successfully read. Avoids DOS opportunity with suitably manufactured file. * MAP: Fix null pointer dereference or segmentation violation. * MAT: Fix heap write overflow. * MNG: Reject over-large (65k by 65k) image. Fix heap overwrites. * PAM: Fix heap buffer overflow in PAM writer for 1 bit/sample + alpha. * PICT: Fix excessive memory allocation due to malformed image file. * PNG: Fix heap buffer overflow in PNG writer when promoting from indexed PNG to RGBA. * PNM: Fix DOS due to excessive memory allocations with corrupt file. * RGB: Fix heap overwrite in raw RGB writer. Fix heap overwrites in raw RGB reader (noticed when doing montage). * RLE: Fix DOS opportunities due to false claims in image header. Fix heap out of bounds read. * SFW: Avoid possible heap write overflow. * SUN: Fix heap read overflow. Fix DOS due to excessive memory allocations with corrupt file. * SVG: Fix heap write overflow. * TIFF: Use heuristics to avoid DOS (excessive memory use) due to false claims by input file. It is possible that this may reject some valid files. Fix possible small heap overwrite beyond the allocated scanline buffer due to the NumberOfObjectsInArray() macro rounding up rather than down. * UIL: Fix heap overwrite in writer. * WPG: Fix DOS issues (memory, disk space, CPU time) due to insufficient validations. Fix heap overwrites. * XBM: Fix DOS issue where code remains stuck in loop and does not return. * XV 332 (PNM): Fix null pointer dereference due to malformed file. * TracePSClippingPath()/TraceSVGClippingPath(): Fix heap out of bounds read. * Validate path entries in the MAGICK_CODER_MODULE_PATH and MAGICK_FILTER_MODULE_PATH environment variables and convert all paths to real paths if possible. This avoids possible use of relative paths to load modules (a possible security issue), or the possibility of adding a directory which was in the path, but missing, and may improve efficiency by removing non-existent paths. Bug fixes: * AVS: Memory leaks eliminated. * CINEON: Fix possible use of NULL pointer. * CMYK: Memory leaks eliminated. * CUT: Memory leaks eliminated. Fix possible use of NULL pointer. * DCM: Fix possible use of NULL pointer. * DrawImage(): Avoid "negative" strncpy(). This seems to be benign with glibc but perhaps not with other implementations. * DPX: Memory leaks eliminated. * EMF: Fix possible use of NULL pointer. * FindMagickModule(): Fix possible use of NULL pointer. * FITS: Fix memory leak. * GIF: Fix memory leak. * HDF: Memory leaks eliminated. * HISTOGRAM: Fix memory leak. * JNG: Memory leaks eliminated. Memory use after free and double-free issues eliminated. Error reporting fixes. * Magick::Options::strokeDashArray(): Fix possible use of NULL pointer. * MagickXFileBrowserWidget(): Fix possible use of NULL pointer. * MAT: Memory leaks eliminated. * MagickMapCloneMap(): Fix possible assertion failure. * MNG: Memory use after free issues eliminated. Fix possible use of NULL pointer. Fix memory leaks. * MontageImageCommand(): Fix memory leaks. * MPC: Fix memory leak in writer. * MPEG: Fix memory leaks in writer. * MTV: Memory leaks eliminated. * NTRegistryKeyLookup(): Fix possible use of NULL pointer. * NTGetTypeList(): Fix possible use of NULL pointer. * PCD: Memory leaks eliminated. * PCL: Fix null pointer dereference in PCL writer. * PCX: Memory leaks eliminated. * PALM: Fix possible use of NULL pointer. Fix memory leak. * PICT: Memory leaks eliminated. * PNG: Fix small (one-off) heap read overflow. * PNM: Fix memory leaks. * PS: Fix use of null pointer in error path. * PWP: Fix possible use of null pointer. * ReplaceImageColormap(): Throw an exception rather than assertion if the input image is not colormapped. * RGB: Fix memory leak. * SegmentImage(): Fix possible use of NULL pointer. * SetImageProfile(): Fix possible assertion failure. * SGI: Check for EOF while reading SGI file header. * SUN: Fix memory leak. * TIFF: Fix possible use of NULL pointer. Fix memory leaks in writer. * TIM: Fix memory leak. * TOPOL: Fix possible use of NULL pointer. Fix memory leaks. * VIFF: Fix memory leak. * WEBP: Detect partial write to output file. * WPG: Fix possible use of null pointer. Fix excessive use of disk resources due to insufficient validations. * WriteImage(): Restore use of GetBlobStatus() to test if an I/O error was encountered while writing output file. This assures that I/O failure in writers which do not themselves verify writes is assured to be reported. * WMF: Memory use after free issues eliminated. * YUV: Fix memory leaks. New Features: * PNG: Implemented eXIf chunk support. * WEBP: Add support for EXIF and ICC metadata provided that at least libwebp 0.5.0 is used. * Magick++ Image autoOrient(): New Image method to auto-orient an image so it looks right-side up by default. Windows Delegate Updates/Additions: * Libtiff is updated to libtiff 4.0.9. Build Changes: * JPEG/PNG: The SETJMP_IS_THREAD_SAFE definition is used to determine if setjmp/longjmp are thread safe. If these interfaces are thread safe, then concurrent reads/writes are possible. This definition is false for Solaris but true for Linux. JPEG and PNG will be fully concurrent if this definition is enabled. Behavior Changes: * PALM: PALM writer is disabled. * ThrowLoggedException(): Capture the first exception at ErrorException level or greater, or only capture exception if it is more severe than an already reported exception. * DestroyJNG(): This internal function is now declared static and is removed from shared library or DLL namespace.
2017-12-19 09:09:29 +01:00
CONFIGURE_ARGS+= --with-gs-font-dir=${PREFIX}/share/fonts/urw
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
CONFIGURE_ARGS+= --with-ltdl-include=${BUILDLINK_PREFIX.libltdl}/include
CONFIGURE_ARGS+= --with-ltdl-lib=${BUILDLINK_PREFIX.libltdl}/lib
CONFIGURE_ARGS+= --without-perl
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
PKGCONFIG_OVERRIDE+= magick/GraphicsMagick.pc.in
PKGCONFIG_OVERRIDE+= wand/GraphicsMagickWand.pc.in
PKGCONFIG_OVERRIDE+= Magick++/lib/GraphicsMagick++.pc.in
Update GraphicsMagick to 1.1.10. Significant changes associated with GraphicsMagick 1.1.10 (released September 19 , 2007) Bugs Fixed: o Image rotate by -90/270 degrees was producing wrong output. Significant changes associated with GraphicsMagick 1.1.9 (released September 16, 2007) Bugs Fixed: o In mogrify command, don't remove file name based on random junk in memory. o Fixed memory leak when reading MPC files. o Fixed crash when writing MIFF format and depth is not expected 8/16/32/. o Find latest Ghostscript under Windows which identifies itself as "GPL Ghostscript". o In mogrify command, don't leak memory in the case where the image file contains multiple frames. o Fixed crash in PNG and JPEG coders when the image to be written is part of an image list. o PNG reader errors are now properly reported to the user. o TIFF output can now be written to a pipe or other non-seekable destination. o Support writing PDF with CCITT compression. Feature Improvements o Added a new 'benchmark' command which can be used to perform benchmarking on any other command. o Image rotate in clockwise (90 degrees) or counter-clockwise (270 degrees) direction is now 2-9X faster than before. o The -version option now includes a list of supported features. o For Windows MinGW-based build, find Ghostscript fonts installed under C:/Program Files/. Significant changes associated with GraphicsMagick 1.1.8 (released July 28, 2007) Security Fixes: o Shell command injection via delegates subsystem (CVE-2005-4601). o Insecure use of filenames as a "sprintf" specification (CVE-2006-0082). o EXIF IFD stack overflow vulnerability. o BMP format: Verify seek before proceeding. o DCM format: Buffer overflow prevention (CVE-2006-5456). o DCM format: Integer overflow prevention (CVE-2007-1797). o PALM format: Heap overflow prevention (CVE-2006-5456). o SGI format: Fixes for RLE decoding issue (CVE-2006-4144). o XCF format: Buffer overflow prevention, infinite loop prevention. Bugs Fixed: o Typo when searching for HTMLDecodeDelegate. o Avoid crash if delegate program fails to return an image. o EXIF memory leak fixes. o Command parser memory leak fixes. o Deadlock fix for event log initialization. o Work with latest Ghostscript "GPL Ghostscript" under Windows. o 'gm import' now returns image of appropriate depth. o Fixed memory map resource managment. o Fixed includedir variable in pkg-config files. o Fixed validation of -affine argument. o Fixed bug where fseeko() and ftello() were not used when available. o Fixed issue when pread() and pwrite() prototypes are missing. o Fixed pixel cache issues when size_t is an unsigned type. o Fixed dcraw delegate options to work with modern dcraw. o Fixed -level argument parsing to allow embedded % characters. o Fix for segfault in InitializeMagick(NULL). o Fix for segfault in ModifyCache(). o Fix for Wand MagickGetQuantumDepth() interface. o Fix for GrayscalePseudoClassImage() on 64-bit systems. o Fix for MagickReallocMemory memory leak under certain error conditions. o Validate BLOB access range. o ICON format: Segfault fix. o JPEG format: Fixed reading 12-bit grayscale JPEG. o MAT format: Stability improvements. o MIFF format: Handle a compression value of 'None'. o PCX format: Segfault fix. Heap overflow fix. o PDF format: Fixed writing with JPEG compression. o PICT format: Segfault fix. o PNG format: Fixed compile problem with some libpng versions. Segfault fix. o PNM format: Fixed scaling problem due to rounding error. Validate scaling. o PSD format: Fixed memory leak with layerd PSD files. o SGI format: Handle 16-bit SGI image files correctly. o SUN format: Segfault fix. o TIFF format: Secure error reporting. Finally support LZW under Windows. o WPG format: Fixed crash with clip-art WPG files. o XWD format: Fix for integer under/overflow. Feature Improvements o CIN format: Implementation is entirely replaced. o MAT format: Support Byte and Word formats, as well as big/little endian. o WPG format: Support for CTM translation. Updates: o JasPer is updated to version 1.900.1. o Jbigkit is updated to version 1.6 o Lcms is updated to version 1.16 o Libpng is updated to version 1.2.18 o Libtiff is updated to version 3.8.2.
2007-10-14 14:25:15 +02:00
TEST_TARGET= check
.include "options.mk"
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-20 11:19:29 +01:00
.include "../../archivers/bzip2/buildlink3.mk"
.include "../../archivers/xz/buildlink3.mk"
.include "../../archivers/zstd/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
.include "../../graphics/jbigkit/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
Changes 1.3.17: Security Fixes: * PNG: Fix for CVE-2012-3438. The Magick_png_malloc function in coders/png.c in GraphicsMagick 6.7.8-6 does not use the proper variable type for the allocation size, which might allow remote attackers to cause a denial of service (crash) via a crafted PNG file that triggers incorrect memory allocation. * Automake (derived): Fix for CVE-2012-3386: The "make distcheck" rule in GNU Automake before 1.11.6 and 1.12.x before 1.12.2 grants world-writable permissions to the extraction directory, which introduces a race condition that allows local users to execute arbitrary code via unspecified vectors. Bug fixes: * PNG: Reading sub-8-bit palette images is fixed (images looked stretched). * SVG: Fixed bug which allowed MVG and SVG files with long vector paths to crash the software. * SVG: Ignore XML headers rather than rendering them as text. * MVG/SVG/WMF/-draw: It is now possible to draw a plain ',' character. * WMF: Fixed a bug which caused wrong centered-text placement. * import: Return status was inverted. * configure: Don't force that liblzma is used just because libtiff is used. New Features: * The configure script now supports a --enable-quantum-library-names option to enable that shared library name includes quantum depth to allow shared libraries with different quantum depths to co-exist in same directory (only one can be used for development). * JNX: Support is added for reading the Garmin proprietary Image Format. * BMP: Support an alpha channel in uncompressed 32-bit BMP. Feature improvements: * -lat: The adaptive threshold algorithm is replaced with a new algorithm which scales linearly (rather than quadratically) with area size. * Tests: Test suite is re-written to use TAP-based tests. * GIF: Reader tries to be better at detecting and reporting failures. Performance Improvements: * -lat: Adaptive threshold is much faster with large area sizes. Windows Delegate Updates: * Dcraw 9.16 is now included in the build (with JPEG and JPEG2000 support). * Libxml2 is updated to the 2.9.0 release. * Libtiff is updated to the 4.0.3 release. * Lcms2 is updated to the 2.4 release. * Libpng is updated to the 1.5.13 release. Behavior Changes: * Loading modules is only supported for the modules build. Previously any build using shared libraries could load modules. * Bundled libltdl is now configured as 'installable' rather than 'convenience'. * -enhance: Only filter based on color channels (ignore opacity). * BrowseDelegate: Web browser (for viewing help information) now defaults to 'xdg-open', but if it is not found, then configure will search for firefox, google-chrome, mozilla (in that order).
2012-11-03 21:45:46 +01:00
.include "../../graphics/lcms2/buildlink3.mk"
.include "../../graphics/libwebp/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"