Commit graph

553 commits

Author SHA1 Message Date
Todd Gamblin
c6351b5d00 Fix #11: bug in ProviderIndex
- packages that provided same spec (e.g. mpe) were overwritten in the index
  - Index now has a set of providers instead of a single provider per provided spec.
- see https://github.com/scalability-llnl/spack/issues/11
2015-01-14 00:18:29 -08:00
Todd Gamblin
9db967be98 Fix bug when all deps are back edges.
- Happened with the graph for SAMRAI
2015-01-10 19:23:07 -08:00
Todd Gamblin
011f71a442 Fix bug in STAT graph 2015-01-10 19:09:03 -08:00
Todd Gamblin
935eba2357 Allow commands to return error codes. 2015-01-05 02:33:15 -05:00
Todd Gamblin
5d033fbd0a Expansion works properly, simplified graph code. 2015-01-04 18:49:22 -08:00
Todd Gamblin
b4b8339d0d bugfix for dot graphs of virtual packages. 2015-01-03 17:58:37 -08:00
Todd Gamblin
0a0291678e Factor graph code out into its own module, rework spack graph. 2015-01-03 17:45:54 -08:00
Todd Gamblin
478af54cce Color graph edges. 2014-12-31 14:55:35 -08:00
Todd Gamblin
dba5d020cd Pipelining back edges works, saves more space. 2014-12-30 18:05:47 -08:00
Todd Gamblin
bb3dafa3b5 Reduce number of immediate expand/contracts. 2014-12-29 21:11:28 -08:00
Todd Gamblin
daf1e229f7 More compact graphs: do back edges before forward expansion. 2014-12-29 14:29:44 -08:00
Todd Gamblin
226de0a42d Spec graph works without color. 2014-12-29 01:52:03 -08:00
Todd Gamblin
a6e00f6086 Fix ColorStream 2014-12-29 01:05:21 -08:00
Todd Gamblin
6ffcdc1166 Partially wroking ASCII dependency graph. 2014-12-29 00:03:35 -08:00
Todd Gamblin
860f834aad spack graph allows plotting specific packages. 2014-12-26 13:52:49 -08:00
Todd Gamblin
d3e52d9f9a Fix lack of sorting in version concretization. 2014-12-25 23:13:44 -08:00
Todd Gamblin
b80a0e1da5 Merge branch 'features/qt' into develop 2014-12-25 18:01:51 -08:00
Todd Gamblin
37bdbdd990 URLFetchStrategy now contains exploding tarballs. 2014-12-25 17:57:55 -08:00
Todd Gamblin
0bc861db6e Fix up bzip2 install 2014-12-25 17:55:19 -08:00
Todd Gamblin
20388ece86 Clearer code in filter_file. 2014-12-25 16:07:39 -08:00
Todd Gamblin
7b71e6fb5a spack env command
spack env allows regular commands to be run with a spack build environment.
It also displays the spack build environment for a package.
2014-12-25 16:06:30 -08:00
Todd Gamblin
b3042db755 Add patch function to Package, so that packages can define custom patch functions. 2014-12-25 16:05:45 -08:00
Todd Gamblin
852c1dc286 Print out fetch, build, and total time for builds. 2014-12-23 16:35:54 -08:00
Todd Gamblin
887c29ddc4 Merge branch 'features/better-mirror-support' into develop 2014-12-22 23:28:07 -08:00
Todd Gamblin
5cd4ddaf08 Fix for SPACK-49.
- name conflict in imp.load_source caused this to fail.
- Python modules loaded by imp have unique names now.
2014-12-18 21:38:25 -08:00
Todd Gamblin
08f1701e35 Allow fake installations (just make the directory).
- Use for debugging.
2014-12-18 15:52:45 -08:00
Todd Gamblin
f1c5e64c23 Partial fix for SPACK-48.
- Try to accommodate packages that have grown dependencies better.
- This will only get fully fixed when optional dependencies are supported
  and some extra functionality is added to the spec syntax.
