Todd Gamblin
c3b72c3d7c
Added a force_url option for packages that do not have nice URLs
2014-03-13 16:08:07 -07:00
Adam Moody
03ee31e0e8
Merge branch 'master' of https://lc.llnl.gov/stash/scm/scale/spack
2014-03-13 15:56:44 -07:00
Adam Moody
fadd2032a3
adding pmgr_collective
2014-03-13 15:56:29 -07:00
Todd Gamblin
6058f7aac6
Add str() calls around messages in tty
2014-03-13 15:53:18 -07:00
Matthew LeGendre
67203f17e0
Merge branch 'master' into zippackages
2014-03-13 15:18:15 -07:00
Matthew LeGendre
15840cc677
Use unzip to unpackage .zip files
2014-03-13 15:17:26 -07:00
Todd Gamblin
77aeac6501
Support github URLs
2014-03-13 14:51:28 -07:00
Adam Moody
c3f3353de0
change rename to move in mirror creation
2014-03-13 14:43:26 -07:00
Matthew LeGendre
78abdcea16
add spindle package
2014-03-13 14:14:31 -07:00
Todd Gamblin
cf5e850f27
Add spack patch docs to build process section.
2014-02-10 09:58:09 -08:00
Todd Gamblin
7152c82ec7
Document mirrors and change mirror precedence.
2014-02-10 09:48:07 -08:00
Todd Gamblin
c9dc4636cc
Command to create spack mirrors.
2014-02-10 09:07:24 -08:00
Todd Gamblin
93e80852f5
Cleanup find_versions_of_archive.
...
- less kludgy matching -- we nw extract the version straight from a
capture group in the original match, rather than by trying to match
again.
- Avoids problems like finding "2" as the version in mvapich2-1.9, when
"2" here is part of the package name.
2014-02-09 09:11:12 -08:00
Todd Gamblin
be7e0a9604
Added docs for patching.
2014-02-08 19:29:33 -08:00
Todd Gamblin
36b6ad2242
started patch docs.
2014-02-08 18:57:04 -08:00
Adam Moody
10148ff802
add mvapich2 module
2014-02-08 18:13:42 -08:00
Todd Gamblin
b816f71f8c
Support for patches in packages.
...
- packages can provide patch() directive to specify a patch file that
should be applied to source code after expanding it and before
building.
- patches can have a when spec, so they're only applied under certain
conditions
- patches can be local files in the package's own directory, or they
can be URLs which will be fetched from the internet.
2014-02-08 18:11:54 -08:00
Todd Gamblin
9a29aa8d03
Packages can now live in directories, not just .py files.
...
This gives us a place to put patch files.
2014-02-08 15:18:24 -08:00
Todd Gamblin
f09c58549a
Fix regex used in find_versions_of_archive.
...
Fixes github issue #2 , as well as spack create for mvapich.
2014-02-07 10:36:58 -08:00
Todd Gamblin
3df638dd41
Add dirty options to create and checksum, like install.
2014-02-07 10:10:28 -08:00
Todd Gamblin
42610be2e5
Fix bugs that crept into spack clean when stage was refactored.
2014-02-07 09:28:50 -08:00
Todd Gamblin
19df908cb6
Make default spack text non-bold
2014-02-07 09:13:10 -08:00
jprotze
f6a484519e
fix alias naming
2014-02-07 14:19:16 +01:00
Todd Gamblin
73774c1249
Spack message text is just bold, not bold white now.
...
- added capability for just bold and just underline to color.py
- Make tty.msg() display bold text instead of bold white
2014-02-06 16:58:23 -08:00
Todd Gamblin
72f0192ddd
Fixed regressions.
2014-02-05 08:30:28 -08:00
Todd Gamblin
9e469c37c4
Bugfix in clean command.
2014-02-05 00:17:36 -08:00
Todd Gamblin
4a913cbbd0
Fix bug in make jobs parameter.
2014-02-05 00:17:36 -08:00
Todd Gamblin
a71c59d4fe
Fix Mac OS package icon.
2014-02-05 00:17:36 -08:00
Todd Gamblin
a6b24f85df
Architecture string can contain '.' now.
2014-02-05 00:17:35 -08:00
Todd Gamblin
14278fdf0a
Allow file URLs
2014-02-05 00:17:35 -08:00
Todd Gamblin
09300d9261
Ignore more errors when spidering.
2014-02-05 00:17:35 -08:00
Todd Gamblin
7290322d96
Fix spelling error in tmp dir
2014-02-05 00:17:35 -08:00
Todd Gamblin
badb130eff
Simplify redundant conditional.
2014-02-05 00:17:35 -08:00
Todd Gamblin
c0ea783310
Fix import bug.
2014-02-05 00:17:34 -08:00
Todd Gamblin
6d956f372f
Fix bug in staging.
...
- Stage needs to account for symlinks in self.tmp_dir
- Use os.realpath on self.tmp_dir when checking to see if a stage needs to be rebuilt
2014-02-05 00:17:34 -08:00
Todd Gamblin
03a32f0d5b
Can now mirror tarballs in a local directory.
...
- Can add tarballs to local directory; no longer have to download from source URL.
2014-02-05 00:17:34 -08:00
Gregory L. Lee
b4da28f71e
bug fixes
...
- Make prefix an actual string so that install doesn't fail.
- Executable should throw SpackError on command failure.
2014-01-23 01:30:44 -08:00
Todd Gamblin
8f7c92706f
More typo fixes
2014-01-15 00:46:05 -08:00
Todd Gamblin
cab94f86ee
typo fixes from Adam
2014-01-14 23:50:50 -08:00
Todd Gamblin
91d6f0b481
Developer documentation
2014-01-12 18:22:19 +01:00
Todd Gamblin
d18be7437f
Remove trailing whitespace from license text
2014-01-12 18:19:18 +01:00
Todd Gamblin
08a25adb2f
Site configuration docs
2014-01-11 20:42:48 +01:00
Todd Gamblin
72e54caf06
Add line to disable jekyll on github.
2014-01-09 18:18:38 +01:00
Todd Gamblin
912a87c868
Fix docs to account for license header.
2014-01-09 18:06:18 +01:00
Todd Gamblin
ad746bd686
Add a rule for automatically creating gh-pages from html docs.
2014-01-09 16:35:46 +01:00
Todd Gamblin
0b5d531f31
make empty _static directory "exist" to git
...
Sphinx really wants the _static directory to exist, but git doesn't.
This is a compromise to avoid superfluous warnings from sphinx.
See here:
http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository
2014-01-09 14:03:32 +01:00
Todd Gamblin
837fc18d14
Add release number to docs and license.
2014-01-08 11:23:15 +01:00
Todd Gamblin
402c158f3b
Change to github URL in docs.
2014-01-08 11:02:12 +01:00
Todd Gamblin
ce9b3511d0
Add license to python files and spack script.
2014-01-08 10:21:35 +01:00
Todd Gamblin
2f520d6119
Change multimethods to take first match instead of being rigid.
...
- Formerly required that one and only one spec match
- Now allows first match in a list (more flexible and more intuitive)
- introduces new bug that provides() doesn't do the correct thing
when a version is not in a range that has been explicitly provided.
- TODO: fix this.
2014-01-07 09:52:29 +01:00
Todd Gamblin
36e6ef9fbd
Packaging docs are mostly done.
2014-01-06 18:21:27 +01:00
Todd Gamblin
40229f6ed2
More packaging docs
2014-01-06 17:15:25 +01:00
Todd Gamblin
4c9c7ab65f
Local specs now called "anonymous specs"
...
- anonymous specs have no name
- "local spec" came from these first being used in multimethods, i.e. "name of the local Package"
- not the most intuitive name.
2014-01-06 15:18:15 +01:00
Todd Gamblin
93e288859a
Simpler prefix args.
2014-01-06 14:14:57 +01:00
Todd Gamblin
5f2feac92c
Remove install methods from mock packages (not needed)
2014-01-06 11:05:58 +01:00
Todd Gamblin
df0c1134c9
SPACK-14: Bugfix in Spec.normalize()
...
- Normalize now updates the provider index as it addes package dependencies.
- Fixes problem where this breaks:
a depends_on mpi
a depends_on b
b depends_on mpich
- Packages now restrict the mpi dependency to mpich
2014-01-06 09:25:51 +01:00
Todd Gamblin
d0b82d291f
Change deps on 'mpich' to 'mpi'
2014-01-04 14:44:16 -08:00
Todd Gamblin
b579ba213d
More packaging documentation
2014-01-04 14:43:44 -08:00
Todd Gamblin
30d3b32085
Bug fix in how class names are determined
2014-01-03 11:43:29 -08:00
Todd Gamblin
208db9b002
More packaging documentation.
2013-12-26 13:47:13 -08:00
Todd Gamblin
a4cda94524
install() now takes spec AND prefix
2013-12-25 17:19:51 -08:00
Todd Gamblin
0cd5866eea
Some fixes recommended by PyCharm
2013-12-25 15:40:32 -08:00
Todd Gamblin
4ff8766a22
Starting on packaging docs.
2013-12-25 15:30:42 -08:00
Todd Gamblin
354c8a281b
make create and checksum consistent.
...
- create now searches and prompts for checksums.
- makes package creation easier
2013-12-24 00:57:56 -08:00
Todd Gamblin
2f1eae8c0d
spack checksum works.
2013-12-23 16:12:02 -08:00
Todd Gamblin
db32769347
spack edit fixed.
2013-12-23 14:01:10 -08:00
Todd Gamblin
7267734a5b
Spack create works again w/new package format.
2013-12-23 12:09:19 -08:00
Todd Gamblin
358bfdaaf1
Another multimethod test for vdeps
2013-12-23 10:28:50 -08:00
Todd Gamblin
87dc2151b7
constrain() now consistent with satisfies()
...
- Added checks to constrain() so that it is consistent with satisfies()
- Added many more test cases for satisfiability and constraints on deps
- Virtual packages are handled properly in satisfies() and constrain()
- bugfix: mpileaks^mpich2 would satisfy mpileaks^mpi@3:
- this case is now handled.
2013-12-23 10:19:55 -08:00
Todd Gamblin
7088cdf25f
Fix for SPACK-13, and satisfies() now handles deps.
...
Added more test cases for multimethods. In doing so, (re)discovered that
satisfies() really needs to handle dependencies properly.
Implemented support for dependencies in satisfies, but constrain() now
isn't consistent (as we do not currently constrain deps), so need to
implement that.
Virtual dependency support probably needs some deeper thought. i.e.,
there is probably an intermediate DAG form that would make the needed
checks easier. Right now we have to build ProviderIndexes to figure out
how virtual dependencies are set up. If the vdep were preserved in the DAG,
then we could just check for things like incompatible providers directly.
2013-12-22 17:55:58 -08:00
Todd Gamblin
f7706d231d
SPACK-2: Multimethods for specs.
...
- multi_function.py -> multimethod.py
- Added @when decorator, which takes a spec and implements matching for method dispatch
- Added multimethod unit test, covers basic cases.
2013-12-21 17:19:05 -08:00
Todd Gamblin
99b05fd571
More docs.
2013-12-21 15:32:34 -08:00
Todd Gamblin
dfd0440a7e
Color tweaks for find.
2013-12-21 15:30:35 -08:00
Todd Gamblin
a63482be73
Docs for spack find
2013-12-21 15:30:35 -08:00
Todd Gamblin
88017ec49e
Made formatting specs easier with format() syntax.
...
- Replaced existing str_no_deps() function with more flexible format() function.
- Spec.tree() can take a format argument now, as well.
2013-12-21 15:30:35 -08:00
Todd Gamblin
e645bb065a
SPACK-1: Multi-version installation now works front to back with specs.
2013-12-21 15:30:10 -08:00
Todd Gamblin
af639dca16
Make dirty installs part of package lifecycle
2013-12-18 11:42:56 -08:00
Todd Gamblin
c7beac295d
More on installing with virtual packages
2013-12-18 11:36:55 -08:00
Todd Gamblin
256c42a34c
Added a target to upload docs automatically.
2013-12-18 11:18:11 -08:00
Todd Gamblin
7be511a352
Finished basic usage.
2013-12-18 11:02:31 -08:00
Todd Gamblin
c9e40b725d
Start of basic documentation
2013-12-12 04:25:31 -08:00
Todd Gamblin
c7539fe950
Better info command.
2013-12-12 01:04:32 -08:00
Todd Gamblin
7575f99bea
Documentation skeleton
2013-12-09 20:17:08 -08:00
Todd Gamblin
8d51c95e68
use get instead of setdefault for kwargs.
2013-12-09 10:44:46 -08:00
Todd Gamblin
936f54761b
type(foo) == bar -> isinstance(foo, bar)
...
Changed type checks in most places.
2013-12-09 00:47:17 -08:00
Todd Gamblin
fa2e8dab11
Additional circular reference checking
2013-12-08 21:38:37 -08:00
Todd Gamblin
e0c029c347
Fixes for virtual packages.
...
- Added more tests
- cleaned up spec preorder traversal
- fixed concretization
2013-12-08 19:26:29 -08:00
Todd Gamblin
90f2154a32
Better test output -- include totals.
2013-12-07 15:16:09 -08:00
Todd Gamblin
87fedc7e1e
Added support for virtual dependencies ("provides")
2013-12-07 13:51:46 -08:00
Todd Gamblin
344e902b15
More stage tests.
2013-12-01 23:57:07 -08:00
Todd Gamblin
ff2018bc85
Reworked stage paths to allow %u for username. Added stage test.
2013-11-24 14:06:11 -08:00
Todd Gamblin
3de3efc75d
Gracefully handle lack of network connection.
2013-11-23 21:01:07 -08:00
Todd Gamblin
1247036141
Generalize package relations like depends_on, provides, conflicts.
...
All of these do the same thing. So they are all now generalized
to a single closure function; just the name of the updated variable
in the package is different.
2013-11-23 15:46:04 -08:00
Todd Gamblin
6cf6eac3de
Move concretization into its own class.
...
Allows easy overriding of a single policy.
2013-11-23 15:18:43 -08:00
Todd Gamblin
f31aaeed98
Cleanup and comments.
2013-11-23 14:55:09 -08:00
Todd Gamblin
2dff2f3341
Fix virtual method.
2013-11-23 13:43:59 -08:00
Todd Gamblin
389fa1792d
Added web spider capability for listing versions.
2013-11-23 13:04:36 -08:00
Todd Gamblin
fe7da0dcff
Update libdwarf URL.
2013-11-20 14:43:17 -07:00
Todd Gamblin
b5c565891f
First cut concretization works, with tests.
...
Mock packages now all have their own version lists.
2013-10-26 14:04:09 -07:00
Todd Gamblin
7bdf93234a
Added unit tests for spec normalization.
2013-10-18 16:39:09 -07:00
Todd Gamblin
481a617d65
spack test runs all tests by default
...
'spack test -a' formerly ran all test and 'spack test' listed available tests.
Now, 'spack test' runs all tests and 'spack test -l' lists available ones.
2013-10-17 14:53:40 -07:00
Todd Gamblin
558cf7e406
spec flatten, normalize, validate; package validate
...
New operations for manipulating spec and package DAGs.
For specs:
flatten: gather all deps to the root
normalize: Merge constraints and make spec match package DAG
For packages:
validate_dependencies: Make sure spec constraints in package DAG are sane.
Added tests for above methods. Also added beginnings of concretization logic,
to turn abstract spec into a concrete one.
Still need proper tests for normalize().
2013-10-17 14:46:00 -07:00
Todd Gamblin
db07c7f611
Spec constraints and normalization now work.
...
- Specs can be "constrained" by other specs, throw exceptions when constraint
can't be satisfied.
- Normalize will put a spec in DAG form and merge all package constraints with
the spec.
- Ready to add concretization policies for abstract specs now.
2013-10-15 03:04:25 -07:00
Todd Gamblin
3fb7699e1e
Command to launch interpreter with spack in sys.path
2013-10-11 23:24:06 -07:00
Todd Gamblin
09fd944de5
Command to run pydoc on spack classes.
2013-10-11 23:23:41 -07:00
Todd Gamblin
bb63327da0
Refactor utils into separate modules.
2013-10-07 18:54:58 -07:00
Todd Gamblin
f2046a4aa3
Start to make a bigger package out of utils.py
...
- moved none_compare functions to util.none_high
and util.none_low packages
- renamed utils.py to util package
2013-10-07 18:12:26 -07:00
Todd Gamblin
618571b807
Checkpoint commit: much-improved spec class.
...
Still organizing things.
2013-10-07 17:57:27 -07:00
Todd Gamblin
157737efbe
Add spec architeccture, redo color output support.
2013-06-29 15:59:43 -07:00
Todd Gamblin
ebc507dc6e
Clean up half-downloaded tarballs.
2013-06-29 15:59:08 -07:00
Todd Gamblin
7a67cc1675
Adding expression syntax for console colors.
2013-06-29 15:56:29 -07:00
Todd Gamblin
5c761aafab
Add checks for version 2.7
2013-06-02 13:54:46 -07:00
Todd Gamblin
8f37817ae1
Better error messages for spack list -v.
2013-05-17 16:56:00 -07:00
Todd Gamblin
57ef3b8a80
Ability to list versions from web page with spack list -v PACKAGE
...
Experimental feature automatically parses versions out of web pages and prints what
it thinks are avaialble versions of a package, e.g.:
$ spack list -v libunwind
1.1 1.0 0.98.6 0.98.4 0.98.2 0.98 0.96 0.93 0.91 0.1
1.0.1 0.99 0.98.5 0.98.3 0.98.1 0.97 0.95 0.92 0.9 0.0
2013-05-17 16:25:00 -07:00
Todd Gamblin
6e557798e8
Added command to print out URL and homepage.
2013-05-17 16:04:56 -07:00
Todd Gamblin
7c98ee9644
Renamed variables called 'spec' to 'path'
2013-05-17 10:38:39 -07:00
Todd Gamblin
eb0832e379
list_modules will now find directories.
2013-05-13 10:35:38 -07:00
Todd Gamblin
b2f78ef78e
Added EBNF grammar.
2013-05-12 19:30:55 -07:00
Todd Gamblin
b2a5fef6ad
Commands take specs as input instead of names.
...
modified clean, create, fetch, install, and uninstall
2013-05-12 14:17:38 -07:00
Todd Gamblin
ad4411bc9e
More rubust spec parsing and error messages
2013-05-12 11:10:36 -07:00
Todd Gamblin
c3f52f0200
Initial implementation of package specs, including parser.
...
spec.py can parse full dependence specs like this:
openmpi@1.4.3:1.4.5%intel+debug ^hwloc@1.2
These will be used to specify how to install packages and their dependencies,
as well as to specify restrictions (e.g., on particular versions) for
dependencies. e.g.:
class SomePackage(Package):
depends_on('boost@1.46 ,1.49')
This would require either of those two versions of boost.
This also moves depends_on out to relations.py and adds
"provides", which will allow packages to provide virtual
dependences.
This is just initial implementation of the parsing and objects
to represent specs. They're not integrated with packages yet.
2013-05-09 14:21:16 -07:00
Todd Gamblin
5dd2c53e38
Removed old versions.py
2013-05-09 14:19:03 -07:00
Todd Gamblin
1b1c1c07f9
Don't exit after one test.
2013-05-09 14:18:38 -07:00
Todd Gamblin
fd93d4c235
Changed class name.
2013-05-09 14:18:11 -07:00
Todd Gamblin
2df8a29b9b
Removed executable bit.
2013-05-09 14:15:38 -07:00
Todd Gamblin
50718fe57f
Tests can be run via spack test <test_name>
2013-04-28 11:27:33 -07:00
Todd Gamblin
422d291b11
This adds support for multi-platform methods.
...
You can now do this:
class MyPackage(Package):
def install(self):
...default install...
@platform('bgqos_0')
def install(self):
...specialized install for bgq...
This works on functions other than install, as well (as long as they're in a Package)
2013-04-04 10:22:49 -07:00
Todd Gamblin
e1551de976
Moved install-spack to its own simpler command.
2013-03-25 15:27:28 -07:00
Todd Gamblin
aa0fd6c17a
Fix in docs.
2013-03-22 16:24:44 -07:00
Todd Gamblin
269cf53a68
Documentation and small changes.
2013-03-22 13:46:01 -07:00
Todd Gamblin
e410df743a
Simpler implementation of depends_on.
2013-02-25 18:18:48 -08:00
Todd Gamblin
27b9204785
Better spack -h: added cmd descriptions.
...
- each cmd has a desscription attribute that is used for the help strign in argparse.
2013-02-22 00:20:24 -08:00
Todd Gamblin
707db8dafe
Better handling of stage.
...
- better symlink handling
- remove stage directories on successful install.
2013-02-21 23:03:40 -08:00
Todd Gamblin
5899308ad3
Parallel bootstrap for cmake.
2013-02-21 20:05:11 -08:00
Todd Gamblin
bd59689fdc
Minor changes; loosened up parallel build for dwarf.
2013-02-21 19:27:27 -08:00
Todd Gamblin
b39165b999
Fix regression in clean.
2013-02-21 19:10:28 -08:00
Todd Gamblin
2a908d6a0e
Added help command and purge command.
2013-02-21 19:05:56 -08:00
Todd Gamblin
705447bdc2
Use tmp directory for downloading and building
2013-02-21 19:05:16 -08:00
Todd Gamblin
1c4e16afdf
Fixed bug in parallel make option.
2013-02-20 15:44:25 -08:00
Todd Gamblin
fb172bc702
Added libunwind and fixed link issues in cc.
2013-02-20 15:22:00 -08:00
Todd Gamblin
48b0351945
Fixed passing of dependence prefixes to cc. libdwarf works.
2013-02-19 19:26:54 -08:00
Todd Gamblin
d534c539d4
Fixes, remove parallel build for libdwarf due to race case.
2013-02-19 17:08:38 -08:00
Todd Gamblin
7d9d4f3484
rpaths for dependencies. elf, dwarf, cmake build on Linux
2013-02-19 01:20:50 -08:00
Todd Gamblin
5d81cfdac6
Require python2.7
2013-02-18 23:52:50 -08:00
Todd Gamblin
38becacace
Dependencies now work. Added libelf, libdwarf.
2013-02-18 23:46:04 -08:00
Todd Gamblin
cc76c0f5f9
Initial version of spack with one package: cmake
2013-02-13 17:50:44 -08:00