Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* Use JSON for the database instead of YAML.
- JSON is much faster than YAML *and* can preserve ordered keys.
- 170x+ faster than Python YAML when using unordered dicts
- 55x faster than Python YAML (both using OrderedDicts)
- 8x faster than C YAML (with OrderedDicts)
- JSON is built into Python, unlike C YAML, so doesn't add a dependency.
- Don't need human readability for the package database.
- JSON requires no major changes to the code -- same object model as YAML.
- add to_json, from_json methods to spec.
* Add tests to ensure JSON and YAML don't need to be ordered in DB.
* Write index.json first time it's not found instead of requiring reindex.
* flake8 bug.
|
|
The option -s now causes file and line number information to be printed
along with any invocation of msg, info, etc...
This will greatly ease debugging.
|
|
- generalized and fixed to work with any key in YAML file
- simplified schema writing, as well
- add more unit tests for the config system
- Rename test/yaml.py to test/spack_yaml.py
- Add test/yaml.pyc to ignored pyc files.
|
|
|
|
|
|
|
|
* Perform shebang fix for all files
* Fix sbang for perl scripts
Otherwise perl would look at the #! line and call sbang again, resulting
in an infinite loop.
|
|
|
|
|
|
|
|
|
|
Remove last two remaining from external imports
|
|
- use --! instead of #! for patched lua scripts.
|
|
|
|
|
|
|
|
that were not the current one) fixes #774
|
|
This does several things:
- Add `sbang`: a script to run scripts with long shebang lines.
- Documentation for `sbang` is in `bin/sbang`.
- Add an `sbang` hook that filters the `bin` directory after install
and modifies any scripts wtih shebangs that are too long to use
`sbang` instead.
- `sbang` is at the top level, so it should be runnable (not much we
can do if spack itself is too deep for shebang)
- `sbang`, when used as the interpreter, runs the *second* shebang
line it finds in a script.
- shoud fix issues with too long shebang paths.
|
|
|
|
- This moves var/spack/packages to var/spack/repos/builtin/packages.
- Packages that did not exist in the source branch, or were changed in
develop, were moved into var/spack/repos/builtin/packages as part of
the integration.
Conflicts:
lib/spack/spack/test/unit_install.py
var/spack/repos/builtin/packages/clang/package.py
|
|
Features/unittest xml output nose
|
|
Conflicts:
lib/spack/spack/cmd/create.py
lib/spack/spack/cmd/extensions.py
lib/spack/spack/cmd/fetch.py
lib/spack/spack/cmd/uninstall.py
lib/spack/spack/config.py
lib/spack/spack/database.py
lib/spack/spack/directory_layout.py
lib/spack/spack/packages.py
lib/spack/spack/spec.py
|
|
|
|
|
|
|
|
imported. Other warnings should be output.
|
|
|
|
importing nose (which is also in Spack's external/ directory) outputs a warning
(since there is more than one nose package). This avoids printing the warning
to the user.
|
|
- Can't think of a better way to do this.
- The externals integration will cause spack to die in weird ways for
users who just pull from develop.
|
|
Conflicts:
lib/spack/spack/__init__.py
lib/spack/spack/directives.py
lib/spack/spack/packages.py
|
|
python install and lib/spack/external have the same library installed. This
requires modifying the names of some modules in lib/spack/external in cases
where both the system python and backported features of future python versions
(i.e. after 2.6) are used (previously distinguished by "from external import X"
and "import X").
|
|
- warning said it didn't do checksums; really does.
|
|
|
|
|
|
This includes:
- Much better variant support (+debug/-debug)
- Optional dependency support (depends_on(... , when='<condition>')
- New config file format (YAML in ~/.spack)
- New Spec format (YAML in $prefix/.spack/spec.yaml)
|
|
|
|
|
|
|
|
|
|
|
|
Bad format string in version check.
|
|
|
|
|
|
- Changed 'import argparse' to 'from external import argparse' in conflicts.
Conflicts:
lib/spack/spack/cmd/dotkit.py
lib/spack/spack/cmd/unuse.py
lib/spack/spack/cmd/use.py
|
|
- 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.
|
|
|
|
|
|
- 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.
|
|
|