From 66b451a70d8d89e00baad7614821cb7cc21b3e3c Mon Sep 17 00:00:00 2001 From: Matthew Archer <36638242+ma595@users.noreply.github.com> Date: Thu, 15 Sep 2022 16:11:25 +0100 Subject: Fenicsx v0.5.0 (#32611) * initial commit of 0.5.0 changes * updated dependencies * updated ffcx sha * comment style * llvm compilers * introduce pugixml dependency for 0.5.0: * update compilers to support C++20 features * style fixes * xtensor and xtl not needed for basix 0.5.0 and above * Skip to Basix 0.5.1 The 0.5.1 release removes the C++ build dependency on Python that sneaked into the 0.5.0 build system. * Improve depends on version ranges * More dependency version improvements Co-authored-by: Chris Richardson Co-authored-by: Garth N. Wells --- .../repos/builtin/packages/fenics-basix/package.py | 17 ++++++++++++++--- .../repos/builtin/packages/fenics-dolfinx/package.py | 17 +++++++++++++++-- var/spack/repos/builtin/packages/fenics-ufcx/package.py | 1 + .../repos/builtin/packages/py-fenics-basix/package.py | 7 +++++-- .../repos/builtin/packages/py-fenics-dolfinx/package.py | 6 ++++++ .../repos/builtin/packages/py-fenics-ffcx/package.py | 3 +++ .../repos/builtin/packages/py-fenics-ufl/package.py | 1 + 7 files changed, 45 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/fenics-basix/package.py b/var/spack/repos/builtin/packages/fenics-basix/package.py index a322fb47a6..f47dcb361e 100644 --- a/var/spack/repos/builtin/packages/fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/fenics-basix/package.py @@ -15,18 +15,29 @@ class FenicsBasix(CMakePackage): maintainers = ["mscroggs", "chrisrichardson", "garth-wells"] version("main", branch="main") + version("0.5.1", sha256="69133476ac35f0bd0deccb480676030378c341d7dfb2adaca22cd16b7e1dc1cb") version("0.4.2", sha256="a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f") version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07") version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb") version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") + conflicts( + "%gcc@:9.10", when="@0.5.0:", msg="fenics-basix requires GCC-10 or newer for C++20 support" + ) + conflicts( + "%clang@:9.10", + when="@0.5.0:", + msg="fenics-basix requires Clang-10 or newer for C++20 support", + ) + depends_on("cmake@3.18:", type="build") - depends_on("xtl@0.7.2:") - depends_on("xtensor@0.23.10:") - depends_on("xtensor-blas@0.19.1:") depends_on("blas") depends_on("lapack") + depends_on("xtl@0.7.2:", when="@:0.4.2") + depends_on("xtensor@0.23.10:", when="@:0.4.2") + depends_on("xtensor-blas@0.19.1:", when="@:0.3.0") + @property def root_cmakelists_dir(self): if self.spec.satisfies("@0.4.0:"): diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py index 51a95d9947..9ed3f6fb74 100644 --- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py @@ -15,11 +15,23 @@ class FenicsDolfinx(CMakePackage): maintainers = ["chrisrichardson", "garth-wells", "nate-sime"] version("main", branch="main") + version("0.5.0", sha256="503c70c01a44d1ffe48e052ca987693a49f8d201877652cabbe2a44eb3b7c040") version("0.4.1", sha256="68dcf29a26c750fcea5e02d8d58411e3b054313c3bf6fcbc1d0f08dd2851117f") version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed") version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4") version("0.1.0", sha256="0269379769b5b6d4d1864ded64402ecaea08054c2a5793c8685ea15a59af5e33") + conflicts( + "%gcc@:9.10", + when="@0.5.0:", + msg="fenics-dolfinx requires GCC-10 or newer for C++20 support", + ) + conflicts( + "%clang@:9.10", + when="@0.5.0:", + msg="fenics-dolfinx requires Clang-10 or newer for C++20 support", + ) + # Graph partitioner variants variant( "partitioners", @@ -60,16 +72,17 @@ class FenicsDolfinx(CMakePackage): depends_on("slepc", when="+slepc") depends_on("adios2+mpi", when="+adios2") - depends_on("pugixml", when="@main") + depends_on("pugixml", when="@0.5.0:") depends_on("fenics-ufcx@main", when="@main") + depends_on("fenics-ufcx@0.5.0", when="@0.5.0") depends_on("fenics-ufcx@0.4.2", when="@0.4.1") depends_on("py-fenics-ffcx@0.3.0", type=("build", "run"), when="@0.3.0") depends_on("py-fenics-ffcx@0.2.0", type=("build", "run"), when="@0.2.0") depends_on("py-fenics-ffcx@0.1.0", type=("build", "run"), when="@0.1.0") - depends_on("fenics-basix") depends_on("fenics-basix@main", when="@main") + depends_on("fenics-basix@0.5.1:0.5", when="@0.5.1:0.5") depends_on("fenics-basix@0.4.2", when="@0.4.1") depends_on("fenics-basix@0.3.0", when="@0.3.0") depends_on("fenics-basix@0.2.0", when="@0.2.0") diff --git a/var/spack/repos/builtin/packages/fenics-ufcx/package.py b/var/spack/repos/builtin/packages/fenics-ufcx/package.py index 405cb5f62c..d376ea8115 100644 --- a/var/spack/repos/builtin/packages/fenics-ufcx/package.py +++ b/var/spack/repos/builtin/packages/fenics-ufcx/package.py @@ -18,6 +18,7 @@ class FenicsUfcx(CMakePackage): maintainers = ["ma595"] version("main", branch="main") + version("0.5.0", sha256="3413409e5885e41e220f99e0f95cc817e94c4931143d1f700c6e0c5e1bfad1f6") version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4") root_cmakelists_dir = "cmake" diff --git a/var/spack/repos/builtin/packages/py-fenics-basix/package.py b/var/spack/repos/builtin/packages/py-fenics-basix/package.py index 6a9e879dfc..4699a779c5 100644 --- a/var/spack/repos/builtin/packages/py-fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-basix/package.py @@ -16,12 +16,14 @@ class PyFenicsBasix(PythonPackage): maintainers = ["chrisrichardson", "mscroggs", "garth-wells"] version("main", branch="main") + version("0.5.1", sha256="69133476ac35f0bd0deccb480676030378c341d7dfb2adaca22cd16b7e1dc1cb") version("0.4.2", sha256="a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f") version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07") version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb") version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") depends_on("fenics-basix@main", type=("build", "run"), when="@main") + depends_on("fenics-basix@0.5.1", type=("build", "run"), when="@0.5.1") depends_on("fenics-basix@0.4.2", type=("build", "run"), when="@0.4.2") depends_on("fenics-basix@0.3.0", type=("build", "run"), when="@0.3.0") depends_on("fenics-basix@0.2.0", type=("build", "run"), when="@0.2.0") @@ -30,8 +32,9 @@ class PyFenicsBasix(PythonPackage): depends_on("python@3.7:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("cmake@3.18:", type="build") - depends_on("xtl@0.7.2:", type="build") - depends_on("xtensor@0.23.10:", type="build") depends_on("py-pybind11@2.6.2:", type="build") + depends_on("xtl@0.7.2:", type="build", when="@:0.4.2") + depends_on("xtensor@0.23.10:", type="build", when="@:0.4.2") + build_directory = "python" diff --git a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py index dcf8102f76..3ac1b1d4a5 100644 --- a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py @@ -16,6 +16,7 @@ class PyFenicsDolfinx(PythonPackage): maintainers = ["chrisrichardson", "garth-wells", "nate-sime"] version("main", branch="main") + version("0.5.0", sha256="503c70c01a44d1ffe48e052ca987693a49f8d201877652cabbe2a44eb3b7c040") version("0.4.1", sha256="68dcf29a26c750fcea5e02d8d58411e3b054313c3bf6fcbc1d0f08dd2851117f") version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed") version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4") @@ -28,22 +29,27 @@ class PyFenicsDolfinx(PythonPackage): depends_on("py-setuptools", type="build") depends_on("fenics-dolfinx@main", when="@main") + depends_on("fenics-dolfinx@0.5.0", when="@0.5.0") depends_on("fenics-dolfinx@0.4.1", when="@0.4.1") depends_on("fenics-dolfinx@0.3.0", when="@0.3.0") depends_on("fenics-dolfinx@0.2.0", when="@0.2.0") depends_on("fenics-dolfinx@0.1.0", when="@0.1.0") depends_on("fenics-basix@main", type=("build", "link"), when="@main") + depends_on("fenics-basix@0.5.1:0.5", type=("build", "link"), when="@0.5.0:0.5") depends_on("fenics-basix@0.4.2", type=("build", "link"), when="@0.4.1") depends_on("fenics-basix@0.3.0", type=("build", "link"), when="@0.3.0") depends_on("fenics-basix@0.2.0", type=("build", "link"), when="@0.2.0") depends_on("fenics-basix@0.1.0", type=("build", "link"), when="@0.1.0") + depends_on("py-fenics-ffcx@main", type="run", when="@main") + depends_on("py-fenics-ffcx@0.5.0", type="run", when="@0.5.0") depends_on("py-fenics-ffcx@0.4.2", type="run", when="@0.4.1") depends_on("py-fenics-ffcx@0.3.0", type="run", when="@0.3.0") depends_on("py-fenics-ffcx@0.2.0", type="run", when="@0.2.0") depends_on("py-fenics-ffcx@0.1.0", type="run", when="@0.1.0") depends_on("py-fenics-ufl@main", type="run", when="@main") + depends_on("py-fenics-ufl@2022.2.0", type="run", when="@0.5.0") depends_on("py-fenics-ufl@2022.1.0", type="run", when="@0.4.1") depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1:0.3.99") diff --git a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py index 8b9f4cd622..7c0db9b5e2 100644 --- a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py @@ -15,6 +15,7 @@ class PyFenicsFfcx(PythonPackage): maintainers = ["chrisrichardson", "garth-wells"] version("main", branch="main") + version("0.5.0", sha256="3413409e5885e41e220f99e0f95cc817e94c4931143d1f700c6e0c5e1bfad1f6") version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4") version("0.3.0", sha256="33fa1a0cc5762f360033c25a99ec9462be933f8ba413279e35cd2c3b5c3e6096") version("0.2.0", sha256="562a704163a6427e0341d267e69b8bf55d8f53d673829170b443191577e8d9b6") @@ -28,10 +29,12 @@ class PyFenicsFfcx(PythonPackage): depends_on("py-cffi", type="run") depends_on("py-fenics-ufl@main", type="run", when="@main") + depends_on("py-fenics-ufl@2022.2.0", type="run", when="@0.5.0") depends_on("py-fenics-ufl@2022.1.0", type="run", when="@0.4.2") depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1.0:0.3") depends_on("py-fenics-basix@main", type="run", when="@main") + depends_on("py-fenics-basix@0.5.1:0.5", type="run", when="@0.5.0:0.5") depends_on("py-fenics-basix@0.4.2", type="run", when="@0.4.2") depends_on("py-fenics-basix@0.3.0", type="run", when="@0.3.0") depends_on("py-fenics-basix@0.2.0", type="run", when="@0.2.0") diff --git a/var/spack/repos/builtin/packages/py-fenics-ufl/package.py b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py index 14b8779880..799ac0405b 100644 --- a/var/spack/repos/builtin/packages/py-fenics-ufl/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py @@ -19,6 +19,7 @@ class PyFenicsUfl(PythonPackage): maintainers = ["chrisrichardson", "garth-wells"] version("main", branch="main") + version("2022.2.0", sha256="d6e18e06df5d7a626c3138d49a543914d68186afb6159c4d1a7cd72b2a199b02") version("2022.1.0", sha256="48359903d47fb397900d105fe4a60b459c50bbf9d9da78beb9accb54e4e4acaf") version("2021.1.0", sha256="130fdc09bb7fcd39dcd2618426912b8a25a03431d94575711068b38c666b4337") version("2019.1.0", sha256="46ac0df4e96327be10b9576d2b8fa8b2c4ca62d3c681d407f5718b162d3ca22d") -- cgit v1.2.3-60-g2f50