|
1 | | -# eOn full default product (metatomic + xTB + Cap'n Proto serve + rgpot). |
2 | | -# Feature surface matches conda-forge eon-feedstock. |
3 | | - |
4 | 1 | easyblock = 'MesonNinja' |
5 | 2 |
|
6 | 3 | name = 'eOn' |
7 | 4 | version = '2.16.0' |
8 | 5 |
|
9 | 6 | homepage = 'https://theochemuieon.readthedocs.io/' |
10 | | -description = """ |
11 | | -eOn long-timescale atomistic simulation: adaptive kinetic Monte Carlo (AKMC), |
12 | | -nudged elastic band (NEB), and saddle-point search (min-mode, dimer). |
13 | | -
|
14 | | -This is the full default product: C++/Fortran eonclient with metatomic, xTB, |
15 | | -Cap'n Proto serve, and rgpot, plus the Python AKMC package (import eon). Feature |
16 | | -surface matches the conda-forge eon feedstock for HPC module stacks. |
17 | | -""" |
| 7 | +description = """eOn contains algorithms used to model the evolution of |
| 8 | +atomic-scale systems over long time scales.""" |
18 | 9 |
|
19 | 10 | toolchain = {'name': 'foss', 'version': '2026.1'} |
20 | 11 | toolchainopts = {'pic': True, 'openmp': True} |
@@ -77,19 +68,17 @@ dependencies = [ |
77 | 68 | ('Highway', '1.4.0'), |
78 | 69 | ('inih', '62'), |
79 | 70 | ('quill', '11.1.0', '', ('GCCcore', '15.2.0')), |
80 | | - # no gfbf-2026.1 recipe on develop yet |
81 | 71 | ('xtb', '6.7.1', '', ('gfbf', '2024a')), |
82 | 72 | ('CapnProto', '1.4.0'), |
83 | | - # no foss-2026.1 PyTorch on develop; foss-2024a uses Python 3.12 |
| 73 | + # PyTorch 2.9.1 uses Python 3.12. |
84 | 74 | ('PyTorch', '2.9.1', '', ('foss', '2024a')), |
85 | 75 | ('metatensor', '0.2.2', '', ('GCCcore', '15.2.0')), |
86 | 76 | ('metatensor-torch', '0.10.0'), |
87 | 77 | ('metatomic-torch', '0.1.15'), |
88 | 78 | ] |
89 | 79 |
|
90 | | -# Subshell: cargo cinstall must not leave CWD in the source tree for Meson. |
91 | | -# Prefer builddep Rust on PATH (edition2024). PyTorch paths use python3.12 |
92 | | -# (foss-2024a layout); do not use %(pyshortver)s for EBROOTPYTORCH. |
| 80 | +# Stage readcon-core before Meson configures eOn. The subshell restores the |
| 81 | +# source directory, and the PyTorch paths use its Python 3.12 layout. |
93 | 82 | preconfigopts = 'export PATH=$EBROOTRUST/bin:$PATH && ' |
94 | 83 | preconfigopts += 'unset RUSTFLAGS CARGO_ENCODED_RUSTFLAGS && ' |
95 | 84 | preconfigopts += 'export RUSTC_WRAPPER= CARGO_BUILD_RUSTC_WRAPPER= && ' |
@@ -123,8 +112,7 @@ configopts += "-Dnative_arch=false -Dfast_math=false -Duse_mkl=false" |
123 | 112 | postinstallcmds = [ |
124 | 113 | 'mkdir -p %(installdir)s/lib %(installdir)s/include %(installdir)s/lib/pkgconfig', |
125 | 114 | 'cp -a %(builddir)s/readcon-stage/lib/libreadcon_core* %(installdir)s/lib/', |
126 | | - # cargo-built cdylib bypasses the RPATH compiler wrappers; give it a real |
127 | | - # RPATH so rpath-mode sanity checks pass. |
| 115 | + # cargo-c does not use the EasyBuild RPATH compiler wrappers. |
128 | 116 | "patchelf --force-rpath --set-rpath '$ORIGIN' %(installdir)s/lib/libreadcon_core.so.0.13.1", |
129 | 117 | 'cp -a %(builddir)s/readcon-stage/include/readcon-core.h %(installdir)s/include/', |
130 | 118 | ("sed 's|^prefix=.*|prefix=%(installdir)s|' %(builddir)s/readcon-stage/lib/pkgconfig/readcon-core.pc > " |
|
0 commit comments