summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2024-08-26 06:37:35 -0500
committerGitHub <noreply@github.com>2024-08-26 13:37:35 +0200
commita5436b39626a7de74bf6656ad58d41963e28236c (patch)
treec1056b386978e27c5b75b1802904065650f51977
parenta8e25193e0908e12f12930ff3f7afb2cf56d0943 (diff)
downloadspack-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.py20
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"""