Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.10.0-foss-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
easyblock = 'ConfigureMakePythonPackage'

name = 'MUSCLE3'
version = '0.10.0'

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': 'foss', 'version': '2025b'}
toolchainopts = {'usempi': True}

source_urls = ['https://github.com/multiscale/%(namelower)s/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['f331eac3b56523ece8731e0141857563d0b34740a23892e6669c45c746338cd9']

builddependencies = [
('CMake', '3.31.8'),
('googletest', '1.17.0'),
]

dependencies = [
('msgpack-cxx', '7.0.0'),
('zlib', '1.3.1'),
('Python', '3.13.5'),
('Python-bundle-PyPI', '2025.07'),
('SciPy-bundle', '2025.07'),
('PyYAML', '6.0.2'),
('matplotlib', '3.10.5'),
]

skipsteps = ['configure']

prebuildopts = 'msgpack_ROOT=$EBROOTMSGPACKMINC '
preinstallopts = 'PREFIX=%(installdir)s '
testopts = 'googletest_ROOT=$EBROOTGOOGLETEST'

exts_defaultclass = 'PythonPackage'

exts_default_options = {
'source_urls': [PYPI_SOURCE],
}

# click and psutil are provided by the Python-bundle-PyPI dependency
exts_list = [
('parsimonious', '0.11.0', {
'checksums': ['e080377d98957beec053580d38ae54fcdf7c470fb78670ba4bf8b5f9d5cad2a9'],
}),
('typing_extensions', '4.15.0', {
'checksums': ['0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466'],
}),
('msgpack', '1.1.2', {
'checksums': ['3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e'],
}),
('yatiml', '0.12.0', {
'checksums': ['30eb62a51b9f60df095ff709a881c576b0c720b6dcd10994dde73872c4a1e1f4'],
}),
('ymmsl', '0.17.0', {
'checksums': ['29ed4ebb1eabc8e69df87e78a8108f88e942b9c630dde782b39fb2498e757c5f'],
}),
('muscle3', version, {
'source_tmpl': '%(version)s.tar.gz',
'source_urls': ['https://github.com/multiscale/muscle3/archive/refs/tags/'],
'checksums': ['f331eac3b56523ece8731e0141857563d0b34740a23892e6669c45c746338cd9'],
}),
]

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',
'include/ymmsl',
'lib/pkgconfig',
'lib64']
}

sanity_check_commands = [
"muscle3 --help",
"muscle_manager --help",
]

moduleclass = 'tools'
105 changes: 105 additions & 0 deletions easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.10.0-intel-2025b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
easyblock = 'ConfigureMakePythonPackage'

name = 'MUSCLE3'
version = '0.10.0'

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': 'intel', 'version': '2025b'}
toolchainopts = {'usempi': True}

source_urls = ['https://github.com/multiscale/%(namelower)s/archive/refs/tags/']
sources = ['%(version)s.tar.gz']
checksums = ['f331eac3b56523ece8731e0141857563d0b34740a23892e6669c45c746338cd9']

builddependencies = [
('CMake', '3.31.8'),
('googletest', '1.17.0'),
]

dependencies = [
('msgpack-cxx', '7.0.0'),
Comment thread
SimonPinches marked this conversation as resolved.
Outdated
('zlib', '1.3.1'),
('Python', '3.13.5'),
('Python-bundle-PyPI', '2025.07'),
('SciPy-bundle', '2025.07'),
('PyYAML', '6.0.2'),
('matplotlib', '3.10.5'),
]

skipsteps = ['configure']

prebuildopts = 'msgpack_ROOT=$EBROOTMSGPACKMINC '
preinstallopts = 'PREFIX=%(installdir)s '
testopts = 'googletest_ROOT=$EBROOTGOOGLETEST'

exts_defaultclass = 'PythonPackage'

exts_default_options = {
'source_urls': [PYPI_SOURCE],
}

# click and psutil are provided by the Python-bundle-PyPI dependency
exts_list = [
('parsimonious', '0.11.0', {
'checksums': ['e080377d98957beec053580d38ae54fcdf7c470fb78670ba4bf8b5f9d5cad2a9'],
}),
('typing_extensions', '4.15.0', {
'checksums': ['0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466'],
}),
('msgpack', '1.1.2', {
'checksums': ['3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e'],
}),
('yatiml', '0.12.0', {
'checksums': ['30eb62a51b9f60df095ff709a881c576b0c720b6dcd10994dde73872c4a1e1f4'],
}),
('ymmsl', '0.17.0', {
'checksums': ['29ed4ebb1eabc8e69df87e78a8108f88e942b9c630dde782b39fb2498e757c5f'],
}),
('muscle3', version, {
'source_tmpl': '%(version)s.tar.gz',
'source_urls': ['https://github.com/multiscale/muscle3/archive/refs/tags/'],
'checksums': ['f331eac3b56523ece8731e0141857563d0b34740a23892e6669c45c746338cd9'],
}),
]

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',
'include/ymmsl',
'lib/pkgconfig',
'lib64']
}

sanity_check_commands = [
"muscle3 --help",
"muscle_manager --help",
]

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04
easyblock = 'CMakeMake'

name = 'msgpack-cxx'
version = '7.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': '14.3.0'}

source_urls = ['https://github.com/msgpack/msgpack-c/releases/download/cpp-%(version)s']
sources = ['msgpack-cxx-%(version)s.tar.gz']
checksums = ['7504b7af7e7b9002ce529d4f941e1b7fb1fb435768780ce7da4abaac79bb156f']

builddependencies = [
('binutils', '2.44'),
('CMake', '4.0.3'),
('googletest', '1.17.0'),
]

dependencies = [
('Boost', '1.88.0')
]

sanity_check_paths = {
'files': [
'lib/cmake/msgpack-cxx/msgpack-cxx-config.cmake',
'include/msgpack.hpp',
],
'dirs': ['include/msgpack'],
}

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04
easyblock = 'CMakeMake'

name = 'msgpack-cxx'
version = '7.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': 'intel-compilers', 'version': '2025.2.0'}

source_urls = ['https://github.com/msgpack/msgpack-c/releases/download/cpp-%(version)s']
sources = ['msgpack-cxx-%(version)s.tar.gz']
checksums = ['7504b7af7e7b9002ce529d4f941e1b7fb1fb435768780ce7da4abaac79bb156f']

builddependencies = [
('binutils', '2.44'),
('CMake', '4.0.3'),
('googletest', '1.17.0'),
]

dependencies = [
('Boost', '1.88.0')
]

sanity_check_paths = {
'files': [
'lib/cmake/msgpack-cxx/msgpack-cxx-config.cmake',
'include/msgpack.hpp',
],
'dirs': ['include/msgpack'],
}

moduleclass = 'lib'
Loading