Commit graph

6338 commits

Author SHA1 Message Date
Todd Gamblin
3e508884fa spack flake8 should exempt line-wrapped directives (#3990)
- Omit final paren from regular expressions in cmd/flake8.py
- Allows long directives to be exempted even if they are wrapped.
2017-04-25 12:58:24 -07:00
Massimiliano Culpo
fc9896ed45 hooks take spec as an argument (instead of pkg) (#3967) 2017-04-25 12:54:53 -07:00
Adam J. Stewart
58f2a947db Properly ignore flake8 F811 redefinition errors (#3932)
* Properly ignore flake8 F811 redefinition errors
* Add unit tests for flake8 command
* Allow spack flake8 to work on systems with older git
* Skip flake8 unit tests for Python 2.6 and 3.3
2017-04-25 11:01:25 -07:00
Adam J. Stewart
827ebe280d Add latest version of NCO (#3978) 2017-04-25 12:10:55 -05:00
Adam J. Stewart
18dd9c0860 Add patch to gettext to fix parallel make check (#3981) 2017-04-25 12:10:35 -05:00
Christoph Junghans
54bfa888b9 legion: add mpi interoperability and shared libs (#3959)
* legion: add mpi inoperability

* legion: make +mpi the default

* legion: add shared variant
2017-04-25 12:06:05 -05:00
健美猫
dd5f4cb251 A new package: CNTK. (#3578) 2017-04-25 06:40:23 -05:00
serbanmaerean
eef7d17946 Add global arrays package (#3970)
* Added magma package

* Incorporated Serban's change

* globalarrays: add global arrays package to Spack.

* globalarray: remove extreaneous comment from package file
2017-04-24 16:04:40 -07:00
Todd Gamblin
99a8297add Rename tutorial_sc16.rst to tutorial.rst (#3974)
- make the name more generic for posterity.
2017-04-24 15:25:41 -07:00
Brian Van Essen
00fdbe81bc Caffe (#3948)
* Added a package for the MDAnalysis toolkit.

* Added the hash for the 1.0 release of caffe and put in a conflict
statemet indicating that protobuf requires a c++11 compiler.

* Changed minimum version number.

* Tweaked the minimum version number.

* Fixed flake8 error.
2017-04-24 13:32:27 -05:00
Adam J. Stewart
c144c88302 Use six.moves.input instead of raw_input (#3961)
* Use six.moves.input instead of raw_input

* Remove comment mentioning raw_input
2017-04-23 10:32:08 -05:00
Gregory Lee
67bf71630b Do not require license for new Intel libraries (#3931)
* new Intel libs do not require license to install

* updated Intel library package URLs

* disable license_required for new Intel libraries
2017-04-23 08:58:47 -05:00
Milton Woods
b2155a5682 Update ECWMF packages: grib-api, libemos and magics (#3901)
* grib-api: add version 1.21.0

* libemos: add version 4.4.7 and allow choice of eccodes or grib-api

* magics: add version 2.32.0

* libemos: add description for eccodes variant
2017-04-23 07:56:47 -05:00
Milton Woods
980ffcdcec eccodes: new package for encoding and decoding meteorological data (#3900)
* eccodes: new package for encoding and decoding meteorological data

* eccodes: remove line breaks from package docstring

* eccodes: simplify names of variants

* eccodes: give a description for each variant

* eccodes: use succinct code for cmake_args

* eccodes: found extra dependency for python variant

* eccodes: add URL for a list of available releases
2017-04-23 07:55:51 -05:00
Massimiliano Culpo
3b52d0a883 External packages are now registered in the DB (#1167)
* treats correctly a change from `explicit=False` to `explicit=True` in an external package DB entry.
* added unit tests
* fixed issues raised by @tgamblin . In particular the PR is no more hash-changing for packages that are not external.
* added a test to check correctness of a spec/yaml round-trip for things that involve an external
* Don't find external module path at each step of concretization
    * it's not necessary.. The paths are retrieved at the end of concretizaion
* Don't find replacements for external packages.
* Test root of the DAG if external
    * No reason not to test if the root of the DAG is external when external
packages are now first class citizens!
* Create `external` property for Spec (for external_path and external_module)
* Allow users to specify external package paths relative to spack
    * Canonicalize external package paths so that users may specify their
locations relative to spack's directory.
* Update tests to use new external_path and external properly.
* skip license hooks on external
2017-04-22 18:06:27 -07:00
Adam J. Stewart
4e17ae911b Hack to fix python dependency ranges (#3938)
* Hack to fix python dependency ranges

* Flake8
2017-04-22 17:31:50 -05:00
Adam J. Stewart
fc8106afe3 Find more versions from GitHub (#3952) 2017-04-22 17:31:22 -05:00
George Hartzell
281ba99460 Add version info for emacs@25.2 (#3957) 2017-04-22 16:01:17 -05:00
Denis Davydov
94a0cca080 add Intel mpi package and add MPI wrappers to Intel parallel studio (#3905)
* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
2017-04-22 07:30:51 -05:00
Matthew Krafczyk
16a7b27a9e more fixes for use of setuptools in python packages
- py-setuptools is required by py-yt for importing yt in jupyter notebooks.
- add two dependencies needed for python 2.7
- add the py-subprocess32 package
2017-04-21 23:35:02 -07:00
Paul Hopkins
8b92908ab4 Fix setuptools handling in Python packages.
- add setuptools dependencies to packages that need it.
- remove setuptools from packages that do not need it.
2017-04-21 23:35:02 -07:00
Todd Gamblin
9f0b94b4e1 PythonPackage builds flat installs instead of egg directories.
- Spack doesn't need eggs -- it manages its own directories

- Simplify install layout and reduce sys.path searches by installing all
  packages flat (eggs are deprecated for wheels, and this is also what
  wheels do).

- We now supply the --single-version-externally-managed argument to
  `setup.py install` for setuptools packages and setuptools.

- modify packages to only use setuptools args if setuptools is an
  immediate dependency

- Remove setuptools from packages that do not need it.

  - Some packages use setuptools *only* when certain args (likeb
    'develop' or 'bdist') are supplied to setup.py, and they specifically
    do not use setuptools for installation.

  - Spack never calls setup.py this way, so just removing the setuptools
    dependency works for these packages.
2017-04-21 23:35:02 -07:00
Christoph Junghans
0b002c2911 fetch git submodules recursively (#3779)
* fetch git submodules recursively

This is useful if the submodules have submodules themselves. On
the other hand doing a recursive update doesn't hurt if there
is only one level.

* fetch submodules with depth=1 as well (fix #2190)

* use git submodule with depth only for git>=1.8.4
2017-04-21 21:59:30 -07:00
Todd Gamblin
4572685710 Coverage for multiple Python versions. (#3951)
Update tests to use codecov for multiple python versions.
2017-04-21 17:41:30 -07:00
Todd Gamblin
ead58cbb90 spack uninstall no longer requires a known package. (#3915)
- Spack install would previously fail if it could not load a package for
  the thing being uninstalled.

- This reworks uninstall to handle cases where the package is no longer
  known, e.g.:
    a) the package has been renamed or is no longer in Spack
    b) the repository the package came from is no longer registered in
       repos.yaml
2017-04-21 16:52:44 -07:00
Adam J. Stewart
2a04fdca52 Convert LLVM to CMakePackage, update cmake dependency version (#3940)
* Convert LLVM to CMakePackage, update cmake dependency version

* Remove unused import
2017-04-21 18:38:07 -05:00
George Hartzell
a90e34f4ca Add info for nextflow@0.17.3 (#3947) 2017-04-21 18:28:13 -05:00
Todd Gamblin
c67f8e4aa1 Fix ABI detection issues with macOS gcc. (#3854)
- gcc on macOS says it's version 4.2.1, but it's really clang, and it's
  actually the *same* clang as the system clang.

- It also doesn't respond with a full path when called with
  --print-file-name=libstdc++.dylib, which is expected from gcc in abi.py.
  Instead, it gives a relative path and _gcc_compiler_compare doesn't
  understand what to do with it.  This results in errors like:

  ```
  lib/spack/spack/abi.py, line 71, in _gcc_get_libstdcxx_version
      libpath = os.readlink(output.strip())
  OSError: [Errno 2] No such file or directory: 'libstdc++.dylib'
  ```

- This commit does two things:

  1. Ignore any gcc that's actually clang in abi.py.  We can probably do
     better than this, but it's not clear there is a need to, since we
     should handle the compiler as clang, not gcc.

  2. Don't auto-detect any "gcc" that is actually clang anymore.  Ignore
     it and expect people to use clang (which is the default macOS
     compiler anyway).

Users can still add fake gccs to their compilers.yaml if they want, but
it's discouraged.
2017-04-21 15:45:12 -07:00
Todd Gamblin
63c3410370 Fix checksumming in Python3; add more fetch tests (#3941)
* Checksum code wasn't opening binary files as binary.

- Fixes Python 3 issue where files are opened as unicode text by default,
  and decoding fails for binary blobs.

* Simplify fetch test parametrization.

* - add tests for URL fetching and checksumming.
- fix coverage on interface functions in FetchStrategy superclass
- add some extra crypto tests.
2017-04-21 15:36:15 -07:00
Todd Gamblin
c0356182b6 Remove all test variants (#3923) 2017-04-21 15:18:56 -07:00
Denis Davydov
6017a6a6fe netcdf: fix missing CC = mpicc ; this makes it work with Intel MPI (#3942) 2017-04-21 14:43:27 -07:00
Jeffrey Salmond
a2135dff49 add cppcheck new version (#3935) 2017-04-21 12:54:27 -05:00
Adam J. Stewart
46d0ca9d01 Ensure that tests are optional (#3922) 2017-04-21 12:15:39 -05:00
Adam J. Stewart
5250e8ee89 Fix HPL build, convert to MakefilePackage (#3777)
* Fix HPL build, convert to MakefilePackage

* Flake8 fix

* Fix: spec -> self.spec

* Properly query for system libraries

* Update Intel-MKL as well

* Recurse in system libs, fix MKL path, fixes lapack_libs
2017-04-21 12:11:29 -05:00
Javier
41efada340 Adding new python package: py-python-gitlab (#3936) 2017-04-21 11:47:52 -05:00
Jimmy Tang
f86ed1e34d Fix for llvm 4.0.0 on centos (#3904)
* Fix for llvm 4.0.0 on centos

This addresses https://github.com/LLNL/spack/issues/3791

* Only enable this option if on linux

* Change condition to satisfy standard
2017-04-21 11:29:41 -05:00
Bruno Turcksin
a017c5e2ef Add boost 1.64.0 (#3934) 2017-04-21 10:06:31 -05:00
Brian Van Essen
011442fd37 Keras 2.0.3 (#3927)
* Added a package for the MDAnalysis toolkit.

* Added has for Keras version 2.0.3
2017-04-20 17:48:30 -05:00
Michael Kuhn
f520c0dd8d Add vampirtrace (#3911)
Since scorep does not support all use cases yet, vampirtrace is still
useful in some circumstances.
2017-04-20 15:01:06 -05:00
Adam J. Stewart
e2e6dea9b3 Gettext test suite fails when run in parallel (#3921) 2017-04-20 13:06:11 -05:00
Adam J. Stewart
f0a6ead19c Flake8 2017-04-20 12:48:02 -05:00
Adam J. Stewart
9ca0d1f5f0 Remove all test variants 2017-04-20 12:13:11 -05:00
Adam J. Stewart
21e4a81de0 Add Napoleon extension to support Google docstrings (#3920) 2017-04-20 08:32:21 -07:00
Todd Gamblin
beeca6bb54 Revert "Override partial installs by default" (#3918)
* Revert "Override partial installs by default (#3530)"

This reverts commit a65c37f15d.
2017-04-20 03:53:41 -07:00
Todd Gamblin
fa3e91bf2a Revert "Add lmod files to MODULEPATH" (#3917)
* Revert "Add lmod files to MODULEPATH (#3912)"

This reverts commit 186d1f4511.
2017-04-20 03:05:44 -07:00
Massimiliano Culpo
50d7b33563 test/python_version.py: ported to pytest (#3438) 2017-04-20 01:18:52 -07:00
scheibelp
a65c37f15d Override partial installs by default (#3530)
* Package install remove prior unfinished installs

Depending on how spack is terminated in the middle of building a
package it may leave a partially installed package in the install
prefix. Originally Spack treated the package as being installed if
the prefix was present, in which case the user would have to
manually remove the installation prefix before restarting an
install. This commit adds a more thorough check to ensure that a
package is actually installed. If the installation prefix is present
but Spack determines that the install did not complete, it removes
the installation prefix and starts a new install; if the user has
enabled --keep-prefix, then Spack reverts to its old behavior.

* Added test for partial install handling

* Added test for restoring DB

* Style fixes

* Restoring 2.6 compatibility

* Relocated repair logic to separate function

* If --keep-prefix is set, package installs will continue an install from an existing prefix if one is present

* check metadata consistency when continuing partial install

* Added --force option to make spack reinstall a package (and all dependencies) from scratch

* Updated bash completion; removed '-f' shorthand for '--force' for install command

* dont use multiple write modes for completion file
2017-04-19 21:59:18 -07:00
Adam J. Stewart
e12f2c1855 Set proper deptypes for certain build systems (#3866)
* Set proper deptypes for certain build systems

* Add depends_on to namespace
2017-04-19 21:33:14 -07:00
Adam J. Stewart
9bd6d21322 Add variant to mvapich2 to set size of rank bits (#3886) 2017-04-19 21:31:21 -07:00
Adam J. Stewart
186d1f4511 Add lmod files to MODULEPATH (#3912) 2017-04-19 21:30:08 -07:00