2014-12-15 14:46:34 -08:00
Todd Gamblin
722e73f309 Better mirror path calculation.
- Add support in spack.url for extrapolating actual file type for URL
- Move mirror path computation to mirror.py from package.py
2014-12-12 14:53:55 -08:00
Todd Gamblin
2f90068661 Handle cases where tarball is in the URL query string. 2014-12-12 14:48:59 -08:00
Todd Gamblin
e309b41972 Add support for URLs with query strings
- support tarballs from raw github URLs
2014-12-09 01:07:48 -08:00
Todd Gamblin
c3fce7b77f Bugfix in create and checksum 2014-12-08 22:49:49 -08:00
Todd Gamblin
ba53ccb6b3 Minor tweak: use self.git everywhere in get fetch strategy. 2014-12-04 10:51:23 -08:00
Todd Gamblin
c774455fc5 Bugfix in create command. 2014-12-04 10:47:01 -08:00
Todd Gamblin
652b761894 Merge branch 'features/better-find' into develop 2014-12-02 22:55:11 -08:00
Todd Gamblin
fdc6081244 CLI improvements to find and list. 2014-12-02 22:53:11 -08:00
Todd Gamblin
11cffff943 colify handles ansi color input directly; no more decorator. 2014-12-02 22:32:15 -08:00
Todd Gamblin
e71cf672f1 Fail fast in stage if all fetch strategies fail for a package. 2014-12-02 09:58:30 -08:00
Todd Gamblin
40b4fa5443 Better spack find view. 2014-12-01 23:14:06 -08:00
Todd Gamblin
e15316e825 index_by supports compound index keys. 2014-12-01 23:13:09 -08:00
Todd Gamblin
72c753b93e Colify now supports fixing the number of columns. 2014-12-01 21:29:01 -08:00
Todd Gamblin
22e4d11010 Cleanup code in colify. 2014-11-23 16:19:26 -08:00
Todd Gamblin
287b04e50a Bugfix in terminal_size() 2014-11-23 17:55:37 -06:00
Todd Gamblin
d2fe038caf Minor bugfix for 404 error on fetch. 2014-11-17 15:03:48 -08:00
Todd Gamblin
321a3a55c7 Prompt the user about checksums only if interactive. 2014-11-16 15:26:00 -08:00
Todd Gamblin
eba13b8653 Checksum warning now prompts for override. 2014-11-08 23:20:01 -08:00
Todd Gamblin
79414947ae Merge branch 'features/gcc' into develop
Conflicts:
	lib/spack/spack/package.py
2014-11-08 22:30:46 -08:00
Todd Gamblin
0d044cdc1b Shorter help strings. 2014-11-08 22:18:20 -08:00
Todd Gamblin
1a424c124c Python 2.6 fix for Mac OS 2014-11-08 22:18:08 -08:00
Todd Gamblin
1da5d12bdd 'spack urls' debugging command, more consistent URL extrapolation.
- spack urls inspects all URLs in packages, prints out colors to show how they are parased.
- URL extrapolation test added.
- Extrapolation is more consistent now.
- Extrapolation handles more complex URLs.
- More test cases for extrapolation.
2014-11-08 22:08:15 -08:00
Todd Gamblin
57076f6ca4 URL parsing improvements 2014-11-08 11:42:54 -08:00
Todd Gamblin
55bf243f16 Improved website scraping. 2014-11-07 00:17:25 -08:00
Todd Gamblin
3112096651 Merge branch 'hotfix/vcs-not-required' into develop 2014-11-06 13:41:54 -08:00
Todd Gamblin
fa21acc470 Fix inadvertent requirement of hg, svn, git, etc. 2014-11-06 13:22:15 -08:00
Todd Gamblin
193eddda5e Fix for missing format_doc in package-list command. 2014-11-06 11:46:43 -08:00
Todd Gamblin
b97ee67a4b Working GCC package. 2014-11-05 09:54:43 -08:00
Todd Gamblin
488a6737b7 Merge branch 'features/python' into develop 2014-11-03 14:20:37 -08:00
Todd Gamblin
0f3b80cddb Fix for SPACK-11: Spack compiler wrapper is now in bash.
- Startup is much faster
- Added test for compiler wrapper parsing.
- Removed old compilation module that had to be imported by old cc.
- Removed cc from python version checks now that it's bash.
2014-11-03 14:12:16 -08:00
Todd Gamblin
1656f62a12 Add bzip2 package and spack pkg add command. 2014-11-03 14:12:16 -08:00
Todd Gamblin
8f9de17869 "spack info -r" is now "spack package-list"
- too much going on in this command, and it made subcommand parsing weird.
- information printed is the same but info and package-list are really different commands.
2014-11-01 16:03:09 -07:00
Todd Gamblin
a5859b0b05 Add ability to get subparser by name from argparse 2014-11-01 15:59:29 -07:00
Todd Gamblin
3db22a4e33 Sane self.url for packages (reflects current version) 2014-11-01 15:01:01 -07:00
Todd Gamblin
85a14b68b7 spack compiler add checks for access before listing directories. 2014-10-31 10:30:58 -07:00
Todd Gamblin
f60fd330cb Better error messages for extension() 2014-10-30 15:00:02 -07:00
Todd Gamblin
ee528bc426 Docs for spack list with glob. 2014-10-27 22:40:04 -07:00
Todd Gamblin
75e6e794fb Fix bug with extension() for sourceforge URLs. 2014-10-27 21:32:31 -07:00
Todd Gamblin
d542b7b003 Merge branch 'features/new-docs' into develop 2014-10-27 20:44:00 -07:00
Todd Gamblin
1c4948e1b0 Fix long-standing multimethod test error.
- New inclusive version ranges from git-fetching branch enable a fix.
- Can now write :1 to include 1.3, 1.4, etc.
  - couldn't do this before so provides() was weird.
