README.md 2.49 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
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
Jeff Squyres's avatar
Jeff Squyres committed
16
written in pure Python, and specs allow package authors to write a
Todd Gamblin's avatar
Todd Gamblin committed
17
18
19
20
21
22
23
24
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
Authors
----------------
65
66
67
Many thanks go to Spack's [contributors](https://github.com/scalability-llnl/spack/graphs/contributors).

Spack was originally written by Todd Gamblin, tgamblin@llnl.gov.
68
69
70
71
72
73
74

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

``LLNL-CODE-647188``