Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
NotificationsYou must be signed in to change notification settings

spack/spack

Spack

CI StatusBootstrap StatusContainers StatusDocumentation StatusCode coverageSlackMatrix

Getting Started   •  Config   •  Community   •  Contributing   •  Packaging Guide

Spack is a multi-platform package manager that builds and installsmultiple versions and configurations of software. It works on Linux,macOS, Windows, and many supercomputers. Spack is non-destructive: installing anew version of a package does not break existing installations, so manyconfigurations of the same package can coexist.

Spack offers a simple "spec" syntax that allows users to specify versionsand configuration options. Package files are written in pure Python, andspecs allow package authors to write a single script for many differentbuilds of the same package. With Spack, you can build your softwareall the ways you want to.

See theFeature Overviewfor examples and highlights.

Installation

To install spack, first make sure you have Python & Git.Then:

git clone --depth=2 https://github.com/spack/spack.git
# For bash/zsh/sh. spack/share/spack/setup-env.sh# For tcsh/cshsource spack/share/spack/setup-env.csh# For fish. spack/share/spack/setup-env.fish
# Now you're ready to install a package!spack install zlib-ng

Documentation

Full documentation is available, orrunspack help orspack help --all.

For a cheat sheet on Spack syntax, runspack help --spec.

Tutorial

We maintain ahands-on tutorial.It covers basic to advanced usage, packaging, developer features, and large HPCdeployments. You can do all of the exercises on your own laptop using aDocker container.

Feel free to use these materials to teach users at your organizationabout Spack.

Community

Spack is an open source project. Questions, discussion, andcontributions are welcome. Contributions can be anything from newpackages to bugfixes, documentation, or even new core features.

Resources:

Contributing

Contributing to Spack is relatively easy. Just send us apull request.

Most contributors will want to contribute to Spack's community packagerecipes. To do that, you should visit thespack-packages repository.

If you want to contribute to Spack itself, you can submit a pull requestto thespack repository (this repository).

Your PR must:

  1. Makedevelop the destination branch;
  2. Pass Spack's unit tests, documentation tests, and package build tests;
  3. BePEP 8 compliant;
  4. Sign off all commits withgit commit --signoff. Signoff says that youagree to theDeveloper Certificate of Origin.Note that this is different fromsigning commits,which you may also do, but it's not required.

We enforce these guidelines with our continuous integration (CI) process.To run tests locally, and for helpful tips on git, see ourContribution Guide.

Releases

For multi-user site deployments or other use cases that need very stablesoftware installations, we recommend using Spack'sstable releases.

Each Spack release series also has a corresponding branch, e.g.releases/v0.14 has0.14.x versions of Spack, andreleases/v0.13 has0.13.x versions. We backport important bug fixes to these branches butwe do not advance the package versions or make other changes that wouldchange the way Spack concretizes dependencies within a release branch.So, you can base your Spack deployment on a release branch andgit pullto get fixes, without the package churn that comes withdevelop.

The latest release is always available with thereleases/latest tag.

See thedocs on releasesfor more details.

Code of Conduct

Please note that Spack has aCode of Conduct. By participating inthe Spack community, you agree to abide by its rules.

Authors

Many thanks go to Spack'scontributors.

Spack was created by Todd Gamblin,tgamblin@llnl.gov.

Citing Spack

If you are referencing Spack in a publication, please cite the following paper:

On GitHub, you can copy this citation in APA or BibTeX format via the "Cite this repository"button. Or, see the comments inCITATION.cff for the raw BibTeX.

License

Spack is distributed under the terms of both the MIT license and theApache License (Version 2.0). Users may choose either license, at theiroption.

All new contributions must be made under both the MIT and Apache-2.0licenses.

SeeLICENSE-MIT,LICENSE-APACHE,COPYRIGHT, andNOTICE for details.

SPDX-License-Identifier: (Apache-2.0 OR MIT)

LLNL-CODE-811652

About

A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

[8]ページ先頭

©2009-2025 Movatter.jp