Fix case spelling for Lmod and Tcl (#36215)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							4ffdde94ef
						
					
				
				
					commit
					df97827a7b
				
			@@ -942,7 +942,7 @@ first ``libelf`` above, you would run:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   $ spack load /qmm4kso
 | 
					   $ spack load /qmm4kso
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To see which packages that you have loaded to your enviornment you would
 | 
					To see which packages that you have loaded to your environment you would
 | 
				
			||||||
use ``spack find --loaded``.
 | 
					use ``spack find --loaded``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code-block:: console
 | 
					.. code-block:: console
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@ your Spack mirror and then downloaded and installed by others.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Whenever a mirror provides prebuilt packages, Spack will take these packages
 | 
					Whenever a mirror provides prebuilt packages, Spack will take these packages
 | 
				
			||||||
into account during concretization and installation, making ``spack install``
 | 
					into account during concretization and installation, making ``spack install``
 | 
				
			||||||
signficantly faster.
 | 
					significantly faster.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. note::
 | 
					.. note::
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -124,7 +124,7 @@ Using oneAPI Tools Installed by Spack
 | 
				
			|||||||
=====================================
 | 
					=====================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Spack can be a convenient way to install and configure compilers and
 | 
					Spack can be a convenient way to install and configure compilers and
 | 
				
			||||||
libaries, even if you do not intend to build a Spack package. If you
 | 
					libraries, even if you do not intend to build a Spack package. If you
 | 
				
			||||||
want to build a Makefile project using Spack-installed oneAPI compilers,
 | 
					want to build a Makefile project using Spack-installed oneAPI compilers,
 | 
				
			||||||
then use spack to configure your environment::
 | 
					then use spack to configure your environment::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -397,7 +397,7 @@ for specifics and examples for ``packages.yaml`` files.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
.. If your system administrator did not provide modules for pre-installed Intel
 | 
					.. If your system administrator did not provide modules for pre-installed Intel
 | 
				
			||||||
   tools, you could do well to ask for them, because installing multiple copies
 | 
					   tools, you could do well to ask for them, because installing multiple copies
 | 
				
			||||||
   of the Intel tools, as is wont to happen once Spack is in the picture, is
 | 
					   of the Intel tools, as is won't to happen once Spack is in the picture, is
 | 
				
			||||||
   bound to stretch disk space and patience thin. If you *are* the system
 | 
					   bound to stretch disk space and patience thin. If you *are* the system
 | 
				
			||||||
   administrator and are still new to modules, then perhaps it's best to follow
 | 
					   administrator and are still new to modules, then perhaps it's best to follow
 | 
				
			||||||
   the `next section <Installing Intel tools within Spack_>`_ and install the tools
 | 
					   the `next section <Installing Intel tools within Spack_>`_ and install the tools
 | 
				
			||||||
@@ -653,7 +653,7 @@ follow `the next section <intel-install-libs_>`_ instead.
 | 
				
			|||||||
   * If you specified a custom variant (for example ``+vtune``) you may want to add this as your
 | 
					   * If you specified a custom variant (for example ``+vtune``) you may want to add this as your
 | 
				
			||||||
     preferred variant in the packages configuration for the ``intel-parallel-studio`` package
 | 
					     preferred variant in the packages configuration for the ``intel-parallel-studio`` package
 | 
				
			||||||
     as described in :ref:`package-preferences`. Otherwise you will have to specify
 | 
					     as described in :ref:`package-preferences`. Otherwise you will have to specify
 | 
				
			||||||
     the variant everytime ``intel-parallel-studio`` is being used as ``mkl``, ``fftw`` or ``mpi``
 | 
					     the variant every time ``intel-parallel-studio`` is being used as ``mkl``, ``fftw`` or ``mpi``
 | 
				
			||||||
     implementation to avoid pulling in a different variant.
 | 
					     implementation to avoid pulling in a different variant.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   * To set the Intel compilers for default use in Spack, instead of the usual ``%gcc``,
 | 
					   * To set the Intel compilers for default use in Spack, instead of the usual ``%gcc``,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -582,7 +582,7 @@ libraries. Make sure not to add modules/packages containing the word
 | 
				
			|||||||
"test", as these likely won't end up in the installation directory,
 | 
					"test", as these likely won't end up in the installation directory,
 | 
				
			||||||
or may require test dependencies like pytest to be installed.
 | 
					or may require test dependencies like pytest to be installed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Instead of defining the ``import_modules`` explicity, only the subset
 | 
					Instead of defining the ``import_modules`` explicitly, only the subset
 | 
				
			||||||
of module names to be skipped can be defined by using ``skip_modules``.
 | 
					of module names to be skipped can be defined by using ``skip_modules``.
 | 
				
			||||||
If a defined module has submodules, they are skipped as well, e.g.,
 | 
					If a defined module has submodules, they are skipped as well, e.g.,
 | 
				
			||||||
in case the ``plotting`` modules should be excluded from the
 | 
					in case the ``plotting`` modules should be excluded from the
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -296,7 +296,7 @@ String Concatenation
 | 
				
			|||||||
Above, the user ``config.yaml`` *completely* overrides specific settings in the
 | 
					Above, the user ``config.yaml`` *completely* overrides specific settings in the
 | 
				
			||||||
default ``config.yaml``. Sometimes, it is useful to add a suffix/prefix
 | 
					default ``config.yaml``. Sometimes, it is useful to add a suffix/prefix
 | 
				
			||||||
to a path or name. To do this, you can use the ``-:`` notation for *append*
 | 
					to a path or name. To do this, you can use the ``-:`` notation for *append*
 | 
				
			||||||
string concatentation at the end of a key in a configuration file. For example:
 | 
					string concatenation at the end of a key in a configuration file. For example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code-block:: yaml
 | 
					.. code-block:: yaml
 | 
				
			||||||
   :emphasize-lines: 1
 | 
					   :emphasize-lines: 1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -472,7 +472,7 @@ use my new hook as follows:
 | 
				
			|||||||
.. code-block:: python
 | 
					.. code-block:: python
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def post_log_write(message, level):
 | 
					    def post_log_write(message, level):
 | 
				
			||||||
        """Do something custom with the messsage and level every time we write
 | 
					        """Do something custom with the message and level every time we write
 | 
				
			||||||
        to the log
 | 
					        to the log
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        print('running post_log_write!')
 | 
					        print('running post_log_write!')
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1597,8 +1597,8 @@ in a Windows CMD prompt.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
.. note::
 | 
					.. note::
 | 
				
			||||||
   If you chose to install Spack into a directory on Windows that is set up to require Administrative
 | 
					   If you chose to install Spack into a directory on Windows that is set up to require Administrative
 | 
				
			||||||
   Privleges, Spack will require elevated privleges to run.
 | 
					   Privileges, Spack will require elevated privileges to run.
 | 
				
			||||||
   Administrative Privleges can be denoted either by default such as
 | 
					   Administrative Privileges can be denoted either by default such as
 | 
				
			||||||
   ``C:\Program Files``, or aministrator applied administrative restrictions
 | 
					   ``C:\Program Files``, or aministrator applied administrative restrictions
 | 
				
			||||||
   on a directory that spack installs files to such as ``C:\Users``
 | 
					   on a directory that spack installs files to such as ``C:\Users``
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1694,7 +1694,7 @@ Spack console via:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   spack install cpuinfo
 | 
					   spack install cpuinfo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If in the previous step, you did not have CMake or Ninja installed, running the command above should boostrap both packages
 | 
					If in the previous step, you did not have CMake or Ninja installed, running the command above should bootstrap both packages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"""""""""""""""""""""""""""
 | 
					"""""""""""""""""""""""""""
 | 
				
			||||||
Windows Compatible Packages
 | 
					Windows Compatible Packages
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@ The use of module systems to manage user environment in a controlled way
 | 
				
			|||||||
is a common practice at HPC centers that is often embraced also by
 | 
					is a common practice at HPC centers that is often embraced also by
 | 
				
			||||||
individual programmers on their development machines. To support this
 | 
					individual programmers on their development machines. To support this
 | 
				
			||||||
common practice Spack integrates with `Environment Modules
 | 
					common practice Spack integrates with `Environment Modules
 | 
				
			||||||
<http://modules.sourceforge.net/>`_ and `LMod
 | 
					<http://modules.sourceforge.net/>`_ and `Lmod
 | 
				
			||||||
<http://lmod.readthedocs.io/en/latest/>`_ by providing post-install hooks
 | 
					<http://lmod.readthedocs.io/en/latest/>`_ by providing post-install hooks
 | 
				
			||||||
that generate module files and commands to manipulate them.
 | 
					that generate module files and commands to manipulate them.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -88,9 +88,9 @@ the different file formats that can be generated by Spack:
 | 
				
			|||||||
  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 | 
					  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 | 
				
			||||||
  |                             | **Hook name**      |  **Default root directory**   | **Default template file**                    | **Compatible tools** |
 | 
					  |                             | **Hook name**      |  **Default root directory**   | **Default template file**                    | **Compatible tools** |
 | 
				
			||||||
  +=============================+====================+===============================+==============================================+======================+
 | 
					  +=============================+====================+===============================+==============================================+======================+
 | 
				
			||||||
  |  **TCL - Non-Hierarchical** | ``tcl``            |  share/spack/modules          | share/spack/templates/modules/modulefile.tcl | Env. Modules/LMod    |
 | 
					  |  **Tcl - Non-Hierarchical** | ``tcl``            |  share/spack/modules          | share/spack/templates/modules/modulefile.tcl | Env. Modules/Lmod    |
 | 
				
			||||||
  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 | 
					  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 | 
				
			||||||
  |  **Lua - Hierarchical**     | ``lmod``           |  share/spack/lmod             | share/spack/templates/modules/modulefile.lua | LMod                 |
 | 
					  |  **Lua - Hierarchical**     | ``lmod``           |  share/spack/lmod             | share/spack/templates/modules/modulefile.lua | Lmod                 |
 | 
				
			||||||
  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 | 
					  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -391,13 +391,13 @@ name and version for all packages that depend on mpi.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
When specifying module names by projection for Lmod modules, we
 | 
					When specifying module names by projection for Lmod modules, we
 | 
				
			||||||
recommend NOT including names of dependencies (e.g., MPI, compilers)
 | 
					recommend NOT including names of dependencies (e.g., MPI, compilers)
 | 
				
			||||||
that are already in the LMod hierarchy.
 | 
					that are already in the Lmod hierarchy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. note::
 | 
					.. note::
 | 
				
			||||||
   TCL modules
 | 
					   Tcl modules
 | 
				
			||||||
     TCL modules also allow for explicit conflicts between modulefiles.
 | 
					     Tcl modules also allow for explicit conflicts between modulefiles.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     .. code-block:: yaml
 | 
					     .. code-block:: yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -421,9 +421,9 @@ that are already in the LMod hierarchy.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. note::
 | 
					.. note::
 | 
				
			||||||
   LMod hierarchical module files
 | 
					   Lmod hierarchical module files
 | 
				
			||||||
     When ``lmod`` is activated Spack will generate a set of hierarchical lua module
 | 
					     When ``lmod`` is activated Spack will generate a set of hierarchical lua module
 | 
				
			||||||
     files that are understood by LMod. The hierarchy will always contain the
 | 
					     files that are understood by Lmod. The hierarchy will always contain the
 | 
				
			||||||
     two layers ``Core`` / ``Compiler`` but can be further extended to
 | 
					     two layers ``Core`` / ``Compiler`` but can be further extended to
 | 
				
			||||||
     any of the virtual dependencies present in Spack. A case that could be useful in
 | 
					     any of the virtual dependencies present in Spack. A case that could be useful in
 | 
				
			||||||
     practice is for instance:
 | 
					     practice is for instance:
 | 
				
			||||||
@@ -445,7 +445,7 @@ that are already in the LMod hierarchy.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
     that will generate a hierarchy in which the ``lapack`` and ``mpi`` layer can be switched
 | 
					     that will generate a hierarchy in which the ``lapack`` and ``mpi`` layer can be switched
 | 
				
			||||||
     independently. This allows a site to build the same libraries or applications against different
 | 
					     independently. This allows a site to build the same libraries or applications against different
 | 
				
			||||||
     implementations of ``mpi`` and ``lapack``, and let LMod switch safely from one to the
 | 
					     implementations of ``mpi`` and ``lapack``, and let Lmod switch safely from one to the
 | 
				
			||||||
     other.
 | 
					     other.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     All packages built with a compiler in ``core_compilers`` and all
 | 
					     All packages built with a compiler in ``core_compilers`` and all
 | 
				
			||||||
@@ -455,12 +455,12 @@ that are already in the LMod hierarchy.
 | 
				
			|||||||
.. warning::
 | 
					.. warning::
 | 
				
			||||||
  Consistency of Core packages
 | 
					  Consistency of Core packages
 | 
				
			||||||
   The user is responsible for maintining consistency among core packages, as ``core_specs``
 | 
					   The user is responsible for maintining consistency among core packages, as ``core_specs``
 | 
				
			||||||
   bypasses the hierarchy that allows LMod to safely switch between coherent software stacks.
 | 
					   bypasses the hierarchy that allows Lmod to safely switch between coherent software stacks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. warning::
 | 
					.. warning::
 | 
				
			||||||
  Deep hierarchies and ``lmod spider``
 | 
					  Deep hierarchies and ``lmod spider``
 | 
				
			||||||
   For hierarchies that are deeper than three layers ``lmod spider`` may have some issues.
 | 
					   For hierarchies that are deeper than three layers ``lmod spider`` may have some issues.
 | 
				
			||||||
   See `this discussion on the LMod project <https://github.com/TACC/Lmod/issues/114>`_.
 | 
					   See `this discussion on the Lmod project <https://github.com/TACC/Lmod/issues/114>`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
""""""""""""""""""""""
 | 
					""""""""""""""""""""""
 | 
				
			||||||
Select default modules
 | 
					Select default modules
 | 
				
			||||||
@@ -529,7 +529,7 @@ installed to ``/spack/prefix/foo``, if ``foo`` installs executables to
 | 
				
			|||||||
update ``MANPATH``.
 | 
					update ``MANPATH``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The default list of environment variables in this config section
 | 
					The default list of environment variables in this config section
 | 
				
			||||||
inludes ``PATH``, ``MANPATH``, ``ACLOCAL_PATH``, ``PKG_CONFIG_PATH``
 | 
					includes ``PATH``, ``MANPATH``, ``ACLOCAL_PATH``, ``PKG_CONFIG_PATH``
 | 
				
			||||||
and ``CMAKE_PREFIX_PATH``, as well as ``DYLD_FALLBACK_LIBRARY_PATH``
 | 
					and ``CMAKE_PREFIX_PATH``, as well as ``DYLD_FALLBACK_LIBRARY_PATH``
 | 
				
			||||||
on macOS. On Linux however, the corresponding ``LD_LIBRARY_PATH``
 | 
					on macOS. On Linux however, the corresponding ``LD_LIBRARY_PATH``
 | 
				
			||||||
variable is *not* set, because it affects the behavior of
 | 
					variable is *not* set, because it affects the behavior of
 | 
				
			||||||
@@ -629,7 +629,7 @@ by its dependency; when the dependency is autoloaded, the executable will be in
 | 
				
			|||||||
PATH. Similarly for scripting languages such as Python, packages and their dependencies
 | 
					PATH. Similarly for scripting languages such as Python, packages and their dependencies
 | 
				
			||||||
have to be loaded together.
 | 
					have to be loaded together.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Autoloading is enabled by default for LMod, as it has great builtin support for through
 | 
					Autoloading is enabled by default for Lmod, as it has great builtin support for through
 | 
				
			||||||
the ``depends_on`` function. For Environment Modules it is disabled by default.
 | 
					the ``depends_on`` function. For Environment Modules it is disabled by default.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Autoloading can also be enabled conditionally:
 | 
					Autoloading can also be enabled conditionally:
 | 
				
			||||||
@@ -650,7 +650,7 @@ The allowed values for the ``autoload`` statement are either ``none``,
 | 
				
			|||||||
``direct`` or ``all``.
 | 
					``direct`` or ``all``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. note::
 | 
					.. note::
 | 
				
			||||||
  TCL prerequisites
 | 
					  Tcl prerequisites
 | 
				
			||||||
     In the ``tcl`` section of the configuration file it is possible to use
 | 
					     In the ``tcl`` section of the configuration file it is possible to use
 | 
				
			||||||
     the ``prerequisites`` directive that accepts the same values as
 | 
					     the ``prerequisites`` directive that accepts the same values as
 | 
				
			||||||
     ``autoload``. It will produce module files that have a ``prereq``
 | 
					     ``autoload``. It will produce module files that have a ``prereq``
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2998,12 +2998,12 @@ follows:
 | 
				
			|||||||
       def libs(self):
 | 
					       def libs(self):
 | 
				
			||||||
           return find_libraries("libFoo", root=self.home, recursive=True)
 | 
					           return find_libraries("libFoo", root=self.home, recursive=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       # The header provided by the bar virutal package
 | 
					       # The header provided by the bar virtual package
 | 
				
			||||||
       @property
 | 
					       @property
 | 
				
			||||||
       def bar_headers(self):
 | 
					       def bar_headers(self):
 | 
				
			||||||
           return find_headers("bar/bar.h", root=self.home.include, recursive=False)
 | 
					           return find_headers("bar/bar.h", root=self.home.include, recursive=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       # The libary provided by the bar virtual package
 | 
					       # The library provided by the bar virtual package
 | 
				
			||||||
       @property
 | 
					       @property
 | 
				
			||||||
       def bar_libs(self):
 | 
					       def bar_libs(self):
 | 
				
			||||||
           return find_libraries("libFooBar", root=sef.home, recursive=True)
 | 
					           return find_libraries("libFooBar", root=sef.home, recursive=True)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
 | 
					# SPDX-License-Identifier: (Apache-2.0 OR MIT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"""This package contains code for creating environment modules, which can
 | 
					"""This package contains code for creating environment modules, which can
 | 
				
			||||||
include TCL non-hierarchical modules, LUA hierarchical modules, and others.
 | 
					include Tcl non-hierarchical modules, Lua hierarchical modules, and others.
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from __future__ import absolute_import
 | 
					from __future__ import absolute_import
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
 | 
					# SPDX-License-Identifier: (Apache-2.0 OR MIT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"""This module implements the classes necessary to generate TCL
 | 
					"""This module implements the classes necessary to generate Tcl
 | 
				
			||||||
non-hierarchical modules.
 | 
					non-hierarchical modules.
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
import posixpath
 | 
					import posixpath
 | 
				
			||||||
@@ -19,7 +19,7 @@
 | 
				
			|||||||
from .common import BaseConfiguration, BaseContext, BaseFileLayout, BaseModuleFileWriter
 | 
					from .common import BaseConfiguration, BaseContext, BaseFileLayout, BaseModuleFileWriter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: TCL specific part of the configuration
 | 
					#: Tcl specific part of the configuration
 | 
				
			||||||
def configuration(module_set_name):
 | 
					def configuration(module_set_name):
 | 
				
			||||||
    config_path = "modules:%s:tcl" % module_set_name
 | 
					    config_path = "modules:%s:tcl" % module_set_name
 | 
				
			||||||
    config = spack.config.get(config_path, {})
 | 
					    config = spack.config.get(config_path, {})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -479,7 +479,7 @@ def test_from_environment_diff(before, after, search_list):
 | 
				
			|||||||
        assert item in mod
 | 
					        assert item in mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@pytest.mark.skipif(sys.platform == "win32", reason="LMod not supported on Windows")
 | 
					@pytest.mark.skipif(sys.platform == "win32", reason="Lmod not supported on Windows")
 | 
				
			||||||
@pytest.mark.regression("15775")
 | 
					@pytest.mark.regression("15775")
 | 
				
			||||||
def test_exclude_lmod_variables():
 | 
					def test_exclude_lmod_variables():
 | 
				
			||||||
    # Construct the list of environment modifications
 | 
					    # Construct the list of environment modifications
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,7 @@ def test_modules_written_with_proper_permissions(
 | 
				
			|||||||
    spec = spack.spec.Spec("mpileaks").concretized()
 | 
					    spec = spack.spec.Spec("mpileaks").concretized()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # The code tested is common to all module types, but has to be tested from
 | 
					    # The code tested is common to all module types, but has to be tested from
 | 
				
			||||||
    # one. TCL picked at random
 | 
					    # one. Tcl picked at random
 | 
				
			||||||
    generator = spack.modules.tcl.TclModulefileWriter(spec, "default")
 | 
					    generator = spack.modules.tcl.TclModulefileWriter(spec, "default")
 | 
				
			||||||
    generator.write()
 | 
					    generator.write()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,7 +88,7 @@ def test_compilers_provided_different_name(self, factory, module_configuration):
 | 
				
			|||||||
        assert provides["compiler"] == spack.spec.CompilerSpec("oneapi@3.0")
 | 
					        assert provides["compiler"] == spack.spec.CompilerSpec("oneapi@3.0")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_simple_case(self, modulefile_content, module_configuration):
 | 
					    def test_simple_case(self, modulefile_content, module_configuration):
 | 
				
			||||||
        """Tests the generation of a simple TCL module file."""
 | 
					        """Tests the generation of a simple Tcl module file."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        module_configuration("autoload_direct")
 | 
					        module_configuration("autoload_direct")
 | 
				
			||||||
        content = modulefile_content(mpich_spec_string)
 | 
					        content = modulefile_content(mpich_spec_string)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,7 @@
 | 
				
			|||||||
@pytest.mark.usefixtures("config", "mock_packages", "mock_module_filename")
 | 
					@pytest.mark.usefixtures("config", "mock_packages", "mock_module_filename")
 | 
				
			||||||
class TestTcl(object):
 | 
					class TestTcl(object):
 | 
				
			||||||
    def test_simple_case(self, modulefile_content, module_configuration):
 | 
					    def test_simple_case(self, modulefile_content, module_configuration):
 | 
				
			||||||
        """Tests the generation of a simple TCL module file."""
 | 
					        """Tests the generation of a simple Tcl module file."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        module_configuration("autoload_direct")
 | 
					        module_configuration("autoload_direct")
 | 
				
			||||||
        content = modulefile_content(mpich_spec_string)
 | 
					        content = modulefile_content(mpich_spec_string)
 | 
				
			||||||
@@ -318,7 +318,7 @@ def test_extend_context(self, modulefile_content, module_configuration):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        assert 'puts stderr "sentence from package"' in content
 | 
					        assert 'puts stderr "sentence from package"' in content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        short_description = 'module-whatis "This package updates the context for TCL modulefiles."'
 | 
					        short_description = 'module-whatis "This package updates the context for Tcl modulefiles."'
 | 
				
			||||||
        assert short_description in content
 | 
					        assert short_description in content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @pytest.mark.regression("4400")
 | 
					    @pytest.mark.regression("4400")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,7 +98,7 @@ def get_path_args_from_module_line(line):
 | 
				
			|||||||
        words_and_symbols = line.split(lua_quote)
 | 
					        words_and_symbols = line.split(lua_quote)
 | 
				
			||||||
        path_arg = words_and_symbols[-2]
 | 
					        path_arg = words_and_symbols[-2]
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        # The path arg is the 3rd "word" of the line in a TCL module
 | 
					        # The path arg is the 3rd "word" of the line in a Tcl module
 | 
				
			||||||
        # OPERATION VAR_NAME PATH_ARG
 | 
					        # OPERATION VAR_NAME PATH_ARG
 | 
				
			||||||
        words = line.split()
 | 
					        words = line.split()
 | 
				
			||||||
        if len(words) > 2:
 | 
					        if len(words) > 2:
 | 
				
			||||||
@@ -111,7 +111,7 @@ def get_path_args_from_module_line(line):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def path_from_modules(modules):
 | 
					def path_from_modules(modules):
 | 
				
			||||||
    """Inspect a list of TCL modules for entries that indicate the absolute
 | 
					    """Inspect a list of Tcl modules for entries that indicate the absolute
 | 
				
			||||||
    path at which the library supported by said module can be found.
 | 
					    path at which the library supported by said module can be found.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Args:
 | 
					    Args:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,5 +83,5 @@ unsetenv("{{ cmd.name }}")
 | 
				
			|||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% block footer %}
 | 
					{% block footer %}
 | 
				
			||||||
{# In case the module needs to be extended with custom LUA code #}
 | 
					{# In case the module needs to be extended with custom Lua code #}
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,5 +78,5 @@ unsetenv {{ cmd.name }}
 | 
				
			|||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% block footer %}
 | 
					{% block footer %}
 | 
				
			||||||
{# In case the module needs to be extended with custom TCL code #}
 | 
					{# In case the module needs to be extended with custom Tcl code #}
 | 
				
			||||||
{% endblock %}
 | 
					{% endblock %}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class OverrideContextTemplates(Package):
 | 
					class OverrideContextTemplates(Package):
 | 
				
			||||||
    """This package updates the context for TCL modulefiles.
 | 
					    """This package updates the context for Tcl modulefiles.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    And additional lines that shouldn't be in the short description.
 | 
					    And additional lines that shouldn't be in the short description.
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@ class Ds(AutotoolsPackage):
 | 
				
			|||||||
    depends_on("tk")
 | 
					    depends_on("tk")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def patch(self):
 | 
					    def patch(self):
 | 
				
			||||||
        # the package provides it's own TCL utilities
 | 
					        # the package provides it's own Tcl utilities
 | 
				
			||||||
        # compiling and manually setting paths for all of them is contrived
 | 
					        # compiling and manually setting paths for all of them is contrived
 | 
				
			||||||
        # (most of the utilities are small and not included in spack)
 | 
					        # (most of the utilities are small and not included in spack)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,7 @@ class Heasoft(AutotoolsPackage):
 | 
				
			|||||||
    # headers in different directories
 | 
					    # headers in different directories
 | 
				
			||||||
    #
 | 
					    #
 | 
				
			||||||
    # xspec: The HEASOFT project provides a tarball of replacement files for
 | 
					    # xspec: The HEASOFT project provides a tarball of replacement files for
 | 
				
			||||||
    # Xspec, along with a TCL patch utility. This is meant for updating a
 | 
					    # Xspec, along with a Tcl patch utility. This is meant for updating a
 | 
				
			||||||
    # source tree in place with minimal rebuilding. This does not fit Spack's
 | 
					    # source tree in place with minimal rebuilding. This does not fit Spack's
 | 
				
			||||||
    # model so convert those to patches. These are kept in sync with what is on
 | 
					    # model so convert those to patches. These are kept in sync with what is on
 | 
				
			||||||
    # https://heasarc.gsfc.nasa.gov/docs/software/lheasoft/xanadu/xspec/issues/issues.html
 | 
					    # https://heasarc.gsfc.nasa.gov/docs/software/lheasoft/xanadu/xspec/issues/issues.html
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,7 +42,7 @@ class Namd(MakefilePackage, CudaPackage):
 | 
				
			|||||||
        "interface",
 | 
					        "interface",
 | 
				
			||||||
        default="none",
 | 
					        default="none",
 | 
				
			||||||
        values=("none", "tcl", "python"),
 | 
					        values=("none", "tcl", "python"),
 | 
				
			||||||
        description="Enables TCL and/or python interface",
 | 
					        description="Enables Tcl and/or python interface",
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # init_tcl_pointers() declaration and implementation are inconsistent
 | 
					    # init_tcl_pointers() declaration and implementation are inconsistent
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ class Plplot(CMakePackage):
 | 
				
			|||||||
    variant("lua", default=False, description="Enable Lua binding")
 | 
					    variant("lua", default=False, description="Enable Lua binding")
 | 
				
			||||||
    variant("pango", default=False, description="Enable Pango")
 | 
					    variant("pango", default=False, description="Enable Pango")
 | 
				
			||||||
    variant("qt", default=False, description="Enable QT binding")
 | 
					    variant("qt", default=False, description="Enable QT binding")
 | 
				
			||||||
    variant("tcl", default=True, description="Enable TCL binding")
 | 
					    variant("tcl", default=True, description="Enable Tcl binding")
 | 
				
			||||||
    variant("wx", default=False, description="Enable WxWidgets")
 | 
					    variant("wx", default=False, description="Enable WxWidgets")
 | 
				
			||||||
    variant("wxold", default=False, description="Use WxWidgets old interface")
 | 
					    variant("wxold", default=False, description="Use WxWidgets old interface")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,7 +71,7 @@ def edit(self, spec, prefix):
 | 
				
			|||||||
        makefile_machine.filter(r"PIC_FLAG\s*=.*", "")
 | 
					        makefile_machine.filter(r"PIC_FLAG\s*=.*", "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        with open(makefile_machine_fn, "a") as makefile_machine:
 | 
					        with open(makefile_machine_fn, "a") as makefile_machine:
 | 
				
			||||||
            # TCL is only needed for tests so disable it
 | 
					            # Tcl is only needed for tests so disable it
 | 
				
			||||||
            makefile_machine.write("\nNO_TCL = 1\n")
 | 
					            makefile_machine.write("\nNO_TCL = 1\n")
 | 
				
			||||||
            if "+pic" in spec:
 | 
					            if "+pic" in spec:
 | 
				
			||||||
                makefile_machine.write("MAKE_PIC = 1\n")
 | 
					                makefile_machine.write("MAKE_PIC = 1\n")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@ class Weechat(CMakePackage):
 | 
				
			|||||||
    variant("perl", default=False, description="Include perl support")
 | 
					    variant("perl", default=False, description="Include perl support")
 | 
				
			||||||
    variant("lua", default=False, description="Include lua support")
 | 
					    variant("lua", default=False, description="Include lua support")
 | 
				
			||||||
    variant("ruby", default=False, description="Include ruby support")
 | 
					    variant("ruby", default=False, description="Include ruby support")
 | 
				
			||||||
    variant("tcl", default=False, description="Include TCL support")
 | 
					    variant("tcl", default=False, description="Include Tcl support")
 | 
				
			||||||
    variant("guile", default=False, description="Include guile support")
 | 
					    variant("guile", default=False, description="Include guile support")
 | 
				
			||||||
    variant("php", default=False, description="Include php support")
 | 
					    variant("php", default=False, description="Include php support")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user