Age | Commit message (Collapse) | Author | Files | Lines |
|
* edits to address issues where spack concretization attempts to set properties on already-installed specs
* most added checks only need to check if the spec is concrete; they dont also need to check if the package is installed
* add test to ensure that patches are not applied to an installed spec
* add test to ensure that an error is detected when a dependent requests a dependency constraint which conflicts with a requested installed dependency
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Use libs instead of lapack_libs (see #3364).
- Add a patch to fix building with recent versions of gcc.
- Add a patch to fix building with mvapich2.
|
|
|
|
|
|
Adds the latest release of CMake.
|
|
|
|
The flag-handling logic added in #4421 may change semantics, so this
commit adds a warning to the documentation for this feature.
|
|
Fixes #5455
All methods within setup_package use an EnvironmentModifications object
to control the environment. Those modifications are applied at the end
of setup_package. Module loads for the build environment need to be
done after the rest of the environment modifications are applied, as
otherwise Spack may unset variables set by those modules (for example
LD_LIBRARY_PATH).
|
|
closes #2884
closes #4684
In #1848 we decided to use `Spec.format` to expand certain tokens in
the module file naming scheme or in the environment variable name.
Not all the tokens that are allowed in `Spec.format` make sense in
module file generation. This PR restricts the set of tokens that can
be used, and adds tests to check that the intended behavior is respected.
Additionally, the names of environment variables set/modified by module
files were, up to now, always uppercase. There are packages though that
require case sensitive variable names to honor certain behaviors (e.g.
OpenMPI). This PR restricts the uppercase transformation in variable
names to `Spec.format` tokens.
|
|
This fixes a loop that was iterating through the keys of a dictionary
when it was intending to use the values.
|
|
Tests fail locally because the install prefix doesn't exist. Make them
exist.
|
|
fixes #5587
In trying to preserve patch ordering, #5476 made equality inconsistent
for the added 'patches' variant. This commit maintains the original
weak ordering of patch applications while preserving consistency of
comparisons. The ordering DOES NOT enter the hashing mechanism. It's
supposed to be a hotfix, while we think of a cleaner and more-permanent
solution.
|
|
* pr-quantities: add version & py-numpy conflict (#5307)
* r-tibble: Update version to 1.3.4
* r-tibble: added dependency r-rlang
* r-tibble: changed r-lazyeval and r-rlang to be versioned dependencies
* Update package.py
* Update package.py
|
|
|
|
The main location only carries the latest release, while all previous
(and current) ones are available at the archive location.
|
|
Fix missing `-lz` on `make` of OpenSSL.
Spotted on a system without a system-wide zlib installation.
|
|
(#5586)
|
|
|
|
* Add package for multitail@6.4.2
Lightly tested on CentOS 7.
* Responde to feedback/comments
Use `install_targets` to specify PREFIX= and DESTDIR= instead of
hacking away at the Makefile. Expand commentary about "Why?".
Use `headers.include_flags` and `libs.ld_flags` to avoid explicitly
setting `-L` and `-I` when hacking away at the Makefile.
|
|
* Added exasp2 spackage
Added spackage for exasp2 proxy app
* Fixed MPI in ExaSP2
Explicitly disabled MPI when not enabled.
Set MPI variant to default as per Spack standards
* Generalized BML Passing for ExaSP2
* Modified to follow spack rules on blas
Fortunately was able to modify exasp2 build system to support spack
model for blas and lapack requirements. No guarantee is made for support
of anything other than originally supported libraries
* Fixed flake8 error
|
|
|
|
|
|
* fastqvalidator: new package
* adding version-specificity to compiler conflict
* quick changes to env vars and build phase
* Update package.py
* oops. forgot to install executable
* Update package.py
* updating package.py
* turn env into targets
|
|
explicitly set the zlib path for libpng configure.
fixes:
```
[ ... ]
92 checking for memset... yes
93 checking for pow... no
94 checking for pow in -lm... yes
95 checking for clock_gettime... yes
96 checking for zlibVersion in -lz... no
97 checking for z_zlibVersion in -lz... no
>> 98 configure: error: zlib not installed
```
|
|
* sra-toolkit: new package
* adding description and homepage
|
|
This is a partial fix for #5564.
This package used to trust that `configure` would discover `gmp` from
its environment.
It's safer to tell it where to find `gmp` explicitly.
This does that by adding a configure_args() that provides a
`--with-gmp=...` argument for configure.
|
|
* patch: add working_dir option
* added documentation
|
|
* mrtrix3: new package
* specifying conflict dependency ve
|
|
|
|
|
|
* Added support for BML+mpi variant
Added support for BML+mpi variant. Currently restricted to master
(develop) branch pending release of next bml tag
* Update package.py
Removing redundant statement
* Update package.py
Added explicit disabling of MPI when not requested
|
|
Added spackage for YAJL
|
|
* linkphase3: new package
* adding ifort option
* Update package.py
|
|
|
|
The first stable release of CUDA 9, v9.0.176, is out.
This adds its installer and checksum.
|
|
- This steals the magic regular expressions that CTest uses to parse log
files and addds them to Spack. See here:
https://github.com/Kitware/CMake/blob/master/Source/CTest/cmCTestBuildHandler.cxx
These are BSD licensed, so the port is in `externa/ctest_log_parser.py`
- We currently use these to do better filtering of errors from build
output. Plan is to use them to generate good CDash output.
|
|
|
|
`spack blame` prints out the contributors to a package.
By modification time:
```
$ spack blame --time llvm
LAST_COMMIT LINES % AUTHOR EMAIL
3 days ago 2 0.6 Andrey Prokopenko <andrey.prok@gmail.com>
3 weeks ago 125 34.7 Massimiliano Culpo <massimiliano.culpo@epfl.ch>
3 weeks ago 3 0.8 Peter Scheibel <scheibel1@llnl.gov>
2 months ago 21 5.8 Adam J. Stewart <ajstewart426@gmail.com>
2 months ago 1 0.3 Gregory Becker <becker33@llnl.gov>
3 months ago 116 32.2 Todd Gamblin <tgamblin@llnl.gov>
5 months ago 2 0.6 Jimmy Tang <jcftang@gmail.com>
5 months ago 6 1.7 Jean-Paul Pelteret <jppelteret@gmail.com>
7 months ago 65 18.1 Tom Scogland <tscogland@llnl.gov>
11 months ago 13 3.6 Kelly (KT) Thompson <kgt@lanl.gov>
a year ago 1 0.3 Scott Pakin <pakin@lanl.gov>
a year ago 3 0.8 Erik Schnetter <schnetter@gmail.com>
3 years ago 2 0.6 David Beckingsale <davidbeckingsale@gmail.com>
3 days ago 360 100.0
```
Or by percent contribution:
```
$ spack blame --percent llvm
LAST_COMMIT LINES % AUTHOR EMAIL
3 weeks ago 125 34.7 Massimiliano Culpo <massimiliano.culpo@epfl.ch>
3 months ago 116 32.2 Todd Gamblin <tgamblin@llnl.gov>
7 months ago 65 18.1 Tom Scogland <tscogland@llnl.gov>
2 months ago 21 5.8 Adam J. Stewart <ajstewart426@gmail.com>
11 months ago 13 3.6 Kelly (KT) Thompson <kgt@lanl.gov>
5 months ago 6 1.7 Jean-Paul Pelteret <jppelteret@gmail.com>
3 weeks ago 3 0.8 Peter Scheibel <scheibel1@llnl.gov>
a year ago 3 0.8 Erik Schnetter <schnetter@gmail.com>
3 years ago 2 0.6 David Beckingsale <davidbeckingsale@gmail.com>
3 days ago 2 0.6 Andrey Prokopenko <andrey.prok@gmail.com>
5 months ago 2 0.6 Jimmy Tang <jcftang@gmail.com>
2 months ago 1 0.3 Gregory Becker <becker33@llnl.gov>
a year ago 1 0.3 Scott Pakin <pakin@lanl.gov>
3 days ago 360 100.0
```
|
|
Mirrors are directories (that use `file://` URLS, not files.
|
|
|
|
- A package can depend on a special patched version of its dependencies.
- The `Spec` YAML (and therefore the hash) now includes the sha256 of
the patch in the `Spec` YAML, which changes its hash.
- The special patched version will be built separately from a "vanilla"
version of the same package.
- This allows packages to maintain patches on their dependencies
without affecting either the dependency package or its dependents.
This could previously be accomplished with special variants, but
having to add variants means the hash of the dependency changes
frequently when it really doesn't need to. This commit allows the
hash to change *just* for dependencies that need patches.
- Patching dependencies shouldn't be the common case, but some packages
(qmcpack, hpctoolkit, openspeedshop) do this kind of thing and it
makes the code structure mirror maintenance responsibilities.
- Note that this commit means that adding or changing a patch on a
package will change its hash. This is probably what *should* happen,
but we haven't done it so far.
- Only applies to `patch()` directives; `package.py` files (and their
`patch()` functions) are not hashed, but we'd like to do that in the
future.
- The interface looks like this: `depends_on()` can optionally take a
patch directive or a list of them:
depends_on(<spec>,
patches=patch(..., when=<cond>),
when=<cond>)
# or
depends_on(<spec>,
patches=[patch(..., when=<cond>),
patch(..., when=<cond>)],
when=<cond>)
- Previously, the `patch()` directive only took an `md5` parameter. Now
it only takes a `sha256` parameter. We restrict this because we want
to be consistent about which hash is used in the `Spec`.
- A side effect of hashing patches is that *compressed* patches fetched
from URLs now need *two* checksums: one for the downloaded archive and
one for the content of the patch itself. Patches fetched uncompressed
only need a checksum for the patch. Rationale:
- we include the content of the *patch* in the spec hash, as that is
the checksum we can do consistently for patches included in Spack's
source and patches fetched remotely, both compressed and
uncompressed.
- we *still* need the patch of the downloaded archive, because we want
to verify the download *before* handing it off to tar, unzip, or
another decompressor. Not doing so is a security risk and leaves
users exposed to any arbitrary code execution vulnerabilities in
compression tools.
|
|
|
|
- Functions returned by directives were all called `_execute`, which made
reading stack traces hard because you couldn't tell what directive a
frame came from.
- renamed them all to `_execute_<directive>`
- Exceptions in directives were only really used in one or two places --
get rid of the boilerplate init functions and let the callsite specify
the message.
|
|
- move `spack.cmd.checksum.get_checksums` to `spack.util.web.spider_checksums`
- move `spack.error.NoNetworkError` to `spack.util.web.NoNetworkError` since
it is only used there.
|