Commit graph

13709 commits

Author SHA1 Message Date
Michael Kuhn
be3482de09 ncl: Add missing fontconfig dependency (#14411)
Moreover, cairo needs to have its freetype variant enabled.
2020-01-07 10:55:34 -06:00
Michael Kuhn
a5ae5aca36 gdal: Fix libgeotiff dependency (#14410)
gdal@2.4.3 is missing the libgeotiff dependency.
2020-01-07 10:55:01 -06:00
Massimiliano Culpo
08d0267c9a Spack can automatically remove unused specs (#13534)
* Spack can uninstall unused specs

fixes #4382

Added an option to spack uninstall that removes all unused specs i.e.
build dependencies or transitive dependencies that are left
in the store after the specs that pulled them in have been removed.

* Moved the functionality to its own command

The command has been named 'spack autoremove' to follow the naming used
for the same functionality by other widely known package managers i.e.
yum and apt.

* Speed-up autoremoving specs by not locking and re-reading the scratch DB

* Make autoremove work directly on Spack's store

* Added unit tests for the new command

* Display a terser output to the user

* Renamed the "autoremove" command "gc"

Following discussion there's more consensus around
the latter name.

* Preserve root specs in env contexts

* Instead of preserving specs, restrict gc to the active environment

* Added docs

* Added a unit test for gc within an environment

* Updated copyright to 2020

* Updated documentation according to review

Rephrased a couple of sentences, added references to
`spack find` and dependency types.

* Updated function naming and docstrings

* Simplified computation of unused specs

Since the new approach uses private attributes of the DB
it has been coded as a method of that class rather than a
freestanding function.
2020-01-07 08:16:54 -08:00
Adam J. Stewart
eddb42ed43
Fix outdated bash tab completion (#14392) 2020-01-06 23:18:14 -06:00
Adam J. Stewart
d2ed01a12c
Add py-numpy 1.18.1 (#14406) 2020-01-06 17:48:27 -06:00
Justin S
e49a5adf04 r-snpstats: new package at 1.34.0 (#14404) 2020-01-06 16:21:38 -06:00
Justin S
e04a9031b0 r-genetics: new package at 1.3.8.1.2 (#14403) 2020-01-06 16:20:34 -06:00
Thom Troy
0950f5ffa3 Add updated kaldi and openfst (#14398)
* add openfst v1.6.7 and kaldi from 2019-09-29

* revert openfst package version in url
2020-01-06 16:19:42 -06:00
George Hartzell
37b11d0468 Add singularity@3.5.2 (#14401) 2020-01-06 16:12:50 -06:00
darmac
f3c0d23a3c Fastdfs (#14378)
* add new package : fastdfs

* refine install()

* remove redundant fastdfs/fastdfs/package.py

* fix install() error
2020-01-06 16:12:08 -06:00
Justin S
627fd1949d py-ujson: new package at 1.35 (#14279)
* py-ujson: new package at 1.35

* py-ujson: use PyPI mirror, add missing deps

* py-ujson: use short PyPI url
2020-01-06 15:53:26 -06:00
Seth R. Johnson
47750c8800 Fix QT on Linux+clang (#13684)
* Add platform flag to QT for linux+clang

* Extend QT platform support to more compilers and systems

* Unify QT5 configure options

* fixup! Unify QT5 configure options

* fixup! Unify QT5 configure options

* fixup! Unify QT5 configure options

* Fix newer flake8 and mac qt5 configure
2020-01-06 15:47:16 -06:00
Erik Schnetter
7cde359eb8 Nsimd: New package (#14226)
* Nsimd: New package

* Various cleanups as suggested during review
2020-01-06 15:40:58 -06:00
Adam J. Stewart
adffa45264 Reference spack help --spec in spack spec --help 2020-01-06 00:20:19 -08:00
asmaahassan90
c0672eb641 Add py-thirdorder recipe (#12791)
* Add Thirdorder recipe

* Remove white spaces

* Converting recipe to a PythonPackage base class

* remove trailing spaces

* remove line at end of file

* enhance recipe as per reviewer

* fix post_install as requested by reviewer

* rename dir to py-thirderorder

* change checksum to sha256
2020-01-05 12:28:10 -06:00
Adam J. Stewart
f7f4d1a02e
Overhaul py-pillow package (#14385)
* Overhaul py-pillow package

* Fix bug where zlib and jpeg were always disabled
2020-01-04 22:49:39 -06:00
Adam J. Stewart
f0532e27da
libwebp: CMakePackage -> AutotoolsPackage (#14384) 2020-01-04 22:48:45 -06:00
Glenn Johnson
8c8f3f228c Adjust constraints of gcc-5 (#14388)
This PR adjusts the constraints on isl with GCC-5. GCC-5.1 and GCC-5.2
need isl-0.14, not isl-0.15.
2020-01-04 22:47:06 -06:00
Adam J. Stewart
90f4860402
Add libs property to openjpeg package (#14383) 2020-01-04 16:46:53 -06:00
Adam J. Stewart
4d85979ec4
Add libs property to lcms package (#14382) 2020-01-04 16:46:40 -06:00
Adam J. Stewart
378016d350
py-torchvision 0.4.X does not support py-pillow 7.X.Y (#14381) 2020-01-04 14:21:29 -06:00
Xavier Delaruelle
d83d7ce694 environment-modules: add version 4.4.1 (#14379) 2020-01-04 12:56:09 -06:00
darmac
c22329c5e8 add new package : lucene (#14316)
* add new package : lucene

* update lucene version url
2020-01-04 11:34:28 -06:00
darmac
66bb19a593 add new package : kafka (#14315)
* add new package : kafka

* move url_for_version after depens_on()

* refine list_depth for kafka
2020-01-04 11:33:52 -06:00
darmac
c9729aaab7 add new package : tajo (#14314)
* add new package : tajo

* refine list_depth for tajo
2020-01-04 11:33:09 -06:00
Justin S
b9dc263801 py-intervaltree: new package at 3.0.2 (#14277)
* py-intervaltree: new package at 3.0.2

* py-intervaltree: fix checksum

* py-intervaltree: add py-setuptools dep

* py-intervaltree: use inclusive ranges

* py-intervaltree: change py-test dep type
2020-01-03 15:52:59 -06:00
Satish Balay
f7b9592eb9 petsc: add version 3.12.3 (#14374) 2020-01-03 13:35:54 -06:00
xfzhao
100593b83a new package: bref3 (#14256) 2020-01-03 10:22:09 +01:00
Glenn Johnson
729e43ffac Get py-numpy > 1.16 to build with Intel compiler (#14360)
Beginning with numpy > 1.16 when using older versions of gcc the
`std=c99` flag must be used. The Intel compiler depends on gcc for its
language extensions so the version of gcc is important. If the version
of gcc used by the Intel compiler is one that requires the `-std=c99`
flag then that flag will have to be used for a build with the Intel
compiler as well.

This PR tests the version of gcc used by the Intel compiler and will
abort the build if the gcc version is < 4.8 and inject the `-std=c99`
flag if >= 4.8 and < 5.1. This will cover the system gcc compiler and
any gcc environment module loaded at build time.
2020-01-02 19:30:13 -06:00
Sinan
39a09691c5 package/opencv fix mistake in conflict statement involving gcc (#13959)
* fix mistake in conflict

* extend CudaPackage to resolve cuda-gcc conflicts
2020-01-02 19:18:27 -06:00
Jonathan R. Madsen
e46548c3b8 Updated version to include v3.0.1 (#14353)
* Updated version to include v3.0.1

- this patch has a rather critical MT fix

* Update package.py

- Moved 3.0.1 above 3.0.0
2020-01-02 19:17:54 -06:00
Christoph Junghans
70184c6ea2 fix url for mantevo packages (#14366) 2020-01-02 19:17:32 -06:00
Sajid Ali
c3c1cf13e7 RHEL8 bugfix for module_cmd (#14349) 2020-01-02 15:30:11 -06:00
Glenn Johnson
ba0e144b07 Set preferred version of perl-bioperl (#14354)
Due to formatting differences, the older version of perl-bioperl was
getting picked up as the preferred version. This PR explicitly sets the
newer version to be preferred.
2020-01-02 15:29:35 -06:00
Matthieu Dorier
8e70fa52df added verbose variant to mercury package (#14355) 2020-01-02 15:29:18 -06:00
Gilles Gouaillardet
19c1312eb4 gromacs: depend on hwloc v1 (#14343)
Because of a bug in the current concretizer,
spack install gromacs
fails because gromacs depends on hwloc (default is v2), and Open MPI
(the default MPI library) depends on hwloc v1.
As discussed in https://github.com/spack/spack/issues/14339, this
workaround should be removed once the concretizer is fixed

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-01-02 15:16:22 -06:00
Adam J. Stewart
e26f517daf
py-scikit-learn: add 0.22.1 (#14350) 2020-01-02 15:15:49 -06:00
Mike Kiernan
85fc6448f8 osu-micro-benchmarks: added version 5.6.2 (#14352) 2020-01-02 15:15:21 -06:00
Sinan
456aae2627 new package: py-zarr (#14326)
* create package py-zarr

* specify setuptools versions

* add more dependencies, improve style

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

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

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

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

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

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

* add dependencies, remove python version constraint

* remove windows specific dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-02 13:07:48 -06:00
Adam J. Stewart
3f190a432e
MKL: set appropriate CMake env vars (#14274) 2020-01-02 12:41:42 -06:00
Todd Gamblin
6e828206b6 refactor: cleanup imports in spec.py
The imports in `spec.py` are getting to be pretty unwieldy.

- [x] Remove all of the `import from` style imports and replace them with
  `import` or `import as`
- [x] Remove a number names that were exported by `spack.spec` that
  weren't even in `spack.spec`
2020-01-02 08:05:00 -08:00
Todd Gamblin
9ed34f686f bugfix: cdash tests shoudln't modify working directory
The latest cdash test creates a local cdash_reports directory, but it
should do that in a tmpdir.
2020-01-02 00:01:15 -08:00
Todd Gamblin
4beb9fc5d3 tests: improved spack test command line options
Previously, `spack test` automatically passed all of its arguments to
`pytest -k` if no options were provided, and to `pytest` if they were.
`spack test -l` also provided a list of test filenames, but they didn't
really let you completely narrow down which tests you wanted to run.

Instead of trying to do our own weird thing, this passes `spack test`
args directly to `pytest`, and omits the implicit `-k`.  This means we
can now run, e.g.:

```console
$ spack test spec_syntax.py::TestSpecSyntax::test_ambiguous
```

This wasn't possible before, because we'd pass the fully qualified name
to `pytest -k` and get an error.

Because `pytest` doesn't have the greatest ability to list tests, I've
tweaked the `-l`/`--list`, `-L`/`--list-long`, and `-N`/`--list-names`
options to `spack test` so that they help you understand the names
better.  you can combine these options with `-k` or other arguments to do
pretty powerful searches.

This one makes it easy to get a list of names so you can run tests in
different orders (something I find useful for debugging `pytest` issues):

```console
$ spack test --list-names -k "spec and concretize"
cmd/env.py::test_concretize_user_specs_together
concretize.py::TestConcretize::test_conflicts_in_spec
concretize.py::TestConcretize::test_find_spec_children
concretize.py::TestConcretize::test_find_spec_none
concretize.py::TestConcretize::test_find_spec_parents
concretize.py::TestConcretize::test_find_spec_self
concretize.py::TestConcretize::test_find_spec_sibling
concretize.py::TestConcretize::test_no_matching_compiler_specs
concretize.py::TestConcretize::test_simultaneous_concretization_of_specs
spec_dag.py::TestSpecDag::test_concretize_deptypes
spec_dag.py::TestSpecDag::test_copy_concretized
```

You can combine any list option with keywords:

```console
$ spack test --list -k microarchitecture
llnl/util/cpu.py  modules/lmod.py
```

```console
$ spack test --list-long -k microarchitecture
llnl/util/cpu.py::
    test_generic_microarchitecture

modules/lmod.py::TestLmod::
    test_only_generic_microarchitectures_in_root
```

Or just list specific files:

```console
$ spack test --list-long cmd/test.py
cmd/test.py::
    test_list                       test_list_names_with_pytest_arg
    test_list_long                  test_list_with_keywords
    test_list_long_with_pytest_arg  test_list_with_pytest_arg
    test_list_names
```

Hopefully this stuff will help with debugging test issues.

- [x] make `spack test` send args directly to `pytest` instead of trying
  to do fancy things.
- [x] rework `--list`, `--list-long`, and add `--list-names` to make
  searching for tests easier.
- [x] make it possible to mix Spack's list args with `pytest` args
  (they're just fancy parsing around `pytest --collect-only`)
- [x] add docs
- [x] add tests
- [x] update spack completion
2020-01-01 21:37:02 -08:00
Sinan
de73121ebd new package: py-numcodecs (#14330)
* new package: py-numcodecs

* make msgpack variant
2020-01-01 23:09:29 -06:00
Adam J. Stewart
7a97dc3770
py-numpy: add 1.17.5 (#14341) 2020-01-01 15:05:23 -06:00
Todd Gamblin
9192f046d2 tests: rename checks in github actions
I usually want to look at the Travis CI output, but I currently have to
scroll down to see it. This renames checks to be a bit shorter and more
consistent with Travis's naming, and also so that actions appear lower
than travis and codecov in the list of checks.
2019-12-31 17:59:59 -08:00
Glenn Johnson
1ac0c51dad Modify create clue list so R packages are detected (#12277)
R packages can contain configure scripts so R needs to be before
autotools in the clue list.
2019-12-31 16:44:31 -06:00
Todd Gamblin
ffc91bd86e tests: move mock config.yaml files to common directory
Test configuration files (except modules.yaml) were in the root level of
test/data, but should really just be in their own directory.  The absence
of modules.yaml was also breaking module tests if we got module
preferences after tests started, as the mock modules.yaml was not in the
test directory.
2019-12-31 13:48:01 -08:00
Todd Gamblin
3017584c48 config: remove all module-scope calls to spack.config.get()
This avoids parsing modules.yaml on startup.
2019-12-31 13:48:01 -08:00
Todd Gamblin
9cc013cc0f modules: make the module hook more robust
The module hook would previously fail if there were no enabled module types.

- Instead of looking for a `KeyError`, default to empty list when the
  config variable is not present.

- Convert lambdas to real functions for clarity.
2019-12-31 13:48:01 -08:00