Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{math,phys,chem}[foss/2024] Meep 1.29.0 #22057

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all 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
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/h/Harminv/Harminv-1.4.2-gfbf-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'ConfigureMake'

name = 'Harminv'
version = '1.4.2'

homepage = 'https://github.com/stevengj/harminv'
description = """Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion -
given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially
decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those
sinusoids."""

toolchain = {'name': 'gfbf', 'version': '2023b'}
toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'cstd': 'c99'}

source_urls = ['https://github.com/stevengj/harminv/releases/download/v%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5a9a1bf710972442f065d0d62c62d0c4ec3da4a3696d7160a35602c9470bc7a2']

builddependencies = [
('pkgconfig', '1.5.5', '-python'),
]

configopts = "--with-pic --with-blas=flexiblas --with-lapack=flexiblas --enable-shared"

sanity_check_paths = {
'files': ['bin/harminv', 'include/harminv.h', 'lib/libharminv.a', 'lib/libharminv.%s' % SHLIB_EXT],
'dirs': []
}

moduleclass = 'math'
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/h/Harminv/Harminv-1.4.2-gfbf-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'ConfigureMake'

name = 'Harminv'
version = '1.4.2'

homepage = 'https://github.com/stevengj/harminv'
description = """Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion -
given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially
decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those
sinusoids."""

toolchain = {'name': 'gfbf', 'version': '2024a'}
toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'cstd': 'c99'}

