Mario Melara
9bf8e8573c
generic linux architecture subclass
2015-11-04 13:08:48 -08:00
Mario Melara
e3a02ea5c7
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
...
Conflicts:
lib/spack/spack/architecture.py
2015-11-04 13:06:56 -08:00
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
Todd Gamblin
25af6478c5
Fix SPACK-67: 'spack help stage' was broken.
...
- remove spurious mutually exclusive group from subparser.
2015-05-10 12:46:33 -07:00
Todd Gamblin
793b842f99
tests for variant concretization
2015-05-10 12:28:25 -07:00
Todd Gamblin
535c1fac87
SPACK-56: fix Variant concretization.
...
- Variant concretization is tricky:
- During concretization, a spec without variants (e.g., mpich) means
"don't care". So, Spec('mpich').satisfies('mpich+debug') is true
because it *could* still be built that way.
- After concretization, a spec without a particular variant means
"don't know", as that wasn't part of the spec, so the opposite
relationship is true. Assume 'spec' is already installed:
spec.satisfies('mpich+debug')
this is false beacuse the `debug` variant didn't exist when spec
was built, so we can't satisfy the explicit request for +debug.
2015-05-10 12:25:07 -07:00
Todd Gamblin
3b1898b8e4
Fix SPACK-40: Finish adding variant directive.
...
- Variants are now declarable in packages using the variant() directive.
- Variants are checked - you can't just ask for a random variant, it has to be declared.
- conditional logic (@when, if, '+debug' in spec, etc.) still required in package to
implement variant.
2015-05-10 12:24:03 -07:00
Todd Gamblin
c105a8d42a
Small updates to directives.
2015-05-10 12:24:03 -07:00
Todd Gamblin
1f8ce403dc
Modularize directives. Now each directive specifies its storage.
2015-05-10 12:24:03 -07:00
Todd Gamblin
0944ba120c
relations are now "directives", and code is cleaned up.
2015-05-10 12:24:03 -07:00
Todd Gamblin
5d2ee893c4
Remove TODOs for full DAG information.
...
- specs on disk now include full DAG info
- no need for normalize() kludges() anymore.
2015-05-10 11:45:12 -07:00
Todd Gamblin
29e833dfef
extensions file now in YAML format
2015-05-10 02:56:50 -07:00
Todd Gamblin
2f3b0481de
YamlDirectoryLayout now working.
2015-05-09 16:35:02 -05:00
Todd Gamblin
9412fc8083
restore some disabled git tests.
2015-05-09 16:12:04 -05:00
Todd Gamblin
8e87b2176a
Updated Sphinx RTD documentation theme supports 4 levels
2015-05-09 13:35:05 -05:00
Todd Gamblin
d6a5266976
Fix 'ç' in François's name.
2015-05-09 13:30:09 -05:00
François Bissey
3cfbc0520a
Basic support for IBM XL compilers
2015-05-07 01:54:18 -05:00
Todd Gamblin
42c88aa3ca
Merge branch 'features/diy' into develop
2015-05-07 01:53:26 -05:00
Todd Gamblin
1d0975bac6
Bugfixes for yaml specs.
2015-05-05 14:24:46 -07:00
Todd Gamblin
d687962b74
Add test for YAML specs.
2015-05-05 13:18:44 -07:00
Todd Gamblin
53e8e44a8b
Make YAML specs more human readable.
2015-05-05 13:06:41 -07:00
Todd Gamblin
278e70e533
Specs to/from YAML are working.
2015-04-29 01:47:09 -07:00
Todd Gamblin
13132c6b97
Add YAML to Spack.
2015-04-28 23:15:13 -07:00
Todd Gamblin
5c04b3c480
Fix for GitHub #30 and SPACK-70.
2015-04-14 15:11:41 -07:00
Todd Gamblin
8b14a46201
documentation updates
2015-04-14 15:11:01 -07:00
Todd Gamblin
314120212d
Complete diy command.
2015-04-08 00:22:46 -07:00
Todd Gamblin
5077a2a343
Add a DIY stage class.
2015-04-08 00:22:34 -07:00
Todd Gamblin
ab40d0b1a4
Factor edit_package function out of edit command.
2015-04-08 00:22:07 -07:00
Todd Gamblin
c4a6d04131
Start of DIY command.
2015-04-08 00:20:53 -07:00
Todd Gamblin
203fd861aa
Allow spack install -j to throttle make jobs.
2015-04-07 22:21:19 -07:00
Todd Gamblin
ad62b93df9
Merge pull request #23 from mplegendre/rpath_cleanup
...
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path>...
2015-03-27 14:14:49 -07:00
Matthew LeGendre
a4cce9eb69
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path> points into the spack install area
...
This specifically fixes problems with building gcc, as build and system directories were turning in in gcc library rpaths.
2015-03-27 13:58:57 -07:00
Todd Gamblin
8364f0404c
Add some options to spec command.
2015-03-24 08:40:45 -07:00
Todd Gamblin
af92250c7e
Add google analytics to docs.
2015-03-15 00:08:58 -07:00
Todd Gamblin
f97966d63a
SPACK-18: simpler build error messages
...
Suppress python stack trace on build error UNLESS in debug mode (spack -d).
Now spack shows errors with a single red arrow, and it's easier to find the actual build output.
2015-03-12 23:50:07 -07:00
Todd Gamblin
132aa690d8
Remove superfluous env scripts (avoid specifically named ones).
2015-03-12 10:39:26 -07:00
Todd Gamblin
560f2c299a
Add install_tree, force_symlink helper functions.
2015-03-12 10:32:29 -07:00
Todd Gamblin
0394adcf8d
Minor doc tweak.
2015-02-25 10:41:12 -08:00
Todd Gamblin
5eb7e46654
Spell check docs
2015-02-24 10:26:26 -08:00
Todd Gamblin
447e295947
SPACK-62: fix for site docs.
2015-02-24 02:45:21 -08:00
Todd Gamblin
daa38d2ff4
SPACK-59: Documentation updates, bugfix in fetching.
2015-02-24 02:45:07 -08:00
Todd Gamblin
049808a34f
Merge remote-tracking branch 'origin/features/SPACK-46' into develop
...
Conflicts:
lib/spack/docs/packaging_guide.rst
2015-02-23 10:46:58 -08:00
Todd Gamblin
daef78f538
Update packaging documentataion.
2015-02-23 10:31:22 -08:00
Todd Gamblin
5699cbb597
Fix SPACK-60: 0.8.15 basic docs.
2015-02-23 01:23:30 -08:00
Todd Gamblin
6dab133d9f
Same package add icon on mac and linux.
2015-02-23 01:23:30 -08:00
Todd Gamblin
d49c98188a
Add an override to colify so we can set terminal dimensions.
2015-02-23 01:23:30 -08:00
Todd Gamblin
02e316e772
Convert ValueErrors to SpackError subclass.
2015-02-18 16:45:54 -08:00
Todd Gamblin
2374eb4dca
Fix for SPACK-62
...
- deactivate -a errors if arg is not activated
- deactivate -af does not.
2015-02-18 16:45:12 -08:00
Todd Gamblin
2eda01c703
uninstall -f ignores nonexisting packages.
2015-02-18 16:21:15 -08:00
Todd Gamblin
2755171e08
Update documentation to reflect new restage/clean behavior.
2015-02-18 14:46:00 -08:00
Todd Gamblin
e67655c31a
docs autodetect version.
2015-02-18 14:33:21 -08:00