Commit graph

10124 commits

Author SHA1 Message Date
Massimiliano Culpo
ff83003eaf Renamed 'patch_configuration' fixture to 'module_configuration'
This just because the fixture has been moved one level above the one
it was originally defined. In this more general context there's more
than one configuration file that could be patched for tests.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
008f171a7e Added a unit test for 'spack lmod setdefault' 2018-07-24 11:27:17 -07:00
Massimiliano Culpo
e81c0c3e2c Updated references to spack module in the documentation. 2018-07-24 11:27:17 -07:00
Massimiliano Culpo
6ab57571c2 Added 'setdefault' subcommand to 'spack lmod'
Added a subcommand that sets the default module to be loaded, if
multiple installations of the same package are present.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
0457c1fbee Split 'spack module' into multiple commands
'spack module' has been split into multiple commands, each one tied to a
specific module type. This permits the specialization of the new
commands with features that are module type specific (e.g. set the
default module file in lmod when multiple versions of the same package
are installed at the same time).
2018-07-24 11:27:17 -07:00
Todd Gamblin
fdcaf5c4c8 bugfix: fix spack spec --yaml
- repo membership test was broken by the refactor of spack/__init__.py

- refactor singleton so that 'spec in repo' works again for `spack.repo.path`

- fix spec command and add basic tests for `spack spec` and `spack spec --yaml`
2018-07-24 11:25:34 -07:00
Massimiliano Culpo
6ba1c82858 tests: Add python 3.7 to Travis CI (#8778)
* Test Spack on Python 3.7 as part of Travis CI
* Currently using xenial to pull-in python 3.7
    * As xenial is not officially supported yet, Travis tolerates failures on it.
2018-07-23 23:07:36 -07:00
Todd Gamblin
e2e8108dc4 packages: do not use generic checksum= in version() directives
- This is very old usage -- preparing to deprecate this in favor of being
  explicit about checksums.
2018-07-23 11:57:52 -07:00
Todd Gamblin
d4c4effb5e docs: update old docs for spack.package.PackageBase
- There was a lot of documentation in `PackageBase` dating back to the
  very first versions of Spack.

- It was repetitive and out of date, and the docs at spack.readthedocs.io
  are better.

- Remove the outdated specifics, and leave the minimal useful set of
  developer docs in `package.py`.
2018-07-23 11:57:52 -07:00
Todd Gamblin
bd3ffc7b76 core: use sha256 instead of md5 for spack checksum and spack create
- This changes `get_checksums_for_versions` to generate code that uses an
  explicit `sha256` argument instead if the bare `md5` hash we used to
  generate.

- also use a generic digest parameter for the `version` directive, rather
  than a specific `md5` parameter.
2018-07-23 11:57:52 -07:00
Todd Gamblin
305c95b69f tests: move doc tests to the unit test stage
- Frequently, the documentation build will fail mysteriously in some
  spack command.

- The cause is some new bug introduced by the PR, but this is not
  apparent because the unit tests haven't run and the doc tests aren't
  targeted at code bugs.

- Users end up puzzled by doc failures when they're really code failures.

- Move the doc tests parallel with the code tests, so that we can more
  easily see bugs like this.
2018-07-23 07:27:48 -07:00
Levi Baber
0cef7b4355 Trinity plugins (#8516)
* trinity: fix plugin installation

* trinity: flake8

* trinity: more specific types for dependencies
2018-07-22 17:17:44 -05:00
Levi Baber
5acdc2e335 beast1: add libbeagle support (#8525) 2018-07-22 17:17:03 -05:00
Levi Baber
8b890db50f libbeagle: add java dependency so jni hooks get built (#8524)
* libbeagle: add java dependency so jni hooks get built

* libbeagle: set BEAST_LIB instead of LD_LIBRARY_PATH

* libbeagle: use BEAST_LIB
2018-07-22 17:16:43 -05:00
Roberto Villegas-Díaz
8a35687d31 Augustus updated to version 3.3.1 (#8588)
* Augustus updated to version 3.3.1

* Augustus - Version-specific URLs replaced by list_url

* Augustus - Adding tool versions back
2018-07-22 17:11:37 -05:00
g-mathias
eecef8d4a7 fix to build libmatheval with guile@2.0: (#8680)
* fix to build libmatheval with guile@2.0:

* fixed formatting issues

* fixed formatting issues2

* fixed check for autoreconf and renaming of configure.in

* fixed force_autoreconf

* now patching configure, which is hopefully more robust

* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)

* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
2018-07-22 17:07:44 -05:00
Nasr S. Hassanein
2386ce4995 Ncl update (#8747)
* fix ncl url and hash

* adding ncl version 6.5.0

* remove 6.5.0

* using github archive url
2018-07-22 16:54:06 -05:00
Jon Rood
777a0fe5df Make read only source file writeable in perl before patch to avoid failures on lustre filesystem. (#8764) 2018-07-22 16:51:59 -05:00
Patrick Gartung
c9147aad80 Remove extra Scientific Linux docker build left after merge. (#8770) 2018-07-22 16:46:26 -05:00
Lukasz
dcaa675957 add necessary dependence on lapacak, and fix ld_flags for blas (#8776) 2018-07-22 16:32:47 -05:00
Lukasz
a18a642074 add MoFEM packages (#8700)
* add mofem-cephas package

* add mofem fracture module

* add user modules build and fracture modyle

* add minimal surface module

* add slepc variant

* bump mofem core lib version

* bump mofem core lib version

* bump version

* fix bug

* set upper bound to petsc version  and other chanes

* fix indentation

* add minimal med file installation

* chcekc with flake8 and installation with spack packages

* add variants to med package

* upper bound to adol-c and remove obsolete internal package install

* fix basic module install

* module install from external source in extended prefix

* remove obsolte code and reverse to variant doxygen

* fix git adress

* improve packaging for mofem users modules

* fix flake8

* move dependencies after variants

* move  root_cmakelists_dir right before cmake_args

* remove unused variants

* use append for single element

* replace root_cmakelists_dir

* use install_tree instead copy tree

* simplify code

* remove phase and mkdirp

* add run tests

* instal ext modules to ext_users_modules directory

* move version below url

* simplify directory name

* use underscore in variant name

* remove unused variable

* fix link to blas libs

* add missing boost dependence

* fix problem with copying module source code

* change variant name form doxygen to docs

* add expanded description

* make installation consistent with spack

* fix flake8

* make extensions installed

* code comments and minor corrections

* make slepc variant false by default
2018-07-22 15:26:30 -05:00
Todd Gamblin
a1d6909864 bugfix: stage test no longer modifies ~/.spack/config.yaml
- two stage tests weren't properly using the mutable_config fixture.
- this caused running `spack test` to modify the user's config.yaml
2018-07-21 17:12:36 -07:00
Christoph Junghans
0e4909cad8 votca: add more deps (#8771)
* votca: add more deps

* Update package.py
2018-07-21 16:45:01 -05:00
Todd Gamblin
b2f3b07ec0 docs: doucment spack config blame 2018-07-21 14:04:18 -07:00
Todd Gamblin
331da779f8 docs: updates to spack config get docs for command-line scopes 2018-07-21 14:04:18 -07:00
Elizabeth Fischer
46f87cb9f2 docs: command-line scopes
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2018-07-21 14:04:18 -07:00
Elizabeth Fischer
52fbbdf5a1 config: allow user to add configuration scopes on the command line.
- Add command-line scope option to Spack

- Rework structure of main to allow configuration system to raise
  errors more naturally

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2018-07-21 14:04:18 -07:00
Todd Gamblin
2b0d944341 locks: fix bug when creating lockfiles in the current directory.
- Fixes a bug in `llnl.util.lock`

- Locks in the current directory would fail because the parent directory
  was the empty string.

- Fix this and return '.' for the parent of locks in the current
  directory.
2018-07-21 10:39:47 -07:00
Adam J. Stewart
1a136d6db2
Add kealib 1.4.10 (#8769) 2018-07-19 21:21:06 -05:00
lingnanyuan
9653dc2aac r-qorts: Create new package. (#8744)
* r-qorts: Create new package.

* Change dependency to java, change package name.

* Remove some join_path.
2018-07-19 17:58:36 -05:00
sknigh
2a12c3bf07 Packaged iperf2 (#8765) 2018-07-19 17:55:06 -05:00
sknigh
3299d41ef9 Packaged iperf3 (#8762) 2018-07-19 16:02:55 -05:00
Matthias Diener
76b54a214e Py-lark-parser: new package (#8761) 2018-07-19 14:00:19 -05:00
Matthias Diener
9a9998dd2d pycparser: add version 2.18 (#8760) 2018-07-19 12:49:05 -05:00
Levi Baber
b0a0649d2c nwchem: add link type to python dep (#8759) 2018-07-19 12:03:40 -05:00
Christoph Junghans
e0d05d23a1 votca*: update dependencies (#8757) 2018-07-19 11:06:16 -05:00
Hadrien G
f227cf0545 New package: Verrou, a floating point error checker (#8738)
* New package: Verrou, a floating point error checker

* Clean up usage of patch

* Account for future patches in version ranges

* Manual call to autogen is not needed anymore, but extra dependencies are needed

* Use trick from automake to evade shebang length limit

* Use a glob instead of an explicit file list

* Turns out conflict() does not do what I want...

* Suggestions from @citibeth reviews

- Use 'develop' convention for the master branch
- Prefer tarballs over git repositories
- Increase robustness against default configuration

* Drop a couple of older releases with a different patching procedure

* Playing coding style golf

* Various bug squashing

- Missed master -> develop substitution
- Turns out manually calling autogen.sh is needed after all
- Missed + in spec

* More style golfing to fit in 80 columns

* Remove unnecessary mention of the develop branch
2018-07-19 09:57:53 -05:00
Todd Gamblin
d0a808944e style: bring packages in compliance with pep8-naming 2018-07-19 00:41:36 -07:00
Todd Gamblin
20e4038a72 style: make core comply with pep8-naming 2018-07-19 00:41:36 -07:00
Scott Wittenburg
1713cb37da style: Add pep8-naming plugin to flake8
Enforce PEP8 naming conventions for things like variables, methods,
classes, etc.

See the table here:

https://pypi.org/project/pep8-naming/

...for error codes emitted, in case some should be added as
exceptions in the flake8 configuration files.
2018-07-19 00:41:36 -07:00
Todd Gamblin
264761ccb8 add py-pep8-naming package 2018-07-19 00:41:36 -07:00
Neil Flood
23d911d1a0 py-pytest: Added dependency on py-setuptools-scm, as well as py-setup… (#8750)
* py-pytest: Added dependency on py-setuptools-scm, as well as py-setuptools, to prevent the build from silently installing its own copy of setuptools-scm

* py-pytest: Dependency on setuptools-scm only needs to be 'build'
2018-07-18 22:52:44 -05:00
Neil Flood
186d3669c6 py-snuggs: Added depends_on py-parsing. The build uses setuptools, which would otherwise silently try to install pyparsing itself, presumably into the python home dir (obviously not ideal). (#8748) 2018-07-18 21:42:57 -05:00
Neil Flood
ab262ca916 py-pkgconfig: Made nose dependency type=build,test instead of just type=test, to prevent setuptools from silently installing its own copy of nose (#8749) 2018-07-18 21:42:04 -05:00
Cyrus Harrison
290125f893 openmpi: add c++ exceptions cfg option variant (#8743)
* openmpi: add c++ exceptions cfg option variant

* address review comments
2018-07-18 14:54:12 -05:00
Adam J. Stewart
a67139f6c5 Better Makefile target detection (#8223)
Replace regex-based target detection for Makefiles with a preliminary "make -q"
to check if a target exists. This does not work for NetBSD make; additional work
is required to detect if NetBSD make is present and to use a regex in that case.
The affected makefile target checks are only performed when the "--test" flag is
added to a "spack install" invocation.
2018-07-18 11:11:10 -07:00
Adam J. Stewart
af8dde4dda shell: Add spack to PATH before calling spack in setup-env.csh (#8740) 2018-07-18 09:36:22 -07:00
Massimiliano Culpo
33aa06e1cf shell: fixed a typo in spack --print-shell-vars (#8732) 2018-07-17 17:03:45 -07:00
Matthias Diener
111512ce7b Cmake: add version 3.12.0 (#8731) 2018-07-17 17:56:04 -05:00
Levi Baber
2ce6299c2b py-pyqi: new package (#8726)
* py-pyqi: new package

* py-pyqi: cleanup
2018-07-17 16:07:38 -05:00