From fb885330cbaced66d6f8d5b8db8ba62f3c309b7a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Mon, 20 Nov 2023 20:25:16 +0100 Subject: [PATCH] avoid indirect dependency on old CMake version built with GCCcore/10.2.0 via Catch2 build dependency using system toolchain in recent pybind11 easyconfigs --- .../c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb | 30 +++++++++++++++++++ .../c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb | 30 +++++++++++++++++++ .../pybind11-2.10.3-GCCcore-12.2.0.eb | 2 +- .../pybind11-2.11.1-GCCcore-12.3.0.eb | 2 +- 4 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c049347b1c7 --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.9' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52'] + +builddependencies = [ + ('binutils', '2.39'), # to make CMake compiler health check pass on old systems + ('CMake', '3.24.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/catch2', 'lib64/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a9cbf99bf14 --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.9' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52'] + +builddependencies = [ + ('binutils', '2.40'), # to make CMake compiler health check pass on old systems + ('CMake', '3.26.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/catch2', 'lib64/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb index d3655ac1928..f46106ed058 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('CMake', '3.24.3'), # Test dependencies ('Eigen', '3.4.0'), - ('Catch2', '2.13.9', '', SYSTEM), + ('Catch2', '2.13.9'), ] dependencies = [('Python', '3.10.8')] diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb index ef87962e756..489231503eb 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('CMake', '3.26.3'), # Test dependencies ('Eigen', '3.4.0'), - ('Catch2', '2.13.9', '', SYSTEM), + ('Catch2', '2.13.9'), ('Python-bundle-PyPI', '2023.06'), # to provide pytest ] dependencies = [('Python', '3.11.3')]