Repository: spack/spack

Issue:
ImageMagick fails self-tests
The ImageMagick package runs its self tests by default. These fail on Ubuntu 16.04 when using GCC 6.2, leading to a build failure.

```
PASS: Magick++/tests/tests.tap 1
PASS: Magick++/tests/tests.tap 2
PASS: Magick++/tests/tests.tap 3
PASS: Magick++/tests/tests.tap 4
PASS: Magick++/tests/tests.tap 5
PASS: Magick++/tests/tests.tap 6
PASS: Magick++/tests/tests.tap 7
PASS: Magick++/tests/tests.tap 8
PASS: Magick++/tests/tests.tap 9
FAIL: Magick++/tests/tests.tap 10
PASS: Magick++/tests/tests.tap 11
PASS: Magick++/tests/tests.tap 12
PASS: Magick++/tests/tests.tap 13
PASS: Magick++/demo/demos.tap 1
PASS: Magick++/demo/demos.tap 2
PASS: Magick++/demo/demos.tap 3
PASS: Magick++/demo/demos.tap 4
FAIL: Magick++/demo/demos.tap 5
PASS: Magick++/demo/demos.tap 6
PASS: Magick++/demo/demos.tap 7
PASS: Magick++/demo/demos.tap 8
PASS: Magick++/demo/demos.tap 9
PASS: Magick++/demo/demos.tap 10
PASS: Magick++/demo/demos.tap 11
PASS: Magick++/demo/demos.tap 12
PASS: Magick++/demo/demos.tap 13
PASS: Magick++/demo/demos.tap 14
PASS: Magick++/demo/demos.tap 15
PASS: Magick++/demo/demos.tap 16
PASS: Magick++/demo/demos.tap 17
PASS: Magick++/demo/demos.tap 18
PASS: Magick++/demo/demos.tap 19
PASS: Magick++/demo/demos.tap 20
PASS: Magick++/demo/demos.tap 21
PASS: Magick++/demo/demos.tap 22
PASS: Magick++/demo/demos.tap 23
PASS: Magick++/demo/demos.tap 24
PASS: tests/validate-formats-memory.tap 1
PASS: tests/validate-formats-disk.tap 1
PASS: tests/validate-formats-map.tap 1
============================================================================
Testsuite summary for ImageMagick 7.0.2
============================================================================
# TOTAL: 86
# PASS:  84
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
```



Discussion:
I'm starting to think all self tests will fail on at least one computer. Sorry, that's my fault. We should wrap those in `if self.run_tests` statements.


Resolving patch:
diff --git a/var/spack/repos/builtin/packages/ImageMagick/package.py b/var/spack/repos/builtin/packages/ImageMagick/package.py
--- a/var/spack/repos/builtin/packages/ImageMagick/package.py
+++ b/var/spack/repos/builtin/packages/ImageMagick/package.py
@@ -36,19 +36,22 @@ class Imagemagick(Package):
     version('7.0.2-6', 'aa5689129c39a5146a3212bf5f26d478')
 
     depends_on('jpeg')
+    depends_on('pango')
     depends_on('libtool', type='build')
     depends_on('libpng')
     depends_on('freetype')
     depends_on('fontconfig')
     depends_on('libtiff')
     depends_on('ghostscript')
+    depends_on('ghostscript-fonts')
 
     def url_for_version(self, version):
         return "https://github.com/ImageMagick/ImageMagick/archive/{0}.tar.gz".format(version)
 
     def install(self, spec, prefix):
-        configure('--prefix={0}'.format(prefix))
-
+        gs_font_dir = join_path(spec['ghostscript-fonts'].prefix.share, "font")
+        configure('--prefix={0}'.format(prefix),
+                  '--with-gs-font-dir={0}'.format(gs_font_dir))
         make()
         make('check')
         make('install')
diff --git a/var/spack/repos/builtin/packages/ghostscript-fonts/package.py b/var/spack/repos/builtin/packages/ghostscript-fonts/package.py
new file mode 100644
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ghostscript-fonts/package.py
@@ -0,0 +1,37 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class GhostscriptFonts(Package):
+    """Ghostscript Fonts"""
+
+    homepage = "http://ghostscript.com/"
+    url = "ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ghostscript-fonts-std-8.11.tar.gz"
+
+    version('8.11', '6865682b095f8c4500c54b285ff05ef6')
+
+    def install(self, spec, prefix):
+        install_tree('.', join_path(prefix.share, 'font'))


Test patch: