diff options
author | Dennis Klein <d.klein@gsi.de> | 2023-03-24 20:33:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-24 15:33:23 -0400 |
commit | ae504ce2feeb2126d4ecb4098e01a1df1761b39d (patch) | |
tree | cd096df1c673fb70807afa1b560295da18a39c07 /var | |
parent | e4edcf610436ba6d87865763bbc442952ac7d889 (diff) | |
download | spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.tar.gz spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.tar.bz2 spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.tar.xz spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.zip |
fairmq: add new package (#36400)
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/fairmq/package.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/fairmq/package.py b/var/spack/repos/builtin/packages/fairmq/package.py new file mode 100644 index 0000000000..ed854f6e3a --- /dev/null +++ b/var/spack/repos/builtin/packages/fairmq/package.py @@ -0,0 +1,62 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Fairmq(CMakePackage): + """C++ Message Queuing Library and Framework (https://doi.org/10.5281/zenodo.1689985)""" + + homepage = "https://github.com/FairRootGroup/FairMQ" + git = "https://github.com/FairRootGroup/FairMQ.git" + maintainers("dennisklein", "ChristianTackeGSI") + + version("dev", branch="dev", submodules=True, get_full_repo=True) + version( + "1.5.0", + tag="v1.5.0", + commit="c8fde17b6a10a467035590fd800bb693f50c4826", + submodules=True, + no_cache=True, + ) + # no_cache=True is currently needed, because FairMQ's build system + # depends on the git metadata, see also + # https://github.com/spack/spack/issues/19972 + # https://github.com/spack/spack/issues/14344 + + variant( + "build_type", + default="RelWithDebInfo", + values=("Debug", "Release", "RelWithDebInfo"), + multi=False, + description="CMake build type", + ) + variant( + "cxxstd", + default="default", + values=("default", "17", "20"), + multi=False, + description="Use the specified C++ standard when building.", + ) + variant("examples", default=False, description="Build and install usage examples.") + + generator("make", "ninja", default="ninja") + + depends_on("cmake@3.15:", type="build") + depends_on("faircmakemodules", type="build") + depends_on("git", type="build") + + depends_on("boost@1.66: +container+program_options+filesystem+date_time+regex") + depends_on("fairlogger@1.6: +pretty") + depends_on("libzmq@4.1.4:") + + def cmake_args(self): + args = [ + self.define("DISABLE_COLOR", True), + self.define_from_variant("BUILD_EXAMPLES", "examples"), + ] + if self.spec.variants["cxxstd"].value != "default": + args.append(self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd")) + return args |