From 946a80bd3d1b486ff44044f971d4b256a9cdf7fc Mon Sep 17 00:00:00 2001
From: Rao Garimella <rao@lanl.gov>
Date: Wed, 15 Jan 2020 11:32:17 -0700
Subject: [PATCH] New package Jali - unstructured mesh infrastructure for
 multiphysics applications (#14498)

* add variant for enabling testing

* add variant for enabling testing

* enable tests and clean up other options

* enable tests and clean up other options

* add numbered versions

* add numbered versions

* updates to avoid enable_tests variant; correct versioning

* updates to avoid enable_tests variant; correct versioning

* fixes for style

* appropriate partitioners are enabled if 'all' is specified - so no need to check in spec

* revert accidental change to copyright

* remove erroneously re-introduced line about tests

* new spack recipe for build Jali - unstructured mesh infrastructure for multiphysics applications

* remove the +parallel condition for mstk, update 1.1.1 sha256sum and whitespace cleanup

* reformat description

* cut down description
---
 .../repos/builtin/packages/jali/package.py    | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 var/spack/repos/builtin/packages/jali/package.py

diff --git a/var/spack/repos/builtin/packages/jali/package.py b/var/spack/repos/builtin/packages/jali/package.py
new file mode 100644
index 0000000000..cc2e025c88
--- /dev/null
+++ b/var/spack/repos/builtin/packages/jali/package.py
@@ -0,0 +1,56 @@
+# 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 Jali(CMakePackage):
+    """Jali is a parallel, unstructured mesh infrastructure library designed
+    for use by multi-physics simulations.
+    """
+
+    homepage = "https://github.com/lanl/jali"
+    git      = "https://github.com/lanl/jali"
+    url      = "https://github.com/lanl/jali/archive/1.1.1.tar.gz"
+
+    maintainers = ['raovgarimella']
+
+    version('master', branch='master')
+    version('1.1.1', sha256='c96c000b3893ea7f15bbc886524476dd466ae145e77deedc27e412fcc3541207')
+    version('1.1.0', sha256='783dfcd6a9284af83bb380ed257fa8b0757dc2f7f9196d935eb974fb6523c644')
+    version('1.0.5', sha256='979170615d33a7bf20c96bd4d0285e05a2bbd901164e377a8bccbd9af9463801')
+
+    variant('mstk', default=True, description='Enable MSTK')
+
+    # dependencies
+    depends_on('cmake@3.13:', type='build')
+
+    depends_on('mpi')
+
+    depends_on('boost')
+
+    depends_on('mstk@3.3.0: +exodusii+parallel~use_markers partitioner=all', when='+mstk')
+
+    depends_on('zoltan -fortran')
+    depends_on('metis')
+    depends_on('exodusii')
+
+    # Unit testing variant
+    depends_on('unittest-cpp', type='test')
+
+    def cmake_args(self):
+        options = []
+        if '+with_mstk' in self.spec:
+            options.append('-DENABLE_MSTK_Mesh=ON')
+        else:
+            options.append('-DENABLE_MSTK_Mesh=OFF')
+
+        # Unit test variant
+        if self.run_tests:
+            options.append('-DENABLE_Tests=ON')
+        else:
+            options.append('-DENABLE_Tests=OFF')
+
+        return options
-- 
GitLab