diff --git a/easybuild/easyconfigs/b/Basix/Basix-0.9.0-enable-distribution.patch b/easybuild/easyconfigs/b/Basix/Basix-0.9.0-enable-distribution.patch new file mode 100644 index 000000000000..6ddc4981dfd2 --- /dev/null +++ b/easybuild/easyconfigs/b/Basix/Basix-0.9.0-enable-distribution.patch @@ -0,0 +1,16 @@ +# Author: Ehsan Moravveji (VSC, KU Leuven) +# Purpose: enable creating a distribution from the source tree + +diff -ruN basix-0.9.0-orig/pyproject.toml basix-0.9.0/pyproject.toml +--- basix-0.9.0-orig/pyproject.toml 2025-03-17 14:51:21.048719000 +0100 ++++ basix-0.9.0/pyproject.toml 2025-03-17 14:51:48.602907000 +0100 +@@ -27,6 +27,9 @@ + test = ["pytest", "sympy", "scipy", "matplotlib", "fenics-basix[optional]"] + ci = ["mypy", "pytest-xdist", "fenics-basix[docs,lint,test,optional]"] + ++[tool.pdm] ++distribution = true ++ + [tool.pytest.ini_options] + testpaths = ["test"] + diff --git a/easybuild/easyconfigs/b/Basix/Basix-0.9.0-gfbf-2024a.eb b/easybuild/easyconfigs/b/Basix/Basix-0.9.0-gfbf-2024a.eb new file mode 100644 index 000000000000..e904b1990ca8 --- /dev/null +++ b/easybuild/easyconfigs/b/Basix/Basix-0.9.0-gfbf-2024a.eb @@ -0,0 +1,49 @@ +# Author: Ehsan Moravveji (VSC, KU Leuven) + +easyblock = 'EB_Basix' + +name = 'Basix' +version = '0.9.0' + +homepage = 'https://github.com/FEniCS/basix' +description = """Basix is a finite element definition and tabulation runtime library. +Basix includes a range of built-in elements, and also allows the user to define their own custom elements. +Basix is one of the components of FEniCSx, alongside UFL, FFCx, and DOLFINx.""" + +toolchain = {'name': 'gfbf', 'version': '2024a'} + +source_urls = ['https://github.com/FEniCS/basix/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Basix-0.9.0-enable-distribution.patch'] +checksums = [ + {'v0.9.0.tar.gz': '60e96b2393084729b261cb10370f0e44d12735ab3dbd1f15890dec23b9e85329'}, + {'Basix-0.9.0-enable-distribution.patch': '902f672000ef1fa844208450568bc34d5c5f40ef3b8ae9ed3781c15579ff8f51'}, +] + +builddependencies = [ + ('CMake', '3.29.3'), + ('PDM', '2.18.2'), + ('Ninja', '1.12.1'), + ('scikit-build-core', '0.10.6'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('nanobind', '2.5.0'), +] + +exts_defaultclass = 'PythonPackage' +exts_list = [('fenics-basix', version, { + 'modulename': 'basix', + 'nosource': True, + 'start_dir': 'python' +})] + +sanity_check_paths = { + 'files': ['lib64/libbasix.so', 'lib64/cmake/basix/BasixConfig.cmake'], + 'dirs': ['include', 'include/basix', 'lib/python%(pyshortver)s/site-packages/basix',] +} + +moduleclass = 'numlib'