Commit graph

8849 commits

Author SHA1 Message Date
Audrey Thoma
48c26dd284 mirdeep: new package (#5302) 2017-09-20 15:48:20 -07:00
Denis Davydov
234e00e84c update Blas/Lapack section of packaging guide (#5383) 2017-09-20 15:40:20 -07:00
Audrey Thoma
393fc3261e orthomcl: new package (#5345)
Add orthocml package and fix mariadb url
2017-09-20 15:12:52 -07:00
Audrey Thoma
5267681abe tmhmm: new package (#5335) 2017-09-20 14:45:13 -07:00
Audrey Thoma
9f6c8ebc13 bbmap: new package (#5396) 2017-09-20 14:41:25 -07:00
Audrey Thoma
8933580789 targetp: new package (#5334) 2017-09-19 13:58:07 -07:00
sknigh
8dd3dca31c added p7zip package (#5394) 2017-09-19 22:51:32 +02:00
healther
21059c39ca pr-quantities: add version & py-numpy conflict (#5307) 2017-09-19 13:10:13 -07:00
Massimiliano Culpo
b1d129e681 Modulefiles generated with a template engine (#3183)
* Module files now are generated using a template engine refers #2902 #3173

jinja2 has been hooked into Spack.

The python module `modules.py` has been splitted into several modules
under the python package `spack/modules`. Unit tests stressing module
file generation have been refactored accordingly.

The module file generator for Lmod has been extended to multi-providers
and deeper hierarchies.

* Improved the support for templates in module files.

Added an entry in `config.yaml` (`template_dirs`) to list all the
directories where Spack could find templates for `jinja2`.

Module file generators have a simple override mechanism to override
template selection ('modules.yaml' beats 'package.py' beats 'default').

* Added jinja2 and MarkupSafe to vendored packages.

* Spec.concretize() sets mutual spec-package references

The correct place to set the mutual references between spec and package
objects at the end of concretization. After a call to concretize we
should now be ensured that spec is the same object as spec.package.spec.

Code in `build_environment.py` that was performing the same operation
has been turned into an assertion to be defensive on the new behavior.

* Improved code and data layout for modules and related tests.

Common fixtures related to module file generation have been extracted
in `conftest.py`. All the mock configurations for module files have been
extracted from python code and have been put into their own yaml file.

Added a `context_property` decorator for the template engine, to make
it easy to define dictionaries out of properties.

The default for `verbose` in `modules.yaml` is now False instead of True.

* Extendable module file contexts + short description from docstring

The contexts that are used in conjunction with `jinja2` templates to
generate module files can now be extended from package.py and
modules.yaml.

Module files generators now infer the short description from package.py
docstring (and as you may expect it's the first paragraph)

* 'module refresh' regenerates all modules by default

`module refresh` without `--module-type` specified tries to
regenerate all known module types. The same holds true for `module rm`

Configure options used at build time are extracted and written into the
module files where possible.

* Fixed python3 compatibility, tests for Lmod and Tcl.

Added test for exceptional paths of execution when generating Lmod
module files.

Fixed a few compatibility issues with python3.

Fixed a bug in Tcl with naming_scheme and autoload + unit tests

* Updated module file tutorial docs. Fixed a few typos in docstrings.

The reference section for module files has been reorganized. The idea is
to have only three topics at the highest level:

  - shell support + spack load/unload use/unuse
  - module file generation (a.k.a. APIs + modules.yaml)
  - module file maintenance (spack module refresh/rm)

Module file generation will cover the entries in modules.yaml

Also:

  - Licenses have been updated to include NOTICE and extended to 2017
  - docstrings have been reformatted according to Google style

* Removed redundant arguments to RPackage and WafPackage.

All the callbacks in `RPackage` and `WafPackage` that are not build
phases have been modified not to accept a `spec` and a `prefix`
argument. This permits to leverage the common `configure_args` signature
to insert by default the configuration arguments into the generated
module files. I think it's preferable to handling those packages
differently than `AutotoolsPackage`. Besides only one package seems
to override one of these methods.

* Fixed broken indentation + improved resiliency of refresh

Fixed broken indentation in `spack module refresh` (probably a rebase
gone silently wrong?). Filter the writers for blacklisted specs before
searching for name clashes. An error with a single writer will not
stop regeneration, but instead will print a warning and continue
the command.
2017-09-19 12:34:20 -07:00
Massimiliano Culpo
081403f280 adios: fixed conditional dependencies on libevpath and dataspaces (#5392)
fixes #5379
2017-09-19 14:13:26 +02:00
Gregory Lee
34d2762b1f added python version 2.7.14 and 3.6.2 packages (#5389) 2017-09-18 22:05:26 -05:00
Axel Huebl
15f844f291 HDF5: Fortran MPI needs Numactl (#5372) 2017-09-18 19:32:52 -07:00
healther
df8e7d7590 add variant gmock to googletest (#5278) 2017-09-18 19:28:33 -07:00
Christoph Junghans
bb042f7bd7 latte: fix url and add shared variant (#5358) 2017-09-18 19:24:17 -07:00
Christoph Junghans
1098d78d2a qmd-progress: add shared variant (#5381) 2017-09-18 15:36:42 -07:00
Christoph Junghans
6d8614f671 bml: add shared variant (#5380) 2017-09-18 15:32:20 -07:00
Christoph Junghans
efcd8e6f7f lammps: fix checksum (#5342) 2017-09-18 15:18:27 -07:00
Pramod S Kumbhar
832791a2bb Improve scorep package with different compilers and mpi providers (#5386)
* Add --with-mpi=spec['mpi'].name at configure step to avoid error when finding 2 MPI implementations

* Improve scorep package with different compilers and mpi providers
2017-09-18 13:35:42 -07:00
Milton Woods
2f269c3919 mesa: merge multiple branches into one (#5170)
Merge work from multiple contributors on the mesa package. This
includes the following changes and decisions:

* Added in mesa +hwrender support

* make +swrender the default selection since this represents a very
  common usage case (ie, cluster usage)

* leave ~llvm as the default, since inadvertently building this package
  could take a very long time.  May need to revisit this assumption in
  the future since the performance difference can be quite substantial.

* build libGLESv1+2 and libGL for all variants

* avoid dependence on dri/libdrm when ~hwrender

* disable gallium drivers if none are requested
2017-09-18 11:10:54 -07:00
Todd Gamblin
c7a789e2d6 Add --show-log-on-error option to spack install
- converted `log_path` and `env_path` to properties of PackageBase.

- InstallErrors in build_environment are now annotated with the package
  that caused them, in the 'pkg' attribute.

- Add `--show-log-on-error` option to `spack install` that catches
  InstallErrors and prints the log to stderr if it exists.

Note that adding a reference to the Pakcage allows a lot of stuff
currently handled by do_install() and build_environment to be handled
externally.
2017-09-17 18:52:25 -07:00
Todd Gamblin
742cd7f127 Remove redundant dest arguments in install.py 2017-09-17 18:52:25 -07:00
Todd Gamblin
eb0ea7697a Fix log error parsing bug introduced in c830eda0e (#5387)
- '\b' in regular expression needs to be in a raw string (r'\b')
- Regression test that would've caught this was unintentionally disabled

- This fixes the string and the test
2017-09-17 15:31:32 -07:00
Denis Davydov
2d22a88a96 tbb: add 2018 (#5359) 2017-09-17 11:32:19 -07:00
Pramod S Kumbhar
9aafe21b63 Filter system paths from CMAKE_PREFIX_PATH (#5385) 2017-09-17 14:47:16 +02:00
Kelly (KT) Thompson
0558fd640e Improve external package location detection algorithm. (#5145)
Also inspect `PATH` to help locate an external package and provide a test for
getting path from module's PATH.

Fixes #5141
2017-09-16 13:26:29 -07:00
Howard Pritchard
707b773aa2 Open MPI: add Open MPI 3.0.0 (#5360)
Open MPI 3.0.0 is released!  Add to spack.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-09-16 13:14:24 -07:00
Denis Davydov
f710a520e5 set CMAKE_PREFIX_PATH for cmake packages (#5364)
* cmake: set CMAKE_PREFIX_PATH

* cmake: use build/link immediate dependencies to construct CMAKE_PREFIX_PATH
2017-09-16 13:14:03 -07:00
Denis Davydov
7cec47aacd trilinos: update md5 for 12.10.1 (#5362) 2017-09-16 13:05:17 -07:00
Axel Huebl
847b24c94c New Pcakage: numactl (#5371)
Adds the numactl tools and libnuma.
2017-09-16 13:00:32 -07:00
ynanyam
5bb3538541 Feature/methycode (#5374)
* methylcode: added package

* pyfasta: added package

* py-bsddb3: added package

* py-bsddb3: added package

* Update package.py

* Update package.py

* Update package.py

* removed fixme comments

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2017-09-16 12:58:04 -07:00
Pramod S Kumbhar
d25b159dc3 Cntk: fixed dependency on protobuf fixes #5266 (#5267)
As protobuf has been converted to CMakePackage, it doesn't have a 'shared' variant anymore.
2017-09-16 10:24:40 +02:00
Audrey Thoma
9326925d45 augustus: url fix (#5311) 2017-09-16 10:20:42 +02:00
Denis Davydov
05b309a487 add Intel 2018 libraries (#5354) 2017-09-16 10:10:08 +02:00
zenln
1ce6097651 Bioawk: added new package (#5375) 2017-09-16 09:14:57 +02:00
Christoph Junghans
fc237792b2 gromacs: added 2016.4 (#5376) 2017-09-16 09:12:02 +02:00
Pramod S Kumbhar
54d0cef5c4 Update hpctoolkit and externals to latest release 2017-09-15 12:58:33 -07:00
healther
393e355c39 add new version to package py-pybind11 2017-09-15 10:13:47 -07:00
Michael Kuhn
cba1ddff4a ncl: Fix buffer overflow in ymake-filter (#5357)
Fixes a problem in ymake-filter: The line buffer is currently hardcoded to be
2048 bytes large but some Makefiles contain lines longer than that. This
caused the Makefiles to sometimes not be generated, consequently failing parts
of the build.
2017-09-15 08:43:42 -05:00
Pramod S Kumbhar
abc0c65d03 Fix checksum of Intel TBB package (#5349) 2017-09-14 22:46:01 -07:00
Matthew Scott Krafczyk
0bd838bd11 Remove echo statements from setup-env.sh
setup-env.sh adds the 'module' command to the user's environment
if it is not defined and if there is a Spack installation of
environment-modules available. This commit updates that logic to
perform these checks and updates quietly.
2017-09-14 18:49:25 -07:00
Robert Pavel
ead1982ede Added Support for NOX Package to Trilinos Spackage (#5366)
Added support for building NOX package to Trilinis Spackage
2017-09-14 17:28:55 -06:00
Axel Huebl
78894645eb ADIOS: Fix Build (Autotools) (#5363)
This fixes the build of the ADIOS package.
The `with_or_without` interface of the Autotools builds
seems to have changed, this fixes it.
2017-09-14 19:08:03 +02:00
Axel Huebl
3548e134f7 libsodium: update URLs (#5355)
* libsodium: update URLs

updates the URLs for libsodium releases.
Fixes broken builds (404).

* libsodium: add new version
2017-09-14 08:16:54 -05:00
Louis Vernon
ea081f06f0 Added missing dependencies to nauty package (#5348)
* Added missing help2man dependency to nauty

* Add type=build

* Added gmp dependency to nauty package
2017-09-13 20:16:16 -06:00
Axel Huebl
c1975c7601 Boost: 1.65.1 (#5330)
Add sha of the latest boost bugfix release.
http://www.boost.org/users/history/version_1_65_1.html

Besides other fixed issues, it adds compatebility for the upcoming
CUDA 9 release.
2017-09-13 22:45:28 +02:00
Christoph Junghans
80ac613391 Shell detection: filter preceding "-"
On OSX, the shell detection code may get a preceding dash, like
"-bash". This adds a filter to remove it.
2017-09-12 12:17:20 -07:00
Massimiliano Culpo
90d50a0cee Force reference consistency between Spec & Package
The correct place to set the mutual references between spec and
package objects is at the end of concretization. After a call to
concretize we should now be ensured that spec is the same object
as spec.package.spec.

Code in `build_environment.py` that was performing the same
operation has been turned into an assertion to be defensive on
the new behavior.
2017-09-12 12:10:31 -07:00
Denis Davydov
5c24370512 openblas: add ilp64 option (#5289) 2017-09-12 08:40:28 +02:00
Michael Kuhn
b413f37b3e Update libbson and libmongoc to 1.7.0 (#5294)
This also introduces the ssl, snappy and zlib variants for libmongoc.
2017-09-11 22:02:48 -07:00
Christoph Junghans
3ffb6d09d9 parsplice: initial commit (#5314) 2017-09-11 21:59:15 -07:00