`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
`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
* 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)
`mirror_archive_path` was failing to account for the case where the fetched version isn't known to Spack.
- [x] don't require the fetched version to be in `Package.versions`
- [x] add regression test for mirror paths when package does not have a version
* 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