diff options
author | Wouter Deconinck <wdconinc@gmail.com> | 2024-08-26 06:37:35 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-26 13:37:35 +0200 |
commit | a5436b39626a7de74bf6656ad58d41963e28236c (patch) | |
tree | c1056b386978e27c5b75b1802904065650f51977 | |
parent | a8e25193e0908e12f12930ff3f7afb2cf56d0943 (diff) | |
download | spack-a5436b39626a7de74bf6656ad58d41963e28236c.tar.gz spack-a5436b39626a7de74bf6656ad58d41963e28236c.tar.bz2 spack-a5436b39626a7de74bf6656ad58d41963e28236c.tar.xz spack-a5436b39626a7de74bf6656ad58d41963e28236c.zip |
R: external detection (#46023)
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
-rw-r--r-- | var/spack/repos/builtin/packages/r/package.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/r/package.py b/var/spack/repos/builtin/packages/r/package.py index a21ac6ac84..a2d0f01517 100644 --- a/var/spack/repos/builtin/packages/r/package.py +++ b/var/spack/repos/builtin/packages/r/package.py @@ -20,6 +20,8 @@ class R(AutotoolsPackage): extendable = True + executables = ["^R$"] + license("GPL-2.0-or-later") version("4.4.1", sha256="b4cb675deaaeb7299d3b265d218cde43f192951ce5b89b7bb1a5148a36b2d94d") @@ -127,6 +129,24 @@ class R(AutotoolsPackage): build_directory = "spack-build" + @classmethod + def determine_version(cls, exe): + output = Executable(exe)("--version", output=str, error=str) + # R version 4.3.3 (2024-02-29) -- "Angel Food Cake" + match = re.search(r"^R version ([^\s]+)", output) + return match.group(1) if match else None + + @classmethod + def determine_variants(cls, exes, version): + variants = [] + for exe in exes: + output = Executable(exe)("CMD", "config", "--all", output=str, error=str) + + if "-lX11" in output: + variants.append("+X") + + return variants + # R custom URL version def url_for_version(self, version): """Handle R's customed URL versions""" |