2014-10-27 20:02:24 -07:00
Todd Gamblin
d98beeec31 Remove ambiguous test case in url_extrapolate. 2014-10-27 19:59:19 -07:00
Todd Gamblin
4d8a47800a Add docs on spack module refresh. 2014-10-27 19:53:56 -07:00
Todd Gamblin
4ecc7e1c93 Document file filtering functions. 2014-10-27 19:53:55 -07:00
Todd Gamblin
4bf6930416 Docs for modules & dotkits. 2014-10-27 19:53:55 -07:00
Todd Gamblin
e2af2a27bf Merge branch 'features/git-fetching' into develop
Conflicts:
	lib/spack/docs/packaging_guide.rst
	lib/spack/spack/cmd/info.py
	lib/spack/spack/package.py
	lib/spack/spack/stage.py
2014-10-27 19:53:05 -07:00
Todd Gamblin
d41d6ed863 Updated packaging docs. 2014-10-27 00:55:38 -07:00
Todd Gamblin
525344aa85 Make info command show VCS URLs properly. 2014-10-27 00:55:25 -07:00
Todd Gamblin
2e2e720a2a Add spack md5 command for simple checksumming. 2014-10-25 14:40:17 -07:00
Todd Gamblin
fa4d58db52 Add a dummy depends_on to the boilerplate. 2014-10-25 14:38:42 -07:00
Todd Gamblin
94a52a8710 Start documenting new features. 2014-10-23 20:15:11 -07:00
Todd Gamblin
87b87199f2 Fix for SPACK-43: compiler finding fails gracefully on unknown error. 2014-10-22 01:08:08 -07:00
Todd Gamblin
e4c2891d4b Test for URL extrapolation. 2014-10-22 00:49:16 -07:00
Todd Gamblin
0c4b8d45df Consolidate archive_file() implementation into Stage. 2014-10-16 08:50:57 -07:00
Todd Gamblin
fb3003f664 Bug fixes for URLs and mirror fetching. 2014-10-16 06:56:00 -07:00
Todd Gamblin
6fdfd83e6b Add test cases for mirroring. 2014-10-15 21:07:41 -04:00
Todd Gamblin
8e3c2d8a26 Refactor fetch tests to use common mock repo module. 2014-10-15 07:40:01 -07:00
Todd Gamblin
fbd7e96680 Add a mirror module that handles new fetch strategies.
- Uses new fetchers to get source
- Add archive() method to fetch strategies to support this.
- Updated mirror command to use new mirror module
2014-10-14 23:26:43 -07:00
Todd Gamblin
8fd4d32408 Use external argparse in spack list, for 2.6 compatibility. 2014-10-10 09:45:48 -07:00
Todd Gamblin
dd2cea4107 Add available versions to generated package list documentation. 2014-10-08 14:08:11 -07:00
Todd Gamblin
36a87f5bf9 Update documentation to add an auto-generated list of packages. 2014-10-08 03:08:40 -07:00
Todd Gamblin
319b37af0e Add spack edit -c option to edit commands. 2014-10-08 03:08:40 -07:00
Todd Gamblin
ff546358f3 Update docs to use new version format. 2014-10-08 03:08:40 -07:00
Todd Gamblin
ee23cc2527 Add archive creation capability to fetch strategies.
- fetch strategy needs to know how to create archive of fetched repo
- allows mirrors to be created from git/other VCS fetches.
2014-10-07 23:26:39 -07:00
Todd Gamblin
e8d131ef96 Minor bugfix in exception constructor. 2014-10-07 23:23:18 -07:00
Todd Gamblin
1801a85966 Move tty output commands out of package and into clean command. 2014-10-07 23:22:58 -07:00
Todd Gamblin
4bde771970 Fix for SPACK-39: Concretization was too restrictive.
- concretize_version() now Use satisfies(), not intersection.
- version class updated with better intersection/union commands
- version now 1.6 "contains" 1.6.5
- added test for new version functionality

