mercury: add v2.3.0 (#38279)
* fix Boost dependency * fix testing and move psm2/sockets as unsupported * fix style to separate maintainers/tags/version
This commit is contained in:
parent
8db5fecdf5
commit
92593fecd5
1 changed files with 9 additions and 13 deletions
|
@ -3,7 +3,6 @@
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
from spack.package import *
|
from spack.package import *
|
||||||
from spack.pkg.builtin.boost import Boost
|
|
||||||
|
|
||||||
|
|
||||||
class Mercury(CMakePackage):
|
class Mercury(CMakePackage):
|
||||||
|
@ -14,8 +13,11 @@ class Mercury(CMakePackage):
|
||||||
git = "https://github.com/mercury-hpc/mercury.git"
|
git = "https://github.com/mercury-hpc/mercury.git"
|
||||||
|
|
||||||
maintainers("soumagne")
|
maintainers("soumagne")
|
||||||
|
|
||||||
tags = ["e4s"]
|
tags = ["e4s"]
|
||||||
|
|
||||||
version("master", branch="master", submodules=True)
|
version("master", branch="master", submodules=True)
|
||||||
|
version("2.3.0", sha256="e9e62ce1bb2fd482f0e85ad75fa255d9750c6fed50ba441a03de93b3b8eae742")
|
||||||
version("2.2.0", sha256="e66490cf63907c3959bbb2932b5aaf51d96a481b17f0935f409f3a862eff97f6")
|
version("2.2.0", sha256="e66490cf63907c3959bbb2932b5aaf51d96a481b17f0935f409f3a862eff97f6")
|
||||||
version("2.1.0", sha256="9a58437161e9273b1b1c484d2f1a477a89eea9afe84575415025d47656f3761b")
|
version("2.1.0", sha256="9a58437161e9273b1b1c484d2f1a477a89eea9afe84575415025d47656f3761b")
|
||||||
version("2.0.1", sha256="335946d9620ac669643ffd9861a5fb3ee486834bab674b7779eaac9d6662e3fa")
|
version("2.0.1", sha256="335946d9620ac669643ffd9861a5fb3ee486834bab674b7779eaac9d6662e3fa")
|
||||||
|
@ -59,17 +61,9 @@ class Mercury(CMakePackage):
|
||||||
depends_on("libfabric@1.7:", when="@2.1.0:")
|
depends_on("libfabric@1.7:", when="@2.1.0:")
|
||||||
# openpa dependency is removed in 2.1.0
|
# openpa dependency is removed in 2.1.0
|
||||||
depends_on("openpa@1.0.3:", when="@:2.0.1%gcc@:4.8")
|
depends_on("openpa@1.0.3:", when="@:2.0.1%gcc@:4.8")
|
||||||
|
# We only need Boost preprocessor headers
|
||||||
depends_on("boost@1.48:", when="+boostsys")
|
depends_on("boost@1.48:", when="+boostsys")
|
||||||
|
|
||||||
# TODO: replace this with an explicit list of components of Boost,
|
|
||||||
# for instance depends_on('boost +filesystem')
|
|
||||||
# See https://github.com/spack/spack/pull/22303 for reference
|
|
||||||
depends_on(Boost.with_default_variants, when="+boostsys")
|
|
||||||
depends_on("boost", when="@:0.9") # internal boost headers were added in 1.0.0
|
depends_on("boost", when="@:0.9") # internal boost headers were added in 1.0.0
|
||||||
# TODO: replace this with an explicit list of components of Boost,
|
|
||||||
# for instance depends_on('boost +filesystem')
|
|
||||||
# See https://github.com/spack/spack/pull/22303 for reference
|
|
||||||
depends_on(Boost.with_default_variants, when="@:0.9")
|
|
||||||
depends_on("ucx+thread_multiple", when="+ucx")
|
depends_on("ucx+thread_multiple", when="+ucx")
|
||||||
|
|
||||||
# Fix CMake check_symbol_exists
|
# Fix CMake check_symbol_exists
|
||||||
|
@ -91,7 +85,6 @@ def cmake_args(self):
|
||||||
|
|
||||||
cmake_args = [
|
cmake_args = [
|
||||||
define_from_variant("BUILD_SHARED_LIBS", "shared"),
|
define_from_variant("BUILD_SHARED_LIBS", "shared"),
|
||||||
define("BUILD_TESTING", self.run_tests),
|
|
||||||
define("MERCURY_USE_BOOST_PP", True),
|
define("MERCURY_USE_BOOST_PP", True),
|
||||||
define_from_variant("MERCURY_USE_CHECKSUMS", "checksum"),
|
define_from_variant("MERCURY_USE_CHECKSUMS", "checksum"),
|
||||||
define("MERCURY_USE_SYSTEM_MCHECKSUM", False),
|
define("MERCURY_USE_SYSTEM_MCHECKSUM", False),
|
||||||
|
@ -101,6 +94,9 @@ def cmake_args(self):
|
||||||
define_from_variant("NA_USE_SM", "sm"),
|
define_from_variant("NA_USE_SM", "sm"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if "@2.3.0:" in spec:
|
||||||
|
cmake_args.append(define("BUILD_TESTING_UNIT", self.run_tests))
|
||||||
|
|
||||||
if "@2.2.0:" in spec:
|
if "@2.2.0:" in spec:
|
||||||
cmake_args.extend(
|
cmake_args.extend(
|
||||||
[
|
[
|
||||||
|
@ -147,7 +143,7 @@ def cmake_args(self):
|
||||||
if "gni" in ofi_fabrics:
|
if "gni" in ofi_fabrics:
|
||||||
cmake_args.append(define_from_variant("NA_OFI_GNI_USE_UDREG", "udreg"))
|
cmake_args.append(define_from_variant("NA_OFI_GNI_USE_UDREG", "udreg"))
|
||||||
if self.run_tests:
|
if self.run_tests:
|
||||||
supported = ["sockets", "tcp", "verbs", "psm2", "gni"]
|
supported = ["tcp", "verbs", "gni", "cxi"]
|
||||||
ofi_test_fabrics = list(filter(lambda x: x in supported, ofi_fabrics))
|
ofi_test_fabrics = list(filter(lambda x: x in supported, ofi_fabrics))
|
||||||
cmake_args.append(
|
cmake_args.append(
|
||||||
define("NA_OFI_TESTING_PROTOCOL", format(";".join(ofi_test_fabrics)))
|
define("NA_OFI_TESTING_PROTOCOL", format(";".join(ofi_test_fabrics)))
|
||||||
|
@ -158,5 +154,5 @@ def cmake_args(self):
|
||||||
def check(self):
|
def check(self):
|
||||||
"""Unit tests fail when run in parallel."""
|
"""Unit tests fail when run in parallel."""
|
||||||
|
|
||||||
with working_dir(self.build_directory):
|
with working_dir(self.builder.build_directory):
|
||||||
make("test", parallel=False)
|
make("test", parallel=False)
|
||||||
|
|
Loading…
Reference in a new issue