- One file with all the module classes (spack/modules.py)
- Has an EnvModule superclass that does most of the work and consolidates common code
- Subclasses have specializations for different module systems (TclModule, Dotkit)
- One command (spack module) for all the types of modules to use
- the one command is used by the scripts, only need to maintain in one place
- has some subcommands for different module types, but they're handled mostly generically.
- Consolidate zsh support into a single setup-env.sh script.
* commit 'e011b767fafc1c7287db1cfd254266171e4e382f':
Converting Luc's packages to the new version format.
Addind missing dependency nanos->extrae necessary for traces
Added Paraver and dependencies, restricted Extrae to OpenMPI 1.6
Adding Extrae and OmpSs with some of their dependencies, hwloc and PAPI. Extrae does not compile for latest versions of any MPI implementation.
first try for ompss build script
Allow per-version URLs instead of one single URL per package.
- Spack needed symlinks in env for fortran compilers.
- 'fc' is a bash bulitin, so can't use it for fortran compiler.
- switched to 'f90' for this.
- mpich 3 builds with fortran now.
- enabled shared libs in mpich package
- New spack.hooks package
- contains modules with pre and post install hooks
- New dotkit hook module
- generates/removes dotkits on install/uninstall
- New spack use, spack unuse commands
- use same syntax as install/uninstall
- New setup-env.bash script
- Sets up path, dotkit support
- new spack dotkit command
- used by script to parse specs, generate
specs of installed pckages for dotkit file names
- TAU doesn't install to directories with '@' in the name.
- Need to fix up its scripts.
- routines to filter files as sed would, but using python regular expressions.
- TAU package uses this.
- Mirrors now appear in ~/.spackconfig, can be edited in that file.
- spack mirror command allows adding, listing, removing mirrors
- Also still creates mirror directories.
# By Todd Gamblin
# Via Todd Gamblin
* commit '33a11f32fdaea48192ecb13a85af11f85aa6b8bf': (21 commits)
Multi-compiler support feature-complete. Fix SPACK-3, SPACK-4, SPACK-12.
Executables can optionally ignore error output.
Enable allow_no_value for config parser.
Make tests use mock compiler configuration.
Set default editor to vi if EDITOR is not set.
Add working_dir, Version back into package build namespace.
Compiler support now uses configuration files.
Make debug and verbose output work properly.
Minor cleanup and bug fixes.
Add support for configuration files. Fix SPACK-24.
Proper exiting for forked process in do_install()
Move globals to spack's __init__.py
Move globals to spack's __init__.py
Adding per-compiler python files
Initial ability to swap compilers.
Better satisfies: e.g., v4.7.3 now satisfies v4.7
Add CompilerSpec class and loading capability.
Implemented compiler concretization policy.
Sorted out spack.compilers vs var/spack/compilers
Make Compiler constructor behave like Spec constructor.
...
- Fast compiler finding in path and for other directories
- first time spack runs, it searches path.
- user can add more compilers with 'spack compiler add'
- Finds intel, gcc, clang, and pgi compilers with custom version args.
- Builds can plug in alternate compilers with ease (e.g. %intel@12.1)
- no more need for compiler python files.
- Default compilers are found in user's environment and added
to ~/.spackconfig automatically
- User can add new compilers by editing configuration file
- Changed how satisfies() is defined for the various version classes
- Can't just use overlaps() with version lists -- need to account for
more and less specific versions.
If the version is more specific than the constriant (e.g., 4.7.3 is more
specific than 4.7), then it should satisfy the constraint, because if
a user asks for 4.7 they likely do not care about the minor version. If they
do, they can specify it. New Version.satisfies() takes this into account.
- spack.spec.Compiler is now spack.spec.CompilerSpec
- Can load a spack.compilers.* module for a particular spec
- e.g. load Gcc module for gcc@4.7 spec.