Compare commits

..

1885 Commits

Author SHA1 Message Date
Todd Gamblin
71b877b1d2 stage: add $instance path component
Separate spack instances installing to separate install trees can fight
over the same stage directory because we do not currently unique stage
paths by instance.

- [x] add a new `$instance` substitution that gives an 8-digit hash
      unique to the spack instance
- [x] make the default stage directory use `$instance`

- [x] rework `spack.util.path.substitute_config_variables()` so that
      expensive operations like hashing are done lazily, not at module
      load time.
2021-03-26 22:20:18 -07:00
Gregory Lee
8c3d929d23 fix issue #18853 build of gdk-pixbuf (#22517)
* fix issue #22228 build of gdk-pixbuf

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-24 19:36:30 +00:00
Robert Mijakovic
1803070d3d intel-parallel-studio: new version (#22510)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 10:43:13 -06:00
Howard Pritchard
1f050993bc openmpi: do not over specify hwloc version dep (#22498)
related to #22497

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2021-03-24 09:29:26 -07:00
Robert Mijakovic
51d81af750 go: add v1.16.2 (#22506)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 16:00:42 +01:00
Robert Mijakovic
dbe210522c gromacs: add v2021.1 (#22507)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 16:00:12 +01:00
Robert Mijakovic
fc12fb46a1 hadoop: add v3.3.0, v3.2.2 (#22508)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 15:59:13 +01:00
Robert Mijakovic
0722f59cb2 gdb: resolve issue with libintl_gettext (#22478)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 11:55:19 +01:00
Vanessasaurus
c41c7ce638 adding debugedit package. (#22458)
This package used to be a part of rpm, but now is being developed separately.
It will supposedly be moved to a sourceware branch (it is maintained by
redhat) but I do not know if this will happen soon. We need it in order
to change locations in binaries that are built in /tmp and then moved
elsewhere. I will ping @woodard who might be able to give us an estimate
if we should include this development repository or wait for it to be
moved elsewhere. Once this is merged, we will want to use the bootstrap
approach to install and use the library from spack.

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
2021-03-23 22:59:34 -07:00
Desmond Orton
95ad5b882c new package py-pyem (#22425)
* new package py-pyem

* Added patch note and removed homepage

* Style fixes

* Moved the version above deps

* Style fix on line 20
2021-03-23 21:25:57 +01:00
Sergey Kosukhin
a1aec1450b Add stdcxx_libs for PGI and Cray compilers (#22491) 2021-03-23 14:19:03 -06:00
Rémi Lacroix
45e076dd20 Grace: new package (#22476) 2021-03-23 14:13:03 -06:00
Daniel Arndt
73311bc6cd Allow DataTransferKit to be built with external ArborX package (#22486) 2021-03-23 20:07:14 +00:00
Robert Rosca
3d74592be2 Add older versions fo py-msgpack-numpy (#22490) 2021-03-23 14:07:10 -06:00
Massimiliano Culpo
413c422e53 bootstrap: account for platform specific configuration scopes (#22489)
This change accounts for platform specific configuration scopes,
like ~/.spack/linux, during bootstrapping. These scopes were
previously not accounted for and that was causing issues e.g.
when searching for compilers.
2021-03-23 14:29:13 -05:00
Rémi Lacroix
3d0adf3a8a OpenFOAM-org: Fix compilation of version 2.4.0. (#22472)
Fix "isnan" errors when compiling version 2.4.0 with recent compilers.
2021-03-23 11:34:30 -07:00
Rémi Lacroix
4d02439820 OpenFOAM: Depend on CGAL 4.X. (#22474)
CGAL 5.X is currently not supported.
2021-03-23 11:33:01 -07:00
Martin Pokorny
c4b38e5102 Initial version of libsakura (#22488) 2021-03-23 18:05:41 +00:00
Rémi Lacroix
495b9bcb60 VAPOR: new package (#22477) 2021-03-23 11:01:32 -07:00
Robert Mijakovic
5bc1ac6ca1 cryptsetup: new version (#22470)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 11:00:49 -07:00
Robert Mijakovic
9e316b30d1 intel: new version, 20.0.4 (#22484)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 11:40:13 -06:00
Rémi Lacroix
dca23f3c37 Channelflow: Fix the package. (#22483)
A search and replace went wrong in 2264e30d99.

Thanks to @wadudmiah who reported this issue.
2021-03-23 12:04:40 -05:00
Robert Mijakovic
0c699d7494 git: new version (#22479)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 10:58:12 -06:00
Michael Kuhn
a4e18a9544 flexiblas: add 3.0.4 (#22485) 2021-03-23 17:52:33 +01:00
Robert Mijakovic
76bfdbfb96 cuda: add v11.2.2 (#22471)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 15:55:17 +01:00
Harmen Stoppels
8899a08263 OpenMPI: require ssh run dependency (#22115)
* Bump gdbm
* Add libedit 3.1
* Bump OpenSSH to 8.5p1
* Bump lz4
* Add openssh as a runtime dep of openmpi
2021-03-23 10:44:22 -04:00
Robert Mijakovic
6a3bef4bb0 gmake: add v4.3 (#22480)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 12:47:21 +00:00
Robert Mijakovic
982d1afd01 cmake: new version (#22469)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 12:59:21 +01:00
Desmond Orton
6bfc0504cb orthofinder: retrieve sources, overhaul recipes (#22423) 2021-03-23 09:27:52 +01:00
takanori-ihara
adf19379cc fujitsu-ssl2: fix to library list and env variables (#22462) 2021-03-23 08:33:05 +01:00
Robert Cohn
f57626a7c4 Oneapi packages: update URLs, environment management, and dependencies (#22202)
* Replace URL computation in base IntelOneApiPackage class with
  defining URLs in component packages (this is expected to be
  simpler for now)
* Add component_dir property that all oneAPI component packages must
  define. This property names a directory that should exist after
  installation completes (useful for making sure the install was
  successful) and also defines the search location for the
  component's environment update script.
* Add needed dependencies for components (e.g. intel-oneapi-dnn
  requires intel-oneapi-tbb). The compilers provided by
  intel-oneapi-compilers need some components under certain
  circumstances (e.g. when enabling SYCL support) but these were
  omitted since the libraries should only be linked when a
  dependent package requests that feature
* Remove individual setup_run_environment implementations and use
  IntelOneApiPackage superclass method which sources vars.sh 
  (located in a subdirectory of component_dir)
* Add documentation for IntelOneApiPackge build system

Co-authored-by: Vasily Danilin <vasily.danilin@yandex.ru>
2021-03-22 17:35:45 -07:00
Massimiliano Culpo
138312efab clingo-bootstrap: account for cray platform (#22460) 2021-03-22 17:57:32 -05:00
Jan Ciesko
364b359c68 Add Kokkos smoke test support (#22071)
Co-authored-by: Jan Ciesko (-EXP) <jciesko@sandia.gov>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-03-22 12:51:59 -06:00
Aurelien Bouteiller
623edc6674 Invoke ctest -j1 from spack install --test, and build_with_parsec from spack test run (#22070)
Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2021-03-22 12:34:03 -06:00
Harmen Stoppels
22425da038 IPython: add v7.21.0 and updated dependencies accordingly (#22448) 2021-03-22 19:22:41 +01:00
Vanessasaurus
c2a9b7aa08 rpm: add new package. (#22382)
For rpm to build with lua, we additionally need to add a lua.pc file
that the configure script can find.

Patch from : dcaf70897a/gnu/packages/patches/lua-pkgconfig.patch

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-22 17:47:56 +01:00
AMD Toolchain Support
2fba3e2bd3 Spack recipes for AOCL 3.0 (#22376)
Added Spack recipes for AOCL 3.0 blis, ambles, amdlibflame, amdlibm, amdscalapack, aocl-sparce.
2021-03-22 09:30:08 -07:00
Seth R. Johnson
3a33d45d6d openssh: support spack external find (#22445) 2021-03-22 10:19:07 -06:00
David Hadley
20fc160f21 GENIE: new package package (#22438)
Add GENIE MC (https://www.genie-mc.org) package.
2021-03-22 12:04:43 -04:00
Greg Becker
95880d0dac use link/run deps only to compare extensions (#22396) 2021-03-22 10:28:14 -05:00
André Brandenburger
01ea3e3469 py-tensorflow: remove bazel restriction to /tmp (#22250) 2021-03-22 10:06:05 -05:00
TZ
6e3f7781d4 lammps: add most recent stable and patch release (#22435) 2021-03-22 08:37:46 -06:00
TZ
951c4a6cf2 lammps: patch for CUDA-11.x with lammps 21 Jul 2020 (#22434)
apply upstream patch to make lammps 21 Jul 2020 work with CUDA-11.x (support for compute_30 removed)
2021-03-22 15:34:04 +01:00
Robert Mijakovic
62f9de535c freetype: new version (#22454) 2021-03-22 14:07:08 +00:00
Robert Mijakovic
af15801649 extrae: new version (#22453)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 15:03:03 +01:00
Robert Mijakovic
155c378406 blis: new version (#22449) 2021-03-22 15:02:44 +01:00
Robert Mijakovic
28f2349d1e doxygen: new version (#22452) 2021-03-22 15:00:31 +01:00
Robert Mijakovic
c128c58a93 cryptsetup: new version (#22451)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 14:56:15 +01:00
Robert Mijakovic
29e36e7a17 cmake: new version (#22450)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 14:54:54 +01:00
Glenn Johnson
d18de945b7 r-lwgeom: new package (#22437) 2021-03-22 12:52:07 +01:00
Glenn Johnson
2741b69791 r-s2: new package plus new dependency r-wk (#22443) 2021-03-22 12:48:06 +01:00
Glenn Johnson
d203456790 r-pool: new package (#22441) 2021-03-22 12:47:21 +01:00
Glenn Johnson
c9043b6258 r-microbenchmark: new package (#22440) 2021-03-22 12:46:52 +01:00
Glenn Johnson
346d880384 r-mapview: added packages and dependencies (#22439) 2021-03-22 12:45:58 +01:00
Robert Mijakovic
d838b8f518 pegtl: add v3.2.0 and a patch for <2.8.3 with gcc 10. (#22422)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 10:25:12 +00:00
Toyohisa Kameyama
c77267f0a1 dtf: new package. (#22446) 2021-03-22 04:07:07 -06:00
a-saitoh-fj
d49c0148b8 py-s3fs: new package (#22260) 2021-03-22 08:46:16 +01:00
Maxim Belkin
8c04354056 clingo: fix typo (#22444) 2021-03-22 00:52:46 +01:00
Valentin Volkl
e56e72d910 [py-awkward1] add dlpack dependency (#22220)
* [py-awkward1] add dlpack dependency

* [py-awkward] rename package

* [py-awkward] address comments from [22220]

* [py-awkward] address comments from [22220]
2021-03-21 12:42:13 -05:00
Keita Iwabuchi
718e65492e Metall: add v0.10, remove old versions prior to v0.7 (#21893) 2021-03-21 12:41:28 +01:00
darmac
fa5ddcaa41 libmpdclient: new package (#22146) 2021-03-21 11:33:47 +01:00
darmac
5e0aa8c2e7 libndp: new package (#22147) 2021-03-21 11:32:06 +01:00
darmac
8eb5f017df libnetfilter-cthelper: new package (#22148) 2021-03-21 11:22:15 +01:00
darmac
2b22d855b0 libnetfilter-cttimeout: new package (#22149) 2021-03-21 11:17:31 +01:00
darmac
c9ce5a3292 libnetfilter-queue: new package (#22150) 2021-03-21 11:16:30 +01:00
Greg Becker
f4b56620e5 Document cli syntax for environment scopes (#20344)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-21 10:14:13 +00:00
Chuck Atkins
df8dcef963 ecp-data-vis-sdk: disable sz python bindings (#22271) 2021-03-21 11:12:31 +01:00
darmac
622b6d761d net-snmp: new package (#22154) 2021-03-21 11:11:44 +01:00
Jen Herting
404d4dde48 opus: add v1.3.1 (#22308) 2021-03-21 08:42:15 +00:00
darmac
3688f7aea0 hwdata: new package (#22128) 2021-03-21 09:28:21 +01:00
darmac
bc127ec53e mozjs: add zip and unzip as dependencies (#22274) 2021-03-21 09:27:12 +01:00
darmac
26bf91c690 fullock: new package (#22139) 2021-03-21 09:20:50 +01:00
darmac
b48fbeed69 brynet: new package (#22133) 2021-03-21 09:19:58 +01:00
darmac
83fde4e849 libnfs: new package (#22151) 2021-03-20 22:36:04 +01:00
darmac
4a957509db libnfsidmap: new package (#22152) 2021-03-20 22:35:00 +01:00
Robert Pavel
9af0b11b86 MiniAMR: add v1.6.6 and v1.6.5 (#22227) 2021-03-20 22:31:06 +01:00
Matthew Kelsey
0c4f140d88 professor: add new package at v2.3.3 (#22043)
Co-authored-by: Matthew Kelsey <matt@Matthews-MacBook-Pro.local>
Co-authored-by: Matthew Kelsey <mkelsey@rcas6015.rcf.bnl.gov>
2021-03-20 19:28:03 +00:00
darmac
5a30e5795f libapreq2: add package at v2.13 (#22136) 2021-03-20 18:23:04 +00:00
Robert Mijakovic
4bdd014c82 bazel: new versions, 4.0.0 and 3.7.2 (#22420)
* bazel: new versions, 4.0.0 and 3.7.2

* Updates bazel 4.0.0 hash

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

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-20 12:17:49 -05:00
Vinícius
b052ff9be0 pajeng: add dependency on fmt for @develop (#22432) 2021-03-20 16:57:40 +00:00
Olivier Cessenat
1acaaea34e silo: adding the library spec for dependents (#22431) 2021-03-20 15:22:38 +00:00
Tom Scogland
48023b2932 notify and error out on more unsupported versions (#22389)
This is to help debug situations like #22383, where python3.4 is
accidentally preferred over python2.  It will also help on systems where
there is no python2 available or some other issue.
2021-03-20 08:01:23 -07:00
Olivier Cessenat
86fad97165 minizip: reduce scope of applied patch (#21909) 2021-03-20 14:51:03 +00:00
Rohit Goswami
ac15e3ec96 SymEngine: add v0.7.0 (#22367) 2021-03-20 14:50:43 +00:00
Massimiliano Culpo
06cd29ad58 QA: don't run build tests on each commit (#22430)
This applies the same rules on push to develop
that we use for PRs
2021-03-20 07:17:47 -07:00
Massimiliano Culpo
03e10b3cde QA: reduce number of unit tests for jobs not in the matrix (#22426)
* QA: reduce number of unit tests for jobs not in the matrix

* Fixup for CentOS6 dependencies

* Put correct conditions back in place

* Add dependency on changes
2021-03-20 07:16:52 -07:00
darmac
46469786d8 libtorrent: add new package at v0.13.8 (#22130) 2021-03-20 15:16:09 +01:00
darmac
17e51b2989 args: add new package at v6.2.3 (#22132) 2021-03-20 15:14:40 +01:00
darmac
806f02438d libao: add new package at v1.2.2 (#22135) 2021-03-20 15:11:52 +01:00
darmac
44e70f40ce libasr: new package at v1.0.4 (#22137) 2021-03-20 15:07:09 +01:00
Martin Pokorny
c84c0187ea casacore: fft implementation default (#22226)
* Change default FFT implementation to FFTW

To account for the default changing with casacore v3.4.0, as well as the
CMake logic for getting the FFTPack implementation.

* Switch to using spec.satisfies() for Python CMake values
2021-03-20 14:58:56 +01:00
Rohit Goswami
ec0dc67e73 eigen: add v3.3.9 (#22369) 2021-03-20 12:55:06 +00:00
Michael Kuhn
dfb0da2c85 zlib-ng: new package (#22346) 2021-03-20 12:43:04 +00:00
Jen Herting
f8ea3c5285 libvorbis: add v1.3.7 (#22266) 2021-03-20 13:36:27 +01:00
Pramod Kumbhar
222666e400 neuron: fix issue with assignment operator during build (#22278) 2021-03-20 06:31:23 -06:00
darmac
a4fbaf2f89 hivex: new package (#22158) 2021-03-20 13:30:20 +01:00
darmac
f8a17371f6 hyphen: new package (#22157) 2021-03-20 13:23:41 +01:00
darmac
aa79689c78 libmbim: add new package (#22143) 2021-03-20 13:17:59 +01:00
darmac
8a9af11403 liblognorm: new package (#22140)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-20 13:16:39 +01:00
Adam J. Stewart
d4516057e1 py-azureml-sdk: Python 3.9 not yet supported (#22388) 2021-03-20 12:08:58 +00:00
Scot Halverson
e1abb5cbc8 kokkos: add ampere80 cuda arch (#22397)
Adding support for Ampere (SM_80) GPUs.
2021-03-20 11:54:48 +00:00
Vanessasaurus
c055ffc79b singularity: update packages (#22281)
This PR will update the urls to not have www (not needed),
the repository user should be hpcng instead of sylabs (technically
GitHub maintains the old links but this might not be forever) and
also added 3.7.1 and 3.7.2 versions of Singularity, newly released

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

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-03-20 12:50:35 +01:00
Cody Balos
ac6976dee5 sundials: use CudaPackage and ROCmPackage and add spack tests (#22183)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-03-20 11:43:31 +00:00
Kai Torben Ohlhus
9b5df573c0 openblas: add v0.3.14 (#22371)
New OpenBLAS 0.3.14 release
- https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.14
2021-03-20 11:41:04 +00:00
Rao Garimella
c7e481de77 Update R3D package (#22327)
Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2021-03-20 12:12:48 +01:00
Jen Herting
9d5937725e py-jsonpointer: add v1.9 (#22394) 2021-03-20 11:07:53 +00:00
Vinícius
ce64a4170f pajeng: new package (#22398) 2021-03-20 10:35:43 +00:00
Robert Pavel
bba41f16d4 libristra: add new package (#22343) 2021-03-20 10:38:13 +01:00
Hadrien G
32f6fdce7c acts: add v6.00.0 (#22347) 2021-03-20 03:34:14 -06:00
Jen Herting
6d8f59e6bc libogg: add v1.3.4 (#22395) 2021-03-20 10:22:06 +01:00
Harmen Stoppels
ece71f1648 hip: shorten shebang before cmake phase because it is used there (#22391) 2021-03-20 09:52:22 +01:00
Michael Kuhn
07a9723c63 cube-blade: new package (#22411) 2021-03-20 09:47:48 +01:00
Nick Denissen
4aa24095c0 zoltan: add nvhpc fortran libraries to the linker (#22413) 2021-03-20 09:46:25 +01:00
Robert Mijakovic
c4e81b9cdb autoconf: add v2.71 (#22415)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-20 09:44:53 +01:00
Glenn Johnson
cbb64156cb bowtie2: fix python interpreter line (#22417)
Beginning with version 2.4.1, the python interpreter line changed from

"#!/usr/bin/env python" to "#!/usr/bin/env python3"

That caused the bowtie2-build and bowtie2-inspect scripts to have a
trailing '3' at the end of the interpreter line. This PR fixes that. I
also observed that older versions do not build with intel-oneapi-tbb
so added a conflicts statement for that.
2021-03-20 09:43:19 +01:00
Chris Richardson
381da114f0 xtensor: add v0.23.2 (#22378)
Also updated version of dependencies
2021-03-20 08:41:56 +00:00
William Downs
ab6c543948 gchp: add v13.0.0 (#22387) 2021-03-20 09:41:29 +01:00
Toyohisa Kameyama
b8815e577b boost: fixed detect system icu bug on version 1.65.0 or older. (#22375) 2021-03-20 01:52:38 +00:00
Robert Mijakovic
187c23d3c5 Slurm: add v20-11-[4,5]-1 (#22416)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-20 00:09:32 +01:00
Massimiliano Culpo
0209d15ffd CI: treat push to develop in the same way as PRs (#22421) 2021-03-19 15:08:32 -07:00
Sinan
4c57c88d9e py-zarr: add v2.4.0,v2.5.0,v2.6.1 (#22403)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-19 22:06:30 +00:00
Tiziano Müller
3305a39c55 CP2K: update libxc dep, SIRIUS: update spla dep for 7+ (#22249) 2021-03-19 14:52:07 -06:00
Massimiliano Culpo
629f94b4e1 CI: drastically reduce the number of tests for package only PRs (#22410)
PRs that change only package recipes will only run tests under "package_sanity.py" and without coverage. This should result in a huge drop the cpu-time spent in CI for most PRs.
2021-03-19 11:04:53 -07:00
Daniel Arndt
245d67ed5c Add ArborX smoke tests (#22356) 2021-03-19 12:39:06 +00:00
m-shunji
020c60649e abinit: fix detection of Fujitsu compiler (#22239) 2021-03-19 12:27:31 +00:00
Gregory Lee
43f4d2da99 updated deps to get gtkplus to build (#22228)
* updated deps to get gtkplus to build

* gtk-doc requires docbook-xml 4.3

* patch gtk-doc build to find xml catalogs

* patch gtk-doc build to find xml catalogs

* patch gtk-doc build to find xml catalogs

* add new version, fix macOS build error

* reorder docbook versions from newest to oldest

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-19 09:31:14 +00:00
tilne
22a93300b4 Add aws-parallelcluster v2.10.3 (#22402)
Signed-off-by: Tim Lane <tilne@amazon.com>
2021-03-19 09:09:18 +00:00
Robert Mijakovic
396936d241 Adds new versions of cuDNN package (#22385) 2021-03-19 02:42:44 +00:00
Benjamin Tovar
818b416742 CCTools to version 7.2.4 (#22384) 2021-03-19 02:13:30 +00:00
Cyrus Harrison
4df1f62fd3 updates to conduit to add hostcfg and use cmake base (#22233) 2021-03-18 18:44:29 -07:00
AMD Toolchain Support
4f1a76a0d1 fixing the perf regression issues with OpenMPI v4.0.x till v4.1.0 for x86_64 (#22350) 2021-03-18 17:09:20 -07:00
Dr. Christian Tacke
d07cb59bef root/intel-tbb interaction (#22366)
root 6.22 does not work with intel-tbb 2021.1.1.

So:
* Introduce conflicts()
  (a fitting depends_on in the comments, but does not help with the classic conretizer.)
* Mark 2020.3 as preferred to help concretizer, when newer versions come up.
* Previous discussion:
  https://github.com/spack/spack/pull/22263#issuecomment-797606475
* Relevant ROOT issue:
  https://github.com/root-project/root/issues/6933
2021-03-18 17:19:08 -06:00
Cody Balos
02c3b23a15 xsdk-examples: add new version (#22090) 2021-03-18 15:25:43 -07:00
Olivier Cessenat
628f9eadb5 perl-tk: creating package (#21586) 2021-03-18 11:20:18 -05:00
Paul Kuberry
a405811bfe xyce: add new package (#22345) 2021-03-18 14:49:42 +00:00
Harmen Stoppels
196db55855 Fix broken spack -c flag (#22361) 2021-03-18 15:26:30 +01:00
Ryan Honeyager
c6f3f57c31 Add udunits2 v2.2.28 and target the new UCAR repository (#22370) 2021-03-18 12:47:20 +00:00
Axel Huebl
f901c61e68 py-yt: 3.6.1 (#22329)
* py-yt: 3.6.1

The latest bugfix release of yt-project fixes issues with matplotlib
version 3.3.0+.

* py-yt: add many more version constrains
2021-03-18 11:19:58 +00:00
Massimiliano Culpo
8cf6ad9917 archspec: update to latest version (#22357) 2021-03-18 00:23:09 -07:00
Benjamin Tovar
4c9c5393f1 CCTools: add v7.2.3 (#22355) 2021-03-18 08:10:08 +01:00
Harmen Stoppels
15645147ed Tab to spaces (#22362) 2021-03-18 06:20:06 +00:00
Hector Martinez-Seara
441d09cc27 Amber (#22275)
* Improved amber package. Added amber20

* Corrected description link between ambertools and amber versions

* Fixed ambertools handling

* Apply pathes only when problematic traget requested

* fixed style issue

* Added amber20 sha256 checksum

* Improved documentation

* Removed preferred amber18

* Changef f-string to str.format()

* Changef f-string to str.format()

* removed url_for_version fuction
2021-03-18 05:45:24 +00:00
Seth R. Johnson
e5103b6914 openblas: fix older versions (#22358) 2021-03-18 03:21:58 +00:00
Harmen Stoppels
e57053bd32 Fix indentation compiler wrapper issue (#22352) 2021-03-17 18:45:10 +00:00
Tomoki, Karatsu
d934363ae5 intel-mpi-benchmarks: Take in upstream bugfix patches. (#22317) 2021-03-17 11:09:25 -07:00
Adam J. Stewart
251e4282f1 GDAL: add v3.2.2 (#22224) 2021-03-17 11:28:06 -06:00
Adam J. Stewart
2d623bab31 tidy-html5: add new package (#22286) 2021-03-17 16:14:39 +01:00
Dr. Christian Tacke
96e394845b root: add v6.22.08 (#22263) 2021-03-17 16:14:12 +01:00
AMD Toolchain Support
e6c8fa1311 aocc: add support for v3.0 compilers (#22219)
A mitigation of a known issue that affects v3.0 is added, see
https://developer.amd.com/wp-content/resources/AOCC-3.0-Install-Guide.pdf
2021-03-17 15:06:25 +00:00
Harmen Stoppels
43dd7b84c0 spack location: bugfix for out of source build dirs (#22348) 2021-03-17 14:38:14 +00:00
Erik Schnetter
9a565e0ec7 shtools: add v4.8 (#22305) 2021-03-17 13:20:46 +01:00
Erik Schnetter
bac3ac4fdb fasttransforms: add v0.5.0 (#22304) 2021-03-17 13:20:09 +01:00
Jen Herting
8d2944bf77 flac: add v1.3.3 (#22307) 2021-03-17 12:18:52 +01:00
Harmen Stoppels
889e83a9b5 boost: fix unicode bugs in Boost recipe (#22301) 2021-03-17 11:22:21 +01:00
Benjamin Tovar
047bb490cb cctools: add v7.2.2 (#22325) 2021-03-17 11:19:01 +01:00
Erik Schnetter
2032c608e8 ssht: add v1.3.5 (#22306) 2021-03-17 11:16:56 +01:00
David Hadley
9e62eadce0 pythia6: fix wrong patch (#22338)
See #22330
2021-03-17 03:25:09 -06:00
Bryan Herman
364b9e7a27 add maintainer to py-h5py (#22332) 2021-03-16 18:46:16 -06:00
Tomoyasu Nojiri
857f6392a2 r-v8: Fix build error (#22314) 2021-03-16 19:39:30 -05:00
eugeneswalker
b75b029706 amrex: add gcc 8 conflicts (#22339) 2021-03-16 23:54:40 +00:00
Tiziano Müller
12cad38aef llvm: enable ncurses patch for building on SUSE in 11.0.1 (#22319)
fixes #19625 again
2021-03-16 16:22:10 -07:00
Danny McClanahan
18fbd58fe6 fix weird failure in variant values (#22328) 2021-03-16 16:04:51 -07:00
AMD Toolchain Support
912606ad9a spack recipe for aocl-sparse (#22079) 2021-03-16 14:34:25 -07:00
Wouter Deconinck
c9ba95cc5c containerize: fix typo in documentation (#22331)
Before this fix, `spack containerize` complains that `centos/7` is invalid
(should have been `centos:7`)
2021-03-16 21:02:26 +00:00
AMD Toolchain Support
603331e669 WRF package: add aocc 3.0 support for WRF 3.9.1.1 and 4.2 (#22285)
* Added 2 new configure patch files to build WRF 3.9.1.1 and 4.2
  with aocc@3.0
* Renamed patch files used for building WRF 3.9.1.1 and 4.2 with
  aocc@2.3 (mostly, this also removes -march=native from AOCCOPT
  and updates LIBMVEC options for aocc@2.3)
2021-03-16 12:59:43 -07:00
Massimiliano Culpo
2aab415f3d The action to detect changes needs a repository to be checked out on push event (#22324) 2021-03-16 17:27:41 +00:00
Massimiliano Culpo
b304b4bdb0 Speed-up CI by reorganizing tests (#22247)
* unit tests: mark slow tests as "maybeslow"

This commit also removes the "network" marker and
marks every "network" test as "maybeslow". Tests
marked as db are maintained, but they're not slow
anymore.

* GA: require style tests to pass before running unit-tests

* GA: make MacOS unit tests fail fast

* GA: move all unit tests into the same workflow, run style tests as a prerequisite

All the unit tests have been moved into the same workflow so that a single
run of the dorny/paths-filter action can be used to ask for coverage based
on the files that have been changed in a PR. The basic idea is that for PRs
that introduce only changes to packages coverage is not necessary, this
resulting in a faster execution of the tests.

Also, for package only PRs slow unit tests are skipped.

Finally, MacOS and linux unit tests are now conditional on style tests passing
meaning that e.g. we won't waste a MacOS worker if we know that the PR has
flake8 issues.

* Addressed review comments

* Skipping slow tests on MacOS for package only recipes

* QA: make tests on changes correct before merging
2021-03-16 08:16:31 -07:00
a-saitoh-fj
d36de79ba0 py-aiobotocore: New package (#22258)
* py-aiobotocore: New package

* py-aiobotocore: Added python dependencies, and Removed unnecessary whitespace
2021-03-16 08:57:54 -05:00
Todd Gamblin
3e570ce694 bugfix: allow imposed constraints to be overridden in special cases
In most cases, we want condition_holds(ID) to imply any imposed
constraints associated with the ID. However, the dependency relationship
in Spack is special because it's "extra" conditional -- a dependency
*condition* may hold, but we have decided that externals will not have
dependencies, so we need a way to avoid having imposed constraints appear
for nodes that don't exist.

This introduces a new rule that says that constraints are imposed
*unless* we define `do_not_impose(ID)`. This allows rules like
dependencies, which rely on more than just spec conditions, to cancel
imposed constraints.

We add one special case for this: dependencies of externals.
2021-03-16 12:50:14 +01:00
Todd Gamblin
e7cba04b95 bugfix: do not generate dep conditions when no dependency
We only consider test dependencies some of the time. Some packages are
*only* test dependencies. Spack's algorithm was previously generating
dependency conditions that could hold, *even* if there was no potential
dependency type.

- [x] change asp.py so that this can't happen -- we now only generate
      dependency types for possible dependencies.
2021-03-16 12:50:14 +01:00
Todd Gamblin
ada6ecc797 concretizer: unify logic for spec conditionals
This builds on #20638 by unifying all the places in the concretizer where
things are conditional on specs. Previously, we duplicated a common spec
conditional pattern for dependencies, virtual providers, conflicts, and
externals. That was introduced in #20423 and refined in #20507, and
roughly looked as follows.

Given some directives in a package like:

```python
depends_on("foo@1.0+bar", when="@2.0+variant")
provides("mpi@2:", when="@1.9:")
```

We handled the `@2.0+variant` and `@1.9:` parts by generating generated
`dependency_condition()`, `required_dependency_condition()`, and
`imposed_dependency_condition()` facts to trigger rules like this:

```prolog
dependency_conditions_hold(ID, Parent, Dependency) :-
  attr(Name, Arg1)             : required_dependency_condition(ID, Name, Arg1);
  attr(Name, Arg1, Arg2)       : required_dependency_condition(ID, Name, Arg1, Arg2);
  attr(Name, Arg1, Arg2, Arg3) : required_dependency_condition(ID, Name, Arg1, Arg2, Arg3);
  dependency_condition(ID, Parent, Dependency);
  node(Parent).
```

And we handled `foo@1.0+bar` and `mpi@2:` parts ("imposed constraints")
like this:

```prolog
attr(Name, Arg1, Arg2) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2).

attr(Name, Arg1, Arg2, Arg3) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2, Arg3).
```

These rules were repeated with different input predicates for
requirements (e.g., `required_dependency_condition`) and imposed
constraints (e.g., `imposed_dependency_condition`) throughout
`concretize.lp`. In #20638 it got to be a bit confusing, because we used
the same `dependency_condition_holds` predicate to impose constraints on
conditional dependencies and virtual providers. So, even though the
pattern was repeated, some of the conditional rules were conjoined in a
weird way.

Instead of repeating this pattern everywhere, we now have *one* set of
consolidated rules for conditions:

```prolog
condition_holds(ID) :-
  condition(ID);
  attr(Name, A1)         : condition_requirement(ID, Name, A1);
  attr(Name, A1, A2)     : condition_requirement(ID, Name, A1, A2);
  attr(Name, A1, A2, A3) : condition_requirement(ID, Name, A1, A2, A3).

attr(Name, A1)         :- condition_holds(ID), imposed_constraint(ID, Name, A1).
attr(Name, A1, A2)     :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2).
attr(Name, A1, A2, A3) :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2, A3).
```

this allows us to use `condition(ID)` and `condition_holds(ID)` to
encapsulate the conditional logic on specs in all the scenarios where we
need it. Instead of defining predicates for the requirements and imposed
constraints, we generate the condition inputs with generic facts, and
define predicates to associate the condition ID with a particular
scenario. So, now, the generated facts for a condition look like this:

```prolog
condition(121).
condition_requirement(121,"node","cairo").
condition_requirement(121,"variant_value","cairo","fc","True").
imposed_constraint(121,"version_satisfies","fontconfig","2.10.91:").
dependency_condition(121,"cairo","fontconfig").
dependency_type(121,"build").
dependency_type(121,"link").
```

The requirements and imposed constraints are generic, and we associate
them with their meaning via the id. Here, `dependency_condition(121,
"cairo", "fontconfig")` tells us that condition 121 has to do with the
dependency of `cairo` on `fontconfig`, and the conditional dependency
rules just become:

```prolog
dependency_holds(Package, Dependency, Type) :-
  dependency_condition(ID, Package, Dependency),
  dependency_type(ID, Type),
  condition_holds(ID).
```

Dependencies, virtuals, conflicts, and externals all now use similar
patterns, and the logic for generating condition facts is common to all
of them on the python side, as well. The more specific routines like
`package_dependencies_rules` just call `self.condition(...)` to get an id
and generate requirements and imposed constraints, then they generate
their extra facts with the returned id, like this:

```python
    def package_dependencies_rules(self, pkg, tests):
        """Translate 'depends_on' directives into ASP logic."""
        for _, conditions in sorted(pkg.dependencies.items()):
            for cond, dep in sorted(conditions.items()):
                condition_id = self.condition(cond, dep.spec, pkg.name)  # create a condition and get its id
                self.gen.fact(fn.dependency_condition(  # associate specifics about the dependency w/the id
                    condition_id, pkg.name, dep.spec.name
                ))
        # etc.
```

- [x] unify generation and logic for conditions
- [x] use unified logic for dependencies
- [x] use unified logic for virtuals
- [x] use unified logic for conflicts
- [x] use unified logic for externals

LocalWords:  concretizer mpi attr Arg concretize lp cairo fc fontconfig
LocalWords:  virtuals def pkg cond dep fn refactor github py
2021-03-16 12:50:14 +01:00
Tomoyasu Nojiri
ce7bde24d4 amdlibflame: Fix build error (#22316) 2021-03-16 10:32:51 +00:00
Tomoyasu Nojiri
475c877fc9 libflame: Fix build error (#22315) 2021-03-16 10:03:32 +00:00
Harmen Stoppels
8ffeb96c77 hwloc: add dependency on ncurses (#22300)
Co-authored-by: Michal Sudwoj <msudwoj@student.ethz.ch>
2021-03-16 08:34:41 +01:00
Adam J. Stewart
d7f1ff68fb OpenCV: add new version, simplify package (#22292) 2021-03-15 14:41:24 -07:00
Harmen Stoppels
195341113e Expand relative dev paths in environment files (#22045)
* Rewrite relative dev_spec paths internally to absolute paths in case of relocation of the environment file

* Test relative paths for dev_path in environments

* Add a --keep-relative flag to spack env create

This ensures that relative paths of develop paths are not expanded to
absolute paths when initializing the environment in a different location
from the spack.yaml init file.
2021-03-15 15:38:35 -05:00
Harmen Stoppels
4f1d9d6095 Propagate --test= for environments (#22040)
* Propagate --test= for environments

* Improve help comment for spack concretize --test flag

* Add tests for --test with environments
2021-03-15 15:34:18 -05:00
Chuck Atkins
f949ae772d vtk-h: Fix missing trailing-colon in CMake version (#22302) 2021-03-15 20:16:56 +00:00
Harmen Stoppels
6ba7632d2b Make py-boto3 installable again with old concretizer (#22298) 2021-03-15 18:21:11 +00:00
Adam J. Stewart
d166ca91f1 dos2unix: gettext needed for linking (#22288) 2021-03-15 12:19:15 -06:00
Adam J. Stewart
70c505a0b8 Fix use of quotes in Python build system (#22279) 2021-03-15 11:11:27 -07:00
Adam J. Stewart
78d1b28b72 py-tqdm: add new version, variants (#22290) 2021-03-15 10:03:52 -07:00
Adam J. Stewart
3c493ae629 PyTorch: add missing tqdm dependency (#22289) 2021-03-15 09:55:31 -07:00
Tomoyasu Nojiri
9c7669ed67 fortrilinos: Fix trilinos depend (#22295) 2021-03-15 10:31:10 -06:00
Christoph Junghans
0c8df39fce votca-*: add v2021 (#22282) 2021-03-15 11:38:55 +01:00
a-saitoh-fj
3e4a24c878 py-aioitertools: New package (#22256)
* py-aioitertools: New package

* py-aioitertools: Fixed python dependencies, and Fixed style of code

* switch to the source build
2021-03-15 04:58:14 +00:00
Vanessasaurus
6ff717f395 do not validate variants of concrete specs in solver setup (#22272)
Currently, regardless of a spec being concrete or not, we validate its variants in `spec_clauses` (part of `SpackSolverSetup`).  

This PR skips the check if the spec is concrete.

The reason we want to do this is so that the solver setup class (really, `spec_clauses`) can be used for cases when we just want the logic statements / facts (is that what they are called?) and we don't need to re-validate an already concrete spec.  We can't change existing concrete specs, and we have to be able to handle them *even if they violate constraints in the current spack*.  This happens in practice if we are doing the validation for a spec produced by a different spack install.

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
2021-03-14 19:00:15 +00:00
a-saitoh-fj
d22bad13b1 py-botocore: Update version to install py-s3fs (#22257)
* Update version to install py-s3fs

* Update the required version of py-urllib3, and Set the dependent conditions of py-docutils
2021-03-14 06:29:50 +00:00
Seth R. Johnson
5b2a54952c openblas: prevent microarch flags for generic targets (#22270)
As of OpenBLAS 0.3.13, leaving off `TARGET` by default optimizes most
code for the host system -- adding flags that cause the resulting
library to fail (SIGILL) on older systems.  This change should ensure
that a "x86_64" target for example will work across deployment systems.

https://github.com/xianyi/OpenBLAS/issues/3139
2021-03-13 11:00:15 +00:00
Vanessasaurus
746081e933 adding spack -c to set one off config arguments (#22251)
This pull request will add the ability for a user to add a configuration argument on the fly, on the command line, e.g.,:

```bash
$ spack -c config:install_tree:root:/path/to/config.yaml -c packages:all:compiler:[gcc] list --help
```
The above command doesn't do anything (I'm just getting help for list) but you can imagine having another root of packages, and updating it on the fly for a command (something I'd like to do in the near future!)

I've moved the logic for config_add that used to be in spack/cmd/config.py into spack/config.py proper, and now both the main.py (where spack commands live) and spack/cmd/config.py use these functions. I only needed spack config add, so I didn't move the others. We can move the others if there are also needed in multiple places.
2021-03-13 05:31:26 +00:00
Bryan Herman
839af2bd70 fixed ^python in py-rich, py-dvc (#22264) 2021-03-12 22:53:31 +00:00
Bryan Herman
f213cf8349 py-h5py: offline installation and deps fix (#22262)
* added h5py patch file for offline installs to work

* h5py v3+ deps consistent with setup.py, add patch
2021-03-12 19:44:37 +00:00
Chuck Atkins
474e616a5b ascent: Relax CMake version constraints (#22253) 2021-03-12 11:37:43 -08:00
Valentin Volkl
cf29ee6b2b [dd4hep] update env var (#22218) 2021-03-12 11:10:07 -07:00
Tamara Dahlgren
61baa40160 bugfix: ensure spack test list still works (#22203)
Was getting the following error:

```
$ spack test list
==> Error: issubclass() arg 1 must be a class
```

This PR adds a check in `has_test_method` (in case it is re-used elsewhere such as #22097) and ensures a class is passed to the method from `spack test list`.
2021-03-12 09:56:17 -08:00
iarspider
b2ece3abba Rivet: syntax fixes (#22225) 2021-03-12 09:52:07 -08:00
Desmond Orton
24b7aff837 Version update to 1.9.4 (#22231) 2021-03-12 09:44:10 -08:00
Brian Van Essen
8a8fad8474 LBANN software stack: new versions and dependencies (#22234)
Updated the versions for DiHydrogen and Aluminum. Added new constraints on versions of Aluminum that are used across the software stack.  Cleaned up the dependency on DiHydrogen for LBANN.
2021-03-12 10:43:13 -07:00
Sinan
650f24f4d3 add hints for dependency resolution (#22238)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2021-03-12 09:36:11 -08:00
a-saitoh-fj
5790ec5359 py-fsspec: Update version to install py-s3fs (#22259) 2021-03-12 11:31:00 -06:00
Bryan Herman
a2e9a9076f fixed when python dep in ftfy dep for py benedict (#22261) 2021-03-12 10:28:13 -07:00
Tomoyasu Nojiri
19b163e49d chai: Add 2.3.0 version (#22254) 2021-03-12 10:16:06 -07:00
a-saitoh-fj
c6440eb23c py-chainer: Add test method for ChainerMN (continued #21848, #21940) (#22189)
* py-chainer: Add test method for ChainerMN (continued #21848, #21940)

* py-chainer: Fixed the word in the message

* py-chainer: Delete unnecessary imports

* py-chainer: Incorporation of the measures pointed out in #21940 was insufficient.
2021-03-12 11:40:25 +00:00
kuramoto-fj
40147d9955 mptensor: Add test method (#21712)
* mptensor: Add test method

* mptensor: Reverted the receipe on merged style

* mptensor: Changed """ to #
2021-03-12 06:13:38 +00:00
Sergei Shudler
21b2d7109a superlu-dist: Add e4s testsuite-inspired smoke test (#22237)
* Added a smoke test for superlu-dist recipe

* Fixed small issues following a PR review
2021-03-12 04:22:34 +00:00
Paul Kuberry
e13ce390fe Add internal package options to Trilinos (#22205)
Adds several EpetraExt_BUILD_* options as well as an Amesos2_ENABLE_Basker option. Adds `none` as an option to `gotype=`, which should be among the options since 'none' is specifically handled later in the package definition.

Adds `stokhos` and `trilinoscouplings` as options in spack which already are available in CMake for Trilinos (e.g. Trilinos_ENABLE_Stokhos:BOOL=)
2021-03-11 18:23:24 -08:00
BerengerBerthoul
ca4a566443 py-pytest-html recipe (#22221)
* py-pytest-html recipe

* added missing deps + copyright

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-12 02:17:12 +00:00
Thomas Kluyver
bb4ccdfa91 Add newest versions of py-h5py (#22245)
* Add newest versions of py-h5py

* Update dependencies for py-h5py
2021-03-12 00:39:25 +00:00
Tomoyasu Nojiri
952f76bda3 r-rhdf5filters: Fix for aarch64 (#22074) 2021-03-11 17:56:55 +00:00
Tomoyasu Nojiri
ab9580c168 bind9: add missing dependencies (#22212) 2021-03-11 16:32:29 +00:00
Tomoyasu Nojiri
e11f5df7dc ctffind: update url and version directive (#22039) 2021-03-11 15:23:41 +00:00
Ye Luo
d0610f7a39 elpa: fix build of versions before 2020 with GCC >= 10 (#22182) 2021-03-11 09:43:53 +00:00
Andrew W Elble
31cf0e9c0d py-imageio: new version 2.9.0 (#22229) 2021-03-11 04:41:13 +00:00
Gabriel Rockefeller
821769c95e eospac: add patch to fix selection of compiler flags (#21626)
Patch eospac's Makefile.-linux-gnu.hashes to consider only `$(notdir
$(F90))` when constructing a key to look up compiler flags in the
_F90-CPUINFO_COMP_FLAGS associative array.

This patch was accepted into eospac itself after the release of
6.4.2beta, so apply it only to 6.4.2beta and earlier releases.
2021-03-11 01:47:13 +00:00
Benjamin Tovar
f346db83ac cctools: add v7.2.1 (#22193) 2021-03-10 21:48:29 +00:00
David Pape
f73182fd98 gearshifft: fix patch, add support for mkl and rocm (#22195)
- Fix faulty patch
- Only use GEARSHIFFT_BACKEND_FFTW_PTHREADS if ~openmp
- Explicitly disable float16 support
- Use correct minimum required Boost version
- Add variants for Intel MKL and ROCm rocfft
2021-03-10 21:03:06 +00:00
Scott Wittenburg
7b97fe206b Pipelines: Fix issue that allowed failing jobs to pass (#22199)
This is a workaround for an issue with how "spack install" is invoked from within "spack ci rebuild".  The fact that we don't get an exception or even the actual returncode when using the object returned by spack.util.executable.which('spack') to install the target spec means we get no indication of failures about the install command itself.  Instead we rely on the subsequent buildcache creation failure to fail the job.
2021-03-10 11:11:30 -08:00
Michael Kuhn
43473995ad meson: apply rpath patch for current versions (#22216)
meson now only selectively strips rpaths but can still strip required
ones (like glib's pcre dependency).
2021-03-10 18:42:39 +00:00
darmac
d2ce4b565c vigra: add master branch (#22037) 2021-03-10 17:57:35 +00:00
Danny McClanahan
f0275e84ad fix setup-env.sh on older linux zsh (#21721) 2021-03-10 09:44:50 -08:00
darmac
05dfd94ed7 haveged: new package at v1.9.13 (#22127) 2021-03-10 17:36:27 +00:00
Michael Kuhn
c65e660fbe gdk-pixbuf: add v2.42.2 (#22215) 2021-03-10 16:44:15 +00:00
Michael Kuhn
ed4a468941 gcc: fix nvptx conflict (#22214)
In the past, we only had the binutils variant, which included the
bootstrapping flag. Now that we have a separate bootstrap variant, fix
the nvptx conflict accordingly.
2021-03-10 14:52:40 +00:00
darmac
df92f73c72 mii: add v1.0.4 (#21754)
mii: 1.0.3 and 1.0.2 is deprecated, and v1.0.4 can replace them safely
2021-03-10 14:22:21 +00:00
h-denpo
fc15f85986 gearshifft: add v0.4.0, remove v0.2.1-lw (#21437)
Changed maintainer

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-10 11:00:36 +01:00
Andrew W Elble
81e3978759 gnutls: add v3.6.15 (#22192) 2021-03-10 10:53:35 +01:00
Andrew W Elble
f7c234f14c salmon: add v1.4.0 (#22201)
devendored (most) dependencies, added missing dependencies.
added resources and bypassed external fetching.
2021-03-10 10:30:03 +01:00
Paul Kuberry
d2e759e614 compadre: add new package (#22119) 2021-03-10 10:25:59 +01:00
h-denpo
8849312e68 pocl: updated llvm dependency to require not having flang (#22190)
depends_on("llvm +clang +shared_libs -flang @6.0:11.0", when="@1.6")
2021-03-10 10:25:10 +01:00
Tomoyasu Nojiri
8de96cde08 lxc: fix install error (#22206) 2021-03-10 10:18:34 +01:00
Tomoyasu Nojiri
114bc95526 rsyslog: fix install error (#22207) 2021-03-10 10:17:50 +01:00
Tomoyasu Nojiri
6da24dee91 satsuma2: fix install error (#22208) 2021-03-10 10:16:59 +01:00
Tomoyasu Nojiri
8ff898a95e warpx: add libs attribute to fix build on aarch64 (#22072)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-10 09:13:44 +00:00
Axel Huebl
8c613fadf0 BLAS++: OpenMP for AppleClang (#22211)
We need to install OpenMP for Apple's Clang.
2021-03-10 10:12:04 +01:00
m-shunji
55c1e76408 abinit: updated patch for Fujitsu compilers (#22009) 2021-03-10 09:58:38 +01:00
eugeneswalker
1492461b8e netcdf-c@4.7.3:4.7.4 patch detection of pnetcdf for spectrum-mpi (#22180) 2021-03-09 15:11:49 -08:00
Fabian Brandt
3006da8197 Bump version libnetworkit/networkit 8.0 -> 8.1 (#22194)
Co-authored-by: FBT <fabian.brandt-tumescheit@hu-berlin.de>
2021-03-09 13:40:03 -07:00
eugeneswalker
d001a8945a nalu-wind: add cuda variant (#22184) 2021-03-09 14:19:59 -06:00
Vasileios Karakasis
efecb22845 ReFrame 3.5.0 recipe (#22196) 2021-03-09 20:12:39 +01:00
Paul Kuberry
303230fe7f Add pthread variant to kokkos-kernels (#22120) 2021-03-09 06:36:21 -07:00
Evan Felix
4d1d435330 Pacifica spack integration work (#20485)
* Add intel cluster package update2 for 2020

* add pacifica cli tools, and pager

* remove boilerplate code

* update flake8 lints

* update flake8 lint, missed one

* add a description for pager

* Shorten a line

* Remove whitespace

* check on dependencies and move urls to proper place

* Remove import package as it seems it is not required

* add requests to the uploader config

* remove blank Line

* change to build and run for packages

* add run and build to the packages

* move from url method to pypi method

* adjust requirements based on feedback from adamjstewart

* remove python 3 requirement, and add setuptools-scm

* remove dependence on python

Co-authored-by: Evan Felix <evan.felix@pnnl.gov>
2021-03-09 13:13:51 +00:00
Andrew W Elble
1fa16c1b9b kicad: add v5.1.9 (#22123)
ngspice to v34
2021-03-09 09:45:45 +01:00
darmac
26e73e848d iptraf-ng: new package at v1.2.1 (#22155) 2021-03-09 09:38:49 +01:00
darmac
2ba00262e5 hw-probe: new package at v1.5 (#22156) 2021-03-09 09:37:52 +01:00
darmac
bf4c4e9b32 ike-scan: new package at v1.9 (#22160) 2021-03-09 09:36:13 +01:00
darmac
4e185d48d1 libmacaroons: new package at v0.3.0 (#22142) 2021-03-09 09:32:35 +01:00
Adam Moody
d6fbf8ad57 scr: require dtcmp, switch from /tmp to /dev/shm (#22073) 2021-03-08 17:22:47 -08:00
a-saitoh-fj
8395df6b5b DSQSS: Add test function, and Continuation of # 21666. (#22103) 2021-03-08 17:12:25 -08:00
Harmen Stoppels
1659beb220 Fix spack graph when deptypes are filtered (#22121) 2021-03-08 16:47:00 -08:00
Glenn Johnson
ccc7ed0af9 Add --vanilla flag to r build system (#22166)
Unlike the other commands of the `R CMD` interface, the `INSTALL` command
will read `Renviron` files. This can potentially break builds of r-
packages, depending on what is set in the `Renviron` file. This PR adds
the `--vanilla` flag to ensure that neither `Rprofile` nor `Renviron` files
are read during Spack builds of r- packages.
2021-03-08 15:53:12 -07:00
Martin Pokorny
68d5f348e5 casacore: add v3.4.0 (#22163) 2021-03-08 21:26:44 +01:00
James Elliott
126ab70420 Update Cmake 3.19.x to support crayftn preprocessing (cce 11+) (#22122)
Cray added necessary functionality for CMake to support fortran preprocessing using crayftn. This patch is necessary for the current release of cmake (3.19), with this patched expected to be in the 3.20 release of Cmake. The included patch is from kitware.

see https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5882

Co-authored-by: James Elliott <jjellio@sandia.govv>
2021-03-08 10:54:46 -08:00
Phil Carns
3d17936866 v0.9.1 release of mochi-margo (#22164) 2021-03-08 11:22:03 -07:00
Thomas Madlener
bc40c3af91 Add latest versions for lcio and sio (#22173) 2021-03-08 10:17:55 -08:00
David Poliakoff
a52beca2cf Tuning variant for Kokkos packages (#22176) 2021-03-08 10:13:07 -08:00
Andrew W Elble
16adb5dd8f py-tensorflow-probability: run install from correct working dir (#22175) 2021-03-08 09:58:08 -06:00
Kai Torben Ohlhus
b642871b23 suite-sparse: add v5.9.0 (#22168)
Update homepage URL and see release notes:

- https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.9.0
2021-03-08 10:37:08 +00:00
Tomoyasu Nojiri
c25a723d74 kmod: add --with-bashcompletiondir option (#22167) 2021-03-08 10:21:15 +01:00
Axel Huebl
90ace2d0ec catch2: add v2.13.4 (#22170)
Add the latest release of Catch2.
2021-03-08 10:20:21 +01:00
Tomoyasu Nojiri
2648fe902d bpp-seq: add v2.4.1 (#22171) 2021-03-08 10:19:54 +01:00
Tomoyasu Nojiri
39e30520ce bpp-core: add v2.4.1 (#22172) 2021-03-08 10:19:19 +01:00
Andrew W Elble
a0b5dcca3c py-tensorflow-probability: new package (#22165)
* py-tensorflow-probability: new package

* setuptools dep, quoting syntax
2021-03-08 02:23:49 +00:00
Todd Gamblin
8d3272f82d spack python: add --path option (#22006)
This adds a `--path` option to `spack python` that shows the `python`
interpreter that Spack is using.

e.g.:

```console
$ spack python --path
/Users/gamblin2/src/spack/var/spack/environments/default/.spack-env/view/bin/python
```

This is useful for debugging, and we can ask users to run it to
understand what python Spack is picking up via preferences in `bin/spack`
and via the `SPACK_PYTHON` environment variable introduced in #21222.
2021-03-07 13:37:26 -08:00
Todd Gamblin
7aa5cc241d add spack test list --all (#22032)
`spack test list` will show you which *installed* packages can be tested
but it won't show you which packages have tests.

- [x] add `spack test list --all` to show which packages have test methods
- [x] update `has_test_method()` to handle package instances *and*
      package classes.
2021-03-07 11:44:17 -08:00
darmac
e9c399110e Add new package: r-mockery (#22125) 2021-03-06 13:51:53 -06:00
darmac
18ba1b8923 Add new package: r-lobstr (#22069) 2021-03-06 03:49:39 +00:00
Vanessasaurus
ef9a607c4c libabigail: new package (#22092)
* adding package for libabigail, which we likely will need to use it for an analysis!
* includes variant for documentation (doxygen and pysphinx are associated dependencies)
2021-03-05 22:09:08 +00:00
Glenn Johnson
b5916451fd Improve R package creation (#21861)
* Improve R package creation

This PR adds the `list_url` attribute to CRAN R packages when using
`spack create`. It also adds the `git` attribute to R Bioconductor
packages upon creation.

* Switch over to using cran/bioc attributes

The cran/bioc entries are set to have the '=' line up with homepage
entry, but homepage does not need to exist in the package file. If it
does not, that could affect the alignment.

* Do not have to split bioc

* Edit R package documentation

Explain Bioconductor packages and add `cran` and `bioc` attributes.

* Update lib/spack/docs/build_systems/rpackage.rst

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

* Update lib/spack/docs/build_systems/rpackage.rst

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

* Simplify the cran attribute

The version can be faked so that the cran attribute is simply equal to
the CRAN package name.

* Edit the docs to reflect new `cran` attribute format

* Use the first element of self.versions() for url

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-05 21:19:15 +00:00
Adam J. Stewart
89a4c9bb6d gtkplus: add new version, convert to meson (#21914)
* gtkplus: add new version, convert to meson

* Add suggestions from aweits
2021-03-05 16:04:40 -05:00
Asher Mancinelli
da69f6eda8 Added support for disabling mumps in ipopt (#21592) 2021-03-05 11:32:11 -08:00
Martin Pokorny
4097a0c93f casacore: use a modern CMake's version of FindHDF5.cmake (#21882)
Remove casacore's old version of the file with a package patch()
function, and depend on a modern CMake for the build.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-05 16:05:37 +00:00
iarspider
ad9db839cf syscalc: fix recipe and URL (extension) (#22112) 2021-03-05 16:21:12 +01:00
David Böhme
098b7b2e50 Add Caliper 2.5.0 and Adiak 0.3.0 (#20718) 2021-03-05 15:30:57 +01:00
emai-imcs
71dd8ed265 FEniCS: update of packages to support 2019.1.0 (#21207) 2021-03-05 07:27:35 -07:00
Vasileios Karakasis
3b1b51e90d reframe: add v3.4.2 and v3.4.1, enable autocompletion (#22114) 2021-03-05 13:57:21 +00:00
Mathew Cleveland
ca3171d002 py-oppy: add v0_1_5 (#22061)
Co-authored-by: Cleveland <cleveland@lanl.gov>
2021-03-05 06:09:35 -07:00
thelfer
aa8079556a tfel: add v3.3.1, fix typo in checksum of v3.4.0 (#22062) 2021-03-05 12:27:05 +01:00
iarspider
ea45b95039 pythia6: extra patch provided by CERN's EP-SFT (#22055) 2021-03-05 04:14:36 -07:00
snehring
daf2ef9682 mcl: fixing missing extern in global variables (#22094)
Revealed by GCC 10 see https://gcc.gnu.org/gcc-10/porting_to.html
2021-03-05 12:01:18 +01:00
darmac
3c1b305752 rtags: add v2.20 (#22068) 2021-03-05 11:28:45 +01:00
Valentin Volkl
70cd948852 dd4hep: add v0.16 and geant4units variant (#22064) 2021-03-05 11:28:05 +01:00
Mark W. Krentel
290df7a14a hpcviewer: add version 2021.03 (#22107) 2021-03-05 10:08:09 +00:00
Tomoyasu Nojiri
d7c4f7b7e6 xfsprogs: add --with-systemd-unit-dir option (#22075) 2021-03-05 10:39:36 +01:00
Tomoyasu Nojiri
d3b10b04c1 freeipmi: add --with-systemdsystemunitdir option (#22096) 2021-03-05 10:38:19 +01:00
Tomoyasu Nojiri
97afb34ac3 keepalived: add --with-systemdsystemunitdir option (#22098) 2021-03-05 10:37:39 +01:00
Tomoyasu Nojiri
dc275e1f83 moosefs: add --with-systemdsystemunitdir option (#22099) 2021-03-05 10:36:32 +01:00
Tomoyasu Nojiri
346e6b3b77 rrdtool: add --with-systemdsystemunitdir option (#22100) 2021-03-05 10:30:34 +01:00
Adam J. Stewart
5fb0ff3906 py-torch: add v1.8.0 (#22101) 2021-03-05 10:21:39 +01:00
Adam J. Stewart
4261de5434 py-torchvision: add v0.9.0 (#22102) 2021-03-05 10:21:15 +01:00
Axel Huebl
c2925a1704 SLATE: Default ~cuda (#22110)
Same as BLAS++ since more GPU backends are coming and cuda
is usually off as a variant default in Spack, unless requested.
2021-03-05 10:11:16 +01:00
Tomoyasu Nojiri
03756583c3 py-python-ldap: add link dependency on cyrus-sasl (#22105) 2021-03-05 10:07:02 +01:00
Mark W. Krentel
c6b632a1f9 hpctoolkit: add version 2021.03.01 (#22106)
1. Add version 2021.03.01.
2. Cleanup the binutils dependencies now that 2.35.2 and 2.36 are available.
3. Require gcc 7.x or later for current 2021 version.
4. Simplify the xz depends to always require +pic.
   This works around a glitch in the original concretizer.
2021-03-05 10:06:11 +01:00
h-denpo
c460013a91 flexi: allow building on aarch64 (#22109) 2021-03-05 10:02:15 +01:00
Valentin Volkl
e112a26513 py-awkward1: add v1.1.2 (#22081)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-05 09:52:57 +01:00
Greg Becker
92b7805e40 Allow relative paths in config files (relative to file dirname) (#21996)
This allows users to use relative paths for mirrors and repos and other things that may be part of a Spack environment.  There are two ways to do it.

1. Relative to the file

    ```yaml
    spack:
      repos:
      - local_dir/my_repository
    ```

    Which will refer to a repository like this in the directory where `spack.yaml` lives:

    ```
    env/
      spack.yaml  <-- the config file above
      local_dir/
        my_repository/  <-- this repository
          repo.yaml
          packages/
    ```

2. Relative to the environment

    ```yaml
    spack:
      repos:
      - $env/local_dir/my_repository
    ```

Both of these would refer to the same directory, but they differ for included files.  For example, if you had this layout:

```
env/
    spack.yaml
    repository/
    includes/
        repos.yaml
        repository/
```

And this `spack.yaml`:

```yaml
spack:
    include: includes/repos.yaml
```

Then, these two `repos.yaml` files are functionally different:

```yaml
repos:
    - $env/repository    # refers to env/repository/ above

repos:
    - repository    # refers to env/includes/repository/ above
```
    
The $env variable will not be evaluated if there is no active environment. This generally means that it should not be used outside of an environment's spack.yaml file. However, if other aspects of your workflow guarantee that there is always an active environment, it may be used in other config scopes.
2021-03-04 22:29:48 -08:00
Larry Knox
8bdd6c6f6d hdf5: add v1.8.22. (#22089) 2021-03-04 20:04:52 +00:00
darmac
10c7831366 Add new package: perl-test-more (#22076)
* Add new package: perl-test-more

* perl-test-more: refine description
2021-03-04 10:04:57 -08:00
darmac
459b991e78 perl-test-output: new package at v1.033 (#22077) 2021-03-04 18:11:28 +01:00
Michael Kuron
7f01d1dc40 py-ase: add a build dependency on py-setuptools (#22078) 2021-03-04 18:09:37 +01:00
darmac
e9dfc50d1b py-sqlparse: add v0.4.1 (#22080) 2021-03-04 17:44:33 +01:00
Dr. Christian Tacke
04cd884c95 poke: new package at v1.0 (#22085) 2021-03-04 17:41:48 +01:00
Dr. Christian Tacke
71954d9665 xrootd: add v5.1.0 (#22084) 2021-03-04 17:39:58 +01:00
Tomoyasu Nojiri
d7dd12edab unifyfs: Fix strncpy build error of version 0.9.1 (#22066) 2021-03-04 07:46:18 -08:00
Axel Huebl
49c015e391 BLAS++: CUDA default (false) (#22067)
For opt-in packages in Spack, its common that the `cuda` variant
is disabled by default.

This also simplifies downstream usage in multi-variants for
backends in user code.
2021-03-04 12:07:48 +01:00
Mosè Giordano
7e143bab6a libblastrampoline: Add version 3.0.2 (#22065) 2021-03-04 11:05:32 +01:00
darmac
f1d0a819e9 py-adb-enhanced: update version to fix runtime error (#22036)
* py-adb-enhanced: update version to fix runtime error

* py-adb-enhanced: fix dependencies
2021-03-03 20:57:41 -06:00
Andrew W Elble
631598014a py-pycuda: new version 2020.1 (#22057)
* py-pycuda: new version 2020.1

* dep updates

* deal with lib/lib64 issue
2021-03-03 22:06:02 +00:00
Massimiliano Culpo
10e9e142b7 Bootstrap clingo from sources (#21446)
* Allow the bootstrapping of clingo from sources

Allow python builds with system python as external
for MacOS

* Ensure consistent configuration when bootstrapping clingo

This commit uses context managers to ensure we can
bootstrap clingo using a consistent configuration
regardless of the use case being managed.

* Github actions: test clingo with bootstrapping from sources

* Add command to inspect and clean the bootstrap store

 Prevent users to set the install tree root to the bootstrap store

* clingo: documented how to bootstrap from sources

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2021-03-03 09:37:46 -08:00
Frédéric Simonis
6d54df1ba4 precice: add pkgconfig as a build dependency (#22059) 2021-03-03 17:10:00 +00:00
Anton Kozhevnikov
58d9f5c114 libxc: add v5.1.2 (#22056) 2021-03-03 16:52:41 +00:00
ajaust
ac66624196 py-pyprecice: Add version 2.1.1.2 and 2.2.0.1 (#22012) 2021-03-03 07:44:04 -06:00
Adam J. Stewart
d343304bdc py-pandas: add v1.2.3 (#22048) 2021-03-03 14:31:22 +01:00
Massimiliano Culpo
796588b2fd zig: add new package at v0.7.1 (#22046) 2021-03-03 13:30:41 +01:00
Olivier Cessenat
25fb753cd2 New Package: keepassxc (#21878) 2021-03-02 18:37:18 -08:00
Mark Olesen
0c38c86403 openfoam: disable FPE handling for Fujitsu compiler (#21769)
- as outlined in merge-request #21336 some clang compilers
  can trigger erroneous floating point exceptions.

  OpenFOAM normally traps FPE, but disable this in the etc/controlDict
  for specific compilers:

      change "trapFpe digit;" -> "trapFpe 0;"

  Eliminate previous use of FOAM_SGIFPE env variable in favour of
  using the etc/controlDict setting - cleaner and robuster.

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2021-03-02 22:01:20 +01:00
rexcsn
16c07e6abd aws-parallelcluster v2.10.2 (#22047)
Signed-off-by: Rex <shuningc@amazon.com>
2021-03-02 13:55:49 -06:00
Desmond Orton
8e1b62ee68 New package at r-spades at 2.0.6 (#21784) 2021-03-02 11:10:02 -07:00
Dr. Christian Tacke
c7306db061 geant4(-data): Add version 10.7.1 (#22044)
Notably, this patch release adds a new version of
g4particlexs.
2021-03-02 16:57:46 +00:00
Seth R. Johnson
136fa9c203 vecgeom: add v1.1.12 (#22041) 2021-03-02 14:29:16 +00:00
Harmen Stoppels
dc5022a9d9 openssl: introduce ~docs to make installation smaller (#21962) 2021-03-02 14:58:59 +01:00
Phil Carns
eeff906ccc bmi: update url and repo location (#21992) 2021-03-02 10:38:52 +00:00
Phil Carns
ae19ddbfcb mochi-margo: the official repo is on github now (#22029) 2021-03-02 10:28:33 +00:00
Eisuke Kawashima
1e0d311547 dftd4: add new package at v3.1.0 (#22007) 2021-03-02 10:11:45 +00:00
Adam J. Stewart
50ffb4b868 Assert the use of the patch directive with a non-existing file will fail (#21524) 2021-03-02 09:58:47 +00:00
Massimiliano Culpo
61e00ac1e1 nim: add v1.4.4 (#22004) 2021-03-02 09:42:05 +00:00
a-saitoh-fj
71df23406d eigenexa : use an interpreter explicitly to execute test script (#21896) 2021-03-02 10:02:56 +01:00
ketsubouchi
60e64bac0a virtuoso: add new package (#21793) 2021-03-02 09:50:49 +01:00
Olivier Cessenat
880bb06cbf octave: provides fltk with opengl, adds qscintilla (#21903) 2021-03-02 09:47:00 +01:00
h-denpo
fac785914b py-fava: Removed the importlib dependencyfrom py-fava. (#22035)
It isn't needed.
2021-03-01 23:10:02 -06:00
h-denpo
9575531f2a py-importlib: Python 2.7 is needed to build. (#22034)
* py-importlib: Python 2.7 is needed to build.

added     depends_on('python@2.7.0:2.7.99')

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-01 23:09:31 -06:00
h-denpo
83ca1b153f py-azureml-dataprep-rslex: install only x86_64 (#22033)
* py-azureml-dataprep-rslex: install only x86_64

* py-azureml-dataprep-rslex:  Moved the conflit part.
2021-03-02 03:39:56 +00:00
Desmond Orton
671878740c Version update with url to checksum all versions (#22027) 2021-03-01 16:23:49 -08:00
Paul Ferrell
88f7a00f2d Paraview compatibility with PugiXML varies by version. (#21732) 2021-03-01 16:06:34 -08:00
Ethan Stam
b2e0bc1ae7 paraview: add python to rpath (#21768) 2021-03-01 16:00:44 -08:00
Paul
bd94458552 Added Go versions 1.16 and 1.15.8 (#22016) 2021-03-01 15:22:12 -08:00
eugeneswalker
36ae5ac6ef kokkos package: +cuda requires +wrapper when compiler is not clang (#21941)
This check is performed in cmake_args rather than with a 'conflicts'
statement because matching on !clang (i.e. any compiler that is not
clang) cannot currently be done with our spec syntax.
2021-03-01 14:54:14 -08:00
mic84
d7595d6703 amrex: new version 21.03 (#22028) 2021-03-01 14:46:37 -08:00
ketsubouchi
f1ef260b47 alps: add smoke test (#21834) 2021-03-01 14:40:01 -08:00
Andrew W Elble
4d37b384f5 py-torch-geometric: new version 1.6.3 (#22024)
* py-torch-geometric: new version 1.6.3

* setuptools
2021-03-01 20:33:23 +00:00
Simon Frasch
df42c0b4b6 spla: added version 1.3.0 (#22013) 2021-03-01 20:15:16 +00:00
Andrew W Elble
f5beee76c8 py-tensorboardx: update package (#22026)
v2.1
2021-03-01 13:58:29 -06:00
Andrew W Elble
20fdab7f02 py-yacs: new package (#22020) 2021-03-01 13:56:54 -06:00
mic84
651df70213 amrex: must use AMReX_CUDA_ARCH for version > 20.11 (#22025) 2021-03-01 11:45:04 -08:00
William Downs
1ac2cc5081 intel-mpi: add version 2019.9.304 and 2019.10.317 (#22017) 2021-03-01 11:40:41 -08:00
Andrew W Elble
81b77873e7 py-lap: new package (#22021)
* py-lap: new package

* dep versions
2021-03-01 19:24:36 +00:00
Andrew W Elble
987b5a5b6f py-motmetrics: new package (#22023)
* py-motmetrics: new package

* dep updates
2021-03-01 19:03:03 +00:00
Andrew W Elble
1abfebb5e9 py-cython-bbox: new package (#22022)
* py-cython-bbox: new package

* pypi url fix
2021-03-01 19:01:57 +00:00
Brian Van Essen
44ed19daa4 Put a guard in to check if a match was found (#21576) 2021-03-01 10:12:51 -08:00
Mark W. Krentel
14c1d58b5a binutils: add versions 2.35.2 and 2.36.1 (#22019)
Starting with 2.36, the Makefiles are missing some dependencies for
linking libctf and thus require serial make install.
2021-03-01 08:53:55 -08:00
AMD Toolchain Support
afb7e57d20 ucx: added variants to support IB, mlx etc (#21876)
Co-authored-by: mohan babu <mohbabul@amd.com>
2021-03-01 16:11:37 +01:00
Adam J. Stewart
c529ccaab0 py-geopandas: add v0.9.0 (#22005) 2021-03-01 14:35:16 +01:00
h-denpo
890a93bbcd gchp: patch for aarch64 (#22010) 2021-03-01 09:06:08 +01:00
Mosè Giordano
62f8087716 libblastrampoline: Add version 3.0.1 (#22002) 2021-02-27 18:31:59 +01:00
Scott Wittenburg
704eadbda1 Temporarily reduce pr stack size (#21998)
Gitlab pipelines fixes

* add arch tag to avoid picking up UO power9 runners
* temporarily reduce PR workload
2021-02-27 09:43:29 -07:00
Robert Pavel
d5f50203d1 Removed MPI variant from ebms (#21938) 2021-02-27 13:15:57 +01:00
iarspider
5abc7e59d1 Rivet updates and improvements (#21843) 2021-02-27 13:13:08 +01:00
iarspider
edeb6c52f0 Openblas: add experimental BIGNUMA flag (#21393) 2021-02-27 13:06:29 +01:00
Tamara Dahlgren
e775cbb0c0 Raise InstallError if any explicit specs is skipped (#21980) 2021-02-27 09:21:56 +01:00
Adam J. Stewart
ede100bf16 kcov: elfutils not needed on macOS (#21993) 2021-02-26 19:25:59 -06:00
Satish Balay
a87aa49fbf petsc/petsc4py/slepc: switch default git branch from 'master' to 'main' (#22001) 2021-02-27 01:17:37 +00:00
Sebastian Mobo
4f84721dc1 boost: Patch B2 bootstrap step to use correct toolchain (#21408) 2021-02-26 17:46:37 -06:00
Andrew W Elble
f2f58b70b1 nccl-tests: respect cuda_arch variant during build (#21995) 2021-02-26 15:38:20 -08:00
Ryan Viertel
f957f1936c adds flag to turn off NLOPT_OCTAVE in CMAKE when -octave (#21997) 2021-02-26 15:35:09 -08:00
Desmond Orton
5492e549a5 New package r-spades-tools at 0.3.6 (#21783) 2021-02-26 23:25:47 +00:00
Gregory Lee
b56d65fce5 Compilers: make oneapi ifx version_regex tolerant to wrappers (#21742)
If a user creates a wrapper for the ifx binary called ifx_orig,
this causes the ifx --version command to produce:

$ ifx --version
ifx_orig (IFORT) 2021.1 Beta 20201113
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.

The regex for ifx currently expects the output to begin with
"ifx (IFORT)..." so the wrapper would not be detected as ifx. This
PR removes the need for the static "ifx" string which allows wrappers
to be detected as ifx.

In general, the Intel compiler regexes do not include the invoked
executable name (i.e., ifort, icc, icx, etc.), so this is not
expected to cause any issues.
2021-02-26 14:57:40 -08:00
eugeneswalker
590457cf7f amrex: use right cmake_args for @develop; depends_on(hypre) for link (#21892)
* amrex package: use right cmake_args for @develop; depends_on(hypre)

* add explicit depends_on for petsc, for link, when +petsc
2021-02-26 13:53:31 -08:00
mic84
2fd8612f21 amrex: +hypre and +petsc do not need +fortran from version 20.08 (#21994) 2021-02-26 13:52:57 -08:00
Desmond Orton
f22caeca36 Package/r circstats (#21966) 2021-02-26 14:57:56 -06:00
iarspider
1a45bdb036 FastJet: fix patch level (#21936) 2021-02-26 19:21:08 +00:00
Adam J. Stewart
a6396d6190 py-metpy: add new package (#21971) 2021-02-26 18:51:16 +00:00
Olivier Cessenat
2484ed0281 Qscintilla: added v2.12.0, fixed build (#21902) 2021-02-26 18:13:25 +00:00
Olivier Cessenat
5578c07b51 asciidoc: sourceforge a2x needs python2, adds more recent for py3 (#21807)
* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: making python 2.3 to 2.7 able to cope with asciidoc

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3
2021-02-26 10:04:36 -06:00
Adam J. Stewart
046861c4ef xkbcomp: add v 1.4.4 (#21981) 2021-02-26 15:55:06 +00:00
Dan Lipsa
18f094efe9 sensei: add versions and fix dependencies (#21452)
* Fix sensei@develop

Should work with all options but libsim.
Current releases don't work with ~catalyst
See
https://gitlab.kitware.com/sensei/sensei/-/merge_requests/240
for the fix for develop.
Current releases work only with paraview 5.7 and 5.6
See
https://gitlab.kitware.com/sensei/sensei/-/merge_requests/239
for the fix for develop (which works with 5.9)

* Fix libsim.

* Fix warnings.

* Fix python runtime.

* Many changes:

* Reworked cmake options top use the CMakePackage option helpers
* Simplified and consolidated options
* Replaced adios with adios2 variant
* Added vtkm variant (not yet working)

* paraview: Fix downstream consumers getting the wrong FindMPI

* vtk: Fix downstream consumers getting the wrong FindMPI

* Add +ascent, +adios2; remove +adios; variants off by default

* Fix catalyst python logic

* sensei: cleanup formatting

Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com>
2021-02-26 10:52:41 -05:00
Tomoyasu Nojiri
b6ac3bb6d7 ncl: allow building on aarch64 (#21984) 2021-02-26 15:39:08 +00:00
eugeneswalker
c2784b2d41 amr-wind: new package (#21883)
* amr-wind: new package

* amr-wind: simplify cuda_arch mapping

* simplify
2021-02-26 07:15:08 -08:00
Tomoyasu Nojiri
5900bf6890 warpx: fix typos in a few dependency conditions (#21982) 2021-02-26 11:15:46 +00:00
Harmen Stoppels
459171b973 berkeley-db: do not install docs by default (#21960)
* Add an option to not install 100MB of docs

* Add deprecations of versions that are removed and add conflicts for 5.3
2021-02-26 10:44:14 +01:00
Adam J. Stewart
7cfde8f514 py-xarray: add new variant 'io' (#21945) 2021-02-26 10:41:14 +01:00
Adam J. Stewart
b4520676dd c-blosc: add v1.21.0 (#21968) 2021-02-26 10:33:39 +01:00
Adam J. Stewart
2e178be890 Python: add new versions (#21969) 2021-02-26 10:31:57 +01:00
Adam J. Stewart
f87f006e7b py-importlib-resources: add v5.1.0 (#21970) 2021-02-26 10:31:36 +01:00
Adam J. Stewart
229c6ae277 py-pooch: add new package (#21972) 2021-02-26 10:30:18 +01:00
Axel Huebl
46905bb445 openPMD-api: use cmake helpers (#21973)
Modernize the `openpmd-api` package to use fancy new `CMakePackage`
helpers when setting options from variants :-)
2021-02-26 10:29:52 +01:00
Erik Schnetter
f28ca41d02 hwloc: add v2.4.1 (#21978) 2021-02-26 10:19:32 +01:00
h-denpo
19d34b0afa dbow2: add a dependency on eigen (#21663) 2021-02-26 10:19:03 +01:00
eugeneswalker
e88fc38cfe hypre: enable cuda variants (#21885) 2021-02-26 10:17:35 +01:00
Harmen Stoppels
27ef9f0e07 CMake: add a "build_type" variant (#21958)
This permits to use MinSizeRel or other build types
where they are a better fit.
2021-02-26 09:49:00 +01:00
ketsubouchi
b13a506090 cpmd: add expected smoke test check output (#21668) 2021-02-26 09:29:10 +01:00
Andreas Baumbach
bbed6dc9a1 make spack fetch work with environments (#19166)
* make `spack fetch` work with environments
* previously: `spack fetch` required the explicit statement of
              the specs to be fetched, even when in an environment
* now: if there is no spec(s) provided to `spack fetch` we check
       if an environment is active and if yes we fetch all
       uninstalled specs.
2021-02-26 08:02:17 +00:00
Gregory Lee
6c12b64873 added waylaynd-protocols package (#21979) 2021-02-26 07:24:53 +00:00
Glenn Johnson
c6413c8925 Revert "New package r-circstat@0.2-6 (#21777)" (#21974)
This reverts commit 61c8bc2b19.
2021-02-26 03:39:58 +00:00
Greg Becker
cedbded9d7 typo fix (#21967) 2021-02-25 19:10:55 -08:00
Daryl W. Grunau
55eae72bb0 pegtl: manage options to build examples and tests when run_tests (#21866)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2021-02-25 17:06:02 -08:00
Michael Kuron
4453058862 Old concretizer: prevent unexpected propagation of external config (#20976)
When using an external package with the old concretizer, all
dependencies of that external package were severed. This was not
performed bidirectionally though, so for an external package W with
a dependency on Z, if some other package Y depended on Z, Z could
still pull properties (e.g. compiler) from W since it was not
severed as a parent dependency.

This performs the severing bidirectionally, and adds tests to
confirm expected behavior when using config from DAG-adjacent
packages during concretization.
2021-02-25 15:42:40 -08:00
Valentin Churavy
476444c592 [flux-core] add -Wno-errpr=maybe-uninitialized (#21943)
Co-authored-by: Stephen Herbein <SteVwonder@users.noreply.github.com>
2021-02-25 22:55:42 +00:00
Desmond Orton
87dd060c20 New package r-spades-addins at 0.1.2 (#21781) 2021-02-25 22:12:54 +00:00
Andrew W Elble
8071be81c4 py-tensorflow: disable h5py/hdf5 mpi variant(s) if tensorflow is ~mpi (#21955) 2021-02-25 22:08:00 +00:00
eugeneswalker
e8f51c6892 tioga: add variants: +cuda and more (#21884) 2021-02-25 12:47:01 -08:00
Sergey Kosukhin
177117745f hdf5: drop support for libtool files (#21900) 2021-02-25 20:41:41 +00:00
Michael Kuhn
0754d101d2 meson: add 0.57.1 (#21959) 2021-02-25 20:29:56 +00:00
Harmen Stoppels
e25a7be5b8 openmpi: add perl as a build dependency (#21956) 2021-02-25 19:00:43 +00:00
Axel Huebl
d05e0dfeef WarpX: CMake (#21787)
* New Package: py-picmistandard

* New Package: py-warpx

* WarpX: Transition to CMake
2021-02-25 19:54:52 +01:00
Adam J. Stewart
62662591ea py-pydap: add new package (#21948) 2021-02-25 12:13:21 -06:00
Olivier Cessenat
b48de4baa7 harfbuzz: dependency assumed cairo was compiled with +pdf and +ft (#21954) 2021-02-25 17:42:57 +00:00
h-denpo
f0e5c96746 libpulsar: added dependency on curl (#21950) 2021-02-25 13:39:38 +00:00
iarspider
22539f443e Fix recipe for evtgen 2.0; add variant for hepmc3 (#21814) 2021-02-25 14:13:04 +01:00
Steven Smith
3c26084d2e gridlab-d: specify xerces prefix (#21867) 2021-02-25 13:59:36 +01:00
ronin-gw
f9f5f8676e w3m: new package at v0.5.3 (#21641) 2021-02-25 13:42:26 +01:00
Harmen Stoppels
a8808b473a Update fuse packages (#21901)
Allow libfuse to build without setuid binary and bump versions of both
libfuse and fuse-overlayfs.

Still doesn't solve the issue where this package tries to install things
into /etc/init.d though.
2021-02-25 13:40:01 +01:00
Harmen Stoppels
cf6aeace42 openblas: add perl as a build dependency (#21908) 2021-02-25 13:38:15 +01:00
Harmen Stoppels
a42d5357c3 libxc: add perl as a build dependency (#21906) 2021-02-25 13:34:09 +01:00
Harmen Stoppels
a258d40c28 kcov: add missing dependency (#21932)
kcov CMakeLists.txt generates the "kcov" executable only if
certain dependencies are found. These dependencies are 
"libbfd", "libopcodes" and "libiberty", hence the dependency 
on binutils.
2021-02-25 11:55:56 +01:00
Adam J. Stewart
127a630ba3 py-numcodecs: add v0.7.3, apple clang patch (#21944)
* py-numcodecs: add new version, apple clang patch

* py-numcodecs: add new version, apple clang patch
2021-02-25 11:33:38 +01:00
Adam J. Stewart
719bdb1673 py-cfgrib: new package at v0.9.8.5 (#21946) 2021-02-25 11:32:56 +01:00
Adam J. Stewart
7a3d216318 py-h5netcdf: new package at v0.10.0 (#21947) 2021-02-25 11:32:26 +01:00
Adam J. Stewart
8ec646b6b1 py-webob: new package at v1.8.7 (#21949) 2021-02-25 10:31:33 +00:00
Mosè Giordano
1a11a17453 libblastrampoline: Add version 3.0.0 (#21939) 2021-02-25 05:08:37 +00:00
Desmond Orton
ce5e2b5368 New package r-spades-core at 1.0.5 (#21782) 2021-02-25 05:04:04 +00:00
eugeneswalker
1d7fc4cbe1 llvm-doe+lldb: @doe: fix improper set of LLDB_ENABLE_PYTHON (#21935) 2021-02-24 19:59:12 -08:00
Adam J. Stewart
2b201ba401 Overhaul xgboost packages (#21661)
* Overhaul xgboost packages
* Don't deprecate xgboost 0.90
* Add py-xgboost@0.90, but deprecate it
* extras_require added in 1.0.0
* Deprecate py-dask-xgboost
* Simplify setting cuda arch
2021-02-25 03:42:17 +00:00
Matthijs van Waveren
d55384a46d libjpeg: add version 9d (#21819)
* Update package libjpeg

* Change order and remove empty line.

* emove space
2021-02-25 03:20:04 +00:00
Adam J. Stewart
79e575067c font-util: fix typo in default fonts (#21933) 2021-02-25 03:10:27 +00:00
Adam J. Stewart
f74670e210 py-azureml-dataprep: add new version (#21919) 2021-02-25 00:31:05 +00:00
Desmond Orton
e554433ca9 New package r-qs at 0.23.5 (#21779) 2021-02-24 23:12:56 +00:00
Olivier Cessenat
92a4576644 Silo: fix build errors with +silex on ubuntu18.04(#21877) 2021-02-24 15:45:53 -05:00
Rémi Lacroix
d153978fc7 Silo: Update URLs (#21880) 2021-02-24 20:41:04 +00:00
Massimiliano Culpo
29201814cc Run clingo-cffi tests in a container (#21913)
There clingo-cffi job has two issues to be solved:

1. It uses the default concretizer
2. It requires a package from https://test.pypi.org/simple/

The former can be fixed by setting the SPACK_TEST_SOLVER
environment variable to "clingo".

The latter though requires clingo-cffi to be pushed to a
more stable package index (since https://test.pypi.org/simple/
is meant as a scratch version of PyPI that can be wiped at
any time).

For the time being run the tests in a container. Switch back to
PyPI whenever a new official version of clingo will be released.
2021-02-24 12:33:14 -08:00
Adam J. Stewart
58241c2bbd py-azureml-train: add new version (#21929) 2021-02-24 21:15:35 +01:00
Adam J. Stewart
c54f3aca39 py-azureml-train-restclients-hyperdrive: add new version (#21928) 2021-02-24 21:15:24 +01:00
Adam J. Stewart
7e6b3344d8 py-azureml-train-core: add new version (#21927) 2021-02-24 21:15:02 +01:00
Adam J. Stewart
ec81005716 py-azureml-train-automl-client: add new version (#21926) 2021-02-24 21:14:52 +01:00
Adam J. Stewart
7ca5eb8976 py-azureml-telemetry: add new version (#21925) 2021-02-24 21:14:30 +01:00
Adam J. Stewart
64d44f2fa4 py-azureml-sdk: add new version (#21924) 2021-02-24 21:14:12 +01:00
Adam J. Stewart
5506777052 py-azureml-pipeline: add new version (#21923) 2021-02-24 21:13:56 +01:00
Adam J. Stewart
c947b5e43e py-azureml-pipeline-steps: add new version (#21922) 2021-02-24 21:13:43 +01:00
Adam J. Stewart
d11052603e py-azureml-pipeline-core: add new version (#21921) 2021-02-24 21:13:29 +01:00
Adam J. Stewart
a470064a6a py-azureml-dataset-runtime: add new version (#21920) 2021-02-24 21:13:11 +01:00
Adam J. Stewart
ae09be9cdc py-azureml-dataprep-native: add new version (#21918) 2021-02-24 21:11:39 +01:00
Adam J. Stewart
b9e445cb56 py-azureml-core: add new version (#21917) 2021-02-24 21:11:13 +01:00
Adam J. Stewart
49985316ab py-azureml-automl-core: add new version (#21916) 2021-02-24 21:10:39 +01:00
Adam J. Stewart
86d3b062fe py-azureml-dataprep-rslex: add new package (#21915) 2021-02-24 21:10:22 +01:00
eugeneswalker
dff08f327f libcircle: needs libpciaccess (link dep) (#21648) 2021-02-24 20:35:00 +01:00
eugeneswalker
e3b3faca70 rempi-needs-libpciaccess (link dep) (#21652) 2021-02-24 20:34:22 +01:00
Desmond Orton
369e6e25ac New package r-rapiserialize at 0.1.0 (#21780) 2021-02-24 19:15:49 +00:00
Paul Ferrell
e85a8cde37 Config prefer upstream (#21487)
This allows for quickly configuring a spack install/env to use upstream packages by default. This is particularly important when upstreaming from a set of officially supported spack installs on a production cluster. By configuring such that package preferences match the upstream, you ensure maximal reuse of existing package installations.
2021-02-24 10:57:50 -08:00
kuramoto-fj
d65002a676 n2p2: Add new package (#21709)
* n2p2: Add new package

* remove ,

* Resurrection of , and changed " to single

* changed example.command to example.co

* n2p2: Added v2.1.1

* n2p2: Changed the type of depends_on.
2021-02-24 10:35:27 -06:00
Harmen Stoppels
e53595c0dc Fix target selection in rocfft (#21858) 2021-02-24 10:42:09 +01:00
Harmen Stoppels
4a9c8ec1ad HIP: document variables, apply patches to older versions, fix build issues (#21852)
Since there are many variables being set I thought it would be a good idea to document them better and slightly simplify the logic for external vs not-external.
2021-02-24 10:37:16 +01:00
Robert Blake
0389f51bd7 numactl: no-op needed if configure can't find TLS (#21894)
* numactl: Bash needs no-op if configure can't find TLS

* Upstream has fix, will be out in next version.

https://github.com/numactl/numactl/pull/103
2021-02-23 19:13:22 -08:00
Desmond Orton
61c8bc2b19 New package r-circstat@0.2-6 (#21777) 2021-02-23 20:57:22 -06:00
Desmond Orton
df3caef9aa New package r-fastdigest at 0.6-3 (#21778) 2021-02-23 20:54:19 -06:00
Scott Wittenburg
ee5992783c Gitlab fix pr workflow (#21786)
Fixes for gitlab pipelines

* Remove accidentally retained testing branch name
* Generate pipeline w/out debug mode
* Make jobs interruptible for auto-cancel pending
* Work around concretization conflicts
2021-02-23 19:19:06 -07:00
Desmond Orton
a7ddaa67de New version r-stringfish at 0.14.2 (#21785) 2021-02-23 20:16:08 -06:00
Rémi Lacroix
f6b61621e5 Sph2pipe: Update URL (#21886) 2021-02-23 18:13:08 -08:00
Carlos Bederián
e841a41357 julia: Add 1.5.3 (#21891) 2021-02-23 18:06:29 -08:00
Josh Essman
93ed1a410c Updates to support clingo-cffi (#20657)
* Support clingo when used with cffi

Clingo recently merged in a new Python module option based on cffi.

Compatibility with this module requires a few changes to spack - it does not automatically convert strings/ints/etc to Symbol and clingo.Symbol.string throws on failure.

manually convert str/int to clingo.Symbol types
catch stringify exceptions
add job for clingo-cffi to Spack CI
switch to potassco-vendored wheel for clingo-cffi CI
on_unsat argument when cffi
2021-02-23 23:46:37 +00:00
Phil Tooley
6622856076 use package supplied autogen.sh (#20319) 2021-02-23 15:20:49 -08:00
Nathan Hanford
8ef67e2b15 New splice method in class Spec. (#20262)
* Spec.splice feature

Construct a new spec with a dependency swapped out. Currently can only swap dependencies of the same name, and can only apply to concrete specs.

This feature is not yet attached to any install functionality, but will eventually allow us to "rewire" a package to depend on a different set of dependencies.

Docstring is reformatted for git below

Splices dependency "other" into this ("target") Spec, and return the result as a concrete Spec.

If transitive, then other and its dependencies will be extrapolated to a list of Specs and spliced in accordingly.

For example, let there exist a dependency graph as follows:

        T
        | \
        Z<-H

In this example, Spec T depends on H and Z, and H also depends on Z.

Suppose, however, that we wish to use a differently-built H, known as H'. This function will splice in the new H' in one of two ways:

1. transitively, where H' depends on the Z' it was built with, and the new T* also directly depends on this new Z', or
2. intransitively, where the new T* and H' both depend on the original Z.

Since the Spec returned by this splicing function is no longer deployed the same way it was built, any such changes are tracked by setting the build_spec to point to the corresponding dependency from the original Spec.

Co-authored-by: Nathan Hanford <hanford1@llnl.gov>
2021-02-23 13:56:00 -08:00
ketsubouchi
21349a4d25 redland bindings: new package at v1.0.17.1 (#21838) 2021-02-23 21:36:34 +01:00
Peter Scheibel
76b1d97ca5 "spack build-env" searches env for relevant spec (#21642)
If you install packages using spack install in an environment with
complex spec constraints, and the install fails, you may want to
test out the build using spack build-env; one issue (particularly
if you use concretize: together) is that it may be hard to pass
the appropriate spec that matches what the environment is
attempting to install.

This updates the build-env command to default to pulling a matching
spec from the environment rather than concretizing what the user
provides on the command line independently.

This makes a similar change to spack cd.

If the user-provided spec matches multiple specs in the environment,
then these commands will now report an error and display all
matching specs (to help the user specify).

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2021-02-23 11:45:50 -08:00
Peter Scheibel
e72ad6223a reduce strictness of directory layout spec-equality check (#21869) 2021-02-23 09:53:07 -08:00
Brian Van Essen
f9ff80e213 lbann: updated python dependencies and new variants (#21863)
* Made DiHydrogen a required dependencies on newer versions of LBANN.
Added an explicit variant for enabling Boost-dependent callbacks.
Updated the separation for embedded Python and the Python front end
code and associated dependencies.

* Bugfix on ROCm include in DiHydrogen
2021-02-23 17:09:46 +00:00
Olivier Cessenat
9f9de3bcba octave-arduino: new package at v0.2.0 (#21874) 2021-02-23 13:55:22 +01:00
Harmen Stoppels
0664b90751 Drop compiler variables from spack load (#21699)
Drops:

* C_INCLUDE_PATH
* CPLUS_INCLUDE_PATH
* LIBRARY_PATH
* INCLUDE

We already decided to use C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, INCLUDE over CPATH here:

https://github.com/spack/spack/pull/14749

However, none of these flags apply to Fortran on Linux. So for consistency it seems better to make the user use -I and -L flags by hand or through pkgconfig.
2021-02-23 13:35:19 +01:00
eugeneswalker
b1ae7592ca margo is now mochi-margo (#21851)
unifyfs dependency margo is now mochi-margo following deprecation commit c55406a
2021-02-23 11:15:32 +01:00
Olivier Cessenat
b185a2c24c octave-instrctl: new package at v0.3.1 (#21845) 2021-02-23 11:14:07 +01:00
Olivier Cessenat
ccb4e3da05 octave-optim: add v1.6.1 (#21844) 2021-02-23 11:13:38 +01:00
Olivier Cessenat
837917be53 octave-struct: add v1.0.17 (#21846) 2021-02-23 11:13:17 +01:00
Olivier Cessenat
8ebbf80d15 octave-splines: new version 1.3.3 (#21847) 2021-02-23 10:40:04 +01:00
Satish Balay
a3c9d1b501 xsdk: update build to follow strumpack change (#21871)
Change happened in 671f0ff32b
2021-02-23 10:22:44 +01:00
Olivier Cessenat
56af6ac79f octave-signal: new package at v1.4.1 (#21872) 2021-02-23 10:20:04 +01:00
Olivier Cessenat
ce7cb8bfc7 octave-statistics: new package at v1.4.2 (#21873) 2021-02-23 10:17:07 +01:00
Axel Huebl
bcc370102f openblas: add "locking" variant, updated blaspp (#21770)
BlasPP by ECP SLATE will fail to install by default
(`spack install blaspp`) because:
- the default BLAS installation in Spack is OpenBLAS
- BlasPP conflicts with `threads=none` for all recent OpenBLAS releases

OpenBLAS introduced a threadsafe compile option
with 0.3.7+ aka `USE_LOCKING`:
```
   61 # If you want to build a single-threaded OpenBLAS, but expect to call this
   62 # from several concurrent threads in some other program, comment this in for
   63 # thread safety. (This is done automatically for USE_THREAD=1 , and should not
   64 # be necessary when USE_OPENMP=1)
   65 # USE_LOCKING = 1
```

According to tests, with `spack install --test root blaspp`,
this exactly addresses the issues in BlasPP tests.

It also seems to be a good option to set by default for OpenBLAS and
users that do not need this safety net can always disable it.

Solve issues with newer OpenBLAS by requiring
`+locking` over none-default threading options.
2021-02-23 09:16:02 +01:00
Massimiliano Culpo
7226bd64dc Improve error message for inconsistencies in package.py (#21811)
* Improve error message for inconsistencies in package.py

Sometimes directives refer to variants that do not exist.
Make it such that:

1. The name of the variant
2. The name of the package which is supposed to have
   such variant
3. The name of the package making this assumption

are all printed in the error message for easier debugging.

* Add unit tests
2021-02-22 19:09:43 -08:00
Todd Gamblin
56e57769bd Merge tag 'v0.16.1' into develop 2021-02-22 17:41:46 -08:00
Brian Van Essen
c9246af112 Adding support for ROCm for the LBANN software stack. (#21716)
* Also removed LBANN CUDA CMake flags that are set by the
version of Hydrogen that is compiled against.

* Updated recipes to use HWLOC 2.3 with ROCm to enable
topology awareness.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-02-22 23:35:58 +01:00
Greg Becker
482a1a86be respect -k/verify-ssl-false in _existing_url method (#21864) 2021-02-22 22:00:59 +00:00
emai-imcs
73da7b6de6 py-fenics-ffc: new package to support fenics (#21862)
* new Python FFC package to support FEniCS 2018 onwards

* added py-dijitso dependency

* added fenics python ffc package
2021-02-22 15:10:28 -06:00
Andrew W Elble
08054ffce7 py-torch: ensure libtorch_global_deps is linked with the c++ library (#21860)
* py-torch: ensure libtorch_global_deps is linked with the c++ library

* add comment with upstream issue
2021-02-22 19:02:10 +00:00
eugeneswalker
04a8e59872 amrex: add +pic variant (#21849) 2021-02-22 10:54:00 -08:00
Sergei Shudler
671f0ff32b STRUMPACK: Add e4s testsuite-inspired smoke test (#21705) 2021-02-22 10:46:04 -08:00
Olivier Cessenat
0dbb90b565 New Package: octave-quaternion (#21855) 2021-02-22 10:08:45 -08:00
Olivier Cessenat
3069512b13 New Package: octave-io (#21850) 2021-02-22 10:06:57 -08:00
Olivier Cessenat
6aacdbbc76 New Package: octave-gsl (#21854) 2021-02-22 09:46:29 -08:00
Olivier Cessenat
f7dae98eed New Package: octave-quaternion (#21856) 2021-02-22 09:43:46 -08:00
Olivier Cessenat
7e144b6841 New Package: octave-symbolic (#21857) 2021-02-22 09:42:50 -08:00
Harmen Stoppels
3d051ef5b3 Fix typo (#21859) 2021-02-22 09:23:04 -08:00
a-saitoh-fj
920a65a765 New package: py-dask-xgboost (#21583)
* New package: py-dask-xgboost

* py-dask-xgboost: Fixed what was pointed out
2021-02-22 10:39:48 -06:00
Tomoki, Karatsu
f6b0f52fb2 py-dask-ml: add new package. (#21831)
* py-dask-ml: add new package.

* Modified to PythonPackage.

* Remove test-related dependencies.

* Changed to execute docs build after install.
2021-02-22 10:32:39 -06:00
ketsubouchi
251e4e30b3 redland: new package at v 1.0.17 (#21837) 2021-02-22 12:29:59 +00:00
ketsubouchi
3a5ee398f4 rasqal: add new package at v0.9.33 (#21836) 2021-02-22 09:51:45 +00:00
Olivier Cessenat
074a6f224f harfbuzz: allows compilation standard being set properly for gcc (#21810) 2021-02-22 10:50:25 +01:00
Olivier Cessenat
075bb3bb96 mapnik: now compiles smoothly on recent gcc thanks to harfbuzz package altered (#21812) 2021-02-22 10:39:50 +01:00
takanori-ihara
10c9cac498 eigenexa: fix build error and add test method (#21692) 2021-02-22 10:36:44 +01:00
iarspider
4f65f60045 yoda: add v1.8.5, tighten cython dependency (#21832) 2021-02-22 10:20:08 +01:00
Olivier Cessenat
830ee07874 qrupdate: use the requested compiler from Spack (#21841)
qrupdate did hard set FC=gfortran

Parallel compilation is now allowed calling $(MAKE) instead of 
make for subprocess see:
https://stackoverflow.com/questions/24818095/warning-forced-in-submake-in-parallel-execution-of-make

The build phase is split since the process always requires a target.
2021-02-22 09:17:46 +00:00
Olivier Cessenat
7c65f03db7 octave: add v6.2.0 (#21833) 2021-02-22 10:15:20 +01:00
kuramoto-fj
8e8c599299 pfapack: forbid building in parallel (#21826)
There are cases where parallel build fails.
2021-02-22 10:04:29 +01:00
ketsubouchi
14ad4fe5fb raptor2: new package at v2.0.15 (#21835) 2021-02-22 10:01:05 +01:00
Tomoyasu Nojiri
b61607e3c4 nim: add v1.4.2, deprecated old versions (#21790) 2021-02-22 09:30:39 +01:00
takanori-ihara
26d2356ad4 genesis: New package. (#21183)
* genesis: New package.

* fujitsu-ssl2: fix unit test error

* genesis: Fix for comments and add test method

* genesis: Fix for comments

* genesis: Fix for comments
2021-02-22 04:06:56 +00:00
Tomoki, Karatsu
2d1fbddebe py-dask-glm: Add new package. (#21828) 2021-02-22 01:03:05 +00:00
Tomoki, Karatsu
e66b1d4596 py-nbconvert: add function 'setup_dependent_build_environment'. (#21827)
* py-nbconvert: add function 'setup_dependent_build_environment'.

* add 'setup_dependent_run_environment'

* add 'setup_run_environment'.
2021-02-21 11:13:23 -06:00
Mosè Giordano
f4e4dba4ef libblastrampoline: new package (#21825)
* libblastrampoline: new package

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-20 23:14:16 +00:00
iarspider
0cc5f629a6 Add checksum for form 4.1 (#21808) 2021-02-20 15:00:29 -06:00
downloadico
1fc4213bd5 masurca: add version 4.0.1 (#21816)
Now using the install.sh script to install into the prefix.
2021-02-20 14:54:39 -06:00
Howard Pritchard
4bd8cd1916 openmpi: add variant for using internal hwloc (#19109)
It turns out there are certain cases where having Open MPI use an external hwloc messes up other
applications that also rely on hwloc, but a different version.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-02-20 09:52:34 +01:00
Axel Huebl
aa01123bba VTK-m: fixed inconsistencies in directives (#21820)
* VTK-m: No `pic` variant

A leftover conflict between `shared` and `pic` variants, the
latter is not part of the package anymore, leads to a solver
error with clingo.

This removes the outdated conflict section.

* VTK-m: Kokkos AMD GPU variant changed
2021-02-20 09:47:55 +01:00
Patrick Schratz
f65e6ae4e6 update R to v4.0.4 (#21815) 2021-02-19 19:12:30 -06:00
Andrew W Elble
e49383cdc1 py-unshare: new package (#21817) 2021-02-19 14:59:56 -06:00
Olivier Cessenat
29d1e1ba87 libqrencode: new package at v4.1.1 (#21801) 2021-02-19 15:49:45 +00:00
iarspider
550459ad41 njet: add v2.0.0 (#21809) 2021-02-19 16:37:50 +01:00
iarspider
0880d2572d Add new variants to tauola (hepmc3, lhapdf) (#21802) 2021-02-19 16:29:17 +01:00
Olivier Cessenat
e8c2a1085a proj: adding recent DATA and recent release up to 7.2.1 (#21804) 2021-02-19 08:57:35 -06:00
iarspider
256f6fedd9 Add checksum for version 0.29.20 (#21806) 2021-02-19 08:56:34 -06:00
Sergey Kosukhin
2ca24a208a cdo: switch to fftw-api (#21803) 2021-02-19 14:36:38 +00:00
iarspider
95fd9ff6c1 Add photos 3.64; add hepmc2/hepmc3 variants (#21795) 2021-02-19 14:55:04 +01:00
Tom Payerle
f5e65e94e6 documentation: correct precedence of included configs in environment spack.yaml (#18663)
fixes #17993
2021-02-19 13:31:47 +00:00
iarspider
3d2b08a971 py-parso: add v0.8.1 (#21798) 2021-02-19 14:14:01 +01:00
Filippo Spiga
048adfdc1b Adding CUDA SDK 11.2.1 (#21800) 2021-02-19 12:11:51 +00:00
Xavier Delaruelle
36f0154130 environment-modules: add v4.7.0 (#21799) 2021-02-19 13:03:46 +01:00
BerengerBerthoul
201000daca Update scotch package for int32 (#21728) 2021-02-19 12:14:36 +01:00
Bryan Herman
2019d1deb7 CGNS: set parallel build to False to fix cp error (#21766) 2021-02-19 12:11:07 +01:00
iarspider
802ac63991 MCUtils: migration to gitlab (#21771) 2021-02-19 11:35:27 +01:00
Filippo Spiga
eff59ba9d6 nvhpc: add v21.2 (#21796) 2021-02-19 10:31:09 +00:00
holrock
e1c5952130 ruby: remove unwanted dependencies (#21797)
ruby/tk is removed from stdlib at ruby2.4.0
2021-02-19 10:28:22 +00:00
iarspider
554e736a14 gperftools: add v2.8.1 (#21794) 2021-02-19 11:09:46 +01:00
Greg Becker
de5a396ecb bugfix: add build deps to 'full hash' (#21735)
The "full hash" was only including the link/run deps, but it should include build deps as well.
2021-02-19 00:51:00 -08:00
iarspider
14897df02b davix: add v0.7.6 (#21773) 2021-02-19 09:37:56 +01:00
Brian Van Essen
23e22ae623 Updates to the LBANN software stack (#21733)
Set the minimun C++ standard for LBANN, Hydrogen, and DiHydrogen to
C++17.  The minumim C++ standard for Aluminum is C++14.  Add new
versions for Aluminum, Hydrogen, and DiHydrogen.  Added support for
high performance linkers in LBANN recipe (gold and lld).  Added
variants to LBANN for enabling embedded Python support independently
from the Python front end.
2021-02-19 09:32:17 +01:00
h-denpo
e772291df1 blast2go: conflicts for platforms other than x86_64 (#21693) 2021-02-19 08:29:33 +00:00
Tomoyasu Nojiri
310e82c863 hdf-eos5: fix hdf5 dependency (#21789) 2021-02-19 09:16:13 +01:00
darmac
901aefc6a5 librelp: add test dependency on valgrind (#21752) 2021-02-19 07:47:50 +01:00
darmac
43cf529594 py-sip: change url because some old package is missing (#21402) 2021-02-18 19:52:00 -06:00
Scott Wittenburg
6b509a95da Pipelines: Move PR testing stacks (currently only E4S) into spack (#21714) 2021-02-18 18:50:57 -07:00
Severin Strobl
0da2b82df2 Fixed conditional in match_flag for fish env (#21679)
An attempt to fix the conditional was made in 5a771bc8ad, yet this broke
the conditional completely.
2021-02-18 23:29:23 +00:00
emai-imcs
70b81dc48d py-fenics-instant: new package for legacy fenics 2016 and 2017 versions (#21775)
* py-fenics-instant: new package for legacy fenics 2016 and 2017 versions

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-18 23:02:39 +00:00
Tom Payerle
362a4bb8b9 Fix template for Rpackage in spack create command (#21776)
The signature for configure_args in the template for new
RPackage packages was incorrect (different than what is
defined and used in lib/spack/spack/build_systems/r.py)

See issue #21774
2021-02-18 22:40:21 +00:00
Massimiliano Culpo
f2e3edf6db Testing: use spack.store.use_store everywhere (#21656)
Keep spack.store.store and spack.store.db consistent in unit tests

* Remove calls to monkeypatch for spack.store.store and spack.store.db:
  tests that used these called one or the other, which lead to
  inconsistencies (the tests passed regardless but were fragile as a
  result)
* Fixtures making use of monkeypatch with mock_store now use the
  updated use_store function, which sets store.store and store.db
  consistently
* subprocess_context.TestState now transfers the serializes and
  restores spack.store.store (without the monkeypatch changes this
  would have created inconsistencies)
2021-02-18 13:22:49 -08:00
Satish Balay
cbcf8d208b xsdk: fix @develop build (#21749)
- petsc4py: update @develop build from petsc repo
- omega-h: develop branch is now main branch
2021-02-18 14:41:36 -06:00
Seth R. Johnson
2d917e17d9 flibcpp: Activate SWIG rebuild when +swig (#21767)
This option allows downstream packages to build with SWIG and the flibcpp-exported SWIG interfaces.
2021-02-18 19:12:18 +00:00
Tom Payerle
b448b639e6 Documentation fix: build_system configure_args for #21760 (#21761)
Corrects the signature for configure_args (and therefore configure_vars)
in documentation on RPackage build system to match the code
See issue #21760
2021-02-18 18:08:48 +00:00
Gregory Lee
3364e5550f patches to apply to gdbm and m4 when using oneapi compiler (#21740) 2021-02-18 09:39:20 -08:00
Sebastian Schmitt
8e3ac8577f Arbor: rely on spack's compiler wrapper to set architecture (#21758) 2021-02-18 15:02:09 +00:00
ketsubouchi
432625ca26 openrasmol: new package (#21530) 2021-02-18 13:09:38 +01:00
Freifrau von Bleifrei
ed1540efa3 sgpp: use spack compiler instead of default gcc (#21756)
Co-authored-by: Theresa Pollinger <pollinta@ipvs.uni-stuttgart.de>
2021-02-18 11:28:42 +00:00
Mikael Simberg
651c6ea350 hpx: add v1.6.0 (#21757) 2021-02-18 10:42:19 +00:00
Sergey Kosukhin
3273529936 eccodes: add v2.20.0 (#21703) 2021-02-18 11:20:53 +01:00
Tomoyasu Nojiri
93d9bed192 enzo: fix for aarch64 (#21715) 2021-02-18 11:14:18 +01:00
Xavier Delaruelle
54ee955b76 tcl: add v8.6.11 (#21678) 2021-02-18 11:04:38 +01:00
h-denpo
20fd4e35de dlib: fix dependency on opencv (#21718)
Since a variant (imgcodecs,default=False) has been added to opencv,
+imgcodecs is now required in dlib's opencv dependency.
2021-02-18 11:02:24 +01:00
m-shunji
9771903533 quantum-espresso: fix ldflags for scalapack (#21719) 2021-02-18 11:00:19 +01:00
Harmen Stoppels
1e16fcfd91 cmake: add v3.18.6, v3.19.5 (#21725) 2021-02-18 10:53:05 +01:00
Michael Kuhn
fd85f79e18 osu-micro-benchmarks: add v5.7 (#21729) 2021-02-18 10:48:41 +01:00
Erik Schnetter
7fe131e444 nsimd: add v2.2 (#21743) 2021-02-18 10:33:09 +01:00
holrock
5f6d77f4c4 ruby: add v2.7.2, v3.0.0 (#21745) 2021-02-18 10:17:41 +01:00
Desmond Orton
94e2eee778 sratoolkit: add v2.10.9 (#21746) 2021-02-18 10:17:12 +01:00
darmac
76304595d5 ctpl: add dependency on gettext (#21747) 2021-02-18 10:07:38 +01:00
Adam J. Stewart
7ac156fb12 py-scipy: add v1.6.1 (#21748) 2021-02-18 10:06:44 +01:00
darmac
598f0c89fd vcsh: add bin as a directory (#21750) 2021-02-18 10:06:03 +01:00
ketsubouchi
b3e5df1049 cbflib: new package (#21531) 2021-02-18 10:05:32 +01:00
darmac
de68646c6e openfst: fix conflicts version for gcc (#21753) 2021-02-18 10:01:43 +01:00
Todd Gamblin
7d586234ee bugfix: relax racy test in fg/bg output (#21755)
Since signals are fundamentally racy, We can't bound the amount of time
that the `test_foreground_background_output` test will take to get to
'on', we can only observe that it transitions to 'on'. So instead of
using an arbitrary limit, just adjust the test to allow either 'on' or
'off' followed by 'on'.

This should eliminate the spurious errors we see in CI.
2021-02-18 08:33:08 +00:00
Massimiliano Culpo
8aaf31b166 Avoid spurious warning from clingo (#21731)
There's a spurious warning that occurs whenever a spec being concretized 
does not depend on a virtual provider under any possible configuration.
2021-02-18 08:13:50 +01:00
emai-imcs
acc7169fdc py-fenics-ufl: inclusion of version 2016.2.0 (#21738)
* fix to pre 2019.1.0 version and support for 2016.1.0 added

* added 2016.2.0 version for retro dolfin support
2021-02-17 21:44:48 -06:00
emai-imcs
0082750f86 fix to compiliation error with fenics in pre 2019 versions and support for 2016.2.0 version of fiat added (#21708) 2021-02-17 21:44:12 -06:00
emai-imcs
827262df89 update to dijisto to support 2019.1.0 version (#21707) 2021-02-17 21:42:44 -06:00
eugeneswalker
1dc161095a openblas@0.13.3 cannot be built with gcc<10.2 on power (#21711) 2021-02-17 18:34:54 -08:00
Tomoki, Karatsu
1a32aaa10e py-numpydoc: Add new version, and care for old version. (#21713) 2021-02-18 00:36:26 +00:00
Adam J. Stewart
d04f9a1ae3 apple-clang: add correct path to compiler wrappers (#21662)
Follow-up to #17110

### Before
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/apple-clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

### After
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

`CC` and `SPACK_CC` were being set correctly, but `PATH` was using the name of the compiler `apple-clang` instead of `clang`. For most packages, since `CC` was set correctly, nothing broke. But for packages using `Makefiles` that set `CC` based on `which clang`, it was using the system compilers instead of the compiler wrappers. Discovered when working on `py-xgboost@0.90`.

An alternative fix would be to copy the symlinks in `env/clang` to `env/apple-clang`. Let me know if you think there's a better way to do this, or to test this.
2021-02-17 15:54:50 -08:00
Glenn Johnson
c11c5df738 Update the deps for the r package (#21654)
The dependencies needed a little clean up as several dependencies are
only needed for the +X variant. This PR consolidates all of the
dependencies that actually require +X and explicitly disables them when
~X to prevent accidentally picking up system libraries.

- modified the description of the +X variant
- arranges dependencies to group them
- added missing dependency on xz
- removed unneeded dependencies
	- freetype
	- glib
- set dependencies when +X
	- cairo
	- jpeg
	- libpng
	- libtiff
	- tcl/tk
- R uses tcl/tk together, so only tk needs to be depended on, and only
  when +X
- moved tcl/tk resources to with/without-x test
- added explicit with/without settings for
	- cairo
	- jpeglib
	- libpng
	- libtiff
	- tcltk
2021-02-17 17:39:05 -06:00
Andrew W Elble
151003a469 openssl: 1.1.1j (#21726) 2021-02-17 11:14:53 -06:00
Evan Bollig
d429265d8b Bugfix for x86_64 skylake and other archs where SIMD features are disabled by Fall back option. (#21727) 2021-02-17 08:09:34 -08:00
Tomoki, Karatsu
3e72a12bfd py-llvmlite: Specified llvm version for aarch64. (#21695)
* py-llvmlite: Specified llvm version for aarch64.

* Add ~flang variant to llvm dependencies.
2021-02-17 10:07:05 -05:00
Massimiliano Culpo
ee1b0b9fb9 Delete unused "mutable_mock_store" fixture (#21632)
The fixture was introduced in #19690 maybe accidentally.

It's not used in unit tests, and though it should be
mutable it seems an exact copy of it's immutable version.
2021-02-16 17:26:16 -08:00
Scott Wittenburg
5b0507cc65 Pipelines: Temporary buildcache storage (#21474)
Before this change, in pipeline environments where runners do not have access
to persistent shared file-system storage, the only way to pass buildcaches to
dependents in later stages was by using the "enable-artifacts-buildcache" flag
in the gitlab-ci section of the spack.yaml.  This change supports a second
mechanism, named "temporary-storage-url-prefix", which can be provided instead
of the "enable-artifacts-buildcache" feature, but the two cannot be used at the
same time.  If this prefix is provided (only "file://" and "s3://" urls are
supported), the gitlab "CI_PIPELINE_ID" will be appended to it to create a url
for a mirror where pipeline jobs will write buildcache entries for use by jobs
in subsequent stages.  If this prefix is provided, a cleanup job will be
generated to run after all the rebuild jobs have finished that will delete the
contents of the temporary mirror.  To support this behavior a new mirror
sub-command has been added: "spack mirror destroy" which can take either a
mirror name or url.

This change also fixes a bug in generation of "needs" list for each job.  Each
jobs "needs" list is supposed to only contain direct dependencies for scheduling
purposes, unless "enable-artifacts-buildcache" is specified.  Only in that case
are the needs lists supposed to contain all transitive dependencies.  This
changes fixes a bug that caused the needs lists to always contain all transitive
dependencies, regardless of whether or not "enable-artifacts-buildcache" was
specified.
2021-02-16 18:21:18 -07:00
ketsubouchi
1fe51ffe18 povray: add smoke test (#21667) 2021-02-16 22:54:20 +00:00
Andrew W Elble
aed52d7e79 py-typing: new version, avoid issues with newer versions of python (#21684)
* py-typing: new version, avoid issues with newer versions of python

https://pypi.org/project/typing/

"For package maintainers, it is preferred to use
typing;python_version<"3.5" if your package requires it to support
earlier Python versions."

* update conflict version / more message detail

* change the depends_on, leave a comment suggesting correct usage
2021-02-16 20:17:22 +00:00
Ryan S. Elliott
67874420c7 bump openkim-models to 2021.01.28 (#21637) 2021-02-16 11:01:06 -08:00
Chuck Atkins
2870cc4c92 Add RHEL8 Universal Base Image with platform-python to CI unit tests (#21655) 2021-02-16 13:49:05 -05:00
Michael Kuhn
c8406bd303 enzo: new package (#21634) 2021-02-16 10:42:01 -08:00
Andrew W Elble
0107d71b93 py-horovod: new versions (#21681)
* py-horovod: new versions

* 0.21.3

* dep changes

* fixes
2021-02-16 18:40:53 +00:00
Martin Pokorny
95ea54103f Remove minimum version for cfitsio dependency (#21630)
The actual, documented minimum version of the cfitsio dependency,
v3.181, is now neither available for (easy) download from NASA, nor as
a Spack package. No upper bound on version number exists (at this time).
2021-02-16 10:17:16 -08:00
Sergey Kosukhin
7538444a03 NAG compiler: disable forcing RPATH/RUNPATH (#21701) 2021-02-16 18:31:51 +01:00
Harmen Stoppels
145a435100 Add hfp as a maintainer (#21671) 2021-02-16 11:23:01 -06:00
Scott Wittenburg
428f831899 Pipelines: DAG Pruning (#20435)
Pipelines: DAG pruning

During the pipeline generation staging process we check each spec against all configured mirrors to determine whether it is up to date on any of the mirrors.  By default, and with the --prune-dag argument to "spack ci generate", any spec already up to date on at least one remote mirror is omitted from the generated pipeline.  To generate jobs for up to date specs instead of omitting them, use the --no-prune-dag argument.  To speed up the pipeline generation process, pass the --check-index-only argument.  This will cause spack to check only remote buildcache indices and avoid directly fetching any spec.yaml files from mirrors.  The drawback is that if the remote buildcache index is out of date, spec rebuild jobs may be scheduled unnecessarily.

This change removes the final-stage-rebuild-index block from gitlab-ci section of spack.yaml.  Now rebuilding the buildcache index of the mirror specified in the spack.yaml is the default, unless "rebuild-index: False" is set.  Spack assigns the generated rebuild-index job runner attributes from an optional new "service-job-attributes" block, which is also used as the source of runner attributes for another generated non-build job, a no-op job, which spack generates to avoid gitlab errors when DAG pruning results in empty pipelines.
2021-02-16 09:12:37 -07:00
Glenn Johnson
60ee4199f5 Add manual_download attribute to packages (#21687)
Add `manual_download = True` to packages that need to do manual
downloads but do not have the `manual_download attribute set. This
provides a message when installing these packages rather than a generic
fetch error.
2021-02-16 17:10:19 +01:00
Glenn Johnson
8456a73a87 Add manual_download = True to genemark-et package (#21686) 2021-02-16 17:09:22 +01:00
ketsubouchi
04cff1136b cqrlib: new package (#21532) 2021-02-16 17:03:48 +01:00
iarspider
cec1f9bd47 rsync: add support for external detection (#21669) 2021-02-16 16:57:55 +01:00
iarspider
d2a0235d4b gruff: add support for external detection (#21646) 2021-02-16 16:57:02 +01:00
vvolkl
c0490ab30f add hep tags to some newly added hep packages (#21653) 2021-02-16 16:34:14 +01:00
Mark W. Krentel
bd9289f99d hpcviewer: add versions 2020.12 and 2021.01 (#21659)
Add versions 2020.12 and 2021.01.  The viewer and trace viewer are now
integrated into a single program and one tar ball.  Now available on
arm/aarch64 and now uses Java 11.
2021-02-16 16:33:54 +01:00
Andrew W Elble
6b521a3a5b qcachegrind/valgrind: new versions (#21673) 2021-02-16 16:32:45 +01:00
Michael Kuhn
7f8b62620d meson: add 0.57.0 (#21690) 2021-02-16 16:27:31 +01:00
Sergey Kosukhin
3cc2d91638 cdo: update PROJ dependency constraints (#21700) 2021-02-16 16:25:17 +01:00
Massimiliano Culpo
ca69e7cd43 Add .idea folder to the list of ignored files (#21685) 2021-02-16 07:32:27 -06:00
Olivier Cessenat
e63b34ff77 New Package: hevea (#21616) 2021-02-16 11:49:23 +00:00
Sebastian Schmitt
bc9baac720 Update package for Arbor 0.5 (#21565) 2021-02-16 09:30:20 +00:00
Mark W. Krentel
f9831b5f65 hpctoolkit: pre-release update (#21613)
Update some things in hpctoolkit to prepare for a 2021.02.x release:

  1. allow binutils to be built with +nls.
  2. require libmonitor to be built with +dlopen.
  3. allow rocm in more than just develop branch.
  4. remove some conflicting setenv's in hpctoolkit module.
2021-02-16 08:47:37 +01:00
Desmond Orton
c1cc4ab1b8 New R Package: Chipseq@1.40.0 (#21689) 2021-02-15 16:36:44 -08:00
Michael Kuhn
c805b168d3 glib: add 2.66.7 (#21691) 2021-02-15 16:29:39 -08:00
a-saitoh-fj
e3bf23e292 py-dask: add v2020.12.0 (#20541) 2021-02-15 17:32:17 +00:00
Phil Carns
c55406abdf deprecate margo package (all versions) (#21680)
- this is maintained in the "mochi-margo" package now instead
2021-02-15 11:16:12 -06:00
eugeneswalker
e2c16bfe22 llvm-doe: add +flang variant (#21610) 2021-02-15 11:13:32 -06:00
Tomoyasu Nojiri
6e18188d43 fujitsu-fftw: Add version 1.0.0 (#21664) 2021-02-15 10:26:21 +01:00
Tomoki, Karatsu
b6e2e731bc py-numpy: check if execute commands are feasible. (#21507)
* py-numpy: check if execute commands are feasible.

* Apply patch to all versions.
2021-02-14 12:22:48 -06:00
Michael Kuhn
155bbab44b py-questionary: new package (#21658) 2021-02-14 11:46:52 -06:00
Michael Kuhn
b111ef48da py-prompt-toolkit: add 3.0.16 (#21657) 2021-02-14 08:36:18 -06:00
Tamara Dahlgren
851490bd54 Correct the reference to the staged examples files (#21557) 2021-02-13 08:14:38 -08:00
Jen Herting
871fdc12b6 New package: py-hyperopt (#21603)
* py-hyperopt for ...

* updates to hyperopt

* updates for mypy

* removed versions

* removed url

* fixed checksum

* fixed version of pyspark

* added 3:

* removed pyspark constraints and untested versions

* [py-hyperopt] removed version 0.2.4

* [py-hyperopt] added vairants spark, mongo, and atpe

* [py-hyperopt] added dependency on py-lightgbm

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-02-12 20:13:19 +00:00
Jen Herting
4649a251e6 New package: py-lightgbm (#21649)
* [py-lightgbm] created template

* [py-lightgbm] added homepage and description

* [py-lightgbm] added dependencies

* [py-lightgbm] build requires cmake

* [py-lightgbm] added mpi variant

* [py-lightgbm] removed fixmes

* [py-lightgbm] removed more fixmes
2021-02-12 13:34:08 -06:00
Chuck Atkins
5a771bc8ad Introduce a SPACK_PYTHON environment variable (#21222)
The SPACK_PYTHON environment variable can be set to a python interpreter to be
used by the spack command.  This allows the spack command itself to use a
consistent and separate interpreter from whatever python might be used for package
building.
2021-02-12 10:52:44 -08:00
ketsubouchi
7add9de2e5 neartree: new package at v3.1 (#21534) 2021-02-12 19:00:54 +01:00
ketsubouchi
1e7fe89e1d cvector: new package at v1.0.3 (#21533) 2021-02-12 17:07:25 +01:00
shanedsnyder
ad0ba8ce68 darshan-util" add "shared" variant (#21640) 2021-02-12 17:06:26 +01:00
Olivier Cessenat
ca7d1c29bc ocamlbuild: new package (#21559) 2021-02-12 07:42:43 -06:00
iarspider
5d9c17d2bf popt: depend on virtual iconv package (#21645) 2021-02-12 10:58:20 +00:00
AMD Toolchain Support
b53bf7cefd xpmem: Added RHEL 8.3 support (#21563) 2021-02-12 11:01:55 +01:00
Cyrus Harrison
13852986a4 conduit: add v0.7.1 (#21639) 2021-02-12 10:35:14 +01:00
Ryan S. Elliott
f92580240e Add support for KIM package in LAMMPS (#21638) 2021-02-11 19:10:45 -07:00
Tom Epperly
58b9c6dadd Fix mumps compilation with gcc@10 (i.e., gfortran) (#21631)
* add new flag when compiling mumps with %gcc@10.

* Fix style

* Try to fix formatting

* Use flag_handler approach suggested by @michaelkuhn
	in the PR review.

* Delete former approach

* Another style issue

* Add another space

* More fixes
2021-02-12 01:14:09 +00:00
Daryl W. Grunau
0724467ad2 caliper: version upgrade to 2.5.0 (#21606)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2021-02-11 20:34:22 +01:00
Dr. Christian Tacke
437d92155d mesa18: Do not deprecate for now (#21627)
We still need mesa18 for some of our builds.
Those builds require python@2, normal mesa only works with
python@3.

* Remove the deprecation tag
* Add myself as a maintainer: I volunteer to help with this
  package for the time being.
* There is only one version, no need to prefer it.
2021-02-11 19:12:38 +00:00
Massimiliano Culpo
113073ceed unit test: refactored bindist.py (#21497)
Modifications:
- Make use of SpackCommand objects wherever possible
- Deduplicated code when possible
- Moved cleaning of mirrors to fixtures
- Ensure mock configuration has a clear initialization order
2021-02-11 10:29:56 -08:00
Jen Herting
0dcb0d885f [py-py4j] added version 0.10.9 (#21625) 2021-02-11 18:16:38 +00:00
Jen Herting
f7a05e0c61 [py-pyspark] new version and limited python for old versions (#21602)
* fixed install with ver 3 and python 3.0

* replaced @3 with @2.999

* [py-pyspark] added version requirements for py-py4j

* [py-pyspark] all versions require at least version 2.7 of python

* [py-pyspark] fixed comma syntax

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-02-11 11:16:29 -06:00
vvolkl
3d6e9e172d genfit: set the ROOT prefix when building genfit (#21589)
Co-authored-by: lintao <lintao51@gmail.com>
2021-02-11 17:03:20 +01:00
Harmen Stoppels
f255c3eb76 libxc: add v5.1.0 (#21593) 2021-02-11 17:01:21 +01:00
Harmen Stoppels
882b8f9d42 spglib: add versions up to v1.16.1 (#21624) 2021-02-11 15:58:15 +00:00
Michael Kuhn
91d2c4f7db meson: add 0.56.2 (#21608) 2021-02-11 16:46:01 +01:00
Erik Schnetter
7f003a77dd nsimd: add v2.1 (#21623)
Updated variants and conflicts accordingly
2021-02-11 15:41:46 +00:00
Michael Kuhn
3268cf4b96 libfyaml: new package (#21604) 2021-02-11 16:41:16 +01:00
Michael Kuhn
ef5b15be40 libcyaml: new package (#21598) 2021-02-11 16:40:28 +01:00
Michael Kuhn
da46da1c2a libyaml: add 0.2.5 (#21597) 2021-02-11 16:40:06 +01:00
Chuck Atkins
a57598defe doxygen: fix gcc getting stuck in an infinite loop (#21614) 2021-02-11 16:35:51 +01:00
Michael Kuhn
e2084ea6fd glib: add 2.66.6 (#21605) 2021-02-11 16:27:57 +01:00
M. Eric Irrgang
dea9334189 Apply compiler filters to GROMACS installation. (#21621)
The GROMACS package embeds references to its build tool chain.
Use the Spack utilities to make sure these references are correct
outside of the isolated Spack build environment.
2021-02-11 14:52:32 +00:00
victorusu
fd8eac7052 Add sanity checks to reframe recipe (#21622) 2021-02-11 15:35:57 +01:00
Todd Gamblin
3b3314802e database: don't create a date object in query() unless it's necessary
`query()` calls `datetime.datetime.fromtimestamp` regardless of whether a
date query is being done. Guard this with an if statement to avoid the
unnecessary work.
2021-02-11 15:30:57 +01:00
Todd Gamblin
c81ca37dfc version: precompile regexes in Version constructor 2021-02-11 15:30:57 +01:00
Todd Gamblin
e3e913ef8f spack_json: _strify should be a no-op in Python 3
_strify traverses *all* of the read-in data and converts strings, but
only for Python 2.  Ignore it in Python 3.
2021-02-11 15:30:57 +01:00
Todd Gamblin
52508e6ee7 database: do not redundantly mark specs concrete
Speed up reads by not traversing each spec recursively when marking them
concrete.
2021-02-11 15:30:57 +01:00
Todd Gamblin
6fe931ccb1 spec performance: don't parse in from_node_dict
Constructing a spec from a name instead of setting name directly forces
from_node_dict to call Spec.parse(), which is slow. Avoid this by using a
zero-arg constructor and setting name directly.
2021-02-11 15:30:57 +01:00
victorusu
2fbc8caf86 pygelf: add v0.4.0 (#21620) 2021-02-11 15:23:55 +01:00
M. Eric Irrgang
944cb5dec6 Update GROMACS package (#21617)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-02-11 15:16:27 +01:00
Michael Kuhn
fc00944900 meson: remove cmake dependency (#21607)
cmake was added as a runtime dependency to meson in #20449. This
introduces an unnecessary implicit cmake dependency, which increases
build time for meson considerably. cmake is only one of many methods for
finding dependencies (pkg-config, qmake etc.), which are also not
runtime dependencies of meson. Add cmake as a build dependency to mesa
instead.
2021-02-10 23:46:52 -05:00
Axel Huebl
48af2ac8f9 adios2: Add 2.7.1 release (#21584)
Add the latest release of ADIOS2.
2021-02-10 23:44:42 -05:00
Massimiliano Culpo
4558dc06e2 Added a context manager to swap architectures
This solves a few FIXMEs in conftest.py, where
we were manipulating globals and seeing side
effects prior to registering fixtures.

This commit solves the FIXMEs, but introduces
a performance regression on tests that may need
to be investigated
2021-02-10 16:50:09 -08:00
Massimiliano Culpo
553d37a6d6 Move context manager to swap the current configuration into spack.config
The context manager can be used to swap the current
configuration temporarily, for any use case that may need it.
2021-02-10 16:50:09 -08:00
Massimiliano Culpo
cb2c233a97 Move context manager to swap the current store into spack.store
The context manager can be used to swap the current
store temporarily, for any use case that may need it.
2021-02-10 16:50:09 -08:00
Massimiliano Culpo
1a8963b0f4 repo: generalize "swap" context manager to also accept paths
The method is now called "use_repositories" and
makes it clear in the docstring that it accepts
as arguments either Repo objects or paths.

Since there was some duplication between this
contextmanager and "use_repo" in the testing framework,
remove the latter and use spack.repo.use_repositories
across the entire code base.

Make a few adjustment to MockPackageMultiRepo, since it was
stating in the docstring that it was supposed to mock
spack.repo.Repo and was instead mocking spack.repo.RepoPath.
2021-02-10 16:50:09 -08:00
Scott McMillan
0007ed72c3 Fix: Add a space between -isystem and the directory (#21599)
Some compilers, such as the NV compilers, do not recognize -isystem
dir when specified without a space.

Works: -isystem ../include
Does not work: -isystem../include

This PR updates the compiler wrapper to include the space with -isystem.
2021-02-10 15:56:42 -08:00
Greg Becker
2b6f896ca7 Bugfix: environments/views on separate mounts (#20720)
Environment views fail when the tmpdir used for view generation is
on a separate mount from the install_tree because the files cannot
by symlinked between the two. The fix is to use an alternative
tmpdir located alongside the view.
2021-02-10 13:39:11 -08:00
Jen Herting
5828a2cd31 [py-chalice] py-typing causes issues with python >= 3.5 (#21202)
* [py-chalice] py-typing causes issues with python >= 3.5

* [py-chalice] changed upperbound on typing
2021-02-10 21:31:02 +00:00
eugeneswalker
e15a3438a8 ascent: add version v0.6.0 (#21573) 2021-02-10 10:14:16 -08:00
a-saitoh-fj
24dd5d12a5 py-llvmlite: Changing build options when using the FUJITSU compiler (#21585) 2021-02-10 09:58:10 -06:00
vvolkl
08972014f8 [py-uproot4] add new versions (#21588) 2021-02-10 09:57:10 -06:00
a-saitoh-fj
bd836540f2 New package: py-dask-sphinx-theme (#21582) 2021-02-10 10:22:03 +01:00
a-saitoh-fj
cf9a7bc7f6 pandoc modified:package.py (#21581) 2021-02-10 10:20:47 +01:00
h-denpo
7d48bbfd3a raxml-ng: Fixed typo: (#21580) 2021-02-10 10:17:28 +01:00
Matt Schramm
175d614bc6 Update package.py (#21577) 2021-02-10 10:16:22 +01:00
Shintaro Iwasaki
ca6ec59a86 sollve: deprecate the sollve package (#21578) 2021-02-10 01:49:20 +00:00
Jen Herting
a938cc512b New package: py-moviepy (#20751)
* [py-moviepy] created template

* [py-moviepy] added dependencies

* [py-moviepy] removed fixmes, added homepage and description

* [py-moviepy] updated to pypi and updated checksum

* [py-moviepy] added setuptools dependency

* [py-moviepy] more specific version limit

* [py-moviepy] added checksum for version 1.0.1

* [py-moviepy] numpy restriction not nesessary here
2021-02-09 23:18:51 +00:00
kean-smullen-nnl
32056da93b New Package: py-xgboost (#21470)
* new python package py-xgboost added

* py-xgboost spack style applied

* py-xgboost: Addressing PR #21470 comments. Added variant descriptions and fixed scikit-learn when clause
2021-02-09 23:12:20 +00:00
Satish Balay
42e8a64660 xsdk: update petsc4py, strumpack dependencies (#21569) 2021-02-10 00:10:09 +01:00
Adam J. Stewart
d580ac302d 3DTK: add new package (#20931)
* 3DTK: add new package

* Add missing opencv variants

Co-authored-by: Michael Kuhn <michael@ikkoku.de>

* Fix cmake version req, add eigen dep

* Prefer trunk version

* Tell 3dtk where to find eigen

* Fix installation

* Fix installation

Co-authored-by: Michael Kuhn <michael@ikkoku.de>
2021-02-09 16:45:41 -06:00
Ethan Stam
865d38afa7 ParaView, LLVM: add -shared-intel to solve intel linking failures (#18195) 2021-02-09 23:26:49 +01:00
Desmond Orton
2697c73097 New Package r-reproducible (#21434) 2021-02-09 14:11:14 -08:00
Glenn Johnson
d01edbb48e Fix groff build with long interpeter line (#21549)
This PR fixes the case where groff fails to build if the spack install
path is really long. There are a couple of perl scripts that get built,
and used, during the build phase that will fail when the perl
interpreter line is too long. Filtering the lines will not work because
the files don not exist after the configure phase and patching after the
build phase is too late.  This PR runs the scripts explicitly with the
spack perl via the $(PERL) variable in the call to the script.
2021-02-09 13:54:51 -08:00
Glenn Johnson
f7a9fbc688 Update the Spack R BioConductor packages to Bioconductor-3.12 (#21575) 2021-02-09 15:35:30 -06:00
Adam J. Stewart
e341a76543 Clean up .gitignore, add Python.gitignore (#20613)
* Clean up .gitignore, add Python.gitignore

* Ignore `spack debug create-db-tarball` logs

* lib/ and var/ need to be tracked

* Add editor- and OS-specific ignores

* Add PyCharm ignores

* Add JetBrains editors like PyCharm
2021-02-09 20:55:03 +00:00
takanori-ihara
fe863b68b2 biobambam2: Add test method and test scripts. (#21504)
Co-Authored-By: Tamara Dahlgren <dahlgren1@llnl.gov>
2021-02-09 12:33:55 -08:00
Jordan Ogas
02a4abadfa add charliecloud 0.22 (#21574) 2021-02-09 12:15:03 -08:00
Dr. Christian Tacke
11711fcbe5 root: 6.22.04 works with xrootd 5 (#21572)
ROOT version 6.22.04 has been ported to support xrootd 5.
So let's support that.

See: https://github.com/root-project/root/commit/a33b156e3bf809343eda08150666154a
2021-02-09 11:33:14 -08:00
Evan Bollig
cc6d055786 Relion 3.1.1 patch for Ubuntu18.04 (#21556) 2021-02-09 11:07:06 -08:00
Cyrus Harrison
533d4bbc3c add conduit 0.7.0 release (#21558) 2021-02-09 11:02:30 -08:00
Adam J. Stewart
7ccb9992a6 Procedure to deprecate old versions of software (#20767)
* Procedure to deprecate old versions of software

* Add documentation

* Fix bug in logic

* Update tab completion

* Deprecate legacy packages

* Deprecate old mxnet as well

* More explicit docs
2021-02-09 13:51:18 -05:00
BenWeber42
e5ab686d77 Changed stages permissions to 750 (#21425) 2021-02-09 10:12:43 -08:00
BenWeber42
e4d74825f3 Fixed uninstall rm parent folder race condition (#21424) 2021-02-09 10:05:06 -08:00
Toyohisa Kameyama
b802e75274 penblas: fix link error in dependent packages. (#21561) 2021-02-09 09:53:09 -08:00
Harmen Stoppels
0760c7c704 Add more cmake patch releases (#21562) 2021-02-09 09:48:34 -08:00
Adam J. Stewart
341eec8dfb py-pandas: add v1.2.2 (#21568) 2021-02-09 09:32:58 -08:00
Mark Meredith
784b421eda Fix typo (#21567) 2021-02-09 15:34:42 +00:00
Shintaro Iwasaki
3c874e22b5 bolt: add new versions (#21550) 2021-02-09 09:43:12 +01:00
Sreenivasa Murthy Kolam
bff4469d8f replace libelf with elfutils in hip-rocclr (#21421) 2021-02-09 08:21:05 +01:00
Jen Herting
58f3d0986d New package: py-msgpack-numpy (#21548)
* [py-msgpack-numpy] created template

* [py-msgpack-numpy] added dependencies

* [py-msgpack-numpy] added homepage and description. removed fixmes. fixed copyright date

* [py-msgpack-numpy] url -> pypi
2021-02-08 21:20:07 +00:00
Andrew W Elble
dc1a05d273 py-tensorflow-estimator: update for 2.4.0 (#21546)
* py-tensorflow-estimator: update for 2.4.0

* build/run deptypes, switch to common tmpfile logic
2021-02-08 21:14:20 +00:00
Andrew W Elble
7fd8b775ad py-tensorboard: add new versions (#21545) 2021-02-08 14:38:09 -06:00
ketsubouchi
0e3b12776c xforms: new package (#21535) 2021-02-08 12:27:36 -08:00
Jen Herting
843e1993ae New package: py-imageio-ffmpeg (#20749)
* [py-imageio-ffmpeg] created template

* [py-imageio-ffmpeg] added dependencies

* [py-imageio-ffmpeg] added runtime dependency

* [py-imageio-ffmpeg] removed fixmes, added homepage and description

* [py-imageio-ffmpeg] url -> pypi and updated checksum
2021-02-08 13:30:45 -06:00
AMD Toolchain Support
fc374febf2 amdtoolchain support for openfoam (#21536) 2021-02-08 13:22:59 -06:00
Sergei Shudler
6447ec6ff5 Smoke test for parallel-netcdf package (#21400) 2021-02-08 11:21:52 -08:00
Satish Balay
c01065ee73 petsc: update to version 3.14.4, and petsc4py to 3.14.1 (#21544) 2021-02-08 13:05:52 -06:00
Adam J. Stewart
48954a5a3e Restore verbosity of patching (#21233) 2021-02-08 10:29:19 -08:00
Pieter Ghysels
b37c601a01 Strumpack slate variant (#21542)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-02-08 18:27:41 +00:00
Toyohisa Kameyama
512c8a1f1a ldak: build only x86_64 linux. (#21414) 2021-02-08 10:22:47 -08:00
Howard Pritchard
45040589c8 paraview: disable VTK_PYTHON_OPTIONAL_LINK for cce (#21357)
when building paraview 5.8 or newer.

See https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7482for background info.

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2021-02-08 09:53:06 -08:00
Satish Balay
66dc7d8c53 petsc4py: workaround LDSHARED change in 3cc5b7adc7 (#21541) 2021-02-08 11:43:46 -06:00
victorusu
9d8b8553f1 Add ReFrame 3.4 (#21540) 2021-02-08 17:00:12 +01:00
Andrew-Dunning-NNL
aba9207254 py-dvc: new package (#21516)
* py-dvc: new package

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

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

* py-dvc: add version dependency for py-networkx

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-08 09:54:28 -06:00
AMD Toolchain Support
9eb5c8f843 cp2k: added support for AMD toolchain (#21371) 2021-02-08 11:03:56 +01:00
Tomoyasu Nojiri
83f7541420 libqglviewer: add dependency on glu (#21438) 2021-02-08 10:55:56 +01:00
Tomoyasu Nojiri
b760dbc502 pangolin: add dependency on glu (#21439) 2021-02-08 10:46:24 +01:00
lpoirel
aa86523aaa mumps: don't put absolute path in soname (#21247) 2021-02-08 10:30:27 +01:00
dependabot[bot]
652fef2c76 build(deps): bump actions/cache from v2 to v2.1.4 (#21529)
Bumps [actions/cache](https://github.com/actions/cache) from v2 to v2.1.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...26968a09c0ea4f3e233fdddbafd1166051a095f6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 09:57:45 +01:00
Adam J. Stewart
824f6ad3f4 py-matplotlib: clarify backend variant description (#21520) 2021-02-08 09:36:35 +01:00
Adam J. Stewart
8a2fc484fa py-fiscalyear: add v0.3.1 (#21523) 2021-02-08 09:30:50 +01:00
Adam J. Stewart
480e4f0b4c py-numpy: add v1.20.1 (#21525) 2021-02-08 09:27:31 +01:00
darmac
f4f2647134 libproxy: add v0.4.17 (#21526)
Added dependency on Python and zlib
2021-02-08 09:25:10 +01:00
darmac
1bee682d67 pciutils: add a PREFIX parameter to make invocation (#21527) 2021-02-08 09:22:55 +01:00
darmac
ca24b6c740 bird: add build dependencies (#21528) 2021-02-08 09:20:48 +01:00
Desmond Orton
de99535f9a Package/r require and subpackage dep fix (#21433) 2021-02-07 13:48:14 -06:00
Sreenivasa Murthy Kolam
fef79b7e9b fix build failure with boost-1.58.0 by using higher revision (#21376) 2021-02-07 13:32:59 +01:00
Mark Abraham
9414b11490 Clarify GROMACS relaxed double option (#21510)
* Clarify relaxed double precision option

This is only intended for use on the Fujitsu PRIMEHPC platform

* Fix typo

* Shorten line to keep linter happy
2021-02-07 05:29:53 -07:00
Richarda Butler
5f75221522 Bugfix: Install font-util (#20179)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Greg Becker <becker33@llnl.gov>
2021-02-07 12:52:07 +01:00
m-shunji
6e29a36d88 mpas-model: add a necessary resource (#21478) 2021-02-07 12:47:54 +01:00
Aurelien Bouteiller
eb3338ed1b Parsec: new release (#21481) 2021-02-07 12:47:20 +01:00
Hanqi Guo
4f73dff204 adding new package FTK (the feature tracking kit) (#21493) 2021-02-07 12:46:08 +01:00
Robert Pavel
3387cefe1e Fixed xsbench~mpi Spec (#21498) 2021-02-07 12:45:43 +01:00
Christoph Junghans
d5953d75bf libecpint: add v1.0.5 (#21502) 2021-02-07 12:44:23 +01:00
Adam J. Stewart
f37ffbe932 py-xarray: fix smoke tests (#21503) 2021-02-07 12:43:40 +01:00
marvinbernhardt
d58ed20239 handle other architectures than Intel (#21509) 2021-02-07 12:37:56 +01:00
Robert Pavel
d630d63755 Added Conflict for macsio@1.1 ~mpi (#21513)
Added conflict for macsio@1.1~mpi after investigating source code. As of
1.1 tag macsio does not properly guard out MPI commands. This is
verified as corrected in @develop
2021-02-07 12:34:00 +01:00
Filippo Spiga
7d371e5b55 Adding NVIDIA HPC SDK 21.1 (#21514) 2021-02-07 12:33:08 +01:00
Robert Pavel
35b5d37f10 Fixed Typo in Examinimd Spackage (#21515) 2021-02-07 12:29:24 +01:00
darmac
adb350c23c collectd: add test dependency (#21522) 2021-02-07 12:28:49 +01:00
Phil Carns
b54e9b0b31 mercury variant to control checksumming feature (#21467) 2021-02-07 12:26:49 +01:00
Adam Moody
121e55832a mpifileutils: add v0.11 (#21432) 2021-02-07 12:18:42 +01:00
darmac
7bfb4a2d7d gobject-introspection: enable gobject option in cairo (#21404) 2021-02-07 12:09:20 +01:00
kkauder
1b9be33f84 Removed boost dependence and other outdated bits (#21394) 2021-02-07 12:06:59 +01:00
darmac
7b38221798 aspcud: update version to fix build error (#21521) 2021-02-07 11:55:37 +01:00
darmac
7020c86874 r-rmariadb: add mariadb library path (#21406) 2021-02-07 02:49:42 +00:00
eugeneswalker
f3f8a72bbd trilinos: @develop requires cxxstd>=14 (#21519) 2021-02-06 13:24:30 -05:00
Jean-Paul Pelteret
a544030517 Add package: py-fava (#21275)
* Add package: py-beancount-fava

* Rename package; fixes

* Fixes

* Cleanup; simplify regex used to ignore files
2021-02-05 21:12:29 +00:00
Adam J. Stewart
c3206656bc mxnet: convert to CMakePackage (#21385)
* mxnet: convert to CMakePackage

* Package isn't installed yet, can't find libs

* Fix bug with GCC 8+ and CUDA 10 on PowerPC

* Add space

* Add patch to fix cmake cuda flags

* Space no longer needed

* Add patch to fix OpenBLAS linking

* Add missing CMake flag

* Fix env set, default to Distribution

* Add new version, patch
2021-02-05 12:48:20 -06:00
albestro
02b64c8903 let intel consider cray-mpich as mpich (#21512) 2021-02-05 17:55:39 +00:00
Bryan Herman
67667c96db py-python-benedict: new package (#21501)
* added py-python-benedict recipe

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-05 10:38:17 -06:00
Evan Bollig
204e8f4fa4 gromacs: added v2021 (#21473)
Fixed broken gromacs builds. gmxapi requires mpicxx to link properly

Gromacs requires mpicc override on CMAKE_C_COMPILER, not MPI_C_COMPILER
2021-02-05 11:47:22 +01:00
Evan Bollig
52058ad5a7 New versions of libfabric (1.11.1, 1.11.2) (#21496) 2021-02-04 16:36:57 -08:00
Evan Bollig
38e6d411a3 libjwt: Added openssl to resolve broken CICD pipeline (#21443) 2021-02-04 16:35:43 -08:00
Robert Pavel
87512df699 Disabled Non-Existant miniamr~mpi Variant (#21495)
Identified build error for miniamr~mpi. Upon further investigation, the
MPI dependencies are hard coded in that tag
2021-02-04 22:13:15 +00:00
Tom Payerle
935ad53649 lammps: Add support for a number of new LAMMPS add-on packages (#21494)
mliap
user-adios
user-awpmd
user-bocs
user-cgsdk
user-colvars
user-diffraction
user-dpd
user-drude
user-eff
user-fep
user-manifold
user-mesodpd
user-mesont
user-mgpt
user-mofff
user-phonon
user-plumed
user-ptm
user-qtb
user-reaction
user-sdpd
user-smd
user-smtbq
user-sph
user-tally
user-uef
user-yaff
2021-02-04 21:29:49 +00:00
Cody Balos
4ec044817b sundials: add new version (#21488) 2021-02-04 12:19:12 -08:00
Sergei Shudler
10204826db superlu: Add e4s testsuite-inspired smoke test (#21230) 2021-02-04 12:10:15 -08:00
Laurent Aphecetche
e0b7ca47d8 config: (darwin only) change prefix of external libuuid (#21480) 2021-02-04 14:01:40 -06:00
Adam J. Stewart
6fdb9309d6 py-xarray: add v0.16.2 (#21489) 2021-02-04 11:15:50 -08:00
Kelly (KT) Thompson
473f075896 [pkg][new version] Provide draco@7.9.1 (#21486)
+ Provide optional variant `pythontools` (default False) that adds a run-time dependency on
  `py-matplotlib`.
+ Latest versions require `cmake@3.18:` to support cuda features.
+ Enable a cmake option that forcibly disables qt support.  Previously, draco would enable qt
  support if it was available in the local build environment (outside of spack).
2021-02-04 10:37:36 -08:00
Kurt Sansom
f506b9c7f8 update: update pfunit releases (#21485) 2021-02-04 10:29:52 -08:00
m-shunji
0910f37f45 parallelio: add necessary resources (#21477)
Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
2021-02-04 10:13:30 -08:00
Kelly (KT) Thompson
331a1b59b1 Provide eospac-6.4.2. (#21476) 2021-02-04 10:07:34 -08:00
Adam J. Stewart
ba70f90ee0 Fix usage of PythonPackage.test outside of PythonPackage (#20555) 2021-02-04 11:00:37 -06:00
Tomoki, Karatsu
f0cafd21ce py-numpy: Fix for new version of numpy with Fujitsu compiler. (#21479)
* Change the version to apply patches.

* Change the name of the Fujitsu compiler to 'fujitsu' in numpy.
2021-02-04 10:58:48 -06:00
Adam J. Stewart
df5992293a Python: add maintainer(s) (#21125)
* Python: add maintainer(s)

* Fix unit tests
2021-02-04 10:00:21 -06:00
Adam J. Stewart
d14a6dc1f7 py-mypy: add v0.800 (#21386) 2021-02-04 10:00:03 -06:00
Seth R. Johnson
31722ac994 Graphviz: don't build ghostscript when ~ghostscript (#19615)
* graphviz: Remove ghostscript requirement when ~ghostscript

* Add doc variant and patch for 2.44.1

* Patch does not apply

* Update graphviz versions, using archives rather than git hash

* Complete implementation of doc variant

* Fix typo
2021-02-04 09:59:24 -06:00
Harmen Stoppels
39a429b2a3 dbcsr: add opencl as a third backend (#21468) 2021-02-04 13:44:59 +00:00
Massimiliano Culpo
694d633a2c spack external find: allow to search by tags (#21407)
This commit adds an option to the `external find`
command that allows it to search by tags. In this
way group of executables with common purposes can
be grouped under a single name and a simple command
can be used to detect all of them.

As an example introduce the 'build-tools' tag to
search for common development tools on a system
2021-02-04 13:17:32 +01:00
Andrew-Dunning-NNL
e9ae44fd8c py-flufl-lock: new recipe (#21334)
* py-flufl-lock: new recipe

* py-flufl-lock: fix typing extension when no longer provisional
2021-02-03 21:15:48 -06:00
Greg Becker
457fc4c095 link gettext properly for git when gettext does not provide libintl (#21472) 2021-02-04 01:45:53 +00:00
Frank Willmore
beb4d968ef intel-oneapi-compilers/mpi: add module support (#20808)
Facilitate running intel-oneapi-mpi outside of Spack (set PATH,
LD_LIBRARY_PATH, etc. appropriately).

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
2021-02-03 16:21:54 -08:00
Frank Willmore
eb345faa57 intel-oneapi-compilers: add to LD_LIBRARY_PATH so that it finds libimf.so (#20717)
* add  to LD_LIBRARY_PATH so that it finds libimf.so

* amrex: fix handling of CUDA arch (#20786)

* amrex: fix handling of CUDA arch
* amrex: fix style
* amrex: fix bug
* Update var/spack/repos/builtin/packages/amrex/package.py
* Update var/spack/repos/builtin/packages/amrex/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737)

This better enables the collective set to be deployed togethor satisfying
eachothers dependencies

* r-sf: fix dependency error (#20898)

* improve documentation for Rocm (hip amd builds) (#20812)

* improve documentation

* astyle: Fix makefile for install parameter (#20899)

* llvm-doe: added new package (#20719)

The package contains duplicated code from llvm/package.py,
will supersede solve.

* r-e1071: added v1.7-4 (#20891)

* r-diffusionmap: added v1.2.0 (#20881)

* r-covr: added v3.5.1 (#20868)

* r-class: added v7.3-17 (#20856)

* py-h5py: HDF5_DIR is needed for ~mpi too (#20905)

For the `~mpi` variant, the environment variable `HDF5_DIR` is still required.  I moved this command out of the `+mpi` conditional.

* py-hovorod: fix typo on variant name in conflicts directive (#20906)

* fujitsu-fftw: Add new package (#20824)

* pocl: added v1.6 (#20932)

Made version 1.5 or lower conflicts with a64fx.

* PCL: add new package (#20933)

* r-rle: new package (#20916)

Common 'base' and 'stats' methods for 'rle' objects, aiming to make it
possible to treat them transparently as vectors.

* r-ellipsis: added v0.3.1 (#20913)

* libconfig: add build dependency on texinfo (#20930)

* r-flexmix: add v2.3-17 (#20924)

* r-fitdistrplus: add v1.1-3 (#20923)

* r-fit-models: add v0.64 (#20922)

* r-fields: add v11.6 (#20921)

* r-fftwtools: add v0.9-9 (#20920)

* r-farver: add v2.0.3 (#20919)

* r-expm: add v0.999-6 (#20918)

* cln: add build dependency on texinfo (#20928)

* r-expint: add v0.1-6 (#20917)

* r-envstats: add v2.4.0 (#20915)

* r-energy: add v1.7-7 (#20914)

* r-ellipse: add v0.4.2 (#20912)

* py-fiscalyear: add v0.3.0 (#20911)

* r-ecp: add v3.1.3 (#20910)

* r-plotmo: add v3.6.0 (#20909)

* Improve gcc detection in llvm. (#20189)

Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>

* hatchet: updated urls (#20908)

* py-anuga: add new package (#20782)

* libvips: added v8.10.5 (#20902)

* libzmq: add platform conditions to libbsd dependency (#20893)

* r-dtw: add v1.22-3 (#20890)

* r-dt: add v0.17 (#20889)

* r-dosnow: add v1.0.19 (#20888)

* add version 1.0.16 to r-doparallel (#20886)

* add version 1.3.7 to r-domc (#20885)

* add version 0.9-15 to r-diversitree (#20884)

* add version 1.3-3 to r-dismo (#20883)

* add version 0.6.27 to r-digest (#20882)

* add version 1.5 to r-rngtools (#20887)

* add version 1.5.8 to r-dicekriging (#20877)

* add version 1.4.2 to r-httr (#20876)

* add version   1.28 to r-desolve (#20875)

* add version   2.2-5 to r-deoptim (#20874)

* add version   0.2-3 to r-deldir (#20873)

* add version   1.0.0 to r-crul (#20870)

* add version   1.1.0.1 to r-crosstalk (#20869)

* add version   1.0-1 to r-copula (#20867)

* add version 5.0.2 to r-rcppparallel (#20866)

* add version   2.0-1 to r-compositions (#20865)

* add version 0.4.10 to r-rlang (#20796)

* add version 0.3.6 to r-vctrs (#20878)

* amrex: add ROCm support (#20809)

* add version 2.0-0 to r-colorspace (#20864)

* add version 1.3-1 to r-coin (#20863)

* add version   0.19-4 to r-coda (#20862)

* add version 1.3.7 to r-clustergeneration (#20861)

* add version 0.3-58 to r-clue (#20860)

* add version 0.7.1 to r-clipr (#20859)

* add version 2.2.0 to r-cli (#20858)

* add version 0.4-3 to r-classint (#20857)

* add version 0.1.2 to r-globaloptions (#20855)

* add version 2.3-56 to r-chron (#20854)

* add version 0.4.10 to r-checkpoint (#20853)

* add version 2.0.0 to r-checkmate (#20852)

* add version 1.18.1 to r-catools (#20850)

* add version 1.2.2.2 to r-modelmetrics (#20849)

* add version 3.0-4 to r-cardata (#20847)

* add version 1.0.1 to r-caracas (#20846)

* r-lifecycle: new package at v0.2.0 (#20845)

* add version 3.0-10 to r-car (#20844)

* add version 3.4.5 to r-processx (#20843)

* add version 1.5-12.2 to r-cairo (#20842)

* add version 0.2.3 to r-cubist (#20841)

* add version 2.6 to r-rmarkdown (#20838)

* add version 1.2.1 to r-blob (#20819)

* add version 4.0.4 to r-bit (#20818)

* add version 2.4-1 to r-bio3d (#20816)

* add version 0.4.2.3 to r-bibtex (#20815)

* add version 3.1-4 to r-bayesm (#20807)

* add version 1.2.1 to r-backports (#20806)

* add version 2.0.3 to r-argparse (#20805)

* add version 5.4-1 to r-ape (#20804)

* add version 0.8-18 to r-amap (#20803)

* r-pixmap: added new package (#20795)

* zoltan: source code location change (#20787)

* refactor path logic

* added some paths to make compilers and libs discoverable

* add  to LD_LIBRARY_PATH so that it finds libimf.so
and cleanup PEP8

* refactor path logic

* adding paths to LIBRARY_PATH so compiler wrappers will find -lmpi

* added vals for CC=icx, CXX=icpx, FC=ifx to generated module

* back out changes to intel-oneapi-mpi, save for separate PR

* Update var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py

path is joined in _ld_library_path()

Co-authored-by: Robert Cohn <rscohn2@gmail.com>

* set absolute paths to icx,icpx,ifx

* dang close parenthesis

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
Co-authored-by: mic84 <mrosso@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com>
Co-authored-by: darmac <xiaojun2@hisilicon.com>
Co-authored-by: Danny Taller <66029857+dtaller@users.noreply.github.com>
Co-authored-by: Tomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com>
Co-authored-by: Shintaro Iwasaki <siwasaki@anl.gov>
Co-authored-by: Glenn Johnson <glenn-johnson@uiowa.edu>
Co-authored-by: Kelly (KT) Thompson <KineticTheory@users.noreply.github.com>
Co-authored-by: Henrique Mendonça <henrique@users.noreply.github.com>
Co-authored-by: h-denpo <57649496+h-denpo@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Thomas Green <tomgreen66@hotmail.com>
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
Co-authored-by: Abhinav Bhatele <bhatele@cs.umd.edu>
Co-authored-by: a-saitoh-fj <63334055+a-saitoh-fj@users.noreply.github.com>
Co-authored-by: QuellynSnead <quellyn@lanl.gov>
2021-02-03 12:04:23 -08:00
Andrew-Dunning-NNL
22ee367794 py-atpublic: new recipe (#21332) 2021-02-03 13:53:54 -06:00
Hadrien G
91d64dd223 acts: Add version 5.0 (#21466) 2021-02-03 11:50:28 -08:00
Brian Van Essen
db402ed2e3 Set the variant to alway be true since it is requires cuda. (#21358) 2021-02-03 20:44:53 +01:00
Massimiliano Culpo
ba42c36f00 concretizer: simplify "fact" method (#21148)
The "fact" method before was dealing with multiple facts
registered per call, which was used when we were emitting
grounded rules from knowledge of the problem instance.

Now that the encoding is changed we can simplify the method
to deal only with a single fact per call.
2021-02-03 10:12:03 -08:00
Frank Willmore
8be833b242 adding environment to OneMKL packages so that examples will build (#21377) 2021-02-03 09:50:37 -08:00
Josh Essman
61641ecff2 sundials: expose monitoring build option (#21429) 2021-02-03 09:39:57 -08:00
Harmen Stoppels
b597e01e33 Add cuda as opencl provider (#21464) 2021-02-03 09:06:49 -08:00
Tomoyasu Nojiri
2b7547c03c http-load: Fix checksum error (#21459) 2021-02-03 11:03:50 -06:00
Tomoyasu Nojiri
1a6fe52486 http-post: Fix checksum error (#21460) 2021-02-03 11:03:28 -06:00
Tomoyasu Nojiri
4d194dc5e4 http-get: Fix checksum error (#21458) 2021-02-03 11:03:00 -06:00
Tomoyasu Nojiri
6f4b7870f2 http-ping: Fix checksum error (#21457) 2021-02-03 11:02:42 -06:00
Tomoyasu Nojiri
0a0e0b9b67 symlinks: Fix checksum error (#21456) 2021-02-03 11:02:07 -06:00
Tomoyasu Nojiri
54763a16f4 py-dulwich: Fix python depend (#21461) 2021-02-03 11:00:45 -06:00
iarspider
95fcd9ac13 superchic: added new package (#21463)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-02-03 15:29:52 +01:00
sameershende
d5d1cb09ad Updated TAU v2.30.1. (#21453) 2021-02-02 15:21:30 -08:00
mic84
e2294ea0b0 amrex: new version 21.02 (#21426) 2021-02-02 14:49:51 -08:00
iarspider
4691177bbf New package: apfel (#21440) 2021-02-02 14:42:07 -08:00
Axel Huebl
d8ba71993c openPMD-api: 0.13.2 (#21450) 2021-02-02 14:25:18 -08:00
Andrew-Dunning-NNL
09190c0876 py-bash-kernel: new package (#21441)
* py-bash-kernel: new package

* py-bash-kernel: remove git bash kernel dependency
2021-02-02 15:42:08 -06:00
Bryan Herman
182ab78940 add py-python-fsutil recipe (#21449) 2021-02-02 15:41:21 -06:00
Mark W. Krentel
040204c261 intel-xed: add patch to 12.0.1 to fix segfault (#21436)
Fix segfault due to uninitialized data when trying to decode some cases of data that aren't a valid instruction.
2021-02-02 12:40:24 -08:00
Greg Becker
7dcf3f7aed add intel oneapi to compiler/pkg translations (#21448) 2021-02-02 19:11:51 +00:00
bryanherman
d048048911 py-nbsphinx: new package (#21444)
* added py-nbsphinx package

* added a comment about nbsphinx use
2021-02-02 11:24:28 -06:00
Andrew-Dunning-NNL
959df6bb12 py-grandalf: new recipe (#21348)
* py-grandalf: new recipe

* py-grandalf: add runtime dependency

* py-grandalf: add runtime dependency)
2021-02-02 11:22:36 -06:00
Andrew-Dunning-NNL
59a54905ea py-dictdiffer: fix offline dependencies (#21345)
* py-dictdiffer: fix offline dependencies

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-02 11:21:58 -06:00
Andrew-Dunning-NNL
8b6c468cdf py-ftfy: new recipe (#21333)
* py-ftfy: new recipe

* py-ftfy: depend on python>3.5
2021-02-02 11:19:02 -06:00
Andrew-Dunning-NNL
71309f75b2 py-dulwich: new recipe (#21330)
* py-dulwich: new recipe

* py-dulwhich: add python dependency

* py-dulwich: fix flake8 whitespace
2021-02-02 11:15:34 -06:00
Andrew-Dunning-NNL
49b3ab684e py-flatten-dict: new recipe (#21329)
* py-flatten-dict: new recipe

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

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

* py-flatten-dict: fix dependencies

* py-flatten-dict: fix dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-02 11:14:12 -06:00
apreifsteck
df0cc9ee02 OSU mvapich2 GDR 2.3.5 package.py update (#21270)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: NOWLAB PACKAGER <mvapich-help@cse.ohio-state.edu>
2021-02-01 18:48:16 -08:00
Sergei Shudler
8f2acc3123 mfem: Add e4s testsuite-inspired smoke test (#21228) 2021-02-01 17:49:20 -08:00
Desmond Orton
71b12e9b27 New R Package Pegas@0.14 (#21359) 2021-02-01 16:42:44 -08:00
Desmond Orton
6cc23e6137 New Feature r-quickplot (#21430) 2021-02-01 18:02:14 -06:00
iarspider
eac95c866a FastJet: add optional patch to make random generator thread-local (#21395) 2021-02-01 11:18:04 -08:00
Adam J. Stewart
b597cbe1c0 PythonPackage: fewer phases (#20738) 2021-02-01 12:48:45 -06:00
Phil Carns
03fce1f0c9 replace margo pkg with updated mochi-margo pkg (#20273) 2021-02-01 12:38:02 -06:00
iarspider
586ff05af1 New package: frontier-client (#21405) 2021-02-01 10:23:56 -08:00
iarspider
5add6c4e03 New package: unigen (#21338) 2021-02-01 10:21:02 -08:00
Ryan Mast
5cb8d1894b libgcrypt: add versions up to 1.9.1 (#21401) 2021-02-01 10:11:51 -08:00
Jose E. Roman
4523cce791 SLEPc: add v3.14.2 (#21422) 2021-02-01 09:42:13 -08:00
Adam J. Stewart
1d636bed6a R: add maintainer(s) (#21119)
* R: add maintainer(s)

* Add maintainer to base class
2021-02-01 11:33:33 -06:00
Adam J. Stewart
40a40e0265 Python 3.10 support: collections.abc (#20441) 2021-02-01 11:30:25 -06:00
Andrew-Dunning-NNL
f781403615 py-colored-traceback: new package (#21423) 2021-02-01 11:14:00 -06:00
eugeneswalker
0b58499d7a llvm: "master" branch is now "main" branch (#21411) 2021-02-01 08:32:36 -06:00
iarspider
af988fc32d sqlite: add v3.32.03 (#21417) 2021-02-01 15:04:19 +01:00
Tomoki, Karatsu
6feb697b62 abinit: fix build with Fujitsu compilers (#21213) 2021-02-01 15:03:03 +01:00
iarspider
260706c186 coin3d: depend on gl/glu (virtual packages), not on opengl/openglu (#21419) 2021-02-01 15:01:05 +01:00
Tomoyasu Nojiri
c279983c10 cgdb: add a few build dependencies (#20927) 2021-02-01 15:00:52 +01:00
Jean-Paul Pelteret
a04e0d2525 Add package: py-beancount (#21274)
* Add package: py-beancount

* Fixes
2021-01-31 12:29:29 -06:00
darmac
f7929aaeb1 chrony: add missing dependency (#21403) 2021-01-31 12:21:23 -05:00
Jean-Paul Pelteret
6ac3d98f4c Add package: py-flask-babel (#21272) 2021-01-31 10:50:16 -06:00
Jean-Paul Pelteret
6c03c9996a Add package: py-markdown2 (#21273) 2021-01-31 10:49:49 -06:00
Adam J. Stewart
c950f4a4ff py-numpy: add v1.20.0 (#21409) 2021-01-31 06:28:21 +01:00
Toyohisa Kameyama
c175c05af9 quantum-expresso: fix for Fujitsu compiler (#21368) 2021-01-29 17:36:58 -08:00
Harmen Stoppels
371247c14a Fix https://github.com/spack/spack/pull/21391#issuecomment-769961025 (#21397) 2021-01-29 17:21:56 -08:00
Massimiliano Culpo
13ac7198d3 clingo: added a package with option for bootstrapping clingo (#20652)
* clingo/clingo-bootstrap: added a package with option for bootstrapping clingo

package builds in Release mode
uses GCC options to link libstdc++ and libgcc statically

* clingo-bootstrap: apple-clang options to bootstrap statically on darwin

* clingo: fix the path of the Python interpreter

In case multiple Python versions are in the same prefix
(e.g. when clingo is built against an external Python),
it may happen that the Python used by CMake does not
match the corresponding node in the current spec.

This is fixed here by defining "Python_EXECUTABLE"
properly as a hint to CMake.

* clingo: the commit for "spack" version has been updated.
2021-01-29 12:22:57 -08:00
Robert Underwood
0611036abd doxygen: add support for external detection (#20642) 2021-01-29 21:05:48 +01:00
Yang Zongze
f8124369f9 Print groups properly for spack find -d (#20028) 2021-01-29 11:05:36 -08:00
Peter Lindstrom
0f82fa5151 zfp: several package improvements (#21244)
- add variants for build targets, language bindings, backends
- ensure selected variants are compatible with zfp version
- point to GitHub (not LLNL) tar balls
- add dependencies
- update link to homepage
- add maintainers

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-29 17:51:30 +01:00
albestro
47c85059fb it seems like there was a bug in the version of APEX that we set by default in 1.5.x (#21391) 2021-01-29 16:51:28 +01:00
a-saitoh-fj
9761c13878 dssp: added smoke tests (#21366) 2021-01-29 10:29:42 +01:00
Tomoyasu Nojiri
e3a0c48599 py-cheetah: restrict valid python interpreter to 2.7.X, add v2.4.4 (#21363) 2021-01-29 09:43:43 +01:00
Tomoyasu Nojiri
7b6c99655c py-cheetah3: add new package at v3.2.6 (#21387) 2021-01-29 09:41:32 +01:00
Tomoyasu Nojiri
bc639fe60b wtdbg2: enable build for aarch64 (#21390)
Use sse2neon to maintain the same API calls for aarch64
2021-01-29 09:37:00 +01:00
Tomoyasu Nojiri
b18479a2bd swarm: add v3.0.0 (#21389) 2021-01-29 09:18:41 +01:00
Adam J. Stewart
519ba5590c py-graphviz: add v0.8.4 (#21383) 2021-01-28 18:25:07 -08:00
Cyrus Harrison
57c23b964a add new package: bloaty (#21355) 2021-01-28 16:44:07 -08:00
Dan Lipsa
5a9da90d07 Use utf8 for latex build. (#21360)
Patch provided by @Billae

Avoid the following error:
  File "/home/danlipsa/projects/spack/lib/spack/llnl/util/tty/log.py", line 768, in _writer_daemon
    line = _retry(in_pipe.readline)()
  File "/home/danlipsa/projects/spack/lib/spack/llnl/util/tty/log.py", line 830, in wrapped
    return function(*args, **kwargs)
  File "/usr/lib/python3.8/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x97 in position 220: invalid start byte
2021-01-28 15:58:55 -05:00
Massimiliano Culpo
f523ea8c4e perl: add v5.32.1 (#21375)
Make it such that BigSur is seen as 10.16 rather than 11.1, since the latter causes troubles with Perl configuration
2021-01-28 21:54:28 +01:00
Desmond Orton
b095dfb44b New Package r-fpCompare@0.2.3 (#21380) 2021-01-28 14:29:57 -06:00
iarspider
f28026c040 pacparser: new package at v1.3.7 (#21372)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-28 20:42:53 +01:00
Adam J. Stewart
eeddaaea52 Make git fetching even quieter (for git v1.7.2+)(#21013) 2021-01-28 20:41:05 +01:00
Tomoyasu Nojiri
6ae8d5c380 openmx: Fix for aarch64 (#21367) 2021-01-28 10:20:18 -08:00
Ali Ahmed
b6d52fa466 New package: libpulsar (#21369) 2021-01-28 10:12:12 -08:00
Adam J. Stewart
aa15246280 py-matplotlib: add v3.3.4 (#21378) 2021-01-28 10:09:17 -08:00
bryanherman
ff8ef48806 New package: py-pytest-doctestplus (#21335)
* added package py-pytest-doctestplus

* setuptools required for run
2021-01-28 11:00:03 -06:00
bryanherman
ff0a92e6a8 New package: py-pytest-openfiles (#21339)
* added package py-pytest-openfiles

* remove wheel dep
2021-01-28 10:59:35 -06:00
bryanherman
bf33fe4805 openmc: add v0.11.0, v0.12.0 (#21349)
Also added new variants to fine tune the build
2021-01-28 17:04:34 +01:00
iarspider
9baecd0d78 umesimd: add new package (#21370) 2021-01-28 16:22:21 +01:00
Sergey Kosukhin
d577b6fcdf autoconf: fix v2.70 and patching procedure of bin/autom4te.in (#21255)
This PR adds:

1.  A patch that fixes a bug in version 2.70 
    (will be fixed upstream in the next release: https://savannah.gnu.org/support/?110396).
2. A fix for the way we patch shebang in bin/autom4te.in. 

For 2, we need to keep the original modification timestamp of the file. 
Otherwise, we either get an empty man page for autom4te (versions 2.69 and before)
or a failure at the build time (versions 2.70 and after). 

The difference has to do with the update of the missing script: https://git.savannah.gnu.org/cgit/automake.git/commit/lib/missing?id=a22717dffe37f30ef2ad2c355b68c9b3b5e4b8c7

It will take time until developers of Autotools-based packages adjust their scripts 
to the new version, therefore, 2.69 is marked as preferred.
2021-01-28 11:21:04 +01:00
Adam J. Stewart
5b4d636d73 Clingo: fix missing import (#21364) 2021-01-28 00:38:01 -08:00
Tomoyasu Nojiri
181f921c1a libpeas: restrict python version range, use pkgconfig virtual dependency (#21313) 2021-01-28 09:31:54 +01:00
Tomoyasu Nojiri
bcb0e80548 fox: add dependency to glu virtual package (#21280) 2021-01-28 09:29:36 +01:00
Jen Herting
0ebefcc92b New package: py-proglog (#20750)
* [py-proglog] created template

* [py-proglog] added dependencies

* [py-proglog] fixed pypi url

* [py-proglog] removed fixmes, added homepage and description

* [py-proglog] url -> pypi

* [py-proglog] added dependency on setuptools
2021-01-27 20:59:19 -06:00
Rao Garimella
3dc5ffaf65 Update MSTK version (#21356)
* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

* fix typo WONTON_ENABLE_Kokkos ---> TANGRAM_ENABLE_Kokkos

* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

* fix typo WONTON_ENABLE_Kokkos ---> TANGRAM_ENABLE_Kokkos

* fix bugs in CMake section

* more compact cmake block

* update hash for 1.2.10 and add 1.2.11

* update recipe for Portage 3.0.0

* removing old versions - they won't build with the new recipe and the url specification doesn't work for them

* update version to 3.3.6

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2021-01-27 20:58:02 -06:00
bryanherman
fe05b16922 New package: py-pytest-benchmark (#21324)
* added pytest-benchmark recipe

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

Added Python2 dependence.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:57:24 -06:00
bryanherman
d1ce461a81 New package: py-pytest-cpp (#21328)
* added package py-pytest-cpp

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

package is !=5.4.0 use @:5.3.999

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:57:09 -06:00
bryanherman
4efeb39e95 New package: py-pytest-timeout (#21340)
* added package py-pytest-timeout

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

Added Python2.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:56:52 -06:00
bryanherman
f7a47e4048 New package: py-openmc (#21351)
* added package py-openmc

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

specify branch when using branch names for versions

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

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

use run after fixture to install openmc lib

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

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

Simplify copying openmc library to py-openmc prefix using install

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

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

NumPy should be 1.9+

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

* fix paren missing

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

fixed parens

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

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

use v0.11.0 in URL

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:56:35 -06:00
eugeneswalker
74fbad4742 autoconf: add version 2.70 (#21362) 2021-01-27 17:59:03 -08:00
Stephen Herbein
71375b3446 flux: update to latest releases (#21306) 2021-01-27 17:56:45 -08:00
bryanherman
cc28bcddd1 fix cpio for intel@18 (#21322) 2021-01-27 17:48:26 -08:00
Harmen Stoppels
3172fc3681 Add conflict for mpich 3.4.x for clang <= 7" (#21326) 2021-01-27 17:45:38 -08:00
Michael Kuhn
f9fef22ce8 rdma-core: add 33.1 (#21361) 2021-01-27 17:31:01 -08:00
Greg Becker
0d521d56ec openmpi find external fixup (#21354) 2021-01-27 15:27:17 -08:00
Desmond Orton
18b3688cd1 Package/spades (#21227)
Co-authored-by: codeandkey <jtst@iastate.edu>
2021-01-27 23:28:37 +01:00
bryanherman
71bac42357 added gawk version 5.1.0 (#21342) 2021-01-27 13:48:53 -08:00
Christoph Junghans
6b63441281 libecpint: initial add (#21353)
* libecpint: initial add

* flake8
2021-01-27 14:19:48 -07:00
Rémi Lacroix
5ef2daaa4a ELPA: Switch to HTTPS links. (#21352) 2021-01-27 22:06:44 +01:00
Andrew-Dunning-NNL
895c8b33d9 py-dpath: new recipe (#21331) 2021-01-27 14:46:40 -06:00
bryanherman
68a144eaa3 added package py-pytest-flakes (#21337) 2021-01-27 14:38:30 -06:00
Andrew-Dunning-NNL
52c32047ad py-mailchecker: new recipe (#21346) 2021-01-27 14:33:23 -06:00
Andrew-Dunning-NNL
54f163f7dc py-jsonpath-ng: new recipe (#21347) 2021-01-27 14:23:20 -06:00
Brian Van Essen
3cbc35dbdd LBANN: add support for building with OneDNN. (#21305) 2021-01-27 21:11:31 +01:00
Brian Van Essen
aac3699748 OneDNN: add versions up to v2.1-rc (#21304) 2021-01-27 21:10:16 +01:00
Sergey Kosukhin
4d7a9df810 Add a context wrapper for mtime preservation (#21258)
Sometimes we need to patch a file that is a dependency for some other
automatically generated file that comes in a release tarball. As a
result, make tries to regenerate the dependent file using additional
tools (e.g. help2man), which would not be needed otherwise.

In some cases, it's preferable to avoid that (e.g. see #21255). A way
to do that is to save the modification timestamps before patching and
restoring them afterwards. This PR introduces a context wrapper that
does that.
2021-01-27 11:41:07 -08:00
Rao Garimella
f2c98a8537 portage: added v3.0.0, deleted old versions (#21293)
old versions won't build with the new recipe and the url 
specification doesn't work for them

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2021-01-27 20:13:22 +01:00
Ben Morgan
5667759bf5 vecgeom: add v1.1.9 release (#21341) 2021-01-27 19:50:31 +01:00
Sergey Kosukhin
3cc5b7adc7 Python extensions: consistently set LDSHARED to get Spack RPATHs (#21149)
Python extensions use CC and LDSHARED from the sysconfig module to
build. When Spack installs Python, it replaces the Spack compiler
wrappers in these values with the underlying compilers (since these
wrappers are not useful outside of the context of running Spack).
In order to use the Spack compiler wrappers when building Python
extensions with Spack, Spack sets the LDSHARED environment variable
when running `Python.setup_py` (which overrides sysconfig). However,
many Python extensions use an alternative method to build (namely
PythonPackage.setup_py), which meant that LDSHARED was not set (and
RPATHs were not inserted for dependencies).

This commit makes the following changes:

* Sets LDSHARED in the environment: this applies to all commands
  executed during the build, rather than for a single command
  invocation
* Updates the logic to set LDSHARED: this replaces the compiler
  executable in LDSHARED with the Spack compiler wrapper. This
  means that for some externally-built instances of Python,
  Spack will now switch to using the Spack wrappers when building
  extensions. The behavior is expected to be the same for Spack-
  built instances of Python.
* Performs similar modifications for LDCXXSHARED (to ensure RPATHs
  are included for C++ codes)
2021-01-27 10:20:36 -08:00
Mark C. Miller
f766585882 Doc default behavior of install tests (#21309)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-01-27 09:08:27 -08:00
William Downs
6ba2e3ee5d gchp: added new package (#21310)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-27 18:02:55 +01:00
Luca Heltai
8a7487773b dealii: added support for simplices, updated sundials (#20621) 2021-01-27 17:02:15 +01:00
bryanherman
c52e95d681 cxxtest: added new package (#21323) 2021-01-27 16:26:26 +01:00
bryanherman
fbdc8b65b1 mesa: add dependency on zlib (#21325)
When installing mesa in an offline environment, mesa tries to download zlib.
2021-01-27 15:19:03 +01:00
Baptiste Jonglez
0efe54f722 mxnet: Fix python lib installation (#21298) 2021-01-27 07:53:09 -06:00
Ben Morgan
561557d2f5 py-h5py: add build dependency on py-wheel (#21320)
h5py requires wheel at build time from version 3.0.0, based on
the project's pyproject.toml.
2021-01-27 08:43:21 -05:00
Brian Van Essen
b8b432c3aa lbann: add support for building just the LBANN core library (#21235)
Variants to disable vision libraries and NumPy support.
2021-01-27 13:42:49 +01:00
bryanherman
cbdf87cd28 boost: restrict lower bound of ranges for two patches (#21321) 2021-01-27 13:28:29 +01:00
Mohan
4977dcfe9b knem: added a patch for v1.1.4 (#21312)
Co-authored-by: amd-toolchain-support <toolchainsupport@amd.com>
2021-01-27 13:27:10 +01:00
Brian Spilner
258bfff1da cdo: add v1.9.10 (#21315) 2021-01-27 11:32:49 +01:00
takanori-ihara
e83cce313b fujitsu-ssl2: remove mentions of libfj90rt2.a (#21308) 2021-01-27 11:32:23 +01:00
Glenn Johnson
84234e224c mafft: add v7.475 and build extensions (#21301) 2021-01-27 10:55:51 +01:00
darmac
88325cada8 r-xvector: add dependency on zlib (#21286) 2021-01-27 10:22:34 +01:00
Tomoyasu Nojiri
503f2f1bbc xterm: add dependency on termcap (#21314) 2021-01-27 09:50:21 +01:00
Brian Van Essen
46153a8201 NVSHMEM package (#21279) 2021-01-27 09:49:53 +01:00
Baptiste Jonglez
3626ab2697 libsodium: Fix build on ppc64le (#21256)
On ppc64le and aarch64, Spack tries to execute any "config.guess" and
"config.sub" scripts it finds in the source package.

However, in the libsodium tarball, these files are present but not
executable.  This causes the following error when trying to install
libsodium with spack:

    Error: RuntimeError: Failed to find suitable substitutes for config.sub, config.guess

Fix this by chmod-ing the scripts in the patch() function of libsodium.
2021-01-27 09:40:10 +01:00
Adam J. Stewart
aa8e026242 spack setup: remove the command for v0.17.0 (#20277)
spack setup was deprecated in 0.16 and will be removed in 0.17

Follow-up to #18240
2021-01-27 09:24:09 +01:00
Michael Kuhn
0366d49c6e mpich: add 3.4.1 (#21302) 2021-01-26 23:13:14 +01:00
Anton Loukianov
fe35ada685 nextflow: new version (#21276) 2021-01-26 22:59:49 +01:00
Vicente Bolea
104c826e33 ParaView: add ParaView-5.9.0 new release (#21268) 2021-01-26 22:58:48 +01:00
bryanherman
5cd0a9ab8e Update var/spack/repos/builtin/packages/py-shtab/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:24:18 -06:00
bryanherman
86c906e24f Update var/spack/repos/builtin/packages/py-shtab/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:24:18 -06:00
bryanherman
52630d9b96 Update var/spack/repos/builtin/packages/py-shtab/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:24:18 -06:00
Bryan Herman
430b7f3ebd added package py-shtab 2021-01-26 15:24:18 -06:00
bryanherman
4a6676c441 Update var/spack/repos/builtin/packages/py-paramiko/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:23:17 -06:00
Bryan Herman
b527e43615 added invoke variant to py-paramiko 2021-01-26 15:23:17 -06:00
Bryan Herman
3455647011 added package py-sortedcollections 2021-01-26 15:23:02 -06:00
bryanherman
4e465e230e Update var/spack/repos/builtin/packages/py-rich/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:22:48 -06:00
bryanherman
93a7f57299 Update var/spack/repos/builtin/packages/py-rich/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:22:48 -06:00
bryanherman
eb1270d917 Update var/spack/repos/builtin/packages/py-rich/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:22:48 -06:00
Bryan Herman
53f299d0d5 dont cap future python versions 2021-01-26 15:22:48 -06:00
Bryan Herman
08413844f1 added py-rich package 2021-01-26 15:22:48 -06:00
Paul
c03a2d0697 Added Go versions 1.15.7 and 1.14.14 (#21294) 2021-01-26 22:19:13 +01:00
Harsh Bhatia
04225d3cef new package: callflow 2021-01-26 14:40:28 -06:00
Harsh Bhatia
a4e67c35de added flask-cors 2021-01-26 14:40:28 -06:00
kean-smullen-nnl
889c86bdb1 dakota: fix build dependencies (#20697) 2021-01-26 19:04:39 +01:00
Erik Schnetter
325510da5c qthreads: New version 1.16 (#21159) 2021-01-26 18:53:46 +01:00
Tomoyasu Nojiri
90009d67a9 py-prompt-toolkit: Add version 2.0.10 for py-spatialist (#21281) 2021-01-26 11:26:26 -06:00
bryanherman
6b16d61a80 Added package py-nanotime (#21287) 2021-01-26 11:22:19 -06:00
bryanherman
a678c1966f added version 2.4.7 to py-pyparsing (#21290) 2021-01-26 11:18:03 -06:00
bryanherman
fbf13e19ed added missing dep, py-wheel, to py-pynacl (#21292) 2021-01-26 11:16:26 -06:00
Claire Guilbaud
31cf77aec6 recipe: add version 6.1.1 for pytest (#20831)
* recipe: add version 6.1.1 for pytest

add recipe for new dependency py-iniconfig
recipe: add version 6.1.1 for pytest

add recipe for new dependency py-iniconfig

* fix: 'SyntaxError: invalid syntax' during unittests

* requested changes on the pull request done

* requested changes on dep for py-pytest

* change constaint on python for importlib-metadata

* undo change on py-importlib-metada as requested

* bug fix

* bug fix on py-wcwidth

* fix as requested

* forget @ in when param

* forget a colon

* add new versions py-pytest and py-py

* fix setuptools* version

* add rule for more-itertools
2021-01-26 09:08:36 -06:00
Harmen Stoppels
feaaa8b194 umpire's device allocator exports device functions, which requires static libs (#21264) 2021-01-26 15:57:10 +01:00
Baptiste Jonglez
79afe20bb0 mxnet: Add optional cuda_arch spec support, enable CUDA by default (#21266) 2021-01-26 07:58:41 -06:00
vvolkl
b45a31aefe [dd4hep] fix assimp variant (#21226) 2021-01-26 08:57:13 +01:00
Jen Herting
eb60c858a0 New package: py-intel-openmp (#20748)
* [py-intel-openmp] created template

* [py-intel-openmp] is wheel

* [py-intel-openmp] fixed version for linux

* [py-intel-openmp] removed fixmes, added homepage and description

* [py-intel-openmp] added macos support

* [py-intel-openmp] style fix
2021-01-25 22:34:10 -06:00
Jen Herting
f536ded328 New package: py-bayesian-optimization (#20746)
* [py-bayesian-optimization] created template

* [py-bayesian-optimization] added dependencies

* [py-bayesian-optimization] removed fixmes, added homepage and description

* [py-bayesian-optimization] added dependency on setuptools

* [py-bayesian-optimization] changed url to pypi and updated checksum

* [py-bayesian-optimization] url -> pypi
2021-01-25 22:32:55 -06:00
Jean-Paul Pelteret
b5c9318160 Py-cheroot: Add dependency (#21271) 2021-01-25 22:31:51 -06:00
Tomoyasu Nojiri
48310e8988 process-in-process: Add systemtap depend (#21164) 2021-01-25 22:28:25 -06:00
Michael Kuhn
26d4d54a42 mpich: add 3.4 (#21007)
This also switches the default device to ch4 and the default netmod to
ofi (tcp does not exist for ch4).
2021-01-25 18:00:30 -06:00
Adam J. Stewart
5447dd6fb8 py-geopandas: add v0.8.2 (#21269) 2021-01-25 16:51:12 -06:00
Evan Bollig
cc006a7847 Updated gromacs for 2021.rc1. Updated GMX_GPU values (#20797) 2021-01-25 22:40:55 +01:00
ketsubouchi
ddf022d308 Itensor: Add new package (#20689) 2021-01-25 22:33:23 +01:00
albestro
3a8e04bfab add drafts variant (#20643) 2021-01-25 22:32:13 +01:00
Thomas Madlener
4e6b5282c9 Delphes: add 3.4.3pre08 tag as version (#21221) 2021-01-25 22:29:29 +01:00
Chris Richardson
ced55fbfe7 Fenicsx: update for basix (#21220) 2021-01-25 22:29:06 +01:00
Tomoyasu Nojiri
5af2b1a933 gdl: Add libtirpc and libgeotiff depend (#21212) 2021-01-25 22:28:15 +01:00
Peter Scheibel
fd8d14f7c5 Kokkos package: rocm support (#21157) 2021-01-25 22:19:54 +01:00
Baptiste Jonglez
7bed6a7077 mxnet: Fix cuda build (#21267) 2021-01-25 22:09:56 +01:00
Axel Huebl
ef2e1bc3f7 WarpX: Increase openPMD-api Dependency (#21263) 2021-01-25 22:08:53 +01:00
Baptiste Jonglez
7d7315ba93 libsodium: Fix download URLs for older versions (#21257) 2021-01-25 22:07:53 +01:00
Adam J. Stewart
37bbe21692 expect: add v5.45.4 and fix build with Apple Clang (#21232) 2021-01-25 22:04:09 +01:00
darmac
3893ce8f71 es-shell: add missing dependency on YACC (#21234) 2021-01-25 16:32:28 +01:00
Vicente Bolea
bfa480d87d pugixml: add v1.11.4 (#21224) 2021-01-25 14:16:50 +01:00
iarspider
2378376aa9 py-pythonsollya: new package (#21241) 2021-01-25 13:44:28 +01:00
iarspider
9d1d37c432 sollya: new package at v7.0 (#21240) 2021-01-25 09:33:56 +01:00
Adam J. Stewart
05c4506b62 py-pygeos: add v0.9 (#21243) 2021-01-25 09:25:33 +01:00
lpoirel
dd505e2269 petsc: forward variant +int64 to parmetis (#21245) 2021-01-25 08:41:29 +01:00
ketsubouchi
b2f89f8157 imake: add run dependency to xorg-cf-files (#21251) 2021-01-25 08:18:06 +01:00
Pariksheet Nanda
91db8c5234 picard: add v2.24.0 (#21249) (#21250) 2021-01-25 08:12:58 +01:00
Phil Carns
f269b4d7c1 opa-psm2: add v11.2.185 (#21208)
- also update to reflect Cornelis Networks as source maintainer rather Intel
- also replace explicit install prefix patch with edit step file filter
2021-01-25 07:33:59 +01:00
iarspider
577f6e8ade New package: mpfi (#21238) 2021-01-24 17:54:52 -06:00
Glenn Johnson
cf35661d3c Updates of R CRAN packages (#21223) 2021-01-24 17:54:25 -06:00
lpoirel
88cafacd09 petsc: add a +mkl-pardiso variant (#21219)
* petsc: add a +mkl-pardiso variant

mkl_pardiso solver is distributed with intel-mkl

* petsc: depend on mkl instead of intel-mkl

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-24 12:09:35 -06:00
iarspider
8f45b27836 New package: py-bigfloat (#21239)
* New package: py-bigfloat

* Changes from review
2021-01-23 16:27:42 -06:00
iarspider
e791725180 New package: fplll (#21236)
* New package: fplll

* Change from review
2021-01-23 16:26:48 -06:00
bryanherman
5a2fe8add3 Fix git svn modules (#21169)
* added Git run env to support svn variant modules

* perl-alien-svn needs arp-util to be link

* Update var/spack/repos/builtin/packages/git/package.py
2021-01-23 10:33:39 -05:00
Pieter Ghysels
dba6a26920 Add strumpack v5.1.0, add support for ROCm/HIP (#21203) 2021-01-23 09:31:23 +01:00
Tom Scogland
12eb4a146f use module and package flags to get more correct mypy behavior (#21225)
The first of my two upstream patches to mypy landed in the 0.800 tag that was released this morning, which lets us use module and package parameters with a .mypy.ini file that has a files key. This uses those parameters to check all of spack in style, but leaves the packages out for now since they are still very, very broken. If no package has been modified, the packages are not checked, but if one has they are. Includes some fixes for the log tests since they were not type checking.

Should also fix all failures related to "duplicate module named package" errors.

Hopefully the next drop of mypy will include my other patch so we can just specify the modules and packages in the config file to begin with, but for now we'll have to live with a bare mypy doing a check of the libs but not the packages.

* use module and package flags to check packages properly
* stop checking package files, use package flag for libs

The packages are not type checkable yet, need to finish out another PR
before they can be.  The previous commit also didn't check the libraries
properly, this one does.
2021-01-22 16:24:15 -08:00
Nicholas Sly
82ada16668 Add flang variant to llvm package. (#21229)
Co-authored-by: sly <sly@lanl.gov>
2021-01-22 15:39:44 -08:00
Baptiste Jonglez
49f0e9640d cuda: add installation workaround for version 10.1.243 on ppc64le (#21200)
Fixes #21170
2021-01-22 14:27:14 -08:00
arjun-raj-kuppala
cdb9b10e27 Bump up rocm version 4.0.0: rocm-gdb and mivisionx (#21137) 2021-01-22 18:04:01 +01:00
ketsubouchi
2d6fea86d6 py-pygit2, libgit2: add new versions (#21160) 2021-01-22 09:59:01 -06:00
AMD Toolchain Support
2c1bb64594 Added @property stdcxx_libs to return -lstdc++ for AOCC compiler (#21145) 2021-01-22 09:58:04 -06:00
Chuck Atkins
14f6d64edf adios2: Fix dependency issues (#21211)
- Typo in the SZ version (:ver should have been ver:)
- Patch to fix python dependency when testing is disabled
2021-01-22 10:31:21 -05:00
René Widera
1026eb2186 isaac-server: add v1.5.1 and v1.5.2 (#21217)
Add latest releases of isaac-server and adjust jansson requirements.
2021-01-22 15:30:57 +01:00
Adam J. Stewart
99e36bcef6 py-scikit-learn: add v0.24.1 (#21158) 2021-01-22 14:32:23 +01:00
Adam J. Stewart
551105749b py-pandas: add v1.2.1 (#21176) 2021-01-22 14:28:24 +01:00
Adam J. Stewart
ccb5cc50f7 TensorFlow: add v2.4.1 (#21205) 2021-01-22 14:12:37 +01:00
Dr. Christian Tacke
1961dc5f51 xrootd: add v4.12.6, v5.0.3; drop preferred (#21199)
Add version 4.12.6, 5.0.3

I think, the preferred was there to keep version 4.
But that's why we have spack, because people can install
whatever version they want.

And root has a properly versioned dependency.
2021-01-22 14:10:54 +01:00
Jen Herting
f50f67f4db py-memprof: new package (#20730) 2021-01-22 14:07:16 +01:00
Jen Herting
3b38e4345f py-filterpy: new package (#20747) 2021-01-22 14:06:34 +01:00
Tomoyasu Nojiri
f6db2f4da4 cnvnator: add -lcrypto to Makefile. (#21209) 2021-01-22 13:50:05 +01:00
René Widera
4b466d06f4 isaac: add v1.5.1 and v1.5.2 (#21216) 2021-01-22 13:11:28 +01:00
arjun-raj-kuppala
f41317d8b2 AMD ROCm: Bump rocm-tensile with 3.9.0, 3.10.0, 4.0.0 releases (#20439) 2021-01-22 13:07:36 +01:00
Dominik Gresch
ec7caefc69 Add Quantum ESPRESSO version 6.7. (#21192) 2021-01-22 09:58:30 +01:00
Harmen Stoppels
d42d9a619a add patch for not linking to clang rt bulitin lib, and apply patches to 3.9.0 too (#20937) 2021-01-22 09:55:46 +01:00
Tom Payerle
f7064fa181 mumps: Fix for problematic src/makefile patch (#20590) (#20758)
* mumps: Fix for problematic src/makefile patch (#20590)

Minor change in src/Makefile between 5.2.0 and 5.3.3 causing patch to
break.  Split into 2 patchfiles

* mumps: Additional patch for fixing #20590

This is to fix issue wherein build fails on Ubuntu due to undefined
symbols, despite symbols being included in other libraries referenced
on the compilation line.  I believe the issue is that the inclusion
of libsmumps.so was (due to my original patch) causing
libmumps_common.so to be automatically loaded, but since libpords.so
was not also required, the error was occuring.  I have added libpords.so
along with libmumps_common.so to be explicit dependencies of
libsmumps.so, etc., which seems to resolve the issue.
2021-01-21 20:41:11 -08:00
mic84
9ed4eb7a9a amrex: fix missing hdf5 dependency (#20714)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-01-21 16:16:55 -08:00
Kurt Sansom
06f65afdd5 hdf: build with gcc10 (#20773) 2021-01-21 17:07:28 -06:00
Tamara Dahlgren
6b13909cc1 docs: Update the CudaPackage (build system) description (#20742)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-01-21 12:43:21 -08:00
Chuck Atkins
3d54ca4d5a ecp-data-vis-sdk: Disable broken cinema variant (#21204) 2021-01-21 15:42:25 -05:00
Baptiste Jonglez
af1eda5359 miniconda3: add ppc64le package version (#21196)
It requires reorganizing version definitions to facilitate adding new architectures.

This is inspired from the cuda package.
2021-01-21 14:36:36 -06:00
Omar Padron
b76d21710b Add develop versions of faodel and zfp (#21201)
* add master version of faodel

* add develop version of zfp
2021-01-21 14:12:21 -05:00
Tamara Dahlgren
25bab31bc8 Added ROCmPackage (build system) documentation (#20743) 2021-01-21 10:46:39 -08:00
Sreenivasa Murthy Kolam
85ea52acd1 fix build failure due to #20759 change (#21185) 2021-01-21 18:13:28 +01:00
Tomoyasu Nojiri
6e258ca6ca catalyst: Fix for aarch64 (#21187) 2021-01-21 10:50:08 -06:00
Brian Van Essen
d3a078c7da Add support for building with an FFT layer in LBANN. Updated the (#21184)
HWLOC requirements to properly include CUDA and NVML variants as
appropriate.
2021-01-21 10:49:53 -06:00
arjun-raj-kuppala
90a7c846f6 install lib/headers option support (#21186) 2021-01-21 10:47:55 -06:00
Tomoki, Karatsu
2957f76cb1 abinit: add version 8.10.2. (#21188) 2021-01-21 10:46:12 -06:00
vvolkl
2c6c6756a8 [assimp] add new version 5.0.1 (#21191) 2021-01-21 10:45:21 -06:00
Harmen Stoppels
0cf0be588b Always set SPLA_OMP and SPLA_STATIC (#21195) 2021-01-21 10:43:57 -06:00
Gerasimos Chourdakis
1ceab34fc8 precice: Add version 2.2.0 (#21166) 2021-01-21 09:38:53 -06:00
Jen Herting
d9a8ff455e [py-numba] added version 0.51.1 (#21182)
* [py-numba] added version 0.51.1

* [py-numba] updated llvmlite dependencies
2021-01-21 09:38:35 -06:00
Rémi Lacroix
afa536fc1d Plumed: Add a new ArrayFire variant. (#20624) 2021-01-21 09:29:11 -06:00
Rémi Lacroix
6f166283ca ArrayFire improvements (#20615)
* ArrayFire: Add version 3.7.2.

* ArrayFire: Allow using MKL as the FFTW provider.

* ArrayFire: Ensure the libraries are properly found.

The required backend(s) can be specified in the library query.
2021-01-21 09:29:00 -06:00
Simon Frasch
10baa48d95 spfft: add version 1.0.1 (#21193) 2021-01-21 15:23:01 +01:00
Scott McMillan
fcf99be939 openssl: remove preprocessor flags incompatible with NVIDIA HPC SDK (#21180)
* openssl: remove preprocessor flags incompatible with NVIDIA HPC SDK

* Update var/spack/repos/builtin/packages/openssl/package.py

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

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-20 21:42:53 -06:00
Toyohisa Kameyama
c5ed46e026 libcap-ng: fix detect python. (#21162)
* libcap-ng: fix detect python.

- add python variant.
- add --with-python and --with-python3 configure option.

* fix style.

* - Add python variant.
- change - to --
2021-01-20 21:42:36 -06:00
Tomoyasu Nojiri
bf3fb8428d util-linux: Add ncurses depend (#21165) 2021-01-20 21:40:03 -06:00
Tomoyasu Nojiri
644b8b52e2 systemtap: Add depend (#21163)
* systemtap: Add depend

* systemtap: Fix depend
2021-01-20 21:31:04 -06:00
Scott McMillan
2ea336e6aa libevent: Remove compiler flags incompatible with NVIDIA HPC SDK (#21181)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-01-20 17:38:34 -06:00
Greg Sjaardema
6ecc3fc06f SEACAS: New version v2021-01-20 (#21178)
Added a new version due to new application `nas2exo` and also adding the build of `slice` if `+applications` is specified.
2021-01-20 17:07:38 -06:00
Jen Herting
69bfdb0843 [py-statsmodels] added version 0.12.1 and updated dependencies accord… (#21175)
* [py-statsmodels] added version 0.12.1 and updated dependencies accordingly

* [py-statsmodels] added python requirements for new version and fixed formatting for readability
2021-01-20 17:07:10 -06:00
Sergei Shudler
a95bf8df43 Mirror current E4S hypre test suite test as a smoke test (#20484) 2021-01-20 15:05:25 -08:00
bryanherman
a6ea16ded5 Fix PVM dependencies (#20951)
* added m4 dep to PVM recipe

* added libtirpc dep to PVM recipe

* decode str or bytestr string to unicode

* Resolved comments from @adamjstewart on setup_build_environment
2021-01-20 15:52:22 -06:00
Robert Brunner
966f6bc2d2 Propagate SCR resource_manager flag to libyogrt dependency (#21168)
* When the SCR spec specifies a resource_manager=SLURM or LSF flag, propagate the spec through to
the libyogrt scheduler=slurm or lsf

* Use libyogrt default scheduler option when the SCR spec does not specify LSF or SLURM
2021-01-20 15:51:46 -06:00
Scott McMillan
0e2fa561f3 Perl: NVIDIA HPC SDK updates (#21177)
* Perl: NVIDIA HPC SDK updates

* fix indentation

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-01-20 15:51:06 -06:00
eugeneswalker
7f86cc87b0 store sbang_install_path in buildinfo, use for subsequent relocation (#20768) 2021-01-20 12:43:07 -08:00
Rémi Lacroix
bef250535a Plumed: Ensure the Python interfaces are also built with Spack's wrappers. (#20625) 2021-01-20 14:12:27 -06:00
Rémi Lacroix
23181d24a2 PETSc: Add a new ptscotch variant. (#20699)
Currently the Parmetis wrapper is disabled which means nested dissection cannot be used with PTScotch.
2021-01-20 14:11:23 -06:00
Evan Bollig
2d9e36c4f0 updated relion package for new versions (#21155)
* updated relion for new versions

* Switched to checksum versions

* Enabled spack tracking for MKL and TBB when CPU optimizations are enabled

* Added variants to control MKL FFT and Ppatent feature

* Replaced tags with sha256 for older versions an and switched to virtual packages
2021-01-20 13:53:59 -06:00
Andrew-Dunning-NNL
28c0f20214 py-funcy: new recipe (#21136)
* py-funcy: new recipe

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

add build and run python dependencies

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-20 13:53:13 -06:00
Tomoyasu Nojiri
085360ec0b qwt: Fix qt depend (#21161) 2021-01-20 13:47:03 -06:00
Erik Schnetter
d11ba90198 z3: New version 4.8.9 (#21167) 2021-01-20 13:36:46 -06:00
Baptiste Jonglez
95b974707b openjdk: Add ppc64le package (#21173) 2021-01-20 13:30:39 -06:00
Omar Padron
43935b4917 fix an issue where some variants were not being concatenated correctly (#21174) 2021-01-20 13:27:41 -06:00
darmac
6f3027b9fb py-iminuit: update version to fix test error (#21143)
* py-iminuit: update version to fix test error

* py-iminuit: update py-numpy limitation

* py-iminuit: fix dependency mistake
2021-01-20 13:22:35 -06:00
Tomoyasu Nojiri
a187b2fb09 py-mikado: Add version 1.2.4 (#20678)
* py-pysam: Add version 0.15.3

* py-biopython: Add version 1.78

* py-mikado: Add version 1.2.4

* py-mikado: Reflection of review points.

* py-biopython: Add python depend

* py-mikado: Fix depend

* py-mikado: Add py-tabulate depend
2021-01-20 13:21:59 -06:00
Nathan Hanford
ebc871abbf [WIP] relocate.py: parallelize test replacement logic (#19690)
* sbang pushed back to callers;
star moved to util.lang

* updated unit test

* sbang test moved; local tests pass

Co-authored-by: Nathan Hanford <hanford1@llnl.gov>
2021-01-20 09:17:47 -08:00
Tomoyasu Nojiri
c63f680d2a r-farver: Fix checksum for 2.0.1 (#20897) 2021-01-19 17:45:51 -08:00
Omar Padron
49141f9528 fix typo in ec-data-vis-sdk package (#21156) 2021-01-19 17:09:42 -06:00
mlawsonca
881ca8406c fixing outdated metis link (#21003)
* fixing outdated metis link

* updated url to the official website since the previous url was a GitHub repo that is an unofficial mirror that only contains the latest version
2021-01-19 16:58:38 -06:00
Andrew-Dunning-NNL
8a92ebd504 py-pyjnius: new recipie (#21150) 2021-01-19 16:57:10 -06:00
Andrew-Dunning-NNL
c6cb0d7869 py-dictdiffer: new recipe (#21151)
* py-dictdiffer: new recipie

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

add correct setuptools dependency

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-19 16:56:53 -06:00
Andrew-Dunning-NNL
6de193fd27 py-pytest-arraydiff: new recipie (#21152) 2021-01-19 16:56:38 -06:00
Andrew-Dunning-NNL
7a913582f2 py-phonenumbers: new recipie (#21153) 2021-01-19 16:56:24 -06:00
Andrew-Dunning-NNL
d3b04f7704 py-pygtrie: new recipie (#21154) 2021-01-19 16:56:09 -06:00
Erik Schnetter
0c5602dc4e amrex: remove build_type variant (#20938)
This variant is already provided by CMakePackage.
2021-01-19 19:17:37 +01:00
William Downs
35a51760a8 esmf: Add versions 8.0.0 and 8.0.1 (#21147) 2021-01-19 10:52:47 -06:00
Harmen Stoppels
034debeba5 Always set cmake args because defaults change across versions (#21146) 2021-01-19 09:57:12 -06:00
ketsubouchi
8a6e7c8687 cpmd: new package (#21138) 2021-01-19 09:02:09 -06:00
Tomoyasu Nojiri
ab83b6689e sortmerna: Fix for aarch64 (#21126) 2021-01-19 09:01:16 -06:00
yellowhat
89b9d07efa gromacs: add v2020.5 (#21144) 2021-01-19 10:26:35 +01:00
Robert Brunner
91f65b9772 libyogrt: add lsf scheduler support, create yogrt.conf file (#19960)
Tell the libyogrt installer to create a yogrt.conf file, specifying whatever 
scheduler was specified in the scheduler=XXX parameter.
2021-01-19 10:01:48 +01:00
Adam J. Stewart
86e9d93859 libidn2:use http for download (#21001)
This is needed since libidn is used to bootstrap curl
2021-01-19 09:54:25 +01:00
Pramod Kumbhar
908528f2f1 NEURON: add v7.8.2, move to CMake and remove all old versions (#20582)
* Update NEURON simulator package
  - update recipe to support autoconf as well as cmake
  - new versions >=7.8 support cmake
  - remove old variants
  - added patch for latest bug fix release 7.8.2

Co-authored-by: Kumbhar Pramod Shivaji <kumbhar@bbpv1.epfl.ch>
Co-authored-by: Kumbhar Pramod Shivaji <kumbhar@bb-c02vf1h0hv2r.epfl.ch>
2021-01-19 09:42:50 +01:00
Thomas Madlener
a92bb5400e lcio, sio: add sio dependency, update versions and expose zlib version for sio (#20839) 2021-01-19 09:20:43 +01:00
Glenn Johnson
82b10583f9 r-grbase: added v1.8-6.7 (#21033) 2021-01-19 09:10:21 +01:00
Tomoki, Karatsu
5033250140 specfem3d-globe: add new package (#20830) 2021-01-19 08:55:18 +01:00
h-denpo
f781fd1878 universal-ctags: added link dependency on libiconv (#21141) 2021-01-19 08:47:26 +01:00
darmac
a567b73108 py-numexpr: added v2.7.2 (#21142) 2021-01-19 08:42:16 +01:00
Robert Cohn
09ee3f8d8e add required libs for sycl programs (#20728) 2021-01-18 23:15:24 -06:00
yellowhat
83eec2d170 NAMD: FIX build +cuda and mpi ~smp (#20778)
* NAMD: FIX build +cuda

Hi,
If I try to compile NAMD with CUDA support, it fails because cannot file the file "{self.arch}.cuda" because it is undet the "arch" folder.

* NAMD: FIX mpi ~smp

Fix `spack install namd ^charmpp backend=mpi ~smp`
2021-01-18 23:12:06 -06:00
Rao Garimella
a36c40b61d Update versions of Wonton and Tangram packages (#20813) 2021-01-18 23:06:26 -06:00
Michael Kuron
2e299c5008 siesta: fix build with gfortran (#20840)
Avoid Error: Line truncated at (1) [-Werror=line-truncation]
2021-01-18 22:59:53 -06:00
Erik Schnetter
a2d8023e2a ssht: New version 1.3.4 (#20880)
* ssht: New version 1.3.4

ssht changed configuration mechanism from "home-grown" to "cmake. The previously current version 1.2b1 (a beta release) is thus unfortunately not available any more.

* ssht: Don't set build type

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-18 22:57:53 -06:00
Vicente Bolea
94f1e838b2 ParaView: add new ParaView-5.9.0-RC4 release (#21132)
* ParaView: add new ParaView-5.9.0-RC4 release

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>

* ParaView: add official maintainer @vicentebolea

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-01-18 22:53:17 -06:00
Toyohisa Kameyama
3143222d87 salmon-tddft: add eigenexa variant (#21140) 2021-01-18 22:52:50 -06:00
Thomas Madlener
d1174bd40f Make sure sio library is properly propagated (#20940) 2021-01-18 22:52:27 -06:00
darmac
fe32d256d2 ceres-solver: add v2.0.0 (#21005) 2021-01-18 22:51:57 -06:00
Harmen Stoppels
1dab789504 Don't use CUDA for hipblas (#20935)
* Don't use CUDA for hipblas

* old versions use TRY_CUDA

* Update var/spack/repos/builtin/packages/hipblas/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-18 22:49:59 -06:00
Glenn Johnson
85838e98fb add version 2.2-2 to r-gwmodel (#21121)
* add version 2.2-2 to r-gwmodel

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

Fix comma, space issue.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-18 16:59:05 -06:00
Glenn Johnson
c7d3651356 add version 0.3.17 to r-inline (#21053)
* add version 0.3.17 to r-inline

* Drop R version constraint

A really old version of R was specified in the 0.3.14 and 0.3.15
versions of r-inline. This constraint was dropped in the 0.3.17 version.
Drop it from the spack recipe as well.
2021-01-18 16:58:08 -06:00
Michael Kuron
cec784bb10 vasp: fix build with gfortran 10 and add version 6.1.1 (#20900)
* vasp: fix build with gfortran 10

Avoid Error: Type mismatch between actual argument at (1) and actual argument at (2)

* vasp: add version 6.1.1

* vasp 6: allow building without CUDA
2021-01-18 16:54:52 -06:00
kuramoto-fj
bd51f81e20 Mapsplice2: Add new package (#20901) 2021-01-18 16:53:50 -06:00
Thomas Madlener
e960721c65 Use shared=True to find libraries, since this is the default (#20907)
package also does not expose a shared variant
2021-01-18 16:51:44 -06:00
Atsushi Hori
777901843f New Package: Process-in-Process (PiP) -- 2nd trial (#20925)
* Adding PiP recipe

* pip@1 recipe (it seems working)

* change install dir hierarchy

* installing PiP man pages

* add pip-glibc & pip-gdb

* fix configure option designations, fix dependency types

* fix dependency type of pip

* use AutotoolsPackage in pip recipe

* add patch for pip-glibc & pip-gdb to enable 'disable-werror'

* change glibc install directory

* add linux distro check to pip-gdb

* create process-in-process package

* use flag_handler and join_path

* add gcc version constraint, change install-test to check-installed

* fix gcc version designations on conflicts()

* add constraint of target cpu, fix flake8 warnings

* add version constraint to resource()

* Some fixes to adapt the current version
	not to execute 'piplnlibs'
	change documentation install command

* Update
	new branch name of PiP-gdb
	adapting PiP-Testsuite

* update pip-gdb github urls

* The very first commit of Process-in-Process (PiP)
	details can be found at https://github.com/RIKEN-SysSoft/PiP

* Fix comment style issues

* New Package: Process-in-Process (PiP) -- 2nd trial

* fix style issue

* change inline comments style (required to have two spaces)

Co-authored-by: Daiki Matsunaga <daikim@axe.bz>
2021-01-18 16:50:48 -06:00
Tomoyasu Nojiri
b7badf2447 gengetopt: Add texinfo depend (#20929) 2021-01-18 16:40:34 -06:00
bryanherman
c500ea80c3 Add SVN extension to Git (#20939)
* added package for svn extension to perl

* added svn variant to git recipe
2021-01-18 16:39:56 -06:00
takanori-ihara
a5963d686c eigenexa: new package. (#20934) 2021-01-18 23:37:09 +01:00
G-Ragghianti
335c5ed5cb Updated with requirements for openblas dependency (#20956)
* Updated with requirements for openblas dependency

* Python style fixes
2021-01-18 16:34:21 -06:00
Simon Frasch
e91ff86882 spfft: add version 1.0.0 (#20959) 2021-01-18 16:33:18 -06:00
Glenn Johnson
699df81a95 add version 1.2-9 to r-aer (#20965) 2021-01-18 12:57:28 -06:00
Glenn Johnson
5fb647d17c The latest version of imagemagick needs libtool linking (#20969)
Imagemagick-7.0.8 needs to link against libltdl. Otherwise, the build will fail with:

```
2 errors found in build log:
     503    checking for libltdl...
     504    checking ltdl.h usability... no
     505    checking ltdl.h presence... no
     506    checking for ltdl.h... no
     507    checking for lt_dlinit in -lltdl... no
     508    checking if libltdl package is complete... no
  >> 509    configure: error: in `/tmp/gpjohnsn/spack-stage/spack-stage-imagemagick-7.0.8-7-4y44gaklhhciiwjzhfpxjfwdj5q
            ltjp3/spack-src':
  >> 510    configure: error: libltdl is required for modules and OpenCL builds
     511    See `config.log' for more details
```
2021-01-18 12:57:15 -06:00
Glenn Johnson
8f5651e63e add version 3.3.3 to r-ggplot2 (#21021) 2021-01-18 12:56:36 -06:00
Glenn Johnson
e879c4176d add version 0.6-2 to r-gmp (#21028) 2021-01-18 12:56:21 -06:00
Glenn Johnson
bd404d8ff8 add version 0.5-1 to r-gridgraphics (#21034) 2021-01-18 12:56:06 -06:00
Glenn Johnson
7f7f9a7bfb add version 3.8.2 to r-gtools (#21038)
* add version 3.8.2 to r-gtools

* Improve formatting of description

In case the list gets formatted as a non-list:
- added semicolons to end of list items
- replaced dashes with [#]
2021-01-18 12:55:51 -06:00
Glenn Johnson
415cff5061 add version 1.30 to r-knitr (#21061)
* add version 1.30 to r-knitr

* Fix version constraints

- r-digest
- r-formatr

The version constraints on those packages should actually be in the `when`
clause.
2021-01-18 12:55:33 -06:00
Glenn Johnson
91fcd49484 add version 1.0-6 to r-libcoin (#21075) 2021-01-18 12:55:18 -06:00
Glenn Johnson
978f74eac7 add version 1.2.0 to r-gh (#21112) 2021-01-18 12:55:04 -06:00
Glenn Johnson
2c3550ae18 add version 1.1.2 to r-tidyr (#21113) 2021-01-18 12:54:51 -06:00
Glenn Johnson
b424dbfead new package: r-rcppdate (#21114)
'date' is a C++ header library offering extensive date and time
functionality for the C++11, C++14 and C++17 standards written by Howard
Hinnant and released under the MIT license. A slightly modified version
has been accepted (along with 'tz.h') as part of C++20. This package
regroups all header files from the upstream repository by Howard Hinnant
so that other R packages can use them in their C++ code. At present, few
of the types have explicit 'Rcpp' wrapper though these may be added as
needed.
2021-01-18 12:54:35 -06:00
Glenn Johnson
563d939804 add version 2.0.2 to r-mnormt (#21115) 2021-01-18 12:54:22 -06:00
Glenn Johnson
e132195d6c add version 3.12.0 to r-mice (#21116) 2021-01-18 12:54:06 -06:00
Glenn Johnson
ca9e103994 new package: r-mutoss (#21117)
Designed to ease the application and comparison of multiple hypothesis
testing procedures for FWER, gFWER, FDR and FDX. Methods are
standardized and usable by the accompanying 'mutossGUI'.
2021-01-18 12:53:53 -06:00
Glenn Johnson
5a42df5944 add version 2.0.4.1 to r-leaflet (#21118) 2021-01-18 12:53:38 -06:00
Glenn Johnson
a693a56459 add version 2.1.0 to r-janitor (#21120) 2021-01-18 12:53:23 -06:00
Glenn Johnson
42748f389f new package: r-parallelly (#21122)
Utility functions that enhance the 'parallel' package and support the
built-in parallel backends of the 'future' package. For example,
availableCores() gives the number of CPU cores available to your R
process as given by the operating system, 'cgroups' and Linux
containers, R options, and environment variables, including those set by
job schedulers on high-performance compute clusters. If none is set, it
will fall back to parallel::detectCores(). Another example is
makeClusterPSOCK(), which is backward compatible with
parallel::makePSOCKcluster() while doing a better job in setting up
remote cluster workers without the need for configuring the firewall to
do port-forwarding to your local computer.
2021-01-18 12:53:09 -06:00
Glenn Johnson
b9c5a73a48 add version 2.0.0 to r-dbplyr (#21123) 2021-01-18 12:52:55 -06:00
vvolkl
93740d5600 [genfit] add tags and first version (#21127) 2021-01-18 12:49:58 -06:00
Hadrien G
d996fc080a [acts] Add version 4.1, bump minimal dependencies (#21128) 2021-01-18 12:49:19 -06:00
Michael Kuron
98788aa4bd py-mdanalysis: correctly depend on py-gsd (#21133) 2021-01-18 12:45:50 -06:00
Sergey Kosukhin
723f132531 python: improve building with Intel (#21134) 2021-01-18 12:44:22 -06:00
dithwick
fa53838d2f ibm-java: new version (#21135) 2021-01-18 12:43:18 -06:00
darmac
3b064b3a96 py-pycairo: update version and fix setup.py test error (#21004)
* py-pycairo: update version and fix setup.py test error

* py-pycairo: update dependency
2021-01-18 12:34:41 -06:00
Tomoyasu Nojiri
385ca1529a hssp: Fix checksum for 3.0.10 (#20894)
* hssp: Fix checksum for 3.0.10

* hssp: Fix checksum for 3.0.1 to 3.0.9
2021-01-18 12:21:49 -06:00
Toyohisa Kameyama
3ee8c11910 mpas-model: New package. (#21124)
* mpas-model: New package.

* remove pnetcdf variant.
remove debug print.

* remove unnessesary line.

* style fix.
2021-01-18 12:10:21 -06:00
bryanherman
2cfe349828 added new python package py-f90wrap (#20957) 2021-01-17 22:38:16 -06:00
darmac
5b75dde872 Libconfuse: refine autoreconf and add some dependencies (#21006)
* libconfuse: add some build dependencies

* libconfuse: use autogen.sh to do the autoreconf
2021-01-17 22:30:42 -06:00
Robert Underwood
16ee9dc110 sz: version 2.1.11.1 (#21008) 2021-01-17 22:28:51 -06:00
Glenn Johnson
aeb6c63ea6 add version 0.4.2 to r-labeling (#21063) 2021-01-17 14:09:08 -06:00
Glenn Johnson
733c6767f5 add version 1.2.4 to r-lambda-r (#21064) 2021-01-17 14:08:54 -06:00
Glenn Johnson
840e072bbe add version 16.1.4 to r-laplacesdemon (#21065) 2021-01-17 14:08:39 -06:00
Glenn Johnson
6793f3fd55 add version 1.1.0.1 to r-later (#21066) 2021-01-17 14:08:24 -06:00
Glenn Johnson
9feb2572fb add version 0.20-41 to r-lattice (#21067) 2021-01-17 14:08:08 -06:00
Glenn Johnson
36a547aff4 add version 0.6-29 to r-latticeextra (#21068) 2021-01-17 14:07:54 -06:00
Glenn Johnson
41ca013069 add version 1.6.8.1 to r-lava (#21069) 2021-01-17 14:07:40 -06:00
Glenn Johnson
a54e4322e5 add version 1.0-4 to r-ldheatmap (#21070) 2021-01-17 14:07:27 -06:00
Glenn Johnson
e316cde706 new package: r-leaflet-providers (#21071)
Contains third-party map tile provider information from 'Leaflet.js',
<https://github.com/leaflet-extras/leaflet-providers>, to be used with
the 'leaflet' R package. Additionally, 'leaflet.providers' enables users
to retrieve up-to-date provider information between package updates.
2021-01-17 14:07:15 -06:00
Glenn Johnson
716a094c08 add version 3.1 to r-leaps (#21072) 2021-01-17 14:07:00 -06:00
Glenn Johnson
a1d894e30a add version 0.3.6 to r-leiden (#21073) 2021-01-17 14:06:46 -06:00
Glenn Johnson
e98d5bd143 add version 4.0.5 to r-bit64 (#20964) 2021-01-17 14:05:05 -06:00
Glenn Johnson
76878dbbee add version 0.8-81 to r-foreign (#20975)
* add version 0.8-81 to r-foreign

* fix line length too long error
2021-01-17 14:01:48 -06:00
Glenn Johnson
1a8c0eedb9 add version 3.3.2 to r-geomorph (#21010) 2021-01-17 14:00:43 -06:00
Glenn Johnson
5acf07b4c8 add version 3.11.0 to r-ergm (#21011) 2021-01-17 13:59:46 -06:00
Glenn Johnson
f714dfc226 add version 1.3-0 to r-lsei (#21083) 2021-01-17 13:58:08 -06:00
Glenn Johnson
1d1d4a5796 new package: r-cpp11 (#21015)
Provides a header only, C++11 interface to R's C interface. Compared to
other approaches 'cpp11' strives to be safe against long jumps from the
C API as well as C++ exceptions, conform to normal R function semantics
and supports interaction with 'ALTREP' vectors.
2021-01-17 13:57:53 -06:00
Glenn Johnson
8a2ee437a2 add version 1.0.3 to r-dplyr (#21012) 2021-01-17 13:57:12 -06:00
Glenn Johnson
afb17db324 add version 2.2.0 to r-remotes (#21016) 2021-01-17 13:55:46 -06:00
Glenn Johnson
ef128e50e1 add version 1.2.0 to r-pkgbuild (#21017) 2021-01-17 13:55:04 -06:00
Glenn Johnson
2a342b7541 add version 1.1.0 to r-pkgload (#21018) 2021-01-17 13:54:15 -06:00
Glenn Johnson
0d0d52050b add version 2.0.2 to r-rversions (#21019) 2021-01-17 13:53:31 -06:00
Glenn Johnson
0efce74027 add version 7.1.1 to r-roxygen2 (#21020) 2021-01-17 13:52:31 -06:00
Glenn Johnson
54bab50b47 new package: r-gitcreds (#21022)
Query, set, delete credentials from the 'git' credential store. Manage
'GitHub' tokens and other 'git' credentials. This package is to be used
by other packages that need to authenticate to 'GitHub' and/or other
'git' repositories.
2021-01-17 13:49:36 -06:00
Glenn Johnson
9295019928 add version 0.9.0 to r-gistr (#21023) 2021-01-17 13:48:55 -06:00
Glenn Johnson
ce14d627a6 add version 0.28.0 to r-git2r (#21024) 2021-01-17 13:48:07 -06:00
Glenn Johnson
c8e52aaa9c add version 4.1 to r-glmnet (#21025) 2021-01-17 13:47:11 -06:00
Glenn Johnson
c204b94927 add version 0.14.0 to r-globals (#21026) 2021-01-17 13:46:31 -06:00
Glenn Johnson
56fd340231 add version 1.4.2 to r-glue (#21027) 2021-01-17 13:45:54 -06:00
Glenn Johnson
cf4feccefc add version 0.6.9 to r-googlevis (#21029) 2021-01-17 13:44:30 -06:00
Glenn Johnson
8c7e4b9d22 add version 0.2.2 to r-gower (#21030) 2021-01-17 13:43:53 -06:00
Glenn Johnson
84674ec696 add version 3.1.1 to r-gplots (#21031) 2021-01-17 13:43:16 -06:00
Glenn Johnson
eb250ec23d add version 0.7.1 to r-graphlayouts (#21032) 2021-01-17 13:42:31 -06:00
Glenn Johnson
6a7611c4c2 add version 2.1.2 to r-gsodr (#21035) 2021-01-17 13:39:56 -06:00
Glenn Johnson
d9b1a8bf45 add version 2.2-2 to r-gss (#21036) 2021-01-17 13:39:06 -06:00
Glenn Johnson
251f16358b add version 2.0-6 to r-gstat (#21037) 2021-01-17 13:38:28 -06:00
Glenn Johnson
879a662278 add version 1.4-5 to r-sp (#21039) 2021-01-17 13:36:13 -06:00
Glenn Johnson
c2cc650943 add version 2.3.1 to r-haven (#21040) 2021-01-17 13:35:35 -06:00
Glenn Johnson
055be03518 add version 1.3.3 to r-hdf5r (#21041) 2021-01-17 13:34:38 -06:00
Glenn Johnson
9df65902e7 add version 1.28.2 to r-hexbin (#21042) 2021-01-17 13:33:35 -06:00
Glenn Johnson
fb1776ceca add version 3.1-43 to r-hh (#21043) 2021-01-17 13:32:56 -06:00
Glenn Johnson
974c0dcc62 add version 4.4-2 to r-hmisc (#21044) 2021-01-17 13:32:02 -06:00
Glenn Johnson
26933550f7 add version 1.0.0 to r-hms (#21045) 2021-01-17 13:30:50 -06:00
Glenn Johnson
e4f9c5d213 add version 2.1.0 to r-htmltable (#21046) 2021-01-17 13:30:01 -06:00
Glenn Johnson
44c58ad727 add version 0.5.1 to r-htmltools (#21047) 2021-01-17 13:29:14 -06:00
Glenn Johnson
f0ae5cf235 add version 1.5.3 to r-htmlwidgets (#21048) 2021-01-17 13:28:26 -06:00
Glenn Johnson
6864bfc6f0 add version 0.3.0 to r-httpcode (#21049) 2021-01-17 13:27:40 -06:00
Glenn Johnson
311068354a add version 1.5.5 to r-httpuv (#21050) 2021-01-17 13:27:02 -06:00
Glenn Johnson
8e514a04d0 add version 1.2.6 to r-igraph (#21051) 2021-01-17 13:26:03 -06:00
Glenn Johnson
63662be724 add version 0.42.3 to r-imager (#21052) 2021-01-17 13:24:48 -06:00
Glenn Johnson
0a64b616ca add version 0.15.2 to r-intervals (#21054) 2021-01-17 13:22:43 -06:00
Glenn Johnson
061fa01dcb add version 0.4.0 to r-isdparser (#21055) 2021-01-17 13:22:03 -06:00
Glenn Johnson
665f297067 add version 0.0-18.1 to r-iso (#21056) 2021-01-17 13:21:15 -06:00
Glenn Johnson
1b997bde77 add version 1.0.13 to r-iterators (#21057) 2021-01-17 13:20:36 -06:00
Glenn Johnson
a118404fbf add version 2.7-2 to r-jomo (#21058) 2021-01-17 11:55:45 -06:00
Glenn Johnson
9b90640f9a add version 0.9-29 to r-kernlab (#21059) 2021-01-17 11:54:57 -06:00
Glenn Johnson
d84b401d38 add version 2.23-18 to r-kernsmooth (#21060) 2021-01-17 11:54:17 -06:00
Glenn Johnson
a64eaacc0d add version 1.11.7 to r-ks (#21062) 2021-01-17 11:49:58 -06:00
Glenn Johnson
d4dadcfa10 add version 1.1.1 to r-lhs (#21074) 2021-01-17 11:39:42 -06:00
Glenn Johnson
1af0aeee7b add version 0.8.0 to r-listenv (#21076) 2021-01-17 11:38:14 -06:00
Glenn Johnson
7e3120a9c5 add version 1.1-26 to r-lme4 (#21077) 2021-01-17 11:37:32 -06:00
Glenn Johnson
16166223e8 add version 0.9-38 to r-lmtest (#21078) 2021-01-17 11:35:59 -06:00
Glenn Johnson
6f27d20a58 add version 1.5-9.4 to r-locfit (#21079) 2021-01-17 11:35:23 -06:00
Glenn Johnson
92a665e07d add version 0.3.2 to r-log4r (#21080) 2021-01-17 11:34:42 -06:00
Glenn Johnson
e19464979f add version 2.4.1 to r-loo (#21081) 2021-01-17 11:33:55 -06:00
Glenn Johnson
6606eb6a96 add version 5.6.15 to r-lpsolve (#21082) 2021-01-17 11:32:33 -06:00
Glenn Johnson
efd1536e36 add version 1.7.9.2 to r-lubridate (#21084) 2021-01-17 11:30:50 -06:00
Glenn Johnson
b0bf2c4c99 add version 2.0.1 to r-magrittr (#21085) 2021-01-17 11:30:04 -06:00
Glenn Johnson
68845f6b23 add version 0.10.1 to r-manipulatewidget (#21086) 2021-01-17 11:29:22 -06:00
Glenn Johnson
9dee70eea5 add version 1.2.7 to r-mapproj (#21087) 2021-01-17 11:28:30 -06:00
Glenn Johnson
a9574b0180 add version 1.0-2 to r-maptools (#21088) 2021-01-17 11:27:44 -06:00
Glenn Johnson
c3a1900fe9 add version 7.3-53 to r-mass (#21089) 2021-01-17 11:26:52 -06:00
Glenn Johnson
1b281948e4 add version 1.3-2 to r-matrix (#21090) 2021-01-17 11:26:14 -06:00
Glenn Johnson
8abe261359 add version 0.57.0 to r-matrixstats (#21091) 2021-01-17 11:25:09 -06:00
Glenn Johnson
b8296aedf3 add version 5.4.7 to r-mclust (#21092) 2021-01-17 11:24:20 -06:00
Glenn Johnson
7a109269f5 add version 2.30 to r-mcmcglmm (#21093) 2021-01-17 11:23:41 -06:00
Glenn Johnson
27f3bcecee add version 1.15.6 to r-mco (#21094) 2021-01-17 11:22:54 -06:00
Glenn Johnson
158c6da440 add version 0.5-2 to r-mda (#21095) 2021-01-17 11:22:15 -06:00
Glenn Johnson
505dc3c0cf new package: r-mathjaxr (#21096)
Provides 'MathJax' and macros to enable its use within Rd files for
rendering equations in the HTML help files.
2021-01-17 11:21:33 -06:00
Glenn Johnson
ef9a0ed08d add version 1.8-33 to r-mgcv (#21097) 2021-01-17 11:20:38 -06:00
Glenn Johnson
679f6b3dfc add version 0.9 to r-mime (#21098) 2021-01-17 11:19:52 -06:00
Glenn Johnson
ed87d83bce add version 0.9-0 to r-misc3d (#21099) 2021-01-17 11:19:11 -06:00
Glenn Johnson
53984edf2e add version 1.2.0 to r-mixtools (#21100) 2021-01-17 11:18:22 -06:00
Glenn Johnson
6f3c53e12e add version 2.18.0 to r-mlr (#21101) 2021-01-17 11:17:29 -06:00
Glenn Johnson
010daebf50 add version 1.1.5 to r-mlrmbo (#21102) 2021-01-17 11:15:45 -06:00
Glenn Johnson
2d8b8c395e add version 0.1.3 to r-mmwrweek (#21103) 2021-01-17 11:14:30 -06:00
Glenn Johnson
8ebf242e8f new package: r-tmvnsim (#21104)
Importance sampling from the truncated multivariate normal using the GHK
(Geweke-Hajivassiliou-Keane) simulator. Unlike Gibbs sampling which can
get stuck in one truncation sub-region depending on initial values, this
package allows truncation based on disjoint regions that are created by
truncation of absolute values. The GHK algorithm uses simple Cholesky
transformation followed by recursive simulation of univariate truncated
normals hence there are also no convergence issues. Importance sample is
returned along with sampling weights, based on which, one can calculate
integrals over truncated regions for multivariate normals.
2021-01-17 11:13:47 -06:00
Glenn Johnson
ee0221d973 add version 0.1.8 to r-modelr (#21105) 2021-01-17 11:12:57 -06:00
Glenn Johnson
eefdadfe7e add version 0.2-23 to r-modeltools (#21106) 2021-01-17 11:11:18 -06:00
Glenn Johnson
40700930ea add version 1.4-15 to r-multcomp (#21107) 2021-01-17 11:10:34 -06:00
Glenn Johnson
3213dbf27f add version 0.1-10 to r-multicool (#21108) 2021-01-17 11:09:22 -06:00
Glenn Johnson
b756df13d7 add version 1.0-15 to r-multitaper (#21109) 2021-01-17 11:08:38 -06:00
Glenn Johnson
50a361f75e add version 1.1-1 to r-mvtnorm (#21110) 2021-01-17 11:07:54 -06:00
Glenn Johnson
15afce3f8b add version 0.2.9 to r-rcppcctz (#21111) 2021-01-17 11:06:59 -06:00
Adam J. Stewart
fc7e48daf0 util-linux-uuid: don't install to system directories (#21000) 2021-01-16 22:01:05 +01:00
Glenn Johnson
255df2455c r-cubature: added v2.0.4.1 (#20871) 2021-01-16 17:44:47 +01:00
Glenn Johnson
3193817b27 r-data-table: add v1.13.6 (#20872) 2021-01-16 17:31:07 +01:00
Glenn Johnson
74144d44d8 R geor (#20990) 2021-01-16 15:27:59 +01:00
Glenn Johnson
9c4c558e2a add version 2.0.3.2 to r-gdalutils (#20985) 2021-01-16 15:27:47 +01:00
Glenn Johnson
a539cfc857 add version 2.1.8 to r-gbm (#20983) 2021-01-16 15:27:37 +01:00
Glenn Johnson
ebce4325e8 add version 5.1-7 to r-gamlss-dist (#20982) 2021-01-16 15:27:26 +01:00
Glenn Johnson
72218aeebb add version 5.2-0 to r-gamlss (#20981) 2021-01-16 15:27:12 +01:00
Glenn Johnson
e56d4826b7 add version 1.5.0 to r-fs (#20980) 2021-01-16 15:27:02 +01:00
Glenn Johnson
85d6620ce0 add version 1.5-1 to r-fracdiff (#20979) 2021-01-16 15:26:47 +01:00
Glenn Johnson
bf91917f99 add version 2.2-9 to r-fpc (#20978) 2021-01-16 15:26:38 +01:00
Glenn Johnson
5e9aac9c1f add version 1.2-4 to r-formula (#20977) 2021-01-16 15:26:27 +01:00
Glenn Johnson
7f2742ecd4 add version 8.13 to r-forecast (#20974) 2021-01-16 15:25:54 +01:00
Glenn Johnson
35232bc38c add version 1.5.1 to r-foreach (#20973) 2021-01-16 15:25:44 +01:00
Glenn Johnson
38199ce9cf add version 0.5.0 to r-forcats (#20972) 2021-01-16 15:25:30 +01:00
Glenn Johnson
e65551a158 add version 1.7.2 to r-jsonlite (#20971) 2021-01-16 15:25:17 +01:00
Glenn Johnson
89009c10af new package: r-proc (#20970) 2021-01-16 15:25:07 +01:00
Glenn Johnson
2eed811a1f add version 1.1.0 to r-tidyselect (#20968) 2021-01-16 15:24:07 +01:00
Glenn Johnson
fae1c812e4 add version 1.7-16 to r-ade4 (#20967) 2021-01-16 15:23:47 +01:00
Glenn Johnson
c0ad6ab46c add version 2.1.3 to r-adegenet (#20966) 2021-01-16 15:23:35 +01:00
Glenn Johnson
700d7f3f6c add version 0.21 to r-bookdown (#20963) 2021-01-16 15:22:31 +01:00
Glenn Johnson
6f7b939e07 add version 0.1.3.1 to r-c50 (#20962) 2021-01-16 15:22:17 +01:00
Glenn Johnson
db37d0ab12 add version 3.5.1 to r-callr (#20961) 2021-01-16 15:22:05 +01:00
Glenn Johnson
d291612c59 add version 0.9.2 to r-cdcfluview (#20960) 2021-01-16 15:21:53 +01:00
Glenn Johnson
d2e0a2448f add version 1.0.4 to r-construct (#20954) 2021-01-16 15:21:18 +01:00
Glenn Johnson
ad034af7dc add version 0.4.12 to r-circlize (#20958) 2021-01-16 15:20:26 +01:00
Glenn Johnson
184fb792f5 fix list_url for r packages (#20955) 2021-01-16 15:20:09 +01:00
Glenn Johnson
9bb4503be1 add version 1.1.1 to r-cowplot (#20953) 2021-01-16 15:18:55 +01:00
Glenn Johnson
98bebba0d8 add version 1.14.0 to r-dendextend (#20952) 2021-01-16 15:18:34 +01:00
Glenn Johnson
c00c145f4e add version 1.0.6.1 to r-diagrammer (#20950) 2021-01-16 15:18:21 +01:00
Glenn Johnson
6683921988 add version 1.8.2 to r-dorng (#20949) 2021-01-16 15:18:05 +01:00
Glenn Johnson
4d8eb48a40 add version 5.3.0 to r-earth (#20948) 2021-01-16 15:17:47 +01:00
Glenn Johnson
6a9d0b53a6 add version 0.4 to r-europepmc (#20947) 2021-01-16 15:17:26 +01:00
Glenn Johnson
8108501aca add version 0.5.1 to r-exactextractr (#20946) 2021-01-16 15:17:08 +01:00
Glenn Johnson
0dbdfa20ae add version 1.0.7 to r-factoextra (#20945) 2021-01-16 15:16:49 +01:00
Glenn Johnson
7c5ea8d3b4 add version 2.4 to r-factominer (#20943) 2021-01-16 15:16:35 +01:00
Glenn Johnson
47a4727ac5 add version 4.0.4 to r-ff (#20942) 2021-01-16 15:15:30 +01:00
Glenn Johnson
d9ef32ceff add version 4.4.1 to r-statnet-common (#20941) 2021-01-16 15:15:13 +01:00
Glenn Johnson
41cc3404a4 add version 0.9-7 to r-sf (#20851) 2021-01-16 15:13:54 +01:00
Alberto Chiusole
bf660bff04 Update IOR to 3.3.0 + set as preferred (#20986) 2021-01-16 15:13:15 +01:00
Glenn Johnson
d3f78eacdf add version 0.1.0 to r-generics (#20987) 2021-01-16 15:12:21 +01:00
Glenn Johnson
ba024fdb7d add version 1.0.5 to r-getoptlong (#20988) 2021-01-16 15:12:08 +01:00
Glenn Johnson
fa33c534f7 add version 0.1-8.1 to r-jpeg (#20989) 2021-01-16 15:11:53 +01:00
Glenn Johnson
5abf70d48d add version 0.1.22 to r-ggdendro (#20991) 2021-01-16 15:11:28 +01:00
Glenn Johnson
74418d1aed add version 0.3.2 to r-ggforce (#20992) 2021-01-16 15:11:13 +01:00
Glenn Johnson
d409004f70 new package: r-isoband (#20993) 2021-01-16 15:10:57 +01:00
Glenn Johnson
6acfca4635 add version 0.0.5 to r-ggplotify (#20994) 2021-01-16 15:10:37 +01:00
Glenn Johnson
9bb72ea946 add version 0.9.0 to r-ggrepel (#20995) 2021-01-16 15:10:21 +01:00
Glenn Johnson
e87b1b7aa4 add version 0.5.3 to r-ggridges (#20996) 2021-01-16 15:10:08 +01:00
Glenn Johnson
a98e48525d add version 0.4.7 to r-ggvis (#20997) 2021-01-16 15:09:46 +01:00
Cyrus Harrison
710fe02a9a update dray package with new versions and to fix issue with test variant (#19583)
* update dray package with new versions and to fix issue with test variant

* fix comment typo

* flake8 remove trailing white space on last line
2021-01-15 17:14:06 -06:00
QuellynSnead
330c48b244 zoltan: source code location change (#20787) 2021-01-15 10:59:38 +01:00
Glenn Johnson
ad0c0e81fd r-pixmap: added new package (#20795) 2021-01-15 10:51:35 +01:00
Glenn Johnson
59cf4c9039 add version 0.8-18 to r-amap (#20803) 2021-01-15 10:50:33 +01:00
Glenn Johnson
9756167049 add version 5.4-1 to r-ape (#20804) 2021-01-15 10:50:08 +01:00
Glenn Johnson
ee7ce1f44f add version 2.0.3 to r-argparse (#20805) 2021-01-15 10:49:40 +01:00
Glenn Johnson
1798ae9b39 add version 1.2.1 to r-backports (#20806) 2021-01-15 10:47:38 +01:00
Glenn Johnson
8599480ed9 add version 3.1-4 to r-bayesm (#20807) 2021-01-15 10:47:14 +01:00
Glenn Johnson
13d0618f03 add version 0.4.2.3 to r-bibtex (#20815) 2021-01-15 10:46:49 +01:00
Glenn Johnson
8f7b50b01f add version 2.4-1 to r-bio3d (#20816) 2021-01-15 10:46:17 +01:00
Glenn Johnson
3d3761f8f0 add version 4.0.4 to r-bit (#20818) 2021-01-15 10:45:52 +01:00
Glenn Johnson
0024c8df08 add version 1.2.1 to r-blob (#20819) 2021-01-15 10:45:26 +01:00
Glenn Johnson
d2c3fb5e45 add version 2.6 to r-rmarkdown (#20838) 2021-01-15 10:44:54 +01:00
Glenn Johnson
46c71d070f add version 0.2.3 to r-cubist (#20841) 2021-01-15 10:44:27 +01:00
Glenn Johnson
df29b9f55e add version 1.5-12.2 to r-cairo (#20842) 2021-01-15 10:43:21 +01:00
Glenn Johnson
699a1e7c86 add version 3.4.5 to r-processx (#20843) 2021-01-15 10:42:57 +01:00
Glenn Johnson
bbc733b84c add version 3.0-10 to r-car (#20844) 2021-01-15 10:42:28 +01:00
Glenn Johnson
84f5f8437f r-lifecycle: new package at v0.2.0 (#20845) 2021-01-15 10:42:06 +01:00
Glenn Johnson
0d27aa685d add version 1.0.1 to r-caracas (#20846) 2021-01-15 10:41:26 +01:00
Glenn Johnson
0fe9fa6a75 add version 3.0-4 to r-cardata (#20847) 2021-01-15 10:40:46 +01:00
Glenn Johnson
c270629d23 add version 1.2.2.2 to r-modelmetrics (#20849) 2021-01-15 10:40:28 +01:00
Glenn Johnson
319a3c93f8 add version 1.18.1 to r-catools (#20850) 2021-01-15 10:39:37 +01:00
Glenn Johnson
ec307c83a6 add version 2.0.0 to r-checkmate (#20852) 2021-01-15 10:38:27 +01:00
Glenn Johnson
3ad021eef5 add version 0.4.10 to r-checkpoint (#20853) 2021-01-15 10:38:04 +01:00
Glenn Johnson
33325609be add version 2.3-56 to r-chron (#20854) 2021-01-15 10:37:35 +01:00
Glenn Johnson
aea0740cdc add version 0.1.2 to r-globaloptions (#20855) 2021-01-15 10:35:18 +01:00
Glenn Johnson
5cfb19fb34 add version 0.4-3 to r-classint (#20857) 2021-01-15 10:34:55 +01:00
Glenn Johnson
89b745ed3f add version 2.2.0 to r-cli (#20858) 2021-01-15 10:34:33 +01:00
Glenn Johnson
d2f99bb42b add version 0.7.1 to r-clipr (#20859) 2021-01-15 10:34:09 +01:00
Glenn Johnson
5eec0e418c add version 0.3-58 to r-clue (#20860) 2021-01-15 10:33:48 +01:00
Glenn Johnson
532ca134f3 add version 1.3.7 to r-clustergeneration (#20861) 2021-01-15 10:30:48 +01:00
Glenn Johnson
c654ce7557 add version 0.19-4 to r-coda (#20862) 2021-01-15 10:20:44 +01:00
Glenn Johnson
d2f7e6d020 add version 1.3-1 to r-coin (#20863) 2021-01-15 10:16:32 +01:00
Glenn Johnson
e0f75b6fc3 add version 2.0-0 to r-colorspace (#20864) 2021-01-15 10:15:55 +01:00
mic84
7762b8acdd amrex: add ROCm support (#20809) 2021-01-15 01:14:55 -08:00
Glenn Johnson
3b9144a4a4 add version 0.3.6 to r-vctrs (#20878) 2021-01-15 10:07:58 +01:00
Glenn Johnson
c8e4ded260 add version 0.4.10 to r-rlang (#20796) 2021-01-15 10:07:26 +01:00
Glenn Johnson
bf6b8cfe6e add version 2.0-1 to r-compositions (#20865) 2021-01-15 10:06:45 +01:00
Glenn Johnson
1b78ca678a add version 5.0.2 to r-rcppparallel (#20866) 2021-01-15 10:06:23 +01:00
Glenn Johnson
1973a01c9c add version 1.0-1 to r-copula (#20867) 2021-01-15 10:06:04 +01:00
Glenn Johnson
faa1f84d57 add version 1.1.0.1 to r-crosstalk (#20869) 2021-01-15 10:05:37 +01:00
Glenn Johnson
a7316a24ca add version 1.0.0 to r-crul (#20870) 2021-01-15 10:05:17 +01:00
Glenn Johnson
e596e6ba3a add version 0.2-3 to r-deldir (#20873) 2021-01-15 10:02:47 +01:00
Glenn Johnson
878d071974 add version 2.2-5 to r-deoptim (#20874) 2021-01-15 10:02:16 +01:00
Glenn Johnson
5a29444ac4 add version 1.28 to r-desolve (#20875) 2021-01-15 10:01:56 +01:00
Glenn Johnson
0c617d81cb add version 1.4.2 to r-httr (#20876) 2021-01-15 10:01:34 +01:00
Glenn Johnson
b7d992dd03 add version 1.5.8 to r-dicekriging (#20877) 2021-01-15 10:01:03 +01:00
Glenn Johnson
1e9eae7c1c add version 1.5 to r-rngtools (#20887) 2021-01-15 09:59:52 +01:00
Glenn Johnson
9a2155f7b1 add version 0.6.27 to r-digest (#20882) 2021-01-15 09:55:55 +01:00
Glenn Johnson
53c9b0232b add version 1.3-3 to r-dismo (#20883) 2021-01-15 09:55:28 +01:00
Glenn Johnson
d1c815ddb9 add version 0.9-15 to r-diversitree (#20884) 2021-01-15 09:55:06 +01:00
Glenn Johnson
7b80796882 add version 1.3.7 to r-domc (#20885) 2021-01-15 09:54:49 +01:00
Glenn Johnson
8697cf826d add version 1.0.16 to r-doparallel (#20886) 2021-01-15 09:54:26 +01:00
Glenn Johnson
e1fd840ccc r-dosnow: add v1.0.19 (#20888) 2021-01-15 09:53:29 +01:00
Glenn Johnson
52d2d24a4a r-dt: add v0.17 (#20889) 2021-01-15 09:52:28 +01:00
Glenn Johnson
1df3d65127 r-dtw: add v1.22-3 (#20890) 2021-01-15 09:51:58 +01:00
a-saitoh-fj
de085efd7d libzmq: add platform conditions to libbsd dependency (#20893) 2021-01-15 09:50:49 +01:00
darmac
1998630ca2 libvips: added v8.10.5 (#20902) 2021-01-15 09:48:56 +01:00
Adam J. Stewart
92b6d3ac67 py-anuga: add new package (#20782) 2021-01-15 09:47:18 +01:00
Abhinav Bhatele
2c44e62813 hatchet: updated urls (#20908) 2021-01-15 09:23:54 +01:00
Thomas Green
58d5b73ba4 Improve gcc detection in llvm. (#20189)
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
2021-01-15 09:22:58 +01:00
Glenn Johnson
56904d5834 r-plotmo: add v3.6.0 (#20909) 2021-01-15 09:16:59 +01:00
Glenn Johnson
1dc48dc92a r-ecp: add v3.1.3 (#20910) 2021-01-15 09:16:35 +01:00
Adam J. Stewart
ac2b9a3e24 py-fiscalyear: add v0.3.0 (#20911) 2021-01-15 09:16:08 +01:00
Glenn Johnson
3233debf1b r-ellipse: add v0.4.2 (#20912) 2021-01-15 09:15:33 +01:00
Glenn Johnson
a438828ec9 r-energy: add v1.7-7 (#20914) 2021-01-15 09:14:56 +01:00
Glenn Johnson
fca652ab65 r-envstats: add v2.4.0 (#20915) 2021-01-15 09:14:02 +01:00
Glenn Johnson
05906ab57e r-expint: add v0.1-6 (#20917) 2021-01-15 09:13:30 +01:00
Tomoyasu Nojiri
ed4dea2dc2 cln: add build dependency on texinfo (#20928) 2021-01-15 09:07:18 +01:00
Glenn Johnson
e160f649b8 r-expm: add v0.999-6 (#20918) 2021-01-15 09:03:58 +01:00
Glenn Johnson
4bab89bbff r-farver: add v2.0.3 (#20919) 2021-01-15 09:03:20 +01:00
Glenn Johnson
7fe5430d0c r-fftwtools: add v0.9-9 (#20920) 2021-01-15 09:02:49 +01:00
Glenn Johnson
3e93175b65 r-fields: add v11.6 (#20921) 2021-01-15 09:02:13 +01:00
Glenn Johnson
266132c06d r-fit-models: add v0.64 (#20922) 2021-01-15 09:01:14 +01:00
Glenn Johnson
71615632de r-fitdistrplus: add v1.1-3 (#20923) 2021-01-15 09:00:27 +01:00
Glenn Johnson
0f40d8b59f r-flexmix: add v2.3-17 (#20924) 2021-01-15 08:59:49 +01:00
Tomoyasu Nojiri
863bdd5115 libconfig: add build dependency on texinfo (#20930) 2021-01-15 08:45:14 +01:00
Glenn Johnson
a23404c7a7 r-ellipsis: added v0.3.1 (#20913) 2021-01-15 08:40:41 +01:00
Glenn Johnson
7cb4a8afe0 r-rle: new package (#20916)
Common 'base' and 'stats' methods for 'rle' objects, aiming to make it
possible to treat them transparently as vectors.
2021-01-15 08:39:44 +01:00
Adam J. Stewart
1e22b5a00b PCL: add new package (#20933) 2021-01-15 08:38:56 +01:00
h-denpo
ef764deb54 pocl: added v1.6 (#20932)
Made version 1.5 or lower conflicts with a64fx.
2021-01-15 08:29:27 +01:00
Tomoyasu Nojiri
03f6717c38 fujitsu-fftw: Add new package (#20824) 2021-01-14 19:34:12 +01:00
Henrique Mendonça
7dde96b795 py-hovorod: fix typo on variant name in conflicts directive (#20906) 2021-01-14 19:27:41 +01:00
Kelly (KT) Thompson
040f69f931 py-h5py: HDF5_DIR is needed for ~mpi too (#20905)
For the `~mpi` variant, the environment variable `HDF5_DIR` is still required.  I moved this command out of the `+mpi` conditional.
2021-01-14 13:27:04 -05:00
Glenn Johnson
89fd0faa40 r-class: added v7.3-17 (#20856) 2021-01-14 19:24:05 +01:00
Glenn Johnson
5d62b369de r-covr: added v3.5.1 (#20868) 2021-01-14 19:23:25 +01:00
Glenn Johnson
1a99c2ee46 r-diffusionmap: added v1.2.0 (#20881) 2021-01-14 19:22:40 +01:00
Glenn Johnson
49bdbfe08b r-e1071: added v1.7-4 (#20891) 2021-01-14 19:21:40 +01:00
Shintaro Iwasaki
94cb97e849 llvm-doe: added new package (#20719)
The package contains duplicated code from llvm/package.py,
will supersede solve.
2021-01-14 19:20:04 +01:00
Tomoyasu Nojiri
d0891d5d26 astyle: Fix makefile for install parameter (#20899) 2021-01-14 11:56:24 -06:00
Danny Taller
74b2c85b41 improve documentation for Rocm (hip amd builds) (#20812)
* improve documentation
2021-01-14 08:54:58 -08:00
darmac
b423db6ddb r-sf: fix dependency error (#20898) 2021-01-14 09:20:59 -06:00
Chuck Atkins
08e5baccef ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737)
This better enables the collective set to be deployed togethor satisfying
eachothers dependencies
2021-01-14 08:24:27 -05:00
mic84
f6dd85b2b0 amrex: fix handling of CUDA arch (#20786)
* amrex: fix handling of CUDA arch
* amrex: fix style
* amrex: fix bug
* Update var/spack/repos/builtin/packages/amrex/package.py
* Update var/spack/repos/builtin/packages/amrex/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-01-13 18:53:57 -08:00
Chuck Atkins
4f49b1a930 adios2: Define custom libs property (#20848) 2021-01-13 17:42:36 -05:00
Chuck Atkins
fc4e66ef3c adios2: Add 2.7.0 release (#20800)
This release also includes the HDF5 VOL plugin so I've added an additional
funciton to ensure the HDF5_PLUGIN_PATH env var gets updated with the adios
install prefix
2021-01-13 15:02:30 -05:00
Mark W. Krentel
54a4f0fc35 intel-xed: add version 12.0.1 (#20676)
* intel-xed: add version 12.0.1

Rework the version numbers for intel-xed, now that xed has actual
releases and tags.  Add releases 11.2.0 and 12.0.1.  Rename 2019.03.01
to 10.2019.03 as a legacy version that fits in the new order.

Add variant +pic to compile libxed.a with PIC code so that it can be
linked into another shared library.

Add conflict for aarch64.
Add mwkrentel as maintainer.
2021-01-13 11:46:38 -08:00
Kurt Sansom
21a0a2f6bb Miniconda: update (#20814) 2021-01-13 13:03:34 -06:00
steffen-AEI
bf0993c0d9 Add version 1.14.0 (#20836)
1.14.0 compiles with gcc@10.2.0, while 1.13.0 doesn't
2021-01-13 13:02:59 -06:00
Andrew-Dunning-NNL
a91dbcfa8c py-pyfiglet:new recipe (#20792)
* py-pyfiglet:new recipe

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

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

* py-pyfiglet: use pypi url

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-13 12:54:40 -06:00
Harmen Stoppels
3f1c264148 dbcsr: added rocm support (#20835)
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
2021-01-13 15:54:23 +01:00
Glenn Johnson
b9dfda19c1 r-blockmodeling: added v1.0.0 (#20820) 2021-01-13 15:45:59 +01:00
Glenn Johnson
661b94eba5 r-xfun: added v0.20 (#20821) 2021-01-13 15:19:14 +01:00
Glenn Johnson
241c8a0695 r-boot: added v1.3-25 (#20823) 2021-01-13 15:18:36 +01:00
Harmen Stoppels
dec35566d2 hipblas: add dependency on rocsolver (#20832) 2021-01-13 15:14:58 +01:00
Christoph Junghans
8af010ce5d votca-*: add v1.6.4 (#20822)
* votca-tools: add v1.6.4

* votca-csg: add v1.6.4

* votca-csg-tutorials: add v1.6.4

* votca-csgapps: add v1.6.4

* votca-xtp: add v1.6.4

* csgapps: master/stable version got merged into votca-csg
2021-01-13 07:07:53 -07:00
darmac
ccc1bb7324 libtomlc99: added v0.2020.12.23 (#20825) 2021-01-13 09:55:06 +01:00
Mark W. Krentel
991ff2fd94 hpctoolkit: add variant to support rocm (#20826)
Add early support for ROCM on AMD GPUs, for develop branch only.
Requires ROCM packages to be specified as external packages.
2021-01-13 09:54:17 +01:00
darmac
8b9f4d53da solr: add java as runtime dependency (#20827) 2021-01-13 09:52:00 +01:00
a-saitoh-fj
5cfa3d5c59 libzmq: add libbsd as a dependency (#20828)
libzmq started using strlcpy from v4.3.3
2021-01-13 09:48:03 +01:00
Tiziano Müller
5443558717 cp2k: add v8.1 (#20829) 2021-01-13 09:39:35 +01:00
Massimiliano Culpo
0bd76ac9e6 concretizer: require at least a dependency type to say the dependency holds
fixes #20784

Similarly to the previous bug, here we were deducing
conditions to be imposed on nodes that were not part
of the DAG.
2021-01-12 22:23:39 -08:00
Massimiliano Culpo
ed8fe68cf2 concretizer: dependency conditions cannot hold if package is external
fixes #20736

Before this one line fix we were erroneously deducing
that dependency conditions hold even if a package
was external.

This may result in answer sets that contain imposed
conditions on a node without the node being present
in the DAG, hence #20736.
2021-01-12 22:23:39 -08:00
Robert Blake
a2eb587a95 py-torchvision@0.5.0 depends on py-torch@1.4.1 (#20811) 2021-01-12 17:13:43 -06:00
Massimiliano Culpo
b3419c06c5 libyogrt: remove conflicts triggered by an invalid value (#20794)
fixes #20611

The conflict was triggered by an invalid value of the
'scheduler' variant. This causes Spack to error when libyogrt
facts are validated by the ASP-based concretizer.
2021-01-12 17:11:50 -06:00
Robert Underwood
823ab32c10 restore ability of dev-build to skip patches (#20351)
At some point in the past, the skip_patch argument was removed
from the call to package.do_install() this broke the --skip-patch
flag on the dev-build command.
2021-01-12 14:32:04 -06:00
archxlith
e10c0a6a34 New package [py-pylops] (#20777)
* New package [py-pylops]

* [py-pylops] Seperated optional dependecies into a variant called advanced
2021-01-12 12:36:53 -06:00
Harmen Stoppels
1d7babe955 dbcsr, cp2k: fix cuda arch conflicts in asp concretizer (#20784) 2021-01-12 18:01:32 +01:00
christopher coffey
ecc59de51d kraken2: added v2.1.1 (#20785) 2021-01-12 10:43:55 +01:00
downloadico
1a45ce132d hybrid-lambda: added new package (#20754)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-12 10:42:23 +01:00
ketsubouchi
506da6891a dsqss: new package at v2.0.3 (#20723)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-12 10:00:30 +01:00
a-saitoh-fj
c6f13cb20f py-distributed: added v2020.12.0 (#20722) 2021-01-12 09:57:53 +01:00
Harmen Stoppels
a2a0262f79 hip: fix naming of libraries when installing from tarballs (#20780)
There's two issues with hip where it tries to autodetect the patch
version number from git (when installed), but it does not check if it
even is inside of a git repo. The result is we end up with a shared lib
with a trailing dash in the library suffix: `libamd64.so.x.y.z-`, which
confuses GCC. The patch tries to check if the `.git` folder exists, and
if it does not, it handles version numbering the same as when git was
not installed previously.
2021-01-12 09:48:03 +01:00
archxlith
60a58d89e7 New package [py-scikit-fmm] (#20775)
* New package [py-scikit-fmm]

* [py-scikit-fmm] Removed redundant depends_on
2021-01-11 16:36:29 -06:00
AMD Toolchain Support
e7ed832c8d spack recipe for amdlibm (#20487) 2021-01-11 12:13:54 -08:00
archxlith
8066ca8a8e New package [py-spgl1] (#20776) 2021-01-11 12:49:36 -06:00
AMD Toolchain Support
de3504ca29 wrf: add AOCC support for v4.2 (#20772) 2021-01-11 12:13:59 +01:00
Adam J. Stewart
ec0226ec6e libquo: add maintainer (#20583) 2021-01-11 11:55:53 +01:00
lorddavidiii
a9d6e69789 New versions of opencl-c-headers, opencl-clhpp and ocl-icd (#20724)
* opencl-c-headers: add new version 2020.12.18

* opencl-clhpp: add new version 2.0.13

* opencl-headers: now supports OpenCL 3.0 with new versions of opencl-c-headers and opencl-clhpp

* ocl-icd: add new version 2.2.14 add now can provide OpenCL 3.0
2021-01-11 11:39:02 +01:00
Erik Schnetter
e9c2bc5d7f gsl: added v2.6 (#20726) 2021-01-11 11:13:44 +01:00
Adam J. Stewart
881bdd5b9e Package Repositories docs: num packages has grown (#20735) 2021-01-11 11:00:14 +01:00
darmac
c199f37e94 ply: added new package (#20764) 2021-01-11 10:46:04 +01:00
Erik Schnetter
9049829c8e asdf-cxx: correct swig dependency details (#20752) 2021-01-11 10:29:55 +01:00
Axel Huebl
53b70451fd openPMD-api: added v0.13.1 (#20761) 2021-01-11 09:55:26 +01:00
Aurelien Bouteiller
63eabae0ec PaRSEC: added new package (#20170)
PaRSEC: the Parallel Runtime Scheduler and Execution Controller for micro-tasks on distributed heterogeneous systems.

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2021-01-11 09:25:26 +01:00
Keita Iwabuchi
9a1ab9a8a3 metall: added v0.8 and v0.9 (#20763) 2021-01-11 09:11:09 +01:00
Tamara Dahlgren
31f26daf10 Update the docs footer copyright (#20741) 2021-01-11 08:00:08 +01:00
Erik Schnetter
dc0deb3e3d hwloc: New version 2.4.0 (#20727)
New versions 1.11.12, 1.11.13, 2.3.0, 2.4.0.
2021-01-10 22:21:26 +01:00
Teodor Nikolov
a190876bdc COSMA: latest version (#20760) 2021-01-10 19:58:30 +01:00
eugeneswalker
d6ba623669 llvm-amdgpu: add variant: openmp (bool) (#20759) 2021-01-10 19:57:28 +01:00
Erik Schnetter
5dacb1b550 libjpeg-turbo: added v2.05 and v2.06 (#20770) 2021-01-10 10:36:27 +01:00
Erik Schnetter
dc52168feb libevent: added v2.1.12, v2.1.11 and v2.1.10 (#20771) 2021-01-10 10:35:50 +01:00
Andrew W Elble
0c1e99b3c8 py-tensorflow: version updates, add 2.4.0 (#20702)
* py-tensorflow: 2.4.0 and dependency updates

* minor version updates

* fix numpy dependency

* dependency rework: compatible release issues, start to clarify cuda versions

* --incompatible_no_support_tools_in_action_inputs was removed in bazel 3.6

* adjustment to versions of cuda dependency, also make sure that
patches/filters still apply to certain release trains.

* python 3.8 and tf < 2.2 have issues

* missed py-grpcio version bump
2021-01-09 12:03:49 -06:00
Seth R. Johnson
1e3f6489c4 ForTrilinos: add version 2.0.0 (#20695)
I finally figured out how to get version 2.0.0 to play nice with the dev
versions. Yuck.
2021-01-08 15:48:23 -05:00
Jamie Finney
3f0f79d2c9 Remove ascent gitlab trigger (#20755)
Remove the ORNL Ascent gitlab trigger 

CI will now be done internally via periodic builds.
2021-01-08 12:57:50 -07:00
Robert Cohn
ea0b001597 intel-oneapi-mpi: virtual provider support (#20732)
Set up environment and dependent packages properly when building
with intel-oneapi-mpi as a dependency MPI provider (e.g. point to
mpicc compiler wrapper).
2021-01-08 10:47:03 -08:00
mic84
1d4cbcd93f amrex: expand CUDA support (#20740)
* amrex: expand CUDA support
2021-01-08 09:44:59 -08:00
Robert Underwood
2f19346c9a py-scikit-learn: do parallel builds of C extension (#20733)
Enabled parallel builds of the C-extension upto the parallelism allowed
by spack.

https://scikit-learn.org/stable/developers/advanced_installation.html#parallel-builds
2021-01-07 14:58:33 -06:00
Jen Herting
b6e32a265b New package: py-testfixtures (#20432)
* [py-testfixtures] copied from slpits

* [py-testfixtures] removed extends('python')

* [py-testfixtures] removed unnecessary dependencies
2021-01-07 12:29:33 -06:00
Andrew W Elble
1ada637613 py-six: 1.15.0 (#20710)
* py-six: 1.15.0

* depend on specific python version(s)
2021-01-06 19:21:39 -06:00
Joshua S Brown
b933454250 Fix dependencies and https address of gitpython (#20669)
* Fix dependencies and https address of gitpython

* Fix gitpython, use pypi repo, fix checksums

* Use pypi

* Revert to python 3.4 dependency
2021-01-06 19:21:11 -06:00
Gabriel Rockefeller
f1a4ac5c37 eospac: add version 6.4.2beta (#20681)
* eospac: add version 6.4.2beta

* eospac: clarify EOSPAC "beta" versions

Compared to 6.4.1, EOSPAC 6.4.2beta contains only one change, a fix
for an inability to read some SESAME files in ASCII format.  From the
release announcement,

    EOSPAC 6.4.2beta has been released for general use as the latest
    (i.e., eospac6-latest) versions.  This is a small patch to the
    previously-released version 6.4.1, which was requested by an
    affected user.

But the "beta" label can cause confusion, especially when a beta
version is the new preferred version, as is the case here.  As
suggested by reviewers, add a comment clarifying EOSPAC's use of
"beta".
2021-01-06 18:06:17 -06:00
Andrew W Elble
61fc26e197 py-wheel: 0.35.1 (#20713) 2021-01-06 16:04:31 -06:00
Andrew W Elble
559c64c365 flatbuffers: python variant (#20706) 2021-01-06 15:59:09 -06:00
Andrew W Elble
820840d448 py-wrapt: 1.12.1 (#20707) 2021-01-06 15:56:59 -06:00
Andrew W Elble
8e04217672 py-opt-einsum: 3.3.0 (#20712) 2021-01-06 15:56:03 -06:00
Andrew W Elble
136753ccd9 py-absl-py: 0.10.0 (#20709) 2021-01-06 15:55:48 -06:00
Andrew W Elble
8968123dae py-google-pasta: 0.2.0 (#20711) 2021-01-06 15:53:23 -06:00
Andrew W Elble
0bb495ce6f nccl: 2.8.3-1 (#20708) 2021-01-06 15:47:25 -06:00
Erik Schnetter
682c31d380 qthreads: New version 1.15 (#20704) 2021-01-06 13:09:57 -08:00
Robert Maynard
2c04bebc32 Update kokkos amd gpu archs and required C++ level (#20096)
* Remove unsupported AMD GPU archs
* Kokkos requires C++14 now
2021-01-06 13:08:07 -08:00
eugeneswalker
6157854de6 fix gpg user rundir check (#20705) 2021-01-06 12:29:00 -08:00
Jordan Ogas
e2f2417a31 add charliecloud/0.21 (#20703) 2021-01-06 12:13:31 -08:00
Rémi Lacroix
4e12cab9e3 SLEPc: Set SLEPC_DIR in the module file. (#20698) 2021-01-06 11:05:35 -08:00
Greg Sjaardema
ac3f8656fb SEACAS: Update to lastest version (#20701) 2021-01-06 10:53:45 -08:00
Frank Willmore
c3fad97487 intel-oneapi-compilers package: correct module file (#20686)
This properly sets PATH/CPATH/LIBRARY_PATH etc. to make the
Spack-generated module file for intel-oneapi-compilers useful
(without this, 'icx' would not be found after loading the module
file for intel-oneapi-compilers).
2021-01-06 10:45:42 -08:00
Robert Cohn
74a54077f5 fix mpi lib paths, add virtual provides (#20693) 2021-01-06 10:37:24 -08:00
Ye Luo
844d98f727 Remove hard-coded standard C++ library selection and add more releases in llvm package (#19933)
* Restore OS based Clang default choice of C++ standard library.

* Add LLVM 11.0.1 release
2021-01-06 12:17:20 -06:00
Toyohisa Kameyama
587d25ad45 parallelio: New Package. (#20673) 2021-01-06 10:05:43 -08:00
Dr. Christian Tacke
dabee2cee8 libc: Return empty libs (#20338)
The C-Library for the current compiler should already be used by the compiler. So there is no point in returning any libs for this package.

Without this patch: if one uses this as an external package (as intended), then this will can inject system library paths into the build process at the wrong place.
2021-01-06 10:01:07 -08:00
jkelling
8956c8c7b7 magma: remove -W args from CMakeLists.txt when using nvhpc (#20516) 2021-01-06 10:51:05 +01:00
Erik Schnetter
8860db4021 arrayfire: added v3.7.3 (#20612) 2021-01-06 10:46:02 +01:00
Rémi Lacroix
89b94d968d libtheora: fetch a patch instead of storing it in Spack (#20620) 2021-01-06 10:44:05 +01:00
Rémi Lacroix
d30f9e5806 Blitz: added v1.0.2 (#20614) 2021-01-06 10:35:21 +01:00
Josh Essman
1cd4b134cb mfem: link to nveccuda when +sundials+cuda (#20588) 2021-01-06 10:34:42 +01:00
Rémi Lacroix
c2411117f3 r-genefilter: added v1.72. (#20627) 2021-01-06 10:23:25 +01:00
Rémi Lacroix
83697161b4 Nek5000: Improve support for OpenMPI without legacy launchers. (#20622)
Use "srun" for the nekmpi wrapper when we know "mpiexec" won't be available.
2021-01-06 10:20:41 +01:00
Rémi Lacroix
3f40d15c84 Gromacs: simplify hwloc dependency. (#20619)
Additionaly remove the version constraint as newer versions work with OpenMPI 4.X.Y and the new experimental concretizer is now available for testing.
2021-01-06 10:19:48 +01:00
Adam J. Stewart
5aabd59335 py-scipy: add v1.6.0 (#20637) 2021-01-06 10:17:36 +01:00
Adam J. Stewart
4da57e8afa GDAL: add v3.2.1 (#20664) 2021-01-06 10:06:32 +01:00
Tao Lin
05ab114ff9 GenFit: added new package (#20653)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-06 09:55:49 +01:00
Brian Van Essen
385c503d8e lbann: make catch2 a "build" and "test" dependency (#20666) 2021-01-06 09:53:30 +01:00
Luca Heltai
812a3fb0ae dealii: fix concretization problem between trilinos and adol-c (#20606) 2021-01-06 09:51:21 +01:00
Adam J. Stewart
c247999c65 py-sphinx-rtd-theme: remove npm dependency (#20675) 2021-01-06 09:39:06 +01:00
Adam J. Stewart
0a69cf5936 py-numpy: add v1.19.5 (#20684) 2021-01-06 09:16:46 +01:00
Massimiliano Culpo
3ae4a5d3cf qa: use dependabot to update Github Actions 2021-01-06 00:00:33 -08:00
Adam J. Stewart
323667ce2a fakexrandr: add new package (#20687) 2021-01-06 08:59:12 +01:00
Adam J. Stewart
564aebdb1a Xorg proto: type build -> link (#20685) 2021-01-06 08:56:22 +01:00
Desmond Orton
8d0f5c0a6f py-picrust2: added new package (#20455) 2021-01-06 08:54:36 +01:00
Gregory Lee
7dbc4d32db update stat and deps with bug fixes (#20690) 2021-01-06 08:36:56 +01:00
Sinan
1f2f82d388 libspatialite: added v5.0.0 (#20293)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2021-01-06 08:16:25 +01:00
estewart08
7faa0a9e43 Rocm-openmp-extras 4.0 version updates (#20692) 2021-01-05 22:48:54 -06:00
Sreenivasa Murthy Kolam
023cb7ab7f bump up version for rocm-4.0.0 release (#20691) 2021-01-05 22:25:45 -06:00
ketsubouchi
15a7723645 alps: fix for latest gcc and test bug (#20462)
* gcc build OK

* gcc mc-01 OK

* time test problem

* remove comment and debug

* use climit

* TAB to spaces

* comment
2021-01-05 22:24:50 -06:00
Massimiliano Culpo
0111a18b23 concretizer: make rules on virtual packages more linear
fixes #20679

In this refactor we have a single cardinality rule on the
provider, which triggers a rule transforming a dependency
on a virtual package into a dependency on the provider of
the virtual.
2021-01-05 16:59:15 -08:00
Vanessasaurus
67ce1939a3 spack python: allow use of IPython (#20329)
This adds a -i option to "spack python" which allows use of the
IPython interpreter; it can be used with "spack python -i ipython".
This assumes it is available in the Python instance used to run
Spack (i.e. that you can "import IPython").
2021-01-05 16:54:47 -08:00
andymwood
35d81a9006 VTK: add -no-ipo for builds using intel compiler (#20480)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-05 13:11:29 -08:00
Greg Becker
61c1b71d38 bugfix for target adjustments on target ranges (#20537) 2021-01-05 12:27:13 -08:00
Ethan Stam
18110346c8 Mesa: use auto when llvm is built shared (#20683) 2021-01-05 13:04:57 -07:00
estewart08
32c7241089 Updates and Enhancements to AOMP Recipe. Added version 3.10.0. (#20464)
* Update recipe for AOMP.
Reduced repitition with version hashes.
Expanded dependency versioning.
Reduced repitition with cmake args.
Added version 3.10.0

* Update dependency versions and remove uneeded quotes.

* Update var/spack/repos/builtin/packages/aomp/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-05 13:39:57 -06:00
estewart08
c55b3bf2d9 AMD ROCm 3.10 Release: Add new package recipe for rocm-openmp-extras. (#20204)
* AMD ROCm 3.9 Release: Add new package recipe for openmp-extras.

* Updated openmp-extras recipe.

Changed name to rocm-openmp-extras.
Reduced repitition with component hashes.
Adjusted the removal of CMAKE_BUILD_TYPE.
Reduced repitition in cmake args.
Added 3.10.0 to recipe.

* Update python/py-setuptools dependency versions.

* Expand dependency versions, fix the openmp cmake args.

* Remove double formats.

* Substitute escape characters with string=True for filter_file(s).

* Remove CMAKE_VERBOSE_MAKEFILE, already present in standard args.
2021-01-05 13:39:38 -06:00
Rémi Lacroix
072d21ad96 Berkeley-DB: Fix compilation with NVIDIA HPC Compilers on Red Hat 8. (#20616) 2021-01-05 10:45:22 -08:00
Luca Heltai
155a3b3a08 Fix compilation for boost@1.72: (#20618) 2021-01-05 10:42:11 -08:00
Rémi Lacroix
18d14eb765 ParaView: Allow choosing a CUDA architecture. (#20623)
This is useful when the "native" architecture cannot be guessed.
2021-01-05 10:37:00 -08:00
Harmen Stoppels
4a7c4e6667 Add cray-fftw (#20654) 2021-01-05 10:22:49 -08:00
Robert Cohn
a1e4465c59 compiler version format changed (#20671) 2021-01-05 09:37:46 -08:00
MBlaschek
4d3c9da872 Update of Eccodes to 2.19.1 (#20368)
* Update of Eccodes to 2.19.1

* PEP8

* PEP8

* PEP8-whitespace

* Update var/spack/repos/builtin/packages/eccodes/package.py

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

Co-authored-by: Michael Blaschek <michael.blaschek@univie.ac.at>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-05 10:09:11 -06:00
AMD Toolchain Support
350418ec35 AOCC support for WRFv3.9.1.1 (#20568)
* AOCC support for WRFv3.9.1.1

* r' as prefix for string literal
2021-01-05 10:06:24 -06:00
Todd Gamblin
5ac05db917 concretizer: use consistent naming for compiler predicates (#20677)
Every other predicate in the concretizer uses a `_set` suffix to
implement user- or package-supplied settings, but compiler settings use a
`_hard` suffix for this. There's no difference in how they're used, so
make the names the same.

- [x] change `node_compiler_hard` to `node_compiler_set`
- [x] change `node_compiler_version_hard` to `node_compiler_version_set`
2021-01-05 08:41:01 +01:00
Axel Huebl
e6d462589f OpenMPI: Depends on hwlock & libevent (#20658)
* OpenMPI: Depends on hwlock & libevent

Both hwlock & libevent are required dependencies of Open MPI.
While they are also shipped internally, newer releases (>=4.0)
will start looking for external packages by default.

This caused build issues of Open MPI 4.0.5 with Fortran on macOS
10.15.

* Open MPI 4.0: libevent external

Internally shipped libevent just works fine for prior releases.
2021-01-04 21:05:11 -06:00
Jim Huang
e5b03770ed SS2NEON transition to new repository; update headers and patch (#20647) 2021-01-04 18:45:47 -08:00
mic84
ad29f2148e amrex: new version 21.01 (#20659) 2021-01-04 18:41:06 -08:00
Stephanie Brink
dec98ed754 py-hatchet: added latest versions up to 1.3.0 (#20667) 2021-01-04 18:38:44 -08:00
Peter Scheibel
22a45e010a Bugfix: Support old installations using Cray MPICH (#20663)
#20076 moved Cray-specific MPICH support from the Spack MPICH package
to a new cray-mpich Package. This broke existing package installs
using external mpich on Cray systems. This PR keeps the cray-mpich
package but restores the Cray-specific MPICH support for older
installations.

In the future this support should be removed from the Spack mpich
package and users should be directed to use cray-mpich on Cray.
2021-01-04 17:19:08 -08:00
Sreenivasa Murthy Kolam
f4acf74091 bump up rocm math libs recipes for rocm-4.0.0 release (#20651) 2021-01-05 00:02:03 +01:00
Todd Gamblin
9c941bb706 concretizer: simplify handling of virtual version constraints
Previously, the concretizer handled version constraints by comparing all
pairs of constraints and ensuring they satisfied each other. This led to
INCONSISTENT ressults from clingo, due to ambiguous semantics like:

    version_constraint_satisfies("mpi", ":1", ":3")
    version_constraint_satisfies("mpi", ":3", ":1")

To get around this, we introduce possible (fake) versions for virtuals,
based on their constraints. Essentially, we add any Versions,
VersionRange endpoints, and all such Versions and endpoints from
VersionLists to the constraint. Virtuals will have one of these synthetic
versions "picked" by the solver. This also allows us to remove a special
case from handling of `version_satisfies/3` -- virtuals now work just
like regular packages.
2021-01-04 14:51:10 -08:00
Todd Gamblin
a1ed71f7e4 concretizer: remove rule generation code from concretizer
Our program only generates facts now, so remove all unused code related
to generating cardinality constraints and rules.
2021-01-04 14:51:10 -08:00
Todd Gamblin
0ce08640e0 concretizer: convert virtuals to facts; move all rules to concretize.lp
This converts the virtual handling in the new concretizer from
already-ground rules to facts. This is the last thing that needs to be
refactored, and it converts the entire concretizer to just use facts.

The previous way of handling virtuals hinged on rules involving
`single_provider_for` facts that were tied to the virtual and a version
range. The new method uses the condition pattern we've been using for
dependencies, externals, and conflicts.

To handle virtuals as conditions, we impose constraints on "fake" virtual
specs in the logic program. i.e., `version_satisfies("mpi", "2.0:",
"2.0")` is legal whereas before we wouldn't have seen something like
this. Currently, constriants are only handled on versions -- we don't
handle variants or anything else yet, but they key change here is that we
*could*. For a long time, virtual handling in Spack has only dealt with
versions, and we'd like to be able to handle variants as well. We could
easily add an integrity constraint to handle variants like the one we use
for versions.

One issue with the implementation here is that virtual packages don't
actually declare possible versions like regular packages do. To get
around that, we implement an integrity constraint like this:

    :- virtual_node(Virtual),
       version_satisfies(Virtual, V1), version_satisfies(Virtual, V2),
       not version_constraint_satisfies(Virtual, V1, V2).

This requires us to compare every version constraint to every other, both
in program generation and within the concretizer -- so there's a
potentially quadratic evaluation time on virtual constraints because we
don't have a real version to "anchor" things to. We just say that all the
constraints need to agree for the virtual constraint to hold.

We can investigate adding synthetic versions for virtuals in the future,
to speed this up.
2021-01-04 14:51:10 -08:00
Todd Gamblin
49ac3471cf concretizer: consolidate handling of virtuals into spec_clauses 2021-01-04 14:51:10 -08:00
Todd Gamblin
fa411e7c07 concretizer: make _condtion_id_counter an iterator 2021-01-04 14:51:10 -08:00
Todd Gamblin
3cc89726ee concretizer: more detailed section headers in concretize.lp 2021-01-04 14:51:10 -08:00
Rémi Lacroix
39b77e1b39 r-codetools: Update package (#20626) 2021-01-04 14:46:47 -08:00
Mark W. Krentel
735d5c3769 libunwind: add version 1.5.0 (#20632)
Add version 1.5.0, remove 1.4-rc1 (use 1.4.0) and 1.5-rc1 (use 1.5.0).
2021-01-04 14:37:52 -08:00
Fabian Brandt
0c6641abd0 Update libnetworkit, py-networkit to 8.0 (#20478) 2021-01-04 16:14:06 -06:00
yellowhat
4dd6ba44f2 fftw: bump to 3.3.9 (#20634) 2021-01-04 23:01:42 +01:00
Massimiliano Culpo
cfd0ff52d1 ci: fix issue with latest sphinx (#20661) 2021-01-04 22:10:49 +01:00
Dave Love
11dd7ffad6 Add procenv (#20121)
* Add procenv

* procenv: Only buildrequire check

* procenv:  Patch for gcc 10

* procenv:  Add omitted patch

* Indent doc string
2021-01-04 22:08:54 +01:00
darmac
1b33008705 libthai: new package at v0.1.28 (#19916) 2021-01-04 17:36:12 +01:00
Sreenivasa Murthy Kolam
c9e6a4d18b Bumpup version for rocm 4.0.0 release (#20640) 2021-01-04 17:16:26 +01:00
Sreenivasa Murthy Kolam
efb1e19339 bumpup version for rocm stage1 recipes for rocm-4.0.0 release (#20635) 2021-01-04 17:06:44 +01:00
Rémi Lacroix
47998b3f47 Libnsl: added v1.3.0 and v1.1.0. (#20645) 2021-01-04 16:34:42 +01:00
Rémi Lacroix
573d2ce2e1 Plumed: added v2.7.0. (#20646) 2021-01-04 16:34:09 +01:00
Axel Huebl
a3fb8e55d5 openPMD-api: 0.13.0 (#20648)
Add the latest release of openPMD-api.

Remove a selection of unsupported, pre-beta releases.
2021-01-04 16:29:46 +01:00
Tomoyasu Nojiri
a5611e0466 exciting: fix build on aarch64 (#20505) 2021-01-04 16:26:18 +01:00
Todd Gamblin
16ce207481 bugfix: infinite loop when building a set from incomplete specs (#20649)
This code in `SpecBuilder.build_specs()` introduced in #20203, can loop
seemingly interminably for very large specs:

```python
set([spec.root for spec in self._specs.values()])
```

It's deceptive, because it seems like there must be an issue with
`spec.root`, but that works fine. It's building the set afterwards that
takes forever, at least on `r-rminer`. Currently if you try running
`spack solve r-rminer`, it loops infinitely and spins up your fan.

The issue (I think) is that the spec is not yet complete when this is
run, and something is going wrong when constructing and comparing so many
values produced by `_cmp_key()`. We can investigate the efficiency of
`_cmp_key()` separately, but for now, the fix is:

```python
roots = [spec.root for spec in self._specs.values()]
roots = dict((id(r), r) for r in roots)
```

We know the specs in `self._specs` are distinct (they just came out of
the solver), so we can just use their `id()` to unique them here. This
gets rid of the infinite loop.
2021-01-04 10:28:16 +01:00
Tomoyasu Nojiri
4c23d99e7d fdupes: Add pcre2 depend (#20466)
* fdupes: Add pcre2 depend

* fdupes: Fix depend for pcre2
2021-01-04 10:12:13 +01:00
darmac
221e680e2b Add new package: xfsdump (#19914)
* Add new package: xfsdump

* fix Description and Homepage
2021-01-03 11:20:57 -06:00
darmac
5d1bcf67cf Add new package: py-holland (#19924)
* Add new package: py-holland

* rename py-holland to py-holland-backup

* fix dependencies
2021-01-03 11:07:37 -06:00
Sajid Ali
d685e47fb7 bump py-h5py (#20482)
* rebase and fix merge conflict

* address reviewer comments

* rework dependency handling as per reviewer comments

* incorporate reviewer feedback

* incorporate reviewer feedback

* fix phases

* address reviewer comments

* minor
2021-01-02 17:32:36 -06:00
Todd Gamblin
a8ccb8e116 copyrights: update all files with license headers for 2021
- [x] add `concretize.lp`, `spack.yaml`, etc. to licensed files
- [x] update all licensed files to say 2013-2021 using
      `spack license update-copyright-year`
- [x] appease mypy with some additions to package.py that needed
      for oneapi.py
2021-01-02 12:12:00 -08:00
Todd Gamblin
78f39bdfee commands: add spack license update-copyright-year
This adds a new subcommand to `spack license` that automatically updates
the copyright year in files that should have a license header.

- [x] add `spack license update-copyright-year` command
- [x] add test
2021-01-02 12:12:00 -08:00
Todd Gamblin
4d94c4c460 linguist: update .gitattributes for better linguist parsing (#20639)
This adds two lines to `.gitattributes`:
- [x] exclude vendored code from GitHub's language calculation
- [x] recognize `.lp` files as Prolog (closest language to ASP that
      linguist supports)

It looks like there have been two attempts
(https://github.com/github/linguist/issues/3867,
https://github.com/github/linguist/issues/4860) to add ASP as a language
to Linguist, but it's not widespread enough to be standard yet (or at
least the people who submitted the PRs haven't been able to show enough
stats to prove it). We'll settle for calling ASP "Prolog" for now as
that'll get us some syntax highlighting for `concretize.lp`.
2020-12-31 16:48:50 -08:00
Tom Payerle
a1cf000655 hdf-eos5: new package (HDF for Earth Observing Sytem using hdf v5) (#20274)
* hdf-eos5: new package (HDF for Earth Observing Sytem using hdf v5)

* hdf-eos5: flake8 fixes

* hdf-eos5: trying to fix flake8 errors

* hdf-eos5: flake8 fix

* hdf-eos5: Fix to support Fortran codes

The -Df2cFortran compilation flag needed to support Fortran
2020-12-30 17:55:29 -06:00
Tom Payerle
a30ba0b836 hdf-eos2: new package (HDF for Earth Observing System using hdf5) (#20275)
* hdf-eos2: new package (HDF for Earth Observing System using hdf5)

* hdf-eos2: flake8 fixes

* hdf-eos2: fix to support Fortran

Need the compilation flag -Df2cFortran to allow support for Fortran
codes
2020-12-30 17:54:55 -06:00
Adam J. Stewart
0d95fd6d52 extends: add type kwarg (#20045)
* extends: add type kwarg

* Flake8 fix
2020-12-30 11:09:58 -06:00
eugeneswalker
717b653bdd nalu-wind: add variant to build wind-utils (#20587) 2020-12-30 11:07:43 -06:00
Adam J. Stewart
5964cb49d9 Use system libuuid on macOS (#20608) 2020-12-30 10:13:34 -06:00
Massimiliano Culpo
eca1dd8738 concretizer: generate facts for externals
Generate only facts for external specs. Substitute the
use of already grounded rules with non-grounded rules
in concretize.lp
2020-12-29 23:51:20 -08:00
Adam J. Stewart
a4accff266 PythonPackage: url -> pypi (#20610)
* Convert all `url` attributes in `PythonPackage`s to `pypi` attributes
* add `pypi =` to flake8 exceptions
2020-12-29 16:44:04 -08:00
Michael Kuhn
c22141f444 Introduce virtual provider uuid (#18322)
libuuid is currently contained in util-linux, libuuid and uuid. This
change introduces a new virtual provider `uuid` and renames the existing
`uuid` package to `ossp-uuid`.

util-linux's libuuid is provided in the form of a separate package
util-linux-uuid to make sure that packages depending on uuid and
util-linux can use a separate uuid implementation, which the concretizer
does not allow if libuuid is contained in util-linux.
2020-12-29 10:12:26 -06:00
Adam J. Stewart
b421080c03 GDB: Better Python debugging support (#20486)
* GDB: Better Python debugging support

* Auto-load safe path

* Use gdbinit instead
2020-12-29 10:04:58 -06:00
Adam J. Stewart
8f92970714 py-geoplot: add new package at v0.4.1 (#20603) 2020-12-29 11:56:24 +01:00
Adam J. Stewart
03844b581a OpenVSLAM: add new package (#20389) 2020-12-29 11:18:34 +01:00
Adam J. Stewart
50e9501124 py-contextily: add new package at v1.0.1 (#20602) 2020-12-29 11:17:24 +01:00
Yang Zongze
d41bb54729 automake: fix shebang substitution for v1.16.3 and later (#20579) 2020-12-29 11:16:34 +01:00
Adam J. Stewart
8babd5345f py-geopy: add new package at v2.1.0 (#20601) 2020-12-29 09:11:12 +01:00
Adam J. Stewart
05f8e08067 PythonPackage: add pypi attribute to infer homepage/url/list_url (#17587) 2020-12-29 09:03:08 +01:00
John Wohlbier
76d23d9ee4 squashfs: fix build with GCC 10 (#20592) 2020-12-29 08:46:00 +01:00
Adam J. Stewart
e62676b245 Fix deptypes for some geospatial Python packages (#20593) 2020-12-29 08:40:23 +01:00
Adam J. Stewart
08ba1148e2 py-pygeos: add new package at v0.8 (#20594) 2020-12-29 08:39:45 +01:00
Glenn Johnson
747f7decc4 fsl: updated package, added v6.0.4 (#20201)
- added several patches
- added some missing dependencies
- remove unneeded dependencies
- add CUDA support
- disable queue support, which was limited, and broken anyway
- move package text that was specific to the package to a comment, so it
  does not show up the environment module
- set conflicts for cuda and compilers

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-29 08:27:26 +01:00
Adam J. Stewart
6c9272677b py-cartopy: specify where deps are found (#20597) 2020-12-29 08:04:13 +01:00
Adam J. Stewart
a13b9d8a7d py-geographiclib: add new package at v1.50 (#20600) 2020-12-29 07:57:59 +01:00
Adam J. Stewart
89262fbd23 py-mercantile: add new package at v1.1.6 (#20598) 2020-12-29 07:56:56 +01:00
Adam J. Stewart
f1a4810ac7 py-mapclassify: add new package at v2.4.2 (#20599) 2020-12-29 07:56:21 +01:00
Michael Kuhn
49b5ce954a python: add 3.8.7 and 3.9.1 (#20589) 2020-12-28 16:21:20 -06:00
Ryan Mast
1e971b62de libarchive: add version 3.5.1 (#20586) 2020-12-28 22:48:20 +01:00
Massimiliano Culpo
60f4621a73 archspec: fixed a typo in the vendored library (#20584) 2020-12-28 12:09:02 -06:00
Rémi Lacroix
8919226dc6 Update OpenMPI package (#20492)
* OpenMPI: Add version 4.1.0

* OpenMPI: Prefer version 4.0.5.

* OpenMPI: Update links

The download links changed, there is currently a redirection but it might not work forever. The website also switched to https.
2020-12-28 10:56:15 -06:00
perrymil
22e8672394 nvtop: new package at v1.1.0 (#20272) 2020-12-28 17:43:36 +01:00
Adam J. Stewart
808f55fa1f minizip: fix build with Apple Clang 12 (#20554) 2020-12-28 08:43:37 -06:00
Tomoyasu Nojiri
7f997f82c2 sionlib: fix for aarch64 (#20525) 2020-12-28 15:21:49 +01:00
h-denpo
0fcedea1d8 gnupg: added versions up to v2.2.5 (#20465) 2020-12-28 13:28:33 +01:00
h-denpo
680971650c frontistr: add v5.1.1, need trilinos version 12 (#20334) 2020-12-28 13:17:18 +01:00
Tiziano Müller
e2dcec8e43 libvori: added v201224 (#20577) 2020-12-28 12:59:16 +01:00
QuellynSnead
39a5c75a83 libquo: add pic flags for PGI (#20528)
Enforce PIC for PGI ((https://github.com/lanl/libquo/issues/41))
2020-12-28 12:57:03 +01:00
a-saitoh-fj
0f6ddacc98 py-multipledispatch: new package at v0.6.0 (#20571) 2020-12-28 12:54:36 +01:00
ravil-mobile
82c74c49ea zoltan: forward +int64 to parmetis, if active (#20572) 2020-12-28 12:53:08 +01:00
a-saitoh-fj
b6ed75f1b2 py-sparse: new package at v0.11.2 (#20573) 2020-12-28 12:51:39 +01:00
Yang Zongze
e4c41080b7 gmsh: added versions up to v4.7.1 (#20336) 2020-12-28 12:47:54 +01:00
Adam J. Stewart
69b9741e67 py-scikit-learn: add v0.24.0 (#20519) 2020-12-28 12:47:02 +01:00
Mark W. Krentel
025990a9c2 libmonitor: added v2020.10.15 (#20574)
Add version 2020.10.15, and add variant +dlopen to control overriding
dlopen and dlclose.
2020-12-28 11:12:45 +01:00
Adam J. Stewart
98cb74f2d1 py-geopandas: add v0.8.1 and master (#20576) 2020-12-28 11:11:50 +01:00
Christoph Junghans
22b56e75c4 legion: add streichler as maintainer (#20575)
* legion: add streichler as maintainer

* gasnet: add maintainers
2020-12-27 23:22:46 -07:00
Morten Kristensen
aff2a3a8e1 py-vermin: add latest version 1.1.0 (#20569) 2020-12-27 14:03:36 -06:00
Tomoki, Karatsu
95f63b506c openfoam: expand 'make_fujitsu_rules' process for Ver.1812. (#20468) 2020-12-27 13:41:37 +01:00
ketsubouchi
0a241b2414 boost: backport python3 import fix (#20301) 2020-12-27 13:38:54 +01:00
Ryan Mast
2cda9ea7fd libzmq: added v4.3.3 (#20467)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-12-27 13:37:32 +01:00
Adam J. Stewart
e27237c0bc Fix import tests for a few packages (#20560) 2020-12-27 13:24:55 +01:00
Adam J. Stewart
f82c515bbc Add missing setuptools dependencies (#20561) 2020-12-27 13:24:00 +01:00
Adam J. Stewart
fa56b9b1e2 py-sphinxcontrib-*: fix recursive imports (#20556) 2020-12-27 11:58:34 +01:00
Adam J. Stewart
0ed654aa70 py-pandas: add v1.2.0 (#20557) 2020-12-27 11:57:37 +01:00
Adam J. Stewart
e3cc50b2ba py-fiona: add v1.8.18 and master (#20558) 2020-12-27 11:57:13 +01:00
Adam J. Stewart
6bd4e29c65 py-rasterio: add v1.1.8 (#20559) 2020-12-27 11:49:54 +01:00
Adam J. Stewart
b9402094a1 py-black: add v20.8b1 (#20565) 2020-12-27 11:48:45 +01:00
Adam J. Stewart
c199e3f33f py-pathspec: add v0.8.1 (#20564) 2020-12-27 11:48:04 +01:00
Adam J. Stewart
d74cfa4c68 py-regex: add v2020.11.13 (#20563) 2020-12-27 11:47:33 +01:00
Adam J. Stewart
d8b265ba17 py-toml: add v0.10.2 (#20562) 2020-12-27 11:47:03 +01:00
Robert Underwood
860825ee14 llvm: provide fix for python dependencies (#20356)
Previously compiler-rt didn't correctly passthrough cmake
variables for python when building the various santizers.
This patch passes these variables through.

This patch may also correctly apply to any version of LLVM
to any version of LLVM that uses the newer monorepo style organization,
and any older llvm newer than 7.0.0 as long as the paths were set
appropriately.  However, this was not done so because it was not
tested with older LLVM releases.

Fixes #19908
See also: https://bugs.llvm.org/show_bug.cgi?id=48180
2020-12-26 09:47:37 -06:00
h-denpo
dd06c86559 dpdk: add conflicts('target=aarch64:') (#20550) 2020-12-25 16:43:05 -06:00
Tomoyasu Nojiri
f1d0ec7fc1 molden: Fix for aarch64 (#20549) 2020-12-25 16:41:52 -06:00
kuramoto-fj
d86c345413 PFAPACK: Add new package (#20365)
* PFAPACK: Add new package

* PFAPACK : fix flake8 errors

* add type=(build, run) to the recipe
2020-12-25 09:16:38 -06:00
kuramoto-fj
b56d1a77ad Lis: Add new package (#20548)
* Lis: Add new package

* delete unnecessary inner quotes
2020-12-25 09:15:13 -06:00
Toyohisa Kameyama
1daf6d3df7 openwsman: fix detect python executable (#20317)
* openwsman: fix detect python executable

- use spack's python insted of system's python
- Add variant to use python.
- fix dependency.
- support python2.

* format fixed.

* fix python command.
2020-12-25 09:13:31 -06:00
Tomoyasu Nojiri
a7017f8e38 openfdtd: Add version 2.6.0 (#20460) 2020-12-25 09:12:42 -06:00
Tomoyasu Nojiri
db5c6e8215 openstf: Add version 1.7.0 (#20461) 2020-12-25 09:12:11 -06:00
a-saitoh-fj
637620a408 New package: py-pydmd (#19809)
* New package: py-pydmd

* modified:package.py

* modified: package.py
2020-12-25 00:01:21 -06:00
lorddavidiii
9c03ddbb44 cfitsio: new versions and new url sheme (#20084)
* cfitsio: new versions and new url sheme

* cfitsio: fix version order
2020-12-24 23:59:28 -06:00
Tom Payerle
0150b394d7 mumps: Fix dependency issues in shared licenses (#20197)
See issue #19644
This script makes lib[cdsz]mumps.so explicitly depend on
libmumps_common.so (and libmpiseq.so if ~mpi)
2020-12-24 23:50:27 -06:00
Cameron Stanavige
52e03b5528 unifyfs: dependency changes and new release (#20271)
This updates the UnifyFS packages to account for the latest v0.9.1
release.

Updates required and optional dependencies for the respective
releases.

Locks margo and mercury dependencies at specific versions while
integration with their latest versions is still in progress.
2020-12-24 23:46:11 -06:00
Toyohisa Kameyama
5e0376bb3b openipmi: fix dependency and add version 2.0.29 (#20276)
* openipmi: fix dependency and add version 2.0.29

- Add perl and readline dependency
- fix dependency type
- Fix readline bug in 2.0.27 (d1dd570cf7/)
- Add 2.0.29

* Add patch file.
2020-12-24 23:34:30 -06:00
Asher Mancinelli
09f6bd2a0f adding cce to compilers that patch gdbm (#20353) 2020-12-24 23:07:22 -06:00
Sreenivasa Murthy Kolam
ba62dc3dce fix rocm_3.8.0 build error for rocprim,rocrand,rocfft packages (#20446)
* fix rocm_3.8.0 build error for rocprim,rocrand,rocfft packages

* fix flake8 errors
2020-12-24 22:54:59 -06:00
Joshua S Brown
4c8b773a42 Add pem package file (#20447)
* Add pem package file

* Cleanup formatting

* Replace homepage with url to ReadtheDocs

* Simplify package description
2020-12-24 22:54:23 -06:00
Chuck Atkins
0a32e57e51 mesa: Add missing expat dependency (#20459) 2020-12-24 22:53:01 -06:00
Tomoyasu Nojiri
ac68113406 libjson: Fix install parameters (#20470) 2020-12-24 22:46:47 -06:00
Hadrien G
58cf6d7dbd [acts] Add version 4 (#20472)
* Add acts v4

* Please flake8
2020-12-24 22:45:50 -06:00
Gilles Gouaillardet
c2ce7c65b3 xios: add support for Fujitsu compilers (#20474) 2020-12-24 22:44:56 -06:00
Filippo Spiga
de068f0b52 Adding CUDA 11.2.0 (#20477) 2020-12-24 22:42:47 -06:00
Toyohisa Kameyama
edb25911e8 salmon-tddft: new package. (#20543)
* salmon-tddft: new package.

* remove debug print.

* remove duplicate line.
2020-12-24 22:41:11 -06:00
QuellynSnead
6684cb165a Starting with HDF5 1.10.0, the H5FD_class_t structure has a new (#20529)
"terminate" member.  Initialize it to NULL.
2020-12-24 22:35:19 -06:00
QuellynSnead
c214e4dd2d fftw: PGI compiler has trouble with avx2/avx-512 SIMD support (#20546)
* PGI compiler has trouble with avx2 SIMD support
(https://github.com/FFTW/fftw3/issues/78)

* Hew to the project's preferred indentation standard.

* Expand '%nvhpc' logic to include '%pgi'.

* Exceeded the max line-length.

* Break up the long compound statement into nested if's.

* Inadvertently picked up an extraneous file.

* PGI compiler has trouble with avx2/avx-512 SIMD support, too.
2020-12-24 22:33:57 -06:00
QuellynSnead
e9f0473e26 zoltan: Add PGI runtime libs to LDFLAGS (#20547)
* Add PGI runtime libs to LDFLAGS when '%pgi' in spec.

* Revert "Add PGI runtime libs to LDFLAGS when '%pgi' in spec."

This reverts commit 31c3ef8ea2.

* Add PGI runtime libs to LDFLAGS when '%pgi' in spec.
2020-12-24 22:32:58 -06:00
Kody J. Everson
5add3a2f4d Dropped parametis dependency in 0.82 release (#20481) 2020-12-24 17:32:33 -06:00
Tomoyasu Nojiri
81f91de50e nbdkit: Fix configure arg (#20488) 2020-12-24 17:18:05 -06:00
Tiziano Müller
5d2c09e19e Add libvori and support for libvori (and spglib) in CP2K (#20508)
* packages: initial commit of libvori

* cp2k: add support for libvori

* cp2k: add support for spglib
2020-12-24 17:12:34 -06:00
Mark Olesen
999b35cf5f openfoam: update for version 20.12 (#20533)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-12-24 17:05:43 -06:00
a-saitoh-fj
4ef3fb9434 Fixed for merging patches for Fujitsu compiler in version 0.3.13 (#20539) 2020-12-24 17:05:01 -06:00
a-saitoh-fj
9066982168 Update to the latest version (1.6.0) (#20540) 2020-12-24 17:04:04 -06:00
kuramoto-fj
7d267e1440 mptensor: Add new package (#20542) 2020-12-24 16:59:02 -06:00
Tomoyasu Nojiri
b1a6e583c0 babelflow: Add spec (#20544) 2020-12-24 16:54:24 -06:00
Omri Mor
cfbe3aa056 Remove more variables from build environment (#20156)
GCC looks for included files based on several env vars.
Remove C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, and OBJC_INCLUDE_PATH
from the build environment to ensure it's clean and prevent
accidental clobbering.
2020-12-24 16:48:53 -06:00
Alexander Baumgarten
91e106ae7c libgff: new package at version 2.0.0 (#20233)
* libgff: new package at version 2.0.0

* Removed default cmake function, fixed flake8 error

* Fixed errors
2020-12-24 16:48:01 -06:00
Michael Kuhn
2d1c4e4b5d sqlite: add 3.34.0 (#20354) 2020-12-24 16:47:17 -06:00
Dr. Christian Tacke
741a0b498a py-lxml: Add Version 4.6.1 (#20361)
Also switch homepage to https.
2020-12-24 16:46:43 -06:00
Paul R. C. Kent
763fc989c5 New versions: py-sphinxcontrib-bibtex 2.2.0 and py-pybtex-docutils 0.2.2 (#20438)
* Add v2.0.0

* Add 0.2.2

* Improve packages

* No trailing
2020-12-24 16:46:28 -06:00
Brian Van Essen
6c00ebab16 Add lbann cmake flags (#20452)
* Adding support for the CMake flags in LBANN that are missing.

* Added new flag to OpenCV dependency and removed negative variants
since OpenCV no longer turns on everything by default.  Removed CMake
flags in LBANN that have been deprecated.

* Removed type='build' flags from dependencies so that they get linked
into a environment's view.

* Removed type='build' flags from dependencies so that they get linked
into a environment's view.  Fixed DiHydrogen variant to enable
DistConv feature, renamed to +distconv from +legacy.  Added conflicts
line to indicated that DistConv and ROCm don't work with +half
support.

* Fixed Flake8 and cleaned up ordering of variants.

* Flake8

* Backed out changes to not mark and cmake and ninja as build
dependencies, which was introduced to make sure that they appear in
a spack environment.

* Backed out changes to not mark doc related packages as build
dependencies, which was introduced to make sure that they appear
in a spack environment.

* Fixed how recipe communicates the intent to build and run tests to the
package CMake.
2020-12-24 16:46:12 -06:00
Joshua S Brown
ee0ec12603 Add py-ez-setup package file (#20520)
* Add py-ez-setup package file

* Cleanup formatting

* Cleanup formatting take 2
2020-12-24 16:43:15 -06:00
tilne
805cc61036 Update ParallelCluster to v2.10.1 (#20524)
Signed-off-by: Tim Lane <tilne@amazon.com>
2020-12-24 16:42:53 -06:00
zorun
f2c523db1e [gcc] Make ISL optional by adding a +graphite variant (#20531)
Fixes: #20515

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2020-12-24 20:17:35 +01:00
zorun
4ef33a4cd7 [gcc] Explicitly disable libs when they are not required (#20532)
This is to make sure that the build system doesn't pick up a library that
would happen to be available.

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2020-12-24 19:39:46 +01:00
Greg Becker
6947951aaf bugfix: do not write empty default dicts/lists in envs (#20526)
Environment yaml files should not have default values written to them.

To accomplish this, we change the validator to not add the default values to yaml. We rely on the code to set defaults for all values (and use defaulting getters like dict.get(key, default)).

Includes regression test.
2020-12-23 20:29:38 -08:00
Massimiliano Culpo
91e86f9d0d concretizer: remove vestigial code and comment 2020-12-23 16:40:47 -08:00
Todd Gamblin
1571d6240b style: ensure that all packages pass spack style -a
- fix trailing whitespace and other issues uncovered by better flake8
  checking.

- fix extra whitespace printed by `spack style` command
2020-12-23 16:17:54 -08:00
Robert Cohn
0bb18d8a38 Add Intel oneAPI packages (#20411)
This creates a set of packages which all use the same script to install
components of Intel oneAPI. This includes:

* An inheritable IntelOneApiPackage which knows how to invoke the
  installation script based on which components are requested
* For components which include headers/libraries, an inheritable
  IntelOneApiLibraryPackage is provided to locate them
* Individual packages for DAL, DNN, TBB, etc.
* A package for the Intel oneAPI compilers (icx/ifx). This also includes
  icc/ifortran but these are not currently detected in this PR
2020-12-23 15:39:40 -08:00
Howard Pritchard
88a608a26c papi: patch fortran tests for Cray FTN compiler (#20339)
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-12-23 09:31:19 -06:00
Tom Scogland
857749a9ba add mypy to style checks; rename spack flake8 to spack style (#20384)
I lost my mind a bit after getting the completion stuff working and
decided to get Mypy working for spack as well. This adds a 
`.mypy.ini` that checks all of the spack and llnl modules, though
not yet packages, and fixes all of the identified missing types and
type issues for the spack library.

In addition to these changes, this includes:

* rename `spack flake8` to `spack style`

Aliases flake8 to style, and just runs flake8 as before, but with
a warning.  The style command runs both `flake8` and `mypy`,
in sequence. Added --no-<tool> options to turn off one or the
other, they are on by default.  Fixed two issues caught by the tools.

* stub typing module for python2.x

We don't support typing in Spack for python 2.x. To allow 2.x to
support `import typing` and `from typing import ...` without a
try/except dance to support old versions, this adds a stub module
*just* for python 2.x.  Doing it this way means we can only reliably
use all type hints in python3.7+, and mypi.ini has been updated to
reflect that.

* add non-default black check to spack style

This is a first step to requiring black.  It doesn't enforce it by
default, but it will check it if requested.  Currently enforcing the
line length of 79 since that's what flake8 requires, but it's a bit odd
for a black formatted project to be quite that narrow.  All settings are
in the style command since spack has no pyproject.toml and I don't
want to add one until more discussion happens. Also re-format
`style.py` since it no longer passed the black style check
with the new length.

* use style check in github action

Update the style and docs action to use `spack style`, adding in mypy
and black to the action even if it isn't running black right now.
2020-12-22 21:39:10 -08:00
Harsh Bhatia
a93f6ca619 Add patch to fix bazel build on power9 (#20512)
* fix bazel on power9

* small fix in tensorflow package

* removed import not needed anymore
2020-12-22 16:50:03 -06:00
Todd Gamblin
5f2a821183 concretizer: refactor conditional rules to be less repetitious (#20507)
We have to repeat all the spec attributes in a number of places in
`concretize.lp`, and Spack has a fair number of spec attributes. If we
instead add some rules up front that establish equivalencies like this:

```
    node(Package) :- attr("node", Package).
    attr("node", Package) :- node(Package).

    version(Package, Version) :- attr("version", Package, Version).
    attr("version", Package, Version) :- version(Package, Version).
```

We can rewrite most of the repetitive conditions with `attr` and repeat
only for each arity (there are only 3 arities for spec attributes so far)
as opposed to each spec attribute. This makes the logic easier to read
and the rules easier to follow.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-22 19:49:36 +01:00
Ben Bergen
97aa455f14 Patch meson.build llvm config strategy (#20451)
This patch logic resovles a linking issue with ncurses in the mesa
package. This appears to be a recurring problem that was identified in
the mesa gitlab issues here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/2843

Using `_llvm_method = 'auto'` is broken. This patch replaces that with
`_llvm_method = 'config-tool'`, which is a hack, but makes it possible
to build.

I have commented on the closed issue (2843), referencing the original
author of the bug, and one of the mesa developers, so perhaps they will
fix the problem.
2020-12-22 10:39:56 -07:00
Tom Scogland
c1e4f3e131 Refactor flake8 handling and tool compatibility (#20376)
This PR does three related things to try to improve developer tooling quality of life:

1. Adds new options to `.flake8` so it applies the rules of both `.flake8` and `.flake_package` based on paths in the repository.
2. Adds a re-factoring of the `spack flake8` logic into a flake8 plugin so using flake8 directly, or through editor or language server integration, only reports errors that `spack flake8` would.
3. Allows star import of `spack.pkgkit` in packages, since this is now the thing that needs to be imported for completion to work correctly in package files, it's nice to be able to do that.

I'm sorely tempted to sed over the whole repository and put `from spack.pkgkit import *` in every package, but at least being allowed to do it on a per-package basis helps.

As an example of what the result of this is:

```
~/Workspace/Projects/spack/spack develop* ⇣
❯ flake8 --format=pylint ./var/spack/repos/builtin/packages/kripke/package.py
./var/spack/repos/builtin/packages/kripke/package.py:6: [F403] 'from spack.pkgkit import *' used; unable to detect undefined names
./var/spack/repos/builtin/packages/kripke/package.py:25: [E501] line too long (88 > 79 characters)

~/Workspace/Projects/spack/spack refactor-flake8*
1 ❯ flake8 --format=spack ./var/spack/repos/builtin/packages/kripke/package.py

~/Workspace/Projects/spack/spack refactor-flake8*
❯ flake8 ./var/spack/repos/builtin/packages/kripke/package.py
```

* qa/flake8: update .flake8, spack formatter plugin

Adds:
* Modern flake8 settings for per-path/glob error ignores, allows
  packages to use the same `.flake8` as the rest of spack
* A spack formatter plugin to flake8 that implements the behavior of
  `spack flake8` for direct invocations.  Makes integration with
  developer tooling nicer, linting with flake8 reports only errors that
  `spack flake8` would report.  Using pyls and pyls-flake8, or any other
  non-format-dependent flake8 integration, now works with spack's rules.

* qa/flake8: allow star import of spack.pkgkit

To get working completion of directives and spack components it's
necessary to import the contents of spack.pkgkit.  At the moment doing
this makes flake8 displeased.  For now, allow spack.pkgkit and spack
both, next step is to ban spack * and require spack.pkgkit *.

* first cut at refactoring spack flake8

This version still copies all of the files to be checked as befire, and
some other things that probably aren't necessary, but it relies on the
spack formatter plugin to implement the ignore logic.

* keep flake8 from rejecting itself

* remove separate packages flake8 config

* fix failures from too many files

I ran into this in the PR converting pkgkit to std.  The solution in
that branch does not work in all cases as it turns out, and all the
workarounds I tried to use generated configs to get a single invocation
of flake8 with a filename optoion to work failed.  It's an astonishingly
frustrating config option.

Regardless, this removes all temporary file creation from the command
and relies on the plugin instead.  To work around the huge number of
files in spack and still allow the command to control what gets checked,
it scans files in batches of 100.  This is a completely arbitrary number
but was chosen to be safely under common line-length limits.  One
side-effect of this is that every 100 files the command will produce
output, rather than only at the end, which doesn't seem like a terrible
thing.
2020-12-22 09:28:46 -08:00
Massimiliano Culpo
cde6ffe369 concretizer: optimize loop on compiler version
Similar to the optimization on platform
2020-12-22 00:02:54 -08:00
Massimiliano Culpo
635c6c29fa concretizer: optimized loop on node platforms
We can speed-up the computation by avoiding a
double loop in a cardinality constraint and
enforcing the rule instead as an integrity
constraint.
2020-12-22 00:02:54 -08:00
Paul
32f0bf9057 Corrected Go dependent build environment. (#18493)
* Dependencies of Go will now correctly set the GOPATH for the
  appropriate spec to avoid using the user's default path.
* Bumped version to latest releases(1.15.6 & 1.14.13).
2020-12-21 19:47:53 -06:00
Vicente Bolea
a9925036df ParaView: add new ParaView-5.9.0-RC3 release (#20500)
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-12-21 19:46:01 -06:00
Todd Gamblin
1d8aa34f52 clingo: prefer master branch
Most people installing `clingo` with Spack are going to be doing it to
use the new concretizer, and that requires the `master` branch.

- [x] make `master` the default so we don't have to keep telling people
  to install `clingo@master`. We'll update the preferred version when
  there's a new release.
2020-12-21 16:02:09 -08:00
downloadico
4654a8a557 New package: PMERGE (#20390) 2020-12-21 12:55:22 -08:00
Karen C. Tsai
4a6269319e upstream dependencies changes (#20493)
* update dependencies and cmake options

* add blank line
2020-12-21 12:20:49 -07:00
amd-toolchain-support
e73a65db9a Added support for AOCC compiler 2020-12-21 00:27:37 -08:00
Dr. Christian Tacke
5df6418b64 geant4-vmc: Add version 5-3, switch to https (#20379) 2020-12-20 10:47:53 -06:00
Massimiliano Culpo
19fba3ae06 concretizer: fix failing unit tests 2020-12-20 07:00:46 -08:00
Massimiliano Culpo
72569a0198 concretizer: emit facts for integrity constraints 2020-12-20 07:00:46 -08:00
Massimiliano Culpo
e644255770 concretizer: emit facts for constraints on imposed dependencies 2020-12-20 07:00:46 -08:00
Massimiliano Culpo
d8dc4b141e concretizer: avoid redundant grounding on dependency types 2020-12-20 07:00:46 -08:00
Todd Gamblin
bb78a73ed3 concretizer: move conditional dependency logic into concretize.lp
Continuing to convert everything in `asp.py` into facts, make the
generation of ground rules for conditional dependencies use facts, and
move the semantics into `concretize.lp`.

This is probably the most complex logic in Spack, as dependencies can be
conditional on anything, and we need conditional ASP rules to accumulate
and map all the dependency conditions to spec attributes.

The logic looks complicated, but essentially it accumulates any
constraints associated with particular conditions into a fact associated
with the condition by id. Then, if *any* condition id's fact is True, we
trigger the dependency.

This simplifies the way `declared_dependency()` works -- the dependency
is now declared regardless of whether it is conditional, and the
conditions are handled by `dependency_condition()` facts.
2020-12-20 07:00:46 -08:00
Todd Gamblin
d7fe2d5678 concretizer: spec_clauses should traverse dependencies
There are currently no places where we do not want to traverse
dependencies in `spec_clauses()`, so simplify the logic by consolidating
`spec_traverse_clauses()` with `spec_clauses()`.
2020-12-20 07:00:46 -08:00
Todd Gamblin
87a9e1c951 concretizer: pull _develop_specs_from_env out of main setup loop 2020-12-20 07:00:46 -08:00
Todd Gamblin
950fb0948b concretizer: add #defined statements to avoid warnings.
`version_satisfies/2` and `node_compiler_version_satisfies/3` are
generated but need `#defined` directives to avoid " info: atom does not
occur in any rule head:" warnings.
2020-12-20 07:00:46 -08:00
Massimiliano Culpo
4901728c5b asp: memoize the list of all target_specs to speed-up setup phase (#20473)
* asp: memoize the list of all target_specs to speed-up setup phase

* asp: memoize using a cache per solver object
2020-12-19 07:07:22 -08:00
Tom Scogland
71c77fa8fa minimal zsh completion (#20253)
Since zsh can load bash completion files natively, seems reasonable to just turn this on.
The only changes are to switch from `type -t` which zsh doesn't support to using `type`
with a regex and adding a new arm to the sourcing of the completions to allow it to work
for zsh as well as bash.

Could use more bash/dash/etc testing probably, but everything I've thought to try has
worked so far.

Notes:
* unit-test zsh support, fix issues
Specifically fixed word splitting in completion-test, use a different
method to apply sh emulation to zsh loaded bash completion, and fixed
an incompatibility in regex operator quoting requirements.

* compinit now ignores insecure directories
Completion isn't meant to be enabled in non-interactive environments, so
by default compinit will ask the user if they want to ignore insecure
directories or load them anyway.  To pass the spack unit tests in GH
actions, this prompt must be disabled, so ignore explicitly until a
better solution can be found.

* debug functions test also requires bash emulation
COMP_WORDS is a bash-ism that zsh doesn't natively support, turn on
emulation for just that section of tests to allow the comparison to
work.  Does not change the behavior of the functions themselves since
they are already pinned to sh emulation elsewhere.

* propagate change to .in file

* fix comment and update script based on .in
2020-12-18 17:26:15 -08:00
Jan Ciesko
517413c125 Add spack test support for Qthreads (#20437) 2020-12-18 13:38:40 -08:00
eugeneswalker
2314a20fbd slepc: set --with-arpack-dir correctly (#20463) 2020-12-18 11:03:26 -08:00
Chuck Atkins
8755d577c9 mesa: drop use of shared variant (#20453)
Mesa no longer supports building static libraries so it doesn't
even make sense to add the variant.
2020-12-18 09:58:51 -06:00
Scott Wittenburg
594512bdb3 ci: fixes for compiler bootstrapping (#17563)
This PR addresses a number of issues related to compiler bootstrapping.

Specifically:
1. Collect compilers to be bootstrapped while queueing in installer
Compiler tasks currently have an incomplete list in their task.dependents,
making those packages fail to install as they think they have not all their
dependencies installed. This PR collects the dependents and sets them on
compiler tasks.

2. allow boostrapped compilers to back off target
Bootstrapped compilers may be built with a compiler that doesn't support
the target used by the rest of the spec.  Allow them to build with less
aggressive target optimization settings.

3. Support for target ranges
Backing off the target necessitates computing target ranges, so make Spack
handle those properly.  Notably, this adds an intersection method for target
ranges and fixes the way ranges are satisfied and constrained on Spec objects.

This PR also:
- adds testing
- improves concretizer handling of target ranges

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-18 02:05:06 -08:00
eugeneswalker
13e4d9ee3a py-greenlet: add version 0.4.17 (#20457)
* py-greenlet: add version 0.4.17

* py-greenlet depends on python for build, link, and run
2020-12-17 19:38:43 -08:00
Chuck Atkins
c5b4a667d3 meson: Add cmake runtime dependency (#20449) 2020-12-17 16:56:39 -05:00
Harmen Stoppels
a879c875dd New package: cray-mpich (#20076)
Cray's version of MPICH uses a different versioning system than
MPICH, so it has been split into its own package. It is an
external-only package (always provided by the system, never
installed by Spack).
2020-12-17 13:13:21 -08:00
eugeneswalker
105ee757bc superlu depends on tcsh for build (#20381) 2020-12-17 12:26:18 -08:00
Dr. Christian Tacke
e858bb2961 cmake: Add Version 3.19.2 (#20448) 2020-12-17 20:25:51 +01:00
psakievich
093a247b25 View location resolve environment variables (#20420) 2020-12-17 10:25:08 -08:00
manifest
888c456ece add py-gemini (#16950)
* py-gemini +

* dep py-setuptools +

* deps grabix+

* py-gemini dep version fix

* grabix compiler fix

* Update package.py

Typo correction
2020-12-17 12:17:01 -06:00
takanori-ihara
a0843e9634 biobambam2: new package at v2.0.177 (#20392) 2020-12-17 17:47:01 +01:00
Adam J. Stewart
120e5cdcc4 pangolin: add new package (#20388) 2020-12-17 17:45:26 +01:00
Ryan S. Elliott
12378db0d8 kim-api: added v2.2.1 (#20382) 2020-12-17 17:44:33 +01:00
ketsubouchi
4677674667 suite-sparse: add flags for Fujitsu compilers (#20393) 2020-12-17 17:40:01 +01:00
Tamara Dahlgren
b7d9e269ef docs: add single node concurrent build example (#20416) 2020-12-17 17:23:55 +01:00
Adam J. Stewart
860a945de6 OpenCV: add versions up to v4.5.0, variants (#20378) 2020-12-17 17:06:28 +01:00
Michael Kuhn
c79647d66b flexi: new package (#20313) 2020-12-17 17:02:49 +01:00
Michael Kuhn
8f8c9b34a9 openblas: added v0.3.13 (#20357) 2020-12-17 17:01:49 +01:00
Ryan Mast
3d7fe28966 mbedtls: added v2.16.9 (#20422) 2020-12-17 16:55:20 +01:00
Adam J. Stewart
b86743c879 DBoW2: add new package (#20387) 2020-12-17 16:54:34 +01:00
Hadrien G
e61fb96e96 acts: added v3.00.0 (#20402) 2020-12-17 14:27:06 +01:00
Massimiliano Culpo
076ea2fe4c arm: added new package (#18019)
The package is at the moment not installable, just detectable.
2020-12-17 10:02:36 +01:00
Massimiliano Culpo
045afc8788 xlc, xlf: added new packages (#18154) 2020-12-17 10:00:06 +01:00
Massimiliano Culpo
76f1548fe2 unit-tests: ensure that installed packages can be reused (#20307)
refers #20292

Added a unit test that ensures we can reuse installed
packages even if in the repository variants have been
removed or added.
2020-12-17 00:31:59 -08:00
Ryan Mast
9692017d59 help2man: update to 1.47.16 (#20397) 2020-12-17 09:07:56 +01:00
Ryan Mast
e0e6a0199e sundials: add versions up to 5.6.1 (#20436) 2020-12-16 18:26:47 -08:00
Ben Cowan
ed740fb654 Added PyAMG package. (#20414) 2020-12-16 17:58:41 -08:00
Ryan Mast
2bc5516a95 cli11: add new package (#20398) 2020-12-16 15:26:37 -08:00
Adam J. Stewart
826cd07cf7 PythonPackage: add import module smoke tests (#20023) 2020-12-16 15:15:03 -08:00
Ryan Mast
cd496a20e9 ninja: update to version 1.10.2 (#20399) 2020-12-16 14:49:12 -08:00
arjun-raj-kuppala
620fbf6e90 AMD ROCm release for mivisionx Bump up versions - 3.9.0 and 3.10.0 (#20401) 2020-12-16 16:46:23 -06:00
Adam J. Stewart
4d09dc4c61 dlib: add new package (#20386) 2020-12-16 14:28:39 -08:00
Thomas Gruber
2bb9116219 pylikwid: New recipe (#20408) 2020-12-16 14:17:37 -08:00
Ryan Mast
046e3fcae3 automake: update to 1.16.3 (#20421) 2020-12-16 14:12:04 -08:00
Zhiyi Wu
8539fcfd70 Update the plumed 2.6.2 (#20425) 2020-12-16 14:02:41 -08:00
Greg Becker
3840c0ac45 docs: fix spack install debug arg order (#20428) 2020-12-16 13:57:08 -08:00
Desmond Orton
3ff600b1cf Version update to 5.3.0 (#20433) 2020-12-16 13:49:57 -08:00
David Beckingsale
dcc67dad15 Add RAJA v0.13.0 (#20431) 2020-12-16 13:45:57 -08:00
Adam J. Stewart
20752db103 Docs: add more Command Reference links to spack test (#20413) 2020-12-16 12:08:32 -08:00
Ethan Stam
86f006ffa9 Match master version instead of develop for PARAVIEW_VTK_DIR (#20427) 2020-12-16 12:29:35 -06:00
Tamara Dahlgren
cb01981628 docs: fix spack command for unit-test pytest help (#20415) 2020-12-16 10:13:22 -08:00
Danny Taller
d505ef8217 loop fuser option (#20417) 2020-12-16 10:44:43 +01:00
thelfer
c52d9dc445 Added TFEL v3.4 and MGIS v1.2 (#20234) 2020-12-16 10:40:34 +01:00
Greg Becker
352dc0624c Fix comparisons for abstract specs (#20341)
bug only relevant for python3
2020-12-15 14:44:58 -08:00
Ben Cowan
c02625eb53 Kluge to get the gfortran linker to work correctly for SciPy on Big Sur. (#20367)
* Kluge to get the gfortran linker to work correctly on Big Sur.

* Fixed formatting error; stetting the other.

* Removed spaces.

* Added comment, mainly to re-trigger Spack CI.
2020-12-15 14:25:23 -06:00
Todd Gamblin
b6089ac691 concretizer: don't use one_of_iff for range constraints (#20383)
Currently, version range constraints, compiler version range constraints,
and target range constraints are implemented by generating ground rules
from `asp.py`, via `one_of_iff()`.  The rules look like this:

```
version_satisfies("python", "2.6:") :- 1 { version("python", "2.4"); ... } 1.
1 { version("python", "2.4"); ... } 1. :- version_satisfies("python", "2.6:").
```

So, `version_satisfies(Package, Constraint)` is true if and only if the
package is assigned a version that satisfies the constraint. We
precompute the set of known versions that satisfy the constraint, and
generate the rule in `SpackSolverSetup`.

We shouldn't need to generate already-ground rules for this. Rather, we
should leave it to the grounder to do the grounding, and generate facts
so that the constraint semantics can be defined in `concretize.lp`.

We can replace rules like the ones above with facts like this:

```
version_satisfies("python", "2.6:", "2.4")
```

And ground them in `concretize.lp` with rules like this:

```
1 { version(Package, Version) : version_satisfies(Package, Constraint, Version) } 1
  :- version_satisfies(Package, Constraint).
version_satisfies(Package, Constraint)
  :- version(Package, Version), version_satisfies(Package, Constraint, Version).
```

The top rule is the same as before. It makes conditional dependencies and
other places where version constraints are used work properly. Note that
we do not need the cardinality constraint for the second rule -- we
already have rules saying there can be only one version assigned to a
package, so we can just infer from `version/2` `version_satisfies/3`.
This form is also safe for grounding -- If we used the original form we'd
have unsafe variables like `Constraint` and `Package` -- the original
form only really worked when specified as ground to begin with.

- [x] use facts instead of generating rules for package version constraints
- [x] use facts instead of generating rules for compiler version constraints
- [x] use facts instead of generating rules for target range constraints
- [x] remove `one_of_iff()` and `iff()` as they're no longer needed
2020-12-15 11:58:58 -08:00
Dr. Christian Tacke
a7a5fd3fa3 fmt: added v7.1.3, update URLs (#20404) 2020-12-15 18:15:25 +01:00
Ryan Mast
168f07181d bison: added versions up to v3.7.4 (#20400) 2020-12-15 18:13:33 +01:00
AMD Toolchain Support
7dc56a293f gromacs: removed mentions of non-existing variants (#20405) 2020-12-15 17:44:59 +01:00
Massimiliano Culpo
7501d9d150 dealii, piranha, trilinos: remove mentions of non-existing variants (#20406) 2020-12-15 17:44:20 +01:00
Tamara Dahlgren
21f30e3074 Bugfix/docs: correct and expand smoke test documentation (#20278) 2020-12-15 08:38:00 -08:00
Mark W. Krentel
d6bfc104bf comgr: disable hip compile test from /opt/rocm (#20330) 2020-12-15 13:55:45 +01:00
Tamara Dahlgren
d67ca265a3 outputs: restore default output of fetch/build/total times (#20394) 2020-12-15 01:46:30 -08:00
Massimiliano Culpo
e7f4c2b49e package sanity: ensure all variant defaults are allowed values (#20373) 2020-12-15 10:22:15 +01:00
Tamara Dahlgren
c6c1af4969 Bugfix: Correct the git URL (#20391) 2020-12-14 19:11:06 -08:00
Vicente Bolea
e3fa8d9f52 ParaView: add new ParaView-5.9.0-RC2 release (#20222)
* ParaView: add new ParaView-5.9.0-RC2 release

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>

* Update var/spack/repos/builtin/packages/paraview/package.py

Indeed, I misunderstood the previous review. This looks good to me too.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-12-14 15:23:50 -06:00
Ryan Mast
86ae63b648 bazel: add latest versions up to 3.7.1 (#20355) 2020-12-14 12:27:38 -06:00
Tim Haines
7e93240b97 boost: added v1.75.0 (#20366) 2020-12-14 19:20:33 +01:00
Andre Sailer
d1bebb4d05 mysql: fixed variant mismatch with boost (#20370)
Require boost at cxxstd=14 if cxxstd=14 is selected, not 11
2020-12-14 14:31:57 +01:00
Thomas Gruber
8fd4719291 likwid: Add variant for Nvidia GPU profiling feature (#20337) 2020-12-14 10:20:07 +01:00
Axel Huebl
f0b7be8263 WarpX: PSATD on (#20342)
Enabling PSATD is not mutually exclusive with other runtime options
anymore, so we can always compile with support for it to ease
usability.
2020-12-14 10:15:50 +01:00
Brian Van Essen
b7aea9f3b1 Propagate cuda_arch downstream from LBANN, Hydrogen and DiHydrogen (#20345) 2020-12-14 10:14:49 +01:00
Ryan Mast
fc8c07df2f gradle: updated versions up to v6.7.1 (#20358) 2020-12-14 10:03:00 +01:00
Todd Gamblin
495e8cfb8e concretizer: remove clingo command-line driver (#20362)
I was keeping the old `clingo` driver code around in case we had to run
using the command line tool instad of through the Python interface.

So far, the command line is faster than running through Python, but I'm
working on fixing that.  I found that if I do this:

```python
control = clingo.Control()
control.load("concretize.lp")
control.load("hdf5.lp")       # code from spack solve --show asp hdf5
control.load("display.lp")

control.ground([("base", [])])
control.solve(...)
```

It's just as fast as the command line tool. So we can always generate the
code and load it manually if we need to -- we don't need two drivers for
clingo. Given that the python interface is also the only way to get unsat
cores, I think we pretty much have to use it.

So, I'm removing the old command line driver and other unused code. We
can dig it up again from the history if it is needed.
2020-12-14 09:35:53 +01:00
takanori-ihara
5c43be7694 libmaus2: new package at v2.0.767 (#20300) 2020-12-14 09:29:58 +01:00
Tomoyasu Nojiri
12c8be73b3 wps: fix build for aarch64 (#20363) 2020-12-14 09:18:19 +01:00
Ben Cowan
cf37e9276d Debugging support: fix compiler wrapper log on Mac OS (#20333)
This fixes a logging error observed on macOS 11.0.1 (Big Sur).
When performing a Spack install in debugging mode (e.g.
`spack -d install py-scipy`) Spack is supposed to write a log of
compiler wrapper command line invocations to the current working
directory.

Due to a regression error introduced by #18205, these files were
no-longer generated, and Spack was printing errors such as
"No such file or directory: None/." This is because the log file
directory gets set from `spack.main.spack_working_dir`, but that
variable is not set in the spawned process.

This PR ensures that the working directory (at the time of the
"spack install" invocation) is persisted to the subprocess.
2020-12-11 15:54:11 -08:00
yellowhat
0924b20984 fio: added v3.25 (#20302) 2020-12-11 15:16:28 +01:00
vvolkl
e6f2fa34d0 dd4hep: added v01-15, edm4hep variant and updated url_for_version (#20304) 2020-12-11 15:15:41 +01:00
Levi Baber
d55dfe07d9 albert: added v4.0a (#20306) 2020-12-11 14:35:50 +01:00
Dr. Christian Tacke
3be8a5e007 root: added v6.22.06 (#20309) 2020-12-11 14:23:46 +01:00
vvolkl
047bf4d902 prmon: added v2.1.1 (#20318) 2020-12-11 11:27:28 +01:00
Christian Kniep
e4bb85cd27 Add amazonlinux (x86/arm) dockerfile (#20320)
Co-authored-by: Christian Kniep <kniec@amazon.com>
2020-12-11 11:11:33 +01:00
Desmond Orton
ea7d14af10 py-dadi: added new package at v2020-12-02 (#20314) 2020-12-11 10:26:01 +01:00
Ryan Marcellino
9721e0fdec openjdk: bump version 1.8 and 11 (#20315) 2020-12-11 10:24:25 +01:00
QuellynSnead
dcfd22cca9 caliper: add a variant to enable Fortran support (#20332) 2020-12-11 10:10:21 +01:00
manifest
955a5c0fc8 py-angel: new package at v3.0 (#20331) 2020-12-11 10:02:18 +01:00
Adam J. Stewart
207f71246a py-torchvision: add v0.8.2 (#20328) 2020-12-11 09:53:12 +01:00
Adam J. Stewart
28def448ff py-torch: add v1.7.1 (#20327) 2020-12-11 09:52:51 +01:00
Tomoyasu Nojiri
6672278e68 py-pyarrow: fix build for aarch64 (#20335) 2020-12-11 09:37:36 +01:00
Robert Pavel
1728b0ea25 flux: added v0.20.0 and v0.21.0 (#20322)
Fixed hard tab in flux-sched edit and unbound hwloc in flux-core after
testing to better support modern MPIs in spack environments

Verified that flux-core@0.17 is when hwloc@2: became viable
2020-12-11 09:08:02 +01:00
Dr. Christian Tacke
6f6855d437 curl: added v7.64.0, v7.74.0 (#20321) 2020-12-11 09:06:54 +01:00
Tamara Dahlgren
59628cd9e8 Tests: enable re-use of post-install tests in smoke tests (#20298) 2020-12-10 10:35:27 -08:00
Dr. Christian Tacke
6c26203f95 hepmc: Add 2.06.11, switch to https (#20286) 2020-12-10 11:40:02 -05:00
Itaru Kitayama
9bcf99358e Add a new NEST version, 2.20.0. (#20316)
* Add a new NEST version, 2.20.0.

* Scalasca requires Score-P as a 'run' dependency.

Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2020-12-10 06:43:16 -06:00
arjun-raj-kuppala
3d568d1553 AMD ROCm Release: Bump up versions(3.9.0 and 3.10.0) for miopen-hip (#20296) 2020-12-10 11:55:07 +01:00
Christoph Junghans
e117e087eb votca-*: add v1.6.3 (#20308) 2020-12-09 15:06:54 -07:00
Filippo Spiga
5b1739da72 Adding NVIDIA HPC SDK 20.11 (#20287) 2020-12-09 09:53:05 -08:00
Filippo Spiga
adbbd6f28f Adding CUDA 11.1.1 (#20289) 2020-12-09 09:47:03 -08:00
arjun-raj-kuppala
8f8f83620d AMD ROCm Release: Bump up migraphx recipe with 3.9.0 and 3.10.0 (#20299) 2020-12-09 09:40:54 -08:00
AMD Toolchain Support
0b62b33d18 Below changes were added to lammps recipe: (#20288)
1) amdfftw library support
 2) opt added in supported packages
2020-12-09 09:36:59 -08:00
Jose E. Roman
af307d3120 New patch release SLEPc 3.14.1 (#20291) 2020-12-09 09:29:24 -08:00
Michael Kuhn
1969af2440 openssl: add 1.1.1i (#20294) 2020-12-09 07:52:15 -05:00
Adam J. Stewart
3f5f80956e Command Reference: add link to spack test docs (#20054) 2020-12-08 09:26:03 -08:00
Tim Moon
90b3f7f259 Make sure py-protobuf package can link to libprotobuf when building (#20280) 2020-12-08 09:52:57 -06:00
lorddavidiii
15fd386a20 arpack-ng: added v3.8.0 (#20270) 2020-12-08 16:37:53 +01:00
Andrew W Elble
a90026fb89 concretizer: try hard to obtain all needed variant_possible_value()'s (#20102)
Track all the variant values mentioned when emitting constraints, validate them
and emit a fact that allows them as possible values.

This modification ensures that open-ended variants (variants accepting any string 
or any integer) are projected to the finite set of values that are relevant for this 
concretization.
2020-12-08 15:46:52 +01:00
Alexander Baumgarten
5dcd0c9076 r-vctrs: added v0.3.5 (#20267) 2020-12-08 14:09:09 +01:00
Adam J. Stewart
0344648149 py-pandas: add v1.1.5 (#20268) 2020-12-08 14:08:36 +01:00
Alexander Baumgarten
09aa1b2092 r-fansi: added v0.4.1 (#20269) 2020-12-08 14:08:11 +01:00
Dan Bonachea
1681c19d04 UPC++: added v2020.11.0 and v2020.10.0 (#20279)
2020.10.0 is the latest stable release, and the preferred version
for general use (when the user does not specify otherwise).

2020.11.0 is a prototype for the memory kinds feature that is also
available when requested.
2020-12-08 11:23:32 +01:00
Tomoki, Karatsu
46ec233a7d ghostscript: limited fujitsu compiler's version to apply patch. (#20281) 2020-12-08 11:05:30 +01:00
Harmen Stoppels
50f8332d95 Compiler wrapper linting (#20249)
* Fix duplicate entries in case
* make sure the arg is not interpreted as two items in a list
* use -n over ! -z
2020-12-07 18:58:19 -08:00
Massimiliano Culpo
98c2627132 bugfix: work around issue handling packages not in any repo 2020-12-07 17:18:33 -08:00
Todd Gamblin
1343a815c0 concretizer: refactor handling of special variants dev_build and patches
Other parts of the concretizer code build up lists of things we can't
know without traversing all specs and packages, and they output these
list at the very end.

The code for this for variant values from spec literals was intertwined
with the code for traversing the input specs. This only covers the input
specs and misses variant values that might come from directives in
packages.

- [x] move ad-hoc value handling code into spec_clauses so we do it in
  one place for CLI and packages

- [x] move handling of `variant_possible_value`, etc. into
  `concretize.lp`, where we can automatically infer variant existence
  more concisely.

- [x] simplify/clarify some of the code for variants in `spec_clauses()`
2020-12-07 17:18:33 -08:00
vvolkl
8035a52f7b edm4hep: added package at v0.3, updated podio at v0.13 (#20241) 2020-12-07 18:58:10 +01:00
vvolkl
ed258ca9e9 Add "spack versions --new" flag to only show new versions (#20030)
* [cmd versions] add spack versions --new flag to only fetch new versions

format

[cmd versions] rename --latest to --newest and add --remote-only

[cmd versions] add tests for --remote-only and --new

format

[cmd versions] update shell tab completion

[cmd versions] remove test for --remote-only --new which gives empty output

[cmd versions] final rename

format

* add brillig mock package

* add test for spack versions --new

* [brillig] format

* [versions] increase test coverage

* Update lib/spack/spack/cmd/versions.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update lib/spack/spack/cmd/versions.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-07 09:29:10 -06:00
ketsubouchi
b4ed4fb226 povray: model mkl dependency correctly (#20265)
Added the correct depends_on directive if the mkl variant is active.
Added conflicts for archs that don't support mkl
2020-12-07 15:45:56 +01:00
Owen Solberg
af9bf816fe py-xopen: added v1.0.1 and v0.8.4 (#20245) 2020-12-07 10:25:53 +01:00
Robert Maynard
039d4a81be VTK-m: update to specify correct requirements to kokkos (#20097) 2020-12-07 10:16:44 +01:00
Martin Oberzalek
a5b3a77741 krb5: added 'shared' variant and support to build static library (#20017)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-07 10:13:01 +01:00
Adam J. Stewart
401fe7179f OpenCV: disable variants by default (#20162) 2020-12-07 10:10:28 +01:00
Jacob Merson
1f73c87157 ccls: new package at v0.20201025 (#20251) 2020-12-07 09:53:34 +01:00
Jacob Merson
89c54ff01e spdlog: added versions up to v1.8.1 (#20252) 2020-12-07 09:49:23 +01:00
Paul R. C. Kent
ec3a506414 curl: added v7.73.0 (#20246) 2020-12-07 09:23:02 +01:00
iulian787
bb27b05b24 tempestremap: added new package at v2.0.5, updated moab to v5.2.1 (#20014) 2020-12-07 09:21:32 +01:00
h-denpo
3c2392554b apr: add depends_on ('libuuid', type='link') (#20261) 2020-12-07 09:02:40 +01:00
Sreenivasa Murthy Kolam
0fc36844b0 atmi, rccl: added v3.10.0 (rocm-3.10.0) (#20264) 2020-12-07 08:52:33 +01:00
Massimiliano Culpo
3843f43e69 concretizer: each external version is allowed by definition (#20247)
Registering external versions among the lists of allowed ones
generates the correct rules for `version_satisfies`
2020-12-06 10:29:05 +01:00
perrymil
fbb127c46a raxml-ng: new package at v1.0.1 (#20223) 2020-12-04 22:56:24 +01:00
Ben Morgan
0dd628d0d3 geant4, geant4-data: versions 10.6.3 and 10.7.0 (#20250)
Update geant4-data and individual datasets for Geant4 versions 10.6.3
and 10.7.0.

Update geant4 package with new versions 10.6.3 and 10.7.0. Update
dependencies on CLHEP and VecGeom with versions required for Geant4
10.7.

Add GEANT4_INSTALL_PACKAGE_CACHE=OFF to CMake args for 10.6 onwards.
Prevents install of the "package cahce" file that contains hard-coded
paths for dependencies, improving relocatability. It relies on Spack
setting CMAKE_PREFIX_PATH correctly in build/use environments that
consume the geant4 package.
2020-12-04 13:22:47 -05:00
Harmen Stoppels
984ae7e695 Also allow --rpath as rpath linker flags (#18473) 2020-12-04 12:29:55 -05:00
Massimiliano Culpo
8b74b50cff concretizer: restrict maximizing variant values to MV variants (#20194) 2020-12-04 16:27:03 +01:00
TAKAHASHI Shuuji
98517af024 postgresql: added xml variant (#20224) 2020-12-04 12:27:52 +01:00
arjun-raj-kuppala
321298b115 AMD ROCm - Bump up rocalution with 3.9.0 and 3.10.0 releases (#20243) 2020-12-04 11:23:55 +01:00
Sreenivasa Murthy Kolam
5c0ac61a95 Added v3.10.0 for miopengemm, rocm-opencl and rocm (#20235) 2020-12-04 10:21:10 +01:00
Erik Schnetter
2d3e491845 amrex: constrain cmake if using cuda 11 (#20237)
`cmake @3.17:` is necessary to handle `cuda @11:` correctly. Earlier versions of `cmake` do not know that `cuda @11:` does not support `compute_30` any more, and list that compute capability as supported. This is handled in `cmake`'s file `Modules/FindCUDA/select_compute_arch.cmake`.
2020-12-04 10:16:35 +01:00
Ethan Stam
f391b2e8e5 py-cinemasci: new package at v1.3 (#20239) 2020-12-04 10:13:45 +01:00
Howard Pritchard
61f0f840d4 libtheora: patch for png_sizeof issue (#20240)
See

https://gitlab.freedesktop.org/gstreamer/cerbero/blob/master/recipes/libtheora/0004-examples-Don-t-use-png_sizeof.patch

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-12-04 10:12:44 +01:00
George Hartzell
9afaaa3c25 bowtie2: fix installation prefix (#20205)
The bowtie2 Makefile uses `prefix`, not `PREFIX`, for versions before v2.4.

Credit to @tkameyama

Co-authored-by: george.hartzell <george.hartzell@sana.com>
2020-12-04 09:59:59 +01:00
eugeneswalker
badf3368ad allow install of build-deps from cache via --include-build-deps switch (#19955)
* allow install of build-deps from cache via --include-build-deps switch

* make clear that --include-build-deps is useful for CI pipeline troubleshooting
2020-12-03 15:27:01 -08:00
Matthias Wolf
794b60f7e7 environment installs: fix reporting. (#20004)
PR #15702 changed the invocation of the report context when installing
specs, do the same when building environments.
2020-12-03 15:04:13 -08:00
Greg Becker
d6765fe95d avoid circular import (#20236) 2020-12-03 13:54:09 -08:00
Andrew W Elble
09aae616c7 concretizer: call inject_patches_variants() on the roots of the specs (#20203)
As was done in the old concretizer. Fixes an issue where conditionally
patched dependencies did not show up in spec (gdal+jasper)
2020-12-03 16:28:34 +01:00
Sreenivasa Murthy Kolam
39be60ab92 bump up version for rocm_3.10.0 rel (#20229) 2020-12-03 14:28:51 +01:00
Sreenivasa Murthy Kolam
a1b9a00a13 bumpup the version for rocm-3.10.0 release (#20227) 2020-12-03 12:40:54 +01:00
Danny Taller
e22e037e30 Add CARE package, fixes for ROCmPackage and subclasses (#20070)
* use develop version of blt with fixes for rocm

* package updates for care+rocm

* fixes for plain cpu build

* add camp dependency on raja
2020-12-02 17:07:56 -08:00
Danny Taller
f37adc71f0 fix harmen branch (#20216) 2020-12-02 22:49:24 +01:00
Massimiliano Culpo
05848c87c5 concretizer: try hard to infer the real version of compilers (#20099)
fixes #20055

Compiler with custom versions like gcc@foo are not currently
matched to the appropriate targets. This is because the
version of spec doesn't match the "real" version of the
compiler.

This PR replicates the strategy used in the original
concretizer to deal with that and tries to detect the real
version of compilers if the version in the spec returns no
results.
2020-12-02 20:30:28 +01:00
fcannini
007ff2a6b0 namd: added cuda support (#20143) 2020-12-02 20:22:12 +01:00
Justin S
651bd50d86 py-mikado: new package at 20201016 (#20186) 2020-12-02 20:20:27 +01:00
Desmond Orton
c65090bac1 blast-plus: added v2.11.0 (#20024)
Co-authored-by: Dan Han <las_danhan@iastate.edu>
2020-12-02 20:02:14 +01:00
Andrew W Elble
881c4e87df pmix/openpmix: added v3.2.1 and v3.1.5 (#20087) 2020-12-02 19:36:30 +01:00
Sreenivasa Murthy Kolam
ff4c45289e bump up version for rocm-3.10.0 release (#20214)
* bump up version for rocm-3.10.0 release

* bump up version for rocm-3.10.0

* remove duplicate version addition for 3.9.0

* bump up version for rocm-3.10.0 release

* bump up version for rocm-3.10.0 release

* bump up version for rocm-debug-agent and rocm-dbgapi

* bump up version for rocm-bandwidth-test,rocm-gdb,rocprofiler,roctracer for rocm-3.10.0
2020-12-02 12:33:40 -06:00
Justin S
6d0e8d760a r-loo: added v2.3.1 (#20075) 2020-12-02 19:33:21 +01:00
Adam J. Stewart
80b6b768df G2O: add new package (#20165) 2020-12-02 19:30:26 +01:00
Adam J. Stewart
898ac9f9c2 libqglviewer: build dylib instead of Framework (#20178) 2020-12-02 19:23:31 +01:00
Andrew W Elble
3c25ae5130 py-ucx-py: added new package at v0.16.0 (#20093)
Added also py-pynvml
2020-12-02 19:15:23 +01:00
mic84
5deeff89f3 amrex: added v20.12 (#20200) 2020-12-02 19:05:55 +01:00
Howard Pritchard
d84c59c9a0 libtheora: patch autogen.sh to avoid (#20008)
configure problem when spack runs the configure stage of its build/install pipeline

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-12-02 10:24:37 -06:00
Harmen Stoppels
b0baf42988 Fix hipcc once more (#20095) 2020-12-02 15:58:58 +01:00
Toyohisa Kameyama
e575a38d96 py-tensorlow: use mkdtemp for temporary directory. (#20212) 2020-12-02 08:45:30 -06:00
Ghorban M. Tavakoly
954a3aab62 gdbm: fix link errors with aocc (#20206) 2020-12-02 13:53:29 +01:00
ketsubouchi
d9ccce9689 py-numpy: add fj Fortran library options (#20210) 2020-12-02 13:45:03 +01:00
Massimiliano Culpo
44c1beaf3a boost: disable find_package's config mode for boost prior to v1.70.0 (#20198) 2020-12-02 12:25:57 +01:00
ketsubouchi
47ac7da244 openexr: changed build system to autotools (#20209) 2020-12-02 11:10:47 +01:00
Nichols A. Romero
0d988700ba QMCPACK: added v3.10.0 and updates to package recipe (#20199)
* cuda_arch value must be explictly set.

* QMCPACK LaTeX manual now converted to reStructuredText and directory no longer exists.
2020-12-02 11:07:46 +01:00
Nithin Senthil Kumar
a3005d4a7c mvapich2: added v2.3.5 (#20211)
Co-authored-by: nithintsk <nithintsk@github.com>
2020-12-02 11:01:49 +01:00
Andrew W Elble
0c326e87a9 concretizer: don't optimize emitting version_satisfies() (#20128)
When all versions were allowed a version_satisfies rule was not emitted,
and this caused conditional directives to fail.
2020-12-02 09:53:53 +01:00
AMD Toolchain Support
721fdddde4 namd, charmpp: patch to allow build with AMD Toolchain support (#20083)
Co-authored-by: mohan babu <mohbabul@amd.com>
2020-12-02 09:46:54 +01:00
Jieyang Chen
c0bbf5454c Add smoke test to VTK-m package (#19816)
* add smoke test

* remove whitespaces

* fix minimum version issue

* reorder decorators & replace make with cmake build

* merge cmake build into one line

* reorganize smoke test function

Co-authored-by: Jieyang Chen <chenj3@ornl.gov>
2020-12-01 17:59:44 -06:00
MichaelLaufer
59106c4dec Fixes compile time errors (#20006)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2020-12-01 16:21:19 -06:00
Christian Goll
235558df11 dockerfiles: add dockerfile for opensuse leap 15 (#20091)
* added dockerfile for opensuse leap 15
* updated maintainer info
* Update share/spack/docker/leap-15.dockerfile
* move copies and symlinks after package install
also use ${SPACK_ROOT} for spack calls as
this works with buildah

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-01 14:03:35 -08:00
Seth R. Johnson
42ed6e25e1 pugixml: add 1.11 and update variants (#20175) 2020-12-01 14:26:08 -05:00
Tom Payerle
5d248a3c67 New package: py-qsymm (#19455)
* New package: py-qsymm

* py-qsymm: Convert to using tarballs from PyPi instead of git checkouts

* py-qsymm: add missing dependencies

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

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

* py-qsymm: Fix url to use pypi hidden download interface

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-12-01 13:25:12 -06:00
Harmen Stoppels
32e23f5324 mpich: fix autotools deps for mpich 3.3.x (#20176)
Issue is fixed in 3.4.x
2020-12-01 18:46:32 +01:00
Massimiliano Culpo
7c01ba8fea spec: return early from concretization if a spec is already concrete (#20196) 2020-12-01 18:09:14 +01:00
Justin S
b43202f433 mummer4: add 4.0.0rc1 (#20183) 2020-12-01 17:42:15 +01:00
AMD Toolchain Support
ec1eddb6e7 AOCC-2.3.0 is now added to spack (#20089)
* AOCC-2.3.0 is now added to spack

Change-Id: I18fd9606e6fd9a288cc7dc6c6ead11ea17839a7c

* Added flag and version tests for AOCC-2.3.0

* Addressed review comments

Co-authored-by: vkallesh <Vijay-teekinavar.Kallesh@amd.com>
2020-12-01 08:07:58 -06:00
fcannini
2530d53ac6 quantum-espresso: Enables build with Environ library. (#20131) 2020-12-01 10:44:19 +01:00
Massimiliano Culpo
e2033566bf concretizer: remove ad-hoc rule for external packages (#20193)
fixes #20040

Matching compilers among nodes has been prioritized
in #20020. Selection of default variants has been
tuned in #20182. With this setup there is no need
to have an ad-hoc rule for external packages. On
the contrary it should be removed to prefer having
default variant values over more external nodes in
the DAG.
2020-12-01 10:11:40 +01:00
Massimiliano Culpo
7fd777c3d9 concretizer: swap priority of selecting provider and default variant (#20182)
refers #20040

Before this PR optimization rules would have selected default
providers at a higher priority than default variants. Here we
swap this priority and we consider variants that are forced by
any means (root spec or spec in depends_on clause) the same as
if they were with a default value.

This prevents the solver from avoiding expected configurations
just because they contain directives like:

depends_on('pkg+foo')

and `+foo` is not the default variant value for pkg.
2020-12-01 07:45:48 +01:00
Justin S
8edc831e43 r-v8: new package at 3.4.0 (#20056)
* r-v8: new package at 3.4.0

* r-v8: remove duplicate line
2020-11-30 18:10:03 -06:00
Axel Huebl
535acdcdb1 OpenBLAS: More Precise GCC Conflicts (#20101)
* OpenBLAS: More Precise GCC Conflicts

Add more precise GCC conflicts so e.g. GCC 6 and GCC 7.5 don't fail.

* Compact syntax

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-30 18:09:37 -06:00
Chuck Atkins
7d79db2de7 Fix Mesa GLES conflicts (#20184) 2020-11-30 23:54:24 +01:00
George Hartzell
bb9f5d613c Typos: add missing closing parens (#20174) 2020-11-30 10:28:07 -06:00
Adam J. Stewart
868dbb24c1 libQGLViewer: add new package (#20164) 2020-11-30 10:25:40 -05:00
manifest
2072c93dc8 Added bedtools2 v2.29.2 and and py-bedtools versions up to v0.8.0 (#19744) 2020-11-30 15:55:49 +01:00
Adam J. Stewart
2a7a6d472b CMake should be a build dependency (#20160) 2020-11-30 14:55:44 +01:00
Toyohisa Kameyama
87adda1bad bowtie2: change to MakefilePackage and add simde dependency. (#20166) 2020-11-30 14:19:47 +01:00
Harmen Stoppels
8c8e9b71a7 New versions of reframe, singularity and slurm (#20119)
Adds new versions of reframe (3.2, 3.3), singularity (3.7.0) and slurm (20-11-0-1).

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-11-30 14:01:19 +01:00
Chuck Atkins
80624213f4 llvm: conflict for CMake breaking change when treating ASM files as C (#20105) 2020-11-30 13:47:00 +01:00
Kai Torben Ohlhus
e1a35540ee intel-mkl: added v2020.4.304 (#20167)
2020 Update 4, Build date: 21 Oct 2020.
2020-11-30 13:38:59 +01:00
Tim Moon
f139fff796 Hydrogen: disabling CPU half support also disables GPU half support (#20077)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-11-30 11:44:37 +01:00
Andrew W Elble
499ada708e kicad: new package (#20074) 2020-11-30 10:43:45 +01:00
h-denpo
7b587bdda3 ffb: Fixed a recipe error when using the Intel compiler. (#20133) 2020-11-30 09:04:14 +01:00
h-denpo
4e3fd2687a r-rpostgresql: update config.guess reusing logic from autotools (#18917) 2020-11-30 08:58:14 +01:00
fcannini
447ba23fac dalton: New package. (#20130) 2020-11-30 08:57:26 +01:00
Andrew W Elble
8130ac3acb gnuradio: add gui support (#20073) 2020-11-30 08:54:55 +01:00
Tom Payerle
1c2424ac29 New package: povray (#20071) 2020-11-30 08:54:05 +01:00
Dave Love
c15755e88d memkind: Add versions :1.10.1 (#20122) 2020-11-30 08:47:45 +01:00
Toyohisa Kameyama
0d25a48a13 py-pyscf: add version 1.7.5. (#20135) 2020-11-30 08:46:38 +01:00
Kai Torben Ohlhus
52986f3b0c octave: add version 6.1.0 (#20168) 2020-11-30 08:38:32 +01:00
Adam J. Stewart
aca8508056 Add libs properties to a few packages (#20163) 2020-11-30 08:34:13 +01:00
Adam J. Stewart
a2d156902b freeglut: prevent linking to system deps (#20161) 2020-11-30 08:31:56 +01:00
Angel de Vicente
08c9a6e2b0 Qt: fix GCC (#19948)
tested only for gcc8.3.0 but should be safe for other compilers
2020-11-29 17:45:41 -05:00
Michael Kuhn
cc53ff162f go: added v1.15.5 and v1.14.12 (#20142) 2020-11-29 20:08:31 +01:00
Geoffrey Oxberry
073e7569db mfem: apply patches from #19452 when mfem@4.1: (#20151)
As part of pull request #19452, a patch method was added to the mfem
package to delete byte order marks from 3 mfem source files. These
files first appeared in a stable release of mfem as of version
4.1. Consequently, attempts to install mfem 3.4 or mfem 4.0 fail
because no files exist at the path arguments of the filter_file
commands used to execute this operation. Decorating the patch method
so it runs only on mfem versions 4.1 and later resolves the errors
that were thrown due to files not found.

This commit adds that decorator.
2020-11-29 20:04:16 +01:00
Michael Kuhn
b96a251c3d librsvg: added v2.50.2 (#20150) 2020-11-29 20:02:44 +01:00
Michael Kuhn
117000f607 node-js: added v15.3.0 and v14.15.1 (#20145) 2020-11-29 20:02:15 +01:00
Michael Kuhn
c473741bea npm: added v6.14.9 (#20146) 2020-11-29 20:01:13 +01:00
Michael Kuhn
1fc687e9f6 rust: Add 1.48.0 (#20149) 2020-11-29 11:39:11 -06:00
vvolkl
bd6b83c81e [catch2] add versions and fix github branch (#20157) 2020-11-29 14:44:34 +01:00
Chuck Atkins
ada781cc8f mesa: Require at least one front-end and back-end to be selected (#20144) 2020-11-29 14:37:45 +01:00
Seth R. Johnson
58babe81e1 Qt: add options to disable docs and gui (#20078)
* Qt: add options to disable docs and gui

- Add `~gui` option for minimal build
- Add `+doc` option to install docs, and attempt to disable the implicit
  llvm dependency if not
- Removes the 'freetype' option which hasn't worked reliably in qt5, as
  many of the gui components implicitly rely on freetype.
- Add and test version 5.15 (and skip qtlocation if disabling opengl)
- Refactor some of the dependency logic

I've tested this on linux with 5.15.2 and 4.8.7 in a couple of different
configurations.

* Address reviewer feedback and correctly disable llvm

* Fix qt doc generation
2020-11-29 02:10:25 +01:00
vvolkl
795611b652 Set default to range-v3~doc (#20153)
This is a more sensible default, I think, as it avoids the doxygen dependency.
2020-11-28 22:17:48 +01:00
Adam J. Stewart
7c26a10de8 py-rosinstall: add new package (#20110) 2020-11-28 11:01:33 -06:00
Adam J. Stewart
6f3bb73dd3 py-rosinstall-generator: add new package (#20109) 2020-11-28 11:01:18 -06:00
Adam J. Stewart
9daed27dc0 py-rosdep: add new package (#20107)
* py-rosdep: add new package

* setuptools needed at run-time

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-28 11:01:05 -06:00
Adam J. Stewart
98460b6f47 py-rosdistro: add new package (#20108) 2020-11-27 20:37:15 -06:00
Adam J. Stewart
d49912a8a1 py-rospkg: add new package (#20111)
* py-rospkg: add new package

* setuptools needed at run-time

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-27 17:01:36 -06:00
Adam J. Stewart
e2669eddb9 py-catkin-pkg: add new package (#20106)
* py-catkin-pkg: add new package

* setuptools is needed at run-time

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-27 14:43:43 -06:00
Adam J. Stewart
77aca8153d py-wstool: add new package (#20115) 2020-11-27 14:43:27 -06:00
Massimiliano Culpo
8dd3797d32 concretizer: treat target ranges in directives correctly (#19988)
fixes #19981

This commit adds support for target ranges in directives,
for instance:

conflicts('+foo', when='target=x86_64:,aarch64:')

If any target in a spec body is not a known target the
following clause will be emitted:

node_target_satisfies(Package, TargetConstraint)

when traversing the spec and a definition of
the clause will then be printed at the end similarly
to what is done for package and compiler versions.
2020-11-27 20:53:39 +01:00
Adam J. Stewart
e6641065af py-vcstool: add new package (#20112) 2020-11-26 18:06:10 -06:00
Adam J. Stewart
d2a83b8318 py-vcstools: add new package (#20114) 2020-11-26 18:05:39 -06:00
Massimiliano Culpo
44665cb4e6 archspec: added support for aocc (#20124) 2020-11-26 16:18:40 +01:00
AMD Toolchain Support
3252fb05fa spack recipe for gromacs with aocc compiler support (#19745)
* spack recipe for gromacs with aocc compiler support

Change-Id: I364aab4a0aa2dcd44bc47eb50c81b2d94c99cfbd

* Removed arch and other associated compilers flags

Added cycle_subcounters variant

Co-authored-by: vkallesh <Vijay-teekinavar.Kallesh@amd.com>
2020-11-26 09:07:56 -06:00
Massimiliano Culpo
03ff89fee6 concretizer: prioritize matching compilers over newer versions (#20020)
fixes #20019

Before this modification having a newer version of a node came
at higher priority in the optimization than having matching
compilers. This could result in unexpected configurations for
packages with conflict directives on compilers of the type:

conflicts('%gcc@X.Y:', when='@:A.B')

where changing the compiler for just that node is preferred to
lower the node version to less than 'A.B'. Now the priority has
been switched so the solver will try to lower the version of the
nodes in question before changing their compiler.
2020-11-26 13:10:48 +01:00
Harmen Stoppels
adccaa7af5 Add cmake 3.19.1 (#20118) 2020-11-26 10:18:22 +01:00
Mark W. Krentel
7e2ce24060 llvm-amdgpu: fix the build for version 3.9.0 (#20029)
* llvm-amdgpu: fix the build for version 3.9.0

Adapt the fix-system-zlib-ncurses.patch for version 3.9.0.  Without
the patch, llvm-amdgpu builds, but then rocm-device-libs fails with
"cannot find -ltinfo."

Tighten the version requirements for cmake according to the
llvm/CMakeLists.txt file.

* Add a conflict for cmake 3.19.0.
2020-11-26 09:32:24 +01:00
Massimiliano Culpo
8991cc4632 concretizer: allow a bool to be passed as argument for tests dependencies (#20082)
refers #20079

Added docstrings to 'concretize' and 'concretized' to
document the format for tests.

Added tests for the activation of test dependencies.
2020-11-26 08:55:17 +01:00
Massimiliano Culpo
983fb11dee concretizer: treat conditional providers correctly (#20086)
refers #20040

This modification emits rules like:

provides_virtual("netlib-lapack","blas") :- variant_value("netlib-lapack","external-blas","False").

for packages that provide virtual dependencies conditionally instead
of a fact that doesn't account for the condition.
2020-11-25 22:03:42 +01:00
Martin Aumüller
b33969598a intel-tbb: patch for arm64 on macOS (#20039)
* intel-tbb: patch for arm64 on macOS

as submitted upstream and used in homebrew

* intel-tbb: check patchable versions

* intel-tbb: avoid patch breakage when 2021.1 is released

2021.1-beta05 would be considered newer than 2021.1
2020-11-25 10:05:50 -06:00
downloadico
8b2c7a6c65 Add the 'exciting' package. (#20060)
* Add the 'exciting' package.
Version 14 (latest available) is defined.
An as-of-yet unpublished patch (dfgather.patch) from the developers is also
included.

* fixed flake8 errors (I *thought* I had already gotten them!  OOPS!)

* Update var/spack/repos/builtin/packages/exciting/package.py

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

* fixed install method to just do the install, and no build method is needed.

* *Actually* added the lapack dependency!

* removed variant from blas dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-25 09:59:35 -06:00
Harmen Stoppels
f40492b7d4 concretizer: remove debug statement (#20085) 2020-11-25 14:09:52 +01:00
Tomoyasu Nojiri
164fc4ee95 powertop: Add depend ncurses (#20080) 2020-11-25 10:15:51 +01:00
Erik Schnetter
408824f365 h5cpp: Correct checksum and build instructions (#20053)
* h5cpp: Correct checksum and build instructions

Closes https://github.com/spack/spack/issues/20046.

* h5cpp: Update to 1.10.4-6

* Update var/spack/repos/builtin/packages/h5cpp/package.py

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

* h5cpp: Correct formatting

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-24 13:37:29 -06:00
Dr. Christian Tacke
f6549849e5 root: Add 6.22.02, remove preferred label (#20002)
Drop the preferred label from 6.20.x.
Let's just default to the latest (production) version.
2020-11-24 11:08:56 -06:00
Scott Wittenburg
348cbe143c phist needs sbang fix for build script (#20063) 2020-11-24 07:07:34 -08:00
Ricardo Silva
87689f7cc8 sqlcipher: new package at v4.4.1 (#20009)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-11-24 15:54:27 +01:00
Ben Morgan
d9f6ef9df4 clhep: new version 2.4.4.0 (#20066) 2020-11-24 08:53:22 -06:00
Ben Morgan
2c0091df3f vecgeom: new version 1.1.8 (#20067) 2020-11-24 08:32:33 -05:00
vvolkl
28a3b30c53 [root] fix rootfit/roofit variant (#20051)
* [root] fix rootfit/roofit variant

fix typo

* Update var/spack/repos/builtin/packages/root/package.py

Co-authored-by: Hadrien G. <knights_of_ni@gmx.com>

Co-authored-by: Hadrien G. <knights_of_ni@gmx.com>
2020-11-24 11:19:10 +00:00
vvolkl
4e35df4b61 [gaudi] clhep is not optional (#20052) 2020-11-24 11:17:28 +00:00
Justin S
c468d6bed2 r-stanheaders: add 2.21.0-6 (#20057) 2020-11-23 20:56:48 -06:00
Andrew W Elble
3f0984e5e1 py-tensorboard: force use of spack's python, force build of ijar (#20059)
(same fix for py-tensorboard-plugin-wit)
2020-11-23 20:56:33 -06:00
Martin Oberzalek
fd07decd27 Also build static library (#20016) 2020-11-23 20:46:14 -06:00
Dmitri Smirnov
aa8dd782cd mysql: Add sasl as dependency for versions <5.7.999 (#20027) 2020-11-23 20:43:37 -06:00
Matthias Diener
617f2ac714 charmpp: fix tests (#20047) 2020-11-23 20:27:55 -06:00
Justin S
aee3b4a1e8 r-bh: add 1.72.0-3 (#20058) 2020-11-23 20:18:14 -06:00
Axel Huebl
01c9f3edc3 pybind11: 2.6.1 (#20061)
Add the latest pybind11 release.
Since release 2.6.0 was a major release with many changes in the
build system, prefer 2.5.0 for now.
2020-11-23 20:12:24 -06:00
Seth R. Johnson
5c623b03b1 flibcpp: update version and deps (#20048) 2020-11-23 10:40:57 -05:00
iulian787
cb4a08b3e0 moab: added v5.2.1, v5.2.0, v5.1.0 (#20010)
Also added maintainers for the package recipe.
2020-11-23 13:17:52 +01:00
vvolkl
fa66d683e4 delphes: updated pre-release version (#20011) 2020-11-23 13:16:14 +01:00
Adam J. Stewart
fb2ac2077d Docs: remove duplication in Command Reference (#20021) 2020-11-23 12:38:34 +01:00
Martin Aumüller
b62401ec8f ispc: external find support, added master branch version (#20033)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-11-23 12:28:11 +01:00
Cyrus Harrison
8a54817d4e vtk-h: added v0.6.6 (#20026) 2020-11-23 11:21:42 +01:00
Martin Aumüller
5088d799eb openscenegraph: remove dependency on Qt for >= 3.5.4 (#20032) 2020-11-23 11:18:41 +01:00
Michael Kuhn
c25f15b7d5 libx11: added v1.7.0 (#20035) 2020-11-23 11:13:33 +01:00
Michael Kuhn
d7db6068c5 libxcb, xcb-proto: added v1.14 versions (#20036)
At least xcb-proto 1.14.1 is only avaiable from the new URL, so change
both to be future-proof.
2020-11-23 11:13:09 +01:00
Martin Aumüller
236796577d botan: added v2.17.0, v2.17.1 and v2.17.2 (#20037) 2020-11-23 11:11:51 +01:00
Martin Aumüller
b490d65f28 recognize macOS 11.1 as big sur (#20038)
Big Sur versions go 11.0, 11.0.1, 11.1 (vs. prior versions that
only used the minor component)

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-11-23 08:37:40 +01:00
Pramod Kumbhar
92d540fde7 Add sionlib and linktest packages (#20034)
* Add sionlib and linktest packages

* fix flake8
2020-11-22 09:22:26 -06:00
Thomas Gruber
4609a126ba Add new release 5.1.0 and change homepage (#20022) 2020-11-21 00:02:08 +01:00
Shahzeb Siddiqui
f30aeb35ae [WIP] nersc e4s pipeline trigger (#19688)
* nersc e4s pipeline trigger

* Update nersc_pipeline.yml

* Update nersc_pipeline.yml
2020-11-20 13:31:25 -08:00
Martin Oberzalek
439b329c38 openldap: enable creation of static libraries (#20013) 2020-11-20 13:51:25 +01:00
psakievich
f613e10f24 Trilinos: Add CUDA relocatable code flag (#19993)
* Add relocatable code flag to trilinos

* Make CUDA RDC and varainat

* adjust default of cuda_rdc
2020-11-19 19:24:42 -05:00
Josh Essman
f92e52cdc8 mfem: Add support for AmgX, fix to version extensions (#19990)
* fix: leading . is not needed in extension kwarg

* mfem: add support for NVIDIA AmgX

fix: proper spacing

* mfem: use conflict to indicate that AmgX is expected to depend on CUDA
2020-11-19 14:03:22 -06:00
Axel Huebl
16d5cc2c99 ADIOS2: ~dataman default (#20003)
Disable dataman by default. It pulls heavy dependencies that are
often not needed for HPC (ZMQ) and it currently does not link
with popular compilers.
2020-11-19 13:56:51 -06:00
Massimiliano Culpo
d6e44b94d6 globalarrays: added v5.8 and earlier, simplified recipe (#19999)
fixes #19966

Global arrays supports GCC 10 since version 5.7.1,
therefore a conflict has been added to avoid old
releases to error at build-time.

Removed the 'blas' and 'lapack' variant since
BLAS and LAPACK are always a dependency, and
if not specified during configure, a version
of these APIs vendored with Global Arrays is
built.

Fixed a few options in configuration.
2020-11-19 11:58:54 -06:00
Brian Van Essen
5015635506 Removed accidental command to not expand the tarball. (#20001) 2020-11-19 11:58:25 -06:00
Dr. Christian Tacke
c417827954 cmake: Add Version 3.19.0 (#19996) 2020-11-19 10:43:52 -06:00
Sreenivasa Murthy Kolam
e75b76f433 bump up version for rocm 3.9.0 (#19995) 2020-11-19 07:40:24 -06:00
Toyohisa Kameyama
1522d1fac6 simde: New package (#19992)
* simde: New package

* remove 0.5.0.
2020-11-19 07:38:50 -06:00
Nithin Senthil Kumar
5129d84304 mvapich2: extended the fabrics variant description (#19860)
The point of this variant is to give the end user an option to use system
installed fabrics such as mofed instead of upstream fabrics such as rdma-core.
This was found to avoid run time errors on some systems.

Co-authored-by: nithintsk <nithintsk@github.com>
2020-11-19 13:47:57 +01:00
Adam J. Stewart
14a9359395 spack debug report: print concretizer (#19983) 2020-11-19 11:12:28 +01:00
Tomoki, Karatsu
8f3594564c fujitsu compiler: added / fixed support for compiler flags (#19967)
Added flags for:
- Debug symbols
- C++17 standard

Fixed the list of flags for generic optimizations
2020-11-19 11:09:34 +01:00
Michael Kuhn
1b7a5e53a6 clang/llvm: fix version detection (#19978)
This PR fixes two problems with clang/llvm's version detection. clang's
version output looks like this:

```
clang version 11.0.0
Target: x86_64-unknown-linux-gnu
```

This caused clang's version to be misdetected as:

```
clang@11.0.0
Target:
```

This resulted in errors when trying to actually use it as a compiler.

When using `spack external find`, we couldn't determine the compiler
version, resulting in errors like this:

```
==> Warning: "llvm@11.0.0+clang+lld+lldb" has been detected on the system but will not be added to packages.yaml [reason=c compiler not found for llvm@11.0.0+clang+lld+lldb]
```

Changing the regex to only match until the end of the line fixes these
problems.

Fixes: #19473
2020-11-19 11:06:45 +01:00
Michael Kuhn
dd54cb4c7a llvm: add missing pkgconfig dependency (#19982)
When building llvm with CUDA support, it needs to find libffi. Without
pkg-config, libffi will not be found.
2020-11-19 10:34:13 +01:00
Brian Van Essen
db9b7a509a cuDNN Refactor to accommodate architecture and CUDA version (#19989)
* Updated the cuDNN recipe to generate the proper version names for only
the arhcitecture that you are on.  This prevents the concretizer from
selecting a source code version that is incompatible with your current
architecture.  Additionally, add constraints to ensure that the
corresponding CUDA version is properly set as well.

* Added maintainer

* Fixed renaming for darwin systems

* Fixed flake8

* Fixed flake8

* Fixed range typo

* Update var/spack/repos/builtin/packages/cudnn/package.py

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

* Fixed style issues

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 22:56:39 -06:00
eugeneswalker
a2801a1384 openblas@0.3.11 conflicts with gcc less than 8.3.0 (#19975) 2020-11-18 22:52:31 -06:00
Andreas Baumbach
cb22bcf6f1 drop unnecessary tk dependency of py-git-review (#19969)
* seems to have been introduced errorously by users using gitk-based
  workflows. This should be handled by the git package
* fixes build problems on OSX bigsur
2020-11-18 22:51:47 -06:00
t-nojiri
c9aac3e221 openloops: Fix for aarch64 (#19965) 2020-11-18 22:49:04 -06:00
arjun-raj-kuppala
a680df8453 AMD ROCm 3.9.0 release: Bump up version for aomp, roctracer-dev (#19957)
* AMD ROCm 3.9.0 release: Bump up version for aomp, roctracer-dev and updates to hip/hip-rocclr

* Update package.py
2020-11-18 22:47:10 -06:00
Matthias Diener
932f128bc8 charmpp: various fixes (#19956)
* charmpp: various fixes

- change URLs to https
- address deprecated/renamed versions
- make it build with the cmake build system

* flake8

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 22:45:57 -06:00
Adam J. Stewart
95f5419502 py-ipykernel: fix bug in phase method (#19986)
* py-ipykernel: fix bug in phase method

* Fix bug in executable calling
2020-11-18 18:45:29 -08:00
Enrico Usai
bc5c475909 aws-parallelcluster: 2.10.0 release (#19976)
Updated boto3 dependency and removed useless comments.
2020-11-18 19:27:04 -06:00
Greg Becker
10f784338b fix error handling for spack test results command (#19987) 2020-11-18 16:16:34 -08:00
Danny Taller
3b9155239b hip support for umpire, chai, raja, camp (#19715)
* create HipPackage base class and do some refactoring

* comments and added conflict to raja for openmp with hip
2020-11-18 11:52:21 -08:00
Cyrus Harrison
676d68a979 add 0.6.0 conduit release and update for branch changes (#19696) 2020-11-18 12:34:14 -06:00
vvolkl
3069631f37 Add "hep" label to high energy physics packages (#19968)
* [hep] add hep tag to relevant packages

* [lcio] add hep label
2020-11-18 17:07:35 +00:00
Dr. Christian Tacke
eca1370abc root: Add +spectrum variant to enable TSpectrum (#19971) 2020-11-18 16:37:37 +00:00
Massimiliano Culpo
b1dc3e787b Merge tag 'v0.16.0' into develop 2020-11-18 15:23:35 +01:00
Axel Huebl
8b431d1774 py-ipykernel: fix install (#19617)
There is a post-install routine in `ipykernel` that needs to be
called for proper registration with jupyter.
2020-11-18 07:34:12 -06:00
Wouter Deconinck
a0a15b5cd0 qt: patch missing includes when +opengl %gcc@10: (#19963) 2020-11-18 07:51:51 -05:00
6360 changed files with 52198 additions and 21377 deletions

43
.flake8
View File

@@ -27,6 +27,47 @@
# - N813: camelcase imported as lowercase
# - N814: camelcase imported as constant
#
# F4: pyflakes import checks, these are now checked by mypy more precisely
# - F403: from module import *
# - F405: undefined name or from *
#
# Black ignores, these are incompatible with black style and do not follow PEP-8
# - E203: white space around slice operators can be required, ignore : warn
# - W503: see above, already ignored for line-breaks
#
[flake8]
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814,F403,F405
max-line-length = 88
# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
#
# F8: Name
# - F821: undefined name `name`
#
per-file-ignores =
var/spack/repos/*/package.py:F405,F821
# exclude things we usually do not want linting for.
# These still get linted when passed explicitly, as when spack flake8 passes
# them on the command line.
exclude =
.git
etc/
opt/
share/
var/spack/cache/
var/spack/gpg*/
var/spack/junit-report/
var/spack/mock-configs/
lib/spack/external
__pycache__
var
format = spack
[flake8:local-plugins]
report =
spack = flake8_formatter:SpackFormatter
paths =
./share/spack/qa/

View File

@@ -1,24 +0,0 @@
# -*- conf -*-
# flake8 settings for Spack package files.
#
# This should include all the same exceptions that we use for core files.
#
# In Spack packages, we also allow the single `from spack import *`
# wildcard import and dependencies can set globals for their
# dependents. So we add exceptions for checks related to undefined names.
#
# Note that we also add *per-line* exemptions for certain patterns in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (because we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#
# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
#
# F8: Name
# - F821: undefined name `name`
#
[flake8]
ignore = E129,E221,E241,E272,E731,W503,W504,F405,F821,F999,N801,N813,N814
max-line-length = 79

2
.gitattributes vendored
View File

@@ -1 +1,3 @@
*.py diff=python
*.lp linguist-language=Prolog
lib/spack/external/* linguist-vendored

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

7
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

View File

@@ -5,6 +5,18 @@ on:
branches:
- develop
- releases/**
paths-ignore:
# Don't run if we only modified packages in the built-in repository
- 'var/spack/repos/builtin/**'
- '!var/spack/repos/builtin/packages/lz4/**'
- '!var/spack/repos/builtin/packages/mpich/**'
- '!var/spack/repos/builtin/packages/tut/**'
- '!var/spack/repos/builtin/packages/py-setuptools/**'
- '!var/spack/repos/builtin/packages/openjpeg/**'
- '!var/spack/repos/builtin/packages/r-rcpp/**'
- '!var/spack/repos/builtin/packages/ruby-rake/**'
# Don't run if we only modified documentation
- 'lib/spack/docs/**'
pull_request:
branches:
- develop
@@ -37,7 +49,7 @@ jobs:
- ruby-rake # RubyPackage
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
- uses: actions/cache@v2.1.4
with:
path: ~/.ccache
key: ccache-build-${{ matrix.package }}

View File

@@ -1,150 +0,0 @@
name: linux tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
unittests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9]
concretizer: ['original', 'clingo']
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for unit tests
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial
sudo apt-get install -y ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Bootstrap clingo from sources
if: ${{ matrix.concretizer == 'clingo' }}
run: |
. share/spack/setup-env.sh
spack external find --not-buildable cmake bison
spack -v solve zlib
- name: Run unit tests
env:
COVERAGE: true
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
flags: unittests,linux,${{ matrix.concretizer }}
shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for shell tests
sudo apt-get install -y coreutils csh zsh tcsh fish dash bash
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 38
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run shell tests
env:
COVERAGE: true
run: |
share/spack/qa/run-shell-tests
- uses: codecov/codecov-action@v1
with:
flags: shelltests,linux
centos6:
# Test for Python2.6 run on Centos 6
runs-on: ubuntu-latest
container: spack/github-actions:centos6
steps:
- name: Run unit tests
env:
HOME: /home/spack-test
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
clingo-cffi:
# Test for the clingo based solver (using clingo-cffi)
runs-on: ubuntu-latest
container: spack/github-actions:clingo-cffi
steps:
- name: Run unit tests
run: |
whoami && echo PWD=$PWD && echo HOME=$HOME && echo SPACK_TEST_SOLVER=$SPACK_TEST_SOLVER
python3 -c "import clingo; print(hasattr(clingo.Symbol, '_rep'), clingo.__version__)"
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
. share/spack/setup-env.sh
spack compiler find
spack solve mpileaks%gcc
coverage run $(which spack) unit-test -v
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
flags: unittests,linux,clingo

View File

@@ -1,44 +0,0 @@
name: macos tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.8]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage
pip install --upgrade flake8 pep8-naming
- name: Setup Homebrew packages
run: |
brew install dash fish gcc gnupg2 kcov
- name: Run unit tests
run: |
git --version
. .github/workflows/setup_git.sh
. share/spack/setup-env.sh
coverage run $(which spack) unit-test
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
flags: unittests,macos

View File

@@ -1,65 +0,0 @@
name: style and docs
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: Minimum Version (Spack's Core)
run: vermin --backport argparse -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: Minimum Version (Repositories)
run: vermin --backport argparse -t=2.6- -t=3.5- -v var/spack/repos
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools flake8
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Run flake8 tests
run: |
share/spack/qa/run-flake8-tests
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils ninja-build graphviz
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade -r lib/spack/docs/requirements.txt
- name: Build documentation
run: |
share/spack/qa/run-doc-tests

360
.github/workflows/unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,360 @@
name: linux tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
# Validate that the code can be run on all the Python versions
# supported by Spack
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: vermin (Spack's Core)
run: vermin --backport argparse --backport typing -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: vermin (Repositories)
run: vermin --backport argparse --backport typing -t=2.6- -t=3.5- -v var/spack/repos
# Run style checks on the files that have been changed
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools flake8 mypy>=0.800 black
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Run style tests
run: |
share/spack/qa/run-style-tests
# Build the documentation
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils ninja-build graphviz
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade -r lib/spack/docs/requirements.txt
- name: Build documentation
run: |
share/spack/qa/run-doc-tests
# Check which files have been updated by the PR
changes:
runs-on: ubuntu-latest
# Set job outputs to values from filter step
outputs:
core: ${{ steps.filter.outputs.core }}
packages: ${{ steps.filter.outputs.packages }}
with_coverage: ${{ steps.coverage.outputs.with_coverage }}
steps:
- uses: actions/checkout@v2
if: ${{ github.event_name == 'push' }}
with:
fetch-depth: 0
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@v2
id: filter
with:
# See https://github.com/dorny/paths-filter/issues/56 for the syntax used below
filters: |
core:
- './!(var/**)/**'
packages:
- 'var/**'
# Some links for easier reference:
#
# "github" context: https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context
# job outputs: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs
# setting environment variables from earlier steps: https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
#
- id: coverage
# Run the subsequent jobs with coverage if core has been modified,
# regardless of whether this is a pull request or a push to a branch
run: |
echo Core changes: ${{ steps.filter.outputs.core }}
echo Event name: ${{ github.event_name }}
if [ "${{ steps.filter.outputs.core }}" == "true" ]
then
echo "::set-output name=with_coverage::true"
else
echo "::set-output name=with_coverage::false"
fi
# Run unit tests with different configurations on linux
unittests:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9]
concretizer: ['original', 'clingo']
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for unit tests
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial
sudo apt-get install -y ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Bootstrap clingo from sources
if: ${{ matrix.concretizer == 'clingo' }}
run: |
. share/spack/setup-env.sh
spack external find --not-buildable cmake bison
spack -v solve zlib
- name: Run unit tests (full suite with coverage)
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
COVERAGE: true
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- name: Run unit tests (reduced suite without coverage)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
env:
ONLY_PACKAGES: true
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
run: |
share/spack/qa/run-unit-tests
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
flags: unittests,linux,${{ matrix.concretizer }}
# Test shell integration
shell:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for shell tests
sudo apt-get install -y coreutils csh zsh tcsh fish dash bash
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
KCOV_VERSION: 38
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run shell tests (without coverage)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
run: |
share/spack/qa/run-shell-tests
- name: Run shell tests (with coverage)
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
COVERAGE: true
run: |
share/spack/qa/run-shell-tests
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
flags: shelltests,linux
# Test for Python2.6 run on Centos 6
centos6:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
container: spack/github-actions:centos6
steps:
- name: Run unit tests (full test-suite)
# The CentOS 6 container doesn't run with coverage, but
# under the same conditions it runs the full test suite
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
HOME: /home/spack-test
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
- name: Run unit tests (only package tests)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
env:
HOME: /home/spack-test
ONLY_PACKAGES: true
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
# Test RHEL8 UBI with platform Python. This job is run
# only on PRs modifying core Spack
rhel8-platform-python:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
container: registry.access.redhat.com/ubi8/ubi
steps:
- name: Install dependencies
run: |
dnf install -y \
bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \
make patch tcl unzip which xz
- uses: actions/checkout@v2
- name: Setup repo and non-root user
run: |
git --version
git fetch --unshallow
. .github/workflows/setup_git.sh
useradd spack-test
chown -R spack-test .
- name: Run unit tests
env:
SPACK_PYTHON: /usr/libexec/platform-python
shell: runuser -u spack-test -- bash {0}
run: |
source share/spack/setup-env.sh
spack unit-test -k 'not svn and not hg' -x --verbose
# Test for the clingo based solver (using clingo-cffi)
clingo-cffi:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
container: spack/github-actions:clingo-cffi
steps:
- name: Run unit tests
run: |
whoami && echo PWD=$PWD && echo HOME=$HOME && echo SPACK_TEST_SOLVER=$SPACK_TEST_SOLVER
python3 -c "import clingo; print(hasattr(clingo.Symbol, '_rep'), clingo.__version__)"
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
. share/spack/setup-env.sh
spack compiler find
spack solve mpileaks%gcc
if [ "${{ needs.changes.outputs.with_coverage }}" == "true" ]
then
coverage run $(which spack) unit-test -v -x
coverage combine
coverage xml
else
$(which spack) unit-test -m "not maybeslow" -k "package_sanity"
fi
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
flags: unittests,linux,clingo
# Run unit tests on MacOS
build:
needs: [ validate, style, documentation, changes ]
runs-on: macos-latest
strategy:
matrix:
python-version: [3.8]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage
pip install --upgrade flake8 pep8-naming mypy
- name: Setup Homebrew packages
run: |
brew install dash fish gcc gnupg2 kcov
- name: Run unit tests
run: |
git --version
. .github/workflows/setup_git.sh
. share/spack/setup-env.sh
if [ "${{ needs.changes.outputs.with_coverage }}" == "true" ]
then
coverage run $(which spack) unit-test -x
coverage combine
coverage xml
else
echo "ONLY PACKAGE RECIPES CHANGED [skipping coverage]"
$(which spack) unit-test -x -m "not maybeslow" -k "package_sanity"
fi
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
file: ./coverage.xml
flags: unittests,macos

519
.gitignore vendored
View File

@@ -1,40 +1,511 @@
/db
##########################
# Spack-specific ignores #
##########################
/var/spack/stage
/var/spack/cache
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
__pycache__/
*.pyc
/opt
*~
.DS_Store
.idea
# Ignore everything in /etc/spack except /etc/spack/defaults
/etc/spack/*
!/etc/spack/defaults
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
/share/spack/lmod
/TAGS
*.swp
/htmlcov
.coverage
\#*
.#*
.cache
lib/spack/spack/test/.cache
/bin/spackc
# Debug logs
spack-db.*
*.in.log
*.out.log
*.orig
# Eclipse files
.project
###########################
# Python-specific ignores #
###########################
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
#lib/
#lib64/
parts/
sdist/
#var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
########################
# Vim-specific ignores #
########################
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
##########################
# Emacs-specific ignores #
##########################
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# cask packages
.cask/
dist/
# Flycheck
flycheck_*.el
# server auth directory
/server/
# projectiles files
.projectile
# directory configuration
.dir-locals.el
# network security
/network-security.data
############################
# Eclipse-specific ignores #
############################
.metadata
#bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
.pydevproject
# VSCode files
.vscode
.devcontainer
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
##################################
# Visual Studio-specific ignores #
##################################
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
#################################
# Sublime Text-specific ignores #
#################################
# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# Workspace files are user-specific
*.sublime-workspace
# Project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using Sublime Text
# *.sublime-project
# SFTP configuration file
sftp-config.json
sftp-config-alt*.json
# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
Package Control.merged-ca-bundle
Package Control.user-ca-bundle
oscrypto-ca-bundle.crt
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
##############################
# JetBrains-specific ignores #
##############################
# Ignore the entire folder since it may conatin more files than
# just the ones listed below
.idea/
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
##########################
# macOS-specific ignores #
##########################
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
##########################
# Linux-specific ignores #
##########################
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
############################
# Windows-specific ignores #
############################
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk

35
.mypy.ini Normal file
View File

@@ -0,0 +1,35 @@
[mypy]
python_version = 3.7
files=lib/spack/llnl/**/*.py,lib/spack/spack/**/*.py
mypy_path=bin,lib/spack,lib/spack/external,var/spack/repos/builtin
# This and a generated import file allows supporting packages
namespace_packages=True
# To avoid re-factoring all the externals, ignore errors and missing imports
# globally, then turn back on in spack and spack submodules
ignore_errors=True
ignore_missing_imports=True
[mypy-spack.*]
ignore_errors=False
ignore_missing_imports=False
[mypy-packages.*]
ignore_errors=False
ignore_missing_imports=False
[mypy-llnl.*]
ignore_errors=False
ignore_missing_imports=False
[mypy-spack.test.packages]
ignore_errors=True
# ignore errors in fake import path for packages
[mypy-spack.pkg.*]
ignore_errors=True
ignore_missing_imports=True
# jinja has syntax in it that requires python3 and causes a parse error
# skip importing it
[mypy-jinja2]
follow_imports=skip

View File

@@ -1,42 +1,3 @@
# v0.16.3 (2021-09-21)
* clang/llvm: fix version detection (#19978)
* Fix use of quotes in Python build system (#22279)
* Cray: fix extracting paths from module files (#23472)
* Use AWS CloudFront for source mirror (#23978)
* Ensure all roots of an installed environment are marked explicit in db (#24277)
* Fix fetching for Python 3.8 and 3.9 (#24686)
* locks: only open lockfiles once instead of for every lock held (#24794)
* Remove the EOL centos:6 docker image
# v0.16.2 (2021-05-22)
* Major performance improvement for `spack load` and other commands. (#23661)
* `spack fetch` is now environment-aware. (#19166)
* Numerous fixes for the new, `clingo`-based concretizer. (#23016, #23307,
#23090, #22896, #22534, #20644, #20537, #21148)
* Supoprt for automatically bootstrapping `clingo` from source. (#20652, #20657
#21364, #21446, #21913, #22354, #22444, #22460, #22489, #22610, #22631)
* Python 3.10 support: `collections.abc` (#20441)
* Fix import issues by using `__import__` instead of Spack package importe.
(#23288, #23290)
* Bugfixes and `--source-dir` argument for `spack location`. (#22755, #22348,
#22321)
* Better support for externals in shared prefixes. (#22653)
* `spack build-env` now prefers specs defined in the active environment.
(#21642)
* Remove erroneous warnings about quotes in `from_sourcing_files`. (#22767)
* Fix clearing cache of `InternalConfigScope`. (#22609)
* Bugfix for active when pkg is already active error. (#22587)
* Make `SingleFileScope` able to repopulate the cache after clearing it.
(#22559)
* Channelflow: Fix the package. (#22483)
* More descriptive error message for bugs in `package.py` (#21811)
* Use package-supplied `autogen.sh`. (#20319)
* Respect `-k/verify-ssl-false` in `_existing_url` method. (#21864)
# v0.16.1 (2021-02-22)
This minor release includes a new feature and associated fixes:

View File

@@ -1,7 +1,6 @@
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
[![MacOS Tests](https://github.com/spack/spack/workflows/macos%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Unit Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# -*- python -*-
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -10,9 +10,12 @@
# Following line is a shell no-op, and starts a multi-line Python comment.
# See https://stackoverflow.com/a/47886254
""":"
# prefer python3, then python, then python2
for cmd in python3 python python2; do
command -v > /dev/null $cmd && exec $cmd $0 "$@"
# prefer SPACK_PYTHON environment variable, python3, python, then python2
for cmd in "${SPACK_PYTHON:-}" python3 python python2; do
if command -v > /dev/null "$cmd"; then
export SPACK_PYTHON="$(command -v "$cmd")"
exec "${SPACK_PYTHON}" "$0" "$@"
fi
done
echo "==> Error: spack could not find a python interpreter!" >&2
@@ -26,10 +29,15 @@ from __future__ import print_function
import os
import sys
if sys.version_info[:2] < (2, 6):
min_python3 = (3, 5)
if sys.version_info[:2] < (2, 6) or (
sys.version_info[:2] >= (3, 0) and sys.version_info[:2] < min_python3
):
v_info = sys.version_info[:3]
sys.exit("Spack requires Python 2.6 or higher."
"This is Python %d.%d.%d." % v_info)
msg = "Spack requires Python 2.6, 2.7 or %d.%d or higher " % min_python3
msg += "You are running spack with Python %d.%d.%d." % v_info
sys.exit(msg)
# Find spack's location and its prefix.
spack_file = os.path.realpath(os.path.expanduser(__file__))
@@ -42,8 +50,10 @@ sys.path.insert(0, spack_lib_path)
# Add external libs
spack_external_libs = os.path.join(spack_lib_path, "external")
if sys.version_info[:2] <= (2, 7):
sys.path.insert(0, os.path.join(spack_external_libs, "py2"))
if sys.version_info[:2] == (2, 6):
sys.path.insert(0, os.path.join(spack_external_libs, 'py26'))
sys.path.insert(0, os.path.join(spack_external_libs, "py26"))
sys.path.insert(0, spack_external_libs)
@@ -53,11 +63,11 @@ sys.path.insert(0, spack_external_libs)
# Briefly: ruamel.yaml produces a .pth file when installed with pip that
# makes the site installed package the preferred one, even though sys.path
# is modified to point to another version of ruamel.yaml.
if 'ruamel.yaml' in sys.modules:
del sys.modules['ruamel.yaml']
if "ruamel.yaml" in sys.modules:
del sys.modules["ruamel.yaml"]
if 'ruamel' in sys.modules:
del sys.modules['ruamel']
if "ruamel" in sys.modules:
del sys.modules["ruamel"]
import spack.main # noqa

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -40,35 +40,32 @@ config:
lmod: $spack/share/spack/lmod
# Temporary locations Spack can try to use for builds.
# `build_stage` determines where Spack builds packages.
#
# Recommended options are given below.
# The default build location is `$tempdir/$user/spack-stage/$instance`.
# `$tempdir` indicates that we should build in a temporary directory
# (i.e., ``$TMP` or ``$TMPDIR``). On most systems (especially HPC
# machines), building in a temporary directory is significantly faster
# than other locations. `$user` ensures that the directory is unique by
# user, so different users do not fight over Spack's build location.
# Finally, `$instance` is an 8-digit hash that is unique per instance
# of Spack. This ensures that different Spack instances do not fight
# over build locations.
#
# Builds can be faster in temporary directories on some (e.g., HPC) systems.
# Specifying `$tempdir` will ensure use of the default temporary directory
# (i.e., ``$TMP` or ``$TMPDIR``).
# The second choice, if Spack cannot create the first one for some
# reason, is `~/.spack/stage/$instance`. This is unique to each user's
# home directory, and it is also unique to each Spack instance.
#
# Another option that prevents conflicts and potential permission issues is
# to specify `~/.spack/stage`, which ensures each user builds in their home
# directory.
# These choices both have the username in the path. If the username is
# NOT in your chosen `build_stage` location, Spack will append it
# anyway, to avoid conflicts among users in shared temporary spaces.
#
# A more traditional path uses the value of `$spack/var/spack/stage`, which
# builds directly inside Spack's instance without staging them in a
# temporary space. Problems with specifying a path inside a Spack instance
# are that it precludes its use as a system package and its ability to be
# pip installable.
#
# In any case, if the username is not already in the path, Spack will append
# the value of `$user` in an attempt to avoid potential conflicts between
# users in shared temporary spaces.
#
# The build stage can be purged with `spack clean --stage` and
# `spack clean -a`, so it is important that the specified directory uniquely
# identifies Spack staging to avoid accidentally wiping out non-Spack work.
# The build stage can be purged with `spack clean`, so it is important
# to choose a directory that is ONLY used by Spack so that you do not
# accidentally wipe out files that have nothing to do with Spack.
build_stage:
- $tempdir/$user/spack-stage
- ~/.spack/stage
# - $spack/var/spack/stage
- $tempdir/$user/spack-stage/$instance
- ~/.spack/stage/$instance
# Directory in which to run tests and store test results.
# Tests will be stored in directories named by date/time and package
@@ -107,7 +104,7 @@ config:
# If set to true, Spack will attempt to build any compiler on the spec
# that is not already available. If set to False, Spack will only use
# compilers already configured in compilers.yaml
install_missing_compilers: False
install_missing_compilers: false
# If set to true, Spack will always check checksums after downloading
@@ -115,6 +112,11 @@ config:
checksum: true
# If set to true, Spack will fetch deprecated versions without warning.
# If false, Spack will raise an error when trying to install a deprecated version.
deprecated: false
# If set to true, `spack install` and friends will NOT clean
# potentially harmful variables from the build environment. Use wisely.
dirty: false

View File

@@ -25,6 +25,8 @@ packages:
- libelf
unwind:
- apple-libunwind
uuid:
- apple-libuuid
apple-libunwind:
buildable: false
externals:
@@ -32,3 +34,10 @@ packages:
# although the version number used here isn't critical
- spec: apple-libunwind@35.3
prefix: /usr
apple-libuuid:
buildable: false
externals:
# Apple bundles libuuid in libsystem_c version 1353.100.2,
# although the version number used here isn't critical
- spec: apple-libuuid@1353.100.2
prefix: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

View File

@@ -1,2 +1,2 @@
mirrors:
spack-public: https://mirror.spack.io
spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/

View File

@@ -25,16 +25,6 @@ modules:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
lib:
- LIBRARY_PATH
lib64:
- LIBRARY_PATH
include:
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
# The INCLUDE env variable specifies paths to look for
# .mod file for Intel Fortran compilers
- INCLUDE
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:

View File

@@ -23,7 +23,7 @@ packages:
daal: [intel-daal]
elf: [elfutils]
fftw-api: [fftw, amdfftw]
gl: [mesa+opengl, mesa18+opengl, opengl]
gl: [mesa+opengl, mesa18, opengl]
glx: [mesa+glx, mesa18+glx, opengl]
glu: [mesa-glu, openglu]
golang: [gcc]
@@ -49,6 +49,8 @@ packages:
unwind: [libunwind]
yacc: [bison, byacc]
flame: [libflame, amdlibflame]
uuid: [util-linux-uuid, libuuid]
ziglang: [zig]
permissions:
read: world
write: user

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -133,8 +133,7 @@ dependencies first. It then fetches the ``mpileaks`` tarball, expands
it, verifies that it was downloaded without errors, builds it, and
installs it in its own directory under ``$SPACK_ROOT/opt``. You'll see
a number of messages from Spack, a lot of build output, and a message
that the package is installed. Add one or more debug options (``-d``)
to get increasingly detailed output.
that the package is installed.
.. code-block:: console
@@ -151,8 +150,8 @@ to get increasingly detailed output.
The last line, with the ``[+]``, indicates where the package is
installed.
Add the debug option -- ``spack install -d mpileaks`` -- to get additional
output.
Add the Spack debug option (one or more times) -- ``spack -d install
mpileaks`` -- to get additional (and even more verbose) output.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Building a specific version

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -59,7 +59,9 @@ on these ideas for each distinct build system that Spack supports:
build_systems/bundlepackage
build_systems/cudapackage
build_systems/inteloneapipackage
build_systems/intelpackage
build_systems/rocmpackage
build_systems/custompackage
For reference, the :py:mod:`Build System API docs <spack.build_systems>`

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,35 +9,120 @@
CudaPackage
-----------
Different from other packages, ``CudaPackage`` does not represent a build
system. Instead its goal is to simplify and unify usage of ``CUDA`` in other
packages.
Different from other packages, ``CudaPackage`` does not represent a build system.
Instead its goal is to simplify and unify usage of ``CUDA`` in other packages by providing a ` mixin-class <https://en.wikipedia.org/wiki/Mixin>`__.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Provided variants and dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can find source for the package at
`<https://github.com/spack/spack/blob/develop/lib/spack/spack/build_systems/cuda.py>`__.
``CudaPackage`` provides ``cuda`` variant (default to ``off``) to enable/disable
``CUDA``, and ``cuda_arch`` variant to optionally specify the architecture.
It also declares dependencies on the ``CUDA`` package ``depends_on('cuda@...')``
based on the architecture as well as specifies conflicts for certain compiler versions.
^^^^^^^^
Variants
^^^^^^^^
This package provides the following variants:
* **cuda**
This variant is used to enable/disable building with ``CUDA``. The default
is disabled (or ``False``).
* **cuda_arch**
This variant supports the optional specification of the architecture.
Valid values are maintained in the ``cuda_arch_values`` property and
are the numeric character equivalent of the compute capability version
(e.g., '10' for version 1.0). Each provided value affects associated
``CUDA`` dependencies and compiler conflicts.
GPUs and their compute capability versions are listed at
https://developer.nvidia.com/cuda-gpus .
^^^^^^^^^
Conflicts
^^^^^^^^^
Conflicts are used to prevent builds with known bugs or issues. While
base ``CUDA`` conflicts have been included with this package, you may
want to add more for your software.
For example, if your package requires ``cuda_arch`` to be specified when
``cuda`` is enabled, you can add the following conflict to your package
to terminate such build attempts with a suitable message:
.. code-block:: python
conflicts('cuda_arch=none', when='+cuda',
msg='CUDA architecture is required')
Similarly, if your software does not support all versions of the property,
you could add ``conflicts`` to your package for those versions. For example,
suppose your software does not work with CUDA compute capability versions
prior to SM 5.0 (``50``). You can add the following code to display a
custom message should a user attempt such a build:
.. code-block:: python
unsupported_cuda_archs = [
'10', '11', '12', '13',
'20', '21',
'30', '32', '35', '37'
]
for value in unsupported_cuda_archs:
conflicts('cuda_arch={0}'.format(value), when='+cuda',
msg='CUDA architecture {0} is not supported'.format(value))
^^^^^^^
Methods
^^^^^^^
This package provides one custom helper method, which is used to build
standard CUDA compiler flags.
**cuda_flags**
This built-in static method returns a list of command line flags
for the chosen ``cuda_arch`` value(s). The flags are intended to
be passed to the CUDA compiler driver (i.e., ``nvcc``).
This method must be explicitly called when you are creating the
arguments for your build in order to use the values.
^^^^^
Usage
^^^^^
In order to use it, just add another base class to your package, for example:
This helper package can be added to your package by adding it as a base
class of your package. For example, you can add it to your
:ref:`CMakePackage <cmakepackage>`-based package as follows:
.. code-block:: python
:emphasize-lines: 1,7-16
class MyPackage(CMakePackage, CudaPackage):
class MyCudaPackage(CMakePackage, CudaPackage):
...
def cmake_args(self):
spec = self.spec
args = []
...
if '+cuda' in spec:
options.append('-DWITH_CUDA=ON')
cuda_arch = spec.variants['cuda_arch'].value
# Set up the cuda macros needed by the build
args.append('-DWITH_CUDA=ON')
cuda_arch_list = spec.variants['cuda_arch'].value
cuda_arch = cuda_arch_list[0]
if cuda_arch != 'none':
options.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch))
else:
options.append('-DWITH_CUDA=OFF')
# Ensure build with cuda is disabled
args.append('-DWITH_CUDA=OFF')
...
return args
assuming only the ``WITH_CUDA`` and ``CUDA_FLAGS`` flags are required.
You will need to customize options as needed for your build.
This example also illustrates how to check for the ``cuda`` variant using
``self.spec`` and how to retrieve the ``cuda_arch`` variant's value, which
is a list, using ``self.spec.variants['cuda_arch'].value``.
With over 70 packages using ``CudaPackage`` as of January 2021 there are
lots of examples to choose from to get more ideas for using this package.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -0,0 +1,137 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _inteloneapipackage:
====================
IntelOneapiPackage
====================
.. contents::
oneAPI packages in Spack
========================
Spack can install and use the Intel oneAPI products. You may either
use spack to install the oneAPI tools or use the `Intel
installers`_. After installation, you may use the tools directly, or
use Spack to build packages with the tools.
The Spack Python class ``IntelOneapiPackage`` is a base class that is
used by ``IntelOneapiCompilers``, ``IntelOneapiMkl``,
``IntelOneapiTbb`` and other classes to implement the oneAPI
packages. See the :ref:<package-list> for the full list of available
oneAPI packages or use::
spack list -d oneAPI
For more information on a specific package, do::
spack info <package-name>
Intel no longer releases new versions of Parallel Studio, which can be
used in Spack via the :ref:<intelpackage>. All of its components can
now be found in oneAPI.
Example
=======
We start with a simple example that will be sufficient for most
users. Install the oneAPI compilers::
spack install intel-oneapi-compilers
Add the oneAPI compilers to the set of compilers that Spack can use::
spack compiler add `spack location -i intel-oneapi-compilers`/compiler/latest/linux/bin/intel64
spack compiler add `spack location -i intel-oneapi-compilers`/compiler/latest/linux/bin
This adds the compilers to your ``compilers.yaml``. Verify that the
compilers are available::
spack compiler list
The ``intel-oneapi-compilers`` package includes 2 families of
compilers:
* ``intel``: ``icc``, ``icpc``, ``ifort``. Intel's *classic*
compilers.
* ``oneapi``: ``icx``, ``icpx``, ``ifx``. Intel's new generation of
compilers based on LLVM.
To build the ``patchelf`` Spack package with ``icc``, do::
spack install patchelf%intel
To build with with ``icx``, do ::
spack install patchelf%oneapi
In addition to compilers, oneAPI contains many libraries. The ``hdf5``
package works with any compatible MPI implementation. To build
``hdf5`` with Intel oneAPI MPI do::
spack install hdf5 +mpi ^intel-oneapi-mpi
Using an Externally Installed oneAPI
====================================
Spack can also use oneAPI tools that are manually installed with
`Intel Installers`_. The procedures for configuring Spack to use
external compilers and libraries are different.
Compilers
---------
To use the compilers, add some information about the installation to
``compilers.yaml``. For most users, it is sufficient to do::
spack compiler add /opt/intel/oneapi/compiler/latest/linux/bin/intel64
spack compiler add /opt/intel/oneapi/compiler/latest/linux/bin
Adapt the paths above if you did not install the tools in the default
location. After adding the compilers, using them in Spack will be
exactly the same as if you had installed the
``intel-oneapi-compilers`` package. Another option is to manually add
the configuration to ``compilers.yaml`` as described in :ref:`Compiler
configuration <compiler-config>`.
Using oneAPI Tools Installed by Spack
=====================================
Spack can be a convenient way to install and configure compilers and
libaries, even if you do not intend to build a Spack package. If you
want to build a Makefile project using Spack-installed oneAPI compilers,
then use spack to configure your environment::
spack load intel-oneapi-compilers
And then you can build with::
CXX=icpx make
You can also use Spack-installed libraries. For example::
spack load intel-oneapi-mkl
Will update your environment CPATH, LIBRARY_PATH, and other
environment variables for building an application with MKL.
More information
================
This section describes basic use of oneAPI, especially if it has
changed compared to Parallel Studio. See :ref:<intelpackage> for more
information on :ref:<intel-virtual-packages>,
:ref:<intel-unrelated-packages>,
:ref:<intel-integrating-external-libraries>, and
:ref:<using-mkl-tips>.
.. _`Intel installers`: https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top.html

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -137,6 +137,7 @@ If you need to save disk space or installation time, you could install the
``intel`` compilers-only subset (0.6 GB) and just the library packages you
need, for example ``intel-mpi`` (0.5 GB) and ``intel-mkl`` (2.5 GB).
.. _intel-unrelated-packages:
""""""""""""""""""""
Unrelated packages
@@ -358,6 +359,8 @@ affected by an advanced third method:
Next, visit section `Selecting Intel Compilers`_ to learn how to tell
Spack to use the newly configured compilers.
.. _intel-integrating-external-libraries:
""""""""""""""""""""""""""""""""""
Integrating external libraries
""""""""""""""""""""""""""""""""""
@@ -834,6 +837,7 @@ for example:
compiler: [ intel@18, intel@17, gcc@4.4.7, gcc@4.9.3, gcc@7.3.0, ]
.. _intel-virtual-packages:
""""""""""""""""""""""""""""""""""""""""""""""""
Selecting libraries to satisfy virtual packages
@@ -907,6 +911,7 @@ With the proper installation as detailed above, no special steps should be
required when a client package specifically (and thus deliberately) requests an
Intel package as dependency, this being one of the target use cases for Spack.
.. _using-mkl-tips:
"""""""""""""""""""""""""""""""""""""""""""""""
Tips for configuring client packages to use MKL

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -120,8 +120,6 @@ so ``PerlPackage`` contains:
extends('perl')
depends_on('perl', type=('build', 'run'))
If your package requires a specific version of Perl, you should
specify this.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -23,20 +23,11 @@ can be overridden:
* ``build_ext``
* ``build_clib``
* ``build_scripts``
* ``clean``
* ``install``
* ``install_lib``
* ``install_headers``
* ``install_scripts``
* ``install_data``
* ``sdist``
* ``register``
* ``bdist``
* ``bdist_dumb``
* ``bdist_rpm``
* ``bdist_wininst``
* ``upload``
* ``check``
These are all standard ``setup.py`` commands and can be found by running:
@@ -55,7 +46,7 @@ If for whatever reason you need to run more phases, simply modify your
.. code-block:: python
phases = ['build_ext', 'install', 'bdist']
phases = ['build_ext', 'install']
Each phase provides a function ``<phase>`` that runs:
@@ -90,7 +81,7 @@ Instead of using the ``PythonPackage`` base class, you should extend
the ``Package`` base class and implement the following custom installation
procedure:
.. code-block::
.. code-block:: python
def install(self, spec, prefix):
pip = which('pip')
@@ -134,9 +125,9 @@ The zip file will not contain a ``setup.py``, but it will contain a
``METADATA`` file which contains all the information you need to
write a ``package.py`` build recipe.
^^^^^^^^^^^^^^^^^^^^^^^
Finding Python packages
^^^^^^^^^^^^^^^^^^^^^^^
^^^^
PyPI
^^^^
The vast majority of Python packages are hosted on PyPI - The Python
Package Index. ``pip`` only supports packages hosted on PyPI, making
@@ -148,6 +139,26 @@ if a newer version is available. The download page is usually at::
https://pypi.org/project/<package-name>
Since PyPI is so common, the ``PythonPackage`` base class has a
``pypi`` attribute that can be set. Once set, ``pypi`` will be used
to define the ``homepage``, ``url``, and ``list_url``. For example,
the following:
.. code-block:: python
homepage = 'https://pypi.org/project/setuptools/'
url = 'https://pypi.org/packages/source/s/setuptools/setuptools-49.2.0.zip'
list_url = 'https://pypi.org/simple/setuptools/'
is equivalent to:
.. code-block:: python
pypi = 'setuptools/setuptools-49.2.0.zip'
^^^^^^^^^^^
Description
^^^^^^^^^^^
@@ -184,50 +195,11 @@ also get the homepage on the command-line by running:
URL
^^^
You may have noticed that Spack allows you to add multiple versions of
the same package without adding multiple versions of the download URL.
It does this by guessing what the version string in the URL is and
replacing this with the requested version. Obviously, if Spack cannot
guess the version correctly, or if non-version-related things change
in the URL, Spack cannot substitute the version properly.
Once upon a time, PyPI offered nice, simple download URLs like::
https://pypi.python.org/packages/source/n/numpy/numpy-1.13.1.zip
As you can see, the version is 1.13.1. It probably isn't hard to guess
what URL to use to download version 1.12.0, and Spack was perfectly
capable of performing this calculation.
However, PyPI switched to a new download URL format::
https://pypi.python.org/packages/c0/3a/40967d9f5675fbb097ffec170f59c2ba19fc96373e73ad47c2cae9a30aed/numpy-1.13.1.zip#md5=2c3c0f4edf720c3a7b525dacc825b9ae
and more recently::
https://files.pythonhosted.org/packages/b0/2b/497c2bb7c660b2606d4a96e2035e92554429e139c6c71cdff67af66b58d2/numpy-1.14.3.zip
As you can imagine, it is impossible for Spack to guess what URL to
use to download version 1.12.0 given this URL. There is a solution,
however. PyPI offers a new hidden interface for downloading
Python packages that does not include a hash in the URL::
https://pypi.io/packages/source/n/numpy/numpy-1.13.1.zip
This URL redirects to the https://files.pythonhosted.org URL. The general
syntax for this https://pypi.io URL is::
https://pypi.io/packages/<type>/<first-letter-of-name>/<name>/<name>-<version>.<extension>
Please use the https://pypi.io URL instead of the https://pypi.python.org
URL. If both ``.tar.gz`` and ``.zip`` versions are available, ``.tar.gz``
is preferred. If some releases offer both ``.tar.gz`` and ``.zip`` versions,
but some only offer ``.zip`` versions, use ``.zip``.
If ``pypi`` is set as mentioned above, ``url`` and ``list_url`` will
be automatically set for you. If both ``.tar.gz`` and ``.zip`` versions
are available, ``.tar.gz`` is preferred. If some releases offer both
``.tar.gz`` and ``.zip`` versions, but some only offer ``.zip`` versions,
use ``.zip``.
Some Python packages are closed-source and do not ship ``.tar.gz`` or ``.zip``
files on either PyPI or GitHub. If this is the case, you can still download
@@ -237,10 +209,9 @@ and can be downloaded from::
https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.11.0-py3-none-any.whl
Note that instead of ``<type>`` being ``source``, it is now ``py3`` since this
wheel will work for any generic version of Python 3. You may see Python-specific
or OS-specific URLs. Note that when you add a ``.whl`` URL, you should add
``expand=False`` to ensure that Spack doesn't try to extract the wheel:
You may see Python-specific or OS-specific URLs. Note that when you add a
``.whl`` URL, you should add ``expand=False`` to ensure that Spack doesn't
try to extract the wheel:
.. code-block:: python
@@ -255,7 +226,7 @@ Many packages are hosted on PyPI, but are developed on GitHub or another
version control systems. The tarball can be downloaded from either
location, but PyPI is preferred for the following reasons:
#. PyPI contains the bare minimum of files to install the package.
#. PyPI contains the bare minimum number of files needed to install the package.
You may notice that the tarball you download from PyPI does not
have the same checksum as the tarball you download from GitHub.
@@ -292,19 +263,6 @@ location, but PyPI is preferred for the following reasons:
PyPI is nice because it makes it physically impossible to
re-release the same version of a package with a different checksum.
There are some reasons to prefer downloading from GitHub:
#. The GitHub tarball may contain unit tests.
As previously mentioned, the PyPI tarball contains the bare minimum
of files to install the package. Unless explicitly specified by the
developers, it will not contain development files like unit tests.
If you desire to run the unit tests during installation, you should
use the GitHub tarball instead.
If you really want to run these unit tests, no one will stop you from
submitting a PR for a new package that downloads from GitHub.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -569,7 +527,8 @@ If the package uses ``setuptools``, check for the following clues:
These are packages that are required to run the unit tests for the
package. These dependencies can be specified using the
``type='test'`` dependency type.
``type='test'`` dependency type. However, the PyPI tarballs rarely
contain unit tests, so there is usually no reason to add these.
In the root directory of the package, you may notice a
``requirements.txt`` file. It may look like this file contains a list
@@ -625,7 +584,8 @@ add run-time dependencies if they aren't needed, so you need to
determine whether or not setuptools is needed. Grep the installation
directory for any files containing a reference to ``setuptools`` or
``pkg_resources``. Both modules come from ``py-setuptools``.
``pkg_resources`` is particularly common in scripts in ``prefix/bin``.
``pkg_resources`` is particularly common in scripts found in
``prefix/bin``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to setup.py
@@ -699,49 +659,65 @@ a "package" is a directory containing files like:
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
whereas a "module" is a single Python file.
The ``PythonPackage`` base class automatically detects these module
names for you. If, for whatever reason, the module names detected
are wrong, you can provide the names yourself by overriding
``import_modules`` like so:
.. code-block:: python
import_modules = ['six']
When you run ``spack install --test=root py-six``, Spack will attempt
to import the ``six`` module after installation.
Sometimes the list of module names to import depends on how the
package was built. For example, the ``py-pyyaml`` package has a
``+libyaml`` variant that enables the build of a faster optimized
version of the library. If the user chooses ``~libyaml``, only the
``yaml`` library will be importable. If the user chooses ``+libyaml``,
both the ``yaml`` and ``yaml.cyaml`` libraries will be available.
This can be expressed like so:
These tests most often catch missing dependencies and non-RPATHed
.. code-block:: python
@property
def import_modules(self):
modules = ['yaml']
if '+libyaml' in self.spec:
modules.append('yaml.cyaml')
return modules
These tests often catch missing dependencies and non-RPATHed
libraries. Make sure not to add modules/packages containing the word
"test", as these likely won't end up in installation directory.
"test", as these likely won't end up in the installation directory,
or may require test dependencies like pytest to be installed.
These tests can be triggered by running ``spack install --test=root``
or by running ``spack test run`` after the installation has finished.
""""""""""
Unit tests
""""""""""
The package you want to install may come with additional unit tests.
By default, Spack runs:
.. code-block:: console
$ python setup.py test
if it detects that the ``setup.py`` file supports a ``test`` phase.
You can add additional build-time or install-time tests by overriding
``test`` or adding a custom install-time test function. For example,
``py-numpy`` adds:
You can add additional build-time or install-time tests by adding
additional testing functions. For example, ``py-numpy`` adds:
.. code-block:: python
install_time_test_callbacks = ['install_test', 'import_module_test']
@run_after('install')
@on_package_attributes(run_tests=True)
def install_test(self):
with working_dir('..'):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
with working_dir('spack-test', create=True):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
These tests can be triggered by running ``spack install --test=root``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Setup file in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -781,7 +757,7 @@ PythonPackage vs. packages that use Python
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are many packages that make use of Python, but packages that depend
on Python are not necessarily ``PythonPackages``.
on Python are not necessarily ``PythonPackage``'s.
"""""""""""""""""""""""
Choosing a build system
@@ -878,8 +854,8 @@ and ``pip`` may be a perfectly valid alternative to using Spack. The
main advantage of Spack over ``pip`` is its ability to compile
non-Python dependencies. It can also build cythonized versions of a
package or link to an optimized BLAS/LAPACK library like MKL,
resulting in calculations that run orders of magnitude faster.
Spack does not offer a significant advantage to other python-management
resulting in calculations that run orders of magnitudes faster.
Spack does not offer a significant advantage over other python-management
systems for installing and using tools like flake8 and sphinx.
But if you need packages with non-Python dependencies like
numpy and scipy, Spack will be very valuable to you.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -108,6 +108,19 @@ override the ``qmake_args`` method like so:
This method can be used to pass flags as well as variables.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``*.pro`` file in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If the ``*.pro`` file used to tell QMake how to build the package is
found in a sub-directory, you can tell Spack to run all phases in this
sub-directory by adding the following to the package:
.. code-block:: python
build_directory = 'src'
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -0,0 +1,122 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _rocmpackage:
-----------
ROCmPackage
-----------
The ``ROCmPackage`` is not a build system but a helper package. Like ``CudaPackage``,
it provides standard variants, dependencies, and conflicts to facilitate building
packages using GPUs though for AMD in this case.
You can find the source for this package (and suggestions for setting up your
``compilers.yaml`` and ``packages.yaml`` files) at
`<https://github.com/spack/spack/blob/develop/lib/spack/spack/build_systems/rocm.py>`__.
^^^^^^^^
Variants
^^^^^^^^
This package provides the following variants:
* **rocm**
This variant is used to enable/disable building with ``rocm``.
The default is disabled (or ``False``).
* **amdgpu_target**
This variant supports the optional specification of the AMD GPU architecture.
Valid values are the names of the GPUs (e.g., ``gfx701``), which are maintained
in the ``amdgpu_targets`` property.
^^^^^^^^^^^^
Dependencies
^^^^^^^^^^^^
This package defines basic ``rocm`` dependencies, including ``llvm`` and ``hip``.
^^^^^^^^^
Conflicts
^^^^^^^^^
Conflicts are used to prevent builds with known bugs or issues. This package
already requires that the ``amdgpu_target`` always be specified for ``rocm``
builds. It also defines a conflict that prevents builds with an ``amdgpu_target``
when ``rocm`` is disabled.
Refer to `Conflicts <https://spack.readthedocs.io/en/latest/packaging_guide.html?highlight=conflicts#conflicts>`__
for more information on package conflicts.
^^^^^^^
Methods
^^^^^^^
This package provides one custom helper method, which is used to build
standard AMD hip compiler flags.
**hip_flags**
This built-in static method returns the appropriately formatted
``--amdgpu-target`` build option for ``hipcc``.
This method must be explicitly called when you are creating the
arguments for your build in order to use the values.
^^^^^
Usage
^^^^^
This helper package can be added to your package by adding it as a base
class of your package. For example, you can add it to your
:ref:`CMakePackage <cmakepackage>`-based package as follows:
.. code-block:: python
:emphasize-lines: 1,3-7,14-25
class MyRocmPackage(CMakePackage, ROCmPackage):
...
# Ensure +rocm and amdgpu_targets are passed to dependencies
depends_on('mydeppackage', when='+rocm')
for val in ROCmPackage.amdgpu_targets:
depends_on('mydeppackage amdgpu_target={0}'.format(val),
when='amdgpu_target={0}'.format(val))
...
def cmake_args(self):
spec = self.spec
args = []
...
if '+rocm' in spec:
# Set up the hip macros needed by the build
args.extend([
'-DENABLE_HIP=ON',
'-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix])
rocm_archs = spec.variants['amdgpu_target'].value
if 'none' not in rocm_archs:
args.append('-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'
.format(",".join(rocm_archs)))
else:
# Ensure build with hip is disabled
args.append('-DENABLE_HIP=OFF')
...
return args
...
assuming only on the ``ENABLE_HIP``, ``HIP_ROOT_DIR``, and ``HIP_HIPCC_FLAGS``
macros are required to be set and the only dependency needing rocm options
is ``mydeppackage``. You will need to customize the flags as needed for your
build.
This example also illustrates how to check for the ``rocm`` variant using
``self.spec`` and how to retrieve the ``amdgpu_target`` variant's value
using ``self.spec.variants['amdgpu_target'].value``.
All five packages using ``ROCmPackage`` as of January 2021 also use the
:ref:`CudaPackage <cudapackage>`. So it is worth looking at those packages
to get ideas for creating a package that can support both ``cuda`` and
``rocm``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -79,12 +79,14 @@ Description
The first thing you'll need to add to your new package is a description.
The top of the homepage for ``caret`` lists the following description:
caret: Classification and Regression Training
Classification and Regression Training
Misc functions for training and plotting classification and regression models.
You can either use the short description (first line), long description
(second line), or both depending on what you feel is most appropriate.
The first line is a short description (title) and the second line is a long
description. In this case the description is only one line but often the
description is several lines. Spack makes use of both short and long
descriptions and convention is to use both when creating an R package.
^^^^^^^^
Homepage
@@ -124,6 +126,67 @@ If you only specify the URL for the latest release, your package will
no longer be able to fetch that version as soon as a new release comes
out. To get around this, add the archive directory as a ``list_url``.
^^^^^^^^^^^^^^^^^^^^^
Bioconductor packages
^^^^^^^^^^^^^^^^^^^^^
Bioconductor packages are set up in a similar way to CRAN packages, but there
are some very important distinctions. Bioconductor packages can be found at:
https://bioconductor.org/. Bioconductor packages are R packages and so follow
the same packaging scheme as CRAN packages. What is different is that
Bioconductor itself is versioned and released. This scheme, using the
Bioconductor package installer, allows further specification of the minimum
version of R as well as further restrictions on the dependencies between
packages than what is possible with the native R packaging system. Spack can
not replicate these extra features and thus Bioconductor packages in Spack need
to be managed as a group during updates in order to maintain package
consistency with Bioconductor itself.
Another key difference is that, while previous versions of packages are
available, they are not available from a site that can be programmatically set,
thus a ``list_url`` attribute can not be used. However, each package is also
available in a git repository, with branches corresponding to each Bioconductor
release. Thus, it is always possible to retrieve the version of any package
corresponding to a Bioconductor release simply by fetching the branch that
corresponds to the Bioconductor release of the package repository. For this
reason, spack Bioconductor R packages use the git repository, with the commit
of the respective branch used in the ``version()`` attribute of the package.
^^^^^^^^^^^^^^^^^^^^^^^^
cran and bioc attributes
^^^^^^^^^^^^^^^^^^^^^^^^
Much like the ``pypi`` attribute for python packages, due to the fact that R
packages are obtained from specific repositories, it is possible to set up shortcut
attributes that can be used to set ``homepage``, ``url``, ``list_url``, and
``git``. For example, the following ``cran`` attribute:
.. code-block:: python
cran = 'caret'
is equivalent to:
.. code-block:: python
homepage = 'https://cloud.r-project.org/package=caret'
url = 'https://cloud.r-project.org/src/contrib/caret_6.0-86.tar.gz'
list_url = 'https://cloud.r-project.org/src/contrib/Archive/caret'
Likewise, the following ``bioc`` attribute:
.. code-block:: python
bioc = 'BiocVersion'
is equivalent to:
.. code-block:: python
homepage = 'https://bioconductor.org/packages/BiocVersion/'
git = 'https://git.bioconductor.org/packages/BiocVersion'
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -138,7 +201,6 @@ every R package needs this, the ``RPackage`` base class contains:
.. code-block:: python
extends('r')
depends_on('r', type=('build', 'run'))
Take a close look at the homepage for ``caret``. If you look at the
@@ -157,7 +219,7 @@ R dependencies
R packages are often small and follow the classic Unix philosophy
of doing one thing well. They are modular and usually depend on
several other packages. You may find a single package with over a
hundred dependencies. Luckily, CRAN packages are well-documented
hundred dependencies. Luckily, R packages are well-documented
and list all of their dependencies in the following sections:
* Depends
@@ -298,8 +360,8 @@ like so:
.. code-block:: python
def configure_args(self, spec, prefix):
mpi_name = spec['mpi'].name
def configure_args(self):
mpi_name = self.spec['mpi'].name
# The type of MPI. Supported values are:
# OPENMPI, LAM, MPICH, MPICH2, or CRAY

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -113,7 +113,6 @@ the base class contains:
.. code-block:: python
extends('ruby')
depends_on('ruby', type=('build', 'run'))
The ``*.gemspec`` file may contain something like:

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -93,10 +93,17 @@ in the site-packages directory:
$ python
>>> import setuptools
>>> setuptools.find_packages()
['QtPy5']
[
'PyQt5', 'PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtHelp',
'PyQt5.QtMultimedia', 'PyQt5.QtMultimediaWidgets', 'PyQt5.QtNetwork',
'PyQt5.QtOpenGL', 'PyQt5.QtPrintSupport', 'PyQt5.QtQml',
'PyQt5.QtQuick', 'PyQt5.QtSvg', 'PyQt5.QtTest', 'PyQt5.QtWebChannel',
'PyQt5.QtWebSockets', 'PyQt5.QtWidgets', 'PyQt5.QtXml',
'PyQt5.QtXmlPatterns'
]
Large, complex packages like ``QtPy5`` will return a long list of
Large, complex packages like ``py-pyqt5`` will return a long list of
packages, while other packages may return an empty list. These packages
only install a single ``foo.py`` file. In Python packaging lingo,
a "package" is a directory containing files like:
@@ -108,21 +115,25 @@ a "package" is a directory containing files like:
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
whereas a "module" is a single Python file.
The ``SIPPackage`` base class automatically detects these module
names for you. If, for whatever reason, the module names detected
are wrong, you can provide the names yourself by overriding
``import_modules`` like so:
.. code-block:: python
import_modules = ['PyQt5']
When you run ``spack install --test=root py-pyqt5``, Spack will attempt
to import the ``PyQt5`` module after installation.
These tests often catch missing dependencies and non-RPATHed
libraries. Make sure not to add modules/packages containing the word
"test", as these likely won't end up in the installation directory,
or may require test dependencies like pytest to be installed.
These tests most often catch missing dependencies and non-RPATHed
libraries.
These tests can be triggered by running ``spack install --test=root``
or by running ``spack test run`` after the installation has finished.
^^^^^^^^^^^^^^^^^^^^^^
External documentation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -128,7 +128,7 @@ def setup(sphinx):
# General information about the project.
project = u'Spack'
copyright = u'2013-2019, Lawrence Livermore National Laboratory.'
copyright = u'2013-2021, Lawrence Livermore National Laboratory.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -78,6 +78,13 @@ are six configuration scopes. From lowest to highest:
If multiple scopes are listed on the command line, they are ordered
from lowest to highest precedence.
#. **environment**: When using Spack :ref:`environments`, Spack reads
additional configuration from the environment file. See
:ref:`environment-configuration` for further details on these
scopes. Environment scopes can be referenced from the command line
as ``env:name`` (to reference environment ``foo``, use
``env:foo``).
#. **command line**: Build settings specified on the command line take
precedence over all other scopes.
@@ -192,10 +199,11 @@ with MPICH. You can create different configuration scopes for use with
Platform-specific Scopes
------------------------
For each scope above, there can also be platform-specific settings.
For example, on most platforms, GCC is the preferred compiler.
However, on macOS (darwin), Clang often works for more packages,
and is set as the default compiler. This configuration is set in
For each scope above (excluding environment scopes), there can also be
platform-specific settings. For example, on most platforms, GCC is
the preferred compiler. However, on macOS (darwin), Clang often works
for more packages, and is set as the default compiler. This
configuration is set in
``$(prefix)/etc/spack/defaults/darwin/packages.yaml``. It will take
precedence over settings in the ``defaults`` scope, but can still be
overridden by settings in ``system``, ``system/darwin``, ``site``,

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -126,6 +126,9 @@ are currently supported are summarized in the table below:
* - Ubuntu 18.04
- ``ubuntu:18.04``
- ``spack/ubuntu-bionic``
* - CentOS 6
- ``centos:6``
- ``spack/centos6``
* - CentOS 7
- ``centos:7``
- ``spack/centos7``
@@ -224,7 +227,7 @@ following ``spack.yaml``:
container:
images:
os: centos/7
os: centos:7
spack: 0.15.4
uses ``spack/centos7:0.15.4`` and ``centos:7`` for the stages where the

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -179,24 +179,26 @@ how to write tests!
run the unit tests yourself, we suggest you use ``spack unit-test``.
^^^^^^^^^^^^
Flake8 Tests
Style Tests
^^^^^^^^^^^^
Spack uses `Flake8 <http://flake8.pycqa.org/en/latest/>`_ to test for
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ conformance. PEP 8 is
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ conformance and
`mypy <https://mypy.readthedocs.io/en/stable/>` for type checking. PEP 8 is
a series of style guides for Python that provide suggestions for everything
from variable naming to indentation. In order to limit the number of PRs that
were mostly style changes, we decided to enforce PEP 8 conformance. Your PR
needs to comply with PEP 8 in order to be accepted.
needs to comply with PEP 8 in order to be accepted, and if it modifies the
spack library it needs to successfully type-check with mypy as well.
Testing for PEP 8 compliance is easy. Simply run the ``spack flake8``
Testing for compliance with spack's style is easy. Simply run the ``spack style``
command:
.. code-block:: console
$ spack flake8
$ spack style
``spack flake8`` has a couple advantages over running ``flake8`` by hand:
``spack style`` has a couple advantages over running the tools by hand:
#. It only tests files that you have modified since branching off of
``develop``.
@@ -207,7 +209,9 @@ command:
checks. For example, URLs are often longer than 80 characters, so we
exempt them from line length checks. We also exempt lines that start
with "homepage", "url", "version", "variant", "depends_on", and
"extends" in ``package.py`` files.
"extends" in ``package.py`` files. This is now also possible when directly
running flake8 if you can use the ``spack`` formatter plugin included with
spack.
More approved flake8 exemptions can be found
`here <https://github.com/spack/spack/blob/develop/.flake8>`_.
@@ -240,13 +244,13 @@ However, if you aren't compliant with PEP 8, flake8 will complain:
Most of the error messages are straightforward, but if you don't understand what
they mean, just ask questions about them when you submit your PR. The line numbers
will change if you add or delete lines, so simply run ``spack flake8`` again
will change if you add or delete lines, so simply run ``spack style`` again
to update them.
.. tip::
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``spack flake8`` just to re-compute line numbers and
multiple runs of ``spack style`` just to re-compute line numbers and
makes it much easier to fix errors directly off of the CI output.
.. warning::

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -396,20 +396,42 @@ other Spack modules:
True
>>>
You can also run a single command:
If you prefer using an IPython interpreter, given that IPython is installed
you can specify the interpreter with ``-i``:
.. code-block:: console
$ spack python -i ipython
Python 3.8.3 (default, May 19 2020, 18:47:26)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.17.0 -- An enhanced Interactive Python. Type '?' for help.
Spack version 0.16.0
Python 3.8.3, Linux x86_64
In [1]:
With either interpreter you can run a single command:
.. code-block:: console
$ spack python -c 'import distro; distro.linux_distribution()'
('Fedora', '25', 'Workstation Edition')
('Ubuntu', '18.04', 'Bionic Beaver')
$ spack python -i ipython -c 'import distro; distro.linux_distribution()'
Out[1]: ('Ubuntu', '18.04', 'Bionic Beaver')
or a file:
.. code-block:: console
$ spack python ~/test_fetching.py
$ spack python -i ipython ~/test_fetching.py
just like you would with the normal ``python`` command.
just like you would with the normal ``python`` command.
.. _cmd-spack-url:

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -399,6 +399,12 @@ There are two ways to include configuration information in a Spack Environment:
#. Included in the ``spack.yaml`` file from another file.
Many Spack commands also affect configuration information in files
automatically. Those commands take a ``--scope`` argument, and the
environment can be specified by ``env:NAME`` (to affect environment
``foo``, set ``--scope env:foo``). These commands will automatically
manipulate configuration inline in the ``spack.yaml`` file.
"""""""""""""""""""""
Inline configurations
"""""""""""""""""""""
@@ -441,8 +447,8 @@ Environments can include files with either relative or absolute
paths. Inline configurations take precedence over included
configurations, so you don't have to change shared configuration files
to make small changes to an individual Environment. Included configs
listed later will have higher precedence, as the included configs are
applied in order.
listed earlier will have higher precedence, as the included configs are
applied in reverse order.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Manually Editing the Specs List

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -75,6 +75,14 @@ shell integration for :ref:`certain commands <packaging-shell-support>`,
If you do not want to use Spack's shell support, you can always just run
the ``spack`` command directly from ``spack/bin/spack``.
When the ``spack`` command is executed it searches for an appropriate
Python interpreter to use, which can be explicitly overridden by setting
the ``SPACK_PYTHON`` environment variable. When sourcing the appropriate shell
setup script, ``SPACK_PYTHON`` will be set to the interpreter found at
sourcing time, ensuring future invocations of the ``spack`` command will
continue to use the same consistent python version regardless of changes in
the environment.
^^^^^^^^^^^^^^^^^^
Check Installation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -612,6 +612,62 @@ it executable, then runs it with some arguments.
installer = Executable(self.stage.archive_file)
installer('--prefix=%s' % prefix, 'arg1', 'arg2', 'etc.')
^^^^^^^^^^^^^^^^^^^^^^^^
Deprecating old versions
^^^^^^^^^^^^^^^^^^^^^^^^
There are many reasons to remove old versions of software:
#. Security vulnerabilities (most serious reason)
#. Changing build systems that increase package complexity
#. Changing dependencies/patches/resources/flags that increase package complexity
#. Maintainer/developer inability/unwillingness to support old versions
#. No longer available for download (right to be forgotten)
#. Package or version rename
At the same time, there are many reasons to keep old versions of software:
#. Reproducibility
#. Requirements for older packages (e.g. some packages still rely on Qt 3)
In general, you should not remove old versions from a ``package.py``. Instead,
you should first deprecate them using the following syntax:
.. code-block:: python
version('1.2.3', sha256='...', deprecated=True)
This has two effects. First, ``spack info`` will no longer advertise that
version. Second, commands like ``spack install`` that fetch the package will
require user approval:
.. code-block:: console
$ spack install openssl@1.0.1e
==> Warning: openssl@1.0.1e is deprecated and may be removed in a future Spack release.
==> Fetch anyway? [y/N]
If you use ``spack install --deprecated``, this check can be skipped.
This also applies to package recipes that are renamed or removed. You should
first deprecate all versions before removing a package. If you need to rename
it, you can deprecate the old package and create a new package at the same
time.
Version deprecations should always last at least one Spack minor release cycle
before the version is completely removed. For example, if a version is
deprecated in Spack 0.16.0, it should not be removed until Spack 0.17.0. No
version should be removed without such a deprecation process. This gives users
a chance to complain about the deprecation in case the old version is needed
for some application. If you require a deprecated version of a package, simply
submit a PR to remove ``deprecated=True`` from the package. However, you may be
asked to help maintain this version of the package if the current maintainers
are unwilling to support this older version.
^^^^^^^^^^^^^^^^
Download caching
^^^^^^^^^^^^^^^^
@@ -1864,14 +1920,21 @@ of ``mpich`` using the following command:
$ srun -N 2 -n 8 spack install -j 4 mpich@3.3.2
This will create eight concurrent four-job installation on two different
This will create eight concurrent, four-job installs on two different
nodes.
Alternatively, you could run the same installs on one node by entering
the following at the command line of a bash shell:
.. code-block:: console
$ for i in {1..12}; do nohup spack install -j 4 mpich@3.3.2 >> mpich_install.txt 2>&1 &; done
.. note::
The effective parallelism will be based on the maximum number of
packages that can be installed at the same time, which will limited
by the number of packages with no (remaining) uninstalled dependencies.
The effective parallelism is based on the maximum number of packages
that can be installed at the same time, which is limited by the
number of packages with no (remaining) uninstalled dependencies.
.. _dependencies:
@@ -2737,12 +2800,14 @@ The classes that are currently provided by Spack are:
| | built using CMake |
+-------------------------------+----------------------------------+
| :py:class:`.CudaPackage` | A helper class for packages that |
| | use CUDA. It is intended to be |
| | used in combination with others |
| | use CUDA |
+-------------------------------+----------------------------------+
| :py:class:`.QMakePackage` | Specialized class for packages |
| | build using QMake |
+-------------------------------+----------------------------------+
| :py:class:`.ROCmPackage` | A helper class for packages that |
| | use ROCm |
+-------------------------------+----------------------------------+
| :py:class:`.SConsPackage` | Specialized class for packages |
| | built using SCons |
+-------------------------------+----------------------------------+
@@ -3946,7 +4011,7 @@ using the ``run_before`` decorator.
The API for adding tests is not yet considered stable and may change drastically in future releases.
.. _file-manipulation:
.. _cmd-spack-test:
^^^^^^^^^^^^^
Install Tests
@@ -3956,109 +4021,205 @@ Install Tests
The API for adding and running install tests is not yet considered
stable and may change drastically in future releases. Packages with
upstreamed tests will be refactored to match changes to the API.
install tests will be refactored to match changes to the API.
While build-tests are integrated with the build system, install tests
may be added to Spack packages to be run independently of the install
method.
While build tests are integrated with the build system, install tests
are for testing package installations independent of the build process.
Install tests may be added by defining a ``test`` method with the following signature:
Install tests are executed in a test stage directory that defaults to
``~/.spack/test``. You can change the location in the high-level ``config``
by adding the ``test_stage`` path as follows:
.. code-block:: yaml
config:
test_stage: /path/to/stage
""""""""""""""""""""
Adding install tests
""""""""""""""""""""
Install tests are added to a package by defining a ``test`` method
with the following signature:
.. code-block:: python
def test(self):
These tests will be run in an environment set up to provide access to
this package and all of its dependencies, including ``test``-type
dependencies. Inside the ``test`` method, standard python ``assert``
statements and other error reporting mechanisms can be used. Spack
will report any errors as a test failure.
These tests run in an environment that provides access to the
package and all of its dependencies, including ``test``-type
dependencies.
Inside the test method, individual tests can be run separately (and
continue transparently after a test failure) using the ``run_test``
method. The signature for the ``run_test`` method is:
Standard python ``assert`` statements and other error reporting
mechanisms can be used in the ``test`` method. Spack will report
such errors as test failures.
You can implement multiple tests (or test parts) within the ``test``
method, where each is run separately and testing continues after
failures by using the ``run_test`` method. The signature for the
method is:
.. code-block:: python
def run_test(self, exe, options=[], expected=[], status=0, installed=False,
purpose='', skip_missing=False, work_dir=None):
This method will operate in ``work_dir`` if one is specified. It will
search for an executable in the ``PATH`` variable named ``exe``, and
if ``installed=True`` it will fail if that executable does not come
from the prefix of the package being tested. If the executable is not
found, it will fail the test unless ``skip_missing`` is set to
``True``. The executable will be run with the options specified, and
the return code will be checked against the ``status`` argument, which
can be an integer or list of integers. Spack will also check that
every string in ``expected`` is a regex matching part of the output of
the executable. The ``purpose`` argument is recorded in the test log
for debugging purposes.
The test fails if there is no executable named ``exe`` found in the
paths of the ``PATH`` variable **unless** ``skip_missing`` is ``True``.
The test also fails if the resulting path is not within the prefix of
the package being tested when ``installed`` is ``True``.
""""""""""""""""""""""""""""""""""""""
Install tests that require compilation
""""""""""""""""""""""""""""""""""""""
The executable runs in ``work_dir``, when specified, using the provided
``options``. The return code is checked against the ``status`` argument,
which can be an integer or list of integers representing status codes
corresponding to successful execution (e.g. ``status=[0,3,7]``).
Spack also checks that every string in ``expected`` is a regex matching
part of the output from the test run (e.g.
``expected=['completed successfully', 'converged in']``). Default behavior
is to behave as though ``status=[0]`` and ``expected=[]`` are specified.
Output from the test is written to its log file. The ``purpose`` argument
serves as the heading in text logs to highlight the start of each test part.
"""""""""""""""""""""""""
Enabling test compilation
"""""""""""""""""""""""""
Some tests may require access to the compiler with which the package
was built, especially to test library-only packages. To ensure the
compiler is configured as part of the test environment, set the
attribute ``tests_require_compiler = True`` on the package. The
compiler will be available through the canonical environment variables
(``CC``, ``CXX``, ``FC``, ``F77``) in the test environment.
was built, especially to test library-only packages. You must enable
loading the package's compiler configuration by setting the attribute
``test_requires_compiler`` to ``True``. Doing so makes the compiler
available in the test environment through the canonical environment
variables (``CC``, ``CXX``, ``FC``, ``F77``).
""""""""""""""""""""""""""""""""""""""""""""""""
Install tests that require build-time components
""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""
Adding build-time files
"""""""""""""""""""""""
Some packages cannot be easily tested without components from the
build-time test suite. For those packages, the
``cache_extra_test_sources`` method can be used.
.. note::
We highly recommend the re-use of build-time tests and input files
for testing installed software. These files are easier to keep
synchronized with the software than creating custom install tests.
You can use the ``cache_extra_test_sources`` method copy directories
and or files from the build stage directory to the package's installation
directory.
For example, a package method for copying everything in the ``tests``
subdirectory plus the ``foo.c`` and ``bar.c`` files from ``examples``
can be implemented as follows:
.. code-block:: python
@run_after('install')
def cache_test_sources(self):
srcs = ['./tests/foo.c', './tests/bar.c']
srcs = ['tests', 'examples/foo.c', 'examples/bar.c']
self.cache_extra_test_sources(srcs)
This method will copy the listed methods into the metadata directory
of the package at the end of the install phase of the build. They will
be available to the test method in the directory
``self._extra_tests_path``.
The use of the ``run_after`` directive ensures the associated files
are copied **after** the package is installed during the build process.
While source files are generally recommended, for many packages
binaries may also technically be cached in this way for later testing.
The method copies files to the package's metadata directory under
the ``self.install_test_root``. All files in the package source's
``tests`` directory for the example above will be copied to the
``join_path(self.install_test_root, 'tests')`` directory. The two
files listed under the staged ``examples`` directory will be copied
to the ``join_path(self.install_test_root, 'examples')`` directory.
.. note::
While source and input files are generally recommended, binaries
may also be cached by the build process for install testing.
"""""""""""""""""""
Adding custom files
"""""""""""""""""""
Some tests may require additional files not available from the build.
Examples include:
- test source files
- test input files
- test build scripts
- expected test output
These extra files should be added to the ``test`` subdirectory of the
package in the repository. Spack will automaticaly copy any files in
that directory to the test staging directory during install testing.
The ``test`` method can access those files from the
``self.test_suite.current_test_data_dir`` directory.
.. _cmd-spack-test-list:
"""""""""""""""""""
``spack test list``
"""""""""""""""""""
Packages available for install testing can be found using the
``spack test list`` command. The command outputs all installed
packages that have defined ``test`` methods.
.. _cmd-spack-test-run:
""""""""""""""""""
``spack test run``
""""""""""""""""""
Install tests can be run for one or more installed packages using
the ``spack test run`` command. A ``test suite`` is created from
the provided specs. If no specs are provided it will test all specs
in the active environment or all specs installed in Spack if no
environment is active.
Test suites can be named using the ``--alias`` option. Unaliased
Test suites will use the content hash of their specs as their name.
Some of the more commonly used debugging options are:
- ``--fail-fast`` stops testing each package after the first failure
- ``--fail-first`` stops testing packages after the first failure
Test output is written to a text log file by default but ``junit``
and ``cdash`` are outputs are available through the ``--log-format``
option.
.. _cmd-spack-test-results:
""""""""""""""""""""""
``spack test results``
""""""""""""""""""""""
The ``spack test results`` command shows results for all completed
test suites. Providing the alias or content hash limits reporting
to the corresponding test suite.
The ``--logs`` option includes the output generated by the associated
test(s) to facilitate debugging.
The ``--failed`` option limits results shown to that of the failed
tests, if any, of matching packages.
.. _cmd-spack-test-find:
"""""""""""""""""""
``spack test find``
"""""""""""""""""""
The ``spack test find`` command lists the aliases or content hashes
of all test suites whose results are available.
.. _cmd-spack-test-remove:
"""""""""""""""""""""
Running install tests
``spack test remove``
"""""""""""""""""""""
Install tests can be run using the ``spack test run`` command. The
``spack test run`` command will create a ``test suite`` out of the
specs provided to it, or if no specs are provided it will test all
specs in the active environment, or all specs installed in Spack if no
environment is active. Test suites can be named using the ``--alias``
option; test suites not aliased will use the content hash of their
specs as their name.
The ``spack test remove`` command removes test suites to declutter
the test results directory. You are prompted to confirm the removal
of each test suite **unless** you use the ``--yes-to-all`` option.
Packages to install test can be queried using the ``spack test list``
command, which outputs all installed packages with defined ``test``
methods.
Test suites can be found using the ``spack test find`` command. It
will list all test suites that have been run and have not been removed
using the ``spack test remove`` command. The ``spack test remove``
command will remove tests to declutter the test stage. The ``spack
test results`` command will show results for completed test suites.
The test stage is the working directory for all install tests run with
Spack. By default, Spack uses ``~/.spack/test`` as the test stage. The
test stage can be set in the high-level config:
.. code-block:: yaml
config:
test_stage: /path/to/stage
.. _file-manipulation:
---------------------------
File manipulation functions

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -122,9 +122,26 @@ pipeline jobs.
Concretizes the specs in the active environment, stages them (as described in
:ref:`staging_algorithm`), and writes the resulting ``.gitlab-ci.yml`` to disk.
This sub-command takes two arguments, but the most useful is ``--output-file``,
which should be an absolute path (including file name) to the generated
pipeline, if the default (``./.gitlab-ci.yml``) is not desired.
Using ``--prune-dag`` or ``--no-prune-dag`` configures whether or not jobs are
generated for specs that are already up to date on the mirror. If enabling
DAG pruning using ``--prune-dag``, more information may be required in your
``spack.yaml`` file, see the :ref:`noop_jobs` section below regarding
``service-job-attributes``.
The ``--optimize`` argument is experimental and runs the generated pipeline
document through a series of optimization passes designed to reduce the size
of the generated file.
The ``--dependencies`` is also experimental and disables what in Gitlab is
referred to as DAG scheduling, internally using the ``dependencies`` keyword
rather than ``needs`` to list dependency jobs. The drawback of using this option
is that before any job can begin, all jobs in previous stages must first
complete. The benefit is that Gitlab allows more dependencies to be listed
when using ``dependencies`` instead of ``needs``.
The optional ``--output-file`` argument should be an absolute path (including
file name) to the generated pipeline, and if not given, the default is
``./.gitlab-ci.yml``.
.. _cmd-spack-ci-rebuild:
@@ -223,21 +240,6 @@ takes a boolean and determines whether the pipeline uses artifacts to store and
pass along the buildcaches from one stage to the next (the default if you don't
provide this option is ``False``).
The
``final-stage-rebuild-index`` section controls whether an extra job is added to the
end of your pipeline (in a stage by itself) which will regenerate the mirror's
buildcache index. Under normal operation, each pipeline job that rebuilds a package
will re-generate the mirror's buildcache index after the buildcache entry for that
job has been created and pushed to the mirror. Since jobs in the same stage can run in
parallel, there is the possibility that at the end of some stage, the index may not
reflect all the binaries in the buildcache. Adding the ``final-stage-rebuild-index``
section ensures that at the end of the pipeline, the index will be in sync with the
binaries on the mirror. If the mirror lives in an S3 bucket, this job will need to
run on a machine with the Python ``boto3`` module installed, and consequently the
``final-stage-rebuild-index`` needs to specify a list of ``tags`` to pick a runner
satisfying that condition. It can also take an ``image`` key so Docker executor type
runners can pick the right image for the index regeneration job.
The optional ``cdash`` section provides information that will be used by the
``spack ci generate`` command (invoked by ``spack ci start``) for reporting
to CDash. All the jobs generated from this environment will belong to a
@@ -251,6 +253,76 @@ Take a look at the
for the gitlab-ci section of the spack environment file, to see precisely what
syntax is allowed there.
.. _rebuild_index:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note about rebuilding buildcache index
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, while a pipeline job may rebuild a package, create a buildcache
entry, and push it to the mirror, it does not automatically re-generate the
mirror's buildcache index afterward. Because the index is not needed by the
default rebuild jobs in the pipeline, not updating the index at the end of
each job avoids possible race conditions between simultaneous jobs, and it
avoids the computational expense of regenerating the index. This potentially
saves minutes per job, depending on the number of binary packages in the
mirror. As a result, the default is that the mirror's buildcache index may
not correctly reflect the mirror's contents at the end of a pipeline.
To make sure the buildcache index is up to date at the end of your pipeline,
spack generates a job to update the buildcache index of the target mirror
at the end of each pipeline by default. You can disable this behavior by
adding ``rebuild-index: False`` inside the ``gitlab-ci`` section of your
spack environment. Spack will assign the job any runner attributes found
on the ``service-job-attributes``, if you have provided that in your
``spack.yaml``.
.. _noop_jobs:
^^^^^^^^^^^^^^^^^^^^^^^
Note about "no-op" jobs
^^^^^^^^^^^^^^^^^^^^^^^
If no specs in an environment need to be rebuilt during a given pipeline run
(meaning all are already up to date on the mirror), a single succesful job
(a NO-OP) is still generated to avoid an empty pipeline (which GitLab
considers to be an error). An optional ``service-job-attributes`` section
can be added to your ``spack.yaml`` where you can provide ``tags`` and
``image`` or ``variables`` for the generated NO-OP job. This section also
supports providing ``before_script``, ``script``, and ``after_script``, in
case you want to take some custom actions in the case of any empty pipeline.
Following is an example of this section added to a ``spack.yaml``:
.. code-block:: yaml
spack:
specs:
- openmpi
mirrors:
cloud_gitlab: https://mirror.spack.io
gitlab-ci:
mappings:
- match:
- os=centos8
runner-attributes:
tags:
- custom
- tag
image: spack/centos7
service-job-attributes:
tags: ['custom', 'tag']
image:
name: 'some.image.registry/custom-image:latest'
entrypoint: ['/bin/bash']
script:
- echo "Custom message in a custom script"
The example above illustrates how you can provide the attributes used to run
the NO-OP job in the case of an empty pipeline. The only field for the NO-OP
job that might be generated for you is ``script``, but that will only happen
if you do not provide one yourself.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Assignment of specs to runners
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,7 +9,7 @@
Package Repositories
=============================
Spack comes with over 1,000 built-in package recipes in
Spack comes with thousands of built-in package recipes in
``var/spack/repos/builtin/``. This is a **package repository** -- a
directory that Spack searches when it needs to find a package by name.
You may need to maintain packages for restricted, proprietary or

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

30
lib/spack/env/cc vendored
View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -125,7 +125,7 @@ case "$command" in
comp="FC"
lang_flags=F
;;
f77|xlf|xlf_r|pgf77|frt|flang)
f77|xlf|xlf_r|pgf77)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
@@ -284,7 +284,7 @@ while [ -n "$1" ]; do
case "$1" in
-isystem*)
arg="${1#-isystem}"
isystem_was_used=true
isystem_was_used=true
if [ -z "$arg" ]; then shift; arg="$1"; fi
if system_dir "$arg"; then
isystem_system_includes+=("$arg")
@@ -320,9 +320,13 @@ while [ -n "$1" ]; do
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rp="${arg#-rpath=}"
elif [[ "$arg" = --rpath=* ]]; then
rp="${arg#--rpath=}"
elif [[ "$arg" = -rpath,* ]]; then
rp="${arg#-rpath,}"
elif [[ "$arg" = -rpath ]]; then
elif [[ "$arg" = --rpath,* ]]; then
rp="${arg#--rpath,}"
elif [[ "$arg" =~ ^-?-rpath$ ]]; then
shift; arg="$1"
if [[ "$arg" != -Wl,* ]]; then
die "-Wl,-rpath was not followed by -Wl,*"
@@ -339,7 +343,9 @@ while [ -n "$1" ]; do
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rp="${arg#-rpath=}"
elif [[ "$arg" = -rpath ]]; then
elif [[ "$arg" = --rpath=* ]]; then
rp="${arg#--rpath=}"
elif [[ "$arg" = -rpath ]] || [[ "$arg" = --rpath ]]; then
shift; arg="$1"
if [[ "$arg" != -Xlinker,* ]]; then
die "-Xlinker,-rpath was not followed by -Xlinker,*"
@@ -434,7 +440,7 @@ then
ld)
flags=("${flags[@]}" -headerpad_max_install_names) ;;
ccld)
flags=("${flags[@]}" -Wl,-headerpad_max_install_names) ;;
flags=("${flags[@]}" "-Wl,-headerpad_max_install_names") ;;
esac
fi
@@ -491,19 +497,19 @@ args+=("${flags[@]}")
# Insert include directories just prior to any system include directories
for dir in "${includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_includes[@]}"; do args+=("-isystem$dir"); done
for dir in "${isystem_includes[@]}"; do args+=("-isystem" "$dir"); done
IFS=':' read -ra spack_include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
if [[ "$isystem_was_used" == "true" ]] ; then
for dir in "${spack_include_dirs[@]}"; do args+=("-isystem$dir"); done
for dir in "${spack_include_dirs[@]}"; do args+=("-isystem" "$dir"); done
else
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
fi
fi
for dir in "${system_includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_system_includes[@]}"; do args+=("-isystem$dir"); done
for dir in "${isystem_system_includes[@]}"; do args+=("-isystem" "$dir"); done
# Library search paths
for dir in "${libdirs[@]}"; do args+=("-L$dir"); done
@@ -512,12 +518,12 @@ for dir in "${system_libdirs[@]}"; do args+=("-L$dir"); done
# RPATHs arguments
case "$mode" in
ccld)
if [ ! -z "$dtags_to_add" ] ; then args+=("$linker_arg$dtags_to_add") ; fi
if [ -n "$dtags_to_add" ] ; then args+=("$linker_arg$dtags_to_add") ; fi
for dir in "${rpaths[@]}"; do args+=("$rpath$dir"); done
for dir in "${system_rpaths[@]}"; do args+=("$rpath$dir"); done
;;
ld)
if [ ! -z "$dtags_to_add" ] ; then args+=("$dtags_to_add") ; fi
if [ -n "$dtags_to_add" ] ; then args+=("$dtags_to_add") ; fi
for dir in "${rpaths[@]}"; do args+=("-rpath" "$dir"); done
for dir in "${system_rpaths[@]}"; do args+=("-rpath" "$dir"); done
;;

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -11,7 +11,7 @@
* Homepage: https://pypi.python.org/pypi/archspec
* Usage: Labeling, comparison and detection of microarchitectures
* Version: 0.1.2 (commit 2846749dc5b12ae2b30ff1d3f0270a4a5954710d)
* Version: 0.1.2 (commit 0389e83e87d3dc5043a7ac08172bd970706524d6)
argparse
--------

View File

@@ -1,2 +1,2 @@
"""Init file to avoid namespace packages"""
__version__ = "0.1.1"
__version__ = "0.1.2"

View File

@@ -75,6 +75,13 @@
"flags": "-march={name} -mtune=generic"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "x86-64",
"flags": "-march={name} -mtune=generic"
}
],
"intel": [
{
"versions": ":",
@@ -106,6 +113,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -143,6 +156,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -152,7 +171,7 @@
"intel": [
{
"versions": "16.0:",
"flags": "-march={name} -mtune={name}}"
"flags": "-march={name} -mtune={name}"
}
]
}
@@ -187,6 +206,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -229,6 +254,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -277,6 +308,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -331,6 +368,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -390,6 +433,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -446,6 +495,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -500,6 +555,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -558,6 +619,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "knl",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -621,6 +689,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "skylake-avx512",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -685,6 +760,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
@@ -746,6 +827,12 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "11.0:",
@@ -754,7 +841,7 @@
],
"intel": [
{
"versions": "19.0:",
"versions": "19.0.1:",
"flags": "-march={name} -mtune={name}"
}
]
@@ -827,6 +914,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "icelake-client",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "10.0.1:",
@@ -875,6 +969,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "amdfam10",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -918,6 +1019,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver1",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -965,6 +1073,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver2",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -1013,6 +1128,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver3",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -1064,6 +1186,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver4",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -1119,6 +1248,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "znver1",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -1175,6 +1311,13 @@
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "znver2",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
@@ -1185,6 +1328,49 @@
]
}
},
"zen3": {
"from": ["zen2"],
"vendor": "AuthenticAMD",
"features": [
"bmi1",
"bmi2",
"f16c",
"fma",
"fsgsbase",
"avx",
"avx2",
"rdseed",
"clzero",
"aes",
"pclmulqdq",
"cx16",
"movbe",
"mmx",
"sse",
"sse2",
"sse4a",
"ssse3",
"sse4_1",
"sse4_2",
"abm",
"xsavec",
"xsaveopt",
"clflushopt",
"popcnt",
"clwb",
"vaes",
"vpclmulqdq"
],
"compilers": {
"aocc": [
{
"versions": "3.0:",
"name": "znver3",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"ppc64": {
"from": [],
"vendor": "generic",

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

84
lib/spack/external/py2/typing.py vendored Normal file
View File

@@ -0,0 +1,84 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
"""
This is a fake set of symbols to allow spack to import typing in python
versions where we do not support type checking (<3)
"""
Annotated = None
Any = None
Callable = None
ForwardRef = None
Generic = None
Literal = None
Optional = None
Tuple = None
TypeVar = None
Union = None
AbstractSet = None
ByteString = None
Container = None
Hashable = None
ItemsView = None
Iterable = None
Iterator = None
KeysView = None
Mapping = None
MappingView = None
MutableMapping = None
MutableSequence = None
MutableSet = None
Sequence = None
Sized = None
ValuesView = None
Awaitable = None
AsyncIterator = None
AsyncIterable = None
Coroutine = None
Collection = None
AsyncGenerator = None
AsyncContextManager = None
Reversible = None
SupportsAbs = None
SupportsBytes = None
SupportsComplex = None
SupportsFloat = None
SupportsInt = None
SupportsRound = None
ChainMap = None
Dict = None
List = None
OrderedDict = None
Set = None
FrozenSet = None
NamedTuple = None
Generator = None
AnyStr = None
cast = None
get_args = None
get_origin = None
get_type_hints = None
no_type_check = None
no_type_check_decorator = None
NoReturn = None
# these are the typing extension symbols
ClassVar = None
Final = None
Protocol = None
Type = None
TypedDict = None
ContextManager = None
Counter = None
Deque = None
DefaultDict = None
SupportsIndex = None
final = None
IntVar = None
Literal = None
NewType = None
overload = None
runtime_checkable = None
Text = None
TYPE_CHECKING = None

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -69,7 +69,8 @@
'touchp',
'traverse_tree',
'unset_executable_mode',
'working_dir'
'working_dir',
'keep_modification_time'
]
@@ -1825,3 +1826,24 @@ def remove_directory_contents(dir):
os.unlink(entry)
else:
shutil.rmtree(entry)
@contextmanager
def keep_modification_time(*filenames):
"""
Context manager to keep the modification timestamps of the input files.
Tolerates and has no effect on non-existent files and files that are
deleted by the nested code.
Parameters:
*filenames: one or more files that must have their modification
timestamps unchanged
"""
mtimes = {}
for f in filenames:
if os.path.exists(f):
mtimes[f] = os.path.getmtime(f)
yield
for f, mtime in mtimes.items():
if os.path.exists(f):
os.utime(f, (os.path.getatime(f), mtime))

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -26,126 +26,6 @@
true_fn = lambda: True
class OpenFile(object):
"""Record for keeping track of open lockfiles (with reference counting).
There's really only one ``OpenFile`` per inode, per process, but we record the
filehandle here as it's the thing we end up using in python code. You can get
the file descriptor from the file handle if needed -- or we could make this track
file descriptors as well in the future.
"""
def __init__(self, fh):
self.fh = fh
self.refs = 0
class OpenFileTracker(object):
"""Track open lockfiles, to minimize number of open file descriptors.
The ``fcntl`` locks that Spack uses are associated with an inode and a process.
This is convenient, because if a process exits, it releases its locks.
Unfortunately, this also means that if you close a file, *all* locks associated
with that file's inode are released, regardless of whether the process has any
other open file descriptors on it.
Because of this, we need to track open lock files so that we only close them when
a process no longer needs them. We do this by tracking each lockfile by its
inode and process id. This has several nice properties:
1. Tracking by pid ensures that, if we fork, we don't inadvertently track the parent
process's lockfiles. ``fcntl`` locks are not inherited across forks, so we'll
just track new lockfiles in the child.
2. Tracking by inode ensures that referencs are counted per inode, and that we don't
inadvertently close a file whose inode still has open locks.
3. Tracking by both pid and inode ensures that we only open lockfiles the minimum
number of times necessary for the locks we have.
Note: as mentioned elsewhere, these locks aren't thread safe -- they're designed to
work in Python and assume the GIL.
"""
def __init__(self):
"""Create a new ``OpenFileTracker``."""
self._descriptors = {}
def get_fh(self, path):
"""Get a filehandle for a lockfile.
This routine will open writable files for read/write even if you're asking
for a shared (read-only) lock. This is so that we can upgrade to an exclusive
(write) lock later if requested.
Arguments:
path (str): path to lock file we want a filehandle for
"""
# Open writable files as 'r+' so we can upgrade to write later
os_mode, fh_mode = (os.O_RDWR | os.O_CREAT), 'r+'
pid = os.getpid()
open_file = None # OpenFile object, if there is one
stat = None # stat result for the lockfile, if it exists
try:
# see whether we've seen this inode/pid before
stat = os.stat(path)
key = (stat.st_ino, pid)
open_file = self._descriptors.get(key)
except OSError as e:
if e.errno != errno.ENOENT: # only handle file not found
raise
# path does not exist -- fail if we won't be able to create it
parent = os.path.dirname(path) or '.'
if not os.access(parent, os.W_OK):
raise CantCreateLockError(path)
# if there was no already open file, we'll need to open one
if not open_file:
if stat and not os.access(path, os.W_OK):
# we know path exists but not if it's writable. If it's read-only,
# only open the file for reading (and fail if we're trying to get
# an exclusive (write) lock on it)
os_mode, fh_mode = os.O_RDONLY, 'r'
fd = os.open(path, os_mode)
fh = os.fdopen(fd, fh_mode)
open_file = OpenFile(fh)
# if we just created the file, we'll need to get its inode here
if not stat:
inode = os.fstat(fd).st_ino
key = (inode, pid)
self._descriptors[key] = open_file
open_file.refs += 1
return open_file.fh
def release_fh(self, path):
"""Release a filehandle, only closing it if there are no more references."""
try:
inode = os.stat(path).st_ino
except OSError as e:
if e.errno != errno.ENOENT: # only handle file not found
raise
inode = None # this will not be in self._descriptors
key = (inode, os.getpid())
open_file = self._descriptors.get(key)
assert open_file, "Attempted to close non-existing lock path: %s" % path
open_file.refs -= 1
if not open_file.refs:
del self._descriptors[key]
open_file.fh.close()
#: Open file descriptors for locks in this process. Used to prevent one process
#: from opening the sam file many times for different byte range locks
file_tracker = OpenFileTracker()
def _attempts_str(wait_time, nattempts):
# Don't print anything if we succeeded on the first try
if nattempts <= 1:
@@ -166,8 +46,7 @@ class Lock(object):
Note that this is for managing contention over resources *between*
processes and not for managing contention between threads in a process: the
functions of this object are not thread-safe. A process also must not
maintain multiple locks on the same file (or, more specifically, on
overlapping byte ranges in the same file).
maintain multiple locks on the same file.
"""
def __init__(self, path, start=0, length=0, default_timeout=None,
@@ -272,10 +151,25 @@ def _lock(self, op, timeout=None):
# Create file and parent directories if they don't exist.
if self._file is None:
self._ensure_parent_directory()
self._file = file_tracker.get_fh(self.path)
parent = self._ensure_parent_directory()
if op == fcntl.LOCK_EX and self._file.mode == 'r':
# Open writable files as 'r+' so we can upgrade to write later
os_mode, fd_mode = (os.O_RDWR | os.O_CREAT), 'r+'
if os.path.exists(self.path):
if not os.access(self.path, os.W_OK):
if op == fcntl.LOCK_SH:
# can still lock read-only files if we open 'r'
os_mode, fd_mode = os.O_RDONLY, 'r'
else:
raise LockROFileError(self.path)
elif not os.access(parent, os.W_OK):
raise CantCreateLockError(self.path)
fd = os.open(self.path, os_mode)
self._file = os.fdopen(fd, fd_mode)
elif op == fcntl.LOCK_EX and self._file.mode == 'r':
# Attempt to upgrade to write lock w/a read-only file.
# If the file were writable, we'd have opened it 'r+'
raise LockROFileError(self.path)
@@ -388,8 +282,7 @@ def _unlock(self):
"""
fcntl.lockf(self._file, fcntl.LOCK_UN,
self._length, self._start, os.SEEK_SET)
file_tracker.release_fh(self.path)
self._file.close()
self._file = None
self._reads = 0
self._writes = 0

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -20,12 +20,17 @@
from six import string_types
from six import StringIO
from typing import Optional # novm
from types import ModuleType # novm
import llnl.util.tty as tty
termios = None # type: Optional[ModuleType]
try:
import termios
import termios as term_mod
termios = term_mod
except ImportError:
termios = None
pass
# Use this to strip escape sequences

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -5,7 +5,7 @@
#: major, minor, patch version for Spack, in a tuple
spack_version_info = (0, 16, 3)
spack_version_info = (0, 16, 1)
#: String containing Spack version joined with .'s
spack_version = '.'.join(str(v) for v in spack_version_info)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -238,18 +238,19 @@ class Platform(object):
Will return a instance of it once it is returned.
"""
priority = None # Subclass sets number. Controls detection order
# Subclass sets number. Controls detection order
priority = None # type: int
#: binary formats used on this platform; used by relocation logic
binary_formats = ['elf']
front_end = None
back_end = None
default = None # The default back end target.
front_end = None # type: str
back_end = None # type: str
default = None # type: str # The default back end target.
front_os = None
back_os = None
default_os = None
front_os = None # type: str
back_os = None # type: str
default_os = None # type: str
reserved_targets = ['default_target', 'frontend', 'fe', 'backend', 'be']
reserved_oss = ['default_os', 'frontend', 'fe', 'backend', 'be']

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -763,6 +763,10 @@ def generate_package_index(cache_prefix):
url_util.join(cache_prefix, 'index.json.hash'),
keep_original=False,
extra_args={'ContentType': 'text/plain'})
except Exception as err:
msg = 'Encountered problem pushing package index to {0}: {1}'.format(
cache_prefix, err)
tty.warn(msg)
finally:
shutil.rmtree(tmpdir)
@@ -823,6 +827,10 @@ def generate_key_index(key_prefix, tmpdir=None):
url_util.join(key_prefix, 'index.json'),
keep_original=False,
extra_args={'ContentType': 'application/json'})
except Exception as err:
msg = 'Encountered problem pushing key index to {0}: {1}'.format(
key_prefix, err)
tty.warn(msg)
finally:
if remove_tmpdir:
shutil.rmtree(tmpdir)
@@ -1081,6 +1089,8 @@ def relocate_package(spec, allow_root):
"""
Relocate the given package
"""
import spack.hooks.sbang as sbang
workdir = str(spec.prefix)
buildinfo = read_buildinfo_file(workdir)
new_layout_root = str(spack.store.layout.root)
@@ -1119,9 +1129,7 @@ def relocate_package(spec, allow_root):
prefix_to_prefix_bin = OrderedDict({})
if old_sbang_install_path:
import spack.hooks.sbang as sbang
prefix_to_prefix_text[old_sbang_install_path] = \
sbang.sbang_install_path()
prefix_to_prefix_text[old_sbang_install_path] = sbang.sbang_install_path()
prefix_to_prefix_text[old_prefix] = new_prefix
prefix_to_prefix_bin[old_prefix] = new_prefix
@@ -1134,7 +1142,6 @@ def relocate_package(spec, allow_root):
# sbang was a bash script, and it lived in the spack prefix. It is
# now a POSIX script that lives in the install prefix. Old packages
# will have the old sbang location in their shebangs.
import spack.hooks.sbang as sbang
orig_sbang = '#!/bin/bash {0}/bin/sbang'.format(old_spack_prefix)
new_sbang = sbang.sbang_shebang_line()
prefix_to_prefix_text[orig_sbang] = new_sbang
@@ -1153,7 +1160,7 @@ def is_backup_file(file):
if not is_backup_file(text_name):
text_names.append(text_name)
# If we are not installing back to the same install tree do the relocation
# If we are not installing back to the same install tree do the relocation
if old_layout_root != new_layout_root:
files_to_relocate = [os.path.join(workdir, filename)
for filename in buildinfo.get('relocate_binaries')
@@ -1323,7 +1330,7 @@ def extract_tarball(spec, filename, allow_root=False, unsigned=False,
os.remove(filename)
def try_direct_fetch(spec, force=False, full_hash_match=False, mirrors=None):
def try_direct_fetch(spec, full_hash_match=False, mirrors=None):
"""
Try to find the spec directly on the configured mirrors
"""
@@ -1361,11 +1368,26 @@ def try_direct_fetch(spec, force=False, full_hash_match=False, mirrors=None):
return found_specs
def get_mirrors_for_spec(spec=None, force=False, full_hash_match=False,
mirrors_to_check=None):
def get_mirrors_for_spec(spec=None, full_hash_match=False,
mirrors_to_check=None, index_only=False):
"""
Check if concrete spec exists on mirrors and return a list
indicating the mirrors on which it can be found
Args:
spec (Spec): The spec to look for in binary mirrors
full_hash_match (bool): If True, only includes mirrors where the spec
full hash matches the locally computed full hash of the ``spec``
argument. If False, any mirror which has a matching DAG hash
is included in the results.
mirrors_to_check (dict): Optionally override the configured mirrors
with the mirrors in this dictionary.
index_only (bool): Do not attempt direct fetching of ``spec.yaml``
files from remote mirrors, only consider the indices.
Return:
A list of objects, each containing a ``mirror_url`` and ``spec`` key
indicating all mirrors where the spec can be found.
"""
if spec is None:
return []
@@ -1391,10 +1413,9 @@ def filter_candidates(candidate_list):
results = filter_candidates(candidates)
# Maybe we just didn't have the latest information from the mirror, so
# try to fetch directly.
if not results:
# try to fetch directly, unless we are only considering the indices.
if not results and not index_only:
results = try_direct_fetch(spec,
force=force,
full_hash_match=full_hash_match,
mirrors=mirrors_to_check)

View File

@@ -5,13 +5,6 @@
import contextlib
import os
import sys
try:
import sysconfig # novm
except ImportError:
# Not supported on Python 2.6
pass
import archspec.cpu
import llnl.util.filesystem as fs
import llnl.util.tty as tty
@@ -27,33 +20,17 @@
from spack.util.environment import EnvironmentModifications
def spec_for_current_python():
"""For bootstrapping purposes we are just interested in the Python
minor version (all patches are ABI compatible with the same minor)
and on whether ucs4 support has been enabled for Python 2.7
See:
https://www.python.org/dev/peps/pep-0513/
https://stackoverflow.com/a/35801395/771663
"""
version_str = '.'.join(str(x) for x in sys.version_info[:2])
variant_str = ''
if sys.version_info[0] == 2 and sys.version_info[1] == 7:
unicode_size = sysconfig.get_config_var('Py_UNICODE_SIZE')
variant_str = '+ucs4' if unicode_size == 4 else '~ucs4'
spec_fmt = 'python@{0} {1}'
return spec_fmt.format(version_str, variant_str)
@contextlib.contextmanager
def spack_python_interpreter():
"""Override the current configuration to set the interpreter under
which Spack is currently running as the only Python external spec
available.
"""
python_cls = type(spack.spec.Spec('python').package)
python_prefix = os.path.dirname(os.path.dirname(sys.executable))
external_python = spec_for_current_python()
externals = python_cls.determine_spec_details(
python_prefix, [os.path.basename(sys.executable)])
external_python = externals[0]
entry = {
'buildable': False,
@@ -83,10 +60,9 @@ def make_module_available(module, spec=None, install=False):
# We can constrain by a shortened version in place of a version range
# because this spec is only used for querying or as a placeholder to be
# replaced by an external that already has a concrete version. This syntax
# is not sufficient when concretizing without an external, as it will
# is not suffucient when concretizing without an external, as it will
# concretize to python@X.Y instead of python@X.Y.Z
python_requirement = '^' + spec_for_current_python()
spec.constrain(python_requirement)
spec.constrain('^python@%d.%d' % sys.version_info[:2])
installed_specs = spack.store.db.query(spec, installed=True)
for ispec in installed_specs:
@@ -196,12 +172,7 @@ def _raise_error(executable, exe_spec):
def _bootstrap_config_scopes():
tty.debug('[BOOTSTRAP CONFIG SCOPE] name=_builtin')
config_scopes = [
spack.config.InternalConfigScope(
'_builtin', spack.config.config_defaults
)
]
config_scopes = []
for name, path in spack.config.configuration_paths:
platform = spack.architecture.platform().name
platform_scope = spack.config.ConfigScope(
@@ -209,7 +180,7 @@ def _bootstrap_config_scopes():
)
generic_scope = spack.config.ConfigScope(name, path)
config_scopes.extend([generic_scope, platform_scope])
msg = '[BOOTSTRAP CONFIG SCOPE] name={0}, path={1}'
msg = '[BOOSTRAP CONFIG SCOPE] name={0}, path={1}'
tty.debug(msg.format(generic_scope.name, generic_scope.path))
tty.debug(msg.format(platform_scope.name, platform_scope.path))
return config_scopes
@@ -218,35 +189,11 @@ def _bootstrap_config_scopes():
@contextlib.contextmanager
def ensure_bootstrap_configuration():
with spack.architecture.use_platform(spack.architecture.real_platform()):
with spack.repo.use_repositories(spack.paths.packages_path):
with spack.store.use_store(spack.paths.user_bootstrap_store):
# Default configuration scopes excluding command line
# and builtin but accounting for platform specific scopes
config_scopes = _bootstrap_config_scopes()
with spack.config.use_configuration(*config_scopes):
# Default configuration scopes excluding command line and builtin
# but accounting for platform specific scopes
config_scopes = _bootstrap_config_scopes()
with spack.config.use_configuration(*config_scopes):
with spack.repo.use_repositories(spack.paths.packages_path):
with spack.store.use_store(spack.paths.user_bootstrap_store):
with spack_python_interpreter():
yield
def clingo_root_spec():
# Construct the root spec that will be used to bootstrap clingo
spec_str = 'clingo-bootstrap@spack+python'
# Add a proper compiler hint to the root spec. We use GCC for
# everything but MacOS.
if str(spack.architecture.platform()) == 'darwin':
spec_str += ' %apple-clang'
else:
spec_str += ' %gcc'
# Add hint to use frontend operating system on Cray
if str(spack.architecture.platform()) == 'cray':
spec_str += ' os=fe'
# Add the generic target
generic_target = archspec.cpu.host().family
spec_str += ' target={0}'.format(str(generic_target))
tty.debug('[BOOTSTRAP ROOT SPEC] clingo: {0}'.format(spec_str))
return spack.spec.Spec(spec_str)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -149,12 +149,17 @@ def clean_environment():
# can affect how some packages find libraries. We want to make
# sure that builds never pull in unintended external dependencies.
env.unset('LD_LIBRARY_PATH')
env.unset('LIBRARY_PATH')
env.unset('CPATH')
env.unset('LD_RUN_PATH')
env.unset('DYLD_LIBRARY_PATH')
env.unset('DYLD_FALLBACK_LIBRARY_PATH')
# These vars affect how the compiler finds libraries and include dirs.
env.unset('LIBRARY_PATH')
env.unset('CPATH')
env.unset('C_INCLUDE_PATH')
env.unset('CPLUS_INCLUDE_PATH')
env.unset('OBJC_INCLUDE_PATH')
# On Cray "cluster" systems, unset CRAY_LD_LIBRARY_PATH to avoid
# interference with Spack dependencies.
# CNL requires these variables to be set (or at least some of them,
@@ -302,19 +307,6 @@ def set_compiler_environment_variables(pkg, env):
return env
def _place_externals_last(spec_container):
"""
For a (possibly unordered) container of specs, return an ordered list
where all external specs are at the end of the list. External packages
may be installed in merged prefixes with other packages, and so
they should be deprioritized for any search order (i.e. in PATH, or
for a set of -L entries in a compiler invocation).
"""
first = list(x for x in spec_container if not x.external)
second = list(x for x in spec_container if x.external)
return first + second
def set_build_environment_variables(pkg, env, dirty):
"""Ensure a clean install environment when we build packages.
@@ -332,29 +324,6 @@ def set_build_environment_variables(pkg, env, dirty):
link_deps = set(pkg.spec.traverse(root=False, deptype=('link')))
build_link_deps = build_deps | link_deps
rpath_deps = get_rpath_deps(pkg)
# This includes all build dependencies and any other dependencies that
# should be added to PATH (e.g. supporting executables run by build
# dependencies)
build_and_supporting_deps = set()
for build_dep in build_deps:
build_and_supporting_deps.update(build_dep.traverse(deptype='run'))
# Establish an arbitrary but fixed ordering of specs so that resulting
# environment variable values are stable
def _order(specs):
return sorted(specs, key=lambda x: x.name)
# External packages may be installed in a prefix which contains many other
# package installs. To avoid having those installations override
# Spack-installed packages, they are placed at the end of search paths.
# System prefixes are removed entirely later on since they are already
# searched.
build_deps = _place_externals_last(_order(build_deps))
link_deps = _place_externals_last(_order(link_deps))
build_link_deps = _place_externals_last(_order(build_link_deps))
rpath_deps = _place_externals_last(_order(rpath_deps))
build_and_supporting_deps = _place_externals_last(
_order(build_and_supporting_deps))
link_dirs = []
include_dirs = []
@@ -401,10 +370,21 @@ def _order(specs):
env.set(SPACK_INCLUDE_DIRS, ':'.join(include_dirs))
env.set(SPACK_RPATH_DIRS, ':'.join(rpath_dirs))
build_and_supporting_prefixes = filter_system_paths(
x.prefix for x in build_and_supporting_deps)
build_link_prefixes = filter_system_paths(
x.prefix for x in build_link_deps)
build_prefixes = [dep.prefix for dep in build_deps]
build_link_prefixes = [dep.prefix for dep in build_link_deps]
# add run-time dependencies of direct build-time dependencies:
for build_dep in build_deps:
for run_dep in build_dep.traverse(deptype='run'):
build_prefixes.append(run_dep.prefix)
# Filter out system paths: ['/', '/usr', '/usr/local']
# These paths can be introduced into the build when an external package
# is added as a dependency. The problem with these paths is that they often
# contain hundreds of other packages installed in the same directory.
# If these paths come first, they can overshadow Spack installations.
build_prefixes = filter_system_paths(build_prefixes)
build_link_prefixes = filter_system_paths(build_link_prefixes)
# Add dependencies to CMAKE_PREFIX_PATH
env.set_path('CMAKE_PREFIX_PATH', build_link_prefixes)
@@ -419,10 +399,7 @@ def _order(specs):
env.set('SPACK_COMPILER_EXTRA_RPATHS', extra_rpaths)
# Add bin directories from dependencies to the PATH for the build.
# These directories are added to the beginning of the search path, and in
# the order given by 'build_and_supporting_prefixes' (the iteration order
# is reversed because each entry is prepended)
for prefix in reversed(build_and_supporting_prefixes):
for prefix in build_prefixes:
for dirname in ['bin', 'bin64']:
bin_dir = os.path.join(prefix, dirname)
if os.path.isdir(bin_dir):
@@ -440,8 +417,7 @@ def _order(specs):
# directory. Add that to the path too.
env_paths = []
compiler_specific = os.path.join(
spack.paths.build_env_path,
os.path.dirname(pkg.compiler.link_paths['cc']))
spack.paths.build_env_path, os.path.dirname(pkg.compiler.link_paths['cc']))
for item in [spack.paths.build_env_path, compiler_specific]:
env_paths.append(item)
ci = os.path.join(item, 'case-insensitive')
@@ -467,7 +443,7 @@ def _order(specs):
env.set(SPACK_CCACHE_BINARY, ccache)
# Add any pkgconfig directories to PKG_CONFIG_PATH
for prefix in reversed(build_link_prefixes):
for prefix in build_link_prefixes:
for directory in ('lib', 'lib64', 'share'):
pcdir = os.path.join(prefix, directory, 'pkgconfig')
if os.path.isdir(pcdir):

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -8,6 +8,7 @@
import os.path
from subprocess import PIPE
from subprocess import check_call
from typing import List # novm
import llnl.util.tty as tty
import llnl.util.filesystem as fs
@@ -61,7 +62,7 @@ class AutotoolsPackage(PackageBase):
#: Targets for ``make`` during the :py:meth:`~.AutotoolsPackage.build`
#: phase
build_targets = []
build_targets = [] # type: List[str]
#: Targets for ``make`` during the :py:meth:`~.AutotoolsPackage.install`
#: phase
install_targets = ['install']
@@ -75,7 +76,7 @@ class AutotoolsPackage(PackageBase):
#: Set to true to force the autoreconf step even if configure is present
force_autoreconf = False
#: Options to be passed to autoreconf when using the default implementation
autoreconf_extra_args = []
autoreconf_extra_args = [] # type: List[str]
#: If False deletes all the .la files in the prefix folder
#: after the installation. If True instead it installs them.

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -8,6 +8,7 @@
import os
import platform
import re
from typing import List # novm
import spack.build_environment
from llnl.util.filesystem import working_dir
@@ -74,7 +75,7 @@ class CMakePackage(PackageBase):
#: system base class
build_system_class = 'CMakePackage'
build_targets = []
build_targets = [] # type: List[str]
install_targets = ['install']
build_time_test_callbacks = ['check']

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -815,6 +815,7 @@ def scalapack_libs(self):
# Was supported only up to 2015.
blacs_lib = 'libmkl_blacs'
elif ('^mpich@2:' in spec_root or
'^cray-mpich' in spec_root or
'^mvapich2' in spec_root or
'^intel-mpi' in spec_root or
'^intel-parallel-studio' in spec_root):

View File

@@ -1,10 +1,11 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import inspect
from typing import List # novm
import llnl.util.tty as tty
from llnl.util.filesystem import working_dir
@@ -48,7 +49,7 @@ class MakefilePackage(PackageBase):
#: Targets for ``make`` during the :py:meth:`~.MakefilePackage.build`
#: phase
build_targets = []
build_targets = [] # type: List[str]
#: Targets for ``make`` during the :py:meth:`~.MakefilePackage.install`
#: phase
install_targets = ['install']

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

Some files were not shown because too many files have changed in this diff Show More