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 <chris@bpi.cam.ac.uk>
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
This commit is contained in:
Matthew Archer 2022-09-15 16:11:25 +01:00 committed by GitHub
parent 6f15d8ac76
commit 66b451a70d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 45 additions and 7 deletions

View File

@ -15,18 +15,29 @@ class FenicsBasix(CMakePackage):
maintainers = ["mscroggs", "chrisrichardson", "garth-wells"] maintainers = ["mscroggs", "chrisrichardson", "garth-wells"]
version("main", branch="main") version("main", branch="main")
version("0.5.1", sha256="69133476ac35f0bd0deccb480676030378c341d7dfb2adaca22cd16b7e1dc1cb")
version("0.4.2", sha256="a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f") version("0.4.2", sha256="a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f")
version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07") version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07")
version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb") version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb")
version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") 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("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("blas")
depends_on("lapack") 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 @property
def root_cmakelists_dir(self): def root_cmakelists_dir(self):
if self.spec.satisfies("@0.4.0:"): if self.spec.satisfies("@0.4.0:"):

View File

@ -15,11 +15,23 @@ class FenicsDolfinx(CMakePackage):
maintainers = ["chrisrichardson", "garth-wells", "nate-sime"] maintainers = ["chrisrichardson", "garth-wells", "nate-sime"]
version("main", branch="main") version("main", branch="main")
version("0.5.0", sha256="503c70c01a44d1ffe48e052ca987693a49f8d201877652cabbe2a44eb3b7c040")
version("0.4.1", sha256="68dcf29a26c750fcea5e02d8d58411e3b054313c3bf6fcbc1d0f08dd2851117f") version("0.4.1", sha256="68dcf29a26c750fcea5e02d8d58411e3b054313c3bf6fcbc1d0f08dd2851117f")
version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed") version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed")
version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4") version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4")
version("0.1.0", sha256="0269379769b5b6d4d1864ded64402ecaea08054c2a5793c8685ea15a59af5e33") 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 # Graph partitioner variants
variant( variant(
"partitioners", "partitioners",
@ -60,16 +72,17 @@ class FenicsDolfinx(CMakePackage):
depends_on("slepc", when="+slepc") depends_on("slepc", when="+slepc")
depends_on("adios2+mpi", when="+adios2") 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@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("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.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.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("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@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.4.2", when="@0.4.1")
depends_on("fenics-basix@0.3.0", when="@0.3.0") depends_on("fenics-basix@0.3.0", when="@0.3.0")
depends_on("fenics-basix@0.2.0", when="@0.2.0") depends_on("fenics-basix@0.2.0", when="@0.2.0")

View File

@ -18,6 +18,7 @@ class FenicsUfcx(CMakePackage):
maintainers = ["ma595"] maintainers = ["ma595"]
version("main", branch="main") version("main", branch="main")
version("0.5.0", sha256="3413409e5885e41e220f99e0f95cc817e94c4931143d1f700c6e0c5e1bfad1f6")
version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4") version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4")
root_cmakelists_dir = "cmake" root_cmakelists_dir = "cmake"

View File

@ -16,12 +16,14 @@ class PyFenicsBasix(PythonPackage):
maintainers = ["chrisrichardson", "mscroggs", "garth-wells"] maintainers = ["chrisrichardson", "mscroggs", "garth-wells"]
version("main", branch="main") version("main", branch="main")
version("0.5.1", sha256="69133476ac35f0bd0deccb480676030378c341d7dfb2adaca22cd16b7e1dc1cb")
version("0.4.2", sha256="a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f") version("0.4.2", sha256="a54f5e442b7cbf3dbb6319c682f9161272557bd7f42e2b8b8ccef88bc1b7a22f")
version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07") version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07")
version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb") version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb")
version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7")
depends_on("fenics-basix@main", type=("build", "run"), when="@main") 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.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.3.0", type=("build", "run"), when="@0.3.0")
depends_on("fenics-basix@0.2.0", type=("build", "run"), when="@0.2.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("python@3.7:", type=("build", "run"))
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("cmake@3.18:", 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("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" build_directory = "python"

View File

@ -16,6 +16,7 @@ class PyFenicsDolfinx(PythonPackage):
maintainers = ["chrisrichardson", "garth-wells", "nate-sime"] maintainers = ["chrisrichardson", "garth-wells", "nate-sime"]
version("main", branch="main") version("main", branch="main")
version("0.5.0", sha256="503c70c01a44d1ffe48e052ca987693a49f8d201877652cabbe2a44eb3b7c040")
version("0.4.1", sha256="68dcf29a26c750fcea5e02d8d58411e3b054313c3bf6fcbc1d0f08dd2851117f") version("0.4.1", sha256="68dcf29a26c750fcea5e02d8d58411e3b054313c3bf6fcbc1d0f08dd2851117f")
version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed") version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed")
version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4") version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4")
@ -28,22 +29,27 @@ class PyFenicsDolfinx(PythonPackage):
depends_on("py-setuptools", type="build") depends_on("py-setuptools", type="build")
depends_on("fenics-dolfinx@main", when="@main") 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.4.1", when="@0.4.1")
depends_on("fenics-dolfinx@0.3.0", when="@0.3.0") 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.2.0", when="@0.2.0")
depends_on("fenics-dolfinx@0.1.0", when="@0.1.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@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.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.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.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("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@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.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.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.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-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@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@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") depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1:0.3.99")

View File

@ -15,6 +15,7 @@ class PyFenicsFfcx(PythonPackage):
maintainers = ["chrisrichardson", "garth-wells"] maintainers = ["chrisrichardson", "garth-wells"]
version("main", branch="main") version("main", branch="main")
version("0.5.0", sha256="3413409e5885e41e220f99e0f95cc817e94c4931143d1f700c6e0c5e1bfad1f6")
version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4") version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4")
version("0.3.0", sha256="33fa1a0cc5762f360033c25a99ec9462be933f8ba413279e35cd2c3b5c3e6096") version("0.3.0", sha256="33fa1a0cc5762f360033c25a99ec9462be933f8ba413279e35cd2c3b5c3e6096")
version("0.2.0", sha256="562a704163a6427e0341d267e69b8bf55d8f53d673829170b443191577e8d9b6") version("0.2.0", sha256="562a704163a6427e0341d267e69b8bf55d8f53d673829170b443191577e8d9b6")
@ -28,10 +29,12 @@ class PyFenicsFfcx(PythonPackage):
depends_on("py-cffi", type="run") depends_on("py-cffi", type="run")
depends_on("py-fenics-ufl@main", type="run", when="@main") 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@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-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@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.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.3.0", type="run", when="@0.3.0")
depends_on("py-fenics-basix@0.2.0", type="run", when="@0.2.0") depends_on("py-fenics-basix@0.2.0", type="run", when="@0.2.0")

View File

@ -19,6 +19,7 @@ class PyFenicsUfl(PythonPackage):
maintainers = ["chrisrichardson", "garth-wells"] maintainers = ["chrisrichardson", "garth-wells"]
version("main", branch="main") version("main", branch="main")
version("2022.2.0", sha256="d6e18e06df5d7a626c3138d49a543914d68186afb6159c4d1a7cd72b2a199b02")
version("2022.1.0", sha256="48359903d47fb397900d105fe4a60b459c50bbf9d9da78beb9accb54e4e4acaf") version("2022.1.0", sha256="48359903d47fb397900d105fe4a60b459c50bbf9d9da78beb9accb54e4e4acaf")
version("2021.1.0", sha256="130fdc09bb7fcd39dcd2618426912b8a25a03431d94575711068b38c666b4337") version("2021.1.0", sha256="130fdc09bb7fcd39dcd2618426912b8a25a03431d94575711068b38c666b4337")
version("2019.1.0", sha256="46ac0df4e96327be10b9576d2b8fa8b2c4ca62d3c681d407f5718b162d3ca22d") version("2019.1.0", sha256="46ac0df4e96327be10b9576d2b8fa8b2c4ca62d3c681d407f5718b162d3ca22d")