summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/orca/package.py48
1 files changed, 10 insertions, 38 deletions
diff --git a/var/spack/repos/builtin/packages/orca/package.py b/var/spack/repos/builtin/packages/orca/package.py
index d5c111c818..6b7c93c32a 100644
--- a/var/spack/repos/builtin/packages/orca/package.py
+++ b/var/spack/repos/builtin/packages/orca/package.py
@@ -18,64 +18,36 @@ class Orca(Package):
set up a mirror, see https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://cec.mpg.de"
- url = "file://{0}/orca_4_0_1_2_linux_x86-64_openmpi202.tar.zst".format(os.getcwd())
maintainers("snehring")
manual_download = True
license("LGPL-2.1-or-later")
- version(
- "5.0.3",
- sha256="b8b9076d1711150a6d6cb3eb30b18e2782fa847c5a86d8404b9339faef105043",
- url="file://{0}/orca_5_0_3_linux_x86-64_shared_openmpi411.tar.xz".format(os.getcwd()),
- )
- version(
- "4.2.1",
- sha256="9bbb3bfdca8220b417ee898b27b2885508d8c82799adfa63dde9e72eab49a6b2",
- expand=False,
- )
- version(
- "4.2.0",
- sha256="55a5ca5aaad03396ac5ada2f14b61ffa735fdc2d98355e272465e07a6749d399",
- expand=False,
- )
- version(
- "4.0.1.2",
- sha256="cea442aa99ec0d7ffde65014932196b62343f7a6191b4bfc438bfb38c03942f7",
- expand=False,
- )
+ version("5.0.3", sha256="b8b9076d1711150a6d6cb3eb30b18e2782fa847c5a86d8404b9339faef105043")
+ version("4.2.1", sha256="a84b6d2706f0ddb2f3750951864502a5c49d081836b00164448b1d81c577f51a")
+ version("4.2.0", sha256="01096466e41a5232e5a18af7400e48c02a6e489f0d5d668a90cdd2746e8e22e2")
- depends_on("zstd", when="@:4.2.1", type="build")
depends_on("libevent", type="run")
depends_on("libpciaccess", type="run")
# Map Orca version with the required OpenMPI version
- openmpi_versions = {"4.0.1.2": "2.0.2", "4.2.0": "3.1.4", "4.2.1": "3.1.4", "5.0.3": "4.1.2"}
+ # OpenMPI@4.1.1 has issues in pmix environments, hence 4.1.2 here
+ openmpi_versions = {"4.2.0": "3.1.4", "4.2.1": "3.1.4", "5.0.3": "4.1.2"}
for orca_version, openmpi_version in openmpi_versions.items():
depends_on(
"openmpi@{0}".format(openmpi_version), type="run", when="@{0}".format(orca_version)
)
def url_for_version(self, version):
- out = "file://{0}/orca_{1}_linux_x86-64_openmpi{2}.tar.zst"
- return out.format(os.getcwd(), version.underscored, self.openmpi_versions[version.string])
+ openmpi_version = self.openmpi_versions[str(version.dotted)].replace(".", "")
+ if openmpi_version == "412":
+ openmpi_version = "411"
+ return f"file://{os.getcwd()}/orca_{version.underscored}_linux_x86-64_shared_openmpi{openmpi_version}.tar.xz"
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if self.spec.satisfies("@:4.2.1"):
- vername = os.path.basename(self.stage.archive_file).split(".")[0]
-
- zstd = which("zstd")
- zstd("-d", self.stage.archive_file, "-o", vername + ".tar")
-
- tar = which("tar")
- tar("-xvf", vername + ".tar")
-
- # there are READMEs in there but they don't hurt anyone
- install_tree(vername, prefix.bin)
- else:
- install_tree(".", prefix.bin)
+ install_tree(".", prefix.bin)
# Check "mpirun" usability when building against OpenMPI
# with Slurm scheduler and add a "mpirun" wrapper that