Commit graph

12943 commits

Author SHA1 Message Date
Adam J. Stewart
4f56bcc790
Add py-brotlipy package (#13270) 2019-10-20 11:06:18 -05:00
Adam J. Stewart
596f3f1d61
spack create: http -> https (#13269) 2019-10-20 11:05:54 -05:00
Todd Gamblin
20bb6fd733
shebangs: don't warn when patching long shebangs (#13266)
We've been doing this for quite a while now, and it does not seem to
cause issues.

- [x] Switch the noisy warning to a debug to make Spack a bit quieter
  while building.
2019-10-19 14:09:25 -07:00
Massimiliano Culpo
41fb0395a6 Microarchitecture specific optimizations for LLVM (#13250)
* Added architecture specific optimization flags for Clang / LLVM
* Disallow compiler optimizations for mixed toolchains
    * We emit a warning when building for a mixed toolchain
* Fixed issues with suffixed versions of compilers; Apple's Clang will, 
    for the time being, fall back on x86-64 for every compilation.
2019-10-19 13:19:29 -07:00
Adam J. Stewart
0fb563f3d9
GCC: fix build on macOS Catalina (#13202)
* GCC: speed up build

* Add back 3-stage bootstrapping
2019-10-19 12:18:31 -05:00
Adam J. Stewart
306346356c
brotli: fix darwin install name (#13258) 2019-10-19 12:18:06 -05:00
Axel Huebl
327a7368e9
ADIOS2: Dataspaces, libffi, libfabric (#13230)
* DataSpaces: 1.8.0

Add a newer release of DataSpaces for ADIOS2.
Also add missing `-fPIC` flags since this is a static library.

* ADIOS2: Dataspaces, libffi, libfabric

Add missing dependencies to ADIOS2. Without explicit control,
those dependencies might get picked up from the system environment
and will cause unstable builds.

* Hide transitive SST dependencies

* ADIOS2: Simplify SST CMake Flags

As proposed by Chuck
2019-10-18 13:26:56 -07:00
wspear
f9e7bf295c Updated to latest version. Removed dependency on node-js (#13055)
* Updated to latest version. Removed dependency on node-js

* Refined dependencies

* Added dependencies, including version-specific ones. Re-added 0.9.4.

* Updated py-jupyterhub requirements. Enabled version 0.9.4 and 1.0.0
2019-10-18 12:53:47 -05:00
Christoph Junghans
b4383825be
fftw: altivec only works for float (#13242) 2019-10-18 10:36:40 -06:00
wspear
40a11c6bf6 Added package py-python-oauth2, a dependency of py-jupyterhub@0.9.4. … (#13140)
* Added package py-python-oauth2, a dependency of py-jupyterhub@0.9.4. Depends on #13132, #13133 and #13134

* Remove optional dependencies
2019-10-18 11:29:26 -05:00
Justin S
af3c238c31 interproscan: add 5.38-76.0 (#13253) 2019-10-17 20:52:54 -05:00
Peter Scheibel
fd88f8fefa satisfaction checks on dependencies should be strict when the parent check is strict (#13243) 2019-10-17 11:02:14 -07:00
Massimiliano Culpo
9ddc98e46a Separate setting build environment and run environment in packages (#11115)
* Methods setting the environment now do it separately for build and run

Before this commit the `*_environment` methods were setting
modifications to both the build-time and run-time environment
simultaneously. This might cause issues as the two environments
inherently rely on different preconditions:

1. The build-time environment is set before building a package, thus
the package prefix doesn't exist and can't be inspected

2. The run-time environment instead is set assuming the target package
has been already installed

Here we split each of these functions into two: one setting the
build-time environment, one the run-time.

We also adopt a fallback strategy that inspects for old methods and
executes them as before, but prints a deprecation warning to tty. This
permits to port packages to use the new methods in a distributed way,
rather than having to modify all the packages at once.

* Added a test that fails if any package uses the old API

Marked the test xfail for now as we have a lot of packages in that
state.

* Added a test to check that a package modified by a PR is up to date

This test can be used any time we deprecate a method call to ensure
that during the first modification of the package we update also
the deprecated calls.

* Updated documentation
2019-10-17 10:17:21 -07:00
Todd Gamblin
cf9de058aa
multimethods: avoid calling caller_locals() in Python 3 (#13238)
Python 3 metaclasses have a `__prepare__` method that lets us save the
class's dictionary before it is constructed.  In Python 2 we had to walk
up the stack using our `caller_locals()` method to get at this.  Using
`__prepare__` is much faster as it doesn't require us to use `inspect`.

This makes multimethods use the faster `__prepare__` method in Python3,
while still using `caller_locals()` in Python 2.  We try to reduce the
use of caller locals using caching to speed up Python 2 a little bit.
2019-10-17 06:40:23 -07:00
wspear
93c34039e4 python-editor: added new package at v1.0.4 (#13126) 2019-10-17 08:46:34 +02:00
Christoph Junghans
6cd997e743
eospac: avoid conflict with linux's getopt (#13241)
* eospac: avoid conflict with linux's getopt

* Update package.py
2019-10-16 18:46:26 -07:00
Todd Gamblin
e65b7f8ebf
importing: make importlib_importer recognize .pyc cache (#13239)
Our importer was always parsing from source (which is considerably
slower) because the source size recorded in the .pyc file differed from
the size of the input file.

Override path_stats in the prepending importer to fool it into thinking
that the source size is the size *with* the prepended code.
2019-10-16 17:07:18 -07:00
Michael Kuhn
ffe87ed49f filter_file: fix multiple invocations on the same file (#13234)
Since the backup file is only created on the first invocation, it will
contain the original file without any modifications. Further invocations
will then read the backup file, effectively reverting prior invocations.

This can be reproduced easily by trying to install likwid, which will
try to install into /usr/local. Work around this by creating a temporary
file to read from.
2019-10-16 15:15:24 -07:00
Tamara Dahlgren
1ef71376f2 Bugfix: stage directory permissions and cleaning (#12733)
* This updates stage names to use "spack-stage-" as a prefix.
  This avoids removing non-Spack directories in "spack clean" as
  c141e99 did (in this case so long as they don't contain the
  prefix "spack-stage-"), and also addresses a follow-up issue
  where Spack stage directories were not removed.
* Spack now does more-stringent checking of expected permissions for
  staging directories. For a given stage root that includes a user
  component, all directories before the user component that are
  created by Spack are expected to match the permissions of their
  parent; the user component and all deeper directories are expected
  to be accessible to the user (read/write/execute).
2019-10-16 14:55:37 -07:00
Jeffrey Salmond
e17df2e8f5 add python version 3.8.0 (#13218) 2019-10-16 14:42:36 -07:00
Christoph Junghans
b0543005b2
expat: don't pick up external docbook (#13228) 2019-10-16 05:59:51 -07:00
Jeffrey Salmond
f08f4201c7 add latest version of vim (#13203) 2019-10-15 20:43:03 -07:00
Greg Becker
94e80933f0 Feature: installed file verification (#12841)
This feature generates a verification manifest for each installed
package and provides a command, "spack verify", which can be used to
compare the current file checksums/permissions with those calculated
at installed time.

Verification includes

* Checksums of files
* File permissions
* Modification time
* File size

Packages installed before this PR will be skipped during verification.
To verify such a package you must reinstall it.

The spack verify command has three modes.

* With the -a,--all option it will check every installed package.
* With the -f,--files option, it will check some specific files,
  determine which package they belong to, and confirm that they have
  not been changed.
* With the -s,--specs option or by default, it will check some
  specific packages that no files havae changed.
2019-10-15 14:24:52 -07:00
Satish Balay
5ea0eed287 hypre: add version 2.18.1 (#13224) 2019-10-15 13:05:51 -07:00
Axel Huebl
dc3a9618a0 ADIOS2: Default no Python (#13220)
Turn off the python variant by default.
2019-10-15 14:55:45 -04:00
Massimiliano Culpo
d33b0ffc50 lmod: module files are written in a root folder named by target family (#13121)
fixes #13005

This commit fixes an issue with the name of the root directory for
module file hierarchies. Since #3206 the root folder was named after
the microarchitecture used for the spec, which is too specific and
not backward compatible for lmod hierarchies. Here we compute the
root folder name using the target family instead of the target name
itself and we add target information in the 'whatis' portion of the
module file.
2019-10-15 11:20:49 -07:00
Andrey Prokopenko
41e7e5693e arborx: update v0.8-beta to v0.8-beta2 (#13143)
- Require Kokkos with c++14
- Update the case of CMake options
2019-10-15 11:19:16 +02:00
Andrey Prokopenko
ce5333c1fd kokkos: add cxxstd variant (#13142) 2019-10-15 11:14:37 +02:00
Tim Haines
27a339eeb2 Add version 0.177 of elfutils (#13129)
* Add version 0.177

* Fix spacing
2019-10-14 22:22:11 -07:00
t-karatsu
8f69c9d334 ntpoly: Define module directry when compiling with Fujitsu compiler. (#13120)
* ntpoly: Define module directry when compiling with Fujitsu compiler.

* Delete quotes.
2019-10-14 22:20:52 -07:00
Massimiliano Culpo
5cd28847e8 filter_file uses "surrogateescape" error handling (#12765)
From Python docs:
--
'surrogateescape' will represent any incorrect bytes as code points in
the Unicode Private Use Area ranging from U+DC80 to U+DCFF. These
private code points will then be turned back into the same bytes when
the surrogateescape error handler is used when writing data. This is
useful for processing files in an unknown encoding.
--

This will allow us to process files with unknown encodings.

To accommodate the case of self-extracting bash scripts, filter_file
can now stop filtering text input if a certain marker is found. The
marker must be passed at call time via the "stop_at" function argument.
At that point the file will be reopened in binary mode and copied
verbatim.

* use "surrogateescape" error handling to ignore unknown chars
* permit to stop filtering if a marker is found
* add unit tests for non-ASCII and mixed text/binary files
2019-10-14 20:35:14 -07:00
Greg Becker
3f46f03c83
bugfix: install --only dependencies works in env (#13090)
* bugfix: install --only dependents works in env

includes regression testing
2019-10-14 17:50:38 -07:00
Satish Balay
a63e64f1c4
py-petsc4py: add version 3.12.0 (#13209)
* py-petsc4py: add version 3.12.0

* fix typo wrt maintainer
2019-10-14 15:27:28 -05:00
William F Godoy
dafee9df31 Complete cleanup of the adios2 package configuration (#13107)
Provide up to date specs for build options
Remove non-production versions
Format using autopep8 and flake8
Separate cmake options in adios2 2.4.0 version
Keep default as True as much as possible
Support for Python 2 and 3 for adios2 versions <= 2.4.0
Starting v2.5.0 only Python 3 is supported
Addressing review suggestions
2019-10-14 12:47:55 -07:00
Hadrien G
be8f8856ce New ACTS versions (#12484)
* Add new ACTS releases

* Update ACTS dependency requirements

* We can actually be more specific here

* The material plugin is gone as of ACTS v0.10.0

* Add 0.10.4 release

* Remove material mapping plugin

It was merged into core as of 0.10.x, and given ACTS' youth it is unlikely to have actual users at this point in time.
2019-10-14 14:01:53 -05:00
wspear
48b7370265 py-pymongo: added new package at version 3.9.0 (#13132) 2019-10-14 20:57:54 +02:00
Todd Gamblin
385d2bf3fa
commands: add resource stats to spack url stats (#13205)
`spack url stats` now also looks at packages' resources when outputting
statistics.

Example:

```
$ spack url stats
==> URL stats for 3531 packages:
--------------------------------------------------------------
stat                    versions        %   resources        %
--------------------------------------------------------------
url                         8335    89.3%         339    89.0%
    schemes
        https               6489    69.5%          93    24.4%
        ftp                   32     0.3%           8     2.1%
        http                1763    18.9%         237    62.2%
        file                  51     0.5%           1     0.3%
    checksums
        md5                   26     0.3%           0     0.0%
        sha256              8306    89.0%         336    88.2%
        no checksum            3     0.0%           3     0.8%
--------------------------------------------------------------
go                             1     0.0%           0     0.0%
--------------------------------------------------------------
hg                             7     0.1%           0     0.0%
--------------------------------------------------------------
no code                        4     0.0%           0     0.0%
--------------------------------------------------------------
svn                            4     0.0%          16     4.2%
--------------------------------------------------------------
git                          981    10.5%          26     6.8%
    branch                   442     4.7%           4     1.0%
    commit                   362     3.9%          14     3.7%
    no ref                    36     0.4%           2     0.5%
    tag                      141     1.5%           6     1.6%
--------------------------------------------------------------
```
2019-10-14 08:58:01 -07:00
wspear
8a1e5f68f4 py-alembic: fixed missing dependencies. (#13127) 2019-10-14 10:53:01 +02:00
Jeffrey Salmond
2bb1bae2ae dialign: added new package at version 2.2.1 (#13130)
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-14 10:49:31 +02:00
Justin S
c851cfd122 py-smart-open: new package at 1.8.4 (#13135) 2019-10-14 10:42:49 +02:00
Adam J. Stewart
e1cf35a82b Fix svn tests, skip if svnadmin not found (#13137) 2019-10-14 10:40:20 +02:00
wspear
bdcf9ba5cd py-python-memcached: added new package at version 1.59 (#13133)
* Added package py-python-memcached, a dependency of python-oauth2

* Fixed line lengths
2019-10-14 10:35:41 +02:00
wspear
04af0eb5a2 py-redis: added new package at version 3.3.8 (#13134) 2019-10-14 10:34:37 +02:00
Adam J. Stewart
27ad28e51a
Add py-kiwisolver 1.1.0 (#13170) 2019-10-13 22:26:49 -07:00
Satish Balay
846daa0404 amrex: add version 19.10 (#13206) 2019-10-13 19:57:11 -05:00
Satish Balay
20c2fa62aa slepc: use spack specified python in configure (#13207) 2019-10-13 19:56:27 -05:00
Satish Balay
1f29785b88 omega-h: add version 9.29.0 (#13208) 2019-10-13 19:54:41 -05:00
Adam J. Stewart
ce6bf5fba1
Add apr-util 1.6.1 (#13145) 2019-10-13 19:52:58 -05:00
Adam J. Stewart
c121ddb300
Add apr 1.7.0 (#13146) 2019-10-13 19:52:40 -05:00
Adam J. Stewart
7b21ac3188
Add bison 3.4.2 (#13147) 2019-10-13 19:52:10 -05:00