Commit Graph

132 Commits

Author SHA1 Message Date
健美猫
658896a7a5 Remove pmi from the fabric list. (#7226) 2018-03-26 13:14:51 +02:00
Todd Gamblin
54f97d1dec
Update copyright on LLNL files for 2018. (#7592) 2018-03-24 12:13:52 -07:00
Howard Pritchard
f59a447f71 Open MPI: add 2.1.3 (#7535)
note the libmpi.so itself didn't have changes, only other
components of the package had updates.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-03-21 16:49:31 -05:00
Massimiliano Culpo
cf4b3f2af6
hwloc: updated package (#7483)
This includes:

* Added latest available versions (1.11.9, 2.0.0)
* Added variants to enable graphical output from lstopo
* Enabled build of the bundled netloc package if @2.0.0:
* Added dependency from numactl if @:1.11.9
* Added a constraint to avoid using  hwloc@2.0.0 with openmpi
2018-03-15 10:16:33 +01:00
Veselin Dobrev
e4597f09be openmpi: add package-specific 'headers' property (#7267)
* [OpenMPI] Add the 'headers' property. This removes some redundant
headers from sub-directories, returned by the default '.headers'
handler.

* [OpenMPI] In the .headers property, add a fallback to search all of
prefix for the mpi.h header. Recommended by @junghans to support some
external configurations, see #7268.
2018-03-05 12:53:36 -07:00
alalazo
e72b69732e Changed keyword argument 'recurse' to 'recursive' 2018-02-13 02:18:28 -08:00
alalazo
efd2a95781 find has been changed to accept glob expressions
Following the discussion with Todd and Adam, find has been modified to
accept glob expressions. This should not affect performance as every
glob implementation I inspected has 3 cases (no wildcard, wildcard but
no directories involved, wildcard and directories involved) and uses
fnmatch underneath.

Mixins have been changed to do by default a non-recursive search (but
a recursive search can still be triggered using the recursive keyword).
2018-02-13 02:18:28 -08:00
alalazo
c62b3eef55 filter_compiler_path: added the possibility to narrow search path
Following a comment from Todd, the search path for the files listed in
`filter_compiler_wrappers` can now be narrowed. Anyhow, the function
implementation still makes use of `find`, the rationale being that we
have already seen packages that install artifacts in e.g. architecture
dependent folders. The possibility to have a relative search path might
be a good compromise between the previous approach and the one suggested
in the review.

Also: 'ignore_absent' and 'backup' keyword arguments can be optionally
forwarded to `filter_file`.
2018-02-13 02:18:28 -08:00
alalazo
22def01adf mixins: implemented declarative syntax
Implemented a declarative syntax for the additional behavior that can
get attached to classes. Implemented a function to filter compiler
wrappers that uses the mechanism above.
2018-02-13 02:18:28 -08:00
alalazo
8e0f9038ab Improved naming of properties and classes (per Denis comments). 2018-02-13 02:18:28 -08:00
alalazo
28e129b087 Added mixins to modularize common behaviors across build-systems.
Modifications:
  * added a mixin to filter compiler wrappers from files
  * modified hdf5, openmpi, mpich, mvapich2 to use it
2018-02-13 02:18:28 -08:00
Howard Pritchard
af1b93b3db Open MPI: add 2.0.4 release to package file (#6310)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-11-15 13:03:07 -07:00
Christoph Junghans
02335fa849
ucx: initial commit (#6265) 2017-11-13 10:47:58 -07:00
Todd Gamblin
05fa302655
Replace github.com/llnl/spack with github.com/spack/spack (#6142)
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-11-04 17:08:04 -07:00
Howard Pritchard
699f34c33f OpenMPI: add 2.1.2 bug fix release (#5418) 2017-09-21 13:26:23 -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
Michael Kuhn
84ae7872d3 Update copyright notices for 2017 (#5295) 2017-09-06 17:44:16 -10:00
snehring
db74f4c3a1 Add a new package for IcedTea (#4804)
* alsa-lib: new package

* cups: new package

* icedtea: new package

* icedtea: adding JAVA_HOME variable

* alsa: removing placeholder

* icedtea: typo fix

* alsa: fixing formattting

* icedtea: formatting fixes and cleanup

* icedtea: additional cleanup

* jdk: adding provides('java') to jdk, setting jdk to default java.

* icedtea: adding jdk as a dependency

* java: changing depends_on('jdk') and similar entries to depends_on('java')

* icedtea: removing unused imports, trying to placate flake8.

* fastqc: fixing flake8 error

* bazel: fixing typo in java dependency

* jdk: changing provides java to a range

* icedtea: cleaning up. Splitting up checksums.

* icedtea: jdk dependency is build only
2017-08-05 14:53:09 -05:00
Jon Rood
904f6f0572 Adding a bit more Mellanox MXM capability to OpenMPI. (#4762) 2017-07-18 13:45:43 -05:00
Adam J. Stewart
9933d759ac Update hdfgroup packages to new URL structure (#4643)
* Update hdfgroup packages to new URL structure

* Update docs now that HDF5 URL isn't that complicated
2017-06-29 21:38:47 -05:00
Todd Gamblin
cac4362f64 Make LICENSE recognizable by GitHub. (#4598) 2017-06-24 22:22:55 -07:00
Adam J. Stewart
cf2178f416 Overhaul CONVERGE installation and concretization (#4397) 2017-06-19 10:18:48 -05:00
Adam J. Stewart
60db73a3f5 Fix OpenMPI CUDA support (#4323)
* Fix OpenMPI CUDA support

* Remove --with-cuda-libdir flag, not a real flag

* Fix PGI and CUDA 7 support
2017-06-16 10:00:19 -05:00
Howard Pritchard
4e92811939 Open MPI: add 2.0.3 (#4450)
Add Open MPI bug fix release 2.0.3

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-06-07 14:42:49 -05:00
Adam J. Stewart
336d988cc6 Add every version of OpenMPI (#4372) 2017-05-30 10:16:43 -05:00
Howard Pritchard
64dfc8bda6 Open MPI: add 2.1.1 to the list (#4204)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-05-10 16:08:52 -05:00
George Hartzell
ba32f0d3a2 Make openmpi package defn more robust (#4183)
Make openmpi handle bad ibv_devices return statuses without bailing out completely.

See #4162 for background.
2017-05-09 18:00:08 -05:00
Massimiliano Culpo
9e4b0eb34a Multi-valued variants (#2386)
Modifications:
- added support for multi-valued variants
- refactored code related to variants into variant.py
- added new generic features to AutotoolsPackage that leverage multi-valued variants
- modified openmpi to use new features
- added unit tests for the new semantics
2017-05-01 13:08:47 -07:00
Jimmy Tang
00fb0dd6c6 Openmpi cuda support (#3725)
* Update cuda to latest ga2 release

* Add CUDA support to openmpi

* Use spec's lib directories for cuda

* flake8 compliance
2017-04-06 16:12:54 +02:00
Todd Gamblin
221f179716 Add better tests for web.py; fix some bugs found with spidering.
- _spider in web.py was actually failing to spider deeper than a certain
  point.
- Fixed multiprocessing pools to not use daemons and to allow recursive
  spawning.
- Added detailed tests for spidering and for finding archive versions.
- left some xfail URL finding exercises for the reader.
- Fix noqa annotations for some @when decorators
2017-04-01 15:10:45 -07:00
Howard Pritchard
7c82db07ac Open MPI: add new packages (#3519)
there were various updated packages, both for the 2.x, 2.0.x,
and 1.10.x release branches of Open MPI.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 3b671935783fc3af76dc642a54461c2f02ab8ebf)
2017-03-22 16:16:32 -05:00
Adam J. Stewart
dca4d2b15e Consistent docs and usage of env mod methods (#3351) 2017-03-14 22:26:44 -07:00
Massimiliano Culpo
ed582cef68 New interface for passing build information among specs (#1875)
- Added a new interface for Specs to pass build information
  - Calls forwarded from Spec to Package are now explicit
  - Added descriptor within Spec to manage forwarding
  - Added state in Spec to maintain query information
  - Modified a few packages (the one involved in spack install pexsi) to showcase changes

- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
  - wrapper is returned from `__getitem__` only if spec is concrete
  - allows packagers to access build information easily
2017-03-02 10:01:29 -08:00
Howard Pritchard
0cdbd74b82 openmpi (#2988)
We just released 2.0.2 yesterday, so add in that release for
spack.  Don't need the PMI patch for this release.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-02-03 14:10:44 -08:00
健美猫
a08ccbedee Patch OpenMPI 2.0.x to fix pmi_opcaddy_t_class issue. (#2962) 2017-01-31 14:52:38 -05:00
Massimiliano Culpo
fc866ae0fe build systems: simpler, clearer decorators: run_after, run_before (#2860)
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check`

* PackageMeta: removed `precondition` and `sanity_check`

* PackageMeta: decorators are now free-standing

* package: modified/added docstrings. Fixed the semantics of `on_package_attributes`.

* package: added unit test assertion as side effects of install

* build_systems: factored build-time test running into base class

* r: updated decorators in package.py

* docs: updated decorator names
2017-01-25 08:57:01 -07:00
Erik Schnetter
9b7001fda1 OpenMPI: Update auto-detection of Verbs library location (#2124) 2017-01-18 14:54:39 -08:00
Adam J. Stewart
9115ab5097 Add Java support to OpenMPI (#2285)
* Update OpenMPI to the AutotoolsPackage

* Add Java support to OpenMPI

* Fix missing commas

* Be more specific about what versions support what flags

* Revert description for thread_multiple variant
2016-12-05 10:15:12 -08:00
Denis Davydov
46433b9eb3 require fortran for MPI providers to avoid delayed compiler errors (#1937)
* openmpi: require fortran for now

* mpich: requre fortran for now

* mvapich2: require fortran for now

* openmpi: flake8 fixes
2016-10-26 09:12:26 -07:00
Erik Schnetter
bbdc429db3 Update OpenMPI to 2.0.1 (#1721) 2016-09-20 02:13:40 -07:00
Kelly Thompson
f0192edf0d For OpenMPI v 2+, add a configure option to provide C++ bindings. (#1730)
+ Starting with version 2.0, OpenMPI no longer provides C++ bindings by default
  (libmpi_cxx.so). Add a configure option to instruct the build to also build
  and install libmpi_cxx.so.
+ This MPI feature is needed by at least one spack package (moab).
2016-09-06 06:55:37 -07:00
Massimiliano Culpo
497bbb3ae3 added package : pexsi (#1550)
* pexsi : added package
* cp2k : added pexsi (works for gcc+openmpi with and without plumed)
2016-09-03 08:13:47 -07:00
Erik Schnetter
d78d18c4bd Update OpenMPI description (#1705) 2016-09-02 10:57:35 -07:00
Todd Gamblin
84e331c586 Remove unneeded noqa comments. 2016-08-10 16:33:39 -07:00
Erik Schnetter
5a1ed51dcd Correct indentation 2016-07-15 18:10:33 -04:00
Erik Schnetter
4663288b49 Update to OpenMPI 2.0.0 2016-07-15 13:00:48 -04:00
Adam J. Stewart
8921bf4552 Add MPI environment variables to packages 2016-06-23 10:08:40 -05:00
alalazo
b86e3047f3 openmpi : revert part of #1079 (OpenMPI can be built without fortran)
Building OpenMPI without fortran is possible, and was already handled.
 Raising an install error we effectively renounce at clang+OpenMPI.

 build_environment : sets 'CC', 'CXX', and similar variables only if a compiler is found
2016-06-20 20:46:11 +02:00
Todd Gamblin
cec283f608 Merge pull request #1059 from epfl-scitas/packages/mpi_wrappers_with_rpath
MPI : have wrappers set RPATH instead of RUNPATH
2016-06-20 10:47:24 -07:00
Todd Gamblin
c2d0870924 Merge pull request #1063 from eschnett/eschnett/openmpi-1.10.3
Update OpenMPI to 1.10.3
2016-06-20 10:45:56 -07:00
Denis Davydov
cf4a34c657 openmpi: raise an error without Fortran compiler 2016-06-19 11:59:29 +02:00
Erik Schnetter
a7ab064a9e Update OpenMPI to 1.10.3 2016-06-15 18:05:23 -04:00
alalazo
b09bee8158 qa : fixed flake8 issues 2016-06-15 13:29:30 +02:00
alalazo
b59d4f243b openmpi, mvapich2, mpich : filtered out "--Wl,--enable-new-dtag" in wrappers, as it turns RPATH into RUNPATH
Apart from that turned `os.path.join` into `join_path` and `os.environ` into `env` in the packages
2016-06-15 13:21:39 +02:00
Erik Schnetter
953b65abcc Do not pass "/usr" or "/usr/local" as path to configure 2016-06-11 16:41:39 -04:00
Erik Schnetter
09eed08b9c Auto-detect verbs location 2016-05-20 16:24:48 -04:00
Veronica G. Vergara Larrea
6c95a5d496 the right flag here is +, the default behavior is controlled in the variant 2016-05-17 14:37:36 -04:00
Veronica G. Vergara Larrea
471950434e add a flag to openmpi to allow users to disable vt support 2016-05-17 13:40:01 -04:00
Todd Gamblin
e7ced54369 Correct LLNL LGPL license template for clarity. 2016-05-11 21:22:25 -07:00
alalazo
474048ae8b openmpi : fixes #920, added sqlite as a dependency
The default for the variant `pmi` has been set to `False`
 `sqlite` is now a dependency if `+sqlite3`
2016-05-10 09:02:16 +02:00
alalazo
3d7684277a Merge branch 'openmpi_variants' of github.com:epfl-scitas/spack into openmpi_variants
Conflicts:
	var/spack/repos/builtin/packages/openmpi/package.py
2016-05-09 10:56:26 +02:00
alalazo
497ed9f933 Merge branch 'develop' of https://github.com/LLNL/spack into openmpi_variants
Conflicts:
	var/spack/repos/builtin/packages/openmpi/package.py
2016-05-09 08:23:30 +02:00
Massimiliano Culpo
7d5bb088b4 Merge branch 'develop' of https://github.com/LLNL/spack into openmpi_variants
Conflicts:
	var/spack/repos/builtin/packages/openmpi/package.py
2016-05-07 15:08:27 +02:00
Tom Scogland
86449790fe add pmi support and process managers to the MPIs 2016-05-06 15:15:40 -07:00
Todd Gamblin
10b0cb108c Merge pull request #893 from davydden/mpi_dependent_env
Introduce variables for MPI compiler wrappers and document their usage
2016-05-05 01:40:11 -07:00
Denis Davydov
b12fb7ebc8 mpi: move mpicc/mpicxx/mpifc/mpif77 to setup_dependent_package() 2016-05-05 10:24:32 +02:00
Denis Davydov
c3317819cb mpi: add self.spec.[mpicc|mpicxx|mpifc|mpif77] to avoid hardcoding MPI wrappers names 2016-05-04 10:37:52 +02:00
Adam J. Stewart
51c6867f72 Re-add hwloc as a dependency of openmpi 2016-05-03 10:30:35 -05:00
Massimiliano Culpo
cfc25d0a92 Merge branch 'develop' into openmpi_variants 2016-05-02 18:26:05 +02:00
Adam J. Stewart
c110865bf2 Remove OpenMPI dependency on hwloc 2016-05-02 11:06:33 -05:00
Massimiliano Culpo
6cffac79bd openmpi : added a few variants 2016-04-09 11:21:29 +02:00
Todd Gamblin
b1516f64eb Rename some environment methods to be less repetitive, add set_path. 2016-03-21 16:01:40 -07:00
Todd Gamblin
439d47b4e4 Refactor environment setup.
- Gave setup_environment and setup_dependent_environment more similar
  signatures. They now allows editing the Spack env and the runtime
  env for *this* package and dependents, respectively.

- modify_module renamed to setup_dependent_python_module for symmetry
  with setup_dependent_environment and to avoid confusion with
  environment modules.

- removed need for patching Package objects at runtime.

- adjust packages to reflect these changes.
2016-03-21 16:01:35 -07:00
alalazo
f0f0663d1b package : split environment_modifications into setup_environment and setup_dependent_environment.
package : renamed `module_modifications` to `modify_module` for consistency
2016-03-17 15:11:39 +01:00
alalazo
572cb93bf8 package : renamed setup_dependent_environment to module_modifications 2016-03-15 14:05:30 +01:00
alalazo
c85888eb57 package : added environment_modifications 2016-03-15 13:36:41 +01:00
Erik Schnetter
2f70c842b8 Disable patch that was merged into upstream in 1.10.2 2016-01-21 14:13:39 -05:00
Erik Schnetter
6b3f023d98 Update OpenMPI to 1.10.2 2016-01-21 14:05:16 -05:00
alalazo
19caac69d8 openmpi : turned torque support into a variant (default false)
hdf5 : fixed a few bugs, removed suspicious macro deinition, etc.
2016-01-20 15:22:49 +01:00
Todd Gamblin
8d6342c53d Merge branch 'mplegendre-multi_pkgsrc_roots' into develop
- This moves var/spack/packages to var/spack/repos/builtin/packages.

- Packages that did not exist in the source branch, or were changed in
  develop, were moved into var/spack/repos/builtin/packages as part of
  the integration.

Conflicts:
	lib/spack/spack/test/unit_install.py
	var/spack/repos/builtin/packages/clang/package.py
2016-01-19 01:16:08 -08:00
Todd Gamblin
c65fd3a289 Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
Conflicts:
	lib/spack/spack/cmd/create.py
	lib/spack/spack/cmd/extensions.py
	lib/spack/spack/cmd/fetch.py
	lib/spack/spack/cmd/uninstall.py
	lib/spack/spack/config.py
	lib/spack/spack/database.py
	lib/spack/spack/directory_layout.py
	lib/spack/spack/packages.py
	lib/spack/spack/spec.py
2015-12-25 16:35:55 -08:00
Todd Gamblin
89d5127900 New, cleaner package repository structure.
Package repositories now look like this:

    top-level-dir/
        repo.yaml
        packages/
            libelf/
                package.py
            mpich/
                package.py
            ...

This leaves room at the top level for additional metadata, source,
per-repo configs, indexes, etc., and it makes it easy to see that
something is a spack repo (just look for repo.yaml and packages).
2015-11-26 14:19:27 -08:00