From cbbf5791bade31cfaab0da9104582955eead5411 Mon Sep 17 00:00:00 2001
From: Denis Davydov <davydden@gmail.com>
Date: Sat, 11 Feb 2017 01:05:07 +0100
Subject: [PATCH] numdiff: update dependencies and fix (#3061)

compile with -O0 as per upstream known issue with optimization and GMP,
according to Ubuntu folks.
---
 .../repos/builtin/packages/numdiff/package.py | 34 +++++++++++++++++--
 1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/var/spack/repos/builtin/packages/numdiff/package.py b/var/spack/repos/builtin/packages/numdiff/package.py
index 0a912d3db9..64ba565032 100644
--- a/var/spack/repos/builtin/packages/numdiff/package.py
+++ b/var/spack/repos/builtin/packages/numdiff/package.py
@@ -23,7 +23,6 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
 from spack import *
-import sys
 
 
 class Numdiff(AutotoolsPackage):
@@ -34,6 +33,35 @@ class Numdiff(AutotoolsPackage):
     homepage  = 'https://www.nongnu.org/numdiff'
     url       = 'http://nongnu.askapache.com/numdiff/numdiff-5.8.1.tar.gz'
 
-    version('5.8.1',    'a295eb391f6cb1578209fc6b4f9d994e')
+    version('5.8.1', 'a295eb391f6cb1578209fc6b4f9d994e')
 
-    depends_on('gettext', when=sys.platform == 'darwin')
+    variant('nls', default=False,
+            description="Enable Natural Language Support")
+    variant('gmp', default=False,
+            description="Use GNU Multiple Precision Arithmetic Library")
+
+    depends_on('gettext', when='+nls')
+    depends_on('gmp', when='+gmp')
+
+    def configure_args(self):
+        spec = self.spec
+        args = []
+        if '+nls' in spec:
+            args.append('--enable-nls')
+        else:
+            args.append('--disable-nls')
+
+        if '+gmp' in spec:
+            # compile with -O0 as per upstream known issue with optimization
+            # and GMP; https://launchpad.net/ubuntu/+source/numdiff/+changelog
+            # http://www.nongnu.org/numdiff/#issues
+            # keep this variant off by default as one still encounter
+            # GNU MP: Cannot allocate memory (size=2305843009206983184)
+            args.extend([
+                '--enable-gmp',
+                'CFLAGS=-O0'
+            ])
+        else:
+            args.append('--disable-gmp')
+
+        return args
-- 
GitLab