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