Commit graph

22641 commits

Author SHA1 Message Date
Adam J. Stewart
9d95125d6a
py-pyinstrument: add version 4.0.3 (#25632)
* Swap github download link for pypi
* Versions >= 4 dont need npm
2021-08-27 10:51:48 -07:00
Dylan Simon
ed07fa4c37
r-irkernel: add version 1.2; update version 0.7 (#25644)
Use a commit hash instead of a tag for 0.7
2021-08-27 10:44:10 -07:00
Jordan Galby
2d97d877e4
figlet: Fix figlet font dir (#25662)
By default, figlet looks for fonts in `/usr/local/share/figlet`, and if
it doesn't exist you get `figlet: standard: Unable to open font file`.

This fix changes the default font dir to the one installed in the
install prefix.
2021-08-27 10:42:12 -07:00
Timothy Brown
7fd4dee962
ESMF package: add version 8.1.1 (#25590)
Also build with internal lapack library by default.
2021-08-27 10:26:06 -07:00
Michael Kuhn
4f3a538519
meson: add 0.59.1 and 0.58.2 (#25661) 2021-08-27 06:35:00 -06:00
Michael Kuhn
5c1710f7dc
glib: add 2.68.4 (#25660) 2021-08-27 06:22:42 -06:00
Jordan Galby
97ea57e59f
Add ld.gold and ld.lld compiler wrapper (#25626)
The gcc compiler can be configured to use `ld.gold` by default. It will
then call `ld.gold` explicitly when linking. When so, spack need to have
a ld.gold wrapper in PATH to inject rpaths link flags etc...

Also I wouldn't be surprised to see some package calling `ld.gold`
directly.

As for ld.gold, the argument could be made that we want to support any
package that could call ld.lld.
2021-08-27 13:16:26 +02:00
Massimiliano Culpo
c152e558e9
Make SpecBuildInterface pickleable (#25628)
* Add a __reduce__ method to SpecBuildInterface

This class was confusing pickle when being serialized,
due to its scary nature of being an object that disguise
as another type.

* Add more MacOS tests, switch them to clingo

* Fix condition syntax

* Remove Python v3.6 and v3.9 with macOS
2021-08-27 09:10:03 +00:00
Harmen Stoppels
12e87ebf14
Fix fish test "framework" (#25242)
Remove broken test, see #21699
2021-08-27 10:52:00 +02:00
Vanessasaurus
1113705080
adding remainder of issues from repology problems (#25653)
some of these are not resolvable in that there is only an http page
available, or a page reported as broken is actually ok, or a page has
an SSL error that does not prevent one from visiting (and no good replacement)

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-08-27 01:16:46 -06:00
Vasileios Karakasis
c3dabf05f4
Add ReFrame 3.8.0 (#25648) 2021-08-27 00:54:59 +00:00
Patrick Gartung
d0d6b29c9e
Incorporate intel-tbb-oneapi package into intel-tbb package (#25613)
* Add intel-tbb-oneapi package that does the cmake configure and build.
Compare too the intel-oneapi-tbb package which only downloads a script that contains prebuilt binaries.

* Rename package intel-tbb-cmake

* Incorporate intel-tbb-cmake into intel-tbb package
2021-08-26 17:06:27 -07:00
Harmen Stoppels
74389472ab
Make env (de)activate error with -e, -E, -D flags (#25625)
* Make sure that spack -e. env activate b and spack -e. env deactivate error
* Add a test
2021-08-26 16:54:58 -07:00
Adam J. Stewart
f5d4f5bdac
py-black: add new version, missing dep (#25629) 2021-08-26 16:53:29 -07:00
Tamara Dahlgren
1d4e00a9ff
activeharmony: Switch to https (#25641) 2021-08-26 16:51:57 -07:00
Tamara Dahlgren
8530ea88a3
acl: Switch to https (#25640) 2021-08-26 16:51:26 -07:00
Tamara Dahlgren
e57780d7f0
ACE: Switch to https (#25638) 2021-08-26 16:50:51 -07:00
Tamara Dahlgren
e39c9a7656
adlbx: switch url to https (#25642) 2021-08-26 16:50:17 -07:00
Morten Kristensen
bdb02ed535
py-vermin: add latest version 1.2.2 (#25643) 2021-08-26 22:30:09 +00:00
Erik Schnetter
b5f812cd32
New package: reprimand (#25364) 2021-08-26 15:03:49 -07:00
Paul Kuberry
abfd8fa70b
Conditionally remove 'context' from kwargs in _urlopen (#25316)
* Conditionally remove 'context' from kwargs in _urlopen

Previously, 'context' is purged from kwargs in _urlopen to
conform to varying support for 'context' in different versions
of urllib. This fix tries to use 'context', and then removes
it if an exception is thrown and tries again.

* Specify error type in try statement in _urlopen

Specify TypeError when checking if 'context' is in kwargs
for _urlopen. Also, if try fails, check that 'context' is
in the error message before removing from kwargs.
2021-08-26 13:51:08 -07:00
Adam J. Stewart
6eb942cf45
Speedup environment activation, part 2 (#25633)
This is a direct followup to #13557 which caches additional attributes that were added in #24095 that are expensive to compute. I had to reopen #25556 in another PR to invalidate the GitLab CI cache, but see #25556 for prior discussion.

### Before

```console
$ time spack env activate .

real	2m13.037s
user	1m25.584s
sys	0m43.654s
$ time spack env view regenerate
==> Updating view at /Users/Adam/.spack/.spack-env/view

real	16m3.541s
user	10m28.892s
sys	4m57.816s
$ time spack env deactivate

real	2m30.974s
user	1m38.090s
sys	0m49.781s
```

### After
```console
$ time spack env activate .

real	0m8.937s
user	0m7.323s
sys	0m1.074s
$ time spack env view regenerate
==> Updating view at /Users/Adam/.spack/.spack-env/view

real	2m22.024s
user	1m44.739s
sys	0m30.717s
$ time spack env deactivate

real	0m10.398s
user	0m8.414s
sys	0m1.630s
```

Fixes #25555
Fixes #25541 

* Speedup environment activation, part 2
* Only query distutils a single time
* Fix KeyError bug
* Make vermin happy
* Manual memoize
* Add comment on cross-compiling
* Use platform-specific include directory
* Fix multiple bugs
* Fix python_inc discrepancy
* Fix import tests
2021-08-26 20:44:31 +00:00
Enrico Usai
9dab298f0d
aws-parallelcluster: add v2.11.2 (#25635)
Signed-off-by: Rex <shuningc@amazon.com>
2021-08-26 15:35:01 -05:00
Vanessasaurus
6a26322eb3
fixing "problems in speck" as identified by repology (#25491)
Most of these are perl packages that need to point to the meta docs site,
and then a fair amount of http addresses that need to be https, and then
the rest are usually documentation sites that no longer exist or were
otherwise changes

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-08-26 15:05:24 -05:00
Harmen Stoppels
23106ac0f5
Set pubkey trust to ultimate during gpg trust (#24976)
* Set pubkey trust to ultimate during `gpg trust`

Tries to solve the same problem as #24760 without surpressing stderr
from gpg commands.

This PR makes every imported key trusted in the gpg database.

Note: I've outlined
[here](https://github.com/spack/spack/pull/24760#issuecomment-883183175)
that gpg's trust model makes sense, since how can we trust a random
public key we download from a binary cache?

* Fix test
2021-08-26 12:59:44 -07:00
Massimiliano Culpo
29d1bc6546
Ensure environment are deactivated when bootstrapping (#25607)
Fixes #25603

This commit adds a new context manager to temporarily
deactivate active environments. This context manager
is used when setting up bootstrapping configuration to
make sure that the current environment is not affected
by operations on the bootstrap store.

* Preserve exit code 1 if nothing is found
* Use context manager for the environment
2021-08-26 12:20:05 -07:00
lorddavidiii
c963bdee8b
opencl-c-headers and opencl-clhpp: add new versions (#25576) 2021-08-26 10:57:14 -07:00
Adam J. Stewart
6b3518d6fd
py-omegaconf: add missing dependency (#25589) 2021-08-26 10:55:42 -07:00
Glenn Johnson
6a31ca7386
opium package: add version 4.1 and update blas/lapack dependencies (#25591)
- remove unneeded dependency on blas
- create external-lapack variant
- patch makefile to not build lapack if `+external-lapack`

Also: 

- fix homepage link
- set parallel = False
- make references to `spec` consistent
- remove unneeded `build` method
2021-08-26 10:35:58 -07:00
Tamara Dahlgren
8664abc178
Remove references to self.install_test_root from packaging guide (#25238) 2021-08-26 19:22:40 +02:00
Massimiliano Culpo
a3d8e95e76
Avoid double loop in subprocess_context.store_patches (#25621)
fixes #21643

As far as I can see the double loop is not needed, since
"patch" is never used and the items in the list are tuples
of three values.
2021-08-26 09:46:01 -07:00
Massimiliano Culpo
1ab6f30fdd
Remove fork_context from llnl.util.lang (#25620)
This object was introduced in #18124, and was later superseded by
#18205 and removed any use if the object.
2021-08-26 09:39:59 -07:00
Massimiliano Culpo
7dd3592eab
Regression test for version selection with preferences (#25602)
This commit adds a regression test for version selection
with preferences in `packages.yaml`. Before PR 25585 we
used negative weights in a minimization to select the
optimal version. This may lead to situations where a
dependency may make the version score of dependents
"better" if it is preferred in packages.yaml.
2021-08-26 09:28:47 -07:00
Harmen Stoppels
e602c40d09
zstd package: use make instead of CMake (#25610)
zstd doesn't use -pthread for the static lib anymore, so gcc should be fine
2021-08-26 08:30:30 -07:00
Rémi Lacroix
270cbf08e3
VTK: add version 9.0.3 (#25609) 2021-08-26 07:29:41 -07:00
Vanessasaurus
4ddc0ff218
fixing bugs with new package updates for samtools and abi-dum (#25615)
samtools needed more constraints for htslib, and abi-dumper was missing pkg-config
on the dependency universal ctags

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-08-26 07:39:46 +02:00
Harmen Stoppels
73005166ef
Bugfix: reinstalling updated develop specs (#25579)
PackageInstaller and Package.installed disagree over what it means
for a package to be installed: PackageInstaller believes it should be
enough for a database entry to exist, whereas Package.installed
requires a database entry & a prefix directory.

This leads to the following niche issue:

* a develop spec in an environment is successfully installed
* then somehow its install prefix is removed (e.g. through a bug fixed
  in #25583)
* you modify the sources and reinstall the environment
  1. spack checks pkg.installed and realizes the develop spec is NOT
     installed, therefore it doesn't need to have 'overwrite: true'
  2. the installer gets the build task and checks the database and
      realizes the spec IS installed, hence it doesn't have to install it.
  3. the develop spec is not rebuilt.

The solution is to make PackageInstaller and pkg.installed agree over
what it means to be installed, and this PR does that by dropping the
prefix directory check from pkg.installed, so that it only checks the
database.

As a result, spack will create a build task with overwrite: true for
the develop spec, and the installer in fact handles overwrite requests
fine even if the install prefix doesn't exist (it just does a normal
install).
2021-08-25 18:14:11 -07:00
Xiao-Yong
204b49fc1f
py-grpcio: set parallel build jobs (#25616)
By default the number of parellel compiler processes launched by
py-grpcio equals the number of threads.  This commit limit it to
spack config build_jobs.
2021-08-26 01:08:05 +00:00
Olivier Cessenat
de3c0e62d0
New Package: perl-fth (#21879) 2021-08-25 19:16:13 -05:00
Kelly (KT) Thompson
e4e4bf75ca
[pkg][new version] Provide eospac@6.5.0beta (#25614)
* Provide new version of eospac.

+ Provide version 6.5.0beta.
+ Make version 6.4.2 the default

+ Also increment

* volunteer to be the maintainer (for now).
2021-08-25 16:35:49 -06:00
Massimiliano Culpo
af2f07852c
environment: match concrete specs only if they have the same build hash (#25575)
see #25563

When we have a concrete environment and we ask to install a
concrete spec from a file, currently Spack returns a list of
specs that are all the one that match the argument DAG hash.

Instead we want to compare build hashes, which also account
for build-only dependencies.
2021-08-25 10:56:16 -07:00
Matthieu Dorier
e2e7b0788f
[py-meshio] Added py-meshio package (#25578)
* Added py-meshio package

* Added setuptools dependency to py-meshio package

* Update var/spack/repos/builtin/packages/py-meshio/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-meshio/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-meshio/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-meshio/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-meshio/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* added missing py-importlib-metadata dependency in py-meshio

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-08-25 11:19:40 -06:00
Todd Gamblin
d27e0bff5a
installation: filter padding from binary installs, too (#25600)
#25303 filtered padding from build output, but it's still there in binary install/relocate output,
so our CI logs are still quite long and frequently hit the limit.

- [x] add context handler from #25303 to buildcache installation as well
2021-08-25 17:39:00 +02:00
Todd Gamblin
fafe1cb7e8
Make spack graph -i environment-aware (#25599)
This allows you to run `spack graph --installed` from within an environment and get a dot graph of
its concrete specs.

- [x] make `spack graph -i` environment-aware

- [x] add code to the generated dot graph to ensure roots have min rank (i.e., they're all at the
      top or left of the DAG)
2021-08-25 07:41:04 -07:00
arjun-raj-kuppala
3e2f890467
Bump up version for rocm-debug-agent - ROCm 4.3.0 (#25588) 2021-08-25 15:03:07 +02:00
Harmen Stoppels
6fab0e1b9c
libarchive: add v3.5.2, add maintainer, reworked recipe (#25604)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-08-25 05:16:45 -06:00
Harmen Stoppels
f4c9161f84
ca-certificates-mozilla: add v2021-07-05 (#25565) 2021-08-25 12:58:08 +02:00
Harmen Stoppels
fd095a3660
libuv: add v1.42.0, v1.41.1 (#25560) 2021-08-25 12:55:05 +02:00
lukebroskop
f6a9ef5ef5
Update the cray-mpich package to use the new cray-mpich MPI wrappers (#25597)
As of cray-mpich version 8.1.7, conventional MPI compiler wrappers are included in cray-mpich.

Co-authored-by: Luke Roskop <lroskop@cedar.head.cm.us.cray.com>
2021-08-24 23:50:02 -07:00
Todd Gamblin
df10e88e97
bootstrap: use sys.exec_prefix to set up external python correctly (#25593)
Bootstrapping clingo on macOS on `develop` gives errors like this:

```
==> Error: RuntimeError: Unable to locate python command in /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/bin

/Users/gamblin2/Workspace/spack/var/spack/repos/builtin/packages/python/package.py:662, in command:
        659                return Executable(path)
        660        else:
        661            msg = 'Unable to locate {0} command in {1}'
  >>    662            raise RuntimeError(msg.format(self.name, self.prefix.bin))
```

On macOS, `python` is laid out differently. In particular, `sys.executable` is here:

```console
Python 2.7.16 (default, May  8 2021, 11:48:02)
[GCC Apple LLVM 12.0.5 (clang-1205.0.19.59.6) [+internal-os, ptrauth-isa=deploy on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.executable
'/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python'
```

Based on that, you'd think that
`/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents` would be
where you'd look for a `bin` directory, but you (and Spack) would be wrong:

```console
$ ls /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/
Info.plist      MacOS/          PkgInfo         Resources/      _CodeSignature/ version.plist
```

You need to look in `sys.exec_prefix`

```
>>> sys.exec_prefix
'/System/Library/Frameworks/Python.framework/Versions/2.7'
```

Which looks much more like a standard prefix, with understandable `bin`, `lib`, and `include`
directories:

```console
$ ls /System/Library/Frameworks/Python.framework/Versions/2.7
Extras/         Mac/            Resources/      bin/            lib/
Headers@        Python*         _CodeSignature/ include/
$ ls -l /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
lrwxr-xr-x  1 root  wheel     7B Jan  1  2020 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python@ -> python2
```

- [x] change `bootstrap.py` to use the `sys.exec_prefix` as the external prefix, instead of just
      getting the parent directory of the executable.
2021-08-24 21:44:26 -07:00