diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py index daf89aed16b368af357c21e3d42f1b1a4a1535eb..5ce6bfd0cc9b3492754de3e4dfc574e4011ab5e8 100644 --- a/var/spack/repos/builtin/packages/m4/package.py +++ b/var/spack/repos/builtin/packages/m4/package.py @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack import * +import re class M4(AutotoolsPackage, GNUMirrorPackage): @@ -32,6 +32,18 @@ class M4(AutotoolsPackage, GNUMirrorPackage): build_directory = 'spack-build' + executables = ['^g?m4$'] + + @classmethod + def determine_version(cls, exe): + # Output on macOS: + # GNU M4 1.4.6 + # Output on Linux: + # m4 (GNU M4) 1.4.18 + output = Executable(exe)('--version', output=str, error=str) + match = re.search(r'GNU M4\)?\s+(\S+)', output) + return match.group(1) if match else None + def configure_args(self): spec = self.spec args = ['--enable-c++']