diff --git a/var/spack/repos/builtin/packages/numdiff/package.py b/var/spack/repos/builtin/packages/numdiff/package.py
index 0a912d3db98355e27b2b34295d2a0665265b4adf..64ba565032ce207004b8652bc9080a2b2a7c90e5 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