source_urls = ['https://github.com/stevengj/harminv/releases/download/v%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['5a9a1bf710972442f065d0d62c62d0c4ec3da4a3696d7160a35602c9470bc7a2']

builddependencies = [
('pkg-config', '0.29.2'),
]

configopts = "--with-pic --with-blas=flexiblas --with-lapack=flexiblas --enable-shared"

sanity_check_paths = {
'files': ['bin/harminv', 'include/harminv.h', 'lib/libharminv.a', 'lib/libharminv.%s' % SHLIB_EXT],
'dirs': []
}

moduleclass = 'math'
26 changes: 26 additions & 0 deletions easybuild/easyconfigs/l/libGDSII/libGDSII-0.21-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
easyblock = 'ConfigureMake'

name = 'libGDSII'
version = '0.21'

homepage = 'https://github.com/HomerReid/libGDSII'
description = """libGDSII is a C++ library for working with GDSII binary data files,
intended primarily for use with the computational electromagnetism codes
scuff-em and meep but sufficiently general-purpose to allow other uses as well."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

source_urls = ['https://github.com/HomerReid/libGDSII/releases/download/v%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['31c90a4fb699746d051c0c597ef0543889c9f17b2a711fed398756ac4f1b1f4c']

builddependencies = [
('binutils', '2.42'),
]

sanity_check_paths = {
'files': ['bin/GDSIIConvert', 'include/libGDSII.h', 'lib/libGDSII.a', 'lib/libGDSII.%s' % SHLIB_EXT],
'dirs': [],
}

moduleclass = 'data'
33 changes: 33 additions & 0 deletions easybuild/easyconfigs/l/libctl/libctl-4.5.1-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
easyblock = 'ConfigureMake'

name = 'libctl'
version = '4.5.1'

homepage = 'https://libctl.readthedocs.io/en/latest/'
description = """libctl is a free Guile-based library implementing flexible control files for scientific simulations."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/NanoComp/libctl/releases/download/v%(version)s/']
sources = [SOURCE_TAR_GZ]
checksums = ['fcfeb2f13dda05b560f0ec6872757d9318fdfe8f4bc587eb2053a29ba328ae25']

builddependencies = [
('binutils', '2.42'),
('Autotools', '20231222'), # required for libtool
]

dependencies = [
('Guile', '3.0.10'),
]

configopts = '--with-pic --enable-shared'

sanity_check_paths = {
'files': ['bin/gen-ctl-io', 'lib/libctl.a', 'lib/libctlgeom.a',
'lib/libctlgeom.%s' % SHLIB_EXT, 'lib/libctl.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'chem'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/m/MPB/MPB-1.11.1-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
easyblock = 'ConfigureMake'

name = 'MPB'
version = '1.11.1'

homepage = 'https://mpb.readthedocs.io/en/latest/'
description = """MPB is a free and open-source software package for computing
the band structures, or dispersion relations, and electromagnetic
modes of periodic dielectric structures, on both serial
and parallel computers. MPB is an acronym for MIT Photonic Bands."""

toolchain = {'name': 'foss', 'version': '2024a'}
toolchainopts = {'usempi': True, 'pic': True}

source_urls = ['https://github.com/NanoComp/mpb/releases/download/v%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['dc55b081c56079727dac92d309f8e4ea84ca6eea9122ec24b7955f8c258608e1']

builddependencies = [
('Autotools', '20231222'),
]

dependencies = [
('Python', '3.12.3'),
('HDF5', '1.14.5'),
('libctl', '4.5.1'),
('Guile', '3.0.10'),
('libreadline', '8.2'),
]

local_common_configopts = "--with-pic --with-blas=flexiblas --with-lapack=flexiblas "
local_common_configopts += "--with-libctl=$EBROOTLIBCTL/share/libctl --enable-shared "

configopts = [
local_common_configopts + " ",
local_common_configopts + " --with-inv-symmetry",
local_common_configopts + " --with-mpi ",
local_common_configopts + " --with-mpi --with-inv-symmetry",
]

sanity_check_paths = {
'files': ['bin/mpb%s' % x for x in ['', '-data', 'i', 'i-data', 'i-mpi', 'i-split', '-mpi', '-split']] +
['lib/libmpb.a', 'lib/libmpbi_mpi.a', 'lib/libmpbi.a', 'lib/libmpb_mpi.a', 'lib/libmpb.%s' % SHLIB_EXT,
'lib/libmpbi_mpi.%s' % SHLIB_EXT, 'lib/libmpbi.%s' % SHLIB_EXT, 'lib/libmpb_mpi.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'phys'
52 changes: 52 additions & 0 deletions easybuild/easyconfigs/m/Meep/Meep-1.29.0-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
easyblock = 'ConfigureMake'

name = 'Meep'
version = '1.29.0'

homepage = 'https://meep.readthedocs.io/en/latest/'
description = """Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package
developed at MIT to model electromagnetic systems."""

toolchain = {'name': 'foss', 'version': '2024a'}
toolchainopts = {'usempi': True, 'opt': True, 'unroll': True, 'pic': True}

source_urls = ['https://github.com/NanoComp/%(namelower)s/releases/download/v%(version)s/']
sources = ['%(namelower)s-%(version)s.tar.gz']
checksums = ['68279f862cf9342a6e0f2023667d6a6ac7c1eafe46663705519772f312412194']

builddependencies = [
('Autotools', '20231222'),
('pkgconfig', '1.5.5', '-python'),
('SWIG', '4.2.1')
]

dependencies = [
('Python', '3.12.3'),
('SciPy-bundle', '2024.05'),
('matplotlib', '3.9.2'),
('MPB', '1.11.1'),
('Harminv', '1.4.2'),
('HDF5', '1.14.5'),
('libctl', '4.5.1'),
('libGDSII', '0.21'),
('GSL', '2.8'),
('Guile', '3.0.10'),
]

configopts = "--with-pic --with-mpi --with-blas=flexiblas --with-lapack=flexiblas --without-gcc-arch "
configopts += "--with-libctl=$EBROOTLIBCTL/share/libctl --enable-shared "

sanity_check_paths = {
'files': ['bin/meep', 'include/meep.hpp', 'lib/libmeep.a', 'lib/libpympb.a',
'lib/libmeep.%s' % SHLIB_EXT, 'lib/libpympb.%s' % SHLIB_EXT],
'dirs': ['include/meep', 'lib/python%(pyshortver)s/site-packages/meep', 'share/meep'],
}

sanity_check_commands = [
"meep --help",
"python -c 'import meep'",
]

modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']}

moduleclass = 'phys'
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# pkgconf should be used in preference to pkg-config
# This is included for use only in software that fails to build when using pkgconf
easyblock = 'ConfigureMake'

name = 'pkg-config'
version = '0.29.2'

homepage = 'https://www.freedesktop.org/wiki/Software/pkg-config/'

description = """
pkg-config is a helper tool used when compiling applications and libraries.
It helps you insert the correct compiler options on the command line so an
application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0`
for instance, rather than hard-coding values on where to find glib (or other
libraries).
"""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

source_urls = ['https://pkg-config.freedesktop.org/releases/']
sources = [SOURCELOWER_TAR_GZ]
checksums = ['6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591']

builddependencies = [('binutils', '2.42')]

# don't use PAX, it might break.
tar_config_opts = True

configopts = " --with-internal-glib"

sanity_check_paths = {
'files': ['bin/pkg-config'],
'dirs': [],
}

moduleclass = 'devel'
Loading