Skip to content
Snippets Groups Projects
Commit 5084130e authored by Todd Gamblin's avatar Todd Gamblin
Browse files

Merge pull request #715 from citibeth/efischer/160401-EnvironmentModules

Added Environment Modules
parents a8b85643 79836520
No related branches found
No related tags found
No related merge requests found
...@@ -794,6 +794,34 @@ Environment modules ...@@ -794,6 +794,34 @@ Environment modules
Spack provides some limited integration with environment module Spack provides some limited integration with environment module
systems to make it easier to use the packages it provides. systems to make it easier to use the packages it provides.
Installing Environment Modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to use Spack's generated environment modules, you must have
installed the *Environment Modules* package. On many Linux
distributions, this can be installed from the vendor's repository.
For example: ```yum install environment-modules``
(Fedora/RHEL/CentOS). If your Linux distribution does not have
Environment Modules, you can get it with Spack:
1. Install with::
spack install environment-modules
2. Activate with::
MODULES_HOME=`spack location -i environment-modules`
MODULES_VERSION=`ls -1 $MODULES_HOME/Modules | head -1`
${MODULES_HOME}/Modules/${MODULES_VERSION}/bin/add.modules
This adds to your ``.bashrc`` (or similar) files, enabling Environment
Modules when you log in. It will ask your permission before changing
any files.
Spack and Environment Modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can enable shell support by sourcing some files in the You can enable shell support by sourcing some files in the
``/share/spack`` directory. ``/share/spack`` directory.
......
from spack import *
class EnvironmentModules(Package):
"""The Environment Modules package provides for the dynamic
modification of a user's environment via modulefiles."""
homepage = "https://sourceforge.net/p/modules/wiki/Home/"
url = "http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz"
version('3.2.10', '8b097fdcb90c514d7540bb55a3cb90fb')
# Dependencies:
depends_on('tcl')
def install(self, spec, prefix):
tcl_spec = spec['tcl']
# See: https://sourceforge.net/p/modules/bugs/62/
CPPFLAGS = ['-DUSE_INTERP_ERRORLINE']
config_args = [
"--without-tclx",
"--with-tclx-ver=0.0",
"--prefix=%s" % prefix,
"--with-tcl=%s" % join_path(tcl_spec.prefix, 'lib'), # It looks for tclConfig.sh
"--with-tcl-ver=%d.%d" % (tcl_spec.version.version[0], tcl_spec.version.version[1]),
'--disable-debug',
'--disable-dependency-tracking',
'--disable-silent-rules',
'--disable-versioning',
'--datarootdir=%s' % prefix.share,
'CPPFLAGS=%s' % ' '.join(CPPFLAGS)
]
configure(*config_args)
make()
make('install')
from spack import *
class Modules(Package):
""" The Environment Modules package provides for the dynamic modification of a user's environment via modulefiles. """
homepage = "http://modules.sf.net"
url = "http://downloads.sourceforge.net/project/modules/Modules/modules-3.2.10/modules-3.2.10.tar.gz"
version('3.2.10', '8b097fdcb90c514d7540bb55a3cb90fb')
depends_on("tcl")
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix,
'--disable-debug',
'--disable-dependency-tracking',
'--disable-silent-rules',
'--disable-versioning',
'--datarootdir=%s' % prefix.share,
'CPPFLAGS=-DUSE_INTERP_ERRORLINE']
configure(*options)
make()
make("install")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment