Skip to content

Commit 0bb747c

Browse files
authored
Merge pull request #4074 from easybuilders/5.2.x
release EasyBuild v5.2.1
2 parents bcd6438 + 5d7bc99 commit 0bb747c

264 files changed

Lines changed: 1198 additions & 515 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/linting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: install Python packages
2323
run: |
2424
pip install --upgrade pip
25-
pip install --upgrade flake8
25+
pip install --upgrade flake8 flake8-comprehensions
2626
2727
- name: Run flake8 to verify PEP8-compliance of Python code
2828
run: flake8

RELEASE_NOTES

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,48 @@ For more detailed information, please see the git log.
33

44
These release notes can also be consulted at https://docs.easybuild.io/release-notes .
55

6-
The latest version of easybuild-easyblocks provides 206 software-specific easyblocks and 46 generic easyblocks.
6+
The latest version of easybuild-easyblocks provides 208 software-specific easyblocks and 46 generic easyblocks.
7+
8+
v5.2.1 (20 Feb 2026)
9+
--------------------
10+
11+
- new easyblocks:
12+
- software-specific easyblocks for AOCL-LAPACK (#4042) and ROCm-LLVM (#3823)
13+
- bug fixes:
14+
- avoid incorrect symlinks for NVHPC by force-setting selected CUDA version in install script (#4024)
15+
- fix typo in description for `build_env_vars` easyconfig parameter of `BuildEnv` easyblock (#4030)
16+
- disable FlexiBLAS backends that are in the list of filtered dependencies (#4031)
17+
- transfer dependencies in Bundle easyblock and fix sanity check for module only (#4037, #4057)
18+
- fix missed sanity check in custom easyblock for GCC (#4041)
19+
- set `$Python3_ROOT_DIR` in `PythonPackage` easyblock (#4043)
20+
- ensure AmberTools will find the correct Python library and include dir (#4045)
21+
- fix setting Python variables in TensorRT easyblock (#4046)
22+
- fix WIEN2k easyblock for newer toolchains (#4048)
23+
- fix error reporting for number of checksums vs number of sources + patches in custom easyblock for Python (#4055)
24+
- fix call to parent for static method `src_parameter_names` in `Cargo` easyblock (#4062)
25+
- fix limiting of threads for OpenBLAS tests (#4067)
26+
- enhancements:
27+
- add support for detecting external MAGMA library for ELSI (#3536)
28+
- create lockfile for Cargo package if missing (#3995)
29+
- explictly call `PythonPackage` and `Cargo` configure step in `CargoPythonPackage` easyblock (#3996)
30+
- allow oversubscription in sanity check for OpenFOAM (#4019)
31+
- allow to enable more components in Extrae (#4027)
32+
- add fallback architecture for zen5 to BLIS easyblock (#4034)
33+
- add LLVM support to ParaStationMPI easyblock (#4047)
34+
- allow easier reuse of `compose_install_command` of `PythonPackage`, and add `%(python)s` template and default Python libdir in sanity check (#4050)
35+
- update ELPA easyblock to make it aware of NVHPC toolchain compiler (#4051)
36+
- add option to allow missing or additional detected PyTorch test suites (#4052)
37+
- update QuantumESPRESSO easyblock - add pretestopts + GPU test cmd (#4053)
38+
- enhance `PythonPackage` and `PythonBundle` to support updating module footers for click autocompletion for specified binaries (#4056)
39+
- updates:
40+
- update custom easyblock for FDTD-Solutions so it can be used to install Lumerical-FDTD (#3362)
41+
- changes to LLVM easyblock required for LLVM 21 (#3902)
42+
- update custom easyblock for Gurobi for version 13 (#4060)
43+
- other changes:
44+
- make `CargoPythonPackage` the default class for extensions/components of `CargoPythonBundle` (#3993)
45+
- code cleanup:
46+
- enable flake8-comprehension code style check and fix issues (#3989)
47+
748

849
v5.2.0 (23 Dec 2025)
950
--------------------

easybuild/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2025 Ghent University
2+
# Copyright 2009-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/easyblocks/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2025 Ghent University
2+
# Copyright 2009-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
@@ -42,7 +42,7 @@
4242
# recent setuptools versions will *TRANSFORM* something like 'X.Y.Zdev' into 'X.Y.Z.dev0', with a warning like
4343
# UserWarning: Normalizing '2.4.0dev' to '2.4.0.dev0'
4444
# This causes problems further up the dependency chain...
45-
VERSION = '5.2.0'
45+
VERSION = '5.2.1'
4646
UNKNOWN = 'UNKNOWN'
4747

4848

easybuild/easyblocks/a/abaqus.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2025 Ghent University
2+
# Copyright 2009-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/easyblocks/a/adf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2016-2025 Ghent University
2+
# Copyright 2016-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/easyblocks/a/advisor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2025 Ghent University
2+
# Copyright 2009-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/easyblocks/a/aedt.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2025 Ghent University
2+
# Copyright 2009-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

easybuild/easyblocks/a/amber.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
##
2-
# Copyright 2009-2025 Ghent University
3-
# Copyright 2015-2025 Stanford University
2+
# Copyright 2009-2026 Ghent University
3+
# Copyright 2015-2026 Stanford University
44
#
55
# This file is part of EasyBuild,
66
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
@@ -40,9 +40,10 @@
4040
from easybuild.easyblocks.generic.pythonpackage import det_pylibdir
4141
from easybuild.framework.easyconfig import CUSTOM
4242
from easybuild.tools.build_log import EasyBuildError
43-
from easybuild.tools.modules import get_software_root
43+
from easybuild.tools.modules import get_software_root, get_software_version
4444
from easybuild.tools.run import run_shell_cmd
4545
from easybuild.tools.filetools import remove_dir, which
46+
from easybuild.tools.systemtools import get_shared_lib_ext
4647

4748

4849
class EB_Amber(CMakeMake):
@@ -164,13 +165,25 @@ def configure_step(self):
164165

165166
pythonroot = get_software_root('Python')
166167
if pythonroot:
168+
version = get_software_version('Python')
169+
shlib_ext = get_shared_lib_ext()
167170
self.cfg.update('configopts', '-DDOWNLOAD_MINICONDA=FALSE')
168-
self.cfg.update('configopts', '-DPYTHON_EXECUTABLE=%s' % os.path.join(pythonroot, 'bin', 'python'))
169171

170172
self.pylibdir = det_pylibdir()
171173
pythonpath = os.environ.get('PYTHONPATH', '')
172174
env.setvar('PYTHONPATH', os.pathsep.join([os.path.join(self.installdir, self.pylibdir), pythonpath]))
173175

176+
# AmberTools uses the deprecated FindPythonLibs. Ensure we use the correct library and include dir
177+
version_maj_min = '.'.join(version.split('.')[:2])
178+
python_library = os.path.join(pythonroot, 'lib', f'libpython{version_maj_min}.{shlib_ext}')
179+
python_incdir = os.path.join(pythonroot, 'include', 'python%s' % version_maj_min)
180+
if not os.path.isfile(python_library):
181+
raise EasyBuildError("Cannot find Python library '%s'!" % python_library)
182+
if not os.path.isdir(python_incdir):
183+
raise EasyBuildError("Cannot find Python include directory '%s'!" % python_incdir)
184+
self.cfg.update('configopts', f'-DPYTHON_LIBRARY={python_library}')
185+
self.cfg.update('configopts', f'-DPYTHON_INCLUDE_DIR={python_incdir}')
186+
174187
if get_software_root('FFTW'):
175188
external_libs_list.append('fftw')
176189
if get_software_root('netCDF'):
@@ -343,7 +356,10 @@ def install_step(self):
343356
testdir = self.builddir
344357
testname_cs = 'test.cuda_serial'
345358
testname_cp = 'test.cuda_parallel'
346-
pretestcommands = 'source %s/amber.sh && cd %s' % (self.installdir, testdir)
359+
pretestcommands = ' && '.join([
360+
'export OMP_NUM_THREADS=1', # avoid having as many threads as cores
361+
'source %s/amber.sh && cd %s' % (self.installdir, testdir)
362+
])
347363

348364
# serial tests
349365
if LooseVersion(self.version) >= LooseVersion('24'):

easybuild/easyblocks/a/anaconda.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
##
2-
# Copyright 2009-2025 Ghent University
2+
# Copyright 2009-2026 Ghent University
33
#
44
# This file is part of EasyBuild,
55
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),

0 commit comments

Comments
 (0)