Commit graph

526 commits

Author SHA1 Message Date
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
Todd Gamblin
c7b8a4e25c Fix for SPACK-46: cleanup spack clean, spack restage. 2015-02-18 14:00:37 -08:00
Todd Gamblin
14097e39cc Suppress download status meter when routing I/O to a file. 2015-02-18 10:59:03 -08:00
Todd Gamblin
17ac609d23 Merge branch 'features/memaxes' into develop
Conflicts:
	var/spack/packages/libpng/package.py
2015-02-17 00:49:52 -08:00
Todd Gamblin
d800c23cec Better activate/deactivate logic.
spack activate
  - now activates dependency extensions
  - ensures dependencies are activated in the python installation.
  - -f/--force option still allows the old activate behavior.

spack deactivate
  - checks for dependents before deactivating (like uninstall)
  - deactivate -a/--all <extension> will deactviate a package and ALL
    of its dependency extensions.
  - deactivate -a/--all <extendee> activates all extensions of <extendee>
    e.g.: spack deactivate -a python
  - deactivate -f/--force option allows removing regardless of dependents.
    - deactivate -f can be run EVEN if a package is not activated.
    - allows for clenup of activations gone wrong.
2015-02-17 00:24:58 -08:00
Todd Gamblin
67db8ddca8 Factor ignore logic into a predicate builder. 2015-02-17 00:21:15 -08:00
Todd Gamblin
e6b2c27011 Factor out forking logic to build_environment.py. 2015-02-16 21:41:31 -08:00
Todd Gamblin
614c22fc1b Allow forced deactivation -- best effort unlinking
spack deactivate -f will unlink even if Spack thinks the package isn't enabled.
Made deactivate routines idempotent.
2015-02-16 12:41:22 -08:00
Todd Gamblin
2f67cdaf10 Better time output on build completion. 2015-02-15 12:39:10 -08:00
Todd Gamblin
d1e03329c5 Memoize all_specs() and exists() for better performance.
- Real bottleneck is calling normalize() for every spec when we read it.
- Need to store graph information in spec files to avoid the need for this.
  - Also, normalizing old specs isn't always possible, so we need to do this anyway.
2015-02-15 11:50:13 -08:00
Todd Gamblin
c0c0879924 Better extension activation/deactivation 2015-02-15 01:58:35 -08:00
Todd Gamblin
82dc935a50 installed_extensions_for no longer fails when nothing known about pkg 2015-02-15 01:49:50 -08:00
Todd Gamblin
0c94a6e2b0 Merge branch 'features/python-modules' into features/memaxes
Conflicts:
	var/spack/packages/qt/package.py
2015-02-12 10:01:58 -08:00
Todd Gamblin
aae364b4c9 "spack extensions" shows total extension count. 2015-02-08 23:26:15 -08:00
Todd Gamblin
c077f05705 Move dpeendency environment setup to build_environemnt. 2015-02-08 22:01:00 -08:00
Todd Gamblin
f81b136547 import fix in cmd/clean 2015-02-08 19:43:10 -08:00
Todd Gamblin
20ec80295d setup_extension_environment is now setup_dependent_environment.
- other packages, like Qt, can now use this to set up relevant build
  variables and env vars for their dependencies.

- not just extensions anymore.
2015-02-08 19:41:17 -08:00
Todd Gamblin
60a385d4a4 Minor textual error in extensions command. 2015-02-08 19:40:28 -08:00
Todd Gamblin
befe72b9b9 directory_layout now raises an error when an install fails. 2015-02-08 19:36:30 -08:00
Alfredo Gimenez
a4ac1977a4 merge with python-modules 2015-02-06 16:27:33 -08:00
Todd Gamblin
3a3e4d4391 Do not automatically activate extensions on install. 2015-02-04 15:47:03 -08:00
Todd Gamblin
a9e189972a Bugfix in spak extensions 2015-02-04 15:42:41 -08:00
Todd Gamblin
5bde8359e8 More information in extensions command. 2015-02-02 11:20:36 -08:00
Todd Gamblin
2d9190d264 Add extensions command. 2015-02-02 11:20:36 -08:00
Todd Gamblin
6b90017efa Fixed dumb link_tree bug, added test for link tree. 2015-02-02 11:20:35 -08:00
Todd Gamblin
6400ace901 Add "spack extensions" command to list activated extensions. 2015-02-02 11:19:54 -08:00
Todd Gamblin
70c8bf44b8 Fix for install sanity check -- don't count hidden dir layout files. 2015-02-02 11:19:54 -08:00
Todd Gamblin
de91c95e8e Ability to ignore files in activate/deactivate for extensions. 2015-02-02 11:19:54 -08:00
Todd Gamblin
ff9cb94f4f Add arguements to extends() and activate/deactivate. 2015-02-02 11:19:54 -08:00
Todd Gamblin
2ae7f53b83 Bugfix: Extension hooks shoudl only run for extensions. 2015-02-02 11:19:54 -08:00
Todd Gamblin
89ccdf92cd Add activate and deactivate commands for extensions. 2015-02-02 11:19:54 -08:00
Todd Gamblin
acc62abbd0 Rework do_activate/activate and do_deactivate/deactivate semantics.
- packages can now extend only one other package.
- do_activate() and do_deactivate() are now called on the extension,
  and they automatically find the extendee
- activate() and deactivate() are still called on the extendee and are
  passed the extension.
2015-02-02 11:19:53 -08:00
Todd Gamblin
d13bbeb605 Add PYTOHNPATH to modules for python extensions. 2015-02-02 11:19:53 -08:00
Todd Gamblin
bcccf02020 Add setup_extension_environment() method.
- lets packages do some setup before their extensions run install()
2015-02-02 11:19:53 -08:00
Todd Gamblin
82946d2914 Move symlink tree routines to LinkTree class. 2015-02-02 11:19:52 -08:00
Todd Gamblin
9977543478 Added feature: package extensions
- packages can be "extended" by others
- allows extension to be symlinked into extendee's prefix.
- used for python modules.
  - first module: py-setuptools
2015-02-02 11:19:00 -08:00
Todd Gamblin
7215aee224 do_install() passes kwargs to dependencies. 2015-02-02 11:16:24 -08:00
Todd Gamblin
adb7d614e6 Add pre-install and pre-uninstall hooks. 2015-02-02 11:16:23 -08:00
Todd Gamblin
ebe0c1d83a New "extends" relation adds another special list to the package class. 2015-02-02 11:16:23 -08:00
Todd Gamblin
88afad3e46 Directory layout can now track installed extensions per package. 2015-02-02 11:16:23 -08:00
Todd Gamblin
ba593ccb26 Fix bug in mirror path construction. 2015-02-02 11:15:24 -08:00
Todd Gamblin
3e37903ffd Packages have rpath property. 2015-01-23 00:03:51 -08:00
Todd Gamblin
e6b4530234 Add is_exe function to filesystem. 2015-01-22 13:52:28 -08:00
Todd Gamblin
51ed0d3f6f Properly set install RPATHS for cmake builds. 2015-01-19 20:59:23 -08:00
Todd Gamblin
f35b8b8db4 Better location error output. 2015-01-19 14:05:48 -08:00
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