From 00ae96a7cb6babfd8c383832e6a59d7b75311cca Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 18 Jul 2024 05:46:39 -0600 Subject: [PATCH] libmesh: add v1.7.1, and fixes (#45292) * libmesh: add missing v1.7.1 release * libmesh: avoid pulling in petsc if only +mpi or +metis is given * libmesh: add shared variant Co-authored-by: rbberger --- var/spack/repos/builtin/packages/libmesh/package.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py index 6f262646144..f7e1980d2da 100644 --- a/var/spack/repos/builtin/packages/libmesh/package.py +++ b/var/spack/repos/builtin/packages/libmesh/package.py @@ -20,6 +20,7 @@ class Libmesh(AutotoolsPackage): version("master", branch="master", submodules=True) + version("1.7.1", sha256="0387d62773cf92356eb128ba92f767e56c298d78f4b97446e68bf288da1eb6b4") version("1.4.1", sha256="67eb7d5a9c954d891ca1386b70f138333a87a141d9c44213449ca6be69a66414") version("1.4.0", sha256="62d7fce89096c950d1b38908484856ea63df57754b64cde6582e7ac407c8c81d") version("1.3.1", sha256="638cf30d05c249315760f16cbae4804964db8857a04d5e640f37617bef17ab0f") @@ -119,6 +120,7 @@ class Libmesh(AutotoolsPackage): values=("none", "pthreads", "tbb", "openmp"), multi=False, ) + variant("shared", default=True, description="Enables the build of shared libraries") conflicts( "+metaphysicl", @@ -140,8 +142,8 @@ class Libmesh(AutotoolsPackage): depends_on("mpi", when="+slepc") # compilation dependencies depend on perl depends_on("perl") - depends_on("petsc+mpi", when="+mpi") - depends_on("petsc+metis", when="+metis") + depends_on("petsc+mpi", when="+petsc+mpi") + depends_on("petsc+metis", when="+petsc+metis") depends_on("slepc", when="+slepc") depends_on("petsc", when="+petsc") depends_on("tbb", when="threads=tbb") @@ -150,6 +152,11 @@ class Libmesh(AutotoolsPackage): def configure_args(self): options = [] + if "+shared" in self.spec: + options.extend(["--enable-shared", "--disable-static"]) + else: + options.extend(["--disable-shared", "--enable-static"]) + # GLIBCXX debugging is not, by default, supported by other libraries, # so unconditionally disable it for libmesh options.append("--enable-glibcxx-debugging=no")