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)