Skip to content

Commit

Permalink
Merge pull request #1 from Flamefire/pyiron
Browse files Browse the repository at this point in the history
Improve PyIron branch
  • Loading branch information
lcniel authored Jan 23, 2024
2 parents 02e7a99 + a9c2c1e commit c1b0ae9
Show file tree
Hide file tree
Showing 529 changed files with 28,195 additions and 265 deletions.
91 changes: 90 additions & 1 deletion RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,99 @@ For more detailed information, please see the git log.

These release notes can also be consulted at https://docs.easybuild.io/en/latest/Release_notes.html.

The latest version of easybuild-easyconfig provides 18,407 easyconfig files, for 3,292 different software packages,
The latest version of easybuild-easyconfig provides 18,752 easyconfig files, for 3,369 different software packages,
incl. 40 different (compiler) toolchains.


v4.9.0 (30 December 2023)
-------------------------

feature release

- added easyconfigs for foss/2023b (#19449) and intel/2023b (#19450) common toolchains
- added example easyconfig files for 77 new software packages:
- AICSImageIO (#19315), ANTIC (#19203), BiasAdjustCXX (#19341), BOPTEST (#19295), BRiAl (#19208), castor (#19176),
CellBender (#19296), cliquer (#19210, #19323), CPMD (#19387), cppyy (#19204), CUDD (#19208), datalad (#18675),
Demystify (#17990), dftd4 (#19223), dialog (#17696), DIA-NN (#19454), dynesty (#19091), ebGSEA (#19447),
ECL (#19211), eclib (#19209), epct (#19298), EUKulele (#19217), FACE (#14840), fastml (#19357), forbear (#14840),
fplll (#19371), fpylll (#19371), ftfy (#19353), Gdspy (#19458), GFF3-toolkit (#19071), giac (#19323), GMP-ECM (#19323),
HepMC (#19139), hic-straw (#19309), HPCC (#18892), iced (#19309), IML (#19201), iperf (#19259), jedi (#19269),
jedi-language-server (#19269), jupyter-rsession-proxy (#19311), lcalc (#19329), libaed2 (#14840),
LoopTools (#19397), m4ri (#19208), m4rie (#19208), MDI (#19417), mdust (#19106), MitoHiFi (#19263), MPFI (#19323),
multicharge (#19221), OMERO.insight (#19337), OMERO.py (#19338), PFFT (#19255), primecount (#19370),
primecountpy (#19370), PyAV (#19359), pycubescd (#19302), pylipid (#19428), PySINDy (#19306),
pythermalcomfort (#19285), PyTorchVideo (#19359), R-bundle-CRAN (#19170), Restrander (#19232), scikit-lego (#19064),
scrublet (#19215), SEACells (#18724), simanneal (#19347), Simstrat (#14840), solo (#19216), SPEI (#19441),
SUPPA (#19181, #19275), SYMMETRICA (#19328), Triton (#19381), vaeda (#19214), VSCode (#19418), waLBerla (#18932)
- added additional easyconfigs for various supported software packages, including:
- ANTs 2.5.0, Arriba 2.4.0, Arrow 14.0.1, at-spi2-core 2.50.0, Autoconf-archive 2023.02.20, awscli 2.15.2,
Blender 3.6.5 + 4.0.1, Boost 1.83.0, boto3 1.28.70, Bracken 2.9, BUStools 0.43.1, cairo 1.18.0, cairomm 1.16.2,
CASTEP 23.1, cddlib 0.94m, cdo-bindings 1.6.0, CellRanger 7.2.0, CoCoALib 0.99818, COMSOL 6.2.0.290, Coreutils 9.1,
cryptography 41.0.5, CubeLib 4.8.2, CubeWriter 4.8.2, CUDA 12.3.0, CVXPY 1.3.0, cysignals 1.11.2, DBus 1.15.8,
dftd4 3.4.0, E-ANTIC 1.3.0, elfutils 0.190, f90wrap 0.2.11, FastQC 0.12.1, Ferret 7.6.0, FFLAS-FFPACK 2.5.0,
ffnvcodec 12.1.14.0, FPM 1.15.1, FriBidi 1.0.13, gap 4.12.2, git-lfs 3.4.0, GitPython 3.1.40, Givaro 4.2.0,
GLib 2.78.1, glog 0.6.0, GObject-Introspection 1.78.1, gperftools 2.13, GPyTorch 1.10, GROMACS 2023.3,
HarfBuzz 8.2.2, HiC-Pro 3.1.0, hifiasm 0.19.7, hypothesis 6.90.0, ICU 74.1, imageio 2.33.1, imkl 2024.0.0,
impi 2021.11.0, intel-compilers 2024.0.0, IPython 8.17.2, ITK 5.3.0, Kent_tools 457, KyotoCabinet 1.2.80,
LHAPDF 6.5.4, libfdf 0.5.0, libjxl 0.8.2, LinBox 1.7.0, lrslib 7.2, lxml 4.9.3, magma 2.7.2, maturin 1.3.1,
MEME 5.5.4, meson-python 0.15.0, Miniconda3 23.9.0, Mmg 5.7.2, Molden 7.3, mrcfile 1.4.3, nanoflann 1.5.0,
nauty 2.8.6, Nextflow 23.10.0, nodejs 20.9.0, Normaliz 3.10.1, NSS 3.94, NWChem 7.2.2, Oases 20180312, Pango 1.51.0,
Parallel-Hashmap 1.36, parameterized 0.9.0, phonopy 2.20.0, pigz 2.8, pmt 1.2.0, poetry 1.6.1, PostgreSQL 16.1,
pplpy 0.8.9, PyCairo 1.25.1, pypmt 1.2.0, PyQt5 5.15.7, pytest 7.4.2, pytest-xdist 3.3.1,
Python-bundle-PyPI 2023.10, PyTorch 2.1.2, R 4.3.2, RASPA2 2.0.47, SBCL 2.3.11, SCENIC 1.3.0, scikit-image 0.22.0,
SciPy-bundle 2023.11, SDL2 2.28.5, setuptools-rust 1.8.0, Seurat 4.4.0, SimpleITK 2.3.1, Singular 4.3.2p10,
Spark 3.5.0, STAR 2.7.11a, STAR-CCM+ 2310, strace 6.6, SuiteSparse 7.1.0, tbb 2021.11.0, TOML-Fortran 0.4.1,
TRAVIS-Analyzer 220729, UCX-CUDA 1.15.0, VirSorter 1.0.6, virtualenv 20.24.6, VSEARCH 2.25.0, VTK 9.3.0,
wandb 0.16.1, XGBoost 2.0.2, xprop 1.2.6, xtb 6.6.1, Xvfb 21.1.9, xxd 9.0.2112
- minor enhancements, including:
- add sanity check commands for recent GDB versions (#19102)
- add aarch64 and ppc64le checksums to NVHPC 23.7 (#19249)
- allow Python version of Z3 to be used as a dependency (#19354)
- various bug fixes, including:
- use `CargoPythonBundle` generic easyblock for timm to install required Rust packages in a controlled way (#18332)
- add alternate checksum for OpenImageIO v2.4.14.0 (#19090)
- only set flag `--enable-asmjit` for PLUMED when installing on `x86_64` (#19110)
- ensure right Python version is used in DP3, WSClean and dependencies by specifying `-DPython3_EXECUTABLE` CMake option (#19119)
- add patch to work around potential crash in PyTorch 1.13.1 caused by GCC 12 compiler bug (#19133)
- add patch to fix detection of newer Intel CPUs in OpenBLAS 0.3.20 through 0.3.23 (#19141)
- remove outdated `--disable-docs` configure option from FriBidi-1.0.12 (#19147)
- add libiconv dependency to gettext 0.22 (#19155)
- fix OpenBLAS 0.3.20+ on newer Intel CPUs (#19159)
- only use ScaFaCos as dependency for LAMMPS 23Jun2022 on `x86_64` (#19164)
- add patch to fix regression in GCC 12.x on AVX512 systems (#19180)
- add pkgconf build dependency to libGLU (#19186)
- sidestep some build issues with CUDA-Samples 12.1 (#19189)
- make Pillow easyconfigs aware of sysroot template (#19226, #19267)
- fix possible error/crash in NCCL on x86 due to cpuid (#19231)
- reduce timestep to fix sanity check commands in LAMMPS 23Jun2022 (#19246)
- add patch for GCC 12.x to fix miscompiling C++ code causing double-free in case of exceptions (#19253)
- replace format tag with explicit extension name in Optuna v3.0.3 (#19256)
- enhance easyconfigs for gnuplot 5.4.x to make sure that Lua dependency is always used (#19261)
- patch setup.py for grpcio extension in TensorFlow 2.13.0 easyconfigs to take into account alternate sysroot (#19268)
- avoid indirect dependency on old CMake version built with GCCcore/10.2.0 via Catch2 build dependency using system toolchain in recent pybind11 easyconfigs (#19270)
- use existing patch in pybind11 2.6.2 and 2.7.1 to fix failing test due to extra whitespace (#19279)
- change toolchain in `json-fortran` easyconfigs to `GCC`, since it includes Fortran modules (#19283)
- remove Unicode character in description of SMRT-Link easyconfigs (#19312)
- don't use `%(namelower)s` template in extension name in IPython v8.14.0 easyconfig (#19330)
- add patch to fix `[cz]asums` in OpenBLAS 0.3.24 (#19331)
- fix failing tokenizers with `CargoPythonPackage` easyblock (#19333)
- define `$GTKDOCIZE` as '`echo`' before generating configure script for new HarfBuzz versions (#19339)
- fix PAPI test step hanging on some systems (#19372)
- compile LERC test binary in `postinstallcmds` to fix sanity check error when RPATH linking is enabled (#19386)
- use `GCC` toolchain in `kim-api`, since it includes Fortran modules (#19399, #19401, #19402, #19403, #19404, #19405)
- fix wrong handling of floats in z3-solver (#19414)
- Fix numpy build on Sapphire Rapids CPUs in SciPy-bundle-2023.07-gfbf-2023a (#19419, #19425)
- allow ITK legacy code and Python wrappers in ITK v5.2.1 (#19431)
- link to xxHash library provided via EasyBuild in python-xxhash v3.2.0 (#19432)
- include MPFR 4.1.0 patch in MPFR 4.2.0 easyconfigs to fix failing tsprintf test with glibc >= 2.37 (#19438)
- skip `Test::Sys::Info` test that expects `/etc/fstab` in Perl-bundle-CPAN (#19440)
- exclude `cdp*` CUDA samples that fail to build on aarch64 in CUDA-Samples v12.1 (#19451)
- other changes:
- let SuiteSparse easyblock set `CMAKE_OPTIONS` for SuiteSparse v7.1.0 (#19177)
- add versionsuffix `-param` to easyconfig for ReaxFF 2.0 (#19307)
- use `LooseVersion` from `easybuild.tools` (#19376)


v4.8.2 (29 October 2023)
------------------------

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'PythonPackage'

name = 'f90nml'
version = '1.4.4'

homepage = 'https://github.com/marshallward/f90nml'
description = """A Python module and command line tool for parsing
Fortran namelist files"""

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

sources = [SOURCE_TAR_GZ]
checksums = ['65e8e135779895245238cbf6be5b1b80d6c2b8c9350c9cdce6183a31bdfd7622']

builddependencies = [
('binutils', '2.35'),
]
dependencies = [
('Python', '3.8.6'),
('PyYAML', '5.3.1')
]

use_pip = True
download_dep_fail = True
sanity_pip_check = True

moduleclass = 'tools'
41 changes: 41 additions & 0 deletions easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
easyblock = 'CMakeMake'

name = 'ALL'
version = '0.9.2'

homepage = 'https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing'
description = """A Load Balancing Library (ALL) aims to provide an easy way to include dynamic
domain-based load balancing into particle based simulation codes. The library
is developed in the Simulation Laboratory Molecular Systems of the Jülich
Supercomputing Centre at Forschungszentrum Jülich."""

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

source_urls = ["https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing/-/archive/v%(version)s/"]
sources = ['loadbalancing-v%(version)s.tar.gz']
checksums = ['2b4ef52c604c3c0c467712d0912a33c82177610b67edc14df1e034779c6ddb71']

builddependencies = [
('CMake', '3.26.3'),
('Boost', '1.82.0'), # only needed for tests
]

dependencies = [
('VTK', '9.3.0'),
]

configopts = '-DCM_ALL_FORTRAN=ON -DCM_ALL_USE_F08=ON -DCM_ALL_VORONOI=ON -DCM_ALL_VTK_OUTPUT=ON '
configopts += '-DCM_ALL_TESTS=ON -DCM_ALL_AUTO_DOC=OFF -DVTK_DIR=$EBROOTVTK '

runtest = 'test'

sanity_check_paths = {
'files': [
'include/ALL.hpp', 'include/ALL_Voronoi.hpp', 'lib/all_module.mod',
'lib/libALL.a', 'lib/libALL_fortran.a'
],
'dirs': ['lib/cmake'],
}

moduleclass = 'lib'
47 changes: 47 additions & 0 deletions easybuild/easyconfigs/a/AMS/AMS-2023.104-iimpi-2022b-intelmpi.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
easyblock = 'Tarball'

name = 'AMS'
version = '2023.104'
versionsuffix = '-intelmpi'

homepage = 'https://www.scm.com/amsterdam-modeling-suite/'
description = """
The Amsterdam Modeling Suite (AMS) provides a comprehensive set of modules for
computational chemistry and materials science, from quantum mechanics to fluid
thermodynamics.
"""

toolchain = {'name': 'iimpi', 'version': '2022b'}

sources = ['ams%(version)s.pc64_linux.intelmpi.bin.tgz']
checksums = ['c977014f14291f7f210be7e48bc28f71ab0a076a5af257e92f2c873f54d208af']

dependencies = [('libGLU', '9.0.2')]

keepsymlinks = True

sanity_check_paths = {
'files': [],
'dirs': ['atomicdata', 'bin', 'examples'],
}

# check if license file is installed
# sanity_check_commands = ['dirac check']

modextrapaths = {
'AMSHOME': '',
'AMSBIN': 'bin',
'AMSRESOURCES': 'atomicdata',
}

modextravars = {
# use Intel MPI from EasyBuild
'SCM_USE_LOCAL_IMPI': '1',
}

modloadmsg = """These environment variables need to be defined before using AMS:
* $SCMLICENSE: path to AMS license file
* $SCM_TMPDIR: path to user scratch directory
"""

moduleclass = 'chem'
8 changes: 7 additions & 1 deletion easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ toolchain = {'name': 'gfbf', 'version': '2022b'}

source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s']
sources = ['apache-arrow-%(version)s.tar.gz']
checksums = ['2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430']
patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch']
checksums = [
{'apache-arrow-11.0.0.tar.gz': '2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430'},
{'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch':
'2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'},
]

builddependencies = [
('CMake', '3.24.3'),
Expand Down Expand Up @@ -69,6 +74,7 @@ sanity_check_commands = [
"python -c 'import pyarrow'",
"python -c 'import pyarrow.dataset'",
"python -c 'import pyarrow.parquet'",
"python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'",
]

moduleclass = 'data'
8 changes: 7 additions & 1 deletion easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021a.eb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ toolchain = {'name': 'foss', 'version': '2021a'}

source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s']
sources = ['apache-arrow-%(version)s.tar.gz']
checksums = ['ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3']
patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch']
checksums = [
{'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'},
{'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch':
'2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'},
]

builddependencies = [
('CMake', '3.20.1'),
Expand Down Expand Up @@ -66,6 +71,7 @@ sanity_check_commands = [
"python -c 'import pyarrow'",
"python -c 'import pyarrow.dataset'",
"python -c 'import pyarrow.parquet'",
"python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'",
]

moduleclass = 'data'
8 changes: 7 additions & 1 deletion easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.eb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ toolchain = {'name': 'foss', 'version': '2022.05'}

source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s']
sources = ['apache-arrow-%(version)s.tar.gz']
checksums = ['ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3']
patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch']
checksums = [
{'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'},
{'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch':
'2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'},
]

builddependencies = [
('CMake', '3.23.1'),
Expand Down Expand Up @@ -66,6 +71,7 @@ sanity_check_commands = [
"python -c 'import pyarrow'",
"python -c 'import pyarrow.dataset'",
"python -c 'import pyarrow.parquet'",
"python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'",
]

moduleclass = 'data'
8 changes: 7 additions & 1 deletion easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ toolchain = {'name': 'foss', 'version': '2022a'}

source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s']
sources = ['apache-arrow-%(version)s.tar.gz']
checksums = ['ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3']
patches = ['Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch']
checksums = [
{'apache-arrow-8.0.0.tar.gz': 'ad9a05705117c989c116bae9ac70492fe015050e1b80fb0e38fde4b5d863aaa3'},
{'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch':
'2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'},
]

builddependencies = [
('CMake', '3.23.1'),
Expand Down Expand Up @@ -66,6 +71,7 @@ sanity_check_commands = [
"python -c 'import pyarrow'",
"python -c 'import pyarrow.dataset'",
"python -c 'import pyarrow.parquet'",
"python -c 'from pyarrow.lib import BaseExtensionType; print(BaseExtensionType.__arrow_ext_class__)'",
]

moduleclass = 'data'
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
fix for:
AttributeError: 'pyarrow.lib.BaseExtensionType' object has no attribute '__arrow_ext_class__'
see https://github.com/apache/arrow/pull/33802
diff -u python/pyarrow/types.pxi.orig python/pyarrow/types.pxi
--- python/pyarrow/types.pxi.orig 2022-05-03 18:59:12.000000000 +0200
+++ python/pyarrow/types.pxi 2024-01-09 13:15:20.313755064 +0100
@@ -760,6 +836,18 @@
DataType.init(self, type)
self.ext_type = <const CExtensionType*> type.get()

+ def __arrow_ext_class__(self):
+ """
+ The associated array extension class
+ """
+ return ExtensionArray
+
+ def __arrow_ext_scalar_class__(self):
+ """
+ The associated scalar class
+ """
+ return ExtensionScalar
+
@property
def extension_name(self):
"""
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and

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

source_urls = ['ftp://ftp.alsa-project.org/pub/lib/']
source_urls = ['https://www.alsa-project.org/files/pub/lib/']
sources = [SOURCE_TAR_BZ2]
checksums = ['f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7']

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and

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

source_urls = ['ftp://ftp.alsa-project.org/pub/lib/']
source_urls = ['https://www.alsa-project.org/files/pub/lib/']
sources = [SOURCE_TAR_BZ2]
checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347']

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and

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

source_urls = ['ftp://ftp.alsa-project.org/pub/lib/']
source_urls = ['https://www.alsa-project.org/files/pub/lib/']
sources = [SOURCE_TAR_BZ2]
checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347']

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description = """The Advanced Linux Sound Architecture (ALSA) provides audio and

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

source_urls = ['ftp://ftp.alsa-project.org/pub/lib/']
source_urls = ['https://www.alsa-project.org/files/pub/lib/']
sources = [SOURCE_TAR_BZ2]
checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347']

Expand Down
Loading

0 comments on commit c1b0ae9

Please sign in to comment.