- remove none_high and none_low classes
  - version module is now self-contained; save for external 2.7
    functools.total_ordering for 2.6 compatibility.
2014-10-07 23:22:45 -07:00
Todd Gamblin
1c60b3967d Add simple fnmatch filtering to spack list. 2014-10-06 14:11:19 -07:00
Todd Gamblin
37e96ff6e1 Added test for Mercurial fetching. 2014-10-04 18:38:47 -07:00
Todd Gamblin
0fa1c5b0a5 Add Mercurial fetch strategy and lwm2. 2014-10-03 16:57:32 -07:00
Todd Gamblin
727d313c30 Fix location.py to use source_path 2014-10-03 16:57:32 -07:00
Todd Gamblin
faae720c36 add tests for svn fetching. 2014-10-03 16:55:53 -07:00
Todd Gamblin
da84764e97 Add test case for git fetching. 2014-10-03 16:55:53 -07:00
Todd Gamblin
c74cd63389 Callpath build works when a tag is fetched from git. 2014-10-03 16:55:53 -07:00
Todd Gamblin
0cc79e0564 Implement per-version attributes for flexible fetch policies.
- Tests pass with URL fetching and new scheme.
- Lots of refactoring
- Infrastructure is there for arbitrary fetch policies and more attribtues on the version() call.
- Mirrors do not currently work properly, and they get in the way of a proper git fetch
2014-10-03 16:55:13 -07:00
Todd Gamblin
52d140c337 Factor out URL fetching into URLFetchStrategy
- Added FetchStrategy class to Spack
- Isolated pieces that need to be separate from Stage for git/svn/http
- Added URLFetchStrategy for curl-based fetching.
2014-10-03 16:53:13 -07:00
Todd Gamblin
720ced4c2e Add test for URL version substitution. 2014-09-30 00:09:11 -07:00
Todd Gamblin
13eca0357f Bugfix for version substitution. 2014-09-29 23:30:48 -07:00
Todd Gamblin
921a5b5bcc Make fetch fail on 404. 2014-09-29 23:28:16 -07:00
Todd Gamblin
26495ddce9 Reverse sort output versions in spack checksum 2014-09-29 23:27:40 -07:00
Todd Gamblin
e4613a60cf Fix for spack cd -i. 2014-09-29 22:43:40 -07:00
Todd Gamblin
a8ed1ec414 Minor argparse improvement. 2014-09-29 20:00:00 -07:00
Todd Gamblin
3bd52678be MPICH sets MPI compilers to use real compilers and not spack wrappers. 2014-09-27 21:36:42 -07:00
Todd Gamblin
5cc508393a gfortran version detection brokenon debian. 2014-09-27 16:19:56 -07:00
Todd Gamblin
d7984c7540 Update checksum to print new version syntax. 2014-09-27 15:33:27 -07:00
Todd Gamblin
608191bd8c Find custom list_urls depending on the archive URL (e.g. github releases) 2014-09-27 15:32:44 -07:00
Todd Gamblin
2de2d4bea7 Modify MPI installs to work without fortran. 2014-09-23 14:59:30 -07:00
Todd Gamblin
7380de8ee3 Change git URL to https URL in all docs. 2014-09-19 09:55:13 -07:00
Todd Gamblin
39acca4b43 Fix for bug in create introduced by LLVM merge. 2014-09-19 09:42:07 -07:00
Todd Gamblin
fa5594e13f Merge branch 'features/llvm' into develop
- merging parts of LLVM that can be built now.
- need to wait for standalone builds for some of the others.
2014-09-18 23:30:32 -07:00
Todd Gamblin
9165a000a3 Better C++11 support, remove non-standalone llvm-compiler-rt.
- LLVM non-standalone add-ons are difficult to build outside LLVM.
- May have to wait for future versions of LLVM to build some of these
2014-09-18 23:22:03 -07:00
Todd Gamblin
4a19fa793e Support for pkg-config. 2014-09-18 01:42:01 -07:00
Todd Gamblin
68274ee657 Add command to show packages added in particular git revisions.
spack pkg list    [rev]           list packages for revision.
spack pkg diff    [rev1] [rev2]   diff bt/w packages in rev1 and rev2
spack pkg added   [rev1] [rev2]   pkgs added since rev1
spack pkg removed [rev1] [rev2]   pkgs removed since rev2
2014-09-17 15:48:13 -07:00
Todd Gamblin
881fdb66ae Merge branch 'develop' into features/fileutils
Conflicts:
	lib/spack/spack/packages.py
