Commit graph

7239 commits

Author SHA1 Message Date
Massimiliano Culpo
34d23c617c tests: coverage combine run only if tests succeeded (#2712) 2017-01-01 13:05:33 -08:00
Todd Gamblin
b9ec69dce1 Disallow vdeps in packages.yaml (#2699)
* Consolidate packages.yaml code to preferred_packages

* Add validation check and a test for packages.py parsing.

* flake8
2016-12-31 08:12:38 -08:00
Adam J. Stewart
040f8a7176 Add latest version of gmp (#2695) 2016-12-30 22:53:54 -08:00
Adam J. Stewart
8cb54a9a67 Fix missing debug parameter for parse_version() (#2696) 2016-12-30 22:52:49 -08:00
Todd Gamblin
c88df5819d Fix test command arg handling. 2016-12-30 17:18:19 -08:00
Todd Gamblin
b5537553f2 Run coverage for the spack install command as well as spack test.
- Also don't run coverage on OSX.
2016-12-30 17:18:19 -08:00
Michael Kuhn
a42f340d37 Allow setting default variants (#2644) 2016-12-30 14:11:39 -08:00
Todd Gamblin
d52c44cba9 Add OSX build to .travis.yml. Clean up .travis.yml (#2689)
* Add OSX build to .travis.yml.  Clean up .travis.yml
* Add gcc/gfortran to the mac brew setup.
2016-12-30 13:59:21 -08:00
Todd Gamblin
972a277956 Fix Python issue with build failures; Add test case for build failures. (#2687) 2016-12-30 11:37:50 -08:00
Todd Gamblin
5fbab1f4b5 Concretize preserves deptypes (#2681)
Concretization preserves deptypes
2016-12-29 14:43:59 -08:00
Todd Gamblin
d6390c159f Fix issues related to the switchover to pytest. (#2685)
- Remove stale reference to `import nose` from `bin/spack` script.
- Add `py` to externals (missing dependency for `pytest`)
2016-12-29 11:59:45 -08:00
Massimiliano Culpo
7ea10e768e unit tests: replace nose with pytest (#2502)
* Porting: substitute nose with ytest

This huge commit substitutes nose with pytest as a testing system. Things done here:

* deleted external/nose as it is no longer used
* moved mock resources in their own directory 'test/mock/'
* ported two tests (cmd/find, build_system) to pytest native syntax as an example
* build_environment, log: used monkeypatch instead of try/catch
* moved global mocking of fetch_cache to an auto-used fixture
* moved global mocking from test/__init__.py to conftest.py
* made `spack test` a wrapper around pytest
* run-unit-tests: avoid running python 2.6 tests under coverage to speed them up
* use `pytest --cov` instead of coverage run to cut down testing time

* mock/packages_test: moved mock yaml configuration to files instead of leaving it in the code as string literals

* concretize.py: ported tests to native pytest, reverted multiprocessing in pytest.ini as it was creating the wrong report for coveralls

* conftest.py, fixtures: added docstrings

* concretize_preferences.py: uses fixtures instead of subclassing MockPackagesTest

* directory_layout.py: uses fixtures instead of subclassing MockPackagesTest

* install.py: uses fixtures instead of subclassing MockPackagesTest

* optional_deps.py: uses fixtures instead of subclassing MockPackagesTest

optional_deps.py: uses fixtures instead of subclassing MockPackagesTest

* packages.py: uses fixtures instead of subclassing MockPackagesTest

* provider_index.py: uses fixtures instead of subclassing MockPackagesTest

* spec_yaml.py: uses fixtures instead of subclassing MockPackagesTest

* multimethod.py: uses fixtures instead of subclassing MockPackagesTest

* install.py: now uses mock_archive_url

* git_fetch.py: uses fixtures instead of subclassing MockPackagesTest

* hg_fetch.py: uses fixtures instead of subclassing MockPackagesTest

* svn_fetch.py, mirror.py: uses fixtures instead of subclassing MockPackagesTest
repo.py: deleted

* test_compiler_cmd.py: uses fixtures instead of subclassing MockPackagesTest

* cmd/module.py, cmd/uninstall.py: uses fixtures instead of subclassing MockDatabase

* database.py: uses fixtures instead of subclassing MockDatabase, removed mock/database

* pytest: uncluttering fixture implementations

* database: changing the scope to 'module'

* config.py: uses fixtures instead of subclassing MockPackagesTest

* spec_dag.py, spec_semantics.py: uses fixtures instead of subclassing MockPackagesTest

* stage.py: uses fixtures instead of subclassing MockPackagesTest. Removed mock directory

* pytest: added docstrings to all the fixtures

* pytest: final cleanup

* build_system_guess.py: fixed naming and docstrings as suggested by @scheibelp

* spec_syntax.py: added expected failure on parsing multiple specs closes #1976

* Add pytest and pytest-cov to Spack externals.

* Make `spack flake8` ignore externals.

* run-unit-tests runs spack test and not pytest.

* Remove all the special stuff for `spack test`

- Remove `conftest.py` magic and all the special case stuff in `bin/spack`

- Spack commands can optionally take unknown arguments, if they want to
  handle them.

- `spack test` is now a command like the others.

- `spack test` now just delegates its arguments to `pytest`, but it does
  it by receiving unknown arguments and NOT taking an explicit
  help argument.

* Fix error in fixtures.

* Improve `spack test` command a bit.

- Now supports an approximation of the old simple interface
- Also supports full pytest options if you want them.

* Use external coverage instead of pytest-cov

* Make coverage use parallel-mode.

* change __init__.py docs to include pytest
2016-12-29 07:48:48 -08:00
Elizabeth Fischer
88f57d7543 Allow exclusion of packages from spack module loads (#2667)
* Allow exclusion of packages from `spack module loads`

* Comment out excluded packages instead of not showing them at all.
2016-12-28 13:31:18 -08:00
Massimiliano Culpo
17b13b161b Directive inheritance: laziness for the win (#2623)
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives

* _dep_types -> dependency_types
* using a meta-class to inject directives into packages
* directives are lazy

fixes #2466

* directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin

* directives.py: added a test for simple inheritance of directives

* Minor improvement requested by @tgamblin

CMakePackage: importing names from spack.directives
directives: wrap __new__ to respect pep8

* Refactoring requested by @tgamblin

directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
2016-12-28 12:37:02 -08:00
Thierry
857dac88c8 init yorick package (#2635)
* init yorick package

* attempt at picking up SPACK's compiler choice, todo ~X variant.

* sphinx docstring error ?

* version# tarball, ~X default, docstring fix

* sphinx docstring fix(?)
2016-12-28 10:08:02 -08:00
George Hartzell
18c10f2bad Cleanup post luafilesystem version de-underscoring (#2683)
The upstream luafilesystem tarball/version had a wayward/inconsistent
underscore in their more recent version tag.  The played badly with
our package fetching machinery (due to recent changes?).

Upstream cleaned up their bit which required some touchups here.

- updated the url
- updated the version (digest)
- updated the format statement for the path to the rockspec.
2016-12-27 11:49:53 -08:00
Mayeul d'Avezac
81c1404b9c Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark (#2627)
* Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark

Tinyxml comes in two flavors, 1 and 2. Each comes in several
versions... So they cannot be easily united into a single package.

* Use CMakePackage and friends, add copyright

Also eleminate debug/release variants, since it no longuer fits in the
CMakePackage format.

* Remove unnecessary url

* spdlog now has tagged releases

* Remove unnecessary url argument

* Fewer quotes in cmake args, because magic

* Incorrect base class for tinyxml
2016-12-27 00:32:29 -08:00
Michael Kuhn
baaa613e44 Update wx to 3.1.0 (#2641) 2016-12-27 00:18:26 -08:00
Adam J. Stewart
29bac34c1d Ensure that every file in Spack has a license (#2659)
* Ensure that every package has a license

Also fixes URLs with http://http:// doubled.

This is a continuation of #2656.

* Add license to every file in Spack

* Make sure Todd is the author of all packages

* Fix flake8 tests

* Don't license external Sphinx docs

* Don't display licenses in tutorial example packages

Also fixes typos and converts command-line examples
from tcsh to bash, which is more common
2016-12-27 00:17:12 -08:00
Matthew Scott Krafczyk
3e92ffde7d Update py-cython with new pypi.io url and new version (#2650) 2016-12-25 19:48:11 -08:00
Adam J. Stewart
f34c5367d5 Better tabulation for spack checksum (#2673) 2016-12-25 19:25:53 -08:00
Denis Davydov
91bfebbed8 filter_system_path: additionally filter system prefixes (#2672)
That's because in set_build_environment_variables()
the funciton filter_system_paths() is actually applied to
package prefixes, and not to prefix/lib or prefix/include.
2016-12-25 19:24:56 -08:00
Bruno Turcksin
e16908b16b Add 64 bit variant to dealii. (#2654) 2016-12-25 18:55:14 -08:00
Adam J. Stewart
b240fdb2b9 Add latest version of Python 2 (#2668) 2016-12-25 18:53:16 -08:00
Michael Kuhn
33592d0142 Update gcc to 6.3.0 (#2669) 2016-12-25 18:52:58 -08:00
Todd Gamblin
c4afaabea9 Add argument to spack spec to show deptypes. (#2680)
- `-t` | `--types` argument now shows deptypes in `spack spec`
2016-12-25 14:15:58 -08:00
George Hartzell
041f96b349 Update the texlive distro digest. (#2679)
sigh.
2016-12-25 12:37:03 -08:00
Adam J. Stewart
7e8767e3fd Remove usernames from paths in docs (#2675)
* Remove usernames from paths in docs

* Fix path export
2016-12-25 12:36:35 -08:00
Massimiliano Culpo
8fe5fb7988 go: fixed GOROOT_BOOTSTRAP without workarounds (#2671) 2016-12-25 12:33:57 -08:00
Adam J. Stewart
c3cd948537 Modify github archive regex to support luaposix (#2677) 2016-12-25 12:32:19 -08:00
Michael Kuhn
e340f275b8 Update cairo to 1.14.8, gtkplus to 2.24.31 and pango to 1.40.3 (#2642) 2016-12-21 15:03:28 -08:00
Kim Serradell
70a4c4e105 Bug fontconfig (#2652)
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface

* Fixed install error in cmor package

* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface

* Fixed install error in cmor package

* Modifiying fontconfig file to allow install in OpenSuse 13.2

* Adding pkg-config dependency to freetype and libxml2

* Removed first possible solution. With @adamjstewart selecting the one adding pkg-config to dependencies
2016-12-21 14:27:15 -08:00
Federico Padua
60dc751225 Fix homepage for the package libspatialindex (#2656)
Small fix for the homepage of the package libspatialindex.
2016-12-21 14:23:32 -08:00
scheibelp
3f1cdbf5ef Revert #2292: use frontend compiler for build deps (#2549)
The primary goal of #2292 was to use the frontend compiler to make
build dependencies like cmake on HPC platforms. It turns out that
while this works in some cases, it did not handle cases where a
package was a link dependency of the root and of a build dependency
(and could produce incorrect concretizations which would not build).
2016-12-20 00:21:25 -08:00
Michael Kuhn
3ce3165ae6 Update gdal to 2.1.2 (#2643) 2016-12-19 17:06:57 -08:00
Adam J. Stewart
b3ba45afa9 Various improvements to H5hut (#2636) 2016-12-19 17:06:14 -08:00
Todd Gamblin
c89de04f40 Support Yorick versions (#2640) 2016-12-19 14:55:23 -08:00
Andrey Prokopenko
d306893d83 moab: changed trilinos dependency to zoltan, and added fortran variant (#2582)
Trilinos dependency is very heavy, the zoltan one is light. I'm not sure
if there is a situation where one needs the former.
2016-12-19 14:41:09 -08:00
Adam J. Stewart
d24186ea84 Update PnetCDF to AutotoolsPackage (#2637) 2016-12-19 14:26:47 -08:00
George Hartzell
d8efeabf77 Update digest for vim@8.0 tarball. (#2600)
* Update digest for vim@8.0 tarball.

The digest appears to have changed.

The new digest value matches the value in their
[MD5SUMS](ftp://ftp.vim.org/pub/vim/unix/MD5SUMS)
file.

* Change ftp.vim.org -> github.com/vim/vim/archive

Vim seems to do weekly releases, but the name of the tarball on
ftp.vim.org doesn't change so we have to regularly play 'update the
digest' (aka Internet whack-a-mole).

This commit changes the url so that we are now downloading particular
versions from the Vim project's github archive.

I didn't walk back through of time to get all of the versions that
used to be explicit.  I grabbed the final `7.4` and the current `8.0`
releases.  If people need more we can add them.
2016-12-19 14:26:16 -08:00
Todd Gamblin
4b7b6768e6 Modify github regex to support NCO. (#2633) 2016-12-19 14:17:18 -08:00
Adam J. Stewart
46436a0909 GSL: Add latest version, update to AutotoolsPackage (#2630) 2016-12-19 09:21:38 -08:00
Todd Gamblin
a2b4146e10 Fixes for various hash issues (#2626)
* Better output for disambiguate_specs()

* Fix wrong exception name.

* Fix satsifies(): concrete specs require matching by hash.

- Fixes uninstall by hash and other places where we need to match a
  specific spec.

- Fix an error in provider_index (satisfies() call was backwards)

- Fix an error in satisfies_dependencies(): checks were too shallow.

* Fix default args in Spec.tree()

* Move installed_dependents() to DB to avoid unknown package error.

* Make `spack find` and `sapck.store.db.query()` faster for hashes.

* Add a test to ensure satisfies() respects concrete Specs' hashes.
2016-12-19 09:09:53 -08:00
Adam J. Stewart
08d323b1f8 NCO: Add latest version, update to AutotoolsPackage (#2629) 2016-12-19 08:49:37 -08:00
Todd Gamblin
b18738e03d Add gawk (GNU awk) (#2625)
* Add gawk, GNU awk.

* flake8 fix.
2016-12-18 22:35:23 -08:00
George Hartzell
6e1b3f621d Feature/add package for fastqc (#1573)
* Add package for fastqc

This tool is a java mess.  Their Way To Do It is to just copy the entire
tree into it's final resting place, make the perl script at the top
level executable and take it from there.

Yuck.

This package assumes that `set_executable` actually sets all the user
bits.  If that change doesn't go in, then something equivalent needs to
be done.

* Use chmod to make fastqc executable

I haven't gotten any feedback on changing set-executable, so switch to
using chmod (from the cuda package).

* Flake8 cleanup

* Install files neatly, don't just copy top level of dir

Rather than blindly copying everything in the distribution, carefully
put the necessary bits into reasonable places.  Neatness counts, etc...

This requires patching the `fastqc` perl script, so this commit adds a
patch file.

* Additional pep8 cleanup

* Let dependency handle adding jdk to PATH

* Flake8 cleanup

* Ensure that java is on PATH

I thought that the run dependency on the jdk would put
java on my PATH, but it does not appear to work.

For now, do it by hand.
2016-12-18 16:38:14 -08:00
Alfredo Adolfo Gimenez
68e9a2ed8d Added customization for make targets in 'build' and 'install' phases for AutotoolsPackage (#2464)
* Customization for make targets in build and test phases for AutotoolsPackage

* Updated Blitz++ to use customized make build and test targets

* Removed flake8 error

* Removed make test customization, added make install customization, need to figure out issues with multiple make targets

* Changed build_targets and install_targets to normal attributes
2016-12-18 16:27:47 -08:00
Chris MacMackin
0de7b5504e py-markdown: Add new package for python-markdown. (#2611)
* py-markdown: Add new package for python-markdown.

* py-markdown: Added restrictions on Python version.

* py-markdown: Removed upper-limit on compatible Python versions.

* py-markdown: Reinstated upper bound on Python version. Also fixed small formatting error.
2016-12-18 16:23:31 -08:00
Denis Davydov
1c0f28c559 gmsh: add 2.15.0 and switch to CMakePackage (#2620) 2016-12-18 16:20:37 -08:00
Denis Davydov
da2350a1c9 tbb: add 2017.3 (#2619) 2016-12-18 16:20:26 -08:00