grep: add executables attribute and determine_version method (#47438)

This commit is contained in:
Mosè Giordano 2024-11-18 17:30:46 -05:00 committed by GitHub
parent 50f43ca71d
commit d0fd112006
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,6 +2,8 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import re
from spack.package import *
@ -14,6 +16,8 @@ class Grep(AutotoolsPackage):
license("GPL-3.0-or-later")
executables = ["^grep$"]
version("3.11", sha256="1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab")
version("3.10", sha256="24efa5b595fb5a7100879b51b8868a0bb87a71c183d02c4c602633b88af6855b")
version("3.9", sha256="abcd11409ee23d4caf35feb422e53bbac867014cfeed313bb5f488aca170b599")
@ -29,6 +33,14 @@ class Grep(AutotoolsPackage):
depends_on("pcre2", when="@3.8:+pcre")
depends_on("pcre", when="@:3.7+pcre")
@classmethod
def determine_version(cls, exe):
output = Executable(exe)("--version", output=str, error=str)
# Example output:
# grep (GNU grep) 3.11
match = re.search(r"^grep \(GNU grep\) ([0-9.]+)", output)
return match.group(1) if match else None
def configure_args(self):
args = []