2014-09-16 23:53:44 -07:00
Todd Gamblin
a4c8e945c7 Some fixups for Adam's callpath and adept-utils packages.
- Make spack packages RPATH *ALL* dependencies (i.e. the whole tree)
- prevents callpath link from finding wrong libelf -- always uses the one dyninst used.
2014-09-16 21:59:46 -07:00
David Beckingsale
42ca6c8bfc Add dependency prefixes to CMAKE_PREFIX_PATH 2014-08-22 14:45:44 -07:00
Todd Gamblin
d87a652582 Add spack cd and spack location commands.
- Better shell support for cd'ing into directories
- Fix some csh weirdness with nested aliases.
2014-08-22 11:00:19 -07:00
Todd Gamblin
eb5efed421 Merge branch 'features/postgresql' into develop
- add spack cd command.
- Fix bug in modules hook

Conflicts:
	lib/spack/spack/cmd/stage.py
	lib/spack/spack/hooks/dotkit.py
	share/spack/setup-env.bash
2014-08-21 22:59:39 -07:00
Todd Gamblin
5a9ef130ea Make EnvModule class use spec instead of package, fix using module of non-present package.
- Using the spec doesn't require the package to be there.
- Restore ability to use non-present packages (which was broken)
2014-08-20 11:43:03 -07:00
Todd Gamblin
8cc2298181 Merge branch 'features/python-2.6-compatibility' into develop
- 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
2014-08-20 09:30:40 -07:00
George Todd Gamblin
42e27d04c1 Merge pull request #19 in SCALE/spack from features/modules to develop
# By Todd Gamblin (4) and David Beckingsale (2)
# Via Todd Gamblin
* commit 'b601fd08caf21b5fc11e6998a5ebd20a04ac57ad':
  Bugfixes for csh environment modules.
  Bugfixes, more consolidation of modules code.
  Add csh/tcsh support for modules
  Consolidate most module code into spack.modules and spack.cmd.module
  Fixed up module support
  Added inital module support
