Commit graph

14066 commits

Author SHA1 Message Date
Themos Tsikas
ba25bb3050
NAG Compiler 6.2 (Build 6252) download checksum (#14750) 2020-02-05 08:02:46 -06:00
Seth R. Johnson
57cc7831bf
qt: fix on Intel (#14748)
Follow up from #14745
2020-02-05 10:23:58 +01:00
Eisuke Kawashima
ffdde40f56
Bump Open Babel to 3 (#14738) 2020-02-04 21:05:19 -06:00
Seth R. Johnson
29a01f488c
Fix QT on Intel (#14745)
- More robustly handle compiler version switching between QT4 and 5, and
  mac/linux, and gcc/intel/clang
- Remove assumption about intel linker being in path
2020-02-04 21:03:47 -06:00
Seth R. Johnson
731148e0e1
Use CMake for libmng package (#14747)
* Convert libmng to use CMake rather than autoconf

The autoconf script failed to recognize the intel compiler; it was
harwired to use gcc.

* Simplify cmake logic and remove unused variant
2020-02-04 19:33:33 -06:00
Seth R. Johnson
52d1f5b839
Remove python patch for inapplicable versions (#14746)
This patch was merged in to upstream python 3.7 and is fixed in 3.7.6.
2020-02-04 19:32:48 -06:00
Christoph Junghans
1974ad4e7f
heffte: initial commit (#14744) 2020-02-04 15:06:03 -07:00
Jennifer Herting
d4d82281d1
[rust] added version 1.41.0 (#14742) 2020-02-04 15:11:36 -06:00
Jennifer Herting
997a0f4207
New version for mariadb and disable dtrace (#14734)
* [mariadb] added version 10.4.8

* [mariadb] disabled dtrace
2020-02-04 15:01:25 -06:00
Rao Garimella
b34e7ad28f
MSTK package: add version 3.3.2 (#14689) 2020-02-04 11:15:45 -08:00
Christoph Junghans
603e2794db
cray-libsci: initial commit (#14709)
* cray-libsci: initial commit
2020-02-04 10:18:20 -07:00
Massimiliano Culpo
1bbe0a1f74
abinit: fix dependency on fftw (#14739)
fixes #14578

Abinit's recipe requires double precision FFTW libraries
2020-02-04 15:29:21 +01:00
Dr. Christian Tacke
0ec9377852
pythia8: added old versions, build depend on rsync (#14740) 2020-02-04 15:27:57 +01:00
Nicolas Richart
19ff3c0f67
akantu: new package at v3.0.0 (#14685) 2020-02-04 11:04:59 +01:00
Andrew W Elble
4accc78409
Git fetching: add option to remove submodules (#14370)
Add an optional 'submodules_delete' field to Git versions in Spack
packages that allows them to remove specific submodules.

For example: the nervanagpu submodule has become unavailable for the
PyTorch project (see issue 19457 at
https://github.com/pytorch/pytorch/issues/). Removing this submodule
allows 0.4.1 to build.
2020-02-03 19:02:45 -08:00
Rob Latham
7d444f08e7
update pmdk to 1.8 (#14733)
new upstream release
- notable in that it has experimental powerpc-le support (e.g. summit)
- required a new patch to disable documentation
2020-02-03 19:15:52 -06:00
Massimiliano Culpo
42633b0869
octave: mkoctfile doesn't use compiler wrappers (#14726)
* Octave: moved the short description in its own paragraph

* Octave: patch mkoctfile.in.cc to avoid using compiler wrappers

* Added a check to ensure mkoctfile works correctly
2020-02-03 15:08:44 -06:00
Adam J. Stewart
74c8f25826
Add new versions of matplotlib (#14731) 2020-02-03 15:07:12 -06:00
Patrick Gartung
5ad44477b2
buildcache list: restore original behavior of allowing constraints like @version. (#14732) 2020-02-03 13:40:14 -06:00
albestro
94971d519c
Fix CMake and update libarchive (#14684)
* update libarchive and fix version of libarchive cmake dependency

* (at least) libarchive 3.3.3 dependency from cmake 3.15.0

* cmake depends on libarchive 3.1.0 if not specified differently

currently it is applied to cmake <3.15.0

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-03 11:26:38 -05:00
Andrew W Elble
30dd7ae176
clingo: new versions (#14728)
5.3.0 and 5.4.0
2020-02-03 07:58:34 -06:00
Jean-Paul Pelteret
dcaa50c9d0
deal.II: Add patch for TBB version check (#14724) 2020-02-03 13:04:12 +01:00
Mark W. Krentel
3d9787a8bf
hpcviewer: add version 2020.01 (#14718) 2020-02-02 09:26:21 -06:00
Jean-Paul Pelteret
44f60f9fec
Update package: SymEngine 0.5.0 (#14722) 2020-02-02 09:25:51 -06:00
Adam J. Stewart
0c0aba579a
octave: add maintainer (#14716) 2020-02-01 19:46:35 -06:00
Patrick Gartung
ab36008635
binary_distribution: Initialize _cached_specs at the module level and only search the mirrors in get_spec if spec is not in _cached_specs. (#14714)
* Initialize _cached_specs at the file level and check for spec in it before searching mirrors in try_download_spec.

* Make _cached_specs a set to avoid duplicates

* Fix packaging test

* Ignore build_cache in stage when spec.yaml files are downloaded.
2020-01-31 20:08:47 -06:00
Tim Haines
412c336113
boost: Add versions 1.71.0 and 1.72.0, use Clang toolset on Darwin (#14678)
* boost: Add versions 1.71.0 and 1.72.0

* Remove 'darwin' target

* Add hainest as maintainer
2020-01-31 17:56:40 -06:00
Kelly (KT) Thompson
0c9ac8d8d1
draco: update versions (#14690)
* draco: update versions

+ Added versions 7.3.0 and 7.4.0.
+ Change several variants to be default TRUE since most consumers need these
  variants enabled (eospac, lapack, parmetis, superlu-dist). Change variant name
  for `+superlu_dist` to use hyphen instead of underscore.  This makes the
  variant name consistent with the spackage name for `superlu-dist`.
+ Clean up `depends_on` instructions and avoid specifying `type` when possible.
+ Provide patch files that are necessary for some machines (mostly Cray
  machines).

* Remove trailing whitespace.

* Revert variant name to use underscore.

* add maintainer information.
2020-01-31 14:03:54 -06:00
Themos Tsikas
04e6fd60f3
NAG Fortran Compiler, 6.0 dropped (unavailable), 7.0 added (#14691)
* NAG Fortran Compiler, 6.0 dropped (unavailable), 7.0 added

* Update package.py

* Update package.py
2020-01-31 14:03:31 -06:00
Dr. Christian Tacke
6f4c90378a
[libfabric@1.9.0] Fix C++ header usage (#14703)
Fix from libfabric's git for 1.9.0.

Compiling C++ software against libfabric@1.9.0 doesn't work
without this patch.

See: 2e95b0efd8
2020-01-31 14:01:58 -06:00
Matthieu Dorier
b7ee2d02e4
Fixed DIY package missing MPI dependency (#14704) 2020-01-31 14:01:17 -06:00
Todd Gamblin
c029c8ff89 spack -V is now more descriptive for dev branches
`spack -V` previously always returned the version of spack from
`spack.spack_version`.  This gives us a general idea of what version
users are on, but if they're on `develop` or on some branch, we have to
ask more questions.

This PR makes `spack -V` check whether this instance of Spack is a git
repository, and if it is, it appends useful information from `git
describe --tags` to the version.  Specifically, it adds:

  - number of commits since the last release tag
  - abbreviated (but unique) commit hash

So, if you're on `develop` you might get something like this:

    $ spack -V
    0.13.3-912-3519a1762

This means you're on commit 3519a1762, which is 912 commits ahead of
the 0.13.3 release.

If you are on a release branch, or if you are using a tarball of Spack,
you'll get the usual `spack.spack_version`:

    $ spack -V
    0.13.3

This should help when asking users what version they are on, since a lot
of people use the `develop` branch.
2020-01-31 20:59:21 +01:00
Christoph Junghans
d83309493f
superlu-dist: enforce OpenMP=OFF (#14708) 2020-01-31 13:35:46 -06:00
Christoph Junghans
47ee690076
portage: fix compile on icc (#14707) 2020-01-31 13:35:20 -06:00
Adam J. Stewart
09e318fc84
Document how to use Spack to replace Homebrew/Conda (#13083)
* Document how to use Spack to replace Homebrew/Conda
* Initial draft; can iterate more as features become available
2020-01-31 19:31:14 +01:00
Massimiliano Culpo
9635ff3d20
spack containerize generates containers from envs (#14202)
This PR adds a new command to Spack:
```console
$ spack containerize -h
usage: spack containerize [-h] [--config CONFIG]

creates recipes to build images for different container runtimes

optional arguments:
  -h, --help       show this help message and exit
  --config CONFIG  configuration for the container recipe that will be generated
```
which takes an environment with an additional `container` section:
```yaml
spack:
  specs:
  - gromacs build_type=Release 
  - mpich
  - fftw precision=float
  packages:
    all:
      target: [broadwell]

  container:
    # Select the format of the recipe e.g. docker,
    # singularity or anything else that is currently supported
    format: docker
    
    # Select from a valid list of images
    base:
      image: "ubuntu:18.04"
      spack: prerelease

    # Additional system packages that are needed at runtime
    os_packages:
    - libgomp1
```
and turns it into a `Dockerfile` or a Singularity definition file, for instance:
```Dockerfile
# Build stage with Spack pre-installed and ready to be used
FROM spack/ubuntu-bionic:prerelease as builder

# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&&  (echo "spack:" \
&&   echo "  specs:" \
&&   echo "  - gromacs build_type=Release" \
&&   echo "  - mpich" \
&&   echo "  - fftw precision=float" \
&&   echo "  packages:" \
&&   echo "    all:" \
&&   echo "      target:" \
&&   echo "      - broadwell" \
&&   echo "  config:" \
&&   echo "    install_tree: /opt/software" \
&&   echo "  concretization: together" \
&&   echo "  view: /opt/view") > /opt/spack-environment/spack.yaml

# Install the software, remove unecessary deps and strip executables
RUN cd /opt/spack-environment && spack install && spack autoremove -y
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
    xargs file -i | \
    grep 'charset=binary' | \
    grep 'x-executable\|x-archive\|x-sharedlib' | \
    awk -F: '{print $1}' | xargs strip -s


# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
    spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh

# Bare OS image to run the installed executables
FROM ubuntu:18.04

COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh

RUN apt-get -yqq update && apt-get -yqq upgrade                                   \
 && apt-get -yqq install libgomp1 \
 && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
```
2020-01-30 17:19:55 -08:00
Patrick Gartung
ed501eaab2
Bypass build_cache/index.html read when trying to download spec.yaml for concretized spec. (#14698)
* Add binary_distribution::get_spec which takes concretized spec
Add binary_distribution::try_download_specs for downloading of spec.yaml files to cache
get_spec is used by package::try_install_from_binary_cache to download only the spec.yaml
for the concretized spec if it exists.
2020-01-30 16:06:50 -06:00
Patrick Gartung
12a99f4a2d
Use non-mutable default for names in binary_distribution::get_specs call (#14696)
* Use non-mutable default for names

* Make suggested change
2020-01-30 15:17:55 -06:00
Andrew W Elble
b072caadec
fix: py-pillow build_ext vs. install (#14666)
Previously, the install stage would compile in things that were
disabled during the build_ext phase. This would also result in the
build pulling in locally installed versions of libraries that were
disabled. The install process doesn't honor the same command-line
flags that build_ext does, but does call build_ext again. Avoid the
whole issue by just writing the options to setup.cfg

Also, add the Imagemagick dependency for tests.
2020-01-30 14:42:48 -06:00
Peter Scheibel
7b2895109c
Document how to add conditional dependencies (#14694)
* add short docs section on conditional dependencies
* add reference to spec syntax
* add note that conditional dependencies can save time
2020-01-30 12:34:54 -08:00
Peter Scheibel
b2adcdb389
Bugfix: put environment lock in the right place (#14692)
Locate the environment lock in the hidden environment directory
rather than the root of the environment.
2020-01-30 11:13:36 -08:00
Massimiliano Culpo
1e0408d05a
Updated docstring and version of lmod to v8.3 (#14687) 2020-01-30 12:33:16 -06:00
Adam J. Stewart
ee35d949f9
Add GDAL 3.0.4 (#14688) 2020-01-30 12:08:47 -06:00
Patrick Gartung
23a7feb917
Limit the number of spec files downloaded to find matches for buildcaches (#14659)
* Limit the number of spec flies downloaded to find matches
2020-01-30 10:56:10 -06:00
Jennifer Herting
a5b2347cfe
[py-joblib] added version 0.11 (#14672) 2020-01-30 02:27:04 -08:00
Jennifer Herting
23a759cda0
[r-manipulatewidget] added versions (#14674) 2020-01-30 02:26:48 -08:00
Jennifer Herting
39035e4517
[r-rgl] added version 0.100.19 (#14675) 2020-01-30 02:26:24 -08:00
Todd Gamblin
3519a17624 specs: avoid traversing specs when parsing
The Spec parser currently calls `spec.traverse()` after every parse, in
order to set the platform if it's not set.  We don't need to do a full
traverse -- we can just check the platforrm as new specs are parsed.

This takes about a second off the time required to import all packages in
Spack (from 8s to 7s).

- [x] simplify platform-setting logic in `SpecParser`.
2020-01-29 21:15:58 -08:00
Todd Gamblin
a2f8a2321d repo: avoid unnecessary spec parsing in filename_for_package_name()
`filename_for_package_name()` and `dirname_for_package_name()`
automatically construct a Spec from their arguments, which adds a fair
amount of overhead to importing lots of packages.  Removing this removes
about 11% of the runtime of importing all packages in Spack (9s -> 8s).

- [x] `filename_for_package_name()` and `dirname_for_package_name()` now
  take a string `pkg_name` arguments instead of specs.
2020-01-29 21:15:58 -08:00
Peter Scheibel
85ef1be780
environments: synchronize read and uninstall (#14676)
* `Environment.__init__` is now synchronized with all writing operations
* `spack uninstall` now synchronizes its updates to any associated environment
  * A side effect of this is that the environment is no longer updated piecemeal as specs are uninstalled - all specs are removed from the environment before they are uninstalled
2020-01-29 17:22:44 -08:00