You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/easybuild-v5/enhancements.md
+51Lines changed: 51 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ Various significant enhancements are included in EasyBuild v5.0, including:
20
20
-[Provide control over how EasyBuild specifies path to header files during installation (via `--search-path-cpp-headers`)][search-path-cpp-headers]
21
21
-[Provide control over how EasyBuild specifies path to libraries during installation (via `--search-path-linker`)][search-path-linker]
22
22
-[Support not using `$PYTHONPATH` to specify the location of installed Python packages (via `--prefer-python-search-path`)][PYTHONPATH-vs-EBPYTHONPREFIXES]
23
+
-[Revamp of easyconfig parameter `modextrapaths`][modextrapaths-revamp]
23
24
-[Detect Fortran `.mod` files in `GCCcore` installations][mod-files]
24
25
-[Let `ConfigureMake` generic easyblock error out on unknown `configure` options][configuremake-unknown-configure-options]
25
26
@@ -292,6 +293,56 @@ This option is also available as easyconfig parameter
292
293
293
294
---
294
295
296
+
## Revamp of easyconfig parameter `modextrapaths` { : #modextrapaths-revamp }
297
+
298
+
The easyconfig parameter `modextrapaths` has become in EasyBuild 5.0 the only
299
+
tool needed in easyconfigs to add extra search paths into the generated module
300
+
file. The environment variables targeted in `modextrapaths` now can also be
301
+
defined with a dictionary of options to fully control how their extra search
302
+
paths will be added into the environment.
303
+
304
+
```python
305
+
modextrapaths = {
306
+
'ENV_VAR_NAME': 'extra/subdir',
307
+
'WEIRD_ENV_VAR': {
308
+
'paths': ['another/subdir1', 'another/subdir2'],
309
+
'delimiter': '+',
310
+
'prepend': False,
311
+
},
312
+
}
313
+
```
314
+
315
+
The example above shows the standard definition of an environment variable
316
+
`$ENV_VAR_NAME` that will get an extra path prepended to it. So the result in
317
+
the environment once the module file is loaded will look like `$ENV_VAR_NAME =
318
+
"/path/to/softwareroot/extra/subdir:/existing/path"`. On the other hand, the
319
+
environment variable `$WEIRD_ENV_VAR` uses a custom delimiter `+` and its paths
320
+
will be appended. So we can expect as result an environment variable that looks
321
+
like `$WEIRD_ENV_VAR = "/existing/path+/path/to/softwareroot/another/subdir1+/path/to/softwareroot/another/subdir2"`.
322
+
323
+
Complete list of options to `modextrapaths`:
324
+
325
+
-`paths`: string with a single path or list of strings with multiple paths.
326
+
Paths are glob patterns and can be relative or absolute.
327
+
-`delimiter`: character used as search path separator (default: `:`)
328
+
-`prepend`: position of paths in the environment variable (default: `True`)
329
+
-`var_type`: type of contents as defined in `easybuild.tools.modules.ModEnvVarType`
330
+
(default:`ModEnvVarType.PATH_WITH_FILES`)
331
+
332
+
Another improvement in EasyBuild 5.0 is the addition of a global variable
333
+
called `MODULE_LOAD_ENV_HEADERS` that can be used as a special key in
334
+
`modextrapaths` to add extra search paths for headers according to [new option
Copy file name to clipboardExpand all lines: docs/easybuild-v5/index.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,7 @@ Various significant enhancements are included in EasyBuild v5.0, including:
81
81
-[Provide control over how EasyBuild specifies path to header files during installation (via `--search-path-cpp-headers`)](enhancements.md#search-path-cpp-headers)
82
82
-[Provide control over how EasyBuild specifies path to libraries during installation (via `--search-path-linker`)](enhancements.md#search-path-linker)
83
83
-[Support not using `$PYTHONPATH` to specify the location of installed Python packages (via `--prefer-python-search-path`)](enhancements.md#PYTHONPATH-vs-EBPYTHONPREFIXES)
84
+
-[Revamp of easyconfig parameter `modextrapaths`](enhancements.md#modextrapaths-revamp)
84
85
-[Detect Fortran `.mod` files in `GCCcore` installations](enhancements.md#mod-files)
85
86
-[Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options](enhancements.md#configuremake-unrecognized-configure-options)
86
87
@@ -131,6 +132,9 @@ Some functionality is being deprecated in EasyBuild v5.0, and is scheduled to be
131
132
-[GC3Pie as job backend](deprecated-functionality.md#gc3pie-job-backend)
132
133
-[Using `optarch` value without leading dash](deprecated-functionality.md#optarch-dash)
133
134
-[`COMPILER*_FLAGS` attributes in `Compiler` class](deprecated-functionality.md#compiler-constants) (replaced with `COMPILER*_OPTIONS`)
135
+
-[Easyconfig parameter `modextrapaths_append`](deprecated-functionality.md#deprec_modextrapaths_append) (integrated in `modextrapaths`)
136
+
-[Easyconfig parameter `allow_append_abs_path`](deprecated-functionality.md#deprec_allow_append_abs) (integrated in `modextrapaths`)
137
+
-[Easyconfig parameter `allow_prepend_abs_path`](deprecated-functionality.md#deprec_allow_prepend_abs) (integrated in `modextrapaths`)
0 commit comments