2014-08-18 23:11:02 -07:00
Todd Gamblin
b601fd08ca Bugfixes for csh environment modules. 2014-08-17 01:41:32 -07:00
Todd Gamblin
22bec329c1 Bugfixes, more consolidation of modules code.
- specific module classes use __metaclass__ to register themselves.
- bugfixes in module writing.
2014-08-16 22:22:53 -07:00
Todd Gamblin
776560f8ce Add csh/tcsh support for modules
- csh scripting is a GIANT pain in the ass
- hopefully the thin script layer doesn't get much more complex.
2014-08-16 14:58:15 -07:00
Todd Gamblin
221cf6acb9 Consolidate most module code into spack.modules and spack.cmd.module
- 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.
2014-08-16 14:53:57 -07:00
Todd Gamblin
5a3803de39 Add options to stage to make it just print out stage dir. 2014-08-11 22:47:23 -07:00
Todd Gamblin
0bba101ff9 Allow packages to add a dotkit() method and write custom parts of dotkits. 2014-08-11 22:47:22 -07:00
Todd Gamblin
113afe860e More robust symbol inclusion for 'from spack import *'
- avoid errors where some symbols aren't exported to packages.
- reduce the number of places each symbol needs to be mentioned in
  an __all__ list
2014-08-11 22:47:22 -07:00
Todd Gamblin
48d5281e3a Test cases pass; Spack supports Python 2.6! 2014-08-10 18:07:20 -07:00
Todd Gamblin
7082b0a59a cc supports Python 2.6 2014-08-10 18:07:20 -07:00
Todd Gamblin
696e80c62f Get rid of Python 2.7 dict.viewkeys() call. 2014-08-10 18:05:52 -07:00
Todd Gamblin
d95e7ecfe1 Remove dependency on Python2.7 OrderedDict, revise config parser 2014-08-10 17:56:36 -07:00
Todd Gamblin
d86a638099 Add Python 2.7 functools.total_ordering to external modules.
- removing dependence on 2.7
- added it to pyqver2 ads well
2014-08-10 17:54:39 -07:00
Todd Gamblin
ca328a6993 Fix minor warning about Exception.message being deprecated. 2014-08-10 17:52:46 -07:00
Todd Gamblin
a41a19d14d Change dict comprehensions to dict() constructors. 2014-08-10 16:04:41 -07:00
Todd Gamblin
5a5da817a1 Fix SPACK-27 & remove dependence on check_output
- subprocess.check_output is python 2.7 only
- Spack checks for existence of requested prefix, creates it if it does not exist.
2014-08-10 11:52:17 -07:00
Todd Gamblin
7714d08e2e Remvoe dependence on v2.7 argparse by including argparse. 2014-08-10 11:48:07 -07:00
Todd Gamblin
17895bd6fd Add a test case to ensure that Spack is v2.6 compliant. 2014-08-10 11:46:14 -07:00
Todd Gamblin
8ab793a3a6 Add external package with pyqver2 tool 2014-08-10 11:45:32 -07:00
Todd Gamblin
98797459f3 Minor tweaks after spec update.
- spack find -p works properly (get path from spec, not package)

- directory layout and PackageDB normalize things automatically unless
  they're unknown packages (need to do this for spack find -l)

- install test made robust to mock/main package conflicts
2014-08-09 17:41:56 -07:00
Todd Gamblin
5f073ae220 More spec improvements
- Spec.copy() does not create superfluous nodes and preserves DAG
  connections.

- Spec.normalize() doesn't create extra dependency nodes or throw out
  old ones like before.

- Added better test cases for above changes.

Minor things:
- Fixed bug waiting to happen in PackageDB.get()
  - instances was keyed by name, not by spec, so caching wasn't really
    working at all.
- removed unused PackageDB.compute_dependents function.
- Fixed PackageDB.graph_dependencies() so that spack graph works again.
2014-08-09 16:17:40 -07:00
Todd Gamblin
63f8af8078 Add postorder traversal to specs
- Spec.preorder_traversal() is now Spec.traverse().
- Caller can supply order='pre' or order='post'
2014-08-08 13:21:52 -07:00
Todd Gamblin
d5c625d87d Clean up specs, spec comparison, and spec hashing.
- Spec comparison is now less strict
  - compares based on sorted list of dependencies but not
    their structure
  - Makes comparison easy when a spec is not normalized.

- This makes the dep_hash consistent for specs read in from a
  directory layout.  - Can now reliably read in a spec for which the
  package has gone away, and still be able to delete its install.
  - easy switching between git branches

- Fixed latent bug in Spec.flat_dependencies() (was including root)

- added a test for the directory layout so that this code will get
  more exercise.
