summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Diener <matthias.diener@gmail.com>2020-11-18 22:45:57 -0600
committerGitHub <noreply@github.com>2020-11-18 22:45:57 -0600
commit932f128bc8cf4dde7dc50cb3fcae7e0c9c8f5d38 (patch)
treebbd61ad0e7d12b08379948092fcfb16bef8c887c
parent95f54195021d3d32dec75bed6d8dbbaeac3d921f (diff)
downloadspack-932f128bc8cf4dde7dc50cb3fcae7e0c9c8f5d38.tar.gz
spack-932f128bc8cf4dde7dc50cb3fcae7e0c9c8f5d38.tar.bz2
spack-932f128bc8cf4dde7dc50cb3fcae7e0c9c8f5d38.tar.xz
spack-932f128bc8cf4dde7dc50cb3fcae7e0c9c8f5d38.zip
charmpp: various fixes (#19956)
* charmpp: various fixes - change URLs to https - address deprecated/renamed versions - make it build with the cmake build system * flake8 * Apply suggestions from code review Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
-rw-r--r--var/spack/repos/builtin/packages/charmpp/package.py33
1 files changed, 23 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/charmpp/package.py b/var/spack/repos/builtin/packages/charmpp/package.py
index 9fbc8573ba..d624fabb9b 100644
--- a/var/spack/repos/builtin/packages/charmpp/package.py
+++ b/var/spack/repos/builtin/packages/charmpp/package.py
@@ -17,11 +17,11 @@ class Charmpp(Package):
allows programs to run portably from small multicore computers
(your laptop) to the largest supercomputers."""
- homepage = "http://charmplusplus.org"
- url = "http://charm.cs.illinois.edu/distrib/charm-6.8.2.tar.gz"
+ homepage = "https://charmplusplus.org"
+ url = "https://charm.cs.illinois.edu/distrib/charm-6.8.2.tar.gz"
git = "https://github.com/UIUC-PPL/charm.git"
- version("develop", branch="master")
+ version("master", branch="master")
version('6.10.2', sha256='7abb4cace8aebdfbb8006eac03eb766897c009cfb919da0d0a33f74c3b4e6deb')
version('6.10.1', sha256='ab96198105daabbb8c8bdf370f87b0523521ce502c656cb6cd5b89f69a2c70a8')
@@ -37,7 +37,7 @@ class Charmpp(Package):
version("6.5.1", sha256="68aa43e2a6e476e116a7e80e385c25c6ac6497807348025505ba8bfa256ed34a")
# Support OpenMPI; see
- # <https://charm.cs.illinois.edu/redmine/issues/1206>
+ # <https://github.com/UIUC-PPL/charm/issues/1206>
# Patch is no longer needed in versions 6.8.0+
patch("mpi.patch", when="@:6.7.1")
@@ -147,17 +147,12 @@ class Charmpp(Package):
("darwin", "x86_64", "mpi"): "mpi-darwin-x86_64",
("darwin", "x86_64", "multicore"): "multicore-darwin-x86_64",
("darwin", "x86_64", "netlrts"): "netlrts-darwin-x86_64",
- ("linux", "i386", "mpi"): "mpi-linux",
- ("linux", "i386", "multicore"): "multicore-linux",
- ("linux", "i386", "netlrts"): "netlrts-linux",
- ("linux", "i386", "uth"): "uth-linux",
("linux", "x86_64", "mpi"): "mpi-linux-x86_64",
("linux", "x86_64", "multicore"): "multicore-linux-x86_64",
("linux", "x86_64", "netlrts"): "netlrts-linux-x86_64",
("linux", "x86_64", "verbs"): "verbs-linux-x86_64",
("linux", "x86_64", "ofi"): "ofi-linux-x86_64",
("linux", "x86_64", "ucx"): "ucx-linux-x86_64",
- ("linux", "x86_64", "uth"): "uth-linux-x86_64",
("linux", "ppc", "mpi"): "mpi-linux-ppc",
("linux", "ppc", "multicore"): "multicore-linux-ppc",
("linux", "ppc", "netlrts"): "netlrts-linux-ppc",
@@ -173,6 +168,21 @@ class Charmpp(Package):
("cnl", "x86_64", "gni"): "gni-crayxc",
("cnl", "x86_64", "mpi"): "mpi-crayxc",
}
+
+ # Some versions were renamed/removed in 6.11
+ if self.spec.version < Version("6.11.0"):
+ versions.update({("linux", "i386", "mpi"): "mpi-linux"})
+ versions.update({("linux", "i386", "multicore"):
+ "multicore-linux"})
+ versions.update({("linux", "i386", "netlrts"): "netlrts-linux"})
+ versions.update({("linux", "i386", "uth"): "uth-linux"})
+ else:
+ versions.update({("linux", "i386", "mpi"): "mpi-linux-i386"})
+ versions.update({("linux", "i386", "multicore"):
+ "multicore-linux-i386"})
+ versions.update({("linux", "i386", "netlrts"):
+ "netlrts-linux-i386"})
+
if (plat, mach, comm) not in versions:
raise InstallError(
"The communication mechanism %s is not supported "
@@ -301,7 +311,10 @@ class Charmpp(Package):
os.rename(tmppath, filepath)
except (IOError, OSError):
pass
- shutil.rmtree(join_path(builddir, "tmp"))
+
+ tmp_path = join_path(builddir, "tmp")
+ if not os.path.islink(tmp_path):
+ shutil.rmtree(tmp_path)
if self.spec.satisfies('@6.9.99'):
# A broken 'doc' link in the prefix can break the build.