Gregory Becker
35532d6b0a
Changed cray architecture subclass to add proper targets for front at back end nodes
2015-11-04 13:00:35 -08:00
Mario Melara
37260962e5
changed some potential syntax errors and added a way for target to recognize class
2015-11-04 12:57:29 -08:00
Gregory Becker
5ac974c9b2
Enforced that the architecture subclass cannot add a target that shares a name with a target alias
2015-11-04 12:50:22 -08:00
Mario Melara
058e72d29c
Added default target and also front end and back end targets
2015-11-02 11:08:55 -08:00
Mario Melara
eb2cf1698f
Fixed some issues with naming
2015-11-02 11:08:08 -08:00
Mario Melara
9a91da9ccd
Added arch_path to list of modules path
2015-10-30 15:59:28 -07:00
Mario Melara
e39586c81d
Reverted back all architecture way of finding modules
2015-10-30 15:58:49 -07:00
Mario Melara
2d87bb92ed
Changed front-end and back-end to front_end and back_end to avoid error
2015-10-30 15:58:20 -07:00
Mario Melara
db0695e46a
architectures folder where the Architecture subclasses reside
2015-10-30 15:57:00 -07:00
Gregory Becker
6e56070386
improved aliasing in target method in architecture.py
2015-10-30 15:15:36 -07:00
Gregory Becker
d177184777
added target method to architecture.py and minor cleanup
2015-10-30 15:12:29 -07:00
Mario Melara
0a004e0fce
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
...
Merge Gregory Becker's commits with my own architecture commits
2015-10-30 14:53:49 -07:00
Mario Melara
7ab921ff02
Changed architecture class and added class Target
2015-10-30 14:46:26 -07:00
Gregory Becker
382d8478bf
prototype of new architecture concretization saved as new_concretize_architecture in concretize.py
2015-10-30 10:23:33 -07:00
Gregory Becker
09597fe8dc
updated the executible to return stderr when specified. Added load_module to build_environment.py, loads target
2015-10-30 09:44:28 -07:00
Mario Melara
38508c5a3f
Created a control flow logic that will loop through the strategies and find compilers using that. TODO: Need to find a way to locate their executables
2015-10-22 12:02:26 -07:00
Mario Melara
a89abb435f
Changed structure of class, add compiler strategy is a method and can create a dict
2015-10-21 11:32:59 -07:00
Mario Melara
9b387e7682
Added strategy method in init
2015-10-21 11:09:05 -07:00
Gregory Becker
51b69ef00b
initial fetch on crayport
2015-10-21 09:27:57 -07:00
Mario Melara
c31da9bc8f
Made sure architecture works with yaml file
2015-10-20 14:10:54 -07:00
Mario Melara
ca3cc5b23e
Refactored architecture class. Now it will automagically create a dict upon instantiation.
2015-10-20 13:37:06 -07:00
Mario Melara
3ba2842b53
Got Architecture class working the way i wanted to. Next to write tests
2015-10-20 13:33:21 -07:00
Mario Melara
fec197ccac
Fixed the output of sys_type(), might need to add back the error handling part
2015-10-15 15:25:13 -07:00
Mario Melara
ccdf105759
Commented out a long list of tests to just include my arch test
2015-10-15 12:48:12 -07:00
Mario Melara
d328f4c3b6
Test suite for architecture class and functions
2015-10-15 12:47:26 -07:00
Mario Melara
29e03ac851
Added __eq__ testing method. Created tests for it in test/ folder
2015-10-15 12:46:44 -07:00
Mario Melara
4f21344e87
Started created the Architecture class for Spack to use
2015-10-14 19:41:07 -07:00
Mario Melara
b6d2a12ceb
Started changing the find in modules method written by Todd
2015-10-07 15:57:29 -07:00
Mario Melara
06fe879745
Merge branch 'features/crayproto' of https://github.com/scalability-llnl/spack into develop
2015-10-07 14:55:05 -07:00
Matthew LeGendre
fac4428766
Documentation for external packages.
2015-10-05 14:04:33 -07:00
Matthew LeGendre
18f0b24a7f
Add tests for spack external dependencies, plus fixes for issues found by those tests.
2015-10-05 11:37:36 -07:00
Matthew LeGendre
e4d2ba30b5
Fix failure in spack.test.config.ConfigTest from incorrect compiler config merging
2015-10-05 11:37:36 -07:00
Matthew LeGendre
650c9d4e36
Allow spack to build against external non-spack-installed packages.
2015-10-05 11:37:36 -07:00
Matthew LeGendre
53d70fff01
Fix type error with YAML config when merging lists from different configs.
2015-10-05 11:36:06 -07:00
Matthew LeGendre
53cde110b1
Update Spack mirror command to match docs
2015-10-05 11:36:06 -07:00
Matthew LeGendre
987cd9e78f
Update docs for YAML configuration files and preferred concretization
2015-10-05 11:36:06 -07:00
Matthew LeGendre
ee68a76a19
Bug fixes from testing spack preferred packages
2015-10-05 11:36:06 -07:00
Matthew LeGendre
8d7b7e5d5d
Use preferred package rules when concretize'ing specs
2015-10-05 11:36:06 -07:00
Matthew LeGendre
b5c597b318
Allow specs to be sorted based on preferred packages, versions, compilers, variants and dependencies.
2015-10-05 11:36:05 -07:00
Matthew LeGendre
59f89dd3be
Allow long names in format string variables
2015-10-05 11:36:05 -07:00
karenyyng
f4e72f33c8
added dependencies for py-h5py
2015-10-05 08:24:33 -07:00
Todd Gamblin
d00314c621
Protptype cray compiler detection and support
2015-10-05 01:30:25 -07:00
karenyyng
e9f7d033ff
make sure submodule is added in the correct location
2015-10-03 19:13:08 -07:00
Todd Gamblin
8818f4ac5e
Remove enabled variants from install prefix.
...
- these make the prefix too long in many cases.
- users can figure out which install is which by querying.
2015-09-27 17:01:35 -07:00
Todd Gamblin
adbd393c39
Remove special characters (@, %, +, ~, etc) from stage name
2015-09-27 17:01:35 -07:00
Todd Gamblin
c5c9ada7b0
Fix for GitHub #95
...
develop: compiler clang@unknown created for /usr/bin/clang-format
https://github.com/scalability-llnl/spack/issues/95
2015-08-27 02:04:58 -07:00
Todd Gamblin
6f75f5bd6a
Merge pull request #88 from trws/git_depth_attempt
...
adding a fallback on failure with git --depth
2015-08-12 23:59:13 -07:00
Todd Gamblin
1792115b4d
Use absolute paths to spack compiler wrappers in CC/CXX/F77/FC
2015-08-04 09:57:06 -07:00
Tom Scogland
9174c06598
adding a fallback on failure with git --depth
...
Certain remote protocols don't support the `--depth` option. Since this can't
be checked by URL type or in any sane way locally, this version attempts to
clone git repositories with the --depth option, and if that fails attempts the
clone again without it.
2015-07-27 14:03:04 -07:00
Todd Gamblin
27ca697b43
Add Python version test to detect {} in version strings.
...
- {} is not compatible with Python 2.6
2015-07-24 14:22:28 -07:00
Todd Gamblin
1e2f421faa
Fix Python 2.6 compatibility issue.
2015-07-23 17:01:55 -07:00
Todd Gamblin
19123b4c48
Fix ProviderIndex.update(), which didn't remove stale providers.
2015-07-16 01:41:11 -07:00
Todd Gamblin
e097696390
Update concretize to check for more changes and iterate further.
2015-07-16 01:12:11 -07:00
Todd Gamblin
9087f26537
Fix mangled error message.
2015-07-14 23:59:03 -07:00
Todd Gamblin
0d308ca30f
Fix regression of install -j.
2015-07-14 23:45:58 -07:00
Todd Gamblin
9d1f8f6bfd
Add test to check packages for Python2.6 compatibility, as well as core.
2015-07-13 18:37:48 +00:00
Florent Pruvost
5acd7cad9a
add env. var. in modules: LIBRARY_PATH and PKG_CONFIG_PATH
2015-07-02 02:12:10 -07:00
Todd Gamblin
6892d7189f
Merge branch 'features/toggle-build-output' into develop
2015-07-02 00:51:03 -07:00
Todd Gamblin
b3e34be972
Better python template for 'spack create'
2015-07-02 00:39:33 -07:00
Todd Gamblin
edfcac32c3
Fix bug in uninstall (regression in 0fc3b58
)
2015-06-20 21:46:52 -07:00
Todd Gamblin
6ed5dd7427
log_output now allows echo to be toggled wtih 'v' key
2015-06-20 20:20:28 -07:00
Todd Gamblin
cfb883646f
Fix for git pull --tags
when using git 1.7.1
...
- Added `ignore_errors` option to `Executable.__call__`
- Can avoid raising errors on *specific* error return values.
2015-06-13 17:52:00 -07:00
Tom Scogland
0b5ca25358
Fix for repos with many tags
...
Ensures all tags are ready before checkout, using `--branch` if possible and
an extra pull if that is not available. Also adds `--depth 1` to create
shallow clones if the git version is sufficient.
Fixes #64 .
2015-06-13 15:29:55 -07:00
Tom Scogland
277df08676
removing vestigial lines from a previous commit
2015-06-13 14:10:45 -07:00
Tom Scogland
d92ac2a6b2
Small ruby enhancement and tmuxinator package
...
It is currently less painful to pull the source from github, compile it into a
gem, then install the gem, than it is to download a gem and install it. This
still lacks an activation mechanism, but `spack use tmuxinator` is functional.
2015-06-11 13:51:53 -07:00
Todd Gamblin
0a92349f90
Try a little harder in concretize_version() -- concretize unsafe versions too.
...
- This can result in the user being prompted to download an unsafe
version.
- Avoids overly strict errors when something *could* be satisfiable
but we don't know about hte version.
2015-06-07 15:40:01 -07:00
Todd Gamblin
3f3ceb24c4
Add some comments b/c I didn't understand my own test.
2015-06-07 15:39:40 -07:00
Todd Gamblin
0fc3b58890
SPACK-38: Allow specs to be indexed by virtual dependencies.
...
- The following now work differently:
spec['mpi']
spec['blas']
This can return a spec for openmpi, mpich, mvapich, etc., EVEN if
the spec is already concretized. This means that in a package that
`depends_on('mpi')`, you can do `spec['mpi']` to see what it was
concretized to. This should simplify MPI and BLAS packages.
'mpi' in spec
'blas' in spec
Previously, if the spec had been concretized, these would be `False`
because there was not a dependency in the DAG with either of these
names. These will now be `True` even if the spec has been
concretized. So, e.g., this will print "YES"
s = Spec('callpath ^mpich')
if 'mpi' in spec:
print "YES"
- Similarly, this will be True:
Spec('mpich').satisfies('mpi')
- Because of the way virtual dependencies are currently implemented,
the above required some fiddling around with `package.py` so that it
would never call `Spec.__contains__` (and result in endless
recursion).
- This should be fixed by allowing virutal dependnecies to have their
own package class.
- This would allow a quicker check for vdeps, without a call to
`all_packages`.
- For the time being, `package.py` shouldn't call `__contains__`
2015-06-07 15:36:53 -07:00
Todd Gamblin
eb9859ce75
Executables now have a useful __str__ function.
2015-06-06 16:15:52 -07:00
Todd Gamblin
53feb12ea0
Cleanup and consolidate error handling
2015-06-06 15:50:01 -07:00
Todd Gamblin
5d7a6c0c46
Add FileFilter convenience class to llnl.util.filesystem.
2015-06-06 15:26:48 -07:00
Saravan Pantham
454d06c25c
Removed autosave files from previous commit.
2015-06-06 15:26:37 -07:00
Saravan Pantham
c174fe6199
Fixed BLAS and Lapack installations
2015-06-06 15:26:31 -07:00
Todd Gamblin
d19538af07
Fix #48 : Ignore hidden files when deciding how to stage.
...
- Expanding archvies like MAGMA 1.6.2 creates extra hidden files that
confuse Spack's staging mechanism.
- Added a special case to ignore hidden files when checking whether
the tarball exploded.
2015-06-01 10:25:58 -07:00
Todd Gamblin
123778dec2
Add -S/--stages option to spack cd/spack location.
...
- can now change dir to top-level stage
2015-06-01 09:56:35 -07:00
Todd Gamblin
16c2588635
Fix #46 : make(parallel=False) regression.
...
- Added some tests to make sure this stays in place.
2015-05-31 13:03:30 -07:00
Todd Gamblin
ea7b65e2f2
SPACK-69: spack install now logs build output to install directory.
...
- spack install suppresses build output by default.
- use install -v to show build output on the console too
- package.py uses log_output context to redirect output and log it to a file
- filters color codes out of output written to file
- optionally echos to the terminal
- YAML directory layout knows about its build log.
- can get path to install build log to from directory layout
- Package.install now copies the build log to $prefix/.spack/build.out
- Error message from failed install execution now includes build log location
2015-05-29 17:22:33 -07:00
Todd Gamblin
92c21d7134
debug instead of info logging in llnl.util.filesystem
2015-05-29 17:21:30 -07:00
Todd Gamblin
0035100186
SPACK-69: Add context manager to fork and log output in a with block.
2015-05-29 17:20:08 -07:00
Todd Gamblin
9b40d93fc2
Add ability to force color mode even if terminal is NOT a tty
2015-05-29 17:19:03 -07:00
Todd Gamblin
ceecd2ce41
Add ability to test whether tty verbose or debug is enabled.
2015-05-29 17:18:33 -07:00
Todd Gamblin
5676cb0dd1
Add spack find -L to show full hashes.
2015-05-28 17:13:57 -07:00
Todd Gamblin
8cbae642cc
Fix bug in spack edit -c
2015-05-28 17:13:23 -07:00
Todd Gamblin
6f8f1bf7af
Fix #34 : Spack doesn't stop when dep fails to build.
...
- Fixes regression introduced by #30
- Child process needs to exit on error
2015-05-27 20:27:48 -07:00
Todd Gamblin
c622337802
Remove redundancy: convert with closing(open(...))
to with open(...)
2015-05-18 17:11:03 -07:00
Todd Gamblin
f813d823a1
Merge branch 'features/optional-deps' into develop
...
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)
2015-05-18 16:16:20 -07:00
Matthew LeGendre
46b91ddf57
YAML config files for compilers and mirrors
2015-05-18 16:01:21 -07:00
Todd Gamblin
09151785b3
SPACK-87: enable disabled git fetch tests.
2015-05-18 11:32:15 -07:00
Todd Gamblin
b2f46c703d
Fix SPACK-87: Tag checkout fails for older git versions.
2015-05-18 11:26:32 -07:00
Todd Gamblin
cd1ca36488
SPACK-41: More tests to ensure that constrain() reports changes.
2015-05-12 15:48:57 -07:00
Todd Gamblin
805122c789
SPACK-41: bugfix for nonconvergent normalize()
...
- constrain() wasn't reporting changes properly.
2015-05-12 14:52:46 -07:00
Todd Gamblin
095ff1cb4a
Add debug handler to print a stacktrace on Ctrl-C in debug mode.
2015-05-12 14:52:41 -07:00
Todd Gamblin
c44db0133f
Fix SPACK-41: Optional deps work with complex condition chains.
2015-05-12 11:45:48 -07:00
Todd Gamblin
cd5fa128c5
Work on SPACK-41: Optional dependencies work for simple conditions.
...
- Can depend conditionally based on variant, compiler, arch, deps, etc
- normalize() is not iterative yet: no chaining depends_ons
- really need a SAT solver, but iterative will at least handle
simple cases.
- Added "strict" option to Spec.satisfies()
- strict checks that ALL of other's constraints are met (not just
the ones self shares)
- Consider splitting these out into two methods: could_satisfy() and
satisfies()
- didn't do this yet as it would require changing code that uses
satisfies()
- Changed semantics of __contains__ to use strict satisfaction (SPACK-56)
- Added tests for optional dependencies.
- The constrain() method on Specs, compilers, versions, etc. now
returns whether the spec changed as a result of the call.
2015-05-12 09:56:59 -07:00
Todd Gamblin
ef9deeccd1
Merge branch 'features/yaml-spec' into features/optional-deps
2015-05-10 19:28:47 -07:00
Todd Gamblin
09fff39990
Merge remote-tracking branch 'origin/features/variants' into features/optional-deps
2015-05-10 18:59:56 -07:00
Todd Gamblin
13ff1a9bf6
Remove debug print in link_tree
2015-05-10 18:53:09 -07:00
Todd Gamblin
b4a26c496c
Better hash output in find.
2015-05-10 18:48:42 -07:00
Todd Gamblin
43e5465592
Fix bug in directory layout hidden files()
2015-05-10 17:56:27 -07:00
Todd Gamblin
3c49487424
Doc tweak.
...
- add LLNL release number to new RTD theme.
2015-05-10 13:11:03 -07:00