2014-08-08 13:21:48 -07:00
Todd Gamblin
c55041e9d4 Partial commit of more packages. 2014-08-04 07:54:22 -07:00
Todd Gamblin
cabfc374eb More descriptive error when package constructor fails.
- helps package_sanity test identify which package failed.
- encountered while upgrading versions in Adam's packages to the new format.
2014-08-04 07:54:05 -07:00
Adam Moody
a32816c644 cannot uninstall dtcmp because depends on dtcmp 2014-08-04 07:54:04 -07:00
David Beckingsale
57ddbd282a Fixed up module support 2014-08-04 07:53:40 -07:00
David Beckingsale
94c5c9667c Added inital module support 2014-08-04 07:53:40 -07:00
George Todd Gamblin
d13d32040c Merge pull request #20 in SCALE/spack from openss to develop
# By Matthew LeGendre (2) and Todd Gamblin (1)
# Via Todd Gamblin
* commit 'd7a3c7e555bfd93fbf93ec55608d7fc6aa8052f8':
  Fix up Matt's openss packages.
  Add sqlite to spack
  Add libmonitor to spack.  Still needs svn support for checkout
2014-08-04 07:51:12 -07:00
Todd Gamblin
d0b179962b find and uninstall work when installed package is no longer in spack.
- Make switching between git branches easier.
- Make future removal of packages easier.
2014-08-04 07:40:53 -07:00
Todd Gamblin
d7a3c7e555 Fix up Matt's openss packages. 2014-08-03 12:57:09 -07:00
Todd Gamblin
1ad474f1a9 Allow per-version URLs instead of one single URL per package. 2014-07-30 23:30:07 -07:00
Todd Gamblin
5829b44648 Fix Jeff Keasler's issues and add parmetis package. 2014-07-09 01:37:24 -07:00
Todd Gamblin
5f8724650a Fix for SPACK-35: Fortran not working properly
- 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
2014-07-09 01:28:23 -07:00
Todd Gamblin
bd8838ca6d Fix typos.
Thanks Adam!
2014-07-08 02:41:29 -07:00
Todd Gamblin
830b9ab25c Fix for finding dependent packages 2014-07-08 02:36:40 -07:00
Todd Gamblin
10318a11dd Fix for dependent package detection. 2014-07-08 02:35:50 -07:00
Todd Gamblin
295ffd8c50 Adding dotkit support to TAU.
- 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
2014-07-08 01:58:20 -07:00
Todd Gamblin
0551638944 Add TAU package and routines to filter files, fix sed calls.
- 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.
2014-07-02 23:24:10 -07:00
Todd Gamblin
a7fd8be514 Some fixes for spack-python interpreter mode. 2014-07-02 23:24:10 -07:00
Todd Gamblin
4b960c131b Reordered site configuration docs. 2014-06-24 17:07:18 -07:00
Todd Gamblin
3b1e6d4bbc Updated docs. 2014-06-24 17:01:29 -07:00
Todd Gamblin
bf498991d3 Bugfix for mirror command 2014-06-24 17:00:56 -07:00
Todd Gamblin
3c3f272280 spack mirror now checksums fetched archives. 2014-06-24 11:53:44 -07:00
Todd Gamblin
b33412e03a New spack mirror command, configuration.
- Mirrors now appear in ~/.spackconfig, can be edited in that file.
- spack mirror command allows adding, listing, removing mirrors
	- Also still creates mirror directories.
