Commit Graph

16 Commits

Author SHA1 Message Date
Todd Gamblin
4af6303086
copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
Todd Gamblin
62927654dd checksums: use sha256 checksums everywhere
We'd like to use a consistent checksum scheme everywhere so that we can:

    a) incorporate archive checksums into our specs and have a
       consistent hashing algorithm across all specs.

    b) index mirrors with a consistent type of checksum, and not one that
       is dependent on how spack packages are written.

- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
2019-10-12 07:19:43 -07:00
Glenn Johnson
661a894c85 Update R CRAN packages (#12019)
* 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.
2019-08-30 18:22:13 -05:00
Todd Gamblin
6f50cd52ed copyright: update license headers for 2013-2019 copyright. 2019-01-01 00:44:28 -08:00
Todd Gamblin
eea786f4e8 relicense: replace LGPL headers with Apache-2.0/MIT SPDX headers
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
  - core and most packages are (Apache-2.0 OR MIT)
  - a very small number of remaining packages are LGPL-2.1-only
2018-10-17 14:42:06 -07:00
Todd Gamblin
d0a808944e style: bring packages in compliance with pep8-naming 2018-07-19 00:41:36 -07:00
Todd Gamblin
54f97d1dec
Update copyright on LLNL files for 2018. (#7592) 2018-03-24 12:13:52 -07:00
Ben Boeckel
22df09315f Re-add list_url for all R packages (#6110)
* r-igraph: find old packages in the archive

Fixes #6104.

* r-irlba: find old packages in the archive

Fixes #6101.

* r-lazyeval: find old packages in the archive

Fixes #6102.

* packages: set list_url for all packages hosted on CRAN

* packages: consistently use the CRAN archive URLs
2017-11-05 13:42:24 -08:00
Todd Gamblin
05fa302655
Replace github.com/llnl/spack with github.com/spack/spack (#6142)
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-11-04 17:08:04 -07:00
Yifan Zhu
e6109381fc r-rmpi: added list_url and updated md5 (#5698) 2017-10-13 18:35:06 -06:00
Massimiliano Culpo
b1d129e681 Modulefiles generated with a template engine (#3183)
* Module files now are generated using a template engine refers #2902 #3173

jinja2 has been hooked into Spack.

The python module `modules.py` has been splitted into several modules
under the python package `spack/modules`. Unit tests stressing module
file generation have been refactored accordingly.

The module file generator for Lmod has been extended to multi-providers
and deeper hierarchies.

* Improved the support for templates in module files.

Added an entry in `config.yaml` (`template_dirs`) to list all the
directories where Spack could find templates for `jinja2`.

Module file generators have a simple override mechanism to override
template selection ('modules.yaml' beats 'package.py' beats 'default').

* Added jinja2 and MarkupSafe to vendored packages.

* Spec.concretize() sets mutual spec-package references

The correct place to set the mutual references between spec and package
objects at the end of concretization. After a call to concretize we
should now be ensured that spec is the same object as spec.package.spec.

Code in `build_environment.py` that was performing the same operation
has been turned into an assertion to be defensive on the new behavior.

* Improved code and data layout for modules and related tests.

Common fixtures related to module file generation have been extracted
in `conftest.py`. All the mock configurations for module files have been
extracted from python code and have been put into their own yaml file.

Added a `context_property` decorator for the template engine, to make
it easy to define dictionaries out of properties.

The default for `verbose` in `modules.yaml` is now False instead of True.

* Extendable module file contexts + short description from docstring

The contexts that are used in conjunction with `jinja2` templates to
generate module files can now be extended from package.py and
modules.yaml.

Module files generators now infer the short description from package.py
docstring (and as you may expect it's the first paragraph)

* 'module refresh' regenerates all modules by default

`module refresh` without `--module-type` specified tries to
regenerate all known module types. The same holds true for `module rm`

Configure options used at build time are extracted and written into the
module files where possible.

* Fixed python3 compatibility, tests for Lmod and Tcl.

Added test for exceptional paths of execution when generating Lmod
module files.

Fixed a few compatibility issues with python3.

Fixed a bug in Tcl with naming_scheme and autoload + unit tests

* Updated module file tutorial docs. Fixed a few typos in docstrings.

The reference section for module files has been reorganized. The idea is
to have only three topics at the highest level:

  - shell support + spack load/unload use/unuse
  - module file generation (a.k.a. APIs + modules.yaml)
  - module file maintenance (spack module refresh/rm)

Module file generation will cover the entries in modules.yaml

Also:

  - Licenses have been updated to include NOTICE and extended to 2017
  - docstrings have been reformatted according to Google style

* Removed redundant arguments to RPackage and WafPackage.

All the callbacks in `RPackage` and `WafPackage` that are not build
phases have been modified not to accept a `spec` and a `prefix`
argument. This permits to leverage the common `configure_args` signature
to insert by default the configuration arguments into the generated
module files. I think it's preferable to handling those packages
differently than `AutotoolsPackage`. Besides only one package seems
to override one of these methods.

* Fixed broken indentation + improved resiliency of refresh

Fixed broken indentation in `spack module refresh` (probably a rebase
gone silently wrong?). Filter the writers for blacklisted specs before
searching for name clashes. An error with a single writer will not
stop regeneration, but instead will print a warning and continue
the command.
2017-09-19 12:34:20 -07:00
Michael Kuhn
84ae7872d3 Update copyright notices for 2017 (#5295) 2017-09-06 17:44:16 -10:00
Todd Gamblin
cac4362f64 Make LICENSE recognizable by GitHub. (#4598) 2017-06-24 22:22:55 -07:00
Adam J. Stewart
36b8ea2f92 Add default list_url for GitLab, BitBucket, and CRAN (#4439)
* Add default list_url for GitLab, BitBucket, and CRAN

* Fix flake and doc tests
2017-06-09 12:28:39 -05:00
Adam J. Stewart
6f0ac9d54c Add --configure-args/vars support to RPackage (#4289)
* Add --configure-args/vars support to RPackage

* Docstring formatting change
2017-05-26 16:37:06 -05:00
Tom Merrick
5486d021d6 Add mpi support to R (#4286) 2017-05-18 11:24:40 -05:00