pkgsrc/graphics/p5-GraphicsMagick/Makefile

32 lines
1,019 B
Makefile
Raw Normal View History

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
# $NetBSD: Makefile,v 1.42 2018/11/20 10:19:29 adam Exp $
.include "../../graphics/GraphicsMagick/Makefile.common"
PKGNAME= p5-GraphicsMagick-${DISTVERSION}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.graphicsmagick.org/perl.html
COMMENT= Object-oriented Perl interface to GraphicMagick
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
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
PERL5_CONFIGURE= no
PERL5_CONFIGURE_DIRS= ${WRKSRC}/PerlMagick
PERL5_PACKLIST= auto/Graphics/Magick/.packlist
BUILD_DIRS= ${PERL5_CONFIGURE_DIRS}
post-configure: perl5-configure
SUBST_CLASSES+= libdir
SUBST_STAGE.libdir= pre-configure
SUBST_SED.libdir= -e 's|@MAGICKLIBDIR@|${BUILDLINK_PREFIX.GraphicsMagick}/lib ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.GraphicsMagick}/lib|g'
SUBST_FILES.libdir= PerlMagick/Makefile.PL.in
BUILDLINK_API_DEPENDS.GraphicsMagick+= GraphicsMagick>=${DISTVERSION}
.include "../../graphics/GraphicsMagick/buildlink3.mk"
.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"