2014-06-24 11:15:41 -07:00
Todd Gamblin
9f8ef85644 Add more output; don't re-add existing compilers 2014-06-24 07:17:30 -07:00
Todd Gamblin
8165393962 import & namespace fixes
- Fix Boost issue reported in SPACK-16
2014-06-23 09:37:53 -07:00
Todd Gamblin
8e066ebf2a Simplified compiler finding logic and caching. 2014-06-23 08:53:55 -07:00
Todd Gamblin
33a11f32fd Multi-compiler support feature-complete. Fix SPACK-3, SPACK-4, SPACK-12.
- 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)
2014-06-22 12:50:42 -07:00
Todd Gamblin
f1bc65c132 Executables can optionally ignore error output. 2014-06-22 12:50:35 -07:00
Todd Gamblin
ae31838193 Enable allow_no_value for config parser.
- Will be useful for, e.g., mirror lists.
- Previously didn't properly override regex used when no-value fields are allowed.
2014-06-22 12:50:35 -07:00
Todd Gamblin
c091c6d412 Make tests use mock compiler configuration.
- makes sure tests don't fail on systems that don't have some compilers (e.g. clang).
- more control over specific test cases for compilers.
2014-06-22 12:50:35 -07:00
Todd Gamblin
c256d5d1ac Set default editor to vi if EDITOR is not set. 2014-06-22 12:50:35 -07:00
Todd Gamblin
3303365d12 Add working_dir, Version back into package build namespace. 2014-06-22 12:50:34 -07:00
Todd Gamblin
3653cfe6f0 Compiler support now uses configuration files.
- 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
2014-06-22 12:50:34 -07:00
Todd Gamblin
b6740cf1d1 Make debug and verbose output work properly. 2014-06-22 12:50:34 -07:00
Todd Gamblin
4608b674e5 Minor cleanup and bug fixes. 2014-06-22 12:50:34 -07:00
Todd Gamblin
c8414a8a40 Add support for configuration files. Fix SPACK-24. 2014-06-22 12:50:13 -07:00
Todd Gamblin
042a4730e3 Proper exiting for forked process in do_install() 2014-06-22 12:50:10 -07:00
Todd Gamblin
15f56ccee0 Move globals to spack's __init__.py 2014-06-22 12:50:10 -07:00
Todd Gamblin
e70ac872cb Move globals to spack's __init__.py 2014-06-22 12:50:09 -07:00
Todd Gamblin
f784757113 Initial ability to swap compilers.
Fixes SPACK-16 and forces compiler script to build using compiler wrappers.

- works with gcc and clang on laptop.
2014-06-22 12:49:34 -07:00
Todd Gamblin
ed6454fe78 Better satisfies: e.g., v4.7.3 now satisfies v4.7
- 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.
2014-06-22 12:33:49 -07:00
Todd Gamblin
285c5444ab Add CompilerSpec class and loading capability.
- 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.
2014-06-22 12:33:49 -07:00
Todd Gamblin
45baf73c34 Implemented compiler concretization policy. 2014-06-22 12:33:49 -07:00
Todd Gamblin
c6956bc8e7 Sorted out spack.compilers vs var/spack/compilers 2014-06-22 12:33:49 -07:00
Todd Gamblin
8d78e1142f Make Compiler constructor behave like Spec constructor. 2014-06-22 12:33:49 -07:00
Todd Gamblin
1fa20ec2ba partial checkin 2014-06-22 12:33:49 -07:00
George Todd Gamblin
719978a63d Merge pull request #10 in SCALE/spack from ~SHRADER3/spack:develop to develop
# By David Shrader
# Via David Shrader
* commit '1c1e7295f02b123310efe88b0a23a9cb95cce2f4':
  Fix bug in checksum reporting
2014-05-27 08:45:39 -07:00
Todd Gamblin
d99ee7e6ce Fix for SPACK-28: truncated output in docs. 2014-05-27 08:43:25 -07:00
Todd Gamblin
4665505936 Add index_by function to llnl.util.lang 2014-05-27 08:33:19 -07:00
David Shrader
1c1e7295f0 Fix bug in checksum reporting
The number of variables in the string printed for a checksum failure
was not correct. Now a useful error message is printed instead of a
stack trace and a TypeError.
2014-05-20 15:56:52 -06:00
Todd Gamblin
b32cbd6b13 Better version substitution and wildcard URLs.
- Previously, URLs like this wouldn't work with spack create:

	http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.13.tar.bz2

The '5' in hdf5 would interfere with version wildcard substitution beacuse
the wildcard regex would subsume it.

We now take the name of the package OUT of the URL before splitting it up
and adding version wildcards.  This prevents names with numbers from breaking
url.wildcard_version.

Also added a package sanity check test that ensures all builtin packages
work with wildcard_version.
2014-05-17 13:47:01 -07:00
Todd Gamblin
e0c7a63a5a Bugfix in error message. 2014-05-16 11:33:17 -07:00