README.md 2.6 KB
Newer Older
Todd Gamblin's avatar
Todd Gamblin committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Spack
===========

Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
and environments. It was designed for large supercomputing centers,
where many users and application teams share common installations of
software on clusters with exotic architectures, using libraries that
do not have a standard ABI. Spack is non-destructive: installing a new
version does not break existing installations, so many configurations
can coexist on the same system.

Most importantly, Spack is simple. It offers a simple spec syntax so
that users can specify versions and configuration options
concisely. Spack is also simple for package authors: package files are
writtin in pure Python, and specs allow package authors to write a
single build script for many different builds of the same package.

See the
[Feature Overview](http://scalability-llnl.github.io/spack/features.html)
for examples and highlights.

To install spack and install your first package:

25
    $ git clone https://github.com/scalability-llnl/spack.git
Todd Gamblin's avatar
Todd Gamblin committed
26
27
28
29
30
31
32
33
34
    $ cd spack/bin
    $ ./spack install libelf

Documentation
----------------

[Full documentation](http://scalability-llnl.github.io/spack)
for Spack is also available.

35
Get Involved!
36
37
------------------------

38
39
40
41
42
43
44
Spack is an open source project.  Questions, discussion, and
contributions are welcome. Contributions can be anything from new
packages to bugfixes, or even new core features.

### Mailing list

If you are interested in contributing to spack, the first step is to
45
46
join the mailing list.  We're using a Google Group for this, and you
can join it here:
47

48
  * [Spack Google Group](https://groups.google.com/d/forum/spack)
49

50
51
52
53
54
55
56
57
58
59
60
61
62
### Contributions

At the moment, contributing to Spack is relatively simple.  Just send us
a [pull request](https://help.github.com/articles/using-pull-requests/).
When you send your request, make ``develop`` the destination branch.

Spack is using a rough approximation of the [Git
Flow](http://nvie.com/posts/a-successful-git-branching-model/)
branching model.  The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the
latest stable release.


Todd Gamblin's avatar
Todd Gamblin committed
63
64
65
Authors
----------------
Spack was written by Todd Gamblin, tgamblin@llnl.gov.
66

Todd Gamblin's avatar
Todd Gamblin committed
67
Significant contributions were also made by:
68
69
70

  * David Beckingsale
  * David Boehme
Todd Gamblin's avatar
Todd Gamblin committed
71
  * Alfredo Gimenez
72
73
74
75
  * Luc Jaulmes
  * Matt Legendre
  * Greg Lee
  * Adam Moody
Todd Gamblin's avatar
Todd Gamblin committed
76
77
  * Saravan Pantham
  * Joachim Protze
78
  * Bob Robey
Todd Gamblin's avatar
Todd Gamblin committed
79
  * Justin Too
80
81
82
83
84
85
86

Release
----------------
Spack is released under an LGPL license.  For more details see the
LICENSE file.

``LLNL-CODE-647188``