diff --git a/spack.yaml b/spack.yaml index f87e73c8b452d0348a2cc2e0926c1b60c986fe73..ed2325a25651d8e992800989fd73bf96b66143bc 100644 --- a/spack.yaml +++ b/spack.yaml @@ -20,6 +20,7 @@ spack: - heppdt@2.06.01 - igprof@5.9.16 - imagemagick@7.0.8-7 + - jana2@2.0.5 +root +zmq - madx@5.08.01 - mesa@22.0.2 +glx -llvm +opengl +opengles +osmesa - nlohmann-json@3.10.5 diff --git a/spack/packages/jana2/package.py b/spack/packages/jana2/package.py new file mode 100644 index 0000000000000000000000000000000000000000..39ed5cfb2138582da6f782ff727cb50f9531161e --- /dev/null +++ b/spack/packages/jana2/package.py @@ -0,0 +1,57 @@ +# Copyright 2013-2020 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 import * + + +class Jana2(CMakePackage): + """Multi-threaded HENP Event Reconstruction.""" + + homepage = "https://jeffersonlab.github.io/JANA2/" + url = "https://github.com/JeffersonLab/JANA2/archive/v2.0.3.tar.gz" + list_url = "https://github.com/JeffersonLab/JANA2/releases" + git = "https://github.com/JeffersonLab/JANA2.git" + + maintainer = ["wdconinc"] + + tags = ['eic'] + + version('2.0.5', sha256='2e7297dfb0bd7f4a2f2fa3bca6b1c10b2553d321dec6060e48b0d75a5ed6717d') + version('2.0.4', sha256='848adffcb881beb7835d01ce47a58991bb4f92664c9477196960ce8cfd94a3ca') + version('2.0.3', sha256='fd34c40e2d6660ec08aca9208999dd9c8fe17de21c144ac68b6211070463e415') + version('2.0.2', sha256='161d29c2b1efbfb36ec783734b45dff178b0c6bd77a2044d5a8829ba5b389b14') + version('2.0.1', sha256='1471cc9c3f396dc242f8bd5b9c8828b68c3c0b72dbd7f0cfb52a95e7e9a8cf31') + + variant('root', + default=False, + description='Use ROOT for janarate.') + variant('zmq', + default=False, + description='Use zeroMQ for janacontrol.') + + depends_on('cmake@3.9:', type='build') + depends_on('cppzmq', when='+zmq') + depends_on('root', when='+root') + depends_on('xerces-c') + + def cmake_args(self): + args = [] + # ZeroMQ directory + if '+zmq' in self.spec: + args.append('-DZEROMQ_DIR=%s' + % self.spec['cppzmq'].prefix) + # C++ Standard + if '+root' in self.spec: + args.append('-DCMAKE_CXX_STANDARD=%s' + % self.spec['root'].variants['cxxstd'].value) + else: + args.append('-DCMAKE_CXX_STANDARD=11') + + return args + + def setup_run_environment(self, env): + import os + env.append_path('JANA_PLUGIN_PATH', os.path.join(self.prefix, 'plugins')) + env.set('JANA_HOME', self.prefix)