summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Klein <d.klein@gsi.de>2023-03-24 20:33:23 +0100
committerGitHub <noreply@github.com>2023-03-24 15:33:23 -0400
commitae504ce2feeb2126d4ecb4098e01a1df1761b39d (patch)
treecd096df1c673fb70807afa1b560295da18a39c07
parente4edcf610436ba6d87865763bbc442952ac7d889 (diff)
downloadspack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.tar.gz
spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.tar.bz2
spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.tar.xz
spack-ae504ce2feeb2126d4ecb4098e01a1df1761b39d.zip
fairmq: add new package (#36400)
-rw-r--r--var/spack/repos/builtin/packages/fairmq/package.py62
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