Commit graph

8677 commits

Author SHA1 Message Date
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
Adam J. Stewart
3c0c0f3457 binutils should link to Spack zlib installation (#3914) 2017-04-19 21:29:27 -07:00
Adam J. Stewart
f51af42bc6 Add latest version of HOOMD-blue (#3889) 2017-04-19 21:24:32 -07:00
Adam J. Stewart
f4858cb7a7 Rework Spack's Mercurial support (#3834)
* Add tests to mercurial package

* Add support for --insecure with mercurial fetching

* Install man pages and tab-completion scripts

* Add tests and latest version for all deps

* Flake8 fix

* Use certifi module to find CA certificate

* Flake8 fix

* Unset PYTHONPATH when running hg

* svn_fetch should use to svn-test, not hg-test

* Drop Python 3 support in Mercurial

Python 3 support is a work in progress and isn't currently
recommended:

https://www.mercurial-scm.org/wiki/SupportedPythonVersions

* Test both secure and insecure hg fetching

* Test both secure and insecure git and svn fetching
2017-04-19 18:59:04 -07:00
Jimmy Tang
53763f7698 Sox (#3908)
* Initial add of flac

* Initial add of id3lib

* Initial add of the opus codec

* Initial add of sox audio processing tools

* Cleanup spec files to be inline with current standard

* Fix pep8 compliance

* Remove un-needed configuration
2017-04-19 16:21:13 -05:00
George Hartzell
a3dff31b07 Add info for sqlite@3.18.0 (#3913) 2017-04-19 16:15:21 -05:00
Mark Olesen
22a966d010 add lines missed in rebase (adios +bzip2) (#3907) 2017-04-19 09:36:46 -05:00
Milton Woods
9b6b91b0b9 ncl: capture more dependencies (#3902)
* ncl: add depends_on statements for bison, flex and libiconv

* ncl: depends on flex for building and linking

* ncl: links with -ll, so requires flex with variant '+lex'

* ncl: depends on szip; external hdf5 may not provide it
2017-04-19 06:55:22 -05:00
Milton Woods
b00a12565c pango: depends on libxft when +X, disable libxft support when ~X (#3899) 2017-04-19 06:54:06 -05:00
George Hartzell
13fef18244 Ensure sbin is prepended to PATH in modulefiles (#3843) 2017-04-19 06:51:04 -05:00
Denis Davydov
eaefaaba5b espresso: add 6.1.0 (#3881)
* espresso: fix missing dependency on elpa, add 6.1.0

* override default libs of elpa to get shared always
2017-04-19 12:34:42 +02:00
Milton Woods
13911f1b46 gdbm: GNU dbm package for manipulating hashed databases (#3895) 2017-04-19 09:32:00 +02:00