From 0c280c87138aa08f274303094e14497b15716d1d Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 11 Jan 2024 11:51:47 +0100 Subject: [PATCH] adding easyconfigs: MUSCLE3-0.7.1-gfbf-2023b.eb, ruamel.yaml-0.18.5-GCCcore-13.2.0.eb, msgpack-c-6.0.0-GCC-13.2.0.eb and patches: muscle3-0.7.1_fix_setup.patch, ymmsl-0.13.0_fix_setup.patch, yatiml-0.10.0_fix_setup.patch --- .../m/MUSCLE3/MUSCLE3-0.7.1-gfbf-2023b.eb | 115 ++++++++++++++++++ .../m/MUSCLE3/muscle3-0.7.1_fix_setup.patch | 12 ++ .../m/MUSCLE3/yatiml-0.10.0_fix_setup.patch | 12 ++ .../m/MUSCLE3/ymmsl-0.13.0_fix_setup.patch | 12 ++ .../m/msgpack-c/msgpack-c-6.0.0-GCC-13.2.0.eb | 37 ++++++ .../ruamel.yaml-0.18.5-GCCcore-13.2.0.eb | 71 +++++++++++ 6 files changed, 259 insertions(+) create mode 100644 easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.7.1-gfbf-2023b.eb create mode 100644 easybuild/easyconfigs/m/MUSCLE3/muscle3-0.7.1_fix_setup.patch create mode 100644 easybuild/easyconfigs/m/MUSCLE3/yatiml-0.10.0_fix_setup.patch create mode 100644 easybuild/easyconfigs/m/MUSCLE3/ymmsl-0.13.0_fix_setup.patch create mode 100644 easybuild/easyconfigs/m/msgpack-c/msgpack-c-6.0.0-GCC-13.2.0.eb create mode 100644 easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.5-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.7.1-gfbf-2023b.eb b/easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.7.1-gfbf-2023b.eb new file mode 100644 index 00000000000..56757462e6e --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.7.1-gfbf-2023b.eb @@ -0,0 +1,115 @@ +easyblock = 'ConfigureMakePythonPackage' + +name = 'MUSCLE3' +version = '0.7.1' + +homepage = 'https://muscle3.readthedocs.io/en/latest/index.html' + +description = """MUSCLE3 allows connecting multiple simulation models + together into a multiscale simulation. Simulation models can be as + simple as a single Python file, or as complex as a combination of + multiple separate simulation codes written in C++ or Fortran, and + running on an HPC machine.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/multiscale/%(namelower)s/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b3023387c21af4d924b5cd240bdba376804ae166eb2c4b812e5222b4e0d3c8e0'] + +builddependencies = [ + ('googletest', '1.14.0'), +] + +dependencies = [ + ('msgpack-c', '6.0.0'), + ('zlib', '1.2.13'), + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('QCG-PilotJob', '0.13.1'), + ('ruamel.yaml', '0.18.5'), + ('matplotlib', '3.8.2'), +] + +skipsteps = ['configure'] + +prebuildopts = 'msgpack_ROOT=$EBROOTMSGPACKMINC ' +preinstallopts = 'PREFIX=%(installdir)s ' +testopts = 'googletest_ROOT=$EBROOTGOOGLETEST' + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('typing_extensions', '4.9.0', { + 'checksums': ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'], + }), + ('msgpack', '1.0.7', { + 'checksums': ['572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87'], + }), + ('click', '8.1.7', { + 'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'], + }), + ('yatiml', '0.10.0', { + 'patches': ['yatiml-0.10.0_fix_setup.patch'], + 'checksums': [ + {'yatiml-0.10.0.tar.gz': '4d23bfd7bbf45ae603c08fcb70d0c86404934a0cef24fb77b532705ff195fc92'}, + {'yatiml-0.10.0_fix_setup.patch': '7b88cc59bc45254d28c9d59110caaf3954e3e479def5d6dc987f63fdedccb849'}, + ], + }), + ('ymmsl', '0.13.0', { + 'patches': ['ymmsl-0.13.0_fix_setup.patch'], + 'checksums': [ + {'ymmsl-0.13.0.tar.gz': '861c8b728d2808b8e8eb31592af42c5c4317b441fbd83d050ccf91fa24a9212e'}, + {'ymmsl-0.13.0_fix_setup.patch': 'b8574b51c8b252817604b136acd84109c08900f9f563d2a742b525da980841ca'}, + ], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('muscle3', version, { + 'patches': ['muscle3-0.7.1_fix_setup.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/multiscale/muscle3/archive/refs/tags/'], + 'checksums': [ + {'0.7.1.tar.gz': 'b3023387c21af4d924b5cd240bdba376804ae166eb2c4b812e5222b4e0d3c8e0'}, + {'muscle3-0.7.1_fix_setup.patch': '5c36a507b9fe8dc762dc5054000be10a05be3d277aed4036be378b728676dda5'}, + ], + }), +] + +modextrapaths = { + 'MUSCLE3_HOME': '', +} + +sanity_check_paths = { + 'files': ['include/libmuscle.f90', + 'include/libmuscle.mod', + 'include/libmuscle/libmuscle.hpp', + 'include/ymmsl/ymmsl.hpp', + 'lib/libmuscle.a', + 'lib/libmuscle.%s' % SHLIB_EXT, + 'lib/libmuscle_fortran.a', + 'lib/libmuscle_fortran.%s' % SHLIB_EXT, + 'lib/libymmsl.a', + 'lib/libymmsl.%s' % SHLIB_EXT, + 'lib/libymmsl_fortran.a', + 'lib/libymmsl_fortran.%s' % SHLIB_EXT, + 'lib/pkgconfig/libmuscle.pc', + 'lib/pkgconfig/libmuscle_fortran.pc', + 'lib/pkgconfig/ymmsl.pc', + 'lib/pkgconfig/ymmsl_fortran.pc'], + 'dirs': ['bin', + 'include/libmuscle/mcp', + 'include/ymmsl', + 'lib/pkgconfig', + 'lib64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MUSCLE3/muscle3-0.7.1_fix_setup.patch b/easybuild/easyconfigs/m/MUSCLE3/muscle3-0.7.1_fix_setup.patch new file mode 100644 index 00000000000..97c86608592 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE3/muscle3-0.7.1_fix_setup.patch @@ -0,0 +1,12 @@ +diff -Nru muscle3-0.7.1-orig/setup.py muscle3-0.7.1/setup.py +--- muscle3-0.7.1-orig/setup.py 2023-10-01 18:50:49.000000000 +0200 ++++ muscle3-0.7.1/setup.py 2024-01-11 11:22:30.494825000 +0100 +@@ -57,7 +57,7 @@ + 'msgpack>=1,<2', + 'netifaces==0.11.0', + "numpy<1.22; python_version=='3.7'", +- "numpy>=1.22,<=1.25; python_version>='3.8'", ++ "numpy>=1.22; python_version>='3.8'", + 'qcg-pilotjob==0.13.1', + 'typing_extensions>=4.4.0,<5', + 'ymmsl>=0.13.0,<0.14' # Also in CI, update there as well diff --git a/easybuild/easyconfigs/m/MUSCLE3/yatiml-0.10.0_fix_setup.patch b/easybuild/easyconfigs/m/MUSCLE3/yatiml-0.10.0_fix_setup.patch new file mode 100644 index 00000000000..1fb35912c62 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE3/yatiml-0.10.0_fix_setup.patch @@ -0,0 +1,12 @@ +diff -Nru yatiml-0.10.0-orig/setup.py yatiml-0.10.0/setup.py +--- yatiml-0.10.0-orig/setup.py 2022-12-19 15:16:27.000000000 +0100 ++++ yatiml-0.10.0/setup.py 2024-01-11 11:21:08.019950000 +0100 +@@ -33,7 +33,7 @@ + 'Programming Language :: Python :: 3.11' + ], + install_requires=[ +- 'ruamel.yaml>=0.15.71,<=0.17.21,!=0.17.5', ++ 'ruamel.yaml', + 'typing_extensions' + ] + ) diff --git a/easybuild/easyconfigs/m/MUSCLE3/ymmsl-0.13.0_fix_setup.patch b/easybuild/easyconfigs/m/MUSCLE3/ymmsl-0.13.0_fix_setup.patch new file mode 100644 index 00000000000..b1143d2742a --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE3/ymmsl-0.13.0_fix_setup.patch @@ -0,0 +1,12 @@ +diff -Nru ymmsl-0.13.0-orig/setup.py ymmsl-0.13.0/setup.py +--- ymmsl-0.13.0-orig/setup.py 2023-01-17 22:00:21.000000000 +0100 ++++ ymmsl-0.13.0/setup.py 2024-01-11 11:32:59.149099000 +0100 +@@ -37,7 +37,7 @@ + python_requires='>=3.7, <4', + test_suite='tests', + install_requires=[ +- 'ruamel.yaml<=0.17.21,!=0.17.5', ++ 'ruamel.yaml', + 'yatiml>=0.10.0,<0.11.0' + ], + ) diff --git a/easybuild/easyconfigs/m/msgpack-c/msgpack-c-6.0.0-GCC-13.2.0.eb b/easybuild/easyconfigs/m/msgpack-c/msgpack-c-6.0.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..9fe866b98dd --- /dev/null +++ b/easybuild/easyconfigs/m/msgpack-c/msgpack-c-6.0.0-GCC-13.2.0.eb @@ -0,0 +1,37 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04 +easyblock = 'CMakeMake' + +name = 'msgpack-c' +version = '6.0.0' + +homepage = 'http://msgpack.org/' +description = """MessagePack is an efficient binary serialization format, which lets you exchange +data among multiple languages like JSON, except that it's faster and smaller. +Small integers are encoded into a single byte while typical short strings +require only one extra byte in addition to the strings themselves.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/msgpack/msgpack-c/releases/download/c-%(version)s'] +sources = ['msgpack-c-%(version)s.tar.gz'] +checksums = ['3654f5e2c652dc52e0a993e270bb57d5702b262703f03771c152bba51602aeba'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), + ('googletest', '1.14.0'), +] + +dependencies = [ + ('Boost', '1.83.0'), +] + +sanity_check_paths = { + 'files': [ + ['lib/libmsgpack-c.%s' % x for x in ['a', '%s' % SHLIB_EXT]], + ['include/msgpack.%s' % x for x in ['h']] + ], + 'dirs': ['lib/pkgconfig', 'include/msgpack'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..35e29c9664e --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.5-GCCcore-13.2.0.eb @@ -0,0 +1,71 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.18.5' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.8', { + 'modulename': False, + 'checksums': ['beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512'], + }), + (name, version, { + 'checksums': ['61917e3a35a569c1133a8f772e1226961bf5a1198bea7e23f06a0841dea1ab0e'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('configobj', '5.0.8', { + 'checksums': ['6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97'], + }), + ('lz4', '4.3.3', { + 'patches': ['lz4-4.3.3_fix_setup.patch'], + 'checksums': [ + {'lz4-4.3.3.tar.gz': '01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e'}, + {'lz4-4.3.3_fix_setup.patch': '6dd189426fd8bee330642c3dd75b8fe0322235c4d66073e12a08f75a5ee6c13a'}, + ], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'patches': ['python-dateutil-2.8.2_fix_setup.patch'], + 'checksums': [ + {'python-dateutil-2.8.2.tar.gz': '0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'}, + {'python-dateutil-2.8.2_fix_setup.patch': + '085d4287ab8484031503b63fdf302c26fb3f00668ceef3b0e9a5a13c0f2f2129'}, + ], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.5', { + 'checksums': ['49af59514cb87d7637d1186e31c9345c9947120a9ce49cf6975435aa7abd5aa8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/yaml'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["yaml --help"] + +sanity_pip_check = True + +moduleclass = 'lang'