Commit graph

4350 commits

Author SHA1 Message Date
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
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
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
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
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
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
Denis Davydov
c9e46a2913 dealii: explicitly specify bzip2 libs (#5337)
* dealii: explicitly specify bzip2 libs
* bzip2: add libs() property
2017-09-11 20:47:05 -07:00
Massimiliano Culpo
32117c22de 'with_or_without' accepts bool variants
Fixes #4112

This commit extends the support of the AutotoolsPackage methods
`with_or_without` and `enable_or_disable` to bool-valued variants. It
also defines for those functions a convenience short-cut if the
activation parameter is the prefix of a spec (like in
`--with-{pkg}={prefix}`).

This commit also includes:

* Updates to viennarna and adios accordingly: they have been modified to
  use `enable_or_disable` and `with_or_without`
* Improved docstrings in `autotools.py`. Raise `KeyError` if name is
  not a variant.
2017-09-11 16:20:49 -07:00
Christoph Junghans
f502de4725 added votca-1.4.1 modules (#5276) 2017-09-11 13:28:53 -07:00
Denis Davydov
8dd7fa03ea elemental: fix broken Config.cmake (#5331) 2017-09-11 13:27:20 -07:00
Christoph Junghans
947cd8e3c0 berkeley-db: initial commit (#5303)
* berkeley-db: initial commit
* berkeley-db: added more versions
2017-09-11 13:25:36 -07:00
Massimiliano Culpo
50eea5cb13 Added 'ldc' compiler for D language based on LLVM (#5279) 2017-09-11 21:54:38 +02:00
Stephen McDowell
be2be8c70e fix armadillo macro expansions (#5268)
* fix armadillo macro expansions

- most compilers `#define linux 1`
    - armadillo does raw pasting of include directories in code
    - this means macro expansion of `linux-x86_64` -> `1-x86_64`
- new version, previous download url seems broken
- lib64 instead of lib?
    - needs verification, was required for intel, works for others

* flake8: two spaces is modules, one for classes

* add some explanation of how the patch works

* use p1 patch file with -U0 to prepend undef linux

* armadillo v8.100.1
2017-09-10 16:04:02 -10:00
Eloy Gil
7d5f12be70 Missing opencv dependencies (#5285)
There are some opencv dependencies missing such as "core" that are mandatory in order to complete the caffe build.
2017-09-10 14:38:11 -10:00
healther
1d3a8e034d add package py-line-profiler (#5291) 2017-09-10 14:35:17 -10:00
Pramod S Kumbhar
c077052664 Change glog from Autotools to CMakePackage (#5323) 2017-09-10 13:22:47 -10:00
Christoph Junghans
effba3c95e lammps: version bump, switch to cmake (#5313) 2017-09-10 13:21:38 -10:00
Christoph Junghans
b60e7e14b9 latte: initial commit (#5315) 2017-09-10 13:19:50 -10:00
Pramod S Kumbhar
d5f1144798 Fix Autotools build error due to missing m4 and MPICC/MPICXX (#5319) 2017-09-10 13:18:55 -10:00
Pramod S Kumbhar
ba5b17d28a Chnage IOR to AutotoolsPackage; remove hard-coded mpicc path (#5318) 2017-09-10 13:17:54 -10:00
Pramod S Kumbhar
3bb243e8e2 Improve PDToolkit support for different compilers (#5322)
* Improve PDToolkit support for different compilers

PDT dependency of TAU profiler doesn't use CC, CXX eb variables and needs command line arguments for compiler identification. If we don't pass compiler id then it uses gcc and result in link time errors while building TAU.  This patch fixes it; tested with PGI and Intel compilers.
2017-09-10 13:16:49 -10:00
Pramod S Kumbhar
f5f51118b8 Fix matplotlib build issue with intel compiler (#5321) 2017-09-10 13:15:12 -10:00
Pramod S Kumbhar
b14b02f875 Improve caffe dependency detection with extra CMake flags (#5328)
* Improve caffe dependency detection with extra CMake flags
* lmdb and leveldb fix
2017-09-10 13:14:22 -10:00
Pramod S Kumbhar
e0fa335df0 Paraview requires CMake version 3.3 or higher (#5317) 2017-09-10 10:09:05 +02:00
Pramod S Kumbhar
6ce009a72a Libgpuarray requires CMake 3.0 or higher (#5326) 2017-09-10 10:06:13 +02:00
Pramod S Kumbhar
156dedac6b Fix caffe build issue with python 3 (#5324) 2017-09-09 21:28:39 -10:00
Matthew Scott Krafczyk
51828dd982 Bootstrap environment-modules
Renames the existing bootstrap command to 'clone'. Repurposes
'spack bootstrap' to install packages that are useful to the
operation of Spack (for now this is just environment-modules).
For bash and ksh users running setup-env.sh, if a Spack-installed
instance of environment-modules is detected and environment modules
and dotkit are not externally available, Spack will define the 
'module' command in the user's shell to use the environment-modules
built by Spack.
2017-09-08 10:15:06 -07:00
Audrey Thoma
2e0fc39173 mlhka: new package (#5231)
* mlhka: new package
2017-09-07 07:34:34 -10:00
Michael Kuhn
84ae7872d3 Update copyright notices for 2017 (#5295) 2017-09-06 17:44:16 -10:00
Denis Davydov
01a9a048ad elemental: fix hardcode libgfortran, use develop and explicitly specify MPI compilers (#5263) 2017-09-06 12:04:32 +02:00
Massimiliano Culpo
d1a5857a03 Added support for querying by tags (#4786)
* Added support to query packages by tags.
    - The querying commands `spack list`, `spack find` and `spack info` have
      been modified to support querying by tags. Tests have been added to
      check that the feature is working correctly under what should be the
      most frequent use cases.

* Refactored Repo class to make insertion of new file caches easier.
    - Added the class FastPackageChecker. This class is a Mapping from
      package names to stat info, that gets memoized for faster access.

    - Extracted the creation of a ProviderIndex to its own factory function.

* Added a cache file for tags.

    - Following what was done for providers, a TagIndex class has been added.
      This class can serialize and deserialize objects from json. Repo and
      RepoPath have a new method 'packages_with_tags', that uses the TagIndex
      to compute a list of package names that have all the tags passed as
      arguments.

      On Ubuntu 14.04 the effect if the cache reduces the time for spack list
      from ~3sec. to ~0.3sec. after the cache has been built.

* Fixed colorization of `spack info`
2017-09-05 15:44:42 -10:00
Christoph Junghans
feefdedadf nauty: shared libraries (#5207) 2017-09-05 09:15:08 -10:00
Tom Scogland
6c4918320d add neovim package with deps (#5260)
* add neovim package with deps
2017-09-04 23:34:21 -10:00
Denis Davydov
7f454bbd3d Add davydden as a maintainer to a couple of packages (#5284) 2017-09-05 00:23:56 +02:00
Massimiliano Culpo
dec6b609d8 Updated llvm to version 4.0.1 Fixed indentation of dict literal (#5272) 2017-09-02 07:51:27 -05:00
Andrey Prokopenko
c8df927607 Add maintainer for Trilinos
Add a maintainer for the Trilinos package.
2017-09-01 18:24:10 -07:00
Gilberto Martinez Jr
aedf6c3b87 PR for RAFT tomography package (#5247)
* Adding package RAFT

* Adding RAFT homepage
2017-09-01 12:30:16 -07:00
Pramod S Kumbhar
a140a89718 Fix allinea-forge and allinea-reports installation (#5243)
* Fix allinea-forge and allinea-reports installation

* Change which to Executable
2017-09-01 13:16:26 -05:00
Pramod S Kumbhar
2aed82c2c2 Fix osu-micro-benchmarks build (#5255)
* Fix osu-micro-benchmarks build

Changed hardcoded mpi wrapper names
Changed Package to AutotoolsPackage

* remove extra prefix
2017-09-01 13:14:54 -05:00
scheibelp
5342ecf364 Set default cmake build_type to Release for llvm
Override CMake "build_type" variant to default to "Release" for
llvm package.
2017-09-01 10:32:04 -07:00
zenln
48599837d8 Globalarrays: Adding ENABLE_I8 variant (#5249) 2017-08-31 15:14:50 -10:00
William Scullin
1d6fff1f2d New package: meson build system (#5250)
* Adding a spec for the meson build system
2017-08-31 15:13:52 -10:00
Audrey Thoma
1fff48641f kmergenie: new package (#5257) 2017-08-31 15:01:09 -10:00
Todd Gamblin
1136a7f069 jags: new package (#5256)
Just another Gibbs sampler
2017-08-31 14:58:55 -10:00
las_thoma15
cc3d8bacd7 adding config args and virtual dependencies 2017-08-31 09:37:24 -05:00
Denis Davydov
bb29ec1843 mpich: fix MPI_Barrier segfault (#5235)
* mpich: fix MPI_Barrier segfault

* one more link
2017-08-30 18:58:23 -05:00
Denis Davydov
b5a9f8ead1 add optional maintainers property to package (#5230)
* add optional package maintainers
2017-08-30 10:56:24 -07:00
Audrey Thoma
de5111cd50 hapcut2: new package (#5238) 2017-08-30 00:57:57 -07:00
Christoph Junghans
6036a5a113 lammps: install headers (#5226)
* lammps: install headers
* use prefix.include.lammps
2017-08-28 16:33:30 -07:00
Audrey Thoma
56f4f74b72 redundans: new package (#5217)
* redundans: new package

* fixing url for fastaindex and adding dep for pyscaf
2017-08-28 15:25:19 -05:00
Michael Kuhn
92df1492f6 go: Update to 1.9 (#5216) 2017-08-25 20:29:02 -05:00
Mark C. Miller
c769e99eda Zfp shared libs (#5212) 2017-08-25 15:08:49 -07:00
Denis Davydov
c0d3d33b58 dealii: add nanoflann, sundials and adol-c plus fixes on macOS (#5175)
* expat: fix build on macOS

* nanoflann: add new package

* sundials: fix compilation on macOS with clang+gfortran

* adol-c: add 2.6.3

* dealii: add adol-c, nanoflann, sundials and 8.5.1

* sundials: minor cleanup
2017-08-24 20:18:06 -05:00
Michael Kuhn
61cc55985b pkgconf: New package (#5202)
pkgconf is a new pkg-config implementation with additional features and
no external dependencies.

For a detailed comparison, see: http://pkgconf.org/features.html
2017-08-24 17:54:14 -07:00
Audrey Thoma
6ff82ff5a3 ray: new package (#5200) 2017-08-24 16:31:21 -07:00
Sergey Kosukhin
a48b5a627c Make jpeg a virtual dependency. (#5190)
* Make jpeg a virtual dependency.

* Make 'libjpeg-turbo' the default implementation of 'jpeg'.
2017-08-24 10:30:35 +02:00
sknigh
49a9d63be7 Added options to libfabrics (#5191) 2017-08-23 15:47:28 -07:00
Audrey Thoma
359b21c888 pgdspider: new package (#5186)
* pgdspider: new package

* couple of fixes
2017-08-23 08:34:12 -05:00
Axel Huebl
0daa639788 Boost: develop (#5184)
Adds a development version of boost, based on their github master
repo.
Git clones the submodules forever, but installs! :)

Useful for testing since boost tends to break complex software
dependencies quite often. This helps testing it before releases.
2017-08-23 07:31:34 -05:00
Audrey Thoma
79df4db8e5 tcoffee: new package (#5185) 2017-08-22 13:48:23 -05:00
Axel Huebl
61c5b5faa7 Boost: 1.65.0 (#5182)
Adds the latest boost release.
Downloads seem to be pointing to bintray from the official homepage.
2017-08-22 13:46:54 -05:00
Sergey Kosukhin
f52bdeda2a Package 'libaec': no need to specify per version urls. (#5176) 2017-08-22 09:27:03 +02:00
Sergey Kosukhin
e55efdf8ed Updates for package 'cdo'. (#5179)
* Package 'cdo': removed obsolete version 1.6.9.

* Package 'cdo': updated urls.

* Package 'cdo': added version 1.9.0.

* Package 'cdo': no need to specify per version urls.

* Package 'cdo': switched from Package to AutotoolsPackage.

* Package 'cdo': added new variant 'openmp'.

* Package 'cdo': variants 'curl' and 'magics' by default.
2017-08-22 08:42:55 +02:00
Audrey Thoma
e0ebf44239 py-pyrad: new package (#5181) 2017-08-21 17:58:05 -05:00
Massimiliano Culpo
581f70ff6f Added custom messages for conflicts directive. fixes #4965 (#5083)
Users can now add an optional custom message to the conflicts directive.
Layout on screen has been changed to improve readability and the long
spec is shown in tree format. Two conflicts in `espresso` have been
modified to showcase the feature.
2017-08-21 09:20:07 -07:00
Axel Huebl
bd8ac0a738 Protobuf: 3.4 (#5177) 2017-08-21 07:29:47 -05:00