661a894c85
* Update R CRAN packages This PR update R CRAN packages. It also ensures that spack built packages that correspond to R recommended packages are specified in the dependency list. This is needed for #12015. * Add more updates to packages * Updated dependencies of CRAN R packages Also, use cloud.r-project.org rather than cran.r-project.org to use automatic redirection to mirrors. This minimizes the load on the cran server. * Update to latest versions of CRAN R packages * Fix flake8 issues Some blank lines at the end of a coupple of package files crept in. * Adjust r-animation dependencies The r-magick package depends on image-magick, so r-animation should as well. Also, add in texlive for LaTeX support. * New package: r-magick * Adjust line spaces in r-magick * Add swftools dependenct to r-animation * New package: swftools This is needed bt r-animation * Add 'when' clause to some package dependencies - r-animation - r-coin - r-dt - r-openssl * New package: r-ellipsis * New package: r-vctrs * New package: r-zeallot * New package: r-generics * New package: r-cardata * Add r-progress dependency to r-readxl * New package: r-askpass * New package: r-openxlsx * New package: r-rio * New package: r-sys * New package: r-zip * Add more updated packages These are updates that have happened while working on this PR as well as catching the ones from the cran.rstudio.com URL that were missed before. * New package: r-gower * New package: r-recipes * New package: r-squarem * New package: r-libcoin * New package: r-rcmdcheck * New package: r-remotes * New package: r-sessioninfo * New package: r-xopen * New package: r-rgexf * New package: r-rook * New package: r-later * New package: r-promises * New package: r-xfun * New package: r-urca * New package: r-ggsignif * New package: r-polynom * New package: r-ucminf * New package: r-ordinal * New package: r-inum * New package: r-debugme * New package: r-fs * New package: r-shinyfiles * New package: r-gsa * New package: r-nmof * New package: r-dosnow * New package: r-rann * New package: r-reticulate * New package: r-future * New package: r-globals * New package: r-listenv * New package: r-future-apply * New package: r-rsvd * New package: r-sctransform * New package: r-mitools * Remove a stray FIXME line * Fix typo in dependency for r-rcmdcheck * Remove the dependency on r-splines The r-splines package never existed in spack, but it does not exist on CRAN either. There is an archive version from 1999 but it does not have the proper extension format for modern R packages. The latest version does not depend on r-splines, and apparently previous versions at least built without it. Also, bump the required R version. * Fix typo in r-rcpp dependency * Fix typos in dependencies - r-diagrammer - r-janitor - r-seurat Also, bump minimum R version for r-rngtools. * New package: r-clisymbols * New package: r-fitdistrplus * New package: r-gbrd * New package: r-gh * New package: r-ini * New package: r-metap * New package: r-npsurv * New package: r-rdpack * New package: r-snakecase * New package: r-tinytex * New package: r-usethis * Make recommended changes Made the changes that were recommended in the initial review. - change cran.rstudio.com to cloud.r-project.org - change R-project to r-project - for packages with no listed homepage use the canonical link to the package page - for packages with a dependency constraint on R itself, specify the dependency type - add `list_url` where missing from package * New package: r-hdf5r This is needed for some older versions of r-seurat. * Set R versions in packages If the R version is specified in the DESCRIPTION file then set it in the respective spack package.py file. * Update var/spack/repos/builtin/packages/r-aer/package.py Change dependency version of r-car. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Set constraint of mlbench dependency of r-adabag * Set constraint on r-rcpp dependency of r-ape * Removed "suggested" r-testthat from r-bibtex * Update var/spack/repos/builtin/packages/r-bindrcpp/package.py Fix dependency spec of r-bindr in r-bindrcpp. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/r-blob/package.py Add r-vctrs version constraint. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Remove r-base64enc dependency from r-callr * Update var/spack/repos/builtin/packages/r-car/package.py Set constraint on r-cardata dependency. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Remove unneeded dependencies from r-clipr * Add gmake dependency to r-construct * Set the proper homepage for r-crayon * Add r-jsonlite as a dependency for r-crul The jsonlite package moved from "suggests" to "imports" with 0.8.4. * Remove accidental colon after package name * Add version constraint to r-fpc dependency in r-dendextend * Additional constraints for R version with r-digest * Add r-jsonlite dependency for latest verion of r-dt * Add r-htmltools dependency in r-dygraphs package * Removed unneeded dependencies from r-fnn * Remove unneeded dependencies from r-formatr * Add version constraint for r-mvtnorm dependency in r-fpc * Added gmake dependency to r-fs * Add r-globals dependency in r-future-apply * Add perl dependency to r-gdata * Add openssl dependency for r-ggally * Removed unneeded dependencies from r-globaloptions * Update r-haven - Add version constraint on r-forcats - Add gmake build dependency * Fixed gmake dependency Gmake is a build only dependency. * Apply suggestions from code review Apply a batch of suggestions from Adam Stewart. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Remove unneeded dependencies from r-hoardr * Fix r-htmlwidgets homepage * Add gmake build dependency to r-httpuv * Remove unneeded dependency from r-log4r * Remove unneeded dependency from r-maldiquant * Add gmake build dependency to r-minqa * Remove unneeded dependency from r-mlbench * Set constraint on R6 dependenvy of r-pbdzmq * Set constraints on r-callr dependency of r-pkgbuild * Remove unneeded dependency from r-nloptr * Remove unneeded dependencies from r-pkgmaker * Set R version constraint for r-raster * Set version constraint on rcpp for r-rcppprorgess * Added gmake build dependency * Remove unneeded dependencies from r-rematch * Remove unneeded dependency from r-plogr * Add gmake build dependency for r-rcurl * Apply suggestions from code review Bring in more suggestions from Adam Stewart. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Remove cnpy dependency from r-rcppcnpy The r-rcppcnpy package has its own modified copy of the cnpy source and will build from that internal source. The cnpy dependency is therefore unnecessary. * Add comment to reconcile dependencies The CRAN site lists Perl, Getopt::Long as a dependency. The Spack Perl will have the Getopt::Long package installed so just depend on Perl. * Add dependency on udunits2 with newer versions of r-units * Set additional proj constraint for r-sf Support for PROJ6 was added in r-sf-0.7-4. * New package: pandoc This package installs the pandoc and pandoc-citeproc binaries in order to satisfy dependencies on pandoc until the Haskell framework is in Spack. * Add pandoc dependency to r-bookdown * Add comment about MPI in r-ergm * Add pandoc dependency for r-reprex * Add proj constraints to r-rgdal dependencies Support for PROJ6 was added in version 1.4-2. * Modifications to r-rgl - Rearranged the dependencies to be more consistent with other packages - put the type last on the depends_on lines to be consistent with other packages - Added version constraints for some dependencies - Added pandoc build dependency * Be more accurate with rjsonio constraint for r-rgooglemaps * Remove unneeded dependencies from r-rhmmer * Tweak constraints for r-rjava - Set java version constraint - add gmake build dependency * Add pandoc dependency to r-markdown * Remove unneeded dependencies from r-rrcov * Tweak r-rstan package - remove duplicate specifications - remove unneeded when conditions - add version constraints - arrange to follow order on CRAN page more closely - add gmake build dependency - add pandoc build dependency * Add pandoc build dependency for r-rstantools * Remove unneeded dependency from r-runit * Remove unneeded dependencies from r-selectr * Remove example R code from description The example would module loading to break, at least in the case of Lmod using TCL module files. It could be during the TCL to Lua conversion but the module fails due to interpreting ipart of the example as a command. * Update r-seurat New version of r-seurat with new dependencies. * New package: r-dqrng * New package: r-leiden * New package: r-rcppannoy * New package: r-rcppparallel * New package: r-rspectra * New package: r-sitmo * New package: r-uwot * Remove unneeded dependency from r-snow * Remove unneeded dependency from r-sourcetools * Added pandoc build dependency for r-stanheaders * Remove unneeded dependencies from r-taxizedb * Remove unneeded dependencies from r-tclust * Add dependency constraints for r-threejs The following are needed for version 0.2.2: - r-matrix - r-jsonlite * Remove unneeded dependencies from r-vfs * Remove unneeded dependencies from r-vgam * Remove unneeded dependency from r-xlconnectjars * Remove unneeded dependency from r-xlsxjars * Remove unneeded dependency from r-xnomial * Remove ~mpi from fftw dependency of swftools * Apply suggestions from code review Add latest round of suggestions from Adam Stewart. Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Fix rjsonio spec for r-rgooglemaps The r-rjsonio spec is a when conditional. * Rename 3 R.* packages - r-utils --> r-r-utils (R.utils) - r-oo --> r-r-oo (R.oo) - r-methodss3 --> r-r-methodss3 (R.methodsS3) Also, renamed dependencies in packages that depend on these three. * Loosen version constraint on mariadb for r-rmysql Make the mariadb constraint on mariadb-5.5 rather than the more specific, and limiting, mariadb-5.5.56. This will allow an external mariadb, such as mariadb-5.5.60 on CentOS-7.5 to be used. It also allows for r-rmysql to be built against newer versions of the mariadb-5.5 series that might be added to spack. |
||
---|---|---|
.github | ||
bin | ||
etc/spack/defaults | ||
lib/spack | ||
share/spack | ||
var/spack | ||
.codecov.yml | ||
.coveragerc | ||
.dockerignore | ||
.flake8 | ||
.flake8_packages | ||
.gitignore | ||
.mailmap | ||
.readthedocs.yml | ||
.travis.yml | ||
COPYRIGHT | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
NOTICE | ||
README.md |
Spack
Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, and many supercomputers. Spack is non-destructive: installing a new version of a package does not break existing installations, so many configurations of the same package can coexist.
Spack offers a simple "spec" syntax that allows users to specify versions and configuration options. Package files are written in pure Python, and specs allow package authors to write a single script for many different builds of the same package. With Spack, you can build your software all the ways you want to.
See the Feature Overview for examples and highlights.
To install spack and your first package, make sure you have Python. Then:
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
Documentation
Full documentation is available, or
run spack help
or spack help --all
.
Tutorial
We maintain a hands-on tutorial. It covers basic to advanced usage, packaging, developer features, and large HPC deployments. You can do all of the exercises on your own laptop using a Docker container.
Feel free to use these materials to teach users at your organization about Spack.
Community
Spack is an open source project. Questions, discussion, and contributions are welcome. Contributions can be anything from new packages to bugfixes, documentation, or even new core features.
Resources:
- Slack workspace: spackpm.slack.com. To get an invitation, click here.
- Mailing list: groups.google.com/d/forum/spack
- Twitter: @spackpm. Be sure to
@mention
us!
Contributing
Contributing to Spack is relatively easy. Just send us a
pull request.
When you send your request, make develop
the destination branch on the
Spack repository.
Your PR must pass Spack's unit tests and documentation tests, and must be PEP 8 compliant. We enforce these guidelines with Travis CI. To run these tests locally, and for helpful tips on git, see our Contribution Guide.
Spack uses a rough approximation of the
Git Flow
branching model. The develop
branch contains the latest
contributions, and master
is always tagged and points to the latest
stable release.
Code of Conduct
Please note that Spack has a Code of Conduct. By participating in the Spack community, you agree to abide by its rules.
Authors
Many thanks go to Spack's contributors.
Spack was created by Todd Gamblin, tgamblin@llnl.gov.
Citing Spack
If you are referencing Spack in a publication, please cite the following paper:
- Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee, Adam Moody, Bronis R. de Supinski, and W. Scott Futral. The Spack Package Manager: Bringing Order to HPC Software Chaos. In Supercomputing 2015 (SC’15), Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
License
Spack is distributed under the terms of both the MIT license and the Apache License (Version 2.0). Users may choose either license, at their option.
All new contributions must be made under both the MIT and Apache-2.0 licenses.
See LICENSE-MIT, LICENSE-APACHE, COPYRIGHT, and NOTICE for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
LLNL-CODE-647188