M gnu-system.am => gnu-system.am +1 -0
@@ 505,6 505,7 @@ dist_patch_DATA = \
gnu/packages/patches/icecat-freetype-2.6.patch \
gnu/packages/patches/icecat-libvpx-1.4.patch \
gnu/packages/patches/icu4c-CVE-2015-4760.patch \
+ gnu/packages/patches/imagemagick-test-segv.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/julia-0.3.10-fix-empty-array.patch \
M gnu/packages/imagemagick.scm => gnu/packages/imagemagick.scm +5 -3
@@ 23,6 23,7 @@
#:use-module (guix build-system perl)
#:use-module (guix download)
#:use-module ((guix licenses) #:select (fsf-free))
+ #:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
@@ 37,14 38,15 @@
(define-public imagemagick
(package
(name "imagemagick")
- (version "6.9.1-3")
+ (version "6.9.2-1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "18wbsjfccxlgsdsd6h9wvhcjrsglyi086jk4bk029ik07rh81laz"))))
+ "159afhqrj22jlz745ccbgnkdiwvn8pjcc96jic0iv9ms7gqxwln5"))
+ (patches (list (search-patch "imagemagick-test-segv.patch")))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ 84,7 86,7 @@
("libxml2" ,libxml2)
("libtiff" ,libtiff)
("libpng" ,libpng)
- ("libjpeg" ,libjpeg-8)
+ ("libjpeg" ,libjpeg)
("pango" ,pango)
("freetype" ,freetype)
("bzip2" ,bzip2)
A gnu/packages/patches/imagemagick-test-segv.patch => gnu/packages/patches/imagemagick-test-segv.patch +20 -0
@@ 0,0 1,20 @@
+This patch works around a segmentation fault in 'Magick++/tests/color' when
+running 'Magick++/tests/tests.tap'. Here we get an exception early on, which
+is supposedly harmless:
+
+ Caught exception: color: UnableToOpenConfigureFile `colors.xml' @ warning/configure.c/GetConfigureOptions/706
+
+However, when the stack unwinders run, 'UnregisterDOTImage' gets called even
+though 'RegisterDOTImage' hadn't been called yet; thus, 'graphic_context' in
+coders/dot.c is NULL, leading to the segfault.
+
+--- ImageMagick-6.9.2-1/coders/dot.c 2015-09-16 17:32:42.900323334 +0200
++++ ImageMagick-6.9.2-1/coders/dot.c 2015-09-16 17:32:48.312367636 +0200
+@@ -240,6 +240,7 @@ ModuleExport void UnregisterDOTImage(voi
+ (void) UnregisterMagickInfo("GV");
+ (void) UnregisterMagickInfo("DOT");
+ #if defined(MAGICKCORE_GVC_DELEGATE)
++ if (graphic_context != NULL)
+ gvFreeContext(graphic_context);
+ #endif
+ }