From d34b612052db5a1c5cfce75e1107732e22fc297e Mon Sep 17 00:00:00 2001 From: iarspider Date: Fri, 16 Oct 2020 16:10:07 +0200 Subject: [PATCH] diffutils: added support for external detection (#19344) --- var/spack/repos/builtin/packages/diffutils/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/var/spack/repos/builtin/packages/diffutils/package.py b/var/spack/repos/builtin/packages/diffutils/package.py index d41086113a..41c1101416 100644 --- a/var/spack/repos/builtin/packages/diffutils/package.py +++ b/var/spack/repos/builtin/packages/diffutils/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import re + from spack import * @@ -10,6 +12,8 @@ class Diffutils(AutotoolsPackage, GNUMirrorPackage): """GNU Diffutils is a package of several programs related to finding differences between files.""" + executables = [r'^diff$'] + homepage = "https://www.gnu.org/software/diffutils/" gnu_mirror_path = "diffutils/diffutils-3.7.tar.xz" @@ -24,3 +28,9 @@ def setup_build_environment(self, env): if self.spec.satisfies('%fj'): env.append_flags('CFLAGS', '-Qunused-arguments') + + @classmethod + def determine_version(cls, exe): + output = Executable(exe)('--version', output=str, error=str) + match = re.search(r'diff \(GNU diffutils\) (\S+)', output) + return match.group(1) if match else None