diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022b.eb b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022b.eb new file mode 100644 index 00000000000..4ab6f4db625 --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022b.eb @@ -0,0 +1,56 @@ +easyblock = 'MakeCp' + +name = 'Block' +version = '1.5.3-20200525' +_commit = 'f95317b08043b7c531289576d59ad74a6d920741' + +homepage = 'https://sanshar.github.io/Block/' +description = """Block implements the density matrix renormalization group (DMRG) algorithm for +quantum chemistry.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'cstd': 'c++11', 'pic': True} + +# Version 1.5 is a major rewrite of Block that was named at some point StackBlock +# sources are available in sanshar/StackBlock +# sources at sanshar/Block@b0e3671aad and pyscf/Block@db27636b76 correspond to version 1.1.1 +source_urls = ['https://github.com/sanshar/StackBlock/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': '%(version)s.tar.gz'}] +patches = [ + 'Block-1.5.3_use-eb-environment.patch', + 'Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch', + 'Block-1.5.3_resolve_deprecated_Bind_placeholder.patch' +] +checksums = [ + {'1.5.3-20200525.tar.gz': '8d793c5e460d7747a0adcb06ce4b457c6750cf2d42cead1d060db8b44643c3b1'}, + {'Block-1.5.3_use-eb-environment.patch': '7f3e8a52f28d251441d20dfde1f9cb8cdc0c34216defab61cc6980e540a6cf60'}, + {'Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch': + 'f53f1f88cb7b12ab38d1313f93a9bbd31c745dca1beca7a8d51d00e0ae4e762f'}, + {'Block-1.5.3_resolve_deprecated_Bind_placeholder.patch': + '51d692f294e800e0a9e027ef35bf761612ecb9efe77ddb378ec973b55e39a1e8'}, +] + +dependencies = [ + ('Boost.MPI', '1.81.0'), +] + +buildopts = [ + # Multi-threaded build (block.spin_adapted-serial) + 'OPENMP="yes" EXECUTABLE="block.spin_adapted-serial"', + # MPI build (block.spin_adapted) + 'USE_MPI="yes"', +] + +files_to_copy = [(['block.spin_adapted*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/block.spin_adapted', 'bin/block.spin_adapted-serial'], + 'dirs': [], +} + +sanity_check_commands = [ + "block.spin_adapted-serial --version", + "%(mpi_cmd_prefix)s block.spin_adapted --version", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3_resolve_deprecated_Bind_placeholder.patch b/easybuild/easyconfigs/b/Block/Block-1.5.3_resolve_deprecated_Bind_placeholder.patch new file mode 100644 index 00000000000..9361e01827f --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3_resolve_deprecated_Bind_placeholder.patch @@ -0,0 +1,151 @@ +resolve Error: "pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior." +define BOOST_BIND_GLOBAL_PLACEHOLDERS +replace #include with #include , +replace copy_option::overwrite_if_exists with copy_options::overwrite_existing +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.C 2024-01-04 15:22:29.874336000 +0100 +@@ -9,7 +9,7 @@ + using namespace std; + + #include +-#include ++#include + + #ifndef SERIAL + #include +@@ -18,6 +18,7 @@ + + #include + #include ++#include + + namespace genetic + { +@@ -58,7 +59,7 @@ + mpi::broadcast(world, ksum, 0); + #endif + +- Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, _1, K); ++ Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, std::placeholders::_1, K); + Cell best; + #ifndef SERIAL + int ntask = 1 + gainput.max_community / world.size(); +@@ -125,7 +126,7 @@ + mpi::broadcast(world, ksum, 0); + #endif + +- Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, _1, K); ++ Cell::Evaluate = boost::bind(genetic::Evaluate, 1.0/ksum, gainput.exponent, std::placeholders::_1, K); + Cell best; + #ifndef SERIAL + int ntask = 1 + gainput.max_community / world.size(); +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/genetic/GAOptimize.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/genetic/GAOptimize.h 2024-01-04 15:11:37.071030036 +0100 +@@ -1,6 +1,8 @@ + #ifndef GA_OPTIMIZE_H + #define GA_OPTIMIZE_H + ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS ++ + #include + #include "Cell.h" + +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/modules/npdm/npdm_permutations.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/modules/npdm/npdm_permutations.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/modules/npdm/npdm_permutations.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/modules/npdm/npdm_permutations.C 2024-01-04 15:32:31.035358000 +0100 +@@ -13,6 +13,8 @@ + #include "Stackspinblock.h" + #include "pario.h" + ++#include ++ + namespace SpinAdapted{ + + //=========================================================================================================================================================== +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackMatrix.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackMatrix.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackMatrix.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackMatrix.h 2024-01-04 13:51:30.872835728 +0100 +@@ -1,6 +1,8 @@ + #ifndef SPIN_STACKMATRIX_HEADER + #define SPIN_STACKMATRIX_HEADER + ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS ++ + #include + #include + #include +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackOperators.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackOperators.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/StackOperators.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/StackOperators.h 2024-01-04 13:48:49.790156000 +0100 +@@ -3,7 +3,7 @@ + #include "StackBaseOperator.h" + #include + #include +-#include ++#include + + typedef boost::function >)> FUNCTOR; + typedef boost::function)> FUNCTOR2; +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.C 2024-01-04 13:30:04.524917000 +0100 +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + #include + + #ifndef SERIAL +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.h StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.h +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackspinblock.h 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackspinblock.h 2024-01-04 13:41:28.043983000 +0100 +@@ -1,5 +1,6 @@ + #ifndef STACKSPINBLOCK_HEADER + #define STACKSPINBLOCK_HEADER ++#define BOOST_BIND_GLOBAL_PLACEHOLDERS + #include + #include + #include +diff -ru StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackwavefunction.C StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackwavefunction.C +--- StackBlock-f95317b08043b7c531289576d59ad74a6d920741.orig/Stackwavefunction.C 2020-05-25 15:51:59.000000000 +0200 ++++ StackBlock-f95317b08043b7c531289576d59ad74a6d920741/Stackwavefunction.C 2024-01-04 14:16:06.713200000 +0100 +@@ -224,7 +224,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + string filename2 = itr->path().filename().string(); +@@ -242,7 +242,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + } +@@ -284,7 +284,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + string filename2 = itr->path().filename().string(); +@@ -302,7 +302,7 @@ + sprintf (fileout, "%s/%s", dmrginp.load_prefix().c_str() , outfile.c_str()); + boost::filesystem::path topath(fileout); + +- copy_file(frompath, topath,boost::filesystem::copy_option::overwrite_if_exists); ++ copy_file(frompath, topath,boost::filesystem::copy_options::overwrite_existing); + } + + } diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.81.0-gompi-2022b.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.81.0-gompi-2022b.eb new file mode 100644 index 00000000000..1ab9827f302 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.81.0-gompi-2022b.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.81.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['205666dea9f6a7cfed87c7a6dfbeb52a2c1b9de55712c9c1a87735d7181452b6'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), + ('zstd', '1.5.2'), + ('ICU', '72.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel'