`spack module loads` and `spack module find` previously failed if any upstream modules were missing. This prevented it from being used with upstreams (or, really, any spack instance) that blacklisted modules.
This PR makes module finding is now more lenient (especially for blacklisted modules).
- `spack module find` now does not report an error if the spec is blacklisted
- instead, it prints a single warning if any modules will be omitted from the loads file
- It comments the missing modules out of the loads file so the user can see what's missing
- Debug messages are also printed so users can check this with `spack -d...`
- also added tests for new functionality
* Fixed x86-64 optimization flags for clang
* Fixed expected results in unit tests
Before the flags used where the one for llc, the underlying compiler from LLVM IR to machine assembly. It turns out that the semantic of `-march`, `-mtune` and `-mcpu` changes from clang front-end to llc.
I found no definitive reference for the flags submitted in this PR, but I checked the assembly on a vectorizable function using Godbolt's web-site.
* package for Simmetrix SimModSuite
* simmodsuite: passes flake8
* simmetrix: add version, set cmake prefix path
A given install will either use the libs built on rhel7 or rhel6.
For now, I'm sticking with the non-spack install convention of
placing the libraries into sub-directories named according to their
build process (os + compiler).
* simmetrix: add older version
* simmetrix: set build env paths
easier to build pumi using CMAKE_PREFIX_PATH
* simmetrix: address review comments
* simmetrix: add new version and remove old one
* simmetrix: flake8 fixes
* simmodsuite: oslib var is in self
* simmodsuite: update version and checksum
* simodsuite: set LD_LIBRARY_PATH for cad kernels
* update license
* update setup_environment calls
* increase indentation for flake8
* python3.8 flake8 fixes
* use spack consistent naming
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* sha256 required, update versions and hashes
* Added build dependency on gawk
* Use virtual depdendency
* Added patch to prepare libgpg-error for use with gawk@5
* Added reasoning with link for need for patch
* Add a transaction around repeated calls to `spec.prefix` in the activation process
* cache the computation of home in the python package to speed up setting deps
* ensure that module-scope variables are only set *once* per module
* amber: Improved package.py and added version 18
- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()
* dealii: Added 'threads' variant that controls the TBB dependency (#13931)
* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB
* Update var/spack/repos/builtin/packages/dealii/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* amber: Improved package.py and added version 18
- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()
* amber: Adding missing flex and bison dependencies
* Removed cray variant; flex and bison now build only
* amber: Improved package.py and added version 18
- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()
* amber: Adding missing flex and bison dependencies
* Removed cray variant; flex and bison now build only
* dealii: Fixed flake8 issues
* amber: corrected typo
* amber: Removed unused variant python
Add a line to .gitattributes so that `git grep -p` shows function names
properly for `*.py` files. Without this, the class name is shown instead
of the function for python files.
This also causes diff output to use proper functions as hunk headers in
`diff` output.
Here's an example with `git grep -p`.
Before:
$ git grep -p spack_cc var/spack/repos/builtin/packages/athena
var/spack/repos/builtin/packages/athena/package.py=class Athena(AutotoolsPackage):
var/spack/repos/builtin/packages/athena/package.py: env.set('CC', spack_cc)
var/spack/repos/builtin/packages/athena/package.py: env.set('LDR', spack_cc)
After:
$ git grep -p spack_cc var/spack/repos/builtin/packages/athena
var/spack/repos/builtin/packages/athena/package.py= def setup_build_environment(self, env):
var/spack/repos/builtin/packages/athena/package.py: env.set('CC', spack_cc)
var/spack/repos/builtin/packages/athena/package.py: env.set('LDR', spack_cc)
Here's an example with `diff`.
Before:
$ git show c5da94eb58
[...]
@@ -28,6 +29,7 @@ print(u'\\xc3')
# make it executable
fs.set_executable(script_name)
+ filter_shebangs_in_directory('.', [script_name])
# read the unicode back in and see whether things work
script = ex.Executable('./%s' % script_name)
After:
$ git show c5da94eb58
[...]
@@ -28,6 +29,7 @@ def test_read_unicode(tmpdir):
# make it executable
fs.set_executable(script_name)
+ filter_shebangs_in_directory('.', [script_name])
# read the unicode back in and see whether things work
script = ex.Executable('./%s' % script_name)
* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB
* Update var/spack/repos/builtin/packages/dealii/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Created an initial recipe for Sensei
* Cleanup syntax
* Small fixes for the Sensei recipe
* Cosmetic fixes to comply with PEP8
* More cosmetic fixes before PR
* Added more documentation before PR
* Fixed flake8 errors
* Fixes following PR review
* Fixes to pass Flake8 passes
* Some changes following PR review and support for SENSEI 3
* Update var/spack/repos/builtin/packages/sensei/package.py
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Fixed Flake8 errors
Commit 78724357 added versions 2019.5 to 2019.8 but failed to update
the patches for these versions.
1. gcc_generic-pedantic patch -- include this up through 2019.5. This
was fixed in the TBB source tree in 2019.6.
2. tbb_cmakeConfig patch -- this needs to be modified (different file)
for 2019.5 and later.
3. tbb_gcc_rtm_key patch -- replace this with filter_file. This is
simpler and eliminates the need to update the patch whenever the
surrounding context changes.
* dont add perl bin directory to PATH when setting up env (this is already handled by spack core in a way that omits system dirs); also consolidate repeated logic between build/run env setup.
* the bin/ dir of each dependency is already added to PATH in Spack core, so there is no need to do this in the Perl package
* BLD: enforce C++11 std for boost + xl_r
* the spack `cxxstd` variant is not sufficient to enforce
`-std=c++11` usage in boost compile lines when `xl_r` compiler
spec is in use; while it would be nice if this were fixed
in a boost config file somewhere, for now this patch
allows boost to build on POWER9 with
an %xl_r compiler spec if the user specifies i.e.,:
`spack install boost@1.70.0+mpi cxxstd=11 %xl_r@16.1.1.5`
* Update var/spack/repos/builtin/packages/boost/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
The documentation states that Spack builds R without the recommmened
packages, with Spack handling the build of those packages to satisfy
dependencies. From the docs:
> Spack explicitly adds the --without-recommended-packages flag to
> prevent the installation of these packages. Due to the way Spack
> handles package activation (symlinking packages to the R installation
> directory), pre-existing recommended packages will cause conflicts for
> already-existing files. We could either not include these recommended
> packages in Spack and require them to be installed through
> --with-recommended-packages, or we could not install them with R and
> let users choose the version of the package they want to install. We
> chose the latter.
However, this is not what Spack is actually doing. The
`--without-recommended` configure option is not passed to R and
therefore those packages are built. This prevents R extension activation
from working as files in the recommended packages installed with R will
block linking of file from the respective `r-` packages.
This PR adds the `--without-recommended` flag to the configure options
of the R package. This will then have the Spack R build match what is
documented.
* Replace git-based Bioconductor R packages
The current collection of bioconductor packages tend to have scattered
dependencies and missing versions. This commit replaces git-based
packages with tool-generated Spack package recipes with correct
dependencies and descriptions in place.
* Fix some broken package names, add periods to title docstrings
* r-clue: new package at 0.3-57
* r-genomeinfodbdata: add 1.2.1
* r-gofuncr: new package at 1.4.0
* r-pfam-db: add 3.8.2
* Add missed package r-genelendatabase
* update r-goseq package
* update r-glimma package
* update r-rots package
* r-org-hs-eg-db: add 3.8.2
* r-vgam: fix incorrect R version
* r-rnaseqmap: new package at 2.42.0
* r-rhdf5lib: new package at 1.6.0
* r-scrime: new package at 1.3.5
* r-delayedmatrixstats: new package at 1.6.0
* r-hdf5array: new package at 1.12.1
* r-biocfilecache: new package at 1.8.0
* r-ctc: add new versions, dependencies
* r-genemeta: new package at 1.56.0
* r-scrime: fix flake8
* r-ensembldb: add missing dependencies
* Added missing dependencies to packages with certain DESCRIPTIONS
* r-mapplots: new package at 1.5.1
* r-beachmat: new package at 2.0.0
* r-beeswarm: new package at 0.2.3
* r-biocneighbors: new package at 1.2.0
* r-biocsingular: new package at 1.0.0
* r-ecp: new package at 3.1.1
* r-enrichplot: new package at 1.4.0
* r-europepmc: new package at 0.3
* r-ggbeeswarm: new package at 0.6.0
* r-ggplotify: new package at 0.0.3
* r-ggraph: new package at 1.0.2
* r-gridgraphics: new package at 0.4-1
* r-rcppannoy: new package at 0.0.12
* r-rcpphnsw: new package at 0.1.0
* r-rsvd: new package at 1.0.1
* r-scater: new package at 1.12.2
* r-singlecellexperiment: new package at 1.6.0
* r-tximport: new package at 1.12.3
* r-upsetr: new package at 1.4.0
* r-vioplot: new package at 0.3.2
* r-readr: add 1.3.1
* r-matrixstats: add 0.54.0
* r-ecp: flake8 fix
* r-biocmanager: new package at 1.30.4
* update bioconductor packages requiring BiocManager, new versions
* r-lambda-r: add 1.2.3
* r-vegan: add 2.5-5
* r-cner, r-rcppannoy, r-reportingtools, r-rsvd: add missing newlines at EOF
* r-chemometrics: flake8 fixes
* r-vgam: flake8 fixes
* CRAN packages: use cloud.r-project.org
* Use DESCRIPTION for R version constraints over bioconductor releases
* Update missed packages ABAData, acde, affydata
* Update remaining missed packages
* bio: Drop 'when' clause from first checksummed versions
* bio: improve package description generation logic
* r-genomeinfodbdata: use explicit sha256 sums
* r-pfam-db: update dependencies, add 3.10.0
* update r-org-hs-eg-db
* r-dirichletmultinomial: re-add gsl
* r-polyclip: new package at 1.10-0
* r-farver: new package at 1.1.0
* r-tweenr: new package at 1.0.1
* r-ggforce: new package at 0.3.1
* r-ggforce: remove redundant dep
* r-ggraph: add missing deps
* r-rcpphnsw: remove redundant depends_on
* r-reportingtools: re-add r-r-utils dep
* r-rhdf5: add gmake dep
* r-rhtslib: add system dependencies
* r-rsamtools: add gmake dep
* r-farver: remove redundant dep
* r-tweenr: remove redundant dep
* r-variantannotation: add gmake dep
* r-rgraphviz: add graphviz dep
* r-vsn: correct r-hexbin constraint
* r-scater: fix obsolete deps
* r-variantannotation: fix gmake dep type
* r-scater: tighten R version constraints
* r-rsamtools: fix gmake dep type
* r-rhtslib: fix gmake dep type
* r-rhtslib: use xz over lzma
* r-rhdf5: fix gmake dep type
* r-farver: replace with newer recipe for 2.0.1
* r-mzr: remove old dependency
* r-reportingtools: remove builtin dependency
* r-mzr: add gmake dep
* r-rhtslib: make system libraries link deps
* r-genomeinfodbdata: fix R version constraints
* r-geoquery: remove old deps from new versions
* r-genomicfeatures: tighten r-rmysql dep
* r-ensembldb: tighten r-annotationhub dep
* r-complexheatmap: fix r-dendextend dep
* r-cner: fix utils dep name
* r-clusterprofiler: fix r-gosemsim version req
* r-biostrings: fix r-iranges version reqs
* r-rhdf5lib: add gmake dep
* r-oligoclasses: fix r-biocinstaller dep range
* r-organismdbi: fix r-biocinstaller dep range
* r-hdf5array: add gmake dep
* r-gtrellis: tighten r-circlize version req
* r-gostats: fix r-graph version req
* r-glimma: fix old dependency ranges
* r-biostrings: syntax fix
* r-organismdbi: syntax fix
* r-dose: fix r-igraph dep
* r-dose: fix r-scales, r-rvcheck deps
* r-affy: fix r-biocinstaller dep
* r-ampliqueso: fix homepage
* r-aneufinder: fix r-biocgenerics dep
* r-beachmat: fix changed deps
* r-biocneighbors: fix old R constraint
* r-biocmanager: rewrite recipe for 1.30.10
* Update var/spack/repos/builtin/packages/r-biocinstaller/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/r-oligoclasses/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update cartopy version and fix recipe
Cartopy 0.17.0 works fine with proj 6
* Update cartopy version and fix recipe
Cartopy 0.17.0 works fine with proj 6
* Set ACCEPT_USE_OF_DEPRECATED_PROJ_API_H flag when building extension
* Add variants to py-cartopy recipe as suggested
* Fix proj dependency
* Split dependency
* Fix PEP-8; remove extra dependency
* Bump up QE version number to 6.4.1.
* Fix QMCPACK conflicts.
* HDF5 dependencies where over specified which could cause unnecessary installs of HDF5.
* Update QMCPACK testing option.
* Remove support for serial QE 6.4.1 converter. Add support for parallel QE 6.4.1. converter with serial HDF5.
* Switch to setup_run_environment.
* Fix setup_run_environment call arguements.
* Fix typo.
* switch run_env to env