Compare commits

...

3811 Commits

Author SHA1 Message Date
Elizabeth Fischer
30e563bd23 Edits... 2016-08-30 23:48:34 -04:00
Elizabeth Fischer
5450f9b917 1. Rewrite of "Getting Started": everything you need to set up Spack, even on old/ornery systems. This is not a reference manual section; items covered here are covered more systematically elsewhere in the manual. Some sections were moved here from elsewhere.
2. Beginning to write three methods of application developer support.  Two methods were moved from elsewhere.
2016-08-29 23:06:38 -04:00
Elizabeth Fischer
72a3d35d0c Transferred pending changes from efischer/develop 2016-08-29 18:26:10 -04:00
Robert D. French
a21d3d353b New URL scheme for newer (and older) PDTs (#1651) 2016-08-29 10:01:04 -07:00
Todd Gamblin
2850ca60be Change spack --profile sort key for 2.6 compatibility. (#1656) 2016-08-29 09:56:54 -07:00
Robert D. French
4095eb2196 Ole' GNU nano; Actually ran flake8 (#1649) 2016-08-29 09:21:19 -07:00
Todd Gamblin
f7ee8d001a Merge pull request #1564 from adamjstewart/features/create
Suggest setuptools when creating Python package
2016-08-29 09:11:45 -07:00
Todd Gamblin
57033a62fa Merge pull request #1563 from adamjstewart/features/sphinx
Add all Sphinx dependencies
2016-08-29 09:08:46 -07:00
Todd Gamblin
31cab4bae2 Merge pull request #1619 from davydden/pkg/nwchem_macos_fix
nwchem: use basename for CC and FC
2016-08-29 06:51:14 -07:00
Denis Davydov
66ea42f8d7 nwchem: use basename for CC and FC 2016-08-29 15:15:23 +02:00
Todd Gamblin
f5c9a8c2ee Merge pull request #1650 from davydden/pkg/ape_octopus_comments
ape octopus: in-code comments
2016-08-29 06:02:19 -07:00
Denis Davydov
5333a799ea octopus: in-code comments to explain compiler flags 2016-08-29 08:45:28 +02:00
Denis Davydov
90070c317d ape: in-code comments to explain compiler flags 2016-08-29 08:45:15 +02:00
Todd Gamblin
a3f1ae8c4f Merge pull request #1041 from adamjstewart/features/matplotlib
Matplotlib Python package overhaul
2016-08-28 21:22:44 -07:00
Abhinav Bhatele
a9a29d207d add versions 2.2rc2 and 2.1 to the mvapich2 package (#1630) 2016-08-28 20:18:57 -07:00
Erik Schnetter
e119c32a9c Hot-fix for qthreads (#1632)
The download tarball for qthreads vanished. Install it from a git branch instead as temporary work-around.
2016-08-28 20:18:24 -07:00
Jeffrey Salmond
82808f944a New package: opencoarrays (#1633)
* opencoarrays: new package

* opencoarrays: remove tests from install due to (unimportant) failures in some configurations

* opencoarrays: fix flake8 errors
2016-08-28 20:17:22 -07:00
Tyler Esser
83897af710 Documentation: Fix accidental quotation. version() takes expand as a keyword. (#1640) 2016-08-28 20:16:08 -07:00
Adam J. Stewart
d39322e278 Run flake8 checks on new untracked files (#1510) 2016-08-28 19:35:09 -07:00
Robert D. French
974749aaf6 Provide mpi-less variant for nco (#1643) 2016-08-28 19:15:15 -07:00
Erik Schnetter
6acfcd82b1 Update Julia to 0.5 release branch; install some Julia package as well (#1637)
* Update Julia to 0.5 release branch; install some Julia package as well

* Add comments, correct flake8 error

* Correct flake8 error
2016-08-28 17:46:10 -07:00
Robert D. French
079d063c6d Variant for building cdo without mpi (#1638) 2016-08-28 17:43:54 -07:00
Erik Schnetter
db7c3d2de6 New package for the Mercurial (hg) version control system (#1644)
* New package "mercurial"

* Disable self-checks

The self-checks require subversion, which we don't want to require.
2016-08-28 17:31:15 -07:00
Todd Gamblin
2053db4d17 Make clang detection work on AWS Ubuntu14. 2016-08-27 17:04:46 -07:00
Todd Gamblin
7ebb17e459 Remove stale operating_system.py test per discussion in #1631
- Test has not been registered in `__init__.py` for a while and needs a
  refresh.
2016-08-25 21:20:34 -07:00
becker33
e73a1a4ec3 Merge pull request #1558 from mcfadden8/mmcfadden-features/gcc-pic-libraries
Added variant to gcc package to install PIC versions of libgfortran and libstdc++
2016-08-25 16:00:00 -07:00
Gregory Lee
77c24d4127 Merge pull request #1379 from LLNL/features/graphlib3
added stat 3.0 beta and added pygtk and dependent packages
2016-08-25 09:14:36 -07:00
Massimiliano Culpo
80754a4062 and the missing word is... (#1628) 2016-08-25 02:46:12 -07:00
Todd Gamblin
8170bcfcdd Merge pull request #1574 from ARCCA/plumed-push
Update plumed package to include optional modules
2016-08-25 02:45:33 -07:00
Andrew Williams
07e0da24c5 Reverted url to point to tarball rather than git tag 2016-08-25 10:21:56 +01:00
Todd Gamblin
22d2786940 Merge pull request #1580 from davydden/pkg/trilinos_url_fix
trilinos: switch to github url; fix missing py-numpy dependency
2016-08-25 02:10:05 -07:00
Todd Gamblin
e9bc3a9e32 Merge pull request #663 from citibeth/efischer/160327-DocumentationImprovements
[RtM] Documentation Improvements
2016-08-25 02:04:30 -07:00
Todd Gamblin
848299ba38 Merge pull request #1621 from KineticTheory/boost-intel
Boost: fix recipe for Intel compilers.
2016-08-24 15:23:29 -07:00
Kelly (KT) Thompson
2ddaabed25 + Boost: fix recipe for intel compilers.
This is the same patch provided by PR #550, but rebased against the current
develop branch. It also passes the flake8 checks.
2016-08-24 15:57:28 -06:00
Todd Gamblin
062ff13da6 Make spack info print deps in sorted order 2016-08-24 14:10:25 -07:00
Todd Gamblin
93cb2db531 Fix build dependency. 2016-08-24 14:10:12 -07:00
Todd Gamblin
a7e568b1d1 Merge branch 'eschnett/sympol' of git://github.com/eschnett/spack into eschnett-eschnett/sympol 2016-08-24 14:05:05 -07:00
Todd Gamblin
19bbe5e421 Merge pull request #1596 from eschnett/eschnett/git-update
Update git to 2.9.3
2016-08-24 14:03:04 -07:00
Todd Gamblin
86fe78f5f1 Merge pull request #1582 from eschnett/eschnett/gcc-update
Update gcc to @6.2.0
2016-08-24 14:02:54 -07:00
Elizabeth Fischer
85be3aefa7 Put url_for_version() after versions in example. 2016-08-24 15:26:19 -04:00
Todd Gamblin
24c0ece841 Merge pull request #1615 from trws/module_delim_portability
avoid specifying --delim unless required
2016-08-24 12:12:44 -07:00
Tom Scogland
2b6833cb80 appeasing flake8, also cleaning up header
The header append lines were too long, so I just converted it into a
multi-line string template so it's all one piece now instead of a bunch
of appends.
2016-08-24 11:56:33 -07:00
Tom Scogland
73620fe868 avoid specifying --delim unless required
This increases portability of generated module files to versions of
environment_modules hearkening back to just after the turn of the
millennium.
2016-08-24 11:00:16 -07:00
Todd Gamblin
e6bac6f208 Merge pull request #1613 from eschnett/eschnett/cmake-update
Update cmake to 3.6.1
2016-08-24 08:49:33 -07:00
Todd Gamblin
63859bf113 Merge pull request #1575 from davydden/pkg/nwchem
nwchem: add new package
2016-08-24 08:49:11 -07:00
Todd Gamblin
5cfa74801f Merge pull request #1565 from adamjstewart/features/fftw
Add latest version of fftw
2016-08-24 08:49:00 -07:00
Adam J. Stewart
5970b7a00a Only run tests if explicitly requested 2016-08-24 10:34:20 -05:00
Erik Schnetter
41750ce70d Update cmake to 3.6.1 2016-08-24 10:45:13 -04:00
Denis Davydov
d154f151aa py-cclib: new package 2016-08-24 16:26:35 +02:00
Denis Davydov
6d2d5806b5 nwchem: add python module 2016-08-24 13:40:02 +02:00
citibeth
8a481e7e13 Added CMake-based Development case study to docuemntation. 2016-08-23 16:39:01 -04:00
Elizabeth F
86d39255ec Explained url_for_version() 2016-08-23 16:39:01 -04:00
citibeth
2efd7a5e0b Added note on use of 'less -R' for colorized output. 2016-08-23 16:36:02 -04:00
Denis Davydov
dae219d5c3 nwchem: add another patch 2016-08-23 22:24:16 +02:00
Denis Davydov
459b6eae11 nwchem: add another patch 2016-08-23 22:15:38 +02:00
Erik Schnetter
3194f2001b Update git to 2.9.3 2016-08-23 15:35:43 -04:00
Erik Schnetter
05f5ba4bf9 Correct flake8 errors 2016-08-23 14:57:29 -04:00
Erik Schnetter
73cae8d9c4 Implement review requests
- use two empty lines before `class`
- change version numbering scheme for packages, use `url_for_version` to make things work
- specify dependency types
- add comment about temporarily moved download location
- update two packages to newer versions
2016-08-23 13:52:28 -04:00
Denis Davydov
52ae0ea055 trilinos: use version.dashed 2016-08-23 18:48:17 +02:00
Todd Gamblin
de12a34415 Merge pull request #1586 from davidbeckingsale/patch-1
Ensure RAJA builds out-of-source
2016-08-23 08:55:50 -07:00
David Beckingsale
243d516bf0 Ensure RAJA builds out-of-source 2016-08-23 08:18:26 -07:00
Denis Davydov
6500ac80e4 nwchem: fix lapack detection 2016-08-23 16:46:40 +02:00
Erik Schnetter
a2692e4ef5 sympol: Add package 2016-08-23 10:41:08 -04:00
Erik Schnetter
bdc825fc3c cddlib: Point download url to a (more reliable) Fedora server 2016-08-23 09:59:56 -04:00
Erik Schnetter
64d3f87e60 Merge branch 'develop' into eschnett/sympol 2016-08-23 09:45:46 -04:00
Denis Davydov
7eb386e55e nwchem: add patches 2016-08-23 14:52:18 +02:00
Denis Davydov
5da9116c06 nwchem: add scalapack; extra steps for 32bit blas/lapack 2016-08-23 11:55:00 +02:00
Denis Davydov
aca8576de4 trilinos: switch to github url; fix missing py-numpy dependency 2016-08-23 10:50:08 +02:00
Todd Gamblin
e81f3daa28 Merge pull request #1519 from mathstuf/fix-deptypes
Fix deptypes
2016-08-22 21:40:25 -07:00
Erik Schnetter
7b49166f9b Update gcc to @6.2.0
Also add some missing older version.
Update download location to original GNU location.
2016-08-22 20:26:54 -04:00
Denis Davydov
a44beee172 nwchem: add new package 2016-08-23 02:22:44 +02:00
Andrew Williams
65abd279cd Renamed intelmpi as suggested 2016-08-22 13:44:21 +01:00
Andrew Williams
87d15212eb Cleaned branch to only include plumed package 2016-08-22 12:30:17 +01:00
Andrew Williams
4b354cbe26 Merge pull request #1 from ARCCA/plumed
Plumed
2016-08-22 12:15:35 +01:00
Andrew Williams
226d4f04f3 Spelling tweaks and consistent quoting 2016-08-22 12:09:50 +01:00
Andrew Williams
5661afa315 Passed flake8 tests 2016-08-22 12:03:47 +01:00
Andrew Williams
0c8462723b Found upstream plumed package and modified this one to match 2016-08-22 11:24:03 +01:00
Todd Gamblin
fbe76c41fd Merge pull request #1570 from eschnett/eschnett/hdf5-blosc-2
hdf5-blosc: Correct download url
2016-08-21 12:12:09 -07:00
Erik Schnetter
78685addbb hdf5-blosc: Correct download url 2016-08-21 14:39:54 -04:00
Todd Gamblin
55b1182a4c Merge pull request #1554 from eschnett/eschnett/hdf5-blosc
hdf5-blosc: Remove commit id from version specification
2016-08-21 09:44:25 -07:00
Adam J. Stewart
d5903e4612 Flake8 2016-08-19 17:06:34 -05:00
Adam J. Stewart
f0f2c6c486 Add latest version of fftw 2016-08-19 17:05:14 -05:00
Gregory L. Lee
a177b9be8a updated stat 3.0.0b url 2016-08-19 13:11:21 -07:00
Adam J. Stewart
df623dad15 Suggest setuptools when creating Python package 2016-08-19 14:31:42 -05:00
Adam J. Stewart
835b8f246e py-sphinx requires py-setuptools during runtime 2016-08-19 14:20:31 -05:00
Adam J. Stewart
d7873b5319 Swap lowercase for uppercase in URL 2016-08-19 14:00:50 -05:00
Adam J. Stewart
c1af0d3806 Fix binary conflicts during sphinx activation 2016-08-19 13:54:22 -05:00
Adam J. Stewart
d4e3699510 Add all Sphinx dependencies 2016-08-19 13:44:00 -05:00
Erik Schnetter
466da3afcc Remove commented-out outdated commit id 2016-08-19 11:52:40 -04:00
Andrew Williams
90e5ccd98c Cleaned up commented out code in intelmpi package 2016-08-19 15:01:46 +01:00
Andrew Williams
13f636ec68 Added required arguments to get plumed to build with intelmpi 2016-08-19 15:00:21 +01:00
Tom Scogland
c8dd1bb40b Merge pull request #1527 from SteVwonder/py-cffi-rpath-fix
py-cffi: set LDSHARED in env so that rpath is set
2016-08-18 11:55:40 -07:00
Stephen Herbein
3445a781eb py-cffi: set LDSHARED env so that rpath is set
py-cffi's .so was being built without the rpath being set.  distutils
looks at the LDSHARED for which compiler to use to build the final .so.
Since it was not set, distutils fell back to the system provided
compiler.  Setting it forces the shared library to be compiled with the
spack compiler (meaning that the rpath is set correctly).
2016-08-18 11:32:19 -07:00
Andrew Williams
6641f42417 Not compiling due to mpi error. Also getting this error from the command line so could be separate issue. Otherwise package definition first draft complete. 2016-08-18 13:19:36 +01:00
Erik Schnetter
296212d78d hdf5-blosc: Remove commit id from version specification
The respective commit seems to have vanished.
Now using the master branch without specifying a particular commit.
2016-08-17 16:36:33 -04:00
Marty McFadden
f4ec99ecb4 Added +piclibs variant for building PIC versions of libgfortran.a and libstdc++.a 2016-08-17 09:28:21 -07:00
Andrew Williams
b99e945e6d Added variants and dependencies to plumed but I'm getting an error when trying to resolve mpi to a valid virtual package 2016-08-17 15:43:59 +01:00
becker33
7f57405eac Merge pull request #1531 from davydden/pkg/ape
ape: add new package
2016-08-16 10:52:27 -07:00
becker33
e8afbfbce7 Merge pull request #1530 from davydden/pkg/octopus
octopus: new package
2016-08-16 10:49:41 -07:00
Denis Davydov
5dcc0f7802 ape: add new package 2016-08-16 19:42:32 +02:00
Denis Davydov
9509c10064 octopus: new package 2016-08-16 19:38:38 +02:00
Gregory L. Lee
f182590aae added pkg-config to build deps of cairo and pixman 2016-08-15 15:17:53 -07:00
Gregory L. Lee
54ef9443d3 fix atk url_for_version 2016-08-15 13:51:54 -07:00
Gregory L. Lee
74dd7a36b5 allow parallel build of stat 2016-08-15 13:51:54 -07:00
Gregory L. Lee
749a4e78c7 gobject-introspection requires glib version 2.48.1 2016-08-15 13:51:54 -07:00
Gregory L. Lee
3df208efc0 stat and dependences package updates 2016-08-15 13:51:53 -07:00
Gregory L. Lee
69931996bf added dyninst patches for stat+dysect 2016-08-15 13:51:53 -07:00
Gregory L. Lee
f9cb21e886 flake 8 fixes for dyninst 2016-08-15 13:51:53 -07:00
Gregory L. Lee
0074ecd6fa dyninst package use spec.satisfies instead of @when 2016-08-15 13:51:52 -07:00
Gregory L. Lee
8b94937609 flake 8 fixes for stat and dependents
flake 8 fixes for dyninst

flake 8 fixes for dyninst

flake 8 fixes for dyninst
2016-08-15 13:50:39 -07:00
Gregory L. Lee
bd8aab00e4 updated stat and added pygtk and dependent packages 2016-08-15 13:48:58 -07:00
Todd Gamblin
ae20e53cfb Merge pull request #1524 from epfl-scitas/bugfix/urls
stripping the links to remove spaces and '\n'
2016-08-15 13:42:38 -07:00
Nicolas Richart
37faa41b6f stripping the links to remove spaces and '\n' 2016-08-15 21:13:25 +02:00
Todd Gamblin
1e673bfa42 Don't assume spack is in the path when buildign docs. 2016-08-15 10:49:09 -07:00
Andrew Williams
27793d97dc temp commit in current state 2016-08-15 16:16:00 +01:00
Ben Boeckel
9ec1c0e18e opencv: make py-numpy a nolink dependency 2016-08-15 10:47:00 -04:00
Ben Boeckel
042666eb7e go: mark git as also being a runtime dependency 2016-08-15 10:46:45 -04:00
Ben Boeckel
826732efec packages: mark builddeps as type='build'
Less sure about these.
2016-08-15 10:46:23 -04:00
Ben Boeckel
eb13cbe9bd r-datatable: fix nolink dependency 2016-08-15 10:46:05 -04:00
Ben Boeckel
0d17d90b29 packages: mark builddeps as type='build' 2016-08-15 10:45:19 -04:00
Andrew Williams
3edfa390f7 Basic package file for plumed and boilerplate for external intel mpi 2016-08-15 11:19:40 +01:00
Adam J. Stewart
bc64990bc6 Replace python('setup.py' with setup_py( 2016-08-12 12:16:48 -05:00
Todd Gamblin
483e4116c0 Merge pull request #1509 from adamjstewart/docs/md5
Update documentation for spack md5
2016-08-12 09:19:36 -07:00
Todd Gamblin
e1c2ea5123 Merge pull request #1342 from adamjstewart/features/cgns
Add CGNS package
2016-08-12 09:19:07 -07:00
Adam J. Stewart
c815aed207 Update documentation for spack md5 2016-08-12 10:51:56 -05:00
Adam J. Stewart
d4377c1293 Add Python 3.5 support, latest version of PySide 2016-08-12 09:59:38 -05:00
Adam J. Stewart
633e540a17 Use GitHub URL for ImageMagick 2016-08-11 14:13:33 -05:00
becker33
ec7f58bf96 Merge pull request #1493 from xjrc/bugfix/nonbool-variants
Bug Fix : Allow Packages to Have Variants w/ Non-Bool, Non-String Defaults
2016-08-11 11:33:54 -07:00
becker33
1be63348b5 Merge pull request #1484 from mpbelhorn/olcf/correct_cce_compiler_name
Olcf/correct cce compiler name
2016-08-11 11:30:36 -07:00
Matt Belhorn
568305ddff Corrects Cray compiler name and adds missing version flag. 2016-08-11 13:56:21 -04:00
Todd Gamblin
cd6c370303 Merge pull request #1480 from adamjstewart/features/run-flake8
Various improvements to run-flake8
2016-08-11 10:31:43 -07:00
Adam J. Stewart
f147d64527 Rebase messed up flake8 2016-08-11 11:01:57 -05:00
Adam J. Stewart
04cee45ac9 Skip webengine until webkit support is added 2016-08-11 10:33:43 -05:00
Adam J. Stewart
2b0444b6f4 Latest version of pyside still has problems, add deps 2016-08-11 10:33:43 -05:00
Adam J. Stewart
b6fad65f52 Combine patch for all versions
Patch doesn't work with @when unless you specify a patch for every
version. When running `spack patch` for a version without a patch,
spack thinks that a patch exists, tries to apply it, but it doesn't
exist. Spack gets very confused.
2016-08-11 10:33:43 -05:00
Adam J. Stewart
1363b05e93 Add test dependencies 2016-08-11 10:33:43 -05:00
Adam J. Stewart
5cc76f7d84 Fix patch for py-pyside 1.2.4 2016-08-11 10:33:43 -05:00
Adam J. Stewart
59ce0c7514 Add patch to build qt 4 with GCC 6 2016-08-11 10:33:42 -05:00
Adam J. Stewart
ddf1879bed Remove glib dependency, causes problems with PCRE and JavaScript 2016-08-11 10:33:02 -05:00
Adam J. Stewart
90dd26397c Fix qt patch 2016-08-11 10:33:02 -05:00
Adam J. Stewart
7135299a66 Add latest version of pcre 2016-08-11 10:33:02 -05:00
Adam J. Stewart
ac15d5d619 Add patch for qt gamepad compilation problems 2016-08-11 10:33:01 -05:00
Adam J. Stewart
eac9a5905f Flake8 and url_for_version changes 2016-08-11 10:33:01 -05:00
Adam J. Stewart
80742b2647 Add latest version of qt 2016-08-11 10:30:31 -05:00
Adam J. Stewart
8a0824df09 Update matplotlibrc filtering for GUI backends 2016-08-11 10:28:35 -05:00
Adam J. Stewart
a388871083 Update ImageMagick to latest version 2016-08-11 10:28:35 -05:00
Adam J. Stewart
2b83ea30e7 Re-add ipython support 2016-08-11 10:28:35 -05:00
Adam J. Stewart
f56de63972 Fix cycler dependencies, update qhull version names 2016-08-11 10:28:35 -05:00
Adam J. Stewart
0b8a3ad8ad Flake8 2016-08-11 10:28:34 -05:00
Adam J. Stewart
aa6a6df640 Undo changes to GUI framework 2016-08-11 10:28:34 -05:00
Adam J. Stewart
e905ce16c9 Flake8 2016-08-11 10:28:34 -05:00
Adam J. Stewart
11e595089d Matplotlib overhaul 2016-08-11 10:28:33 -05:00
Adam J. Stewart
87d0a7c315 Always clean up tmp files, even if killed 2016-08-11 09:56:41 -05:00
Adam J. Stewart
09c9786fab Allow run-flake8 to be run from anywhere 2016-08-11 09:53:04 -05:00
Adam J. Stewart
1edfc82123 Run flake8 checks on changed uncommitted files 2016-08-11 09:53:04 -05:00
Todd Gamblin
e6a122417a Merge pull request #1491 from eschnett/eschnett/curl
Update curl to 7.50.1
2016-08-11 03:04:07 -07:00
becker33
f59653ac2c Merge pull request #1496 from LLNL/features/pep8-compliance
PEP8 compliance
2016-08-10 17:36:31 -07:00
Todd Gamblin
84e331c586 Remove unneeded noqa comments. 2016-08-10 16:33:39 -07:00
Todd Gamblin
db59f87e32 Update README.md for PEP8 2016-08-10 16:33:39 -07:00
Todd Gamblin
240f1fd223 Spack packages now PEP8 compliant. 2016-08-10 16:33:39 -07:00
Todd Gamblin
867121ca68 Move jsonschema files out of config.py to their own package. 2016-08-10 16:33:38 -07:00
Todd Gamblin
bf1072c902 Make Spack core PEP8 compliant. 2016-08-10 16:33:37 -07:00
Todd Gamblin
8061deb883 Merge pull request #1495 from LLNL/bugfix/module-init-deprecation-gh1494
Fix superclass constructor args.
2016-08-10 16:12:23 -07:00
Todd Gamblin
e7f4fd404d Fix superclass constructor for SpackNamespace objects. 2016-08-10 15:54:13 -07:00
Joseph Ciurej
aa860bf4df Fixed a bug that was making packages with non-bool default variants to crash. 2016-08-10 11:54:33 -07:00
Erik Schnetter
158deae625 Update curl to 7.50.1 2016-08-10 13:51:57 -04:00
becker33
cfde03e694 Merge pull request #1485 from hartzell/patch-6
Fix typo 'flexbile' -> 'flexible'
2016-08-09 15:34:51 -07:00
George Hartzell
4bca1c5440 Fix typo 'flexbile' -> 'flexible' 2016-08-09 15:13:08 -07:00
Todd Gamblin
d380d16427 Merge pull request #1482 from mpbelhorn/olcf/do_not_use_ssl_to_fetch_upstream_openssl
Openssl package should not require openssl (https) to obtain source.
2016-08-09 13:22:31 -07:00
Matt Belhorn
2be065418b Openssl package should not require openssl (https) to obtain source. 2016-08-09 15:57:07 -04:00
Todd Gamblin
a095fd517f Merge pull request #1015 from LLNL/features/faster-virtuals
Faster virtuals and concretization
2016-08-09 10:33:40 -07:00
becker33
fb9f6fe9b5 Merge pull request #1473 from epfl-scitas/packages/plumed_dependents
plumed : added dependents (gromacs, cp2k)
2016-08-09 09:14:33 -07:00
Todd Gamblin
9d4a36a62f Properly re-raise exceptions from lock context handler. 2016-08-09 02:25:09 -07:00
Todd Gamblin
0c75c13cc0 Flake8 fixes 2016-08-09 02:25:07 -07:00
alalazo
38dcd6bce9 qa : flake8 issues 2016-08-09 09:54:24 +02:00
Todd Gamblin
102ac7bcf1 Move provider cache to home directory and refactor Transactions
Major stuff:

- Created a FileCache for managing user cache files in Spack.  Currently just
  handles virtuals.

- Moved virtual cache from the repository to the home directory so that users do
  not need write access to Spack repositories to use them.

- Refactored `Transaction` class in `database.py` -- moved it to
  `LockTransaction` in `lock.py` and made it reusable by other classes.

Other additions:

- Added tests for file cache and transactions.

- Added a few more tests for database

- Fixed bug in DB where writes could happen even if exceptions were raised
  during a transaction.

- `spack uninstall` now attempts to repair the database when it discovers that a
  prefix doesn't exist but a DB record does.
2016-08-09 00:24:54 -07:00
alalazo
5362864cc9 plumed : fixed name clash on attribute 2016-08-09 09:24:36 +02:00
Massimiliano Culpo
15d9fb1879 plumed : adding dependents
* cp2k : added plumed
* gromacs : patched pme load balancing
* gromacs : added plumed
2016-08-09 09:23:53 +02:00
Todd Gamblin
2042e9a6d8 Fix bugs with sparse spec printing.
- Make namespace, arch, and dependnecies show up in spec yaml
  only if they're set.

- Lost some of this functionality with deptypes
2016-08-08 21:04:23 -07:00
Todd Gamblin
1339714eec Restore text output in verbose mode. 2016-08-08 21:04:23 -07:00
Todd Gamblin
5d690c9270 Make compiler command test last until caching is fixed.
- global compiler cache breaks tests that come after this one.
2016-08-08 21:04:23 -07:00
Todd Gamblin
e5743db9b9 Fix issues with import order in tests.
- modules weren't set properly as attributes in parent modules
2016-08-08 21:04:23 -07:00
Todd Gamblin
d195576fba WIP 2016-08-08 21:04:23 -07:00
Todd Gamblin
5e5024342f Fix iterator invalidation issues. 2016-08-08 21:04:23 -07:00
Todd Gamblin
4de45c2684 fix scoping issue. 2016-08-08 21:04:23 -07:00
Todd Gamblin
ce6ac93abe rename virtual module to provider_index 2016-08-08 21:04:23 -07:00
Todd Gamblin
1f5a21decf Fix namespace support in Repo.get_pkg_class() 2016-08-08 21:04:23 -07:00
Todd Gamblin
ab049eca41 Faster key in FlagMap._cmp_key 2016-08-08 21:04:23 -07:00
Todd Gamblin
37fc258313 Remove vestigial methods from Package. 2016-08-08 21:04:23 -07:00
Todd Gamblin
faa0a0e4c3 Add a ProviderIndex cache.
- Spack will check if the index needs updating, and will only parse
  all package files if it does.

- Spack tries to parse as few package files as necessary.
2016-08-08 21:04:23 -07:00
Todd Gamblin
cf2f902b82 Make ProviderIndexes mergeable, so we can cache them per-repo. 2016-08-08 21:04:23 -07:00
Todd Gamblin
bf028990e7 Make ProviderIndex yaml-izable.
- allow a provider index to be stored and re-read.
2016-08-08 21:04:23 -07:00
Todd Gamblin
025609c63f More compact YAML formatting for abstract specs.
- Don't add empty/absent fields to Spec YAML when they're not there.
2016-08-08 21:04:23 -07:00
Todd Gamblin
7aaad89ba9 Lazily evaluate all_package_names in repository.py
- Don't need to list all packages unless we have to.

- Only use the list of all packages for existence checks if we have
  generated it for some other purpose.
2016-08-08 21:04:23 -07:00
becker33
2b94d7cf8e Merge pull request #1472 from adamjstewart/fixes/rstrip
Only strip newline chars, not spaces
2016-08-08 13:28:56 -07:00
Adam J. Stewart
5d48c108a3 Only strip newline chars, not spaces 2016-08-08 15:02:05 -05:00
becker33
3ea1325620 Merge pull request #1345 from hartzell/feature/add-perl-dependency-to-git
Add depends_on('perl'), depends_on('pcre') to git package
2016-08-08 09:44:50 -07:00
Todd Gamblin
dd30066feb Merge pull request #1449 from hartzell/feature/add-package-for-prank
Add package for prank and supporting tools
2016-08-07 23:43:40 -07:00
Todd Gamblin
e65a8b6a9a Merge pull request #1463 from davydden/pkg/opium
opium: add new package
2016-08-07 15:56:27 -07:00
Todd Gamblin
8121ac2c27 Merge pull request #1464 from hartzell/feature/update-lmod
No need to patch Lmod after 6.4.4
2016-08-07 15:55:16 -07:00
Todd Gamblin
93f5a750cb Merge pull request #1465 from glennpj/pango_url
Add list_url to pango package
2016-08-07 15:55:04 -07:00
Todd Gamblin
281f6f18e1 Merge pull request #1466 from pramodk/develop
PDT should download full installer package
2016-08-07 15:54:50 -07:00
Denis Davydov
db87a9d3ce tar: fix 1.28 on macOS; add 1.29 (#1462) 2016-08-07 15:54:01 -07:00
Adam J. Stewart
d7329d7bc2 Fix erroneously stripped trailing whitespace in patch (#1467) 2016-08-07 15:53:25 -07:00
Pramod Kumbhar
e9edfec0ec PDT should download full installer package pdtoolkit-X.tar.gz (default pdt-X.tar.gz is only for x86 and cray) 2016-08-07 01:14:26 +02:00
Glenn Johnson
2ad21e7070 Add list_url to pango package
Added a `list_url` so the updated pango tar file can be retrieved.
2016-08-06 18:12:47 -05:00
George Hartzell
09d96bef9f No need to patch Lmod after 6.4.4
The Lmod author changed the src so that it uses the tclsh (and shared
libraries) discovered at configure time.  He did it differently that I
did in this patch, but he changes solve our problem too, so...
2016-08-06 17:39:05 -04:00
George Hartzell
9ebbde0e01 Make configure use our gettext library
The configure script needs extra encouragement to link against our
gettext/libintl library.
2016-08-06 16:28:47 -04:00
George Hartzell
1de5817b58 Clean up rebase problems
My rebase duplicated the depends_on('zlib') and dropped the --with-curl
from the configure.

This fixes those.
2016-08-06 16:28:47 -04:00
George Hartzell
f699d7c08e [Whitespace] Gather the depends_on's together. 2016-08-06 16:28:47 -04:00
George Hartzell
152fa33a55 Call configure --with-libpcre=... to use our pcre
An earlier commit claimed that this package depends_on('pcre') but I
didn't fix the call to configure that enabled it.

This fixes that.
2016-08-06 16:28:47 -04:00
George Hartzell
3cf2fd40a8 Enable depends_on('pcre') also
While I have the patient on the operating table, @adamjstewart asked
me to uncomment and test the depends_on('pcre').

Did it and it Works For Me(tm).
2016-08-06 16:28:47 -04:00
George Hartzell
653905e3a2 Add depends_on('perl') to git package
This commit changes the git package to depend_on('perl').  The system
perl is not always sufficient to install git (e.g. a CentOS7 system with
the development tools group installed has perl but not the
ExtUtils::MakeMaker package that git needs) and one can't always update
the system's perl.

This PR depends_on PR #1339, which adds a perl package to spack.
2016-08-06 16:28:47 -04:00
George Hartzell
f800708ef3 Switch to using *std_cmake_args 2016-08-06 16:27:40 -04:00
George Hartzell
6a62a6b693 Flake8 whitespace cleanup 2016-08-06 16:27:40 -04:00
George Hartzell
a07a0ef54b Add Bio++ tool suite and supporting libs
Add the Bio++ suite and its supporting libraries.
2016-08-06 16:27:40 -04:00
George Hartzell
3c81bb44ba Add package for mafft 2016-08-06 16:27:40 -04:00
George Hartzell
e0db1f0268 Add package for exonerate 2016-08-06 16:27:40 -04:00
George Hartzell
9e16902397 Fix name of bpp-suite (missing -...) 2016-08-06 16:27:40 -04:00
George Hartzell
63592096c5 Add package for prank 2016-08-06 16:27:40 -04:00
Denis Davydov
4983ebcf7c opium: add new package 2016-08-06 21:35:52 +02:00
becker33
d3f115933e Merge pull request #1451 from hartzell/feature/add-package-for-fastx_toolkit
Add package for fastx toolkit
2016-08-05 15:09:46 -07:00
becker33
18d155e713 Merge pull request #1452 from hartzell/feature/add-package-for-samtools
Add package for samtools
2016-08-05 15:09:41 -07:00
George Hartzell
a6afaeb974 Remove lingering FIXME commentary 2016-08-05 17:51:24 -04:00
George Hartzell
769408130a Samtools depends on htslib from 1.3.1 onward
Samtools used to (before 1.3.1) include it's own copy of htslib.  Going
forward, it needs to use the standalone htslib.
2016-08-05 17:47:11 -04:00
becker33
90f68d2c66 Merge pull request #1460 from glennpj/fix_list_vcs
Catch error for version in VCS
2016-08-05 13:34:37 -07:00
becker33
8e20a14945 Merge pull request #1453 from hartzell/feature/add-package-for-seqtk
Add package for seqtk
2016-08-05 10:25:19 -07:00
becker33
f403f256ca Merge pull request #1450 from hartzell/feature/add-package-for-bwa
Add package for bwa
2016-08-05 10:21:10 -07:00
Glenn Johnson
20221ee3aa Catch error for version in VCS
This PR will catch the error where the url can not be determined from a
VCS URL, such as git. It will print a message to the console and move on
because it should not be a fatal error at this point in the process.

This should fix #1459.
2016-08-05 11:16:43 -05:00
becker33
594a6710ed Merge pull request #1442 from suraia/update-scorep-2.0
Update Score-P to 2.0

Most likely this can be generalized to link against older versions of dependencies, but it looks good for now.
2016-08-05 08:57:25 -07:00
George Hartzell
d6dedee6ff Flake8 cleanup 2016-08-04 15:23:04 -04:00
Bruno Turcksin
0c02ee86a7 Add Trilinos 12.6.4 (#1447) 2016-08-04 11:29:10 -07:00
George Hartzell
e12d7aadda Add package for seqtk
Seqtk is a tool for working with fast[aq] files.
2016-08-04 14:18:03 -04:00
George Hartzell
fd11db92e1 Add package for bcftools 2016-08-04 14:18:03 -04:00
George Hartzell
ba0577dc96 Update samtools to support v1.3.1
Update the samtools package to support v1.3.1, which
- now uses configure script; and
- now depends on external htslib package.

The dependency on mpc seems to have been bogus, it's never linked in,
nor is it mentioned in the source tree.  I *do* have a version in
/usr/lib64, but ldd does not sure it being linked in either....

By depending on 'ncurses' I can do away with the need for the patch.
2016-08-04 14:18:03 -04:00
George Hartzell
ef1369c365 Add package for htslib
Htslib was pulled out of samtools and made into a standalone thing.
This commit adds a packag for it, in support of the samtools package.
2016-08-04 14:18:03 -04:00
George Hartzell
e17862c421 Add package for fastx toolkit
Tools for working with FASTA/FASTQ files.
2016-08-04 14:18:02 -04:00
George Hartzell
d5bb2955b1 Add package for libgtextutils
Gordon's Text utils Library, in support of fastx toolkit.
2016-08-04 14:18:02 -04:00
George Hartzell
d4274b32f2 Make flake8 happy (long lines) 2016-08-04 14:18:01 -04:00
Todd Gamblin
6ab78eb88e sbang filtering now works on non-writable files. (#1445)
- sbang now changes mode to writable and restores mode if a file is not
  writable.
2016-08-04 10:46:45 -07:00
Michael Kuhn
d7665a63e3 flake8 fixes 2016-08-04 19:04:48 +02:00
becker33
369b2ef01f Merge pull request #1330 from suraia/fix-ascii-graph
Fix graph command with ASCII output
2016-08-04 09:37:24 -07:00
becker33
1ac1cc3d2c Merge pull request #1437 from jgalarowicz/update-xercesc
Update the version of xerces-c, where the developers remove the old v…
2016-08-04 09:00:36 -07:00
becker33
3c6f6fc811 Merge pull request #1438 from jgalarowicz/update-libmonitor
Update libmonitor to use its new github location, it does not exist w…
2016-08-04 08:59:35 -07:00
becker33
bacfa91cfd Merge pull request #1444 from tobbez/fix_indent_spider
Fix incorrect indentation in spack.util.web._spider
2016-08-04 08:44:35 -07:00
becker33
cabcdf0ec9 Merge pull request #1443 from davydden/pkg/dealii_python
dealii: add optional python bindings
2016-08-04 08:43:36 -07:00
becker33
fcc8b1d3e4 Merge pull request #1431 from hartzell/feature/add-package-for-unison
Add package for unison (and ocaml)
2016-08-04 08:41:45 -07:00
Torbjörn Lönnemark
61b3ecb6d2 Fix flake8 issues 2016-08-04 16:28:14 +02:00
Denis Davydov
af8741c23c dealii: add optional python bindings 2016-08-04 16:11:14 +02:00
Torbjörn Lönnemark
a591e183bc Fix incorrect indentation 2016-08-04 16:09:49 +02:00
Michael Kuhn
584e5506f2 Update Score-P to 2.0 2016-08-04 14:24:25 +02:00
Michael Kuhn
2bd1a51193 flake8 fixes 2016-08-04 13:07:33 +02:00
Michael Kuhn
1578a95982 Fix tests. 2016-08-04 13:07:33 +02:00
Michael Kuhn
7affaca321 Fix graph command with ASCII output. 2016-08-04 13:07:33 +02:00
Todd Gamblin
b7fa2c4e21 Fix #1429: Remove git dep from gettext; break circular dependency.
- It's not really a circular dependency -- git is a run dependency of gettext

- We can revert this change when Spack is smart enough to make git a run
  dependency and build it.
2016-08-03 21:53:53 -07:00
Jim Galarowicz
2e1dbd0697 Fix flake8 errors for: Update libmonitor to use its new github location, it does not exist where the package file now points to. 2016-08-03 21:32:15 -05:00
Jim Galarowicz
e69423a154 Fix flake8 errors for Update the version of xerces-c, where the developers remove the old version, so there is no fallback. 2016-08-03 21:28:56 -05:00
Jim Galarowicz
e68b7d8c63 Update libmonitor to use its new github location, it does not exist where the package file now points to. 2016-08-03 21:08:48 -05:00
Jim Galarowicz
638f779841 Update the version of xerces-c, where the developers remove the old version, so there is no fallback. 2016-08-03 21:04:17 -05:00
Todd Gamblin
be1158f7a3 Merge pull request #1433 from JRWynneIII/error_message_fix
Fix typo for error message when compiler doesn't exist for arch
2016-08-03 14:29:08 -07:00
James Riley Wynne III
f0609699ba Added parens to %'s arguments. Fixes #1432 2016-08-03 17:16:04 -04:00
George Hartzell
43371c31a2 Flake8 cleanup 2016-08-03 16:51:53 -04:00
Todd Gamblin
dce105d16f Merge pull request #1382 from KineticTheory/gktplus3-deps
GTK+3: Provide updates to package dependencies.
2016-08-03 13:45:18 -07:00
George Hartzell
4acf6d76bf Add package for unison
Add package for unison (the file synchronizer).

Needs the ocaml compiler to build.
2016-08-03 16:41:31 -04:00
George Hartzell
a7bfaa3797 Add package for ocaml compiler
Installs the ocaml compiler.
2016-08-03 16:41:31 -04:00
Todd Gamblin
88bb67e279 Merge pull request #1430 from KineticTheory/cray-cc-recursion-fix
Cray: Fix a typo that could cause an infinite recursion when calling env/cc
2016-08-03 13:34:54 -07:00
Kelly (KT) Thompson
46e9d85283 Cray: Fix a typo that could cause an infinite recursion when calling /env/cc.
fixes #1428
2016-08-03 14:15:44 -06:00
Kelly (KT) Thompson
7c46a4c0e4 Provide minor updates after code review
+ Always depend on the gettext package. This simplifies the logic and I no
  longer need to 'import sys'
+ Only apply the patch for the older version of glib.
2016-08-03 13:26:02 -06:00
becker33
3e6ebd577f Merge pull request #1378 from LLNL/bugfix/gh-1324-intel-parallel-studio
Bugfix/gh 1324 intel parallel studio
2016-08-03 10:46:40 -07:00
becker33
353726f08f Merge pull request #1156 from adamjstewart/features/py-meep
Add py-meep package and dependencies

Merging to add the gettext support, will submit a separate issue for the LD_LIBRARY_PATH issue with MPI and py-meep
2016-08-03 10:07:05 -07:00
becker33
7ae163d436 Merge pull request #1361 from epfl-scitas/features/module_token_expansion_in_environment
module : token expansion in environment
2016-08-03 09:49:28 -07:00
becker33
b9195b415a Merge pull request #1420 from epfl-scitas/packages/plumed
plumed : added package
2016-08-03 08:36:31 -07:00
alalazo
2f1c000f62 qa : flake8 issues 2016-08-03 08:26:58 +02:00
Kelly (KT) Thompson
d7d12aa2dc One more formatting change to make flake8 happy. 2016-08-02 19:05:48 -06:00
becker33
48997cffa1 Merge pull request #1233 from hartzell/add-nextflow
First cut package for nextflow, has issues
2016-08-02 11:52:19 -07:00
becker33
4ff4eab476 Merge pull request #1236 from davydden/pkg/arpack-ng_blas
arpack-ng: fix blas/lapack libraries
2016-08-02 11:50:42 -07:00
Denis Davydov
f90692cf81 arpack-ng: fix blas/lapack libraries 2016-08-02 20:27:34 +02:00
becker33
13d9eed85b Merge pull request #1424 from adamjstewart/features/setup_py
spack create should use setup_py() instead of python()
2016-08-02 10:28:14 -07:00
Adam J. Stewart
941acef009 spack create should use setup_py() instead of python() 2016-08-02 12:20:28 -05:00
becker33
b5a117c923 Merge pull request #1366 from hartzell/feature/add-package-for-ack
Add package for ack
2016-08-02 10:11:11 -07:00
becker33
1534a115bd Merge pull request #1421 from hartzell/feature/add-package-for-texlive
Add package for texlive
2016-08-02 10:10:43 -07:00
becker33
a03a35565e Merge pull request #1339 from hartzell/features/add-perl
Add perl package
2016-08-02 10:10:04 -07:00
becker33
326b9838ed Merge pull request #1423 from glennpj/fix_url
Move archive_version setting to if block
2016-08-02 10:05:25 -07:00
George Hartzell
fa70a837d4 Remove accidentally committed cabal-install bits 2016-08-02 13:00:47 -04:00
becker33
91004158c6 Merge pull request #1243 from davydden/pkg/atlas_urls
atlas: fix urls and shared libs
2016-08-02 09:59:05 -07:00
Glenn Johnson
2929fb0a4d Move archive_version setting to if block
The archive_version variable should only get set if versions will be
checked and that is only if there is a list_url in the package file. For
VCS repos setting the variable triggers an error from web.py as it
parses the default_fetcher object.

This should fix #1422.
2016-08-02 11:54:09 -05:00
becker33
3f26bbc8b3 Merge pull request #864 from davydden/kdiff3
kdiff3: initial version of the package
2016-08-02 09:35:00 -07:00
becker33
a3322fab0a Merge pull request #1360 from glennpj/pysetuptoolsdep
Add py-setuptools dependencies to packages
2016-08-02 09:33:40 -07:00
becker33
21158195fb Merge pull request #1354 from paulhopkins/bugfix/preferred_variants_do_not_recognise_-variant
Bugfix/preferred variants do not recognise  -variant
2016-08-02 09:15:06 -07:00
George Hartzell
74a181febc Remove local copy of cpanm installer
This is handled as a resource in the package now.
2016-08-02 12:13:24 -04:00
becker33
9490bd2154 Merge pull request #1373 from hartzell/bug/update-several-r-packages
Update several R packages (r-shiny prereqs)
2016-08-02 09:07:31 -07:00
George Hartzell
4c8672ed1f Add previous versions back into package
Following the advice of @glennpj, added the old versions back into the
packages.

I can install the current packages and the previous packages.
2016-08-02 11:45:16 -04:00
George Hartzell
c77425bb22 Remove useless def unpack
Before I learned that I was stumbling over a real but (#1308), I thought
I needed to arrange for the fetcher to skip the unpack step.

This commit removes the useful `def unpack`.
2016-08-02 11:32:19 -04:00
George Hartzell
a6605d842b Flake8 cleanup. 2016-08-02 11:25:03 -04:00
George Hartzell
f2f5f6c279 Touch up variant comment 2016-08-02 11:18:50 -04:00
George Hartzell
c994565c62 Use "resource" machinery to manage cpanm tarball
Use the resource machinery to fetch/cache/unpack/... the App::cpanminus
tarball.

- this hardcodes the version, I can't figure out how to use a variant to
  hold/set the value and access it in the resource().
- change up the install to use the `with working_dir()` meme.
2016-08-02 11:16:46 -04:00
George Hartzell
1b9becc541 Add the std spack header to perl/package.py
Stole the example header from antlr/package.py, included it at the top
of perl/package.py.
2016-08-02 11:16:46 -04:00
George Hartzell
08ff7b65af Make running perl's tests conditional
Make running perl's tests conditional, one must now specify the
`--run-tests` flag to the `spack install` command in order to run the
tests.

On one system (8 core, 16GB Digital Ocean Droplet), installing without
tests takes 3 minutes, with tests takes 16 minutes.
2016-08-02 11:16:46 -04:00
George Hartzell
4d72e0fb9d Make the cpanm version a variant
Rather than hard-coding the verison of `cpanm` that's [optionally]
installed into the core, make it a variant with a default value of
'1.7042'.

Also discovered that `prefix + 'bin'` is the same as `prefix.bin`, so
embetter that bit of code.
2016-08-02 11:16:46 -04:00
George Hartzell
a5a4525bed Add perl package
Add perl package, based on [work by
justintoo](https://github.com/LLNL/spack/pull/105).  He had too many
things pulled into that pull request, this just adds a perl package.

Support the current releases on the past three minor branches.

Run perl's tests before installing.

Install cpanm into the core (makes building on top of this perl *much*
simpler).  Controlled by a variant.
2016-08-02 11:16:46 -04:00
George Hartzell
949621eb7f Add package for texlive 2016-08-02 11:15:42 -04:00
George Hartzell
857a03c127 Ack should depends_on('perl')
Add a depends_on('perl') and rewrite the script's `#!` line to refer to
that Perl's `perl` executable.
2016-08-02 11:11:05 -04:00
George Hartzell
114da813a3 Remove unnecessary imports.
Now that it's sporting a cleaner install method, these imports are
unnecessary.
2016-08-02 11:11:05 -04:00
George Hartzell
bf467c5df3 Remove override of unpack(self)
I cargo culted that from my *nextflow* package.  I [thought I] needed it
to work around Spack trying to use tar to unpack something that was
neither a tar ball nor unpackable.

This package works fine without it.  In retrospect, the error that I was
seeing in the *nextflow* package was probably this problem #1308.
2016-08-02 11:11:05 -04:00
George Hartzell
6c3623422f Use cleaner mech to install script
Use @adamjstewart's nicer bit of python code in the
install method.
2016-08-02 11:11:05 -04:00
George Hartzell
63121a0c49 Add package for ack
Add a package for [ack](http://beyondgrep.com/install/).  Simply install
the fatpacked script.

It uses '#!/usr/bin/env perl' and it very much not choosy about what
perl it needs.  For now just trust that there's one available, perhaps
someday we can/should uncomment the depends_on('perl').

Follows the methodolgy I used in nextflow.  Has the same
uninstall/install problem that nextflow has, there is an issue in
progress for that: https://github.com/LLNL/spack/issues/1308.

Tested on CentOS7.
2016-08-02 11:11:05 -04:00
George Hartzell
12d1263980 Update several R packages (r-shiny prereqs)
r-jsonlite 0.0.21 -> 1.0
r-mime     0.4    -> 0.5
rcpp       0.12.5 -> 0.12.6

CRAN is funny.  The older versions of these packages are still available
in package specific directories but the current version is not there, so
I don't see any way to make the older versions work.
2016-08-02 11:10:41 -04:00
George Hartzell
6f332c7e4c Fix whitespace, make flake8 happ{y,ier}. 2016-08-02 11:10:12 -04:00
George Hartzell
bfcec69630 Add standard header, use spack helpers
Added the standard header (stolen from R).

Touched up the install to use set_executable rather than doing it
myself.
2016-08-02 11:10:12 -04:00
George Hartzell
4373a2b629 First cut package for nextflow, has issues
This is my first cut at a package to support nextflow.  It's also my
first package.  It works, but has issues.  I'm going to submit a pull
request and get some coaching on how to deal with it.

One issue particular: if I install, then uninstall, then try to install
again (which uses the cached copy of the "distribution file"), it
explodes.
2016-08-02 11:10:12 -04:00
Glenn Johnson
a57d94af03 Fix flake8 issues. 2016-08-02 09:53:57 -05:00
Denis Davydov
a1703bf70d kdiff3: add license block 2016-08-02 16:37:14 +02:00
Gilles Fourestey
dea7bbb4a0 added plumed
* plumed : first version
* plumed : added dependencies and docs
2016-08-02 15:06:46 +02:00
Denis Davydov
565bd5f51e atlas: revert to lapack 3.5.0 2016-08-02 13:52:32 +02:00
Denis Davydov
bef7e2645a atlas: flake8 fixes 2016-08-02 13:52:32 +02:00
Denis Davydov
f6a4a6b00f atlas: add install_test 2016-08-02 13:52:32 +02:00
Denis Davydov
0c0b37800d atlas: set (blas|lapack)_shared_lib 2016-08-02 13:52:32 +02:00
Denis Davydov
4ecf481337 atlas: fix shared libs; set compilers 2016-08-02 13:52:32 +02:00
Denis Davydov
6f7e12d49b atlas: fix urls and use lapack 3.6.0 2016-08-02 13:52:32 +02:00
Denis Davydov
0aa513ad70 libxau: mark pkg-config as build-type dependency 2016-08-02 13:50:46 +02:00
Denis Davydov
450c750214 kdiff3: initial version of the package 2016-08-02 13:49:40 +02:00
Denis Davydov
a4e59c2758 libxau: add missing dependency 2016-08-02 13:49:40 +02:00
Kelly (KT) Thompson
9433e84776 Formatting changes for flake8. 2016-08-01 22:54:51 -06:00
Kelly (KT) Thompson
17f0eb5148 Provide correct download urls and additional dependencies. 2016-08-01 22:10:54 -06:00
ba11f19efc Merge remote-tracking branch 'upstream/develop' into gktplus3-deps 2016-08-01 20:50:28 -06:00
becker33
bb5dd49206 Merge pull request #1419 from LLNL/bugfix-compiler-error-message
Bugfix compiler error message
2016-08-01 17:30:03 -07:00
Gregory Becker
679ceabf36 fixed flake8 errors 2016-08-01 17:22:13 -07:00
Gregory Becker
31042e8ed1 further improved error message 2016-08-01 17:16:06 -07:00
Gregory Becker
2705f2c0e3 changed error raised in concretize compiler to provide better error message 2016-08-01 17:11:10 -07:00
becker33
c678a9e3da Merge pull request #1417 from LLNL/features/combined-cray-platform-cleanup
Removed vestigial cray_xc platform in favor of combined cray platform
2016-08-01 16:26:20 -07:00
Gregory Becker
0cf1f917d5 fixed architecture test 2016-08-01 16:17:31 -07:00
becker33
bc2e0cc87c Merge pull request #1418 from mamelara/bugfix/add_import
Add import statement
2016-08-01 16:09:28 -07:00
Mario Melara
0425f5d523 Add import statement
Add missing import statement for join_path
2016-08-01 15:59:30 -07:00
Gregory Becker
0ce98d4d65 Removed vestigial cray_xc platform in favor of combined cray platform 2016-08-01 15:43:11 -07:00
becker33
7f43a7d134 Merge pull request #1376 from mpbelhorn/olcf/unified_cray_platform
Olcf/unified cray platform
2016-08-01 15:40:11 -07:00
Matt Belhorn
661708b7fa Fixes Flake8 indentation errors. 2016-08-01 17:27:33 -04:00
Matt Belhorn
ae167c09fc Prefers bash over sh.
Assuming a bash interactive environment will be correctly formed on login, we
should prefer to probe the environment using a shell that reports itself as
`bash` instead of `sh` which may not source files that set the
environment modules in statements like:

```
case "$is" in
bash) test -s /etc/bash.bashrc.local && . /etc/bash.bashrc.local ;;
ksh)  test -s /etc/ksh.kshrc.local   && . /etc/ksh.kshrc.local ;;
zsh)  test -s /etc/zsh.zshrc.local   && . /etc/zsh.zshrc.local ;;
ash)  test -s /etc/ash.ashrc.local   && . /etc/ash.ashrc.local
esac
test -s /etc/sh.shrc.local && . /etc/sh.shrc.local
```
2016-08-01 17:17:24 -04:00
becker33
14d861a41c Merge pull request #1414 from adamjstewart/fixes/filter_file
Fix backup=True for filter_file
2016-08-01 14:10:59 -07:00
Matt Belhorn
e864d27641 Replaces bash-ism source for POSIX-compliant .
Change is made in order to use `/bin/sh` on systems where `/bin/sh` is not
simply an alias for `/bin/bash --norc`.
2016-08-01 17:04:09 -04:00
becker33
b892cebe8a Merge pull request #1343 from glennpj/r_unfilter
R extension dependencies with compiler wrapper
2016-08-01 13:51:13 -07:00
becker33
49e47966a8 Merge pull request #1357 from hartzell/patch-6
Fix doc for install_tree (cut/paste error)
2016-08-01 13:45:20 -07:00
becker33
e861e35acf Merge pull request #1234 from mwilliammyers/package-opencv
Update opencv package
2016-08-01 13:44:31 -07:00
becker33
1847aa035d Merge pull request #1348 from glennpj/rcurl
r-curl update and changed remote archive
2016-08-01 13:38:38 -07:00
becker33
630ff6871d Merge pull request #1346 from glennpj/url_list_fetch
Url list fetch
2016-08-01 13:37:57 -07:00
becker33
94238eebfa Merge pull request #1381 from davydden/pkg/mkl_linux
MKL linux fixes
2016-08-01 13:36:10 -07:00
Adam J. Stewart
5b79f0d04a Fix backup=True for filter_file 2016-08-01 15:35:02 -05:00
becker33
dc9fcea989 Merge pull request #1365 from hartzell/feature/add-package-for-tree
Add package for tree
2016-08-01 13:21:09 -07:00
becker33
15514792d5 Merge pull request #1374 from hartzell/bug/fix-jdk-import-of-distutils
Bug: fix jdk package's use of distutils
2016-08-01 13:20:44 -07:00
becker33
851bc506e4 Merge pull request #1367 from adamjstewart/features/pgi
Add latest version of PGI
2016-08-01 13:07:35 -07:00
becker33
932300256c Merge pull request #1413 from mdevlin1/fixes/libxsmm
Fixed libxsmm package
2016-08-01 13:06:05 -07:00
becker33
6361f5c2d4 Merge pull request #1359 from sknigh/libhio
added libhio package
2016-08-01 13:05:29 -07:00
Mitchell Devlin
2d51ea5da4 fixed libxsmm makefile filter 2016-08-01 14:38:16 -05:00
Adam J. Stewart
fed7ba1dab Add latest version of PGI 2016-08-01 13:42:00 -05:00
Glenn Johnson
19578d954f Fix flake8 line length errors 2016-08-01 13:37:42 -05:00
Adam J. Stewart
ab885a5397 Allow git to depend on gettext now that it works 2016-08-01 13:35:22 -05:00
Adam J. Stewart
4014a29d2b Use proper deptype so that spack activate works 2016-08-01 13:35:22 -05:00
Adam J. Stewart
b4cd2a85df Re-add trailing whitespace in patch 2016-08-01 13:35:22 -05:00
Adam J. Stewart
f5aed63b0b pkg-config should be a build dependency only 2016-08-01 13:35:22 -05:00
Adam J. Stewart
5cac0a528c Fix undefined symbols by building shared libraries 2016-08-01 13:35:22 -05:00
Adam J. Stewart
bdb64c2e39 Tell MEEP where to find libctl 2016-08-01 13:35:22 -05:00
Adam J. Stewart
0903ae0599 Final fixes to get libctl working 2016-08-01 13:35:22 -05:00
Adam J. Stewart
1e3a5d4e26 Final fixes to get guile to build 2016-08-01 13:35:21 -05:00
Adam J. Stewart
6db99a4fe7 Rename gc => bdw-gc, fix libunistring bug 2016-08-01 13:35:21 -05:00
Adam J. Stewart
5b1a882fc2 Update meep's url_for_version 2016-08-01 13:35:21 -05:00
Adam J. Stewart
a2578c21e4 Supply flags to bdist 2016-08-01 13:35:21 -05:00
Adam J. Stewart
8d0758fc4c Allow py-meep to link properly 2016-08-01 13:35:21 -05:00
Adam J. Stewart
880cbb2217 Better testing for MEEP 2016-08-01 13:35:21 -05:00
Adam J. Stewart
3b4820f290 Patch pkg-config and update installs for various packages 2016-08-01 13:35:21 -05:00
Adam J. Stewart
9e05fdf4a1 Bug fixes 2016-08-01 13:35:20 -05:00
Adam J. Stewart
7e53f4328f Add py-meep package and dependencies 2016-08-01 13:35:20 -05:00
becker33
e470478dc1 Merge pull request #1363 from hartzell/feature/add-package-for-cask
Add package for cask
2016-08-01 11:08:13 -07:00
George Hartzell
7d303afd64 Address flake8 issue 2016-08-01 13:42:55 -04:00
George Hartzell
1552ed943a Add package for cask
Add a package for cask, the emacs project/dependency management tool.

Based on [Homebrew's formula][brew].

[brew]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/cask.rb
2016-08-01 13:41:28 -04:00
George Hartzell
31b7580b76 Fix jdk package's use of distutils
See issue #1364.  @citibeth's fix works fine.
2016-08-01 13:33:27 -04:00
becker33
cc3fc2ba4c Merge pull request #1322 from mdevlin1/feature/libxsmm
Add libxsmm package
2016-08-01 09:56:09 -07:00
becker33
0ce54c99af Merge pull request #1383 from epfl-scitas/packages/cp2k
cp2k : added package
2016-08-01 09:35:50 -07:00
Matt Belhorn
aaa5c9e8a4 Writes default module list to terminal when debugging. 2016-08-01 12:05:29 -04:00
Paul Hopkins
cca240c8f9 Add concretize_preferences tests 2016-08-01 16:18:11 +01:00
alalazo
ec09dfe5d1 cp2k : added package 2016-08-01 10:41:33 +02:00
Todd Gamblin
fbbb82259a Merge pull request #1407 from glennpj/r-ncdf4
New package - r-ncdf4
2016-07-31 22:15:52 -07:00
Todd Gamblin
ea11aab71f Merge pull request #1406 from glennpj/r-np
New package - r-np
2016-07-31 22:15:37 -07:00
Todd Gamblin
2042c94a6c Merge pull request #1405 from glennpj/r-survey
New package - r-survey
2016-07-31 22:15:09 -07:00
Todd Gamblin
64be8a80b2 Merge pull request #1404 from glennpj/r-tarifx
New package - r-tarifx
2016-07-31 22:14:56 -07:00
Todd Gamblin
7185fe2876 Merge pull request #1403 from glennpj/r-e1071
New package - r-e1071
2016-07-31 22:14:40 -07:00
Todd Gamblin
0724eba935 Merge pull request #1402 from glennpj/r-plotrix
New package - r-plotrix
2016-07-31 22:14:25 -07:00
Todd Gamblin
441bb83682 Merge pull request #1401 from glennpj/r-gdata
New package - r-gdata
2016-07-31 22:13:50 -07:00
Todd Gamblin
2cffc90284 Merge pull request #1400 from glennpj/r-roxygen2
New package - r-roxygen2
2016-07-31 22:13:16 -07:00
Todd Gamblin
68cedd2599 Merge pull request #1399 from glennpj/r-testthat
New package - r-testthat
2016-07-31 22:12:06 -07:00
Todd Gamblin
d00fd06095 Merge pull request #1398 from glennpj/r-xml
New package - r-xml
2016-07-31 22:11:38 -07:00
Todd Gamblin
3d571ad934 Merge pull request #1397 from glennpj/r-datatable
New package - r-datatable
2016-07-31 22:11:32 -07:00
Glenn Johnson
8815f0a0b5 New package - r-ncdf4
Interface to Unidata netCDF (version 4 or earlier) format data files.
2016-07-31 17:12:29 -05:00
Glenn Johnson
bfd03db12a New package - r-np
Nonparametric kernel smoothing methods for mixed data types.
2016-07-31 16:18:55 -05:00
Glenn Johnson
f14eb07dc1 New package - r-survey
Analysis of complex survey samples.
2016-07-31 15:50:19 -05:00
Glenn Johnson
a9cc6a7d08 New package - r-tarifx
A collection of various utility and convenience functions.
2016-07-31 15:39:09 -05:00
Glenn Johnson
be2f2e42db New package - r-e1071
Misc functions of the Department of Statistics, Probability Theory Group
(Formerly: E1071), TU Wien.
2016-07-31 15:26:13 -05:00
Glenn Johnson
05e5276aec New package - r-plotrix
Various plotting functions.
2016-07-31 15:15:55 -05:00
Glenn Johnson
dbf799bbf9 New package - r-gdata
Data manipulation tools.
2016-07-31 15:07:40 -05:00
Glenn Johnson
f39e570f36 New package - r-roxygen2
In-source documentation for R.
2016-07-31 14:52:16 -05:00
Glenn Johnson
58a6039c0a New package - r-testthat
A unit testing system for R.
2016-07-31 14:40:46 -05:00
Glenn Johnson
0662b953f0 New package - r-xml
Tools for parsing and generating XML within R and S-Plus.
2016-07-31 14:25:17 -05:00
Glenn Johnson
1b04b8be01 New package - r-datatable
Extension of Data.frame
2016-07-31 14:11:04 -05:00
Todd Gamblin
500218df80 Merge pull request #1384 from epfl-scitas/qa/drop_flake8_python26
qa : no flake8 on python 2.6, coveralls only on python 2.7
2016-07-30 20:25:14 -07:00
Todd Gamblin
173a16b38a Merge pull request #1396 from glennpj/r-quantmod
New package - r-quantmod
2016-07-30 20:15:53 -07:00
Todd Gamblin
68ba5377c1 Merge pull request #1395 from glennpj/r-ggmap
New package - r-ggmap and dependencies
2016-07-30 20:14:57 -07:00
Todd Gamblin
253507c0c3 Merge pull request #1394 from glennpj/r-maps
New package - r-maps
2016-07-30 20:14:27 -07:00
Todd Gamblin
7684652ce3 Merge pull request #1393 from glennpj/r-maptools
New package - r-maptools
2016-07-30 20:14:19 -07:00
Todd Gamblin
b12dc34ba7 Merge pull request #1391 from glennpj/r-caret
New package - r-caret
2016-07-30 20:14:09 -07:00
Todd Gamblin
9c31ee8a75 Merge pull request #1390 from glennpj/r-glmnet
New package - r-glmnet
2016-07-30 20:13:50 -07:00
Todd Gamblin
ae5ba2b110 Merge pull request #1389 from glennpj/r-vcd
New package - r-vcd
2016-07-30 20:13:05 -07:00
Todd Gamblin
13499f1655 Merge pull request #1388 from glennpj/r-multcomp
New package - r-multcomp
2016-07-30 20:12:51 -07:00
Todd Gamblin
49e9f365d8 Merge pull request #1387 from glennpj/r-randomforest
New package r-randomforest
2016-07-30 20:12:21 -07:00
Todd Gamblin
0fa8a491d3 Merge pull request #1386 from glennpj/r-car
New package r-car
2016-07-30 20:12:02 -07:00
Glenn Johnson
41cd861861 New package - r-quantmod
Qualitative Financial modelling framework.
2016-07-30 18:25:43 -05:00
Glenn Johnson
2913aa8d09 New package - r-ggmap and dependencies
Spatial visualization with ggplot2
2016-07-30 18:14:02 -05:00
Glenn Johnson
1bd2def41e New package - r-maps
Draw geographical maps.
2016-07-30 17:34:07 -05:00
Glenn Johnson
386f0e577a New package - r-maptools
Tools for reading and handling spatial objects.
2016-07-30 17:26:31 -05:00
Glenn Johnson
7207ce2a18 New package - r-caret
Classification and Regression Training
2016-07-30 16:53:54 -05:00
Glenn Johnson
20e52e5052 New package - r-glmnet
Lasso and Elastic-Net Regularized Generalized Linear Models
2016-07-30 16:38:00 -05:00
Glenn Johnson
e9944150a5 New package - r-vcd
Visualizing Categorical Data
2016-07-30 16:28:43 -05:00
Glenn Johnson
fc1804974c New package - r-multcomp
Simultaneous Inference in General Parametric Models.
2016-07-30 16:09:57 -05:00
Glenn Johnson
12167e8f37 New package r-randomforest
Breiman and Cutler's Random Forests for Classification and Regression.
2016-07-30 15:39:28 -05:00
Glenn Johnson
8dc26bbcd9 Have R extensions build in parallel.
Set `MAKEFLAGS` so R extensions can be built in parallel if that is set
in spack.
2016-07-30 15:20:14 -05:00
Glenn Johnson
ee7acc6b13 New package r-car
Companion to Applied Regression.
2016-07-30 15:10:25 -05:00
alalazo
f4422dc165 qa : fixes #1370 (no flake8 on python 2.6, coveralls only python 2.7) 2016-07-30 18:49:23 +02:00
Matt Belhorn
dc7e0899a0 Invokes subshell without user init scripts. 2016-07-30 11:38:34 -04:00
Matt Belhorn
5bb2d3baa0 Replaces technique for obtaining default back_end target.
New technique parses output of `module list` in clean login environment
in order to let convoluted initialization scripts to work for us rather
than against us as when trying to parse them directly.
2016-07-29 15:06:56 -04:00
Matt Belhorn
5e97eb5ec4 Obtains default modules from a clean subshell.
The list of default environment modules is obtained by calling

`module list -lt`

from a subshell with a wiped environment. This allows `/etc/profile` and other
init scripts to be fully sourced which should generally include loading the
default modules.

The list of default modules is then parsed for the first acceptable CPU target,
assumed to be the back_end target.
2016-07-29 15:02:25 -04:00
Kelly (KT) Thompson
6c80b15220 GTK+3: Provide updates to package dependencies.
WIP: I started trying to build gtkplus@3.20, but this package has many more
dependencies than v2 and it requires newer versions of existing packages. This
commit provides updates for 5 packages that are required by GTK+3. This is not
the complete set of changes required for GTK+3.

atk  - move default version from 2.14 -> 2.20.
glib - move default version from 2.42 -> 2.49
     - v2.49 requires pcre+utf as a new dependency.
pcre - if variant +utf is selected, add '--enable-unicode-properties' to the
       configure options.
libepoxy - new package to spack
         - manages OpenGL function pointers.
pango    - move default version from 1.36 -> 1.40
2016-07-29 09:05:44 -06:00
Denis Davydov
aad5a4c4b3 mkl: flake8 fixes; minor docu update 2016-07-29 14:12:07 +02:00
Paul Hopkins
5eebb2defa Use space characters to separate preferred variants from package name and each other 2016-07-29 13:02:47 +01:00
Denis Davydov
b6ce0e6f0e trilinos: make sure hdf5 is picked up from Spack 2016-07-29 13:11:12 +02:00
Denis Davydov
943896e237 trilinos: fix lapack lib dir 2016-07-29 13:09:34 +02:00
Denis Davydov
8ee4df8101 hypre: minor cleanup related to blas/lapack 2016-07-29 11:37:19 +02:00
Denis Davydov
572f1cd427 mkl: symlink libs to prefix.lib 2016-07-29 11:36:37 +02:00
Todd Gamblin
e04662f84f Merge pull request #1344 from LLNL/bugfix/py-nose-nosetests
do not ignore nosetests script in py-nose
2016-07-28 10:19:13 -07:00
becker33
5caaa2cd75 Merge pull request #1331 from adamjstewart/fixes/mvapich2
MVAPICH2 depends on libpciaccess
2016-07-28 09:52:51 -07:00
becker33
3759f62cba Merge pull request #1235 from davydden/pkg/p4est_run_tests
p4est: use run_tests instead of a variant
2016-07-27 18:36:36 -07:00
Matt Belhorn
07f2dd5498 Merge pull request #1 from robertdfrench/olcf/unified_cray_platform
PEP8 Goodness
2016-07-27 14:33:09 -04:00
robertdfrench
eab56b71be PEP8 Goodness 2016-07-27 13:11:24 -04:00
Matt Belhorn
3040381f03 Front-end unification for Cray systems.
A platform to generically cover all Cray systems is introduced to avoid having
specific platforms for each of XK (XE, XT), XC, and future systems using CrayPE
and CNL.

The platform searches for 'front_end' and 'back_end' targets, in order, from:

  * Environment variables 'SPACK_FRONT_END' and 'SPACK_BACK_END'
  * A spack configuration file 'targets.yaml'
  * Parsing `/etc/bash.bashrc.local` for first loaded CrayPE CPU target.

If a back_end target is not found through one of these methods, an exception is
raised. Otherwise, the back_end is set as the default target. The shell init
script search is based on recommendations in Crayports case #144359.

No automagic way of determining front_end targets has been found (to date) so if
a front_end is not specified through configuration, it is ignored which should
leave a spack instance in a consistant state.
2016-07-27 11:37:15 -04:00
George Hartzell
f855cf6bab Add package for tree
Add a package for [tree](http://mama.indstate.edu/users/ice/tree/).

It has a Makefile that hardcodes a prefix and some CFLAGS.  Used
filter_file to:

- set the make variable *prefix* to `prefix`; and
- comment out their CFLAGS, just use ours....

It installs, runs on CentOS7, and uninstalls cleanly.
2016-07-27 11:32:03 -04:00
Matt Belhorn
b1e6c58ff2 Adds __str__ method to CNL operating system class. 2016-07-27 11:25:23 -04:00
Matt Belhorn
4e6fdd12e2 Adds targets config file 2016-07-27 11:25:23 -04:00
Todd Gamblin
458deaae5e Merge pull request #1350 from adamjstewart/fixes/openssl
Fix OpenSSL url_for_version
2016-07-27 08:08:00 -07:00
alalazo
9c7b98dcc8 modules : handle dashes in environment variables 2016-07-26 09:03:17 +02:00
Greg Lee
e4525e57bb intel parallel studio itac fixes 2016-07-25 14:02:15 -07:00
Greg Lee
dba384108b intel parallel studio setup mkl environment 2016-07-25 14:01:49 -07:00
becker33
e4ced765f1 Merge pull request #1353 from epfl-scitas/qa/minor_cleanup
qa : minor cleanup
2016-07-25 10:34:43 -07:00
Samuel Knight
a2d4dcc636 Added libhio package 2016-07-25 17:32:03 +00:00
becker33
969e785d94 Merge pull request #1352 from glennpj/r_googlevis
New package - r-googlevis
2016-07-25 10:25:47 -07:00
becker33
5b7ec8de95 Merge pull request #1351 from glennpj/r_htmlwidgets
New packages - R htmlwidgets
2016-07-25 10:25:19 -07:00
becker33
e19872e77f Merge pull request #1347 from glennpj/rdeps
Add dependency type to r- packages
2016-07-25 10:19:32 -07:00
Glenn Johnson
eb865b0df2 Add py-setuptools as dependency
With the addition of dependency types and with `py-setuptools` set as
type='build' there are more packages that need to have `py-setuptools`
added as a dependency.

This PR adds that dependency for the following packages:
- py-h5py
- py-networkx
- py-pytables
- py-scikit-image
2016-07-25 11:23:09 -05:00
alalazo
c6a05f4a7d qa : flake8 issues fixes #1109 2016-07-25 18:22:09 +02:00
alalazo
3126ed5f21 modules : permit token expansion in configuration files 2016-07-25 18:10:27 +02:00
George Hartzell
d684b17c06 Fix doc for install_tree (cut/paste error)
It looks like the docs for copy_tree were cut/paste from copy and still referred to installing a "file".

This fixes that.
2016-07-25 08:45:44 -07:00
alalazo
5cfaa557d3 qa : flake8 issues 2016-07-25 10:19:58 +02:00
alalazo
23006d1195 spec : removed dead code 2016-07-25 09:05:50 +02:00
Glenn Johnson
81cd458c26 r-curl update and chaged remote archive
This updates to the 1.0 version of r-curl. The remote archive directory
name also changed so change that here as well.
2016-07-24 16:48:07 -05:00
Glenn Johnson
27986c9edf New packages - R htmlwidgets 2016-07-24 16:43:35 -05:00
Glenn Johnson
b7bf88c761 New package - r-googlevis 2016-07-24 16:38:36 -05:00
Adam J. Stewart
29278090eb Fix OpenSSL url_for_version 2016-07-24 15:19:27 -05:00
Glenn Johnson
b1e5ec0573 Make sure package has the url attribute.
In addition to `list_url` make sure the package has the `url` attribute
set before attempting to add urls from a list. This is to cover the case
where there may be a `list_url` specified in tandem with a
`url_for_version`.
2016-07-24 09:21:11 -05:00
Glenn Johnson
4f09e8c975 Only use list if list_url set
This commit will make urls from list_url only checked if `list_url` is
set in the package file. This makes more sense as there is no need to
check for those if the attribute is not present. If `url` is present and
`list_url` is not then it would result in the same url. If
`url_for_version` is used then that will not work anyway.
2016-07-23 22:56:08 -05:00
Glenn Johnson
a8855f48aa Add dependency type tp r- packages
This PR adds the `nolink` dependency type to r- package dependencies.
This is needed due to the new dependency types in Spack. A couple of
packages were updated with new versions as well.
2016-07-23 19:43:55 -05:00
Glenn Johnson
4181fd79cd Fix flake8 errors related to lines
Fixed the flake 8 errors that involved too many blank lines or not
enough blank lines. Basically, all of the flake8 errors except line
length errors.
2016-07-23 19:10:09 -05:00
Glenn Johnson
b51be2bb1b Have fetch use list_url
This PR allows archive file retrieval from urls derived from the
`list_url` setting in a package file. This allows for continued
retrieval of checksummed archive files even when they are moved to a new
remote location when a package is updated upstream.
2016-07-23 19:09:58 -05:00
Greg Lee
773bca159a do not ignore nosetests script in py-nose 2016-07-22 15:49:36 -07:00
Glenn Johnson
ec9959b152 R extension dependencies with compiler wrapper
This commit introduces a mechanism to insure that R package dependencies
are built with the Spack compiler wrapper. A copy of Makeconf is made
before `filter_compilers` is called. This is then pointed to by the
R_MAKEVARS_SITE environment variable set up in
`setup_dependent_environment`. With this the normal compilers are used
outside of spack and the spack wrapper compilers are used inside of
spack.

This commit also standardizes on the `join_path` call. It also sets the
commented build command to reflect what is actually used with the newer
string formatting.
2016-07-22 17:05:01 -05:00
Adam J. Stewart
1be486c90a Add CGNS package 2016-07-22 17:02:45 -05:00
becker33
7220bc1766 Merge pull request #1340 from adamjstewart/features/create
Use example deptypes in newly created packages
2016-07-22 14:25:12 -07:00
Todd Gamblin
395c616a48 Merge pull request #950 from xjrc/packages/python
Enhancement Proposal: Make Python Spack Installs Ignore User Configuration
2016-07-22 13:56:19 -07:00
Adam J. Stewart
ebbcebac62 Use example deptypes in newly created packages 2016-07-22 13:55:00 -05:00
Joseph Ciurej
fa92f58167 Adding temporary script that fixes all Python extensions w/ 'setup_py'. 2016-07-22 11:17:19 -07:00
Joseph Ciurej
ac2e0962ce Improved the build flag construction code in the python install method. 2016-07-22 11:12:02 -07:00
Joseph Ciurej
fb2d2303d6 Fixed a bug that was causing Python installs to be affected by user config. 2016-07-22 11:11:08 -07:00
Todd Gamblin
f5b4664c7c Merge pull request #1336 from glennpj/rcase
Fix alpha case of dependencies for some r-packages
2016-07-22 10:08:14 -07:00
alalazo
00d7fd8e21 test_install : removed commented code 2016-07-22 18:14:36 +02:00
Todd Gamblin
adffba5081 Merge pull request #1230 from hartzell/update-jdk
Add URL and md5 for jdk-8u92.
2016-07-21 22:06:29 -07:00
Glenn Johnson
e083c91d5e Fix alpha case of dependencies.
A while ago I was asked to convert packages to all lowercase. That was
done but some dependencies did not get converted in the specification.
This commit fixes that as well as a couple of urls that need to be made
explicit and a missing dependency on jdk.
2016-07-21 19:58:04 -05:00
Todd Gamblin
ed737cb2a2 Merge pull request #1333 from LLNL/features/no-openssl-pinging
Remove remote website pinging from OpenSSL
2016-07-21 16:46:59 -07:00
Todd Gamblin
488550c2e6 Merge pull request #1334 from hartzell/add-gcc-5.4.0
Update gcc package with info about gcc-5.4.0
2016-07-21 16:37:31 -07:00
Todd Gamblin
8523f75e6c Remove remote website pinging from OpenSSL
- OpenSSL no longer checks remote versions on the openssl site.

- Spack is used on systems that aren't connected to the internet, and
  this check is probably in the wrong place and affects too many
  commands.  We can work on figuring out a better, more configurable
  place to put a check like this.
2016-07-21 16:35:20 -07:00
Todd Gamblin
4707362ccd Merge pull request #1263 from hartzell/lmod-needs-tcl
The lmod package should depend_on('tcl')
2016-07-21 16:32:54 -07:00
becker33
dd5b1ac098 Merge pull request #1335 from LLNL/crayxc-detection
Crayxc detection
2016-07-21 15:06:42 -07:00
Gregory Becker
bcbe9c02da Added cray wrapper names directory to spack_env_paths so the spack compiler wrapper will remove them from the environment (prevents hang) 2016-07-21 14:50:23 -07:00
Gregory Becker
1544f98ee0 fixed flake8 errors 2016-07-21 14:36:10 -07:00
Gregory Becker
f0d5317913 fixed 2016-07-21 14:11:34 -07:00
Gregory Becker
2ae7429b18 Bug fix for cray_xc platform 2016-07-21 14:04:22 -07:00
George Hartzell
4efe022165 Update with info about gcc-5.4.0 2016-07-21 15:36:22 -04:00
Mitchell Devlin
796308ed85 edit 2016-07-21 13:39:27 -05:00
George Hartzell
4c105895ab Fix flake8 violations 2016-07-21 14:24:51 -04:00
George Hartzell
9523e50732 Fix shebang line in tcl scripts
Lmod's configure script goes to the trouble of finding
tclsh.  This change uses that info to rewrite the #! lines
in the tcl scripts so that they call the tclsh that the
configure script discovered.

It needs to massage the existing shebang lines into something
that the sed statement in the makefile can manipulate and
it needs to add the path_to_tclsh info into the set of sed
statements.

Checked with versions 6.4.1 and 6.3.7 (the checksum for 6.0.1 is
incorrect, a fix for another time).
2016-07-21 13:58:16 -04:00
George Hartzell
52f0249c61 tcl is actually a runtime dependency.
lmod uses tclsh at runtime, so adjust the depends_on accordingly
(thanks @davydden!).
2016-07-21 13:51:03 -04:00
George Hartzell
a27cb639d8 The lmod package should depend_on('tcl')
The lmod package needs a tclsh.  Up until now it just assumed
that one was available on the system.

This change adds a depends_on('tcl') to the lmod package.

The tcl package installs a tclsh script with an embedded version
number (e.g. tclsh8.6) but the lmod configuration looks for tclsh.
This change extends the tcl package to symlink tclshX.Y to tclsh in
the tcl package bin directory.
2016-07-21 13:51:03 -04:00
Adam J. Stewart
cf8f14780f MVAPICH2 depends on libpciaccess 2016-07-21 11:13:17 -05:00
Todd Gamblin
098af17971 Merge pull request #1208 from paulhopkins/bugfix/github1196-specify-preferred-variants
Bugfix/github1196 specify preferred variants
2016-07-21 08:36:19 -07:00
Todd Gamblin
5745ede31d Merge pull request #1328 from suraia/fix-recursive-module-load
Fix recursive module loading
2016-07-21 08:34:36 -07:00
Todd Gamblin
0b1d03abe6 Merge pull request #1327 from suraia/update-load-documentation
Update documentation for recursive module loading
2016-07-21 08:33:40 -07:00
Paul Hopkins
00280936da Flake8 fixes to ensure qa tests pass 2016-07-21 13:12:58 +01:00
Paul Hopkins
480fe9cb9a Re-add documentation for variant preferences 2016-07-21 12:32:00 +01:00
Paul Hopkins
bd91dd9d6d Allow users to supply preferred variants via packages.yaml 2016-07-21 12:32:00 +01:00
Michael Kuhn
732c24f603 Fix recursive module loading. 2016-07-21 13:15:53 +02:00
Michael Kuhn
4e1f86881a Update documentation for recursive module loading. 2016-07-21 13:15:10 +02:00
Gregory Lee
07d4c6cf0b Merge pull request #1205 from glennpj/psxe
Setup environment for Intel Parallel Studio
2016-07-20 21:14:34 -07:00
Glenn Johnson
ead1b93f75 MPI related changes
- Redid the code for setting the itac symlink for the cluster edition.
- Removed the *PATH variables for MPI to avoid a conflict with other MPI
  environment modules.
- Added missing test for `+all` when checking variants.
2016-07-20 20:03:05 -05:00
Glenn Johnson
0be4c7dfbd Changes as discussed in PR review
- removed unneeded entry for `debugger/gdb/intel64_mic`
- set `+mpi` directory name to impi
2016-07-20 20:03:05 -05:00
Glenn Johnson
5e5e36a659 Fix flake8 errors. 2016-07-20 19:54:35 -05:00
Glenn Johnson
16f67b5bb1 Setup environment for Intel Parallel Studio
Set up the environment for the Intel compilers and tools. This commit
does the following:

- Unset variables that were incorrect from the auto guess prefix
  inspections.
- Add a RemovePath environment_modifications_formats for dotkit.
- Set the module environment variables appropriate for the different
  variants.
- Change the component logic so that the '+all' variant works. It was
  getting split by letter and leaving COMPONENTS empty.
- Added a variant checking function.
- Added NONRPM_DB_DIR to the silent.cfg so that the product database
  goes to the installation directory.
- With the product database in prefix the code to remove the product
  database file from the home directory is no longer needed and was
  removed.
- Reformat the 'tools' variant description.

There are probably more variables needed for the '+tools' for the
'professional' product version but I do not have access to that.
2016-07-20 19:54:35 -05:00
mwilliammyers
b8444aa518 Merge remote-tracking branch 'upstream/develop' into package-opencv
* upstream/develop: (126 commits)
  Fix indent/flake8 error.
  openexr : Add new package
  Set environment variables
  Added gnu packages datamash, parallel, and screen
  added package as argument to setup_platform_environment
  ilmbase : Add new IlmBase package
  Documented linker default
  fixed flake errors
  removed commented-out code
  Set default link type to dynamic on cray. Includes hooks for platform-based environment changes
  fixed flake errors
  fixed flake errors
  Improved cray_xc detection bug fix
  Improved cray_xc detection
  remove FIXMEs
  Ensure that per-4.4.1 NetCDF doesn't use HDF5 1.10
  Re-ignore licenses directory
  Add "default" configuration scope.
  Draft CDO
  Make frontend OS on Cray machines a proper linux distro.
  ...
2016-07-20 18:34:53 -06:00
mwilliammyers
a09bebcaea opencv : Add section comments 2016-07-20 18:19:59 -06:00
mwilliammyers
a9541997ae opencv : Reorder depends_on statements 2016-07-20 18:19:03 -06:00
mwilliammyers
bd02892f7b opencv : Use dso_suffix for python lib 2016-07-20 18:10:10 -06:00
mwilliammyers
ea9fa81ba5 opencv : Fix python include dir for cmake 2016-07-20 18:10:09 -06:00
mwilliammyers
670157b364 opencv : Add zlib cmake support 2016-07-20 18:10:09 -06:00
mwilliammyers
e5ae48a9da opencv : Add jasper cmake support 2016-07-20 18:10:09 -06:00
mwilliammyers
47514d07b1 opencv : Use dso_suffix 2016-07-20 18:10:08 -06:00
mwilliammyers
f2e8f27c15 opencv : Add libpng cmake support 2016-07-20 18:10:08 -06:00
mwilliammyers
fc79b104f0 opencv : Add libjpeg-turbo cmake support 2016-07-20 18:10:07 -06:00
mwilliammyers
97143768c8 opencv : Add libtiff cmake support 2016-07-20 18:10:07 -06:00
mwilliammyers
d3b97227a1 opencv : Add optional jdk dependency 2016-07-20 18:10:07 -06:00
mwilliammyers
da2b695f93 opencv : Fix lib finding for python 2016-07-20 17:25:05 -06:00
mwilliammyers
10c285a774 opencv : Use string.format() 2016-07-20 17:25:01 -06:00
mwilliammyers
0654ee6a10 opencv : Fix style inconsistencies 2016-07-20 17:24:55 -06:00
mwilliammyers
8cf03c209f opencv : Make extending python optional 2016-07-20 17:24:50 -06:00
mwilliammyers
c588ce9648 opencv : Improve cmake detecting python 2016-07-20 17:24:46 -06:00
mwilliammyers
3fac2dcc41 opencv : Fix cmake not disabling gtk 2016-07-20 17:24:40 -06:00
mwilliammyers
0080ffcf9f opencv : Use in operator 2016-07-20 17:24:35 -06:00
mwilliammyers
ce902bf27a opencv : Minor style changes 2016-07-20 17:24:30 -06:00
mwilliammyers
2cde6aaabd opencv : Add GUI support 2016-07-20 17:24:26 -06:00
mwilliammyers
578ddea418 opencv : Fix pep8 style issues 2016-07-20 17:24:21 -06:00
mwilliammyers
cf0f5756f5 opencv : Fix python extensions issues 2016-07-20 17:24:13 -06:00
mwilliammyers
9e1d26e973 opencv : Add CUDA extensions 2016-07-20 17:23:46 -06:00
Todd Gamblin
e389afedaa Merge pull request #1323 from glennpj/rlib
Set environment variables for R
2016-07-20 15:43:26 -07:00
Todd Gamblin
b9c79824a2 Merge pull request #1313 from sknigh/gnu-tools
Added packages for GNU tools screen, datamash, and parallel
2016-07-20 15:38:55 -07:00
Todd Gamblin
0777d3a5ba Merge pull request #1326 from mwilliammyers/package-openexr
openexr : Add new package
2016-07-20 15:35:36 -07:00
Mitchell Devlin
2344ffd0c7 add libxsmm package 2016-07-20 16:36:31 -05:00
Glenn Johnson
0c75174ec3 Fix indent/flake8 error. 2016-07-20 15:56:20 -05:00
mwilliammyers
e973adf84b openexr : Add new package 2016-07-20 14:49:03 -06:00
Glenn Johnson
f9137f606f Set environment variables
This commit adds `setup_environment` to export the libraries and
headers.

Fixes #1314.
2016-07-20 15:37:31 -05:00
Todd Gamblin
8856a226c7 Merge pull request #1277 from mathstuf/special-deptypes
deptypes: support special deptypes by string
2016-07-20 13:15:57 -07:00
Todd Gamblin
d8acd41ba1 Merge pull request #1321 from mwilliammyers/package-ilmbase
ilmbase : Add new IlmBase package
2016-07-20 13:13:21 -07:00
Todd Gamblin
8efbec3c0b Merge pull request #1292 from eschnett/eschnett/hdf5-default-1.10
Make newest HDF5 release the default version
2016-07-20 12:57:45 -07:00
Todd Gamblin
4c7c9f4ff5 Merge pull request #1303 from adamjstewart/features/armadillo
Updates to Armadillo package
2016-07-20 12:56:41 -07:00
Todd Gamblin
cd4f429f72 Merge pull request #1319 from LLNL/cray-linker
Cray linker
2016-07-20 12:56:01 -07:00
Samuel Knight
24c14ff7a8 Added gnu packages datamash, parallel, and screen 2016-07-20 19:53:14 +00:00
Gregory Becker
eda1176ba7 added package as argument to setup_platform_environment 2016-07-20 12:26:31 -07:00
mwilliammyers
c9f4e8ce5a ilmbase : Add new IlmBase package 2016-07-20 13:13:47 -06:00
Gregory Becker
6983c1d30d Documented linker default 2016-07-20 12:04:00 -07:00
Gregory Becker
412618d531 fixed flake errors 2016-07-20 11:52:16 -07:00
Gregory Becker
7db4170062 removed commented-out code 2016-07-20 11:36:47 -07:00
Gregory Becker
f4fb9a0771 Set default link type to dynamic on cray. Includes hooks for platform-based environment changes 2016-07-20 11:35:13 -07:00
Todd Gamblin
79e066d53c Merge pull request #1315 from LLNL/improved-cray-detection
Improved cray detection
2016-07-20 11:11:56 -07:00
Gregory Becker
106147716a fixed flake errors 2016-07-20 11:00:56 -07:00
Gregory Becker
0d18f7249c fixed flake errors 2016-07-20 10:50:18 -07:00
Gregory Becker
26d1ddc176 Improved cray_xc detection bug fix 2016-07-20 10:28:38 -07:00
Gregory Becker
4c506b36c5 Improved cray_xc detection 2016-07-20 10:25:07 -07:00
Todd Gamblin
4434f482c0 remove FIXMEs 2016-07-20 09:48:54 -07:00
Todd Gamblin
3def8ef60e Merge branch 'cdo' of https://github.com/robertdfrench/spack into robertdfrench-cdo 2016-07-20 09:48:01 -07:00
Todd Gamblin
20584ab084 Merge pull request #1302 from robertdfrench/adios-url
Get adios from github, not NCCS
2016-07-20 09:47:23 -07:00
Todd Gamblin
7c28338d60 Merge pull request #1301 from robertdfrench/silver-searcher
Silver Searcher 0.32 is out
2016-07-20 09:47:12 -07:00
Todd Gamblin
17a63c9646 Merge pull request #1284 from eschnett/eschnett/py-h5py.2
Declare dependency of "py-h5py +mpi" on "py-mpi4py"
2016-07-20 09:45:54 -07:00
Todd Gamblin
01a361d637 Merge pull request #1288 from LLNL/features/cray_compiler_names
Let packages call use_cray_compilers() in install to get , etc set to…
2016-07-20 09:45:36 -07:00
Todd Gamblin
7f20678969 Merge pull request #1291 from eschnett/eschnett/netcdf-4.4.1
Update NetCDF to version 4.4.1
2016-07-20 09:34:14 -07:00
Erik Schnetter
69e36c9821 Ensure that per-4.4.1 NetCDF doesn't use HDF5 1.10 2016-07-20 11:25:46 -04:00
Todd Gamblin
c503b43e38 Merge pull request #1311 from adamjstewart/features/licenses
Re-ignore licenses directory
2016-07-20 07:14:47 -07:00
Adam J. Stewart
83330d2b59 Re-ignore licenses directory 2016-07-20 08:50:32 -05:00
Todd Gamblin
6501cba5a7 Merge pull request #1309 from LLNL/features/spack-defaults
Add "default" configuration scope.
2016-07-19 23:48:12 -07:00
Todd Gamblin
26480f14f9 Add "default" configuration scope.
- Default scope is versioned with spack and can be overridden by site
  or user config.

- Default scope provides sensible default concretization preferences
  for all of Spack.

- per-platform concretization scope can be added later (to force a
  particular MPI on, e.g., Cray systems)
2016-07-19 17:10:17 -07:00
Robert D. French
6b0fb476ab Draft CDO 2016-07-19 15:57:55 -07:00
Todd Gamblin
dd7bd4f320 Make frontend OS on Cray machines a proper linux distro. 2016-07-19 14:59:04 -07:00
Ben Boeckel
1315753e70 deptypes: support special deptypes by string 2016-07-19 16:26:18 -04:00
Robert D. French
1c9cf668a1 Silver Search 0.32 is out
PEP8 Love + Re-adding v0.30.0
2016-07-19 10:48:53 -07:00
Adam J. Stewart
8034536054 Fix shared object suffix for macOS 2016-07-19 12:37:34 -05:00
Adam J. Stewart
afa4cdc2d8 Updates to Armadillo package 2016-07-19 12:33:04 -05:00
Robert D. French
25e765baae Download Adios from Github
Get adios from github, not NCCS

Use correct hash, thanks Ben
2016-07-19 10:31:59 -07:00
Todd Gamblin
a64a2e72cf Merge pull request #1226 from adamjstewart/features/tkinter
Add Tkinter support for Python
2016-07-19 09:41:12 -07:00
Todd Gamblin
c4b4ce7d85 Merge pull request #1135 from epfl-scitas/features/module_refresh_reworking
spack module : reworking of the command
2016-07-19 09:27:58 -07:00
Todd Gamblin
4ad29b6c9b Merge pull request #1262 from davydden/pkg/suite_sparse_fix_blas
suite-sparse: enable TBB and fix Blas/Lapack libs
2016-07-19 09:18:42 -07:00
Todd Gamblin
7e16a4edd7 Merge pull request #1294 from eschnett/eschnett/flex
Flex requires m4
2016-07-19 09:04:04 -07:00
alalazo
acfeb5d043 Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh
Conflicts:
	lib/spack/spack/test/__init__.py
2016-07-19 09:05:27 +02:00
Erik Schnetter
71684cb071 Flex requires m4 2016-07-18 23:04:20 -04:00
Erik Schnetter
4dec06e4f4 Make HDF5 1.10 the default version
Apply this only after NetCDF 4.4.1 is supported.
2016-07-18 20:14:44 -04:00
Erik Schnetter
94df1b801a Update NetCDF to version 4.4.1
This version supports HDF5 1.10 in a backward-compatible manner.
2016-07-18 20:11:32 -04:00
Todd Gamblin
7555c3d949 Merge pull request #1204 from goxberry/cmake-3.6.0
cmake@3.6.0
2016-07-18 16:53:17 -07:00
becker33
013cfafe57 Merge pull request #1229 from suraia/fix-preferred-providers
Fix preferred providers.
2016-07-18 16:47:08 -07:00
Gregory Becker
218fc602fa Let packages call use_cray_compilers() in install to get , etc set to cray names 2016-07-18 15:43:21 -07:00
Todd Gamblin
25a9181a1b Merge pull request #1287 from mwilliammyers/package-jasper
jasper: Add new jasper package
2016-07-18 15:43:18 -07:00
mwilliammyers
02340062b4 package - jasper - Add new jasper package 2016-07-18 16:17:07 -06:00
Todd Gamblin
4a276807b1 Merge pull request #1245 from LLNL/features/cray-detection-improvement
The /cray_home directory is more consistent than the /cray/craype dir…
2016-07-18 14:36:08 -07:00
Todd Gamblin
51834773b4 Merge pull request #851 from mathstuf/safer-bootstrap
bootstrap: fall back to the default upstream URL
2016-07-18 14:25:29 -07:00
Gregory Becker
46ee4a3a53 Using cc -craype-verbose to get cray platform type 2016-07-18 14:25:17 -07:00
Todd Gamblin
607813d5ce setuptools is a build dependency in numpy. 2016-07-18 14:13:14 -07:00
Erik Schnetter
67fade5b1e Declare dependency of "py-h5py +mpi" on "py-mpi4py" 2016-07-18 17:08:56 -04:00
Todd Gamblin
a9ed2296a1 Merge pull request #1282 from eschnett/eschnett/py-numpy
py-numpy: Add py-setuptools dependencies
2016-07-18 13:58:17 -07:00
Todd Gamblin
fa0bbb57ea Merge pull request #1270 from davydden/pkg/mumps_scalapack_fix_blas
Pkg/mumps scalapack fix blas
2016-07-18 13:57:26 -07:00
Erik Schnetter
49cd6f6269 py-numpy: Add py-setuptools dependencies
Closes #1281.
2016-07-18 16:01:48 -04:00
Todd Gamblin
653f25d676 Merge pull request #1171 from adamjstewart/features/octave
Allow spack create to automatically detect octave build system
2016-07-18 12:32:32 -07:00
Todd Gamblin
089189afaf Merge pull request #1238 from davydden/pkg/mkl_update
mkl: add provide blas/lapack
2016-07-18 11:52:30 -07:00
Todd Gamblin
0a89342508 Merge pull request #1271 from paulhopkins/bugfix/package-list
Bugfix/package list
2016-07-18 10:47:12 -07:00
Todd Gamblin
06f57a31c1 Merge pull request #1273 from mathstuf/opt-ignore
gitignore: don't require opt to be a directory
2016-07-18 10:44:16 -07:00
Michael Kuhn
19df1ea79d flake8 fix 2016-07-18 17:53:26 +02:00
Ben Boeckel
2b4d2b8748 gitignore: don't require opt to be a directory
I use a symlink to make it easy to swap out.
2016-07-18 11:39:26 -04:00
Paul Hopkins
a46138dea9 More flake8 fixes for package-list 2016-07-18 13:59:58 +01:00
Adam J. Stewart
ea425a101a Flake8 and new tk version 2016-07-18 07:51:08 -05:00
Adam J. Stewart
583232ea52 Build Python with Tkinter support 2016-07-18 07:51:08 -05:00
Adam J. Stewart
89c9bec81e Flake8 2016-07-18 07:45:28 -05:00
Adam J. Stewart
262ab40188 Update build_system_guess test with new class name 2016-07-18 07:45:28 -05:00
Adam J. Stewart
199a8af7cc Flake8 2016-07-18 07:45:28 -05:00
Adam J. Stewart
e9f42c1a94 Allow spack create to automatically detect octave build system 2016-07-18 07:45:27 -05:00
alalazo
a96eb7096d Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh
Conflicts:
	share/spack/setup-env.sh
2016-07-18 14:12:47 +02:00
Paul Hopkins
cc027148eb Flake8 fixes in cmd/package-list.py file 2016-07-18 12:52:23 +01:00
Paul Hopkins
2b3ba850b3 Fix spack package-list to correctly handle deptypes 2016-07-18 12:51:58 +01:00
Todd Gamblin
b3789a4693 Merge pull request #1269 from davydden/pkg/hypre_trilinos_blas
Pkg/hypre trilinos blas
2016-07-18 03:06:37 -07:00
Todd Gamblin
4030f8d7c3 Merge pull request #1268 from LLNL/bugfix/spack-info-gh1256
Fix broken `spack info` command after build dep merge.
2016-07-18 03:03:05 -07:00
Todd Gamblin
cddaba8add flake8 fixes.
- package.py
- spec.py
- test/architecture.py
2016-07-18 02:34:24 -07:00
Todd Gamblin
192369dd2b Fix #1265: Errors in spack reindex
- Consolidated code to read spec.yaml and database index.yaml into
  one method (`read_yaml_dep_specs()`) in spec.py.

- Code understands old hash format, tuple format, and dicts for dep
  specs, for backward compatibility.

- Spec YAML now uses a dict with keys to represent dep specs (this is
  more future-proof).

- Dep specs no longer contain !!py-tuple entries in YAML (only lists
  properly YAML-ize)

- bump database version.
2016-07-18 01:19:07 -07:00
Todd Gamblin
73f10c9363 Fix broken spack info command after build dep merge.
- Added a method to get dependencies of particular types from Package
- Fixed info command.
2016-07-18 01:19:07 -07:00
Todd Gamblin
cdc2ebee90 Better error messages for spack reindex. 2016-07-18 01:14:47 -07:00
Denis Davydov
2e4966c854 netlib-scalapack: use dso_suffix 2016-07-18 10:11:18 +02:00
Todd Gamblin
c898b9db04 Merge pull request #1188 from epfl-scitas/packages/py-numpy
RPATH for blas in py numpy
2016-07-17 21:20:39 -07:00
Todd Gamblin
117743863e Merge pull request #1252 from hartzell/patch-5
Fix format of explanation of an example & question
2016-07-17 21:20:02 -07:00
Todd Gamblin
28ce08b9e2 Merge pull request #1258 from eschnett/eschnett/openmpi-2.0.0
Update to OpenMPI 2.0.0
2016-07-17 21:01:21 -07:00
Todd Gamblin
0e8bf79fa4 Merge pull request #1240 from epfl-scitas/truncated_documentation
doc : fixes #1239
2016-07-17 20:59:36 -07:00
alalazo
dc671ad037 docs : substituted None with empty cell 2016-07-17 22:17:52 +02:00
Denis Davydov
1bd3a702c9 mumps: flake8 fixes 2016-07-16 15:14:06 +02:00
Denis Davydov
561748a063 netlib-scalapack: flake8 fixes 2016-07-16 08:03:54 +02:00
Denis Davydov
9ea4f80f15 flake8 fixes 2016-07-16 07:58:51 +02:00
Denis Davydov
0752eccfa5 mumps: don't hardcode blas name; remove unused depends_on(lapack) 2016-07-16 07:38:42 +02:00
Denis Davydov
6175ce7559 netlib-scalapack: make sure Spack's Lapack is used 2016-07-16 07:37:38 +02:00
Denis Davydov
987fb137f9 trilinos: don't hardcode blas/lapack names 2016-07-16 07:31:38 +02:00
Denis Davydov
514c61b8fe hypre: don't hardcode blas/lapack/mpi; optionally run tests 2016-07-16 07:28:31 +02:00
Denis Davydov
992250ddea add to_lib_name() to get library name from a path 2016-07-16 07:24:05 +02:00
Michael Kuhn
d61190c3ff Explicitly request zmpi in module blacklist test. 2016-07-16 00:48:04 +02:00
Denis Davydov
96e9dbca08 suite-sparse: enable TBB and fix Blas/Lapack libs 2016-07-16 00:33:39 +02:00
Erik Schnetter
5a1ed51dcd Correct indentation 2016-07-15 18:10:33 -04:00
becker33
63101e9914 Merge pull request #1261 from adamjstewart/features/create-deptype
Automatically add deptype to newly created packages
2016-07-15 15:10:10 -07:00
Adam J. Stewart
8c1cc44522 Automatically add deptype to newly created packages 2016-07-15 16:43:25 -05:00
becker33
36f818b9fb Merge pull request #1246 from suraia/improve-shell-integration
Improve shell integration.
2016-07-15 14:23:51 -07:00
becker33
c0be585b67 Merge pull request #1168 from epfl-scitas/packages/gts
gts : added package
2016-07-15 14:07:59 -07:00
becker33
656b2d562f Merge pull request #1177 from epfl-scitas/packages/swiftsim_and_metis
swiftsim : fixed configuration for metis
2016-07-15 14:05:28 -07:00
becker33
f761130343 Merge pull request #1187 from paulhopkins/bugfix/python-updates
Bugfix/python updates
2016-07-15 14:04:46 -07:00
becker33
f1d85ac2e9 Merge pull request #1227 from glennpj/ggvis
New package - r-ggvis
2016-07-15 14:00:15 -07:00
becker33
1585c014d7 Merge pull request #1259 from adamjstewart/fixes/run-flake8
Updates to run-flake8 test
2016-07-15 13:55:01 -07:00
becker33
37ce4108ce Merge pull request #1254 from mdevlin1/features/hmmer
add HMMER package
2016-07-15 13:52:56 -07:00
becker33
e822257565 Merge pull request #1251 from hartzell/patch-4
Minor typo fix
2016-07-15 13:51:02 -07:00
Adam J. Stewart
a4a2f179c7 Updates to run-flake8 test 2016-07-15 12:11:41 -05:00
Erik Schnetter
4663288b49 Update to OpenMPI 2.0.0 2016-07-15 13:00:48 -04:00
George Hartzell
64b1bafd41 Make flake8 happy with .../jdk/package.py
My PR for adding a new jdk version failed its
travis run because of existing flake8 violoations.

This package cleans them up.

I'm not particularly pythonic, but most of the complaints were
obvious.  HOWEVER, I'm not particularly confident about handling
long lines by taking an flake8 exception comment onto the end.

Feedback welcome...
2016-07-15 12:39:40 -04:00
Mitchell Devlin
5f1b6f000d add HMMER package 2016-07-15 11:03:57 -05:00
Denis Davydov
b29b7595dd mkl: add info on interface and threading layers to the docstring 2016-07-15 17:35:10 +02:00
alalazo
1f3cb2b93c Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh
Conflicts:
	lib/spack/spack/cmd/module.py
2016-07-15 10:37:27 +02:00
Todd Gamblin
077848fc0b Merge pull request #378 from mathstuf/dep-types
dependency types
2016-07-15 00:29:16 -07:00
Todd Gamblin
f3e9588457 Fix package name bug. 2016-07-14 23:15:54 -07:00
Gregory Becker
487ec2aff1 added py-pydatalog package 2016-07-14 23:12:35 -07:00
Todd Gamblin
b8e2799700 Add GNU Prolog package. 2016-07-14 14:38:30 -07:00
Ben Boeckel
5d152edcaf spec: assign namespaces to the full dependency DAG 2016-07-14 16:33:48 -04:00
Ben Boeckel
faa3d43d9c package: mention the package that is no concrete 2016-07-14 16:33:38 -04:00
Ben Boeckel
a0584c78a8 foam-extend, sundials: add cmake as a builddep
The sundials doesn't use CMake directly, but it is referenced in the
patch step. I suspect it calls CMake somewhere else in its build system.
2016-07-14 16:21:47 -04:00
Ben Boeckel
d71a12438b cantera: use nolink for python module dependencies
Unsure about this, but this is probably true.
2016-07-14 16:21:47 -04:00
Ben Boeckel
39aef5fc00 lua: bring in run deps of build and run deps 2016-07-14 16:21:47 -04:00
Ben Boeckel
a82385cdae R: look only at run dependencies of build and run deps 2016-07-14 16:21:46 -04:00
Ben Boeckel
0ca1a481a3 python: setup the dependent environment properly
We want the run dependencies of all build and run dependencies of the
current package.
2016-07-14 16:21:46 -04:00
Ben Boeckel
ac1701ae29 msgpack-c: add missing dependency on cmake 2016-07-14 16:21:46 -04:00
Ben Boeckel
77965ce5bf py-matplotlib: require py-setuptools to build 2016-07-14 16:21:46 -04:00
Ben Boeckel
6fd45520da deptypes: mark deptypes in packages 2016-07-14 16:21:46 -04:00
Ben Boeckel
45c675fe7f spack: introduce dependency types
deptypes: allow for different queries

For things like Python modules, they are required for the build and
runtime, but rather than adding a new parameter for what to query across
the dependency DAG, just expose the recursive query parameter.
2016-07-14 16:21:46 -04:00
Ben Boeckel
bae97d17d0 test: use file:// url for git repos 2016-07-14 16:21:45 -04:00
Ben Boeckel
bdf82246f7 darwin: explicitly use the 'when=' kwarg 2016-07-14 16:21:45 -04:00
Ben Boeckel
1ae43b3405 doxygen: add missing import 2016-07-14 16:21:45 -04:00
Ben Boeckel
6d2ec9baf7 test/stage: use os.path.realpath on the test paths
When var/spack/stage is a symlink, the tests fail since realpath is used
on the resulting path, but not the original path, so the string compare
fails. Smarter path testing might be a better option.
2016-07-14 16:21:45 -04:00
Ben Boeckel
b4682c8ca3 directory_layout: fix error path when specs conflict 2016-07-14 16:21:45 -04:00
Ben Boeckel
e275b567eb typos: fix some typos 2016-07-14 16:21:45 -04:00
Michael Kuhn
64d91943ec Support --dependencies for recursively loading modules. 2016-07-14 20:14:06 +02:00
George Hartzell
3e718920d1 Remove extraneous letter 'p'
It got in there by mistake, now it's gone.
2016-07-14 09:40:47 -07:00
George Hartzell
3051c3d71d Fix format of explanation of an example & question
This list was not formatted correctly on [the ReadTheDocs site](http://software.llnl.gov/spack/basic_usage.html#specs-dependencies).

I'm not a .rst expert, but I think that it was improperly indented.

The example includes an `arch=...` string but *arch* is not listed in the valid compiler flag specifiers or architecture specifiers.  Should it be, or is it considered an "optional variant specifier?
2016-07-14 08:31:07 -07:00
George Hartzell
e052aaf44d Minor typo fix
the packages that depends on => the packages that depend on
2016-07-14 08:19:32 -07:00
Denis Davydov
668b4f1b2c mkl: set MKLROOT 2016-07-13 23:36:23 +02:00
Michael Kuhn
5ffc50732b flake8 fixes 2016-07-13 23:05:08 +02:00
Michael Kuhn
fcfe2618d5 Improve shell integration.
Enable sh emulation for Zsh and allow loading modules recursively.
2016-07-13 20:33:14 +02:00
Todd Gamblin
d24c11f2b1 Merge pull request #1231 from adamjstewart/fixes/bzip2
Patch both bzip2 makefiles
2016-07-13 10:46:58 -07:00
Adam J. Stewart
3864da6300 Flake8 2016-07-13 11:45:16 -05:00
Adam J. Stewart
d09b0c95ec Filter both makefiles to allow intel to build bzip2 2016-07-13 11:45:16 -05:00
alalazo
0e2afedb7f doc : fixes #1239 2016-07-13 12:43:48 +02:00
Denis Davydov
de9cce3e80 p4est: flake8 2016-07-13 11:45:33 +02:00
Denis Davydov
52ca215e29 mkl: add provide blas/lapack 2016-07-13 11:42:40 +02:00
Denis Davydov
b8bd02c5b2 p4est: use run_tests instead of a variant 2016-07-13 10:56:40 +02:00
George Hartzell
a73d91a2e5 Add URL and md5 for jdk-8u92.
Installed on Centos7.2 system, `java -version` works.
2016-07-12 16:59:08 -04:00
Todd Gamblin
27aa265abd Merge pull request #1211 from hartzell/patch-3
Typo: verison -> version
2016-07-12 13:53:52 -07:00
Michael Kuhn
b7d9b58cc5 Fix preferred providers. 2016-07-12 19:57:08 +02:00
Glenn Johnson
955d02049c New package - r-ggvis
Bring in ggvis and dependencies.

GGvis is an implementaion of the 'Grammar of Graphics', combined with
shiny.
2016-07-12 12:27:54 -05:00
Todd Gamblin
069de3f008 Merge pull request #1223 from glennpj/tidyr
New package - r-tidyr
2016-07-12 00:23:09 -07:00
Todd Gamblin
04b3d8d86f Merge pull request #1222 from glennpj/libxml2
Use the site_packages_dir from the Python class
2016-07-12 00:22:45 -07:00
Glenn Johnson
502d15fd3b New package - r-tidyr
Tools for changing the layout of data sets.
2016-07-11 21:12:28 -05:00
Glenn Johnson
5e323b052a Remove import of os
The import of `os` is no longer needed.
2016-07-11 20:21:25 -05:00
Glenn Johnson
81daaddfe9 Use the site_packages_dir from the Python class
It is not necessary to set site_packages_dir in this package as it is
already provided by the Python package class.
2016-07-11 20:08:30 -05:00
Todd Gamblin
38e722f75d Merge pull request #1215 from glennpj/prefix_inspections
Add share/man to prefix inspections.
2016-07-11 16:47:22 -07:00
Todd Gamblin
15790d7018 Merge pull request #1207 from davydden/pkg/dealii_update_petsc37
dealii: update for petsc37
2016-07-11 15:32:32 -07:00
Todd Gamblin
551d9eb328 Merge pull request #1220 from glennpj/libxml2
Fix libxml2 error reported on Google Groups list
2016-07-11 15:27:15 -07:00
Glenn Johnson
1b08296392 Fix flake8 error 2016-07-11 17:22:31 -05:00
Glenn Johnson
8de84b5d8a Fix error reported on Google Groups list
Fixes the reported `TypeError: not enough arguments for format string`
error.
2016-07-11 16:56:26 -05:00
Todd Gamblin
78ac11ff88 Merge pull request #1217 from LLNL/features/git-submodule-init
Add `submodules` option for git fetching.
2016-07-11 14:17:41 -07:00
Todd Gamblin
283d621b6e Add documentation for fetching submodules. 2016-07-11 13:27:37 -07:00
Todd Gamblin
86b1b28906 Add submodules option for git fetching. 2016-07-11 13:27:35 -07:00
Todd Gamblin
efdcd199c1 Merge pull request #1218 from glennpj/dplyr
New package - r-dplyr
2016-07-11 13:19:09 -07:00
Todd Gamblin
db1516d582 Merge pull request #1219 from glennpj/lubridate
New package - r-lubridate
2016-07-11 13:18:44 -07:00
Glenn Johnson
d99fbbb68f New package - r-lubridate
Functions to work with date-times and timespans.
2016-07-11 14:59:47 -05:00
Glenn Johnson
11960e53ef New package - r-dplyr
This brings in dplyr and dependencies.
2016-07-11 14:50:33 -05:00
alalazo
5f861e075c Merged develop into branch 2016-07-11 20:57:55 +02:00
Todd Gamblin
255d05a9c1 Merge pull request #1214 from glennpj/rfilter
Filter compilers for R
2016-07-11 11:37:39 -07:00
Glenn Johnson
6d36ec3d76 Add share/man to prefix inspections.
The share/man path should be in prefix_inspections for MANPATH as
share/man is a common location for manual pages.
2016-07-11 13:35:22 -05:00
Todd Gamblin
7f6541ef02 Merge pull request #1190 from davydden/feature/version_dev
add special treatment of @develop version
2016-07-11 11:31:54 -07:00
Glenn Johnson
664bdd359f Filter compilers for R
This adds a filter_compilers function to have the Makeconf file for R
point to the actual compilers rather than the spack wrappers. Also added
version 3.3.1.
2016-07-11 13:29:43 -05:00
Denis Davydov
306e601d4e document special treatment of development version 2016-07-11 19:50:33 +02:00
George Hartzell
fbaff33f3f Typo: verison -> version 2016-07-11 09:44:20 -07:00
Todd Gamblin
a729c332c8 Merge pull request #1210 from hartzell/patch-2
Typo: verison -> version
2016-07-11 09:43:52 -07:00
George Hartzell
1682257b35 Typo: verison -> version 2016-07-11 09:42:49 -07:00
Todd Gamblin
691e628726 Merge pull request #1206 from davydden/pkg/slepc_371_fix
slepc: fix install_name for binaries on macOS for 3.7.1
2016-07-11 09:14:53 -07:00
Todd Gamblin
85947d0985 Merge pull request #1209 from paulhopkins/bugfix/octave-suitesparse-variant
Fix typo in Octave variant suitesparse
2016-07-11 08:58:37 -07:00
Paul Hopkins
0d3a52ae29 Fix typo in Octave variant suitesparse 2016-07-11 16:00:19 +01:00
Denis Davydov
1b553f2b21 dealii: fix directory structure 2016-07-11 13:21:16 +02:00
Denis Davydov
f14cd67446 dealii: flake8 fixes 2016-07-11 10:56:57 +02:00
Denis Davydov
84afaf385f dealii: run tests only when self.run_tests=true 2016-07-11 10:22:29 +02:00
Denis Davydov
1cc6e42682 dealii: add petsc/slepc 3.7 support 2016-07-11 10:20:15 +02:00
Denis Davydov
38550bbc1b slepc: fix install_name for binaries on macOS for 3.7.1 2016-07-11 10:17:09 +02:00
Geoffrey Oxberry
7551e4c14f cmake@3.6.0
Add CMake version 3.6.0.
2016-07-10 18:02:51 -07:00
Denis Davydov
b29d5e6032 add special treatment of develop version 2016-07-10 14:21:52 +02:00
Todd Gamblin
b0f4052bd8 Merge pull request #1169 from davydden/feature/install_argument_tests_petsc_fixes
--run-tests install argument and petsc fixes
2016-07-09 12:10:16 -07:00
Denis Davydov
e482994a15 petsc: add -lm when building example 2016-07-09 08:12:34 +02:00
Todd Gamblin
c086ccdab6 Merge pull request #1200 from glennpj/lowpackname
Have ``spack create`` default to lower case name for package
2016-07-08 13:29:52 -07:00
Glenn Johnson
33d0660abc Have `spack create` default to lower case name
This will create package directories with lower case names when using
`spack create`. The documentation was modified to reflect this.
2016-07-08 15:11:37 -05:00
Todd Gamblin
3338fcf014 Merge pull request #1199 from eschnett/eschnett/cereal-update
Update Cereal to 1.2.0
2016-07-08 12:21:14 -07:00
Erik Schnetter
c8137194f0 Update Cereal to 1.2.0 2016-07-08 15:20:09 -04:00
Todd Gamblin
f04258eb29 Merge pull request #1192 from SteVwonder/develop
docbook-xml: replace 'cp -t' with install_tree
2016-07-08 11:09:41 -07:00
Todd Gamblin
1fa67e458c Merge pull request #1194 from SteVwonder/lua-fix
lua: switch self.version[:2] to .up_to(2)
2016-07-08 11:09:18 -07:00
Todd Gamblin
642be5fa3d Merge pull request #1197 from SteVwonder/json-c-serial-build
json-c: fix build by running serially
2016-07-08 11:08:10 -07:00
Todd Gamblin
2759f14f23 Merge pull request #1198 from hartzell/patch-1
Fix typo
2016-07-08 11:08:00 -07:00
George Hartzell
1b9e8a0e65 Fix typo
Comamnds -> Commands
2016-07-08 11:01:08 -07:00
Stephen Herbein
bb8a8ecda3 json-c: fix build by running serially 2016-07-08 10:39:47 -07:00
Paul Hopkins
49e8e4b590 Add comments explaining UCS4 and prevent variant being used on Python 3.3 and above 2016-07-08 13:47:25 +01:00
Stephen Herbein
1a1bf31032 lua: switch self.version[:2] to .up_to(2)
Previous package would not install correctly, would throw:
return os.path.join('share', 'lua', '%d.%d' % self.version[:2])
TypeError: %d format: a number is required, not Version
2016-07-07 18:58:52 -07:00
Stephen Herbein
1b53452618 docbook-xml: replace 'cp -t' with install_tree
'-t' is not supported by the default cp on Mac OS X

replace with install/install_tree

cannot just use install_tree since shutil.copytree insists that the dst
directory not exist
2016-07-07 17:41:53 -07:00
Nicolas Richart
d339f2af29 flake8 corrections 2016-07-07 18:22:27 +02:00
Nicolas Richart
4c1b53660d fixes #719 2016-07-07 18:18:01 +02:00
Paul Hopkins
a2be05f24b Fix whitespace 2016-07-07 14:00:37 +01:00
Paul Hopkins
719b6bfffd Modify range for ucs4 2.* configure arguments 2016-07-07 13:18:40 +01:00
Paul Hopkins
8c1274bbbb Fix Python configure arguments for ucs4 variant on Python 3.0 and above 2016-07-07 13:12:43 +01:00
Paul Hopkins
fb6d850637 Add more python versions 2016-07-07 13:09:08 +01:00
Todd Gamblin
b9148b1751 Merge pull request #1125 from NERSC/docs/cray
Update documentation for use on Cray
2016-07-06 15:06:20 -07:00
Gregory Becker
403a55afb2 Minor bug fix 2016-07-06 14:54:25 -07:00
Gregory Becker
663b30b3e8 Update target autodetection for linux platform 2016-07-06 14:54:22 -07:00
Todd Gamblin
6bb31a9a4c Merge pull request #1175 from davydden/pkg/arpack-3.4.0
Pkg/arpack 3.4.0
2016-07-06 14:45:21 -07:00
Todd Gamblin
91da3d8e64 Merge pull request #1174 from LLNL/bugfix/github-1172-suite-sparse
Bugfix/GitHub 1172 suite sparse
2016-07-06 14:35:59 -07:00
Todd Gamblin
c6e89d9283 Merge pull request #1180 from davydden/pkg/oce_update_and_fix
oce: add 0.17.2; fix running tests
2016-07-06 14:27:05 -07:00
Denis Davydov
14cef6eab8 oce: flake8 fixes 2016-07-06 22:51:20 +02:00
Denis Davydov
c096bb332a petsc: fix unit tests 2016-07-06 22:45:43 +02:00
Denis Davydov
081918d71a add --run-tests argument for install() 2016-07-06 22:45:30 +02:00
Todd Gamblin
58487accdd Merge pull request #1179 from paulhopkins/features/python-ucs4
Add ucs4 unicode variant to Python package
2016-07-06 12:27:04 -07:00
Greg Lee
3df0f1902d clean up suitesparse deps 2016-07-06 12:15:20 -07:00
Greg Lee
4e27d91351 flake 8 fixes 2016-07-06 11:51:32 -07:00
Denis Davydov
57eaea2e8c oce: add 0.17.2; fix running tests 2016-07-06 20:35:59 +02:00
Paul Hopkins
61fe89bda0 Add ucs4 unicode variant to Python package 2016-07-06 18:29:54 +01:00
Denis Davydov
3d755a148b arpack-ng: fix binaries for macOS 2016-07-06 18:30:38 +02:00
Todd Gamblin
03fdb2058a Merge pull request #1176 from epfl-scitas/features/version_minor_improvements
spack.Version : like a duck!
2016-07-06 09:01:19 -07:00
alalazo
379f23be02 swiftsim : fixed configuration for metis 2016-07-06 17:51:46 +02:00
alalazo
9b926a480f qa : flake8 issues 2016-07-06 17:03:32 +02:00
alalazo
780a57367d version : modified __getitem__ to return either an item or a Version instance + unit tests 2016-07-06 17:00:48 +02:00
alalazo
32e086f44a version : modified __repr__ to return a string representation of the object + unit tests 2016-07-06 15:24:10 +02:00
Denis Davydov
c8fc56686c arpack-ng: fix corrupted parpack_cmake.patch 2016-07-06 13:42:59 +02:00
Denis Davydov
63e45c586c arpack-ng: flake8 fixes and minor update of incode comments 2016-07-06 13:27:02 +02:00
Denis Davydov
a47b3ba01b arpack-ng: use spec['mpi'].mpif77 2016-07-06 13:23:51 +02:00
Denis Davydov
f5f7abd71f arpack-ng: add 3.4.0 with cmake build 2016-07-06 12:59:42 +02:00
Todd Gamblin
2b9d02d594 Merge pull request #1173 from willkill07/bugfix/module/spec_typo
(bugfix) fixed typo of spec --> raw_spec
2016-07-05 15:45:27 -07:00
Greg Lee
4c063c6055 kludge to get suite-sparse-4.5.1 to link with -lstdc++ 2016-07-05 13:48:32 -07:00
Greg Lee
976b2b4d25 added suitesparse version 4.5.3 2016-07-05 13:45:22 -07:00
William Killian
1f64f08cb3 (bugfix) fixed typo of spec --> raw_spec 2016-07-05 13:32:37 -07:00
Todd Gamblin
cb9c4ac866 Merge pull request #1170 from eschnett/eschnett/py-h5py
Don't enforce `hdf5~mpi`
2016-07-05 09:02:43 -07:00
Erik Schnetter
79b3ef0362 Don't enforce hdf5~mpi 2016-07-05 10:58:11 -04:00
alalazo
55c4a676ad gts : added package 2016-07-05 14:30:48 +02:00
Todd Gamblin
d687e332ad Fix compile bugs for gcc on Mac OS X with macports.
- add macports to things that are cleaned out of the environment.
- linker incompatibilities cause issues with packages like OpenSSL.
- also clean up NOQA stuff in OpenSSL
2016-07-04 22:59:02 -07:00
Todd Gamblin
690937f953 Add --dirty option to spack install.
- Allow install to be run without cleaning the environment.
2016-07-04 22:58:01 -07:00
Todd Gamblin
6bac1598f6 Merge branch 'fix-archive' of https://github.com/mwilliammyers/spack into mwilliammyers-fix-archive 2016-07-04 21:35:33 -07:00
Todd Gamblin
f2a692c515 Merge pull request #1163 from epfl-scitas/fixes/reserved_name_for_system_packages
fixes : reserved name for system packages
2016-07-04 21:25:50 -07:00
Todd Gamblin
d166c04db5 Merge pull request #1166 from glennpj/rstan
New package - RStan
2016-07-04 21:23:10 -07:00
Todd Gamblin
1de675e976 Merge pull request #1165 from robertdfrench/ruby-needs-ffi-zlib
Ruby 2.2.0 needs ffi and zlib
2016-07-04 21:22:38 -07:00
Glenn Johnson
d5abcc5c88 Fix flake errors 2016-07-04 17:55:10 -05:00
Glenn Johnson
519b760222 New package - RStan
This PR creates the RStan package and its dependencies.
2016-07-04 17:30:05 -05:00
Robert D. French
53bbbfbe21 Require libffi, zlib; Make Openssl, readline optional 2016-07-04 15:21:13 -04:00
Todd Gamblin
9fb8030370 Merge pull request #1164 from epfl-scitas/revert-1023-packages/mumps
Revert "Corrected the shared libraries and tests in mumps package"
2016-07-04 10:02:33 -07:00
Nicolas
85982017b6 Revert "Corrected the shared libraries and tests in mumps package" 2016-07-04 18:19:09 +02:00
alalazo
861f174f66 qa : fixed flake8 issues 2016-07-04 10:26:32 +02:00
alalazo
3e8391458c openssl : changed tag for system reserved versions fixes #1150 2016-07-04 10:25:20 +02:00
Todd Gamblin
890df7153a Merge branch 'efischer/160311-StagedPackage' of https://github.com/citibeth/spack into citibeth-efischer/160311-StagedPackage 2016-07-04 00:27:32 -07:00
Todd Gamblin
2143c38ab8 Merge pull request #1158 from glennpj/intelfix
Use Executable to set script for Intel compiler installation
2016-07-03 23:16:32 -07:00
alalazo
6d988dde8d qa : fixed flake8 issues 2016-07-02 12:54:36 +02:00
alalazo
3100c5948a module : added unit tests 2016-07-02 12:14:30 +02:00
Glenn Johnson
729f23b432 Use Executable to set script
Use `Executable("./install.sh")` to set `install_script`. This allows it
to work when the current directory is not on the PATH.
2016-07-01 22:13:40 -05:00
Todd Gamblin
0de4ba738b Merge pull request #1157 from glennpj/envclean
Remove more variables from build environment
2016-07-01 20:13:32 -07:00
Glenn Johnson
31e9ded768 Remove more variables from build environment
Remove the LIBRARY_PATH and CPATH environment variables before building
a package.
2016-07-01 20:59:14 -05:00
alalazo
d10fceaacc spack commands : refactoring of cli arguments and common utiities. Implemented suggestions on spack module loads
- Common cli arguments now are in their own module
 - Moved utilities that can be reused by different commands into spack.cmd.__init__.py
 - Modifications to `spack module loads`
2016-07-01 23:06:07 +02:00
alalazo
0e171127b9 module : reverted typo introduced in a previous commit 2016-07-01 14:30:01 +02:00
alalazo
f0f7b23c8a module : added rm subcommand, encapsulated logic for constraints in argarse.Action subclass 2016-07-01 14:27:55 +02:00
alalazo
fe4ef286f2 module : added the command 'load-list' 2016-07-01 12:38:04 +02:00
Mario Melara
56adb5d9a5 Change arch spec and fix typo
Changed old arch specs to new arch specs. Changed intallation to
installation
2016-06-30 17:03:07 -07:00
Mario Melara
16a4c49f98 Remove Cray examples of config files
Removed examples of Cray config files and added them under Spack on
Cray. Any users of Cray can just look at the Spack on Cray section to
get an idea of what's used. If they want more information they can click
links to the sections.
2016-06-30 17:01:18 -07:00
Mario Melara
d784d561fc Add more documentation fix arch spec
Added more documentation for Spack on Cray. Also fixed the architecture
spec to be linux-debian7-x86_64 since it was reversed in the previous
commit.
2016-06-30 16:59:36 -07:00
Todd Gamblin
e837be1af9 Merge pull request #1153 from tzanio/mfem-3.2-dev
Updating MFEM package with v3.2 info.
2016-06-30 15:41:26 -07:00
Tzanio Kolev
137db14b75 Update package.py 2016-06-30 15:40:02 -07:00
Tzanio
d3b0cb56b7 Updating MFEM package with v3.2 info. 2016-06-30 15:23:30 -07:00
Massimiliano Culpo
6793a54748 --prefix : defaults to empty string 2016-06-30 23:18:32 +02:00
Massimiliano Culpo
ba1ada5424 Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh_reworking
Conflicts:
	lib/spack/spack/cmd/module.py
2016-06-30 22:19:46 +02:00
alalazo
a770151359 module : minor improvement to output formatting 2016-06-30 16:49:24 +02:00
Elizabeth Fischer
6327877a6f PEP-8 2016-06-30 09:19:57 -04:00
Elizabeth Fischer
50ac98bc04 Merge remote-tracking branch 'upstream/develop' into efischer/160630-StagedPackage
# Conflicts:
#	lib/spack/docs/packaging_guide.rst
#	lib/spack/spack/package.py

Mostly minor/formatting issues in lib/spack/spack/package.py (the heavyweight merge was already done recently).  Only one serious issue: it looks like the feature branch had accidentally deleted the line `spack.hooks.post_install(self)`.  This got added back in from develop.
2016-06-30 09:13:24 -04:00
alalazo
ba87937fff module : added detection of file name clashes 2016-06-30 13:44:49 +02:00
alalazo
1b7eedbb7d modules.yaml : added hash_length as a new keyword
config :
- added `hash_length` under the modules section

EnvModules :
- take into consideration hash_length when constructing `file_name`
- added logic to warn and skip module file writing in case of file name clash
2016-06-30 12:56:47 +02:00
Todd Gamblin
0e422dec8c Merge pull request #1141 from adamjstewart/fixes/license_docs
Fix missing code blocks in licensed software documentation
2016-06-30 02:22:38 -07:00
Todd Gamblin
bc2fa76588 Merge pull request #1146 from scheibelp/features/doc-caching
added documentation for automatic caching of resources fetched during installs
2016-06-30 02:13:16 -07:00
Todd Gamblin
30d083c6b7 Merge branch 'efischer/160401-RecursiveModules' of https://github.com/citibeth/spack into citibeth-efischer/160401-RecursiveModules 2016-06-30 02:12:00 -07:00
Todd Gamblin
a7b8cb6901 Merge pull request #1145 from davydden/pkg/petsc_tests
petsc: run a test
2016-06-30 01:58:35 -07:00
Denis Davydov
6f4b0e9bda petsc: fix flake8 and ~mpi case in tests 2016-06-30 08:22:01 +02:00
Peter Scheibel
cfd380d514 added documentation for automatic caching of resources fetched during installs 2016-06-29 18:23:40 -07:00
Todd Gamblin
cd943ebe94 Merge pull request #1142 from adamjstewart/features/restview
Add py-restview package
2016-06-29 17:04:30 -07:00
Denis Davydov
37728afada petsc: run a test 2016-06-30 00:19:50 +02:00
Ben Boeckel
5f720f9b7c flake8: appease the style checker 2016-06-29 14:49:58 -04:00
Ben Boeckel
e3e94f0ac9 bootstrap: name the current branch the same as the remote 2016-06-29 14:49:19 -04:00
Ben Boeckel
89bf5f4045 bootstrap: allow using alternate remotes
If you want to bootstrap from a fork, the `--remote` option may be used
to select it.

Also limit the branches to 'develop' and 'master' if the remote is
'origin' since those are the actual integration branches used (other
branches on 'origin' are just PR branches).
2016-06-29 14:49:19 -04:00
Ben Boeckel
7ec191ce0b bootstrap: use the currently checked out branch
The `master` branch is not really where Spack development happens, so
default to it, but use the user's current branch if it's there.
2016-06-29 14:49:19 -04:00
Ben Boeckel
6f69c01915 bootstrap: fall back to the default upstream URL
Fixes #352.
2016-06-29 14:49:19 -04:00
Adam J. Stewart
2fcaa011ce Add py-restview package 2016-06-29 12:57:58 -05:00
Adam J. Stewart
06de8c56af Fix missing code blocks in licensed software documentation 2016-06-29 12:35:38 -05:00
Todd Gamblin
eb388306fd Merge pull request #1112 from adamjstewart/features/dependencies
Make spack create automatically add dependencies for build system
2016-06-29 07:57:33 -07:00
Todd Gamblin
c996632113 Add spack purge --cache to purge local archive cache. 2016-06-29 01:41:55 -07:00
Todd Gamblin
bc1320d83a Merge branch 'features/cache-archives' of https://github.com/scheibelp/spack into scheibelp-features/cache-archives 2016-06-29 00:57:26 -07:00
Todd Gamblin
7df89896f4 Merge pull request #1113 from davydden/octave_extensions
Octave extensions
2016-06-29 00:38:05 -07:00
alalazo
b71d430af6 module : can regenerate single module files, homogenized cli options
spack module :
- refresh accepts a constraint
- find and refresh share common cli options
- ask for confirmation before refreshing
- deleting the module file tree is now optional
2016-06-28 19:28:18 +02:00
Todd Gamblin
0fd58fb585 Merge pull request #1133 from davydden/pkg/dealii_fix_tests
dealii: run more unit tests when building @dev
2016-06-28 10:02:43 -07:00
Denis Davydov
32c801bbf6 dealii: run more unit tests when building @dev 2016-06-28 18:06:56 +02:00
Todd Gamblin
ad48ad7586 Merge pull request #1131 from epfl-scitas/fixes/swift_git_environment_variables
fix : swiftsim will set git environment variables in the appropriate hook
2016-06-28 09:05:26 -07:00
alalazo
5cdd37959a swiftsim : substituted tag with corresponding commit 2016-06-28 18:03:28 +02:00
Todd Gamblin
6810965457 Merge pull request #1130 from davydden/gmsh
Gmsh -- various fixes
2016-06-28 08:49:06 -07:00
alalazo
18612eca59 qa : fixed flake8 issues 2016-06-28 12:59:13 +02:00
alalazo
48888b0f8e swift : setting environment variables in the right place 2016-06-28 12:57:19 +02:00
Denis Davydov
c4c167c1ca octave: rename executable Octave to octave 2016-06-28 11:25:45 +02:00
Denis Davydov
51b0f53b33 gmsh: flake8 fixes 2016-06-28 10:50:35 +02:00
Denis Davydov
06e38d2ca2 gmsh: various fixes
(i) add new version
(ii) add OCE, PETSc and SLEPc as dependencies
(iii) fix Blas/Lapack configuration
(iv) disable internal Metis which does not compile
2016-06-28 10:33:25 +02:00
Todd Gamblin
793c9f5546 Merge pull request #1116 from mwilliammyers/package-lrzip
Add package lrzip & its dependency lzo
2016-06-27 22:32:57 -07:00
mwilliammyers
0384794912 Fix #1019 - cannot create mirror for git spec 2016-06-27 16:00:38 -06:00
Mario Melara
26325fe812 Add missing link to external packages
Adding missing _sec-external_packages to link with external packages
page
2016-06-27 14:35:56 -07:00
mwilliammyers
9bb918915f Add package lrzip & its dependency lzo 2016-06-27 15:19:13 -06:00
Mario Melara
7fb45e4bfd Update documentation for use on Cray
Updating how to use compilers.yaml on Cray as well as setting up
external packages. Also includes what needs to be set up for usage on
Cray and explains what needs to be done to get Spack properly working.
Also explain the architecture spec and what it does.
2016-06-27 13:52:48 -07:00
Todd Gamblin
d7c2f683d9 Merge pull request #1004 from UCL-RITS/bare-eigen
Option to install eigen without dependencies
2016-06-27 13:35:35 -07:00
Todd Gamblin
b80a03e6b6 Merge pull request #1124 from epfl-scitas/packages/fenics
Fenics: Corrections for PETSc 3.7 and detection of PETSC version to enable TAO
2016-06-27 13:32:57 -07:00
Nicolas Richart
9026fb8e8a Corrections for PETSc 3.7 and detection of PETSC version to enable TAO 2016-06-27 20:52:05 +02:00
Todd Gamblin
3ea9d1e665 Merge pull request #1122 from LLNL/bugfix/newarch-sys_type
Bugfix/newarch sys type
2016-06-27 10:07:03 -07:00
Todd Gamblin
bf4eeb48b9 Merge pull request #1099 from adamjstewart/fixes/hdf5
Fix self-check for hdf5@1.10.0-patch1
2016-06-27 09:47:17 -07:00
Todd Gamblin
76458f5bfc Merge pull request #1002 from epfl-scitas/packages/foam-extend
Package foam-extend
2016-06-27 09:40:49 -07:00
Adam J. Stewart
798dabc8f2 Forgot the unknown key/value pair 2016-06-27 09:01:53 -05:00
Denis Davydov
0faa6dd753 octave: make extendable and add a package 2016-06-27 13:44:58 +02:00
Todd Gamblin
0185226042 Merge pull request #1121 from LLNL/bugfix/module-directory-pollution
Make MockPackagesTest use a different module location.
2016-06-27 02:25:32 -07:00
Todd Gamblin
99c3ed56fa Add new sys_type method that prints out the *full* arch descriptor. 2016-06-27 02:19:26 -07:00
Todd Gamblin
305d5698df Rename spack.architecture.sys_type() to spack.architecture.platform() 2016-06-27 02:19:08 -07:00
Todd Gamblin
a15aee5d8e Make MockPackagesTest use a different module location.
- ensures anything tests create is blown away.
2016-06-27 01:22:03 -07:00
Todd Gamblin
d899059075 Merge pull request #1120 from LLNL/bugfix/mockdb-pollution
Fixes #760: spack test leaves builtin.mock packages in DB
2016-06-27 01:07:52 -07:00
Todd Gamblin
b4c36164b5 Fixes #760: spack test leaves builtin.mock packages in DB
- install_layout was redirected by the install test, but not the DB.
- redirect the DB now, as well.
2016-06-27 00:55:16 -07:00
Todd Gamblin
3bc4a38b78 Merge pull request #1118 from epfl-scitas/packages/swift_durham
swift : added new package
2016-06-27 00:39:45 -07:00
alalazo
13fcb3c083 swift : renamed swiftsim 2016-06-27 09:25:58 +02:00
alalazo
f3f309a22a Merge branch 'develop' of https://github.com/LLNL/spack into packages/swift_durham 2016-06-27 09:08:37 +02:00
Todd Gamblin
73213ac59d Merge pull request #984 from epfl-scitas/module_file_explicit_load
module files : explicit load and mnemonic suffixes
2016-06-26 23:33:48 -07:00
Todd Gamblin
a1db306a0c Merge pull request #1009 from epfl-scitas/packages/emacs
Emacs: adding dependencies to be able to build without the system libs
2016-06-26 22:46:45 -07:00
Todd Gamblin
19b69ce3a5 Merge pull request #1097 from citibeth/efischer/160622-DBErrors
Improved Spack database errors to help users fix them.
2016-06-26 22:45:44 -07:00
Todd Gamblin
ece72e5337 Merge pull request #1030 from opoplawski/external
Remove last two remaining from external imports
2016-06-26 22:41:58 -07:00
Todd Gamblin
bad32724ec Merge pull request #1092 from adamjstewart/features/netcdf-f
Add latest version of netcdf-fortran and curl
2016-06-26 22:38:00 -07:00
Todd Gamblin
8f28df1d14 Merge pull request #1094 from epfl-scitas/documentation/remove_packages_yaml_inconsistencies
packages.yaml : removed references to a never implemented feature
2016-06-26 22:37:43 -07:00
Todd Gamblin
8b35940857 Merge pull request #1103 from adamjstewart/features/mpi
Add MPI environment variables to packages
2016-06-26 22:35:39 -07:00
Todd Gamblin
30993357d7 Merge pull request #1105 from adamjstewart/fixes/filter_file
Fix backup logic in filter_file
2016-06-26 22:33:09 -07:00
Todd Gamblin
f86f6c6274 Merge pull request #1104 from mwilliammyers/py-protobuf
Add new package py-protobuf
2016-06-26 22:28:57 -07:00
Todd Gamblin
7d85902f37 Merge pull request #1093 from eschnett/eschnett/julia-update
Update Julia to 0.4.6
2016-06-26 22:28:33 -07:00
Todd Gamblin
c096aa9557 Merge pull request #997 from glennpj/glib_gcc
Get glib to compile with gcc-6.1
2016-06-26 22:28:07 -07:00
Nicolas Richart
f3accb111e correcting flake8 2016-06-27 01:23:14 +02:00
Nicolas Richart
7cf1313572 changes to use from_sourcing_file 2016-06-27 00:55:26 +02:00
Todd Gamblin
18222de7b6 Merge pull request #1119 from epfl-scitas/fixes/moved_packages
fixes : moved packages into builtin/repo
2016-06-26 13:50:00 -07:00
alalazo
9de0503188 qa : flake8 issues 2016-06-26 22:00:10 +02:00
alalazo
11863d2de3 packages : moved adios and mxml into builtin repo 2016-06-26 21:56:06 +02:00
alalazo
a2ba60f6a8 qa : flake8 issues 2016-06-26 17:38:48 +02:00
alalazo
e5b36583b5 swift : added package 2016-06-26 17:36:53 +02:00
alalazo
acd9014553 autotools : set Executable() in dependent modules 2016-06-26 17:36:33 +02:00
Adam J. Stewart
ea88d9cfe9 Make spack create automatically add dependencies for build system 2016-06-24 16:43:31 -05:00
Todd Gamblin
055f7f4ab6 Add package_dir method to package.py. 2016-06-24 12:33:53 -07:00
mwilliammyers
2c6c21a3bf Add new package py-protobuf 2016-06-23 15:54:20 -06:00
Adam J. Stewart
71a297f121 Fix backup logic in filter_file 2016-06-23 16:44:41 -05:00
Adam J. Stewart
8921bf4552 Add MPI environment variables to packages 2016-06-23 10:08:40 -05:00
Todd Gamblin
65e3ac4132 Merge pull request #1102 from LLNL/bugfix/sbang-lua-fix
Make sbang handle lua
2016-06-23 01:20:01 -07:00
Todd Gamblin
27e9bc6d02 Make sbang handle lua
- use --! instead of #! for patched lua scripts.
2016-06-23 00:03:23 -07:00
Adam J. Stewart
d566510a40 Flake8 and url_for_version fixes 2016-06-22 15:22:42 -05:00
Adam J. Stewart
3f4bf04dde Fix self-check for hdf5@1.10.0-patch1 2016-06-22 14:40:51 -05:00
Elizabeth Fischer
8f846d507d Added --prefix to module command. 2016-06-22 15:36:04 -04:00
Elizabeth Fischer
10810482bc Update database.py
PEP8
2016-06-22 14:03:32 -04:00
Elizabeth Fischer
ffe9e77e36 Improved Spack database errors to help users fix them. 2016-06-22 12:11:09 -04:00
Todd Gamblin
86893e3dc4 Merge pull request #1096 from robertdfrench/import-which
Import which from spack.util.executable; Fixes #1095
2016-06-22 09:06:01 -07:00
Robert.French
ff3e56cf9a Import which from spack.util.executable; Fixes #1095 2016-06-22 15:25:32 +00:00
Erik Schnetter
c904a42c5b Address flake errors 2016-06-22 11:09:45 -04:00
alalazo
f29b55957a documentation : removed references to never implemented features 2016-06-22 17:08:02 +02:00
Adam J. Stewart
b66f5b6231 Add latest version of cURL 2016-06-22 10:05:20 -05:00
Erik Schnetter
e398c0dc5b Update Julia to 0.4.6 2016-06-22 11:00:00 -04:00
Adam J. Stewart
060fb596f7 Add latest version of netcdf-fortran 2016-06-22 09:52:17 -05:00
Nicolas Richart
97feca0888 Merge branch 'develop' into packages/foam-extend 2016-06-22 14:51:57 +02:00
Todd Gamblin
e41d67e031 Merge pull request #1078 from adamjstewart/features/pillow
Allow py-pillow to link to Spack-built libraries
2016-06-22 01:11:25 -07:00
Todd Gamblin
8b5467e65d Merge pull request #1049 from glennpj/newR_database
New R database packages
2016-06-21 13:23:58 -07:00
Adam J. Stewart
a7ffb2c1a4 Flake8 2016-06-21 15:21:53 -05:00
Todd Gamblin
bbe2db5814 Merge pull request #1087 from LLNL/bugfix/new-harfbuzz-fix
Bugfix/new harfbuzz fix
2016-06-21 13:10:50 -07:00
Adam J. Stewart
66089c89aa Depend on pil 2016-06-21 14:55:49 -05:00
Adam J. Stewart
2efc67da60 Remove +tk variant, provide pil 2016-06-21 14:50:33 -05:00
Gregory L. Lee
e0fbf14f99 consolidated f2py regex 2016-06-21 09:23:58 -07:00
Gregory L. Lee
8f3954c1bd flake 8 fixes for cairo, freetype, and harfbuzz 2016-06-21 08:47:22 -07:00
Gregory L. Lee
4041f45b6c fixed conflicts in python package 2016-06-21 08:47:11 -07:00
Todd Gamblin
58cff1290d Make environment test less sensitive to user config files. 2016-06-21 00:19:28 -07:00
Todd Gamblin
0521b9bb32 Fix merge error. 2016-06-21 00:08:12 -07:00
Todd Gamblin
f18e1a9371 Merge branch 'features/cantera' of https://github.com/adamjstewart/spack into adamjstewart-features/cantera 2016-06-20 23:53:48 -07:00
Todd Gamblin
3f90fee614 Merge pull request #1085 from NERSC/bugfix/compiler_find
Bugfix/compiler find and gfortran fix.
2016-06-20 23:46:13 -07:00
Glenn Johnson
77cd474a2d Make all packages lowercase. 2016-06-20 20:10:44 -05:00
Todd Gamblin
70a25c4587 Change --insensitive to --sensitive in spack list 2016-06-20 17:17:25 -07:00
Todd Gamblin
cbd5a0a6e3 Merge branch 'list-ext' of https://github.com/trws/spack into trws-list-ext 2016-06-20 17:13:32 -07:00
Todd Gamblin
db81a74d66 Merge pull request #939 from davydden/docs/blas_lapack
document blas and lapack usage in packages
2016-06-20 17:11:09 -07:00
Todd Gamblin
a3431c5a73 Merge pull request #1047 from epfl-scitas/source_diffs_in_environment_modifications
feature : construct environment modifications sourcing files
2016-06-20 16:56:30 -07:00
Mario Melara
d515877d91 Add init_config args in compilers/__init__ 2016-06-20 16:20:52 -07:00
Mario Melara
4c4f3e9747 Add init_config to compiler_find method 2016-06-20 16:20:33 -07:00
Todd Gamblin
76d950b103 Merge pull request #1084 from epfl-scitas/packages/openmpi_without_fortran
OpenMPI : reverts part of #1079
2016-06-20 13:30:54 -07:00
alalazo
5aa3131385 qa : fixed flake8 issues 2016-06-20 21:11:33 +02: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
Tom Scogland
45482187b4 one more typo issue 2016-06-20 11:42:35 -07:00
Tom Scogland
f6aa864bc4 adding quotes to make sure the glob is interpreted correctly 2016-06-20 11:41:36 -07:00
Tom Scogland
ac728d3e60 fixing capitol->capital typos 2016-06-20 11:38:39 -07:00
Tom Scogland
6180e6c047 automatic case-insensitive like smartsearch, docs
New documentation for the new options, also case insensitive by default
unless the user includes an upper-case character in their pattern.
2016-06-20 11:33:56 -07:00
Mario Melara
6fb7b0fcf7 Merge branch 'develop' of https://github.com/LLNL/spack into bugfix/compiler_find
Forgot to pull branch changes before
2016-06-20 10:59:28 -07:00
Mario Melara
88888f5ba0 Got rid of unnecessary module arg 2016-06-20 10:58:20 -07:00
Mario Melara
1303b5a6a9 Adding more init_config as args to all_compilers,all_compilers_config, and get_compiler_config 2016-06-20 10:57:58 -07:00
Mario Melara
fe30113502 Adding init_config back. Don't initalize config rather let compiler_find do all the work. spack compiler list and spack compilers can do the work 2016-06-20 10:57:10 -07:00
Tom Scogland
0377f3580b switching argument naming 2016-06-20 10:53:19 -07:00
Todd Gamblin
f74d4b0660 Merge pull request #1052 from adamjstewart/features/psi4
Add Psi4 Package
2016-06-20 10:49:45 -07:00
Todd Gamblin
9b299cb2bb Merge pull request #1023 from epfl-scitas/packages/mumps
Corrected the shared libraries and tests in mumps package
2016-06-20 10:48:12 -07: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
Adam J. Stewart
aa86488fd9 Flake8 2016-06-20 12:47:17 -05: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
Todd Gamblin
42ff1aaa75 Merge pull request #1064 from LLNL/bugfix/github-1043-script-backup
do not create shebang.bak file
2016-06-20 10:45:42 -07:00
Todd Gamblin
31bb47356f Merge pull request #1022 from glennpj/r-devtools
new package: r-devtools
2016-06-20 10:34:23 -07:00
Todd Gamblin
b3881701c5 Merge pull request #1021 from glennpj/packrat
new package: r-packrat
2016-06-20 10:33:55 -07:00
Todd Gamblin
0fbd2fe224 Merge pull request #1000 from glennpj/new_R
Add version 3.3.0 of R and extensions
2016-06-20 10:33:43 -07:00
Todd Gamblin
c09111bbef Merge pull request #1053 from davydden/pkg/dealii_suite_update
update Petsc, Slepc, Trilinos, Superlu-dist and deal.II
2016-06-20 10:32:52 -07:00
Todd Gamblin
59318f4705 Merge pull request #1081 from mathstuf/pkg-config-path
modules.yaml: use the right envvar for pkg-config
2016-06-20 10:32:03 -07:00
Todd Gamblin
8047edfb56 Merge pull request #1029 from adamjstewart/features/armadillo
Add Armadillo and SuperLU packages
2016-06-20 10:29:29 -07:00
Todd Gamblin
265b9bcb0f Merge pull request #1076 from JRWynneIII/ferret
Added spec to build Ferret
2016-06-20 10:28:42 -07:00
Adam J. Stewart
be407f531e Move around extension logic 2016-06-20 12:24:45 -05:00
Adam J. Stewart
28b2e36230 Add ctest executable 2016-06-20 12:24:45 -05:00
Adam J. Stewart
afff40e584 Flake8 fix for R templates 2016-06-20 12:24:45 -05:00
Adam J. Stewart
c9eb5f8173 Use non-checksummed PyPi download URLs 2016-06-20 12:24:45 -05:00
Adam J. Stewart
5dfc2052bd Flake8 change 2016-06-20 12:24:45 -05:00
Adam J. Stewart
98d03c74e1 Add support for less common compression schemes 2016-06-20 12:24:45 -05:00
Adam J. Stewart
7e1ee463ca Install examples for sundials 2016-06-20 12:24:45 -05:00
Adam J. Stewart
5a55bb3f8d Modify R installation template 2016-06-20 12:24:45 -05:00
Adam J. Stewart
79fae306f6 Add extensions for Python/R and more configurable install 2016-06-20 12:24:45 -05:00
Adam J. Stewart
81ac3b62fc Filter compilers and link boost properly 2016-06-20 12:24:45 -05:00
Adam J. Stewart
9500f2718b More Flake8 2016-06-20 12:24:45 -05:00
Adam J. Stewart
a21e845ce7 Flake8 2016-06-20 12:24:45 -05:00
Adam J. Stewart
2220784eda Add scons support, .zip support, and Cantera package 2016-06-20 12:24:45 -05:00
Peter Scheibel
1dc62e8a19 Merge branch 'develop' into features/cache-archives 2016-06-20 10:16:02 -07:00
Todd Gamblin
12b9d6da10 Merge pull request #1083 from robertdfrench/tmux-2.2
Tmux 2.2
2016-06-20 09:36:55 -07:00
Todd Gamblin
8bdb6695c7 Merge pull request #1079 from davydden/pkg/blas_mpi_fortran
require fortran compilers for Openblas and Openmpi
2016-06-20 09:36:23 -07:00
Todd Gamblin
ce105e9bbe Merge branch 'bugfix/compiler_find' into develop 2016-06-20 09:34:25 -07:00
Todd Gamblin
84e21703bd Test no longer assumes compilers exist in /usr.
- makes a fake gcc instead, and tests that.
2016-06-20 09:28:39 -07:00
Robert.French
83b0c16728 Tmux 2.2 with PEP8
Tmux 2.2

Provide variant to skip utempter

Remove utempter variant; 2.2 doesn't need it

Flake8ify
2016-06-20 16:26:49 +00:00
Ben Boeckel
973caa3a07 modules.yaml: use the right envvar for pkg-config
Fixes #1072.
2016-06-20 11:10:29 -04:00
Erik Schnetter
e43eaad557 New package porta 2016-06-19 14:11:36 -04:00
Erik Schnetter
a0c0728ea8 New package polymake 2016-06-19 13:47:26 -04:00
Erik Schnetter
b4da4425ff Add header files to lrslib install 2016-06-19 13:47:02 -04:00
Erik Schnetter
fa471a4ed1 Add missing header files to Bliss install 2016-06-19 13:46:38 -04:00
Erik Schnetter
d8b9cda632 Build Bliss both with and without GMP 2016-06-19 12:48:47 -04:00
Denis Davydov
cf4a34c657 openmpi: raise an error without Fortran compiler 2016-06-19 11:59:29 +02:00
Denis Davydov
1cc04cff27 openblas: raise an error without Fortran compiler 2016-06-19 11:59:10 +02:00
Erik Schnetter
71e92774eb New package cddlib 2016-06-18 22:47:59 -04:00
Erik Schnetter
8fa8fc239f New package "nauty and Traces" 2016-06-18 22:22:58 -04:00
Erik Schnetter
e5b08544ff New package Panda 2016-06-18 22:02:36 -04:00
Erik Schnetter
2009354719 Add fourier tool to lrslib 2016-06-18 21:38:15 -04:00
Erik Schnetter
a5086f474e New package lrslib 2016-06-18 18:03:09 -04:00
Erik Schnetter
92a7c0ddd5 Update Bliss to use -O3 2016-06-18 18:02:52 -04:00
Erik Schnetter
64aaf7ba81 New package cdd 2016-06-18 16:37:08 -04:00
Erik Schnetter
83d4cdc090 Update Bliss 2016-06-18 16:36:43 -04:00
Erik Schnetter
a07056d67b Add Bliss package 2016-06-18 16:20:37 -04:00
Mario Melara
64c83638ff Adding test to list of test_names 2016-06-18 11:11:46 -07:00
Mario Melara
15e6b88a8b Adding new tests for compiler command for spack's test suite 2016-06-18 10:51:38 -07:00
Mario Melara
36275f8e6e More clean up of init_config, also no need for a different find_compilers function. 2016-06-18 10:50:55 -07:00
Mario Melara
ccb62b4620 Getting rid of no longer used init_config arg 2016-06-18 10:49:39 -07:00
Todd Gamblin
f9efb746d7 Merge pull request #1032 from eschnett/eschnett/cc-quotes
Add quotes around file name
2016-06-18 08:57:18 -07:00
alalazo
9e0c20c794 environment : filter the current environment
Previously only the environment obtained after sourcing the file was filtered.
This caused the appeareance of spurious unset commands in the list.
2016-06-18 13:39:08 +02:00
alalazo
a17d1efe7c Merge branch 'develop' of https://github.com/LLNL/spack into features/source_diffs_in_environment_modifications
Conflicts:
	lib/spack/spack/test/environment.py
2016-06-18 13:31:29 +02:00
alalazo
670669ef80 qa : fixed flake8 issues 2016-06-18 13:10:35 +02:00
alalazo
a33077b77f unit tests : fixed test_alter_environment 2016-06-18 13:07:14 +02:00
alalazo
51cf847647 Merge branch 'develop' of https://github.com/LLNL/spack into features/module_file_explicit_load
Conflicts:
	lib/spack/spack/test/modules.py
2016-06-18 13:06:37 +02:00
Mario Melara
8af1c5fc8f Merge remote-tracking branch 'upstream/develop' into develop
"Updating NERSC branch"
2016-06-18 00:52:06 -07:00
Mario Melara
c703bfb54d Got rid of init_config flag since we don't need it. Instead we update the cache config if there are any changes 2016-06-18 00:48:08 -07:00
Adam J. Stewart
652a5eb592 Allow py-pillow to link to Spack-built libraries 2016-06-17 18:09:03 -05:00
Todd Gamblin
62b2f2a7c9 Merge pull request #1065 from epfl-scitas/packages/espresso_update
espresso : update to 5.4.0
2016-06-17 14:51:45 -07:00
Todd Gamblin
4569df025e Merge pull request #1060 from mathstuf/no-break-long-words
tty: do not break long words
2016-06-17 14:51:26 -07:00
Todd Gamblin
9a8d109650 Merge pull request #1044 from adamjstewart/features/sncosmo
Add py-sncosmo package
2016-06-17 14:50:37 -07:00
Todd Gamblin
d7f48e1ff0 Merge pull request #1061 from mathstuf/reindex-preserve-explicit
reindex: preserve 'explicit' flags
2016-06-17 14:29:47 -07:00
Todd Gamblin
0bbbfc2ef7 Merge pull request #946 from LLNL/features/intel2
Intel software packages and license enhancements
2016-06-17 14:28:39 -07:00
Tom Scogland
8770f2a0ea fixing last flake8 issue 2016-06-17 13:42:27 -07:00
Tom Scogland
0743ef4d0b fixing flake8 issues 2016-06-17 13:32:28 -07:00
Tom Scogland
a4ac99877a cmd/list: adding description search and glob by default 2016-06-17 12:00:35 -07:00
Adam J. Stewart
536fa73d5f Python flake8 overhaul 2016-06-17 13:33:09 -05:00
Robert D. French
448f8c43d4 Added working Ferret spec
Fixed ferret spec. It builds now

Made ferret spec more flake8-y

Fixed homepage and info text about Ferret

Removed vim swap file

Reverted changes to netcdf-fortran spec and added netcdf~mpi dependency to ferret spec to compensate for it

Fixed flake8 issues!
2016-06-17 14:23:50 -04:00
Mario Melara
fe5eec5230 'find and 'add' are options for adding compilers via command line 2016-06-17 09:16:03 -07:00
Adam J. Stewart
80d444624b Fix activation of sites.py for sncosmo 2016-06-17 11:08:16 -05:00
Adam J. Stewart
24f65c502e Add additional Astropy dependencies 2016-06-17 10:45:10 -05:00
Adam J. Stewart
b2aa78d6ab Remove version constraints 2016-06-17 10:45:10 -05:00
Adam J. Stewart
4eeaff175c Allow packages to build 2016-06-17 10:44:28 -05:00
Adam J. Stewart
a660c60eb1 Add py-sncosmo package 2016-06-17 10:43:34 -05:00
Glenn Johnson
8970785d33 Add 'jdk' as a dependency.
Add jdk as a dependency so that R has support for java and allow
packages that need java to work.
2016-06-16 23:08:55 -05:00
Glenn Johnson
a813f03955 Add list_url for old versions. 2016-06-16 23:08:55 -05:00
Glenn Johnson
4850b9d4d1 Make install comment consistent with actual call. 2016-06-16 23:08:55 -05:00
Glenn Johnson
7da405e630 Add validator for bioconductor packages
This commit adds a validator function to make sure the versions of R and
bioconductor are in sync.
2016-06-16 23:08:55 -05:00
Glenn Johnson
7213b12324 Tweak how R packages are built.
Add bzip2 as a dependency to base R.

Switch from installing the R packages from tar files to installing from
the extracted directory. This is more in line with a standard install
and also allows installing from VCS.

Use the Bioconductor version for BiocGenerics and future Bioconductor
packages. Suffix the package with 'bioc-$version' to indicate which
Bioconductor release the package is a part of. This is actually more
important than the actual version attached to individual packages
although those are subject to change within the Bioconductor branch.
2016-06-16 23:08:55 -05:00
Glenn Johnson
0e64c25ffc Fix flake8 errors
Use Bioconductor provided Short URL for homepage in BiocGenerics.
Wrap description text for utf variant in pcre.
2016-06-16 23:08:54 -05:00
Glenn Johnson
37dc13edaf Update version of BiocGenerics
The BioConductor repositories only keep the most recent version so this
has to be bumped.
2016-06-16 23:08:54 -05:00
Glenn Johnson
8704a4ed35 Use configure_args rather than options
Replaced 'options' with 'configure_args'. That seems like a better name
and is consistent with the packaging guide.
2016-06-16 23:08:54 -05:00
Glenn Johnson
fe256870b4 Add variant for UTF support to pcre
This will build PCRE with UTF support by default. That seems to be
reasonable for most environments.
2016-06-16 23:08:54 -05:00
Glenn Johnson
cb3505769b Clean up R extensions
Run the existing R extension packages through autopep8 to clean up.
2016-06-16 23:07:13 -05:00
Glenn Johnson
6649f9edc2 Add version 3.3.0 of R
This commit adds the 3.3.0 version of R and adds dependencies on curl
and pcre.
2016-06-16 23:07:13 -05:00
Glenn Johnson
64acbbfcf0 Clean up R package files
- remove unused imports
- apply pep8
- reformat text strings
2016-06-16 23:07:13 -05:00
Mario Melara
df84fe0b58 Added init_config parameter so we don't initialize the config when user runs spack compiler add. Should ONLY add what user specifies. Find compilers takes in paths parameter. 2016-06-16 18:10:38 -07:00
Todd Gamblin
f351e011d1 Merge pull request #1068 from epfl-scitas/fixes/flake8_no_f405
Flake8: ignore F405
2016-06-16 17:13:01 -07:00
Todd Gamblin
9ee6cbfb40 Merge pull request #944 from adamjstewart/features/bertini
Add bertini package
2016-06-16 16:57:50 -07:00
Todd Gamblin
344280154a Merge pull request #962 from adamjstewart/features/hpl
Add HPL benchmark package
2016-06-16 16:57:24 -07:00
Todd Gamblin
005827ab23 Replace 2.6-incompatible skipIf with a conditional.
- skipIf doesn't work with Python 2.6.
2016-06-16 12:12:29 -07:00
Todd Gamblin
f60ae61652 remove dead code, cleanup. 2016-06-16 10:44:15 -07:00
Todd Gamblin
8867adf942 simplify instance check. 2016-06-16 10:43:36 -07:00
Todd Gamblin
c7dfa1699a rename Mac OS X to macos 2016-06-16 10:43:12 -07:00
alalazo
a5aa159d9d flake8: ignore F405 2016-06-16 19:23:16 +02:00
Mario Melara
6b03770602 Added str method to mac_osx so that whenever we try to access darwins different operating systems we can grab the name correctly. This avoids having to worry whether we have a version attached to it or not. 2016-06-16 09:44:37 -07:00
Todd Gamblin
88b73bacdb Merge branch 'features/newarch' into develop
Conflicts:
	lib/spack/spack/config.py
	var/spack/repos/builtin/packages/lua/package.py
2016-06-16 03:03:26 -07:00
Todd Gamblin
17b868381f Fixes #460: Do not show variants by default in spack find.
This does two things:

1. By default `spack find` no longer shows variants.  You have to
   supply `-v` to get that

2. This improves the `colify` implementation so that it no longer pads
   the rightmost column.  This avoids the issue where if one spec was
   too long in the output, *all* specs would have space padding added
   to that width, and it would look like the output of `spack find`
   was double spaced.  This no longer happens -- the one bad line
   wraps around and the other lines are now single-spaced when you use
   `-v` with boost.
2016-06-16 02:55:33 -07:00
alalazo
a1cbb73f8b qa : fixed flake8 issues 2016-06-16 11:24:18 +02:00
alalazo
8d9ffcf565 espresso : updated to 5.4.0, added Parallel=False 2016-06-16 11:22:26 +02:00
Todd Gamblin
88b671f8b1 Just call old os "unknown" 2016-06-16 02:06:19 -07:00
Todd Gamblin
76dfaa71a7 fix up packages for new architecture. 2016-06-16 01:47:20 -07:00
Todd Gamblin
40d25d9062 Add libxcb dependencies. Fix up packages to get py-basemap and stat to build. 2016-06-16 00:56:53 -07:00
Todd Gamblin
f3d6818d5c be more tolerant when parsing new specs. 2016-06-16 00:55:39 -07:00
Todd Gamblin
c90cc465f5 Add __contains__ to arch to satsify old packages. 2016-06-16 00:54:59 -07:00
Gregory L. Lee
d4df4375d5 removed unused import per flake8 report 2016-06-15 20:32:08 -07:00
Gregory L. Lee
1724ff5658 do not create shebang.bak file 2016-06-15 20:21:02 -07:00
Gregory Becker
3fcd54203c two minor fixes 2016-06-15 16:44:38 -07:00
Gregory Becker
2fc9ac4036 Two minor fixes 2016-06-15 16:39:39 -07:00
Erik Schnetter
a7ab064a9e Update OpenMPI to 1.10.3 2016-06-15 18:05:23 -04:00
Adam J. Stewart
ea80c8d3c3 Ignore E501 for depends_on and extends 2016-06-15 14:38:53 -05:00
Massimiliano Culpo
daa46105a7 mpich based providers : shortened filter_compilers 2016-06-15 21:37:12 +02:00
Adam J. Stewart
44e188f111 Remove MPI support, fix INCLUDE filters 2016-06-15 14:17:30 -05:00
Adam J. Stewart
7b97ea248a More template filtering 2016-06-15 14:17:29 -05:00
Adam J. Stewart
9cf1257be4 Filter compilers 2016-06-15 14:17:29 -05:00
Adam J. Stewart
deb4f919cf Psi4 tweaks 2016-06-15 14:17:29 -05:00
Adam J. Stewart
9d99042fed Add Psi4 package 2016-06-15 14:17:29 -05:00
Ben Boeckel
716f12dd58 reindex: preserve 'explicit' flags
Look up in the old database whether the spec was explicit or not and
preserve it into the new database.

Fixes #1050.
2016-06-15 12:48:40 -04:00
Denis Davydov
0e04e65ae0 trilinos: specify superlu-dist version dependency 2016-06-15 18:44:59 +02:00
Denis Davydov
5fe531050c flake8 fixes for dealii 2016-06-15 18:33:34 +02:00
Denis Davydov
e76083205f flake8 fixes for slepc 2016-06-15 18:33:08 +02:00
Denis Davydov
6390acc660 flake8 fixes for petsc 2016-06-15 18:32:42 +02:00
Denis Davydov
6d714e4425 flake8 fixes for superlu-dist 2016-06-15 18:31:39 +02:00
Denis Davydov
3d3a26cd9a flake8 fixes for filesystem.py 2016-06-15 18:31:10 +02:00
Ben Boeckel
36decbfa69 tty: do not break long words
These "words" tend to be file paths which are best left unbroken.

Fixes #1057.
2016-06-15 12:22:35 -04:00
Denis Davydov
d0d83cfe1e slepc: build by default with Arpack 2016-06-15 18:21:13 +02:00
Denis Davydov
d04dc8440f dealii: specify petsc/slepc version dependencies 2016-06-15 18:21:13 +02:00
Denis Davydov
4d40f86bd3 trilinos: add 12.6.2 and 12.6.3 2016-06-15 18:21:13 +02:00
Denis Davydov
5358ffbe5a slepc: add 3.6.3 and 3.7.1; specify petsc version dependency 2016-06-15 18:21:13 +02:00
Denis Davydov
9ceb8fea78 petsc: add 3.6.4 and 3.7.2; specify superlu-dist version dependency 2016-06-15 18:21:13 +02:00
Denis Davydov
a860a3d614 superlu-dist: avoid harcoding blas/lapack/mpi; remove preferred version 2016-06-15 18:21:13 +02:00
Todd Gamblin
c803f7ae98 Merge pull request #1045 from eschnett/eschnett/openmpi-verbs-usr
Do not pass "/usr" or "/usr/local" as path to configure
2016-06-15 09:06:12 -07:00
Todd Gamblin
4ede87a8b0 Merge pull request #1058 from eschnett/eschnett/blosc
Add packages c-blosc and hdf5-blosc
2016-06-15 09:04:48 -07:00
Todd Gamblin
9dd1f2747a Merge pull request #1028 from JRWynneIII/boost-graph-parallel-fix
Add variant for boost graph and parallel graph
2016-06-15 09:03:01 -07:00
Todd Gamblin
08badb5a35 Merge pull request #1040 from KineticTheory/pkg-trilinos
Make Boost an optional feature of Trilinos.
2016-06-15 08:57:38 -07:00
Todd Gamblin
ff3469385b Merge pull request #1037 from KineticTheory/develop
Package serf also depends on zlib.
2016-06-15 08:57:14 -07:00
Todd Gamblin
bfedeadacb Merge pull request #1031 from opoplawski/pcre
Add patch to compile pcre with Intel 16.0.3 compiler
2016-06-15 08:56:53 -07:00
Todd Gamblin
a19c8b343e Merge pull request #1051 from daboehme/develop
Use https for github in Caliper package
2016-06-15 08:56:11 -07: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
05d7378da5 Install shared libraries correctly on Linux 2016-06-14 17:13:20 -04:00
Erik Schnetter
ca5180f7a2 Correct Blosc install on Darwin 2016-06-14 17:03:00 -04:00
Erik Schnetter
e6ec372926 Add packages c-blosc and hdf5-blosc
c-blosc provides the Blosc compression filter, and hdf5-blosc provides a plugin for HDF5 to use that filter.
2016-06-14 09:59:48 -04:00
Glenn Johnson
e226837d33 Fix flake8 error. 2016-06-13 23:04:26 -05:00
Glenn Johnson
8861c99333 New package - r-foreign 2016-06-13 22:50:07 -05:00
Glenn Johnson
5ba5ef6c46 Add list_url for older versions. 2016-06-13 17:50:27 -05:00
Glenn Johnson
94d0f21823 New package - r-xlsxjars 2016-06-13 17:50:06 -05:00
Glenn Johnson
4767185082 New package - r-xlsx 2016-06-13 17:48:59 -05:00
Glenn Johnson
5cd09af066 New package - r-XLConnect 2016-06-13 17:48:44 -05:00
Glenn Johnson
3c234a7d3b New package - r-XLConnectJars 2016-06-13 17:36:50 -05:00
Glenn Johnson
450b082daf Do not need to depend on jdk here because R itself does. 2016-06-13 17:35:35 -05:00
Glenn Johnson
427fa7fd0a New package - rJava 2016-06-13 17:26:01 -05:00
David Boehme
52160bff18 Use https for github 2016-06-13 11:47:28 -07:00
Glenn Johnson
d398ebe21f New package - r-RSQLite 2016-06-12 22:06:06 -05:00
Glenn Johnson
b96b32e9ec New package - r-RPostgreSQL 2016-06-12 22:05:45 -05:00
Glenn Johnson
77e8096a6f New package - r-RODBC 2016-06-12 22:05:26 -05:00
Glenn Johnson
bfb0985c38 New package - r-RMySQL 2016-06-12 22:05:10 -05:00
Glenn Johnson
a7a640bfb8 New package - rDBI 2016-06-12 22:04:37 -05:00
Glenn Johnson
b05a565648 New package - mariadb 2016-06-12 22:04:09 -05:00
Glenn Johnson
5d3965c7a6 New package - unixODBC 2016-06-12 22:03:24 -05:00
Glenn Johnson
7727f6fc7e New package - libaio 2016-06-12 22:02:46 -05:00
Glenn Johnson
4dcb15cf6d Ran through autopep8 and cleaned up. 2016-06-12 22:00:49 -05:00
Glenn Johnson
bdb9af63ed Add version 9.5.3 and add readline as a dependency. 2016-06-12 21:58:41 -05:00
Glenn Johnson
8ff7cbb9ce Run binutils/package.py through autopep8. 2016-06-12 21:57:03 -05:00
Glenn Johnson
1601cf1b14 Patch binutils
This commit adds a patch to update symbol versions from linker scripts.
This is seen with libmysqlclient.so which has to maintain compatibility
across two versions. Only one can be the default.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=544ddf9322b1b83982e5cb84a54d084ee7e718ea
2016-06-12 21:46:11 -05:00
Kelly (KT) Thompson
31d2c38687 Update formatting to meet code style requirements. 2016-06-12 19:56:29 -06:00
Kelly (KT) Thompson
b89bcdff62 Make Boost an optional feature of Trilinos.
I have been unable to build Boost with some toolset/platform combinations. The
users I support don't need the Boost features in Trilinos, so I have been
manually hacking trilinos/package.py to disable boost. I would like to propose
that these changes be added to the released version.

+ Add boost as a variant, default to true so there is no change to existing
  behavior.
+ Move the CMake configure options related to Boost into a conditional block
  that is triggered by "if '+boost' in spec".
2016-06-12 19:48:45 -06:00
Tom Scogland
1b28991e0a Merge pull request #1026 from epfl-scitas/packages/lmod
lmod : updated package and dependencies
2016-06-12 17:01:41 -07:00
Massimiliano Culpo
30c9d976f6 environment : added more logic to treat append and prepend path 2016-06-12 18:54:56 +02:00
alalazo
5300ffac7f qa : fixed flak8 checks 2016-06-12 15:11:26 +02:00
alalazo
a6681f2d7f environment modules : added function to construct them from source files 2016-06-12 15:06:17 +02:00
Glenn Johnson
59c9816dbf Make quotations in variables consistent. 2016-06-11 16:01:23 -05:00
Glenn Johnson
0e9f8bd38d Add list_url for old versions. 2016-06-11 15:53:28 -05:00
Erik Schnetter
953b65abcc Do not pass "/usr" or "/usr/local" as path to configure 2016-06-11 16:41:39 -04:00
Glenn Johnson
6c0ea77d1d Add list_url for older versions. 2016-06-11 15:36:43 -05:00
alalazo
3737169450 qa : fixed style and a bug reported by flake8
lib/spack/spack/test/versions.py:313: [F811] redefinition of unused 'test_union_with_containment' from line 306
Flake8 found errors.
2016-06-11 12:57:46 +02:00
alalazo
eb9b00b210 versions : added unit tests for the new properties 2016-06-11 12:44:21 +02:00
Gregory Becker
0fea167f97 I made a hash of that minor merge
Merge commit '4eeb' into features/newarch
2016-06-10 16:28:09 -07:00
Gregory Becker
992bcac794 changed compiler yaml format 2016-06-10 16:26:02 -07:00
Adam J. Stewart
85502e34f9 CMake knows how to create PIC 2016-06-10 14:35:19 -05:00
Todd Gamblin
bc038eb7c3 Merge pull request #1020 from LLNL/bugfix/libdwarf_versions
put older versions back + version-specific dwarfdump dir
2016-06-10 05:47:04 -07:00
Kelly (KT) Thompson
883f601bca Fix style issues. 2016-06-09 19:18:25 -06:00
Kelly (KT) Thompson
915115386a Package serf also depends on zlib.
+ Add zlib as a required dependency.
+ Point scons build system to the spack provided zlib installation.
2016-06-09 18:30:28 -06:00
Erik Schnetter
2a4d440003 Add quotes around file name
$input_log will expand to file names with special characters (e.g. "@"), thus bash requires quotes.
2016-06-08 19:14:01 -04:00
Orion Poplawski
454acf58af Add additional blank line for flake8 2016-06-08 16:49:42 -06:00
Orion Poplawski
e3ca5e6676 Add patch to compile pcre with Intel 16.0.3 compiler 2016-06-08 16:23:04 -06:00
Orion Poplawski
4952c4c7de Also remove from external from bin/spack 2016-06-08 14:22:26 -06:00
Orion Poplawski
7ce08c4216 Remove last two remaining from external imports 2016-06-08 13:51:31 -06:00
Adam J. Stewart
65896ff2ed Add Armadillo and SuperLU packages 2016-06-08 14:11:14 -05:00
James Riley Wynne III
4b9707f8ea Fixed flake8 formatting problems 2016-06-08 14:36:45 -04:00
Peter Scheibel
3b71d78f3c rename URLMirrorFetchStrategy to CacheURLFetchStrategy since it isnt used to manage all mirror URLs - just the cache (the specific behavior that a URL may refer to a stale resource doesn't necessarily apply to mirrors) 2016-06-08 09:57:56 -07:00
James Riley Wynne III
42a10d5690 Fixes issue #438 2016-06-08 12:43:05 -04:00
Nicolas Richart
2d21693b9d Missing file to patch mumps 2016-06-08 17:09:13 +02:00
alalazo
564483936f qa : fixed flake8 issues 2016-06-08 16:33:49 +02:00
alalazo
4a61efe641 lmod : fixed issues with LUA_PATH during installation 2016-06-08 16:21:09 +02:00
alalazo
f4a39457de lmod : updated package and dependencies 2016-06-08 15:35:15 +02:00
Nicolas Richart
165411f4a5 bug fix in the +mpi case 2016-06-08 15:17:12 +02:00
Nicolas Richart
498c098d11 Cleaning flake warnings in mumps package 2016-06-08 14:57:54 +02:00
Nicolas Richart
e124c86a4f Corrected the shared libraries and tests in mumps package 2016-06-08 14:17:46 +02:00
Glenn Johnson
bb19dffb26 Fix flake8 error. 2016-06-07 23:40:12 -05:00
Glenn Johnson
ad0cfa41aa Fix flake8 errors 2016-06-07 23:37:49 -05:00
Glenn Johnson
738720a000 new package: r-devtools
This PR brings in the R devtools package and it dependencies.
2016-06-07 23:20:46 -05:00
Greg Lee
bb57b82794 flake8 fixes 2016-06-07 20:15:02 -07:00
Glenn Johnson
2262bc95f1 new package: r-packrat
Manage the R packages your project depends on in an isolated, portable,
and reproducible way.
https://github.com/rstudio/packrat/
2016-06-07 22:04:11 -05:00
Greg Lee
25b2f7b1d7 put older versions back + version-specific dwarfdump dir 2016-06-07 20:02:38 -07:00
Peter Scheibel
a2754894ea (1) FsCache store now takes a fetcher vs. just a copy command (2) use [1] to conditionally cache resource: only save it if there is a feature which identifies it uniquely (for example do not cache a repository if it pulls the latest state vs. a particular tag/commit) 2016-06-07 16:26:54 -07:00
Mario Melara
5715799d4e Added to_dict back into operating system 2016-06-07 14:15:28 -07:00
Mario Melara
4925be0bc4 Load external modules 2016-06-07 13:22:47 -07:00
Peter Scheibel
de1ec4be8b change source archive caching to omit digest from name and instead calculate and compare the checksum. This achieves the original goal of discarding stale cache files without preserving multiple files for the same version. 2016-06-06 12:26:13 -07:00
Mario Melara
196737c217 Changed to passing full architecture spec to function rather than just platform_os so we can grab the operating system from the platform getters 2016-06-06 10:29:19 -07:00
Mario Melara
835982faed Changed OS name to CNL10 so that we properly find the compilers for the test platform 2016-06-06 09:08:59 -07:00
Mario Melara
864191b6ed Got rid of unnecessary global keyword 2016-06-06 09:06:58 -07:00
Mario Melara
5b023bb0a1 Passing through full arch instead of just operating sysystem so that we can use the platform to get the operating system 2016-06-06 09:05:14 -07:00
Mario Melara
c7b48f6fef Passing full arch for proper compiler spec so that we can use the platform to get the operating system 2016-06-06 09:04:24 -07:00
Mario Melara
f751d68177 Passing architecture to functions to find compiler. We can use the platform name if provided to find the operating system. Also changed error to operating system instead of target since operating system is now in charge of compiler finding. 2016-06-06 09:03:32 -07:00
Tom Scogland
30e8e77fb6 Merge pull request #869 from brettviren/feature/views
Feature/views
2016-06-05 11:31:48 -07:00
alalazo
bdd874eb7f autopep8 2016-06-04 18:09:28 +02:00
alalazo
02cadb882b unit test : suffixes 2016-06-04 18:09:06 +02:00
alalazo
669caefccb unit test : wrong naming scheme in conflict 2016-06-04 18:00:18 +02:00
alalazo
d43cfefa43 autopep8 2016-06-04 17:24:52 +02:00
alalazo
2d6db06fca unit test : prerequisites 2016-06-04 17:24:27 +02:00
alalazo
ffa6fed3a3 unit test : custom module file load 2016-06-04 17:20:06 +02:00
alalazo
422d3d4db6 unit test : write a whitelisted module 2016-06-04 16:46:15 +02:00
alalazo
09b1daa7b9 unit test : write a blacklisted module 2016-06-04 16:23:41 +02:00
alalazo
408aa10210 unit test : whitelist 2016-06-04 16:18:15 +02:00
alalazo
a3f39c2315 autopep8 : fixed style issues 2016-06-04 11:23:23 +02:00
alalazo
97e2834816 unit test : wrong tag for dependencies 2016-06-04 11:20:35 +02:00
alalazo
2207ab8f23 unit test : inspect_path 2016-06-04 10:44:37 +02:00
alalazo
0e71b5dde8 unit test : update dictionary extending lists 2016-06-04 10:07:13 +02:00
Mario Melara
30c204a0a5 Made a merge commit earlier with Todd fixing all_platforms, but changed how architecture looks in spec.yaml. Just three strings. Also made some flake8 formatting changes 2016-06-03 16:16:59 -07:00
Mario Melara
bc557cc765 Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-06-03 15:59:00 -07:00
Mario Melara
24d160e93e Changed how architecture looks like in spec.yaml. Now it's only three strings, platform, os, target in spec.yaml. Also did some flake8 formatting changes 2016-06-03 15:57:54 -07:00
Mayeul d'Avezac
0b5ce9e16a 💄 style points requested by flake8 2016-06-03 11:52:19 +01:00
Nicolas Richart
8b6035ab82 Making emacs dependent on internal packages 2016-06-03 00:24:00 +02:00
Todd Gamblin
9d04dccb79 Update version to correspond to master. 2016-06-02 01:20:40 -07:00
Todd Gamblin
3d2b25e45c Merge pull request #1014 from epfl-scitas/packages/mvapich2
Changes to take into account slurm in version @2.1: of mvapich2
2016-06-02 01:08:28 -07:00
Todd Gamblin
27bc49d8c8 Merge pull request #1001 from ashkan2200/develop
Dealii, fixed issue with tests
2016-06-02 01:01:29 -07:00
Todd Gamblin
b843b73bb5 Merge pull request #1005 from eschnett/eschnett/hdf5-update
Update HDF5 to version 1.10.0-patch1
2016-06-02 00:57:15 -07:00
Todd Gamblin
552cfac6ed Merge pull request #1008 from LLNL/features/cflags-fix
Fixed config format to allow default compiler flags
2016-06-02 00:56:44 -07:00
Todd Gamblin
1fb4fa02e3 Merge pull request #1010 from epfl-scitas/packages/tetgen
Adding a version to tetgen
2016-06-02 00:54:09 -07:00
Todd Gamblin
fca8034578 Merge pull request #1011 from epfl-scitas/packages/fenics
Adding package FEniCS
2016-06-02 00:53:47 -07:00
Nicolas Richart
53dcc39b72 removing useless selfs 2016-06-01 17:33:54 +02:00
Nicolas Richart
3ab8468e73 Correcting the flake8 warnings 2016-06-01 16:43:08 +02:00
Nicolas Richart
0451c8e55f Addapting the mvapich2@2.1: configure options for slurm 2016-06-01 15:58:00 +02:00
Nicolas Richart
d802144f39 Introduced a bug by correcting flake8 warnings 2016-06-01 03:31:29 +02:00
Nicolas Richart
5d4a0e4050 Corrections for flake8 2016-06-01 03:28:42 +02:00
Nicolas Richart
97bad2c1ac Corrections for flake8 2016-06-01 03:25:37 +02:00
Nicolas Richart
58052e6632 Adding package fenics 2016-06-01 03:20:56 +02:00
Nicolas Richart
cb673765c2 Adding a version to tetgen 2016-06-01 03:02:48 +02:00
Nicolas Richart
0df0677d5b Adding a variant to link against the spack libraries instead of the system ones 2016-06-01 03:00:03 +02:00
Nicolas Richart
9db8dc1895 Removing extra dependencies + minor fix according to remarks on #1002 2016-06-01 00:57:01 +02:00
Gregory Becker
817f43f927 Fixed config format to allow default compiler flags 2016-05-31 13:39:25 -07:00
Erik Schnetter
c03c689cb2 Update HDF5 to version 1.10.0-patch1 2016-05-31 12:18:17 -04:00
Adam J. Stewart
564e7f5e5b Don't build in parallel 2016-05-31 09:32:24 -05:00
Todd Gamblin
7bdf63a0fa Fix some bugs in architecture. 2016-05-31 03:01:05 -07:00
Mayeul d'Avezac
29b85fbce0 Eigen can be installed with dependencies 2016-05-31 10:10:12 +01:00
Ali Dorostkar
6f96484f83 Spacing correction
More spacing correction
2016-05-31 09:58:29 +02:00
Ali Dorostkar
e82fb5b58f Fixed spacing
Replaced tabs with spaces
2016-05-31 08:44:46 +02:00
Todd Gamblin
24ee32d7b0 More flexible reading of specs from DB, formatting. 2016-05-30 22:02:22 -07:00
Todd Gamblin
f3f0122f11 Merge branch 'develop' into features/newarch 2016-05-30 13:54:53 -07:00
Mario Melara
b14ba31250 Quick fix for mock compilers.yaml to work on linux machines. 2016-05-30 13:22:08 -07:00
Mario Melara
716991775d Added extra check on linux machines, since most linux machines don't have module system 2016-05-30 13:09:41 -07:00
Mario Melara
08a9d80ebc Changed platform to py_platform to avoid name collisions. The naming collisions resulted in an error on linux machines 2016-05-30 13:07:20 -07:00
Mario Melara
f96c979024 Added a conditional to check if package is external 2016-05-30 13:05:49 -07:00
Ali Dorostkar
c4d5bd13c7 dealii, Added comment
Added comment for why step-40 is done differently for dealii 8.4.0 and
later
2016-05-30 18:11:34 +02:00
Nicolas Richart
fd345c8ef0 Merge branch 'packages/foam-extend' of github.com:epfl-scitas/spack into packages/foam-extend 2016-05-30 17:04:21 +02:00
Nicolas Richart
9f4e599232 Ignoring the flake8 error for a line too long 2016-05-30 16:58:06 +02:00
Nicolas Richart
08c8d1d1f7 limiting package to foam-extend to start 2016-05-30 16:49:25 +02:00
Nicolas Richart
4122ecbc80 First try at OpenFOAM-extend 2016-05-30 16:49:25 +02:00
Ali Dorostkar
4f591a6fe3 Step-40 test for 8.3.0 and earlier
Integrated part of step-40 to be tested for earlier versions of dealii
2016-05-30 16:42:24 +02:00
Nicolas Richart
fe79e43459 limiting package to foam-extend to start 2016-05-30 15:46:39 +02:00
Ali Dorostkar
d7e84fe07c dealii, test for specific version
Specified that test case “step-40” is only to be run when using dealii
version 8.4.0 or later
2016-05-30 14:03:27 +02:00
Ali Dorostkar
04061ece4f Merge remote-tracking branch 'LLNL/develop' into develop 2016-05-30 14:03:02 +02:00
Glenn Johnson
66aaaa1751 Add a comment regarding the reason for the patch. 2016-05-29 15:30:09 -05:00
Todd Gamblin
1eed2ee985 Merge pull request #999 from ashkan2200/develop
Dealii, Versions added
2016-05-29 10:56:00 -05:00
Ali Dorostkar
c2ac47235f additional versions for Dealii
Included additional versions for Deal.II package.
2016-05-29 13:22:19 +02:00
Todd Gamblin
e8b4d5fb6f Performance boost: reduce instantiations of re.Scanner
- Lexer is the same for every Spec parser in spack, so don't build it
  every time.

- This improves time to import package.py files a lot, as a Lexer
  doesn't have to be constructed for every spc in the packages.

- To concretize dealii:
  - Before: ~20 sec
  - After:  ~6 sec
2016-05-28 23:05:23 -07:00
Glenn Johnson
c16d7c481c Get glib to compile with gcc-6.1
This commit adds a patch to fix the case where gcc-6.1 emits an error
for string format literal that was a warning in previous versions of
gcc. The patch reference is
https://bugzilla.gnome.org/show_bug.cgi?id=761550

Also ran the package file through autopep8.
2016-05-28 23:30:56 -05:00
Mario Melara
22ca72e7b9 Added conditional skipIf to test_external_modules, darwin machines don't have tcl modules so skip this test and let user know why 2016-05-28 12:40:29 -07:00
Mario Melara
69585cb6e3 Added elcap compilers 2016-05-28 12:39:43 -07:00
Mario Melara
33e1dcc476 Adding mock package file for external module 2016-05-28 10:14:40 -07:00
Mario Melara
f0a9c45207 Adding external to mock config 2016-05-28 10:13:57 -07:00
Mario Melara
98a4a9f2cc Adding test for external modules 2016-05-28 10:13:22 -07:00
Mario Melara
becec8ac7e Added external module check in normalize to avoid infinite loop 2016-05-28 10:12:53 -07:00
Gregory Becker
9dad7c2ace re-merged mainline develop 2016-05-27 13:13:19 -07:00
Greg Lee
6dcdb50a3e Merge branch 'develop' of https://github.com/llnl/spack into develop 2016-05-27 12:44:57 -07:00
Greg Lee
0ae1298d25 updated libdwarf version and dwarfdump build 2016-05-27 12:43:13 -07:00
Gregory Becker
f49644cdea Fixed typo in linux platform 2016-05-27 12:37:58 -07:00
Gregory Becker
023504ed64 Fixed the external modules bug 2016-05-27 12:26:59 -07:00
Adam J. Stewart
dd5a6914f1 Undo changes to flex 2016-05-27 12:56:43 -05:00
Todd Gamblin
f6a0cd1bf8 Merge pull request #973 from eschnett/eschnett/openmpi-verbs
Auto-detect verbs location
2016-05-27 11:01:44 -05:00
Todd Gamblin
285646bbfa Merge pull request #981 from epfl-scitas/tests/unit_test_for_968
find : add unit tests
2016-05-27 11:00:45 -05:00
Todd Gamblin
2f18a34458 Merge pull request #989 from LLNL/features/cflags-documentation
updated documentation for cflags PR
2016-05-27 10:59:40 -05:00
Todd Gamblin
7b063e3e6c Merge pull request #975 from adamjstewart/features/stream
Add STREAM benchmark package
2016-05-27 10:59:13 -05:00
Gregory Becker
a2f90453f4 Fixed backwards compatibility for compilers.yaml config file 2016-05-26 20:30:05 -07:00
Todd Gamblin
dc4ca26441 Merge pull request #992 from davydden/update/dealii
Update/dealii
2016-05-26 17:39:37 -05:00
Todd Gamblin
96f65479e7 Merge pull request #993 from xjrc/packages/metis
Update Package : METIS/ParMETIS
2016-05-26 17:37:33 -05:00
Joseph Ciurej
e95eedb165 Added a style checking exemption for lambda expressions. 2016-05-26 14:27:15 -07:00
Denis Davydov
040c122719 dealii: formatting 2016-05-26 23:00:22 +02:00
Mario Melara
9c1da4fa4c Corrected parantheses wrapping 2016-05-26 13:58:17 -07:00
Gregory Becker
189e8b3f34 fixed compiler config init logic 2016-05-26 13:17:01 -07:00
Gregory Becker
88bec814eb Allow 'arch=' syntax for specs to allow copying from output 2016-05-26 12:10:41 -07:00
Gregory Becker
c0661744cc fixed compatibility work 2016-05-26 11:38:40 -07:00
Gregory Becker
b968603a57 made yaml format backwards compatible 2016-05-26 11:14:05 -07:00
Mario Melara
3b675d8b70 Changed comparison operator so that we don't get caught in an infinite loop 2016-05-26 11:09:14 -07:00
Denis Davydov
0036483ded dealii: don't hardcode blas and mpi; minor fixes to dependencies 2016-05-26 18:07:27 +02:00
Gregory Becker
c30fe932d9 fixed mock config to use truncated versions of linux distro versions 2016-05-25 16:34:45 -07:00
Gregory Becker
8f99334f11 Fixed test config to work on yosemite 2016-05-25 16:06:14 -07:00
Todd Gamblin
76d42b5200 Merge pull request #982 from trws/rust
Rust
2016-05-25 15:15:51 -05:00
Gregory Becker
0f40174723 added test platform 2016-05-25 12:28:59 -07:00
Joseph Ciurej
734fb459a4 Fixing a small bug with metis@4+shared installs on the Mac platform. 2016-05-25 12:27:52 -07:00
Gregory Becker
3a68dd2011 (hopefully) final fixes of the merge 2016-05-25 12:22:16 -07:00
Gregory Becker
74dc7ffe4d updated documentation for cflags PR 2016-05-25 10:56:12 -07:00
Peter Scheibel
dd26c0bbcc merge from develop 2016-05-24 18:56:44 -07:00
Joseph Ciurej
483ec0d762 Added preliminary improved testing code for METIS@:4. 2016-05-24 16:13:52 -07:00
Joseph Ciurej
c9ba73d931 Added staging support and improved error handling for METIS@:4 installs. 2016-05-24 16:05:29 -07:00
Joseph Ciurej
b5d0a38860 Fixed a few linking/testing bugs in the METIS@:4 install method. 2016-05-24 15:03:21 -07:00
Greg Lee
1bca69f272 updated launchmon url and version 2016-05-24 14:54:09 -07:00
Joseph Ciurej
064d3584c0 Updating 'metis' and 'parmetis' to conform to PEP8 standards. 2016-05-24 12:28:05 -07:00
Joseph Ciurej
0ef6843d85 Improved MPI path specification for ParMETIS using PR #893 features. 2016-05-24 12:28:05 -07:00
Joseph Ciurej
9c95ec0b29 Updated and added new versions to the METIS/ParMETIS packages.
- Added a 'url_for_version' function to the METIS/ParMETIS packages.
- Added installation support for METIS@5.0.2 and ParMETIS@4.0.2.
- Changed the 'double' variant to 'real64' to make it more consistent
  with the 'idx64' variant naming.
- Removed an unnecessary dependency on gdb.
2016-05-24 12:28:05 -07:00
alalazo
561a4fbeea Merge branch 'develop' of https://github.com/LLNL/spack into features/module_file_explicit_load 2016-05-24 15:48:02 +02:00
alalazo
84707ed926 modules : it's possible to add suffixes to module files based on constraint 2016-05-24 15:23:52 +02:00
Todd Gamblin
6fba102d7d Merge pull request #985 from davydden/update/octave
octave: add missing dependencies and update to 4.0.2
2016-05-24 01:24:31 -05:00
Gregory Becker
513aae5ef8 fixed bug where earlier test was blowing away environment, causing an error on which('modulecmd') 2016-05-23 17:39:06 -07:00
Gregory Becker
1da6bbd146 Fixed a couple more bugs 2016-05-23 17:25:54 -07:00
Gregory Becker
d438ea0880 'Ugly merge because I mishandled git
Merge branch 'save' into features/newarch
2016-05-23 16:57:54 -07:00
Gregory Becker
d7612e7aaa Fixed errors caught by spec and concretize tests 2016-05-23 16:54:41 -07:00
Mario Melara
6c352132d0 Started writing documentation for architecture. Might need a couple more drafts 2016-05-23 14:28:00 -07:00
Denis Davydov
c78349a3a4 octave: fix formatting 2016-05-23 15:08:10 +02:00
Denis Davydov
ce3146e91a octave: add missing dependencies and update to 4.0.2 2016-05-23 14:50:06 +02:00
alalazo
0890ac4507 modules : explicit module file load from configuration files 2016-05-23 10:54:48 +02:00
Todd Gamblin
3ab56a188e Fixes #980: really slow spack spec performance
- `spack spec dealii` now takse seconds rather than 18 minutes.

- Slow hash (`dag_hash`) was accidentally inserted into the fast hash
  (`__hash__`).

- Do not put the slow hash in the fast hash.
2016-05-22 18:33:13 -07:00
Tom Scogland
00de72272d rust compiler/builder package, new llvm variants 2016-05-22 11:16:00 -07:00
Tom Scogland
9bd4bc02d6 fixing warning for package fetch 2016-05-22 11:16:00 -07:00
Tom Scogland
425beb4d97 updates for rust-bindgen 2016-05-22 11:16:00 -07:00
Tom Scogland
404b7c7c4f initial rust support 2016-05-22 11:16:00 -07:00
Nicolas Richart
4c87ef915f First try at OpenFOAM-extend 2016-05-22 18:55:29 +02:00
Todd Gamblin
d087086581 update documentation. 2016-05-21 14:33:05 -07:00
Mario Melara
c3767d593d compiler list is sorted in descending order, in order to get most up to date version we check from the beginning of the list 2016-05-20 15:48:13 -07:00
Erik Schnetter
09eed08b9c Auto-detect verbs location 2016-05-20 16:24:48 -04:00
alalazo
7303c387e8 autopep8 : fixed style 2016-05-20 10:34:11 +02:00
alalazo
b485ca8198 find : added unit tests, exits with 1 if -E and -e are given 2016-05-20 10:32:46 +02:00
Todd Gamblin
d94972503a Merge pull request #964 from davydden/update/tbb
tbb: add 4.4.4; raise InstallError when building 4.4.3 with GCC6.1
2016-05-19 22:44:03 -07:00
Todd Gamblin
0514dd5ebd Merge pull request #979 from epfl-scitas/packages/scotch+metis
Adding `+metis` variant to scotch + changes for esmumps
2016-05-19 20:06:47 -07:00
Mario Melara
175a042fd3 Changed rpaths method so that it only grabs rpaths using the compiler module name instead of PrgEnv-x module name 2016-05-19 16:42:13 -07:00
Nicolas Richart
2e77cc635e missing @ in version definition 2016-05-20 00:51:58 +02:00
Nicolas Richart
a233ed2de7 changes scotch package to make he coverage test pass 2016-05-20 00:42:34 +02:00
Nicolas Richart
a51566ec6e changes to simplify the esmumps variant for version < 6.0.0 + typos corrections, according to the remarks on PR #979 2016-05-20 00:31:12 +02:00
Mario Melara
36450b9bc9 Adding link_paths to craype compilers 2016-05-19 14:25:50 -07:00
Gregory Becker
19c8a52fe1 fixed spec syntax test 2016-05-19 09:53:49 -07:00
Nicolas Richart
1bf306bbbd Adding +metis variant to scotch + minor changes 2016-05-19 17:26:44 +02:00
Brett Viren
126fc10b9d Remove view print for now. 2016-05-19 08:36:18 -06:00
Gregory Becker
63459ab0c7 Fixed some of the bugs 2016-05-18 18:21:52 -07:00
Gregory Becker
01d5ffcd87 Fixed the first set of merge bugs 2016-05-18 17:42:11 -07:00
Mario Melara
16431f7a4c Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-05-18 17:26:30 -07:00
Mario Melara
b25da51638 Changed unsatisfiable architecture test 2016-05-18 17:26:06 -07:00
Mario Melara
6926f4d0da Changed arch tests to new spec target= os= 2016-05-18 17:23:10 -07:00
Gregory Becker
5417f1cdc6 more merge work 2016-05-18 17:21:03 -07:00
Gregory Becker
b1e5eafb80 more merge work 2016-05-18 17:18:26 -07:00
Gregory Becker
deb5011d08 more merge work 2016-05-18 17:14:16 -07:00
Mario Melara
b4b7942230 Moved searching of flags into get compilers in compilers_for_spec 2016-05-18 17:07:23 -07:00
Mario Melara
9f8ff32bcc Got rid of ifdefs, changed parameters for Compiler: added kwargs 2016-05-18 17:05:11 -07:00
Mario Melara
faa0f2a13c got rid of ifdef 2016-05-18 17:01:59 -07:00
Gregory Becker
80310a3b7c Finished merge on these files 2016-05-18 16:50:50 -07:00
Todd Gamblin
c53b1be8b4 Merge pull request #977 from trws/explicit-docs
initial docs for find and flake8 cleanup
2016-05-18 15:20:23 -07:00
Gregory Becker
9f59c128be Partial merge of mainline develop 2016-05-18 15:13:40 -07:00
Tom Scogland
a1f8cc2817 peren-nesting fix in spec 2016-05-18 14:24:16 -07:00
Tom Scogland
29635b7bbd initial docs for find and flake8 cleanup 2016-05-18 14:04:39 -07:00
Adam J. Stewart
434ff28af4 Add STREAM benchmark package 2016-05-18 15:14:21 -05:00
Todd Gamblin
d391670755 Merge pull request #966 from verolero86/develop
Add option to disable VT support in openmpi package
2016-05-18 08:36:23 -07:00
Todd Gamblin
78c46aab35 Merge pull request #969 from Rombur/boost
Add boost 1.61.0
2016-05-18 08:35:51 -07:00
Todd Gamblin
637da63506 Merge pull request #948 from davydden/bugfix/astyle
astyle: fix filter command which failed on OSX with python 2.7.10
2016-05-18 08:35:01 -07:00
Todd Gamblin
af7785727b Merge pull request #968 from epfl-scitas/find_always_zero_pkgs
Fix : spack find
2016-05-18 08:25:04 -07:00
Bruno Turcksin
bbbffe7423 Add boost 1.61.0 2016-05-18 08:51:22 -04:00
alalazo
23c7089789 fixes #967, flake8 approved 2016-05-18 11:52:27 +02:00
alalazo
fcc30cbf30 fixes #967 2016-05-18 11:48:03 +02:00
Denis Davydov
267666cd97 formatting 2016-05-18 08:35:47 +02:00
Greg Lee
582d01784a added newdtags variant, default to false (i.e., remove --enable-new-dtags) 2016-05-17 21:18:34 -07:00
Todd Gamblin
d592a1655f Merge pull request #961 from xjrc/features/flake8-improvements
Enhancement Proposal: Exempt '@when' Functions from Style Redefinition Errors
2016-05-17 17:00:49 -07:00
Todd Gamblin
502420ceff Merge branch 'features/cflags' into develop
Conflicts:
	lib/spack/spack/cmd/find.py
	var/spack/repos/builtin/packages/ghostscript/package.py
2016-05-17 16:44:54 -07:00
Todd Gamblin
9d584d0c47 Tag Spack version 0.9
- Tagging a version to include all that's happened since 0.8.17

- This is in anticipation of merging `features/cflags` and
  `features/newarch`, which will break the spec format.

- 1.0 will likely come after those.
2016-05-17 16:06:43 -07:00
Todd Gamblin
15e9d5f96e Merge pull request #868 from trws/explicitly-installed
track whether a package was installed "explicitly"
2016-05-17 14:28:17 -07:00
Denis Davydov
1a187e73ae tbb: add 4.4.4; raise InstallError when building 4.4.3 with GCC6.1 2016-05-17 22:57:32 +02:00
Todd Gamblin
138307dd0c Merge pull request #955 from trws/lua-rework
complete lua rework
2016-05-17 13:21:51 -07:00
Todd Gamblin
6384264aa7 Merge pull request #963 from eschnett/eschnett/duplicate-providers
Remove duplicate providers that can concretize to the same result
2016-05-17 12:50:18 -07:00
Erik Schnetter
fcc4c1b2f2 Remove duplicate providers that can concretize to the same result
Patch generously provided by @becker33.

Closes #928.
2016-05-17 15:13:28 -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
Adam J. Stewart
f16228d811 Add more install directories 2016-05-17 13:36:38 -05:00
becker33
3d9c8f4fd4 Merge pull request #952 from davydden/package/sed
sed: add package
2016-05-17 11:27:57 -07:00
Adam J. Stewart
631cbdbda8 Flake8 2016-05-17 13:22:00 -05:00
Adam J. Stewart
7b9b18f03c Add HPL benchmark package 2016-05-17 13:14:59 -05: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
1774c7a7b3 Merge pull request #958 from trws/golang-new
Golang new
2016-05-17 05:56:06 -07:00
Tom Scogland
80c02ad36a flake8-related cleanup 2016-05-17 05:30:35 -07:00
Tom Scogland
af4af94203 rework for gopath and bootstrapping 2016-05-17 05:21:11 -07:00
Joseph Ciurej
761c5c8450 Added line limit exemptions for 'variant' and 'version' directives.
Updated the 'scotch' package to use oneline 'variant' directives.
2016-05-16 12:14:57 -07:00
Joseph Ciurej
52c8bedb9c Updated style checking to ignore refinition errors for '@when' fxns.
Updated the Scotch package to conform to PEP8 standards and to test style checking improvements.
2016-05-16 11:09:44 -07:00
Todd Gamblin
a74bc9369b Merge pull request #953 from citibeth/150514-NetCDFCXX4
netcdf-cxx4: Update to latest released version 4.3.0
2016-05-16 10:58:27 -07:00
Gregory Becker
0fd9cdb861 Fixed config tests for new compiler config format 2016-05-16 09:56:07 -07:00
Elizabeth Fischer
65ff89a0b0 Placate flake8 demands. 2016-05-16 12:53:24 -04:00
Gregory Becker
7705603f73 Added more compilers to mock packages tests 2016-05-16 09:43:46 -07:00
Tom Scogland
62dd040a8f add GOPATH support
Also fixes flex to depend on bison for its yacc implementation.
2016-05-16 09:30:37 -07:00
Tom Scogland
8859a09cd2 handle explicit when requesting to install already installed packages 2016-05-16 08:08:40 -07:00
Tom Scogland
4acdfeae61 track whether a package was installed "explicitly"
Adds a new attribute in the database to track whether a package was
installed explicitly or not, where explicitly is the user running `spack
install <package>` and implicitly is it being installed as a dependency.
It also adds arguments to `spack find` to find these packages such that
it should be possible to query the packages that were installed
implicitly and are not currently depended upon any longer.
2016-05-16 08:08:40 -07:00
Brett Viren
1bbe6409e1 Merge remote-tracking branch 'upstream/develop' into view-fix-merge 2016-05-16 10:09:31 -04:00
Brett Viren
77a34ebdf9 flake8-clean. 2016-05-16 10:08:59 -04:00
Tom Scogland
9780427940 fixing more flake8 errors that only appear on travis... 2016-05-16 05:37:04 -07:00
Tom Scogland
dacedfcc0e formatting to appease flake8 2016-05-16 05:12:30 -07:00
Tom Scogland
52c359bc77 fix linking issue on ubuntu
Evidently some readline variants are built with only a dynamic dependency on
ncurses, this addresses that problem for such systems.
2016-05-16 03:36:31 -07:00
Todd Gamblin
53df9fbb4f Merge pull request #959 from davydden/bugfix/doxygen_ghostscript_graphviz
Bugfix/doxygen ghostscript graphviz
2016-05-16 00:12:59 -07:00
Todd Gamblin
0ffa959044 Merge pull request #957 from glennpj/turbomole_subprocess
Updated turbomole package file.
2016-05-16 00:12:19 -07:00
Denis Davydov
0fbf70d95d indentation fixes 2016-05-15 23:37:09 +02:00
Denis Davydov
459c647bc9 doxygen: add graphviz variant; enable flex and bison on OSX and they build fine 2016-05-15 19:43:01 +02:00
Tom Scogland
71d9911539 go cleanup, adding hub 2016-05-15 10:23:33 -07:00
Tom Scogland
b7aa47a178 remove debug print 2016-05-15 09:52:09 -07:00
Tom Scogland
c6524d0311 environment: fixed comment and default separator 2016-05-15 09:50:21 -07:00
Denis Davydov
a045154b5e graphviz: add missing dependency and fix installation on darwin 2016-05-15 18:34:50 +02:00
Denis Davydov
21d4f3a356 ghostscript: url was changed upstream 2016-05-15 18:33:06 +02:00
Greg Lee
c2ca5f44b4 flake8 fixes 2016-05-15 08:19:55 -07:00
Tom Scogland
2bfa4d7e4f removing comments
also randomly changed unnecessary licence block
2016-05-14 22:42:14 -07:00
Tom Scogland
577657b3f7 go rework
This commit includes:
* a new go package that uses gccgo to bootstrap the go toolchain
* env support added to Executable
* a new Go fetch strategy that uses `go get` to fetch a package and all
  of its deps
* A platinum searcher package that leverages the new go package and
  fetch strategy
2016-05-14 22:35:55 -07:00
Tom Scogland
0816e9554d adding go_compiler providers 2016-05-14 18:06:42 -07:00
Tom Scogland
915f91a619 moving go packages to the new path 2016-05-14 18:06:42 -07:00
Tom Scogland
0c33e8ac48 go and a basic go package 2016-05-14 18:06:41 -07:00
Tom Scogland
a2197f3a41 yet more sacrifices to the god of short-lines 2016-05-14 17:51:58 -07:00
Tom Scogland
f50439b990 appeasing the great vengeful flake8 gods 2016-05-14 17:49:06 -07:00
Tom Scogland
df30182a10 appeasing flake8 in environment 2016-05-14 17:39:59 -07:00
Tom Scogland
0668b6d7ba changes to appease flake8 for lua-luaposix package 2016-05-14 17:38:32 -07:00
Tom Scogland
21161a60ff changes to appease flake8 (mostly) for lua package 2016-05-14 17:38:13 -07:00
Glenn Johnson
fffc2d2765 Updated turbomole package file.
This PR updates the turbomole package file but does not introduce any
new funtionality. The updtes are:
- use spack interface for subprocess.PIPE and subprocess.Popen
- clean up based on flake8
- remove some extra whitespace
2016-05-14 19:33:45 -05:00
Tom Scogland
12e36ee0e7 fix merge error 2016-05-14 16:20:45 -07:00
Tom Scogland
b5979b13e3 complete lua rework, also module path fix
This is a complete rework of the lua package, it also allows the
environment modification classes to handle paths that are not separated
by colons, and uses the support for same in TCL modules as well.

The biggest difference is the handling for lua extension packages, which
now have their paths set correctly by the lua parent package, and have
access to both lua and luarocks as installation tools. See the luaposix
package for what should be required for most lua packages after this.
2016-05-14 16:18:26 -07:00
Elizabeth Fischer
efa506b235 Preparing spack setup command for merge. Try this out for a while... 2016-05-14 17:09:11 -04:00
Denis Davydov
c5a35acd67 sed: add package 2016-05-14 22:29:16 +02:00
Elizabeth Fischer
4bf9b168a5 netcdf-cxx4: Update to latest released version 4.3.0 2016-05-14 16:19:10 -04:00
Brett Viren
b3ede099e2 Document command. 2016-05-14 13:15:25 -04:00
Brett Viren
c98afe2205 Pick a better name for the 'spec' parameters. 2016-05-14 13:14:51 -04:00
Brett Viren
8078845273 Remove problematic tests, deal with this issue outside of PR #869. 2016-05-14 09:11:41 -04:00
Brett Viren
8ddc1f8977 Move from str.format() to string.Template. 2016-05-14 09:11:04 -04:00
Gregory L. Lee
e3cd0a67d0 address flake8 issues 2016-05-13 16:12:48 -07:00
Gregory L. Lee
e9b71872a8 addressed PR#946 comments from @adamjstewart 2016-05-13 15:16:07 -07:00
Mario Melara
fce6ecb05c Changed _proper_compiler_spec to return filtered list. Apparently filter returns a list rather than filtering the original list. Lead to compiler finding problems if user specified frontend compilers 2016-05-13 15:04:06 -07:00
Gregory Becker
f43cab0951 fixed pkgconfig issue 2016-05-13 14:39:20 -07:00
Todd Gamblin
4a6ec6377d Merge pull request #940 from gzagaris/feature/doxygen-version-1.8.11
Add doxygen version 1.8.11
2016-05-13 10:10:23 -07:00
Todd Gamblin
6ee21727de Merge pull request #949 from davydden/bugfix/openblas
openblas: use spack_cc/spack_f77 and add a note on compiler mixing
2016-05-13 10:00:57 -07:00
Denis Davydov
8db35ab9a2 openblas: use spack_cc/spack_f77 and add a note on compiler mixing 2016-05-13 17:28:30 +02:00
Denis Davydov
67999d1b1c astyle: fix filter command which failed on OSX with python 2.7.10 2016-05-13 17:13:45 +02:00
George Zagaris
e763eeacdd fix format in doxygen/package.py 2016-05-12 23:25:10 -07:00
Gregory L. Lee
b8a91db089 Intel software packages and license enhancements 2016-05-12 20:04:45 -07:00
Gregory Becker
4c9dd028d2 Fixed error causing hang in env/cc 2016-05-12 17:20:48 -07:00
Adam J. Stewart
088dce709e Make flake8 happy 2016-05-12 16:33:37 -05:00
Adam J. Stewart
ab41fd6692 Add bertini package
Also add missing dependency. Flex would not build for me without bison.
It complained about not being able to find `yacc`.
2016-05-12 16:21:06 -05:00
Todd Gamblin
5e13bba068 Fix #941: add copyright to new package files.
- also reworded the boilerplate a bit.
2016-05-12 10:30:13 -07:00
Todd Gamblin
d9cc1f85a5 Merge pull request #932 from adamjstewart/features/elk
Elk: Use new openmp_flag and mpi attributes
2016-05-12 09:05:41 -07:00
Adam J. Stewart
03307f91df Fix bug when compiling elk~mpi 2016-05-12 10:27:05 -05:00
Adam J. Stewart
3526d92660 Indentation fix 2016-05-12 10:27:05 -05:00
Adam J. Stewart
d7020434d9 Use new-ish blas_shared_lib and more flake8 fixes 2016-05-12 10:27:04 -05:00
Adam J. Stewart
e2e72b14b2 Use new openmp_flag and mpi attributes 2016-05-12 10:26:10 -05:00
George Zagaris
3ece0e7b76 Add doxygen version 1.8.11 2016-05-12 00:42:22 -07:00
Denis Davydov
68c681bb78 document blas and lapack usage in packages 2016-05-12 08:59:17 +02:00
Todd Gamblin
e7ced54369 Correct LLNL LGPL license template for clarity. 2016-05-11 21:22:25 -07:00
Todd Gamblin
14fe0b8ad2 Merge pull request #558 from adamjstewart/features/pgi
Add Licensed Software Support
2016-05-11 17:17:47 -07:00
Todd Gamblin
2dc49ee88d Merge pull request #938 from KineticTheory/pkg-moab
Provide new package: MOAB
2016-05-11 17:14:05 -07:00
Gregory Becker
45bf93405a Changed spec syntax for new parts from modules feature 2016-05-11 16:23:13 -07:00
Kelly (KT) Thompson
c5a19b57f7 Clean up formatting. 2016-05-11 16:33:57 -06:00
Gregory Becker
2e1810e3a7 re-merging develop 2016-05-11 15:26:09 -07:00
Gregory Becker
566fec4015 Fixed variants in new format and removed print statements from debugging 2016-05-11 14:56:41 -07:00
Kelly (KT) Thompson
8bec127a1d Attempt to fix formatting issues (flake8). 2016-05-11 14:00:44 -06:00
Kelly (KT) Thompson
9482ce1fce Remove some extraneous comments. 2016-05-11 12:39:20 -06:00
Kelly (KT) Thompson
e200a41d3d New package MOAB. 2016-05-11 12:34:33 -06:00
Gregory Becker
0b5836cfce Fixed flipped conditional in satisfies 2016-05-11 10:51:52 -07:00
Adam J. Stewart
c043275f1b Final flake8 changes 2016-05-11 11:46:41 -05:00
Todd Gamblin
9cf5404bb7 Merge pull request #937 from davydden/features/unit_tests
Features/package_test
2016-05-11 09:42:00 -07:00
Adam J. Stewart
5879f8207f Flake8 formatting changes 2016-05-11 11:32:08 -05:00
Adam J. Stewart
ee7ec4fa66 Move all licensing support to pre/post_install hooks 2016-05-11 11:32:08 -05:00
Adam J. Stewart
19f4b27fd2 Add documentation for packaging of licensed software 2016-05-11 11:32:08 -05:00
Adam J. Stewart
8ea5e946a2 Add Allinea packages 2016-05-11 11:32:08 -05:00
Adam J. Stewart
8bcb812529 Allow multiple license symlinks 2016-05-11 11:32:08 -05:00
Adam J. Stewart
2a11cb8b76 Use global licenses with local symlinks 2016-05-11 11:32:08 -05:00
Adam J. Stewart
6906911e85 Allow license files to use different symbols for comments 2016-05-11 11:32:08 -05:00
Adam J. Stewart
b63d11d5b0 Formatting consistency 2016-05-11 11:32:07 -05:00
Adam J. Stewart
5cb45c253e Bug fix 2016-05-11 11:32:07 -05:00
Adam J. Stewart
1b997f10a8 Add set_up_license function 2016-05-11 11:32:07 -05:00
Adam J. Stewart
8cba8d6d1d Add default global variables for licensing information 2016-05-11 11:29:30 -05:00
Adam J. Stewart
240c0643f2 Add NAG Fortran compiler package 2016-05-11 11:27:11 -05:00
Adam J. Stewart
82ce798f41 Bug fix 2016-05-11 11:27:11 -05:00
Adam J. Stewart
2fb128fb34 Add PGI Compiler Package 2016-05-11 11:27:11 -05:00
Todd Gamblin
0216fa2a00 Simplify /etc/spack/modules.yaml formatting. 2016-05-11 09:05:24 -07:00
Todd Gamblin
fd5d89b61c Merge branch 'custom_modulefiles_from_config' of https://github.com/epfl-scitas/spack into epfl-scitas-custom_modulefiles_from_config 2016-05-11 08:59:23 -07:00
Todd Gamblin
eaf046c6a4 Merge pull request #936 from hegner/bugfix/configsections
Improve error message for wrong config section names
2016-05-11 08:58:33 -07:00
alalazo
bb4b6c8ee2 flake 8 : fixed checks 2016-05-11 17:02:36 +02:00
Denis Davydov
eba264fcd0 fix formatting 2016-05-11 16:11:34 +02:00
alalazo
78ae5d7723 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config
Conflicts:
	lib/spack/spack/config.py
2016-05-11 16:11:19 +02:00
alalazo
22bb0562fe Revert "flake8 : fixed all issues?"
This reverts commit 71e49e289a.
2016-05-11 16:09:47 +02:00
alalazo
b215b19cae modules : added docs 2016-05-11 15:42:48 +02:00
Denis Davydov
361b629034 openblas: make unit test more robust by outputing only the solution vector from dgesv 2016-05-11 15:10:13 +02:00
Denis Davydov
809ded74c9 add functions for simple unit tests; refactor openblas to use them 2016-05-11 15:10:13 +02:00
Benedikt Hegner
0b7b25487f improve error message for wrong config section names 2016-05-11 13:29:27 +02:00
Todd Gamblin
3d3a520a7d update readme for flake8 checking 2016-05-11 02:59:08 -07:00
Todd Gamblin
6d6eb0f2d1 Remove config.py from flake checking for now. 2016-05-11 02:32:13 -07:00
Todd Gamblin
fc8d18ebdc Merge branch 'bugfix/config' of git://github.com/hegner/spack into hegner-bugfix/config 2016-05-11 02:31:20 -07:00
Todd Gamblin
9030541e4b Merge pull request #929 from epfl-scitas/differentiate_framework_from_packages
QA : make qa checking less painful
2016-05-11 02:26:07 -07:00
Todd Gamblin
78d25ad337 Add run-flake8 script.
- was missing the obvious.
2016-05-11 02:01:24 -07:00
Todd Gamblin
c512b37a4e format .flake8 more nicely. 2016-05-11 01:25:40 -07:00
Todd Gamblin
f158375054 .travis.yml uses a script now.
- user can run the same script.
2016-05-11 01:17:52 -07:00
Todd Gamblin
d7847ff768 Use just one flake8 file; mark package.py files to avoid E501 w/url. 2016-05-11 01:16:41 -07:00
Todd Gamblin
2aa4387eba Update code style checking.
- Exempt overlong URL lines from checks.
- Omit some of the more painful PEP items.
2016-05-11 00:07:42 -07:00
Benedikt Hegner
c1e6b52184 first round of coding rules 2016-05-11 00:28:12 +02:00
Benedikt Hegner
05b6c3f8cf add test for list parameters 2016-05-11 00:14:24 +02:00
Benedikt Hegner
6e462abb4d hmm... test before commit 2016-05-10 23:31:29 +02:00
Benedikt Hegner
5d477bc956 fix setting config for list parameters 2016-05-10 23:19:30 +02:00
Todd Gamblin
98faee1d5c Minor tweaks to flock docs. 2016-05-10 11:19:17 -07:00
Todd Gamblin
a49662276d Merge branch 'fix-doc-flock' of git://github.com/luca-heltai/spack into luca-heltai-fix-doc-flock 2016-05-10 11:10:07 -07:00
Luca Heltai
4cb91d6f7b Added documentation on lockf/flock. 2016-05-10 19:46:24 +02:00
alalazo
7d74e209f3 qa : this should still fail due to F821 2016-05-10 19:20:26 +02:00
alalazo
3f20014f33 qa : differentiate framework from packages 2016-05-10 18:45:11 +02:00
Todd Gamblin
3e717842c9 Merge pull request #924 from hegner/feature/python-diverse
Add a few more python packages
2016-05-10 09:44:32 -07:00
Todd Gamblin
836d081bca Merge pull request #927 from davydden/astyle_fix_ubuntu
astyle: compile with spack_cxx
2016-05-10 09:43:44 -07:00
alalazo
190c437980 qa : copied flake8 configuration, updated travis.yml 2016-05-10 18:38:30 +02:00
alalazo
979b53cab6 qa : modifying 2 packages and a framework file just for the sake of it 2016-05-10 18:33:07 +02:00
alalazo
965e7f471f Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-05-10 18:11:42 +02:00
Tom Scogland
8fec824484 Merge pull request #769 from epfl-scitas/openmpi_variants
openmpi : added variants
2016-05-10 09:02:33 -07:00
Denis Davydov
c8d8860742 astyle: fix formatting 2016-05-10 18:01:19 +02:00
Todd Gamblin
c90ecc6847 Add F821 to ignore list.
- Consider removing this once names like `cmake` and `configure` are
  moved to a sensible namespace.
2016-05-10 08:58:30 -07:00
Benedikt Hegner
fa44cd5cef renaming py-Genshi into py-genshi 2016-05-10 17:30:44 +02:00
alalazo
71e49e289a flake8 : fixed all issues? 2016-05-10 17:19:22 +02:00
alalazo
c3f3f26632 modules : added warning if a user tries to add prerequisite with dotkit 2016-05-10 16:16:50 +02:00
alalazo
0b7c673205 modules : changed syntax for environment modifications 2016-05-10 15:48:37 +02:00
Benedikt Hegner
f5fb771573 fixing imports; configure commands aren't available at import time yet 2016-05-10 14:52:14 +02:00
Denis Davydov
cd9cdd6410 astyle: compile with spack_cxx 2016-05-10 13:37:57 +02:00
alalazo
f8f71b1c2c modules : prefix_inspections moved to modules.yaml 2016-05-10 13:37:03 +02:00
Benedikt Hegner
ad42579f08 addressing coding style rules 2016-05-10 13:17:36 +02:00
alalazo
c11a665ba1 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-05-10 12:44:24 +02:00
Todd Gamblin
1a563c2b31 Ignore "multiple spaces before operator" error. 2016-05-10 03:06:55 -07:00
Benedikt Hegner
aca5941a0e Add a few more python packages
py-Genshi
py-astroid
py-jinja2
py-logilab-common
py-markupsafe
py-mistune
py-prettytable
py-py2neo
py-storm
2016-05-10 11:48:18 +02:00
Todd Gamblin
8f4efeea97 Max line length of 79 chars. 2016-05-10 02:33:22 -07:00
alalazo
9eee71edf7 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-05-10 11:13:19 +02:00
Todd Gamblin
42edb6840e Merge pull request #905 from adamjstewart/features/rpath_flag
Allow compilers to specify their own rpath linking flags
2016-05-10 01:56:49 -07:00
Todd Gamblin
a2528a86b4 Merge pull request #692 from mathstuf/quoted-command-lines
executable: quote arguments
2016-05-10 01:42:26 -07:00
Todd Gamblin
35cf52d182 Merge pull request #707 from dhandeo/visit
VisIt v2.10.1
2016-05-10 01:40:27 -07:00
Todd Gamblin
8ce45d2161 Merge pull request #775 from epfl-scitas/fixes/config_update
fix: proper update of config file
2016-05-10 01:35:56 -07:00
Todd Gamblin
a1ebdf63f3 Merge pull request #812 from eschnett/eschnett/hdf5-check-install
Check the installed HDF5 library for consistency
2016-05-10 01:34:10 -07:00
Todd Gamblin
6c46a5d623 Merge pull request #807 from gartung/fftw-openmp
FFTW: openmp needs to be an option for clang build
2016-05-10 01:33:13 -07:00
Todd Gamblin
2a38ec4c93 Merge pull request #788 from citibeth/efischer/140416-UpdatePNetCDF
parallel-netcdf: Updated package
2016-05-10 01:31:57 -07:00
Todd Gamblin
57e495943f Merge pull request #757 from glennpj/extend_r
Make R extendable
2016-05-10 01:30:13 -07:00
Todd Gamblin
b1da3664ec Merge pull request #795 from adamjstewart/features/argcomplete
Add argcomplete python package
2016-05-10 01:29:08 -07:00
Todd Gamblin
87c772b117 Merge pull request #845 from davydden/openblas_cleanup_unit_test
openblas: fix a bug and cleanup the unit test
2016-05-10 01:28:49 -07:00
Todd Gamblin
ccccd7b60d Merge pull request #806 from davydden/openblas_openmp_clang
openblas: do not use OpenMP with Clang
2016-05-10 01:28:12 -07:00
Todd Gamblin
f21fcb3b88 Merge pull request #798 from jgalarowicz/osscbtf-changes
Update the main Krell Institute and Argo Navis Tech. packages for MPI…
2016-05-10 01:26:48 -07:00
Todd Gamblin
d2004a186c Merge pull request #825 from xjrc/packages/scotch
Update Package : Scotch
2016-05-10 01:26:21 -07:00
Todd Gamblin
69f6baf28e Merge pull request #842 from hegner/compiler_lookup_order
Bugfix - preserve lookup order in PATH when invoking 'spack compiler add'
2016-05-10 01:11:18 -07:00
Todd Gamblin
0f427ed334 Tweak nccmp to be more spack-compatible.
- Spack doesn't set F90, but it confuses the nccmp build.  Just remove
  it from the environment.

- TODO: should build environment unset this variable?
2016-05-10 01:07:34 -07:00
Todd Gamblin
1cc94a0f79 Merge branch 'efischer/160425-nccmp' of git://github.com/citibeth/spack into citibeth-efischer/160425-nccmp 2016-05-10 01:04:46 -07:00
Todd Gamblin
cbfba84aa2 Merge pull request #849 from brettviren/bugfix/share-pkgconfig
Add  to sub dirs checked for pkg-config files.
2016-05-10 00:59:01 -07:00
Todd Gamblin
1568e64f95 Merge pull request #862 from davydden/glib_libxcb_missing_dependencies
Glib libxcb missing dependencies
2016-05-10 00:57:27 -07:00
Todd Gamblin
5e471719a6 Merge pull request #907 from eschnett/eschnett/binutils-werror
Disable -Werror
2016-05-10 00:54:24 -07:00
Todd Gamblin
2fde72075f Merge pull request #918 from hegner/bugfix/bison
Add missing m4 dependency to bison
2016-05-10 00:54:04 -07:00
Todd Gamblin
e672e10219 Merge pull request #912 from citibeth/efischer/160506-NCO
nco: Added new package
2016-05-10 00:53:51 -07:00
Todd Gamblin
a996b8aa7f Merge pull request #919 from jppelteret/bugfix/gmsh-2
GMsh: Fix binary linking against its own libraries
2016-05-10 00:53:22 -07:00
Todd Gamblin
813fefbc71 Merge pull request #922 from bcouturi/gdbupdate
Added gdb 7.11 released on 24 Feb 2016
2016-05-10 00:53:00 -07:00
Todd Gamblin
e60f25f209 Move args to .coveragerc 2016-05-10 00:51:08 -07:00
Todd Gamblin
d3ade02c16 Make .style.yapf use 80 chars. 2016-05-10 00:51:08 -07:00
Todd Gamblin
81cb520b47 Make Travis badge use SVG. 2016-05-10 00:51:08 -07:00
Todd Gamblin
e9c83db42b Merge branch 'qa/coding_standard' of https://github.com/epfl-scitas/spack into epfl-scitas-qa/coding_standard 2016-05-10 00:50:45 -07:00
Todd Gamblin
e3115aa505 Kripke variants. 2016-05-10 00:31:06 -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
405b04efab Merge branch 'develop' of https://github.com/LLNL/spack into openmpi_variants 2016-05-10 08:40:26 +02:00
Denis Davydov
b063ab42bf openblas: fix and cleanup the unit test 2016-05-10 07:33:57 +02:00
Todd Gamblin
2e0ee5404d clean up Kripke package and dependencies. 2016-05-09 17:14:25 -07:00
Gregory Becker
c6ac709d70 WIP fixing all the things that broke when I changed the anonymous spec names 2016-05-09 17:06:21 -07:00
Todd Gamblin
92b7534885 Merge branch 'features/kripke' of git://github.com/tzislam/spack into tzislam-features/kripke 2016-05-09 17:00:47 -07:00
Tanzima Z. Islam
23ec6c6bb0 Removed FIXME comments 2016-05-09 16:34:27 -07:00
Gregory Becker
a7026da45c cleanup 2016-05-09 16:24:26 -07:00
Gregory Becker
222c84d9be Changed anonymous specs to have name=None instead of empty string 2016-05-09 16:22:17 -07:00
Tanzima Z. Islam
045e5bd458 Adding a new package: Kripke from the public tar ball 2016-05-09 16:22:07 -07:00
Adam J. Stewart
6665a996e6 Add documentation for rpath_flag handling 2016-05-09 17:04:14 -05:00
Adam J. Stewart
58733eb26a Comment change 2016-05-09 16:59:39 -05:00
Adam J. Stewart
b211829fb1 Testing typo 2016-05-09 16:59:39 -05:00
Adam J. Stewart
4473311bdb Allow compilers to specify their own rpath linking flags 2016-05-09 16:59:39 -05:00
Todd Gamblin
cbae98670b Merge pull request #882 from davydden/openmp_compiler_flag
Compiler::openmp_flag()
2016-05-09 14:42:37 -07:00
Joseph Ciurej
ceab445b9f Integrated improvements from PR #893 to remove hardcoded MPI path. 2016-05-09 14:39:42 -07:00
Joseph Ciurej
88d2f6b83a Enabled the '+esmumps' variant for 'scotch@:6.0.0'.
Added support for 'scotch@6.0.0'.
2016-05-09 14:19:42 -07:00
Joseph Ciurej
7e6be184bc Updated and fixed the Scotch package.
- Fixed a bug that was causing shared library usage to fail when linking with another application.
- Updated the repository URL to allow for more general version downloading.
- Added installation support for version 5.1.10b.
- Cleaned up the installation file to make it a bit easier to follow and modify.
2016-05-09 14:19:42 -07:00
Ben Couturier
3948b082ad Added gdb 7.11 2016-05-09 22:32:46 +02:00
Denis Davydov
7a2d65967c wrap tty.die to 80 chars 2016-05-09 22:04:34 +02:00
Jean-Paul Pelteret
970196d825 GMsh: Fix binary linking against its own libraries
GMsh binary now links against full path name of libraries. This fixes
problems, such as `dyld: Library not loaded: libGmsh.2.11.dylib`, when
running the executable.
2016-05-09 14:23:07 +02:00
Benedikt Hegner
6e07f46df8 add missing m4 dependency to bison 2016-05-09 14:02:41 +02:00
Todd Gamblin
73107d6b0f cleanup 2016-05-09 03:40:34 -07:00
Todd Gamblin
0c853ac3ea Make _hash private to discourage access; fix dag_hash length handling. 2016-05-09 03:39:08 -07:00
Todd Gamblin
7151fd8836 Restore cc from mainline; clean up some cflags stuff. 2016-05-09 03:37:27 -07: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
Todd Gamblin
ea408cc0d0 Merge pull request #911 from castillo23/packages/crypto
add support for crypto version 5.6.1
2016-05-08 14:40:21 -07:00
Todd Gamblin
7145b72482 Merge pull request #914 from trws/packages-leading-to-neovim
pile of dependencies for neovim, including luajit and libuv
2016-05-08 14:37:51 -07:00
Todd Gamblin
bd63545b0c Merge pull request #913 from trws/mpi-should-have-pmi
add pmi support and process managers to the MPIs
2016-05-08 14:36:38 -07:00
Todd Gamblin
e2f390c5da Merge pull request #916 from jppelteret/bugfix/gmsh
Prevent GMsh from installing in custom prefix on OSX
2016-05-08 14:35:50 -07:00
Jean-Paul Pelteret
95c7f4fba3 Fixes #915 2016-05-08 16:53:31 +02:00
Denis Davydov
72b91758c9 openblas: raise an error when using +openmp with clang; set +openmp to false by default 2016-05-08 16:51:06 +02:00
Brett Viren
f1900f6a7b Add a 'print' view allowing genreation of arbitrary strings based on format using package/spec parameters. 2016-05-08 10:25:21 -04:00
Brett Viren
2d1430da13 Address all coments in @trws's latest comment in PR #869.
I addressed them by factoring the code better to follow the visitor
pattern.  This will allow actions to be easily added in the future.
These may not even be file sytsem views.  One could add actions to
generate shell init scripts, JSON DAG-dumpers, GraphViz DOT file
generators, etc (yes, some of these are alread in there - just to give
the idea).

Also added is a top-level test

 $ source share/spack/setup-env.sh
 $ ./share/spack/examples/test_view.sh

Read the top of that script first.
2016-05-07 18:24:24 -04: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
Gregory Becker
d392056457 Cleaning up print statements for debugging 2016-05-06 18:05:30 -07:00
Gregory Becker
1523ebe9f7 Working properly to display but not reuse old specs from yaml 2016-05-06 18:03:43 -07:00
Tom Scogland
22afc6dadd pile of dependencies for neovim, including luajit and libuv 2016-05-06 15:33:26 -07:00
Tom Scogland
7ec28231d9 Merge pull request #906 from adamjstewart/features/xerces-c
Remove FIXME comments
2016-05-06 15:30:09 -07:00
Tom Scogland
1de110fbba Merge pull request #794 from adamjstewart/features/jpeg
Add latest jpeg version
2016-05-06 15:20:43 -07:00
Tom Scogland
7dbf6f97f6 Merge pull request #841 from eschnett/eschnett/hwloc
Update hwloc to 1.11.3
2016-05-06 15:19:16 -07:00
Tom Scogland
1cf2526a79 Merge pull request #865 from davydden/silver_searcher_dependencies
the_silver_searcher: add missing dependency
2016-05-06 15:18:50 -07:00
Tom Scogland
86449790fe add pmi support and process managers to the MPIs 2016-05-06 15:15:40 -07:00
Elizabeth Fischer
c82db2116b nco: Added new package 2016-05-06 17:42:42 -04:00
Cecilia W. Castillo
7bf724b1d3 add support for crypto version 5.6.1 2016-05-06 14:14:13 -07:00
Tanzima Z. Islam
9f212e7201 Adding a new package file for Kripke 2016-05-06 13:50:34 -07:00
Gregory Becker
06b9433351 Fixed previous commit 2016-05-06 12:35:43 -07:00
Gregory Becker
bc087cfefb Fixed database to account for hashes when reading install records 2016-05-06 12:28:46 -07:00
Gregory Becker
9f37e4c907 Made spec hashes immutable once concrete -- improved 2016-05-06 12:05:51 -07:00
Gregory Becker
addcde4f35 Made spec hashes immutable once concrete 2016-05-06 12:05:27 -07:00
Gregory Becker
2f821b9e9b temp 2016-05-05 18:13:56 -07:00
Erik Schnetter
db80c5e97e Disable -Werror
This leads to problems if new compiler versions report new kinds of warnings.
2016-05-05 21:11:54 -04:00
Gregory Becker
9a39ccea8f Every old spec has empty compiler flags 2016-05-05 17:49:30 -07:00
Gregory Becker
1bb7bfaf7f Versioning the database -- automatic reindex 2016-05-05 17:38:51 -07:00
Gregory Becker
3fc1344865 temp 2016-05-05 17:11:09 -07:00
Gregory Becker
11b62114bb versioning the database 2016-05-05 16:58:00 -07:00
Gregory Becker
44f089508b Changed other packages to fit new syntax 2016-05-05 15:40:22 -07:00
Gregory Becker
d45b2c7947 Fixed openssl to work with new syntax 2016-05-05 15:36:48 -07:00
Elizabeth Fischer
6a48385111 Keep users environment in the spack setup script (spconfig.py). This is important to avoid breaking things that require module loads to work; for example, non-activate Python packages. 2016-05-05 17:48:24 -04:00
Adam J. Stewart
1203a14563 Remove tutorial comments 2016-05-05 14:01:21 -05:00
Todd Gamblin
9fb1a9537d Merge branch 'develop' into features/cflags 2016-05-05 10:49:15 -07:00
Todd Gamblin
407920e40a Merge pull request #904 from robertdfrench/bbcp
BBCP
2016-05-05 10:39:32 -07:00
Robert D. French
18d2b28c49 Build and install BBCP
Build and install BBCP

Use correct destination for install
2016-05-05 10:58:24 -04:00
Denis Davydov
c37ea9aff5 document usage of compiler flags properties 2016-05-05 11:56:58 +02:00
Denis Davydov
f84f04591b substitute cxx14_flag by a property with the same name to be overridden in derived classes 2016-05-05 10:48:31 +02:00
Denis Davydov
c6fb6bde40 remove cxx11_flag from Compiler as it is now substituted by a property with the same name 2016-05-05 10:47:02 +02:00
Denis Davydov
ddcb97f953 add a temporary Nag.cxx11_flag property 2016-05-05 10:44:41 +02:00
Denis Davydov
473a5542be compiler: make default openmp_flag() and cxx11_flag() die when these properties are not implemented in a derived class 2016-05-05 10:44:41 +02:00
Denis Davydov
30b65d3114 fix comment in Compiler class 2016-05-05 10:44:41 +02:00
Denis Davydov
e28ca3922f compiler: cleanup Nag.cxx11_flag and Pgi.cxx11_flag 2016-05-05 10:44:41 +02:00
Denis Davydov
d5a760776a compiler: add default implementation of openmp_flag() and css11_flag() 2016-05-05 10:44:41 +02:00
Denis Davydov
6a418cfb8d compiler: simplify Clang.is_apple 2016-05-05 10:44:41 +02:00
Denis Davydov
f2f1c49c90 compilers: one more missing import statement 2016-05-05 10:44:41 +02:00
Denis Davydov
07fd0ccc9a compiler: add Clang.is_apple property which checks if Clang is from Apple or not using version 2016-05-05 10:44:41 +02:00
Denis Davydov
592045cd54 compilers: make Intel::openmp_flag() return -openmp and -qopenmp based on the compiler version 2016-05-05 10:44:41 +02:00
Denis Davydov
3cd3052c56 compilers: minor fixes to Clang::cxx11_flag() and Clang::openmp_flag() 2016-05-05 10:44:41 +02:00
Denis Davydov
c078deaab1 compilers: add missing import statements 2016-05-05 10:44:41 +02:00
Denis Davydov
9776dc0433 compilers: add openmp_flag() method 2016-05-05 10:44:41 +02:00
Denis Davydov
2cdfe14e5a compilers: make sure cxx11_flag() is defined for all compilers 2016-05-05 10:44:41 +02:00
Todd Gamblin
13e52962ee Merge pull request #802 from gartung/std-cpp14
Handle c++11 and c++14 correctly
2016-05-05 01:41:55 -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
c3bc4d6195 mpich: remove module.mpicc as no formula is using it and it is a duplicate of self.spec.mpicc 2016-05-05 10:28:04 +02:00
Denis Davydov
b12fb7ebc8 mpi: move mpicc/mpicxx/mpifc/mpif77 to setup_dependent_package() 2016-05-05 10:24:32 +02:00
Todd Gamblin
56557f7ff6 Merge pull request #871 from davydden/dealii_updated_dependencies
dealii: add new dependency -- gsl
2016-05-05 01:00:55 -07:00
Todd Gamblin
4ee1bca1d9 Merge pull request #881 from KineticTheory/pkg-superlu-dist
+ Add version 5.0 download for SuperLU_DIST.
2016-05-05 00:57:24 -07:00
Todd Gamblin
c6a7af3fa7 Merge pull request #885 from davydden/p4est_test_option
p4est: put back +tests variant
2016-05-05 00:53:58 -07:00
Todd Gamblin
d00680a883 Merge pull request #886 from eschnett/eschnett/openblas-make
Disable OpenBLAS's overriding of our "make -jN" option
2016-05-05 00:53:47 -07:00
Todd Gamblin
c7f23ca0d6 Merge pull request #887 from adamjstewart/features/openmpi
Re-add hwloc as a dependency of openmpi
2016-05-05 00:53:10 -07:00
Todd Gamblin
d0acc9827a Merge pull request #884 from davydden/libtool_missing_dependency
libtool: add a missing dependency
2016-05-05 00:52:39 -07:00
Todd Gamblin
c1010c3422 Merge pull request #889 from adamjstewart/features/netcdf
Remove hdf5 ~cxx constraint on netcdf
2016-05-05 00:51:49 -07:00
Todd Gamblin
1181ad2bf0 Merge pull request #891 from adamjstewart/features/gcc
Add latest version of GCC
2016-05-05 00:51:05 -07:00
Todd Gamblin
053e687e79 Merge pull request #800 from eschnett/eschnett/qthreads
Add some qthreads patches
2016-05-05 00:49:32 -07:00
Todd Gamblin
7ac8ddde96 Merge pull request #897 from robertdfrench/https-urls-for-subversion
Build Subversion with HTTP/S support
2016-05-05 00:20:59 -07:00
Todd Gamblin
3dd5b2845b Merge pull request #900 from eschnett/eschnett/flex
Update Flex to 2.6.0
2016-05-05 00:11:50 -07:00
Todd Gamblin
55f1cafb70 Merge pull request #899 from LLNL/bugfix/github-808-mrnet
added git commit for clang support
2016-05-05 00:11:19 -07:00
Gregory Becker
90b7b7ba5c Reworked compiler finding/storing/format to allow for multiple compilers with the same spec for different operating systems. TODO: fix config tests. All others up to date 2016-05-04 21:42:59 -07:00
Elizabeth F
2243de9e2f Make quiet mode default for spack spconfig 2016-05-04 23:39:27 -04:00
Dhanannjay 'Djay' Deo
ef202fbe0c Build static and shared libraries for silo 2016-05-04 22:50:15 -04:00
Dhanannjay 'Djay' Deo
45e77e7739 Correctly extend std_cmake_args 2016-05-04 22:49:47 -04:00
Todd Gamblin
076ed08bdd Merge pull request #890 from adamjstewart/features/openssl
Add latest OpenSSL versions
2016-05-04 19:16:21 -07:00
Dhanannjay 'Djay' Deo
1785de0f31 remove hdf5 which is silo actually a silo dependency 2016-05-04 22:08:01 -04:00
Erik Schnetter
27de2a42d9 Update Flex to 2.6.0 2016-05-04 20:27:58 -04:00
Greg Lee
514a8c737a added git commit for clang support 2016-05-04 16:38:43 -07:00
Dhanannjay 'Djay' Deo
32f7b06a36 Add version 2.10.2 2016-05-04 18:14:38 -04:00
Patrick Gartung
67d64b804f more succinctly 2016-05-04 23:53:10 +02:00
Robert.French
bfe009f98d Subversion uses serf for http repos
Add Scons package

Add serf package

Subversion uses serf for http repos
2016-05-04 16:16:36 +00:00
Denis Davydov
796bf5f85c mvapich2: add self.spec.[mpicc|mpicxx|mpifc|mpif77] 2016-05-04 17:33:19 +02:00
Patrick Gartung
7eb463a66e only fail when it is apples clang 2016-05-04 15:05:56 +02:00
Denis Davydov
f417b1cf90 p4est: use mpicc,mpicxx,mpifc,mpif77 compiler variables instead of hardcoding names 2016-05-04 11:51:45 +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
88fa9084e2 Add latest version of GCC 2016-05-03 15:58:14 -05:00
Adam J. Stewart
a3d2d0cd22 Add latest OpenSSL versions 2016-05-03 15:44:23 -05:00
Adam J. Stewart
eaa45d8a9a Remove hdf5 ~cxx constraint on netcdf 2016-05-03 13:28:38 -05:00
Kelly (KT) Thompson
f4260da1c2 Mark SuperLU_DIST version 4.3 as the preferred version since petsc and trilinos are not tested with 5.0. 2016-05-03 12:05:35 -06:00
David Poliakoff
f850e4d2d4 Merge pull request #880 from DavidPoliakoff/feature/package/cnmem
Feature/package/cnmem
2016-05-03 11:02:17 -07:00
Adam J. Stewart
51c6867f72 Re-add hwloc as a dependency of openmpi 2016-05-03 10:30:35 -05:00
Erik Schnetter
40d578be95 Disable OpenBLAS's overriding of our "make -jN" option 2016-05-03 10:38:05 -04:00
Denis Davydov
0583bc9859 p4est: put back +tests variant 2016-05-03 16:21:10 +02:00
Denis Davydov
98f8192bde libtool: add a missing dependency 2016-05-03 15:15:55 +02:00
Kelly (KT) Thompson
89621faaea + Add version 5.0 download for SuperLU_DIST. 2016-05-02 20:21:03 -06:00
David Poliakoff
e74cc0df27 Updated docstring 2016-05-02 15:53:43 -07:00
David Poliakoff
afef04bb54 Added cnmem package` 2016-05-02 15:49:37 -07:00
Todd Gamblin
60048c6550 Merge pull request #879 from DavidPoliakoff/feature/package/raja
Added a package for the RAJA system
2016-05-02 15:18:23 -07:00
David Poliakoff
179d308fe0 Added a package for the RAJA system 2016-05-02 14:32:57 -07:00
Todd Gamblin
372a455bea Merge pull request #873 from jppelteret/bugfix/paradiseo
Add extra dependencies for Paradiseo
2016-05-02 09:57:30 -07:00
Todd Gamblin
aa7444cd3d Merge pull request #870 from jppelteret/bugfix/glm
Add missing dependency for glm
2016-05-02 09:57:11 -07:00
Todd Gamblin
4fecf33416 Merge pull request #877 from vishalkenchan/develop
bugfix: missing dependencies (m4) added for netcdf and autoconf
2016-05-02 09:56:44 -07:00
Denis Davydov
2eb4248f90 dealii: fix a bug where P4EST_DIR was unconditionally requested 2016-05-02 18:53:13 +02:00
Denis Davydov
cde1d18399 dealii: add new dependency -- gsl 2016-05-02 18:53:13 +02:00
Todd Gamblin
999dda8f83 Merge pull request #708 from adamjstewart/fixes/qt
Prevent use of system GTK+
2016-05-02 09:41:51 -07:00
Todd Gamblin
568800c045 Merge pull request #875 from jppelteret/features/adol-c
Added Adol-C package
2016-05-02 09:30:23 -07:00
Adam J. Stewart
7255f6969b Merge branch 'develop' into features/argcomplete 2016-05-02 11:29:52 -05:00
Adam J. Stewart
17fa1b5007 Un-fix version 3 2016-05-02 11:28:20 -05:00
Adam J. Stewart
61e5ee5d63 Prevent use of system GTK+ 2016-05-02 11:28:20 -05:00
Massimiliano Culpo
cfc25d0a92 Merge branch 'develop' into openmpi_variants 2016-05-02 18:26:05 +02:00
Adam J. Stewart
9c3d8dae57 Add latest jpeg version 2016-05-02 11:17:38 -05:00
Todd Gamblin
6dad59cb92 Merge pull request #810 from adamjstewart/features/hydra
Add hydra package
2016-05-02 09:16:54 -07:00
Adam J. Stewart
4e2154e58f Add argcomplete python package 2016-05-02 11:16:29 -05:00
Adam J. Stewart
c110865bf2 Remove OpenMPI dependency on hwloc 2016-05-02 11:06:33 -05:00
Adam J. Stewart
b99c8b641a Add hydra package 2016-05-02 11:06:33 -05:00
Vishal Boddu
e111add17f missing dependencies (m4) added for netcdf and autoconf 2016-05-02 14:31:02 +02:00
Jean-Paul Pelteret
5ae7276682 Fixes to installation with OpenMP (tested) and execution of test-suite 2016-05-02 11:01:14 +02:00
Brett Viren
26c5bc9d97 A few minimal test packages, fodder for testing 'spack view' command. 2016-05-01 17:13:44 -04:00
Brett Viren
346f102234 Bug fixes, tty tweaks. 2016-05-01 17:13:44 -04:00
Brett Viren
8c140f4725 Change the action from parameter to subcommand to fit Spack convention. 2016-05-01 17:13:43 -04:00
Jean-Paul Pelteret
631e235ef3 Added Adol-C package 2016-05-01 11:07:42 +02:00
Jean-Paul Pelteret
c33ffbae04 Add extra dependencies for Paradiseo. 2016-04-30 22:25:14 +02:00
Patrick Gartung
83108f815c Error out if +openmp used with OS X clang 2016-04-30 13:18:32 -05:00
Patrick Gartung
f8c14e1d98 Make openmp variant false by default. 2016-04-30 13:18:32 -05:00
Patrick Gartung
a588a1fd84 openmp needs to be an option for clang build 2016-04-30 13:18:32 -05:00
jppelteret
11596ec0f8 Merge branch 'develop' into bugfix/glm 2016-04-30 16:22:32 +02:00
Jean-Paul Pelteret
8fc43046eb Add missing dependency for glm 2016-04-30 12:11:10 +02:00
Brett Viren
a2b9a000dc Add add removal and status actions in addition to link and add various ways to filter what is done. 2016-04-29 15:12:09 -04:00
Todd Gamblin
c926214640 Merge pull request #867 from trws/cd-fix
switched test to use -d for location check
2016-04-29 09:56:21 -07:00
Tom Scogland
584501a1cc switched test to use -d for location check 2016-04-29 09:34:18 -07:00
Denis Davydov
3ad71700dd the_silver_searcher: add missing dependency 2016-04-29 09:52:49 +02:00
Denis Davydov
176b9febb4 libxcb: add missing dependencies 2016-04-29 09:06:15 +02:00
Denis Davydov
17f696d3b3 glib: add missing dependencies 2016-04-29 09:05:54 +02:00
becker33
3c10e3b502 Merge pull request #861 from trws/cd-fix
check that a target directory exists before committing to cd
2016-04-28 15:49:38 -07:00
Tom Scogland
10d8ed4d98 check that a target directory exists before committing to cd 2016-04-28 15:43:05 -07:00
Gregory Becker
4ba73dac34 Unit tests for cflags PR 2016-04-28 14:01:38 -07:00
Todd Gamblin
8cd13d4b35 Make arch command print out the platform. 2016-04-28 12:49:21 -07:00
Brett Viren
49956faab9 First try to make file system views of specs. 2016-04-28 14:54:14 -04:00
Gregory Becker
3b84345b77 Changed yaml format for node_dicts to mitigate future incompatibilities 2016-04-28 11:05:59 -07:00
Todd Gamblin
1b731e525f Merge pull request #703 from epfl-scitas/fixes/openssl_external
fix : no warning when installing 'openssl@external'
2016-04-28 10:25:35 -07:00
Todd Gamblin
c35994d5bf Merge pull request #850 from mathstuf/partial-downloads
fetch_strategy: download to temporary files
2016-04-28 10:22:43 -07:00
Todd Gamblin
b75a3e112b Merge pull request #855 from citibeth/efischer/160427-OpenblasFix
openblas: Added +fpic variant to package.
2016-04-28 10:19:36 -07:00
Gregory Becker
ae5198e5e7 Merged in current develop to cflags 042716 2016-04-27 19:38:51 -07:00
Elizabeth F
4d466fe879 spack setup: Fix broken module convenience settings. 2016-04-27 20:57:04 -04:00
Elizabeth F
71ca837ada Add '+fpic' variant. 2016-04-27 20:36:41 -04:00
Todd Gamblin
8773a0b747 Merge pull request #847 from epfl-scitas/features/test_install_with_time
test-install command : added elapsed time + xml is prettyprinted
2016-04-27 17:32:21 -07:00
Todd Gamblin
8617ceddf3 Merge pull request #857 from citibeth/eficher/160427-HDF-NetCDF
hdf5: Set preferred version, so as to not break NetCDF (for now).
2016-04-27 16:16:07 -07:00
Elizabeth F
62d806d512 hdf5: Set preferred version, so as to not break NetCDF (for now). 2016-04-27 19:03:26 -04:00
Elizabeth F
ee6a75c9b5 Added missing -lpthread to OpenBLAS check.
See: https://github.com/xianyi/OpenBLAS/wiki/faq#static_link
2016-04-27 18:44:54 -04:00
Ben Boeckel
e53571d2f0 fetch_strategy: download to temporary files
This supports graceful recovery if spack is killed via a signal (e.g.,
SIGINT) while downloading a file.

Fixes #287.
2016-04-27 14:49:27 -04:00
Brett Viren
b5ebd12fe2 Add to sub dirs checked for pkg-config files.
This lets me build against the pure-include package Eigen.
2016-04-27 13:45:05 -04:00
Massimiliano Culpo
b1ba869b37 test-install : fixed error in logic exposed by tests 2016-04-27 19:28:13 +02:00
Massimiliano Culpo
4846ab70d8 test-install : python 2.6 compatibility 2016-04-27 18:21:36 +02:00
Massimiliano Culpo
ec5bb88820 test-install : unit tests (hopefully) fixed for real 2016-04-27 18:06:41 +02:00
alalazo
42fab1591d test-install : fixed unit tests 2016-04-27 17:19:03 +02:00
alalazo
12dbd65f4c test-install : first draft that works 2016-04-27 13:56:32 +02:00
Benedikt Hegner
b7c064142e preserve lookup order in PATH when invoking 'spack compiler add' 2016-04-27 01:23:53 +02:00
Todd Gamblin
92afa52eec Merge pull request #804 from jppelteret/features/paradiseo
Added package for Paradiseo.
2016-04-26 13:00:09 -07:00
Todd Gamblin
d1a9328793 Merge pull request #824 from adamjstewart/features/ior
Add IOR benchmark package
2016-04-26 12:48:57 -07:00
Erik Schnetter
55d339194d Update hwloc to 1.11.3 2016-04-26 15:29:16 -04:00
Todd Gamblin
1d2916da8c Merge pull request #829 from davydden/openblas_unit_test
openblas: a small unit test to make sure Lapack symbols are compiled
2016-04-26 10:47:35 -07:00
Todd Gamblin
7fc69a6b51 Merge pull request #838 from davydden/dealii_dependencies
dealii: add missing dependencies
2016-04-26 10:34:00 -07:00
Todd Gamblin
237c843621 Merge pull request #837 from davydden/p4est_dependencies
p4est: add missing dependencies
2016-04-26 10:33:46 -07:00
Todd Gamblin
ef0fefc506 Merge pull request #836 from davydden/astyle_fix
astyle: fix installation of the binary
2016-04-26 10:33:24 -07:00
Todd Gamblin
9fb514ff81 Merge pull request #828 from glennpj/csvkit
Add py-csvkit package
2016-04-26 10:32:27 -07:00
Glenn Johnson
dfc0efa8ed Put f2py of py-numpy in python ignore list. (#827)
There are many python packages that depend on py-numpy. Each one of
those will have a copy of f2py that will need to be put in the ignore
list for activation. Thise PR adds f2py to the ignore list in the python
package.py file so that it does not have to be done for each package
that depends on py-numpy. This follows the model of what is done for
py-setuptools.

This PR also removes the f2py ignore expression for python packages
that were using it as it is no longer needed in the individual packages.
2016-04-26 10:32:14 -07:00
Glenn Johnson
b56bfcea96 Add the turbomole package. (#826)
* Add the turbomole package.
This package has three modes of operation that need to be selected
independently. This is handled with spack vaiants. Turbomole has a builtin MPI
implementation so it does not need to depend on an mpi provider when using the
+mpi variant.

* Whitespace cleanup.
2016-04-26 10:31:48 -07:00
Joseph Ciurej
8ec5e81186 Update Package : Zoltan (#833)
* Added preliminary implementations for the debug and shared variants.

* Fixed a few problems with the '+shared' variant of the Zoltan package.
Added support for a few more important Zoltan package versions.

* Fixed a minor compiler incompatibility issue with the '+shared+mpi' variants.
2016-04-26 10:24:36 -07:00
jppelteret
8e227f603d Fix: Add missing dependencies for gmp and eigen (#830)
See https://groups.google.com/forum/#!topic/spack/9JMDwafjBUs
2016-04-26 10:01:09 -07:00
Ben Boeckel
603467785b Compiler find docs (#831)
* docs: mention `spack compiler find`

* docs: fix some weird wording.
2016-04-26 10:00:54 -07:00
Geoffrey Oxberry
f70046e6b7 MFEM version 3.1 (#749)
MFEM is a free, lightweight, scalable C++ library for finite element
methods.

Includes lapack, hypre, metis, suite-sparse, mpi variants & tests for
serial and parallel versions.
2016-04-26 10:00:24 -07:00
alalazo
99b52e6e71 test-install : wip to add other information 2016-04-26 16:41:33 +02:00
Denis Davydov
0ff4120692 dealii: add missing dependencies 2016-04-26 15:06:21 +02:00
Denis Davydov
8a45aa4185 p4est: add missing dependencies 2016-04-26 12:52:49 +02:00
Denis Davydov
168f9c46ea astyle: fix installation of the binary 2016-04-26 09:18:39 +02:00
Jean-Paul Pelteret
17b7305086 Added package for Paradiseo. 2016-04-26 09:12:27 +02:00
Elizabeth Fischer
1a585a6c74 Added nccmp package 2016-04-25 22:25:08 -04:00
Denis Davydov
dd37959899 output with new lines 2016-04-25 16:21:19 +02:00
Ben Boeckel
ff9145f8a5 executable: quote arguments
This allows command line arguments with spaces to be shown. The quoting
madness is because a single quote cannot appear within a single quoted
argument on the command line. To do so, you have to stop the single
quote argument, double quote the single quote, then open the single
quote again:

    $ echo 'before'"'"'after'
    before'after

Fixes #174
2016-04-25 09:44:17 -04:00
Denis Davydov
42be50d10b add a test/output pair 2016-04-25 13:53:41 +02:00
Denis Davydov
b81cb554f5 openblas: a small unit test to make sure Lapack symbols are compiled 2016-04-25 13:30:20 +02:00
Glenn Johnson
2b7b7f6d97 Reformat description text. 2016-04-24 18:11:18 -05:00
Glenn Johnson
4e671c54ee Reformat the description. 2016-04-24 18:06:51 -05:00
Glenn Johnson
797af2e80f Add py-csvkit package
This adds the py-csvkit package and needed dependencies for working with
csv files.
2016-04-24 17:39:49 -05:00
Adam J. Stewart
a7ffffc336 Change homepage, explicitly disable 2016-04-24 17:14:33 -05:00
Ben Boeckel
ed16bd133a compiler: add "find" subcommand (#818)
And make "add" an alias to it.

Fixes #713.
2016-04-23 13:34:51 -07:00
Adam J. Stewart
22e4ee5604 Add OSU Micro-Benchmarks package (#822)
* Add OSU Micro-Benchmarks package

* Add workaround for GCC bug
2016-04-23 13:29:47 -07:00
Ben Boeckel
e32416430c Update git (#819)
* git: update to 2.8.0 final and add 2.8.1

* git: hard-depend on curl and expat

HTTP-based cloning is very prevalent now.
2016-04-23 12:18:58 -07:00
Elizabeth Fischer
248248c6b2 Added package: NCView (#791)
* ncview: Added package

* Removed FIXMEs
2016-04-23 12:15:53 -07:00
Erik Schnetter
4e062d86b4 Refine wget's OpenSSL configuration options (#786) 2016-04-23 12:15:32 -07:00
Joseph Ciurej
d701d2ccf3 Updated the Swig package file to include versions for all of the popular Swig releases. (#790) 2016-04-23 12:15:14 -07:00
Glenn Johnson
62d175c984 This commit explicitly sets libdir. This is necessary because different
systems use different defaults.
2016-04-23 12:30:34 -05:00
Erik Schnetter
0cbaecca60 Don't use subprocess module 2016-04-22 21:52:11 -04:00
Adam J. Stewart
e7d2fa7084 Add IOR benchmark package 2016-04-22 12:30:24 -05:00
alalazo
67a01ef2ee tcl : extended conflict to be an array of strings 2016-04-22 10:50:24 +02:00
Todd Gamblin
fa02f94ca4 Regression test for not adding RPATHs with ld -r (#809, #821)
- ld -r is only broken with rpaths on OSX; this tests that
  specific case.

- test should still work cross-platform.
2016-04-21 23:12:33 -07:00
Ben Boeckel
5c4bb69af9 xerces-c: update to 3.1.3 (#811)
The 3.1.2 tarball seems to have gone missing. Also switch to using bz2
rather than gz to reduce the download size.
2016-04-21 19:29:20 -07:00
Denis Davydov
a0989ad672 minor cleanup of environment-modules documentation (#814)
* minor cleanup of environment-modules documentation

* environment modules: update usage instructions
2016-04-21 19:26:19 -07:00
Denis Davydov
ef9347bcfb dealii: set DEAL_II_DIR when loading a module (#816) 2016-04-21 19:25:17 -07:00
Patrick Gartung
d5d1e89cbd remove use of unknown environment variable in lib/spack/env/cc (#821) 2016-04-21 19:15:54 -07:00
Erik Schnetter
867e1333d0 Remove outdated comment 2016-04-20 17:01:26 -04:00
Erik Schnetter
7c155f7456 Check the installed HDF5 library for consistency 2016-04-20 16:33:59 -04:00
Adam Lyon
e92da6a6ba Handle c++11 and c++14 correctly 2016-04-19 16:52:08 -05:00
Erik Schnetter
1acb2a1a09 Add some qthreads patches 2016-04-19 16:45:05 -04:00
alalazo
5deaaa278c modules : added a few unit tests 2016-04-19 14:25:12 +02:00
Jim Galarowicz
44321c5c24 Update the main Krell Institute and Argo Navis Tech. packages for MPI variant support, get source from github not sourceforge, tested external package usage, and general package clean-up 2016-04-18 16:46:15 -07:00
alalazo
bce276d573 fix : missing autoload, failing validation 2016-04-18 17:51:53 +02:00
alalazo
50b148ca22 modules : tcl modules handle 'conflict' directive. This should completely cover the functionality in #498 2016-04-18 13:22:50 +02:00
alalazo
18a241fe21 modules : added hook for module specific extensions 2016-04-18 13:22:31 +02:00
alalazo
c69acfa5c8 naming work correctly 2016-04-18 13:22:04 +02:00
alalazo
00f44d558a modules : started working on naming schemes and conflict 2016-04-18 13:21:41 +02:00
Kelly Thompson
dd84a57580 + On some systems, Dia also requires intltool. (#768) 2016-04-17 07:15:47 +02:00
Ben Boeckel
63bade7a0c metis: fix OS X install (#764)
Without this, the binaries use relative paths for loading which causes
them to not be found when running binaries. Not sure why the existing
hack wasn't working, but this fixes it the proper way.
2016-04-17 07:15:07 +02:00
Erik Schnetter
375de085e2 Make PAPI build on Darwin (#772)
* Make PAPI build on Darwin

- don't use <malloc.h>
- run install_name_tool

* Use fix_darwin_install_name
2016-04-17 07:14:34 +02:00
Erik Schnetter
fb4f361cd0 Update to version 4.1.0 (#785) 2016-04-17 07:12:52 +02:00
Kelly Thompson
523be30974 + Add CMake version 3.5.2. (#787) 2016-04-17 07:11:19 +02:00
Erik Schnetter
a25e33d96e Create lib directory 2016-04-17 06:50:15 +02:00
Elizabeth F
e03e87b791 1. Added variants to choose language interfaces. 2. Now produces relocatable code (+fpic) by default 2016-04-16 00:57:57 -04:00
alalazo
c005b5fe9c Added coverage badge pointing to LLNL/develop 2016-04-15 09:24:44 +02:00
alalazo
93c22dd978 Merge branch 'develop' of https://github.com/LLNL/spack into qa/coding_standard 2016-04-15 09:19:41 +02:00
Todd Gamblin
69f8d8fa7a Merge pull request #783 from adamjstewart/features/elk
Add Elk package
2016-04-14 18:34:03 +02:00
Adam J. Stewart
cf1914fc00 Also install species directory 2016-04-14 10:18:06 -05:00
Todd Gamblin
a73b7052c9 Merge branch 'osx-fixes' of git://github.com/mathstuf/spack into mathstuf-osx-fixes 2016-04-14 15:25:24 +02:00
Todd Gamblin
9e456acbab Merge pull request #779 from LLNL/bugfix/binutils-deps
binutils depends on flex and bison.
2016-04-14 15:23:35 +02:00
Todd Gamblin
01fab24c15 binutils depends on flex, bison, and m4 2016-04-14 11:47:35 +02:00
Todd Gamblin
d6a232dbe0 Merge pull request #767 from mathstuf/paraview-fixes
Paraview fixes
2016-04-14 11:29:46 +02:00
Todd Gamblin
f8543f7755 Merge pull request #780 from adamjstewart/fixes/hdf5
fortran2003 option has been removed from HDF5
2016-04-14 11:20:11 +02:00
Todd Gamblin
420a61491d Merge pull request #781 from jgalarowicz/qt3-fixes
Fix compile issues with new libpng versions and qt3 builds by using a…
2016-04-14 09:46:58 +02:00
Todd Gamblin
2bffd569d7 Merge pull request #782 from jgalarowicz/update-mrnet
Update mrnet with new version source recognition and add krell related patch controlled by a variant.
2016-04-14 09:45:40 +02:00
Jim Galarowicz
f9aafeee1e Loosen the boost requirement from a specific version that was specified in my initial commit. 2016-04-13 21:58:57 -07:00
Jim Galarowicz
2cf9ebc62c Fix compile issues with new libpng versions and qt3 builds by using an older version of libpng. In libpng, make older versions available. 2016-04-13 15:00:45 -07:00
Adam J. Stewart
5717cb981e fortran2003 option has been removed from HDF5 2016-04-13 15:03:03 -05:00
alalazo
1b4c4be151 modules : category is a single word (as I am not sure how dotkit will react to spaces) 2016-04-13 12:44:51 +02:00
Todd Gamblin
2fe9bfcd82 Merge pull request #773 from eschnett/eschnett/julia
Update Julia
2016-04-13 12:02:19 +02:00
alalazo
c422ce7c1d modules : added doc strings, fixed minor style issues, filtered from dependencies blacklisted modules 2016-04-13 11:26:22 +02:00
alalazo
fcd58a95dd Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-04-13 10:49:00 +02:00
Todd Gamblin
c96dd43174 Merge pull request #776 from adamjstewart/features/pnetcdf
Add latest version of PnetCDF
2016-04-13 01:29:37 +02:00
Tom Scogland
a138196a6c Merge pull request #777 from trws/setuptools-20.7
add setuptools version 20.7.0
2016-04-12 16:06:06 -07:00
Tom Scogland
04392babca add setuptools version 20.7.0 2016-04-12 15:59:20 -07:00
Todd Gamblin
7acc7c4dae Merge pull request #712 from Rombur/fix_pysetuptools
Replace py-setuptools version 20.5 by version 20.6.7
2016-04-13 00:54:51 +02:00
Adam J. Stewart
abe744c5a0 Add latest version of PnetCDF 2016-04-12 16:53:45 -05:00
Adam J. Stewart
01f2dd03d5 Also install examples directory 2016-04-12 16:51:27 -05:00
Todd Gamblin
73fb2345fc Merge pull request #766 from mplegendre/bugfix/tmpdir_with_username
Spack was no longer using $TMPDIR for its stage area at LLNL.
2016-04-12 19:05:47 +02:00
alalazo
27280ea8be fix : added regression tests 2016-04-12 17:28:23 +02:00
alalazo
80678b2188 fix : proper update of config file (before it was discarding architectures that were not the current one) fixes #774 2016-04-12 16:54:51 +02:00
alalazo
41f365112c modules : added provenance comment in tcl header 2016-04-12 09:13:50 +02:00
Adam J. Stewart
cb6c6fb374 Add elk package 2016-04-11 16:28:30 -05:00
Erik Schnetter
882e2e42cf Merge branch 'develop' into eschnett/julia 2016-04-11 15:40:27 -04:00
alalazo
3959ca6270 modules : added possibility to blacklist or whitelist module files 2016-04-11 18:10:06 +02:00
alalazo
0e2b1359e3 modules : fixed bug preventing the creation of modulefiles autoloading only direct dependencies 2016-04-11 11:01:47 +02:00
Massimiliano Culpo
a5a5dbc408 tcl module file : added new-lines in autoload (per @glennpj bug report) 2016-04-10 13:21:41 +02:00
Erik Schnetter
df7e3f8635 Correct version dependency for OpenBLAS patch 2016-04-09 09:58:48 -04:00
Massimiliano Culpo
6cffac79bd openmpi : added a few variants 2016-04-09 11:21:29 +02:00
Mario Melara
3a281b2399 Commented out the add_x_from_string methods since we don't need to worry about it. Also, changed the way architecture is set. Todd wanted to have users be able to input just frontend and/or backend in the architecture spec. This will be able to parse those inputs. 2016-04-08 12:46:44 -07:00
Mario Melara
01a36ab333 Changed the logic of concretize. We don't have to worry about whether the part of the spec is a string since any string parsed is made into an object via the Arch constructor. Any dependencies will take the root arch spec as well 2016-04-08 12:44:27 -07:00
Mario Melara
5bcd1e7ccd If we already have the name and the platform, then we should probably go ahead and concretize it in the constructor. Else leave it as None and concretize it later. 2016-04-08 12:43:08 -07:00
Ben Boeckel
20b9f34b5c paraview: use internal hdf5
Spack's HDF5 is too new. Rather than forcing everything in a ParaView
chain to use older HDF5, use the internal one until ParaView is patched
properly.
2016-04-08 15:09:02 -04:00
Ben Boeckel
6e56ba9f24 paraview: use internal netcdf
VTK needs to learn to cope with netcdf being split like this.
2016-04-08 15:08:29 -04:00
Ben Boeckel
3a4aac0213 paraview: use the right cmake variables 2016-04-08 15:08:09 -04:00
Erik Schnetter
f461b99722 Building OpenBLAS requires recent binutils 2016-04-08 14:31:40 -04:00
Mario Melara
618b3f5f2d Changed default to default_target so the tests can pass 2016-04-08 11:18:30 -07:00
Mario Melara
277efc1dfb Added test that works on every type of combination the user could possibly enter for arch spec 2016-04-08 11:17:56 -07:00
Matthew LeGendre
1af88be371 Spack was no longer using $TMPDIR for its stage area at LLNL. Spack's directory search was unnecessarily putting candidates that contained your username at the end of its search list. 2016-04-08 11:06:14 -07:00
Mario Melara
0d1a1b7526 Changed _set_architecture so if user inputs only the target, then os is None. This prevents the os being referenced before assignment error 2016-04-08 10:29:37 -07:00
Mario Melara
6ff6c805af Assigned self.front_os, and back_os to self.default. Helps with testing. If we're on a darwin or linux machine, chances are there is no back end or front end operating system, but rather than have those as None, I just assign them the default which is detected via python platform. 2016-04-08 10:28:30 -07:00
Ben Boeckel
9eaf735bcd py-setuptools: add 20.6.7 2016-04-08 12:03:45 -04:00
Ben Boeckel
dcd6b19348 py-setuptools: sort versions 2016-04-08 12:03:36 -04:00
Ben Boeckel
6c409d6b92 py-matplotlib: depend on pkg-config
On OS X, freetype isn't found by default, but pkg-config can.
2016-04-08 12:03:05 -04:00
Ben Boeckel
7d19154e18 pkg-config: use the internal glib
glib requires pkg-config itself, so on machines without pkg-config,
there's a bootstrapping problem.
2016-04-08 12:01:28 -04:00
Mario Melara
7b777568ed Added new concretization of architecture tests, test each combination of user input to make sure the correct os and target are chosen 2016-04-07 14:38:43 -07:00
Mario Melara
0ad317213c Changed architecture parser so that if user just enters in frontend or backend, then both the os and target will take those names. In the concretize method the frontend target/os and backend target/os will be picked to match each other 2016-04-07 14:38:04 -07:00
Mario Melara
07df403203 Cleaned up the concretize_architecture method by removing commented out code 2016-04-07 14:37:00 -07:00
Mario Melara
143a4d7f76 Changed default to default_target, also added frontend and backend to operating system 2016-04-07 14:36:26 -07:00
alalazo
1714f410f0 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-04-07 10:48:16 +02:00
alalazo
7dc1524c08 modules : added stub for dotkit (to be verified) 2016-04-07 10:48:05 +02:00
Todd Gamblin
e73caad0d7 Merge pull request #747 from KineticTheory/pkg-global
Package global depends on ncurses
2016-04-07 00:20:15 -07:00
Glenn Johnson
8a7f34665b Make sure base bioconductor package can be installed. 2016-04-06 23:05:49 -05:00
Glenn Johnson
b19d6ab9c5 Check for non-numeric bits in the stem. 2016-04-06 19:08:01 -05:00
Todd Gamblin
6059da918e Merge pull request #758 from goxberry/metis-5-url-fix
metis 5: fix download url
2016-04-06 17:07:40 -07:00
Geoffrey Oxberry
bbd328d307 metis 5: fix download url
Spack picks up the wrong download for metis 5.1.0 from parsing
the url field for metis 4.0.3. Add an explicit url field to fix
this bug.
2016-04-06 16:58:48 -07:00
Todd Gamblin
4437bae16d Merge pull request #750 from goxberry/metis-4.0.3
metis 4.0.3
2016-04-06 16:05:02 -07:00
Todd Gamblin
feee268970 Merge pull request #754 from epfl-scitas/fixes/issue_216
fix : module files are deleted on uninstall (fixes #216)
2016-04-06 16:03:11 -07:00
Todd Gamblin
cac819766e Merge pull request #755 from adamjstewart/features/bash
Add bash package
2016-04-06 16:02:10 -07:00
Todd Gamblin
25d48f700c Merge pull request #752 from KineticTheory/pkg-netlib-lapack
Second attempt at PR#741
2016-04-06 16:01:33 -07:00
Geoffrey Oxberry
ddaba07d82 metis 4.0.3
Add version 4.0.3 to metis package. Attempted to implement reasonable
versions of all variants declared for metis@5.1.0; some of these do
not have analogues in metis@4.0.3, and errors are raised accordingly.

Also updated dependencies of packages with depends_on('metis') to
depends_on('metis@5:') to ensure that these packages still build.
2016-04-06 15:49:59 -07:00
Todd Gamblin
d62766a94d Merge pull request #756 from epfl-scitas/fixes/mpi_small_fixes
fix : mpich and mvapich2 will use spack compilers during installation
2016-04-06 15:35:34 -07:00
Glenn Johnson
32779ab1f6 Add r-filehash to test version naming. 2016-04-06 17:02:34 -05:00
Massimiliano Culpo
c113d390a7 mvapich2 : MPI compiler wrapper will use spack compilers during the installation phase
mpich : fixed wrong function signature
2016-04-06 23:51:47 +02:00
Glenn Johnson
fbabfc593d Make R extensable and add a couple of packages for verification.
Added R as a build system so that the create template will have the
correct configure line.
Added a regex for version parsing as the R URLs are a little odd.
2016-04-06 16:44:22 -05:00
Mario Melara
99117cbc90 pulled from current repo the build_environment.py. Added module loading methods from our cray port 2016-04-06 14:07:22 -07:00
Mario Melara
918ad28a93 Changed all target values to architecture. Also added a sort_key method so that older architecture specs can be sorted with the newer ones 2016-04-06 13:58:29 -07:00
Adam J. Stewart
380a2b23e6 Add bash package 2016-04-06 15:57:03 -05:00
Massimiliano Culpo
4001663982 leftover from cherry-pick 2016-04-06 22:19:07 +02:00
alalazo
73b6214a13 module files : proper cleanup on uninstall fixes #216
Conflicts:
	lib/spack/spack/test/database.py
2016-04-06 22:10:04 +02:00
Mario Melara
749508af01 Found loops calling all_compilers that were always reading in the config file which lead to a slowdown, the fix is to cache the config file so we don't waste time re-reading the config file in again. 2016-04-06 12:05:29 -07:00
Mario Melara
3bf75fab3f Cleaned up architecture. Changed operating_system from dictionary method 2016-04-06 12:03:26 -07:00
Kelly (KT) Thompson
71e9f1ab8d + I am resubmitting this proposed change because it was accidentally
overwritten. These modifications were accepted as PR#741 but somehow I
  clobbered them when PR#742 was merged. There was some unintentional overlap in
  my local repository that I didn't straighten out before pushing.
2016-04-06 09:52:09 -06:00
alalazo
21b7734d92 modules : removed debug leftover 2016-04-06 17:08:31 +02:00
alalazo
7904f75782 modules : all the other strings are lower case 2016-04-06 17:05:47 +02:00
alalazo
e4cfe74887 modules : customization based on specs 2016-04-06 16:42:56 +02:00
alalazo
e993c17f89 modules : added environment modifications from configuration file 2016-04-06 14:02:27 +02:00
alalazo
d636b4fdde modules : more sensible name to blacklist environment variables
modules : added skeleton to permit modifications based on specs
2016-04-06 13:42:47 +02:00
Todd Gamblin
3c8e055ed0 Merge pull request #751 from davydden/openblas_fix_compiler
openblas: provide basename of compilers to avoid issues with detectio…
2016-04-06 02:47:37 -07:00
Denis Davydov
9b3c7b8afa openblas: provide basename of compilers to avoid issues with detection of Fortran 2016-04-06 10:55:59 +02:00
Dhanannjay 'Djay' Deo
071548a62f Building VisIt with silo 2016-04-05 23:16:57 -04:00
Dhanannjay Deo
f221f64509 Add variant for shared library 2016-04-05 23:11:18 -04:00
Dhanannjay Deo
c3c70cf704 Install lite pdb headers 2016-04-05 23:11:18 -04:00
Kelly (KT) Thompson
340ad44aab Merge remote-tracking branch 'upstream/develop' into pkg-exuberant-ctags 2016-04-05 13:31:06 -06:00
Dhanannjay Deo
2e05830eb1 Constrain to vtk6.1 qt4.8.6 and opengl1 rendering backend 2016-04-05 15:12:06 -04:00
Dhanannjay Deo
872f049b30 create visit package 2016-04-05 15:12:06 -04:00
Kelly (KT) Thompson
21ad5162c4 + Global requires ncurses. 2016-04-05 11:53:37 -06:00
Todd Gamblin
8ef9d68542 Merge pull request #726 from citibeth/efischer/160402-Qt
Removed useless url in qt
2016-04-05 10:51:12 -07:00
Todd Gamblin
e104592e1f Merge pull request #738 from eschnett/eschnett/cleanup-cc
Clean up cc script
2016-04-05 10:50:45 -07:00
Todd Gamblin
11771d9a37 Merge pull request #737 from jgalarowicz/develop
Add changes that remove unsupported libraries from the boost build li…
2016-04-05 10:49:27 -07:00
Jim Galarowicz
0ebb192b2f Update the MRNet package with the latest source and patch related to the krell tools needs. Also, reorder the list of version to match with the spack standard: newest to oldest. 2016-04-05 10:36:20 -07:00
Jim Galarowicz
ffed252df4 Merge remote-tracking branch 'upstream/develop' into develop 2016-04-05 10:31:41 -07:00
alalazo
670cb423f9 modules : iterating on all the dependencies doesn't reuire try/except KeyError 2016-04-05 18:44:40 +02:00
alalazo
5da37c573f modules : don't pass stream around 2016-04-05 18:41:38 +02:00
alalazo
2968b60ee0 module file : added autoload and prereq 2016-04-05 18:03:09 +02:00
alalazo
ca7d701007 module file : all the dependencies can affect the run_time environment, not only extendees 2016-04-05 16:10:04 +02:00
Erik Schnetter
a87ae5173f Update Julia
- allow checking out the master branche
- add dependencies requires by important Julia package
- add OpenBLAS patch
2016-04-05 09:05:46 -04:00
alalazo
c352249e30 EnvModules : narrowing the type of exceptions being "handled" 2016-04-05 14:55:05 +02:00
Erik Schnetter
4ce03b75bc Correct typo 2016-04-05 07:42:23 -04:00
alalazo
7fc0b1ebd2 module file : reverted to sensible default 2016-04-05 13:33:11 +02:00
alalazo
d546d828d3 module file : added filtering based on environment variable name 2016-04-05 13:20:28 +02:00
Todd Gamblin
faf4a1e370 Merge pull request #740 from glennpj/scikit
Scikit
2016-04-04 23:11:04 -07:00
Todd Gamblin
b09d87970c Merge pull request #742 from KineticTheory/pkg-dia
Provide dia
2016-04-04 23:09:41 -07:00
Todd Gamblin
cefcbfea8e Merge pull request #743 from eschnett/eschnett/netlib-scalapack
Require cmake
2016-04-04 23:09:24 -07:00
Todd Gamblin
c010a6f8b0 Merge pull request #728 from eschnett/eschnett/hdf5-1.10
Update HDF5 to 1.10.0
2016-04-04 23:09:08 -07:00
Glenn Johnson
c546b75443 Add missing dependency on py-setuptools for
- py-dask
- py-decorator
2016-04-04 19:23:48 -05:00
Jim Galarowicz
9d2ef9f453 Merge remote-tracking branch 'upstream/develop' into develop 2016-04-04 17:07:53 -07:00
Glenn Johnson
2b3a8a4a5a Add missing dependencies. 2016-04-04 19:01:44 -05:00
Erik Schnetter
aaf2830b8b Require cmake 2016-04-04 19:40:05 -04:00
Kelly (KT) Thompson
281ccb3dad Merge branch 'pkg-dia' of github.com:KineticTheory/spack into pkg-dia 2016-04-04 17:11:46 -06:00
Kelly (KT) Thompson
48d70d960c + Provide dia, a program for drawing structured diagrams. 2016-04-04 17:11:04 -06:00
Kelly (KT) Thompson
3a3f9789ce + General cleanup of package.py. 2016-04-04 17:10:28 -06:00
Kelly (KT) Thompson
77b688f4fa + Don't include files submitted with PR#741. 2016-04-04 17:08:19 -06:00
Kelly (KT) Thompson
c0eb5844e5 + Provide dia, a program for drawing structured diagrams. 2016-04-04 17:05:30 -06:00
Mario Melara
9bfc83ac5c Changed so that py_platform.dist() grabs the major version number. 2016-04-04 15:36:10 -07:00
Todd Gamblin
0296f96c7b Resolves #739. Don't call setup_dependent_* for package itself. 2016-04-04 13:56:15 -07:00
Mario Melara
6d73c86209 Gives error on cori that [PrgEnv-xx, gcc/x.x.x] is not part of the schema. Changed it to oneOf : type : array to get rid of the error. 2016-04-04 13:45:15 -07:00
Mario Melara
9c071ea40d Changed modulecmd parameters. return_oe is not one of the parameters in the mainline spack repo. Changed the args to the appropriate ones in the new spack 2016-04-04 13:44:24 -07:00
Todd Gamblin
3404a61ebf Merge pull request #714 from goxberry/ipopt-3.12.4
Add ipopt v3.12.4 package.
2016-04-04 13:42:37 -07:00
Todd Gamblin
2fd2a5403f Merge pull request #711 from goxberry/mumps-add-libexec
Add mpiseq headers to MUMPS installation (was: Add libexec dir to MUMPS installation)
2016-04-04 13:41:55 -07:00
Kelly (KT) Thompson
db23d27eb4 + Revert accidental commit that set CMAKE_BUILD_TYPE=Release. 2016-04-04 14:41:41 -06:00
Kelly (KT) Thompson
cd3086f78d + Since CBLAS is only provided in 3.6.0 or later, modify package.py to on refer to CBLAS when the latest release is requested. 2016-04-04 14:35:09 -06:00
Erik Schnetter
0ff059e388 Clean up comments and output messages 2016-04-04 16:00:09 -04:00
Kelly (KT) Thompson
aef7065e85 Merge remote-tracking branch 'upstream/develop' into env-draco 2016-04-04 13:57:03 -06:00
Kelly (KT) Thompson
9bb99de0a7 + When using CMake, use Release instead of RelWithDebInfo flags. 2016-04-04 13:47:48 -06:00
Erik Schnetter
83d6e04d39 Convert = to == in tests; untabify 2016-04-04 15:38:21 -04:00
Glenn Johnson
9c60f122a6 New package - py-scikit-image (http://scikit-image.org/). 2016-04-04 14:02:55 -05:00
Glenn Johnson
8404f084c8 New package - py-networkx (https://networkx.github.io/). 2016-04-04 14:02:55 -05:00
Glenn Johnson
a10ab78e28 New package - py-decorator (https://github.com/micheles/decorator). 2016-04-04 14:02:55 -05:00
Glenn Johnson
3a4210e9d7 New package - py-dask (http://dask.pydata.org). 2016-04-04 14:02:55 -05:00
Glenn Johnson
d0ca3952a3 Add version 0.17.1 of scikit-learn. 2016-04-04 14:02:54 -05:00
Erik Schnetter
badf5b047b Calculate version string in a function 2016-04-04 14:42:36 -04:00
Erik Schnetter
7bc28cc334 Clean up cc script 2016-04-04 14:33:48 -04:00
Jim Galarowicz
6ebed7a2a6 Add release 9.1.0 recognition to the Dyninst API package file. 2016-04-04 11:23:51 -07:00
Todd Gamblin
220fb068aa Merge pull request #724 from davydden/metis_suitesparse_dealii
Metis and suitesparse fixes
2016-04-04 11:20:53 -07:00
Todd Gamblin
5084130e71 Merge pull request #715 from citibeth/efischer/160401-EnvironmentModules
Added Environment Modules
2016-04-04 10:41:54 -07:00
Jim Galarowicz
e0b9f79b9b Add changes that remove unsupported libraries from the boost build libraries list based on the boost version numbers. Libraries that are removed include: log - for versions of boost 1.53.0 and older - :atomic - for versions of boost 1.52.0 and older - :locale for versions of boost 1.49.0 and older - :chrono - for versions of boost 1.48.0 and older - and :random - for versions of boost 1.44.0 and older. 2016-04-04 10:33:03 -07:00
Todd Gamblin
a8b856432a Merge pull request #716 from citibeth/efischer/160401-TclTk
Fixed TCL/Tk
2016-04-04 10:24:11 -07:00
Todd Gamblin
c7b11360e9 Merge pull request #732 from citibeth/efischer/160403-ConditionalExtendsBugfix
[Needs Review] Fix conditional extends (BUG #683)
2016-04-04 10:21:26 -07:00
Todd Gamblin
266f64d848 Merge pull request #725 from citibeth/efischer/160402-NetCDFCXX
Added deprecation warning to netcdf-cxx
2016-04-04 10:18:15 -07:00
Todd Gamblin
2d49842cd1 Merge pull request #730 from citibeth/efischer/160403-PyPillow
[WIP] py-pillow: Updated for variants
2016-04-04 10:15:59 -07:00
Todd Gamblin
bd005b6ba6 Merge pull request #727 from glennpj/sympy
Added version 1.0 of sympy.
2016-04-04 10:14:13 -07:00
Todd Gamblin
6755c397c9 Merge pull request #729 from citibeth/efischer/160403-LibxcbDependency
libxcb: Added comments on two dependencies Spack does not yet know ho…
2016-04-04 10:13:45 -07:00
Todd Gamblin
932ed6b280 Merge pull request #731 from citibeth/efischer/160403-GitDependency
git: added comment about newly discovered dependency
2016-04-04 10:13:15 -07:00
Todd Gamblin
a43cb60097 Merge pull request #733 from citibeth/efischer/160403-DbusDependency
dbus: Added missing dependency (expat)
2016-04-04 10:12:47 -07:00
Todd Gamblin
a6c1cfe037 Merge pull request #670 from epfl-scitas/uninstall_improved
enhancement : recursive uninstallation of dependent packages
2016-04-04 10:04:14 -07:00
Bruno Turcksin
7197f15783 Add version 2.6.7 of py-setuptools 2016-04-04 10:15:00 -04:00
alalazo
d375ddadc4 openssl : reads newer version from ftp (recommended on openssl web-site) 2016-04-04 12:25:13 +02:00
Todd Gamblin
a7e13b1963 Merge pull request #735 from LLNL/bugfix/build-environment-order-issues
Fix #620, Resolve #664. Fix issues with build environment.
2016-04-04 03:05:44 -07:00
Todd Gamblin
bb968fc5a2 Fix #620, Resolve #664. Fix issues with build environment.
- Also added better regression tests for build environment.
2016-04-04 02:52:38 -07:00
alalazo
f40b0f52e0 uninstall : updated documentation and error messages 2016-04-04 10:59:01 +02:00
alalazo
401dcb3635 uninstall : renamed --recursive to --dependents 2016-04-04 10:28:47 +02:00
Denis Davydov
131d34f318 suite-sparse: temporary disable TBB due to linking errors 2016-04-04 09:05:27 +02:00
Elizabeth F
14f073d410 py-pillow: Updated for variants, but still having trouble getting it to use Spack-supplied libjpeg. 2016-04-03 21:42:55 -04:00
Elizabeth F
0bf61ad57b libxcb: Added comments on two dependencies Spack does not yet know how to build. 2016-04-03 21:42:40 -04:00
Elizabeth F
2809fe95db git: added comment about newly discovered dependency 2016-04-03 21:42:29 -04:00
Elizabeth F
c3f7b035fd dbus: Added missing dependency (expat) 2016-04-03 21:42:09 -04:00
Elizabeth F
2f4d8a634d Fix conditional extends (BUG #683) 2016-04-03 21:41:46 -04:00
citibeth
79836520d9 Fixed up to work on a machine without any system-install tcl. 2016-04-03 21:38:29 -04:00
Denis Davydov
e0ff3f16cc dealii: blacklist boost 2016-04-03 19:41:51 +02:00
Elizabeth Fischer
40c279ef95 Fixed evil non-ASCII quotes 2016-04-03 00:10:22 -04:00
Erik Schnetter
e436f84244 Update HDF5 to 1.10.0 2016-04-02 20:22:26 -04:00
Glenn Johnson
c952c0ca16 Added version 1.0 of sympy. Beginning with this version, sympy requires
the mpmath package. The py-mpmath package is added in this PR to
accommodate that.
2016-04-02 15:50:20 -05:00
citibeth
1c483ffe4e Merged the best of two Spack packages for Environment Modules.
Named "environment-modules" to be consistent with Fedora and Ubuntu repositories.

See d96ea5b for original packages/modules/package.py
2016-04-02 13:09:56 -04:00
citibeth
9f7db44574 Removed useless url in qt 2016-04-02 12:58:37 -04:00
citibeth
2126683203 Added deprecation warning to netcdf-cxx 2016-04-02 12:55:34 -04:00
Denis Davydov
adccd18015 dealii: add extra test for Petsc+Metis 2016-04-02 12:04:18 +02:00
Denis Davydov
a88c6da9ac suite-sparse: fix a bug where interla metis was used; add TBB variant 2016-04-02 12:04:07 +02:00
Denis Davydov
624b576b1e metis: fix compilation with Clang 7.3.0, add tests 2016-04-02 12:03:57 +02:00
citibeth
281835887a Added documentation for recursive modules 2016-04-01 22:54:49 -04:00
Elizabeth F
c6d8208150 Added recursive module loading 2016-04-01 22:54:42 -04:00
Geoffrey Oxberry
edf6e9ceac Add ipopt v3.12.4 package.
Add package for the nonlinear programming solver IPOPT. This
commit depends on the changes made in GitHub PR #711, since IPOPT
requires the headers that correspond to the fake MPI implementation
in sequential MUMPS.
2016-04-01 18:37:08 -07:00
Geoffrey Oxberry
71ffe2f1c4 mumps: install mpiseq headers for '~mpi'
Prior to this commit, spack installs a library called `libmpiseq` into
`spec['mumps'].prefix.lib` when it builds MUMPS without MPI. However, it
does not also install the headers corresponding to this library, so it
is impossible to compile source files that depend on function calls
implemented in this library. This commit fixes this problem by
installing these headers, which are needed by packages (e.g., IPOPT)
that depend on these headers.
2016-04-01 18:26:25 -07:00
Elizabeth F
e4f7b78e9b Fixed tk, and used uverridden url_for_version(). 2016-04-01 16:38:02 -04:00
citibeth
459aab628d Added documentation for installing Environment Modules with Spack. 2016-04-01 16:00:58 -04:00
Elizabeth F
cfd5e69b81 Added Environment Modules package. 2016-04-01 15:28:03 -04:00
Elizabeth F
d4e6b15d98 Fixed TCL/Tk 2016-04-01 15:25:01 -04:00
Todd Gamblin
f5a77d3958 Merge pull request #709 from xjrc/packages/zoltan
Add Package : Zoltan
2016-03-31 15:16:37 -07:00
Joseph Ciurej
09d657e98e Fixed the MPI variant for the 'zoltan' package. 2016-03-31 14:36:32 -07:00
Joseph Ciurej
b1b94d2b7f Added the initial version of the 'zoltan' package. 2016-03-31 13:59:49 -07:00
Peter Scheibel
9eb314fcaa merge from develop 2016-03-31 12:56:34 -07:00
Todd Gamblin
d0c8245a58 Merge pull request #685 from gartung/add-modules-package
add modules package and have setup script find it if built
2016-03-31 12:15:11 -07:00
Patrick Gartung
87b70e2cb4 remove the part I added to setup-env.sh as this does not work unless the modules package is already built. 2016-03-31 14:07:03 -05:00
Todd Gamblin
c5f3475f48 Merge pull request #704 from adamjstewart/features/qt-url
Add url_for_version function and gtk variant
2016-03-31 11:55:27 -07:00
Todd Gamblin
220c72d67f Merge branch 'features/blas-lapack-hardening' into develop 2016-03-31 11:37:09 -07:00
Adam J. Stewart
66038ef729 Add url_for_version function and gtk variant 2016-03-31 13:34:56 -05:00
Todd Gamblin
a670408617 Quick fix for pkg diff. 2016-03-31 11:34:27 -07:00
Todd Gamblin
1f93c39c58 Merge pull request #291 from trws/stage-path
add a path argument to the stage command
2016-03-31 10:41:29 -07:00
Tom Scogland
5d2151ed64 reworked to deal with stage.path as property
This version actually pulls the path through the package to deliver it
to each stage on creation when passed through the command.  This is
necessary due to the new StageComposite class that makes setting the
path directly on the stage impractical, it also takes the logic out of
package for the most part, which seems like an improvement.
2016-03-31 10:20:55 -07:00
Tom Scogland
63f824b218 add a path argument to the stage command
Allow users to use spack to stage a, potentially complex, package into a
given path.  This is nice for packages with multiple resources that must
be placed, for example LLVM with all sub-projects.
2016-03-31 09:56:26 -07:00
Todd Gamblin
2441068d54 Merge pull request #697 from KineticTheory/pkg-libdrm
+ libdrm depends_on libpciaccess.  Use spack provided libpciaccess.
2016-03-31 09:55:53 -07:00
Todd Gamblin
0840ffa3dd Merge pull request #698 from UCL-RITS/espresso
Fixes install issues on OS/X for Quantum Espresso
2016-03-31 09:47:33 -07:00
Todd Gamblin
e2a7b7e50d Merge pull request #701 from dhandeo/vtk
VTK
2016-03-31 09:46:49 -07:00
Todd Gamblin
a6f6c2b9c5 Merge pull request #702 from adamjstewart/features/cuda
Add CUDA and HOOMD-blue packages
2016-03-31 09:45:45 -07:00
Todd Gamblin
a6b87ee144 Merge pull request #700 from davydden/oce_bug_fix
oce: fix bugs related to NULL pointers and compiler optimisation
2016-03-31 09:42:28 -07:00
Massimiliano Culpo
837eff1704 openssl : special treatment for @external (fixes #647) 2016-03-31 18:07:44 +02:00
Adam J. Stewart
a0902ad8d8 Change variant defaults and add comment 2016-03-31 11:04:29 -05:00
Dhanannjay Deo
3b0311a1e4 Add variant opengl2, which is ON by default
Needed for visit which depends on vtk@6.1.0~opengl2
2016-03-31 10:39:34 -04:00
Dhanannjay Deo
123996aad0 Fix build for vtk6.1.0 2016-03-31 10:39:34 -04:00
Dhanannjay Deo
0bcfd09536 add: VTK lastest versions 2016-03-31 10:39:34 -04:00
Denis Davydov
6d0b4a28ab oce: fix bugs related to NULL pointers and compiler optimisation 2016-03-31 13:36:28 +02:00
Massimiliano Culpo
4f6320a7eb uninstall : added unit tests 2016-03-31 13:22:48 +02:00
Mayeul d'Avezac
7430f9142f Can install espresso on OS/X
Espresso uses unix utility `find dir -name \*.x` to determine the executable to
install. On OS/X, it also finds a bunch of debug symbols associated
with the exectuble. These files have the same name, but are in a
different directory. So the install process is done by hand in the
package.py file, for OS/X.
2016-03-31 10:16:40 +01:00
Mayeul d'Avezac
397e0d1368 Fixes #454 in a simpler way than 34a8f0c
Rather than mess with the environment, have espresso install into the
right directory (prefix/bin).
2016-03-31 10:12:20 +01:00
Todd Gamblin
360994b638 Merge branch 'davydden-dealii' into develop
- Modified arpack-ng to call libtoolize.
2016-03-30 23:47:21 -07:00
Todd Gamblin
44b8947445 arpack-ng needs an extra libtoolize to build. 2016-03-30 23:33:57 -07:00
Kelly (KT) Thompson
a88c15e101 + libdrm depends_on libpciaccess. Use spack provided libpciaccess. 2016-03-30 21:18:04 -06:00
Todd Gamblin
8d9ab6a061 Merge pull request #696 from KineticTheory/pkg-libpng
libpng depends on zlib.
2016-03-30 16:27:24 -07:00
Kelly (KT) Thompson
a364ab0d0f libpng depends on zlib. 2016-03-30 17:12:32 -06:00
Todd Gamblin
ef5c973c93 Merge pull request #688 from davydden/doxygen_fix
doxygen: add missing dependencies
2016-03-30 15:54:02 -07:00
Todd Gamblin
35322eccc1 Merge pull request #601 from KineticTheory/pkg-numdiff
Provide new package numdiff
2016-03-30 15:22:56 -07:00
Todd Gamblin
892b8f155f Merge branch 'dealii' of git://github.com/davydden/spack into davydden-dealii 2016-03-30 15:09:29 -07:00
Todd Gamblin
228130ddc8 Merge pull request #693 from mathstuf/osx-ninja
ninja: fix installation on OS X
2016-03-30 14:59:08 -07:00
Todd Gamblin
b4580eb04c Merge pull request #604 from KineticTheory/pkg-graphviz
Pkg graphviz
2016-03-30 14:51:15 -07:00
Kelly (KT) Thompson
3ba9cfba01 + Remove the validate function that would abort the install if platform=darwin. 2016-03-30 15:41:51 -06:00
Kelly (KT) Thompson
2ad5d2ea2a + For darwin, add a dependency on gettext. This change was recommended in the discussion for PR#601. 2016-03-30 15:40:04 -06:00
Todd Gamblin
279291221c Merge pull request #694 from mathstuf/github-docs
docs: add a link to the spack repo in the PR section
2016-03-30 14:38:02 -07:00
Kelly (KT) Thompson
be2862ef4e Merge remote-tracking branch 'upstream/develop' into pkg-numdiff 2016-03-30 15:35:46 -06:00
Todd Gamblin
67ec7ee5e9 Merge pull request #695 from mathstuf/osx-mpich
mpich: disable fortran without a fortran compiler
2016-03-30 14:32:47 -07:00
Ben Boeckel
f1a0619821 mpich: disable fortran without a fortran compiler 2016-03-30 17:19:29 -04:00
Ben Boeckel
2bc43f7f37 docs: add a link to the spack repo in the PR section 2016-03-30 16:44:08 -04:00
Kelly (KT) Thompson
4ab362ae17 + Fix variant description. 2016-03-30 14:27:23 -06:00
Kelly (KT) Thompson
d1a3adfcf0 + Make --disable-perl the default configure option. 2016-03-30 14:25:44 -06:00
Ben Boeckel
dbb25bfeed ninja: fix installation on OS X
The cp -t flag is a GNU-ism. Instead, add a trailing slash to bindir to
ensure that it is not treated as a file.
2016-03-30 16:17:52 -04:00
Kelly (KT) Thompson
8da62b310e Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-30 13:59:10 -06:00
Denis Davydov
5506e89aa9 rename variant doxygen to doc 2016-03-30 21:41:23 +02:00
Todd Gamblin
4bc6ace201 Merge pull request #690 from glennpj/py_updates
Get py-pandas working plus some python package updates
2016-03-30 12:04:30 -07:00
Todd Gamblin
213e9746ad Merge pull request #689 from KineticTheory/pkg-subversion
Provide subversion (along with apr and apr-util)
2016-03-30 12:02:59 -07:00
Todd Gamblin
a65519def0 Merge pull request #691 from davydden/petsc_remove_qunused
petsc: remove no longer needed -Qunused-arguments hack
2016-03-30 12:02:23 -07:00
Todd Gamblin
0ceb7c411b Merge branch 'davydden-trilinos_extra' into develop 2016-03-30 11:41:43 -07:00
Todd Gamblin
01657e6991 Make suite-sparse use spack compilers. 2016-03-30 11:41:25 -07:00
Denis Davydov
b909da759d petsc: remove no longer needed -Qunused-arguments hack 2016-03-30 19:26:03 +02:00
Adam J. Stewart
9519f3d988 Fix MPI-CUDA bug 2016-03-30 11:46:58 -05:00
Glenn Johnson
8ae84cfaba This commit updates pandas and fixes dependencies.
Added version 0.18.0.
Added 'bin/f2py' to ignore so that activation works.

Removed unneccessary dependencies on
- libdrm
- libpciaccess
- llvm
- mesa

Added recommended dependencies from the pandas project site.
http://pandas.pydata.org/pandas-docs/stable/install.html
- py-numexpr
- py-bottleneck

The py-bottleneck is a new package that is also in this branch.

Removed optional dependencies
- py-scipy
- py-matplotlib

While those are most likely desired to be in the same python stack as
pandas they are not required by pandas.
2016-03-30 11:21:38 -05:00
Glenn Johnson
78be85c84f Added version 1.11.0. 2016-03-30 11:21:17 -05:00
Glenn Johnson
e7ae983b41 Added version 2.5.
Added 'bin/f2py' to ignore so that activation works.
2016-03-30 11:20:27 -05:00
Glenn Johnson
f3b353f5f9 Add 'bin/f2py' to ignore so activation works. 2016-03-30 11:17:24 -05:00
Glenn Johnson
8948cb100b Add version 1.3.7. 2016-03-30 11:16:35 -05:00
Glenn Johnson
17075736a0 Add version 2.5.2. 2016-03-30 11:16:11 -05:00
Glenn Johnson
42729d9cce Added version 2016.3. 2016-03-30 11:10:32 -05:00
Glenn Johnson
9153e03e5c Added version 20.5. 2016-03-30 11:09:47 -05:00
Glenn Johnson
3b19cc303f Added version 1.10.0. 2016-03-30 11:08:28 -05:00
Glenn Johnson
5c95977dcc Added version 15.0.1 2016-03-30 11:06:04 -05:00
Glenn Johnson
bc309e42d8 New package, py-bottleneck. 2016-03-30 11:00:18 -05:00
Kelly (KT) Thompson
a7ceacb991 + Changes to swig are not needed with this PR. 2016-03-30 09:47:31 -06:00
Kelly (KT) Thompson
5b1ef64e31 + Provide basic instructions for providing subversion w/o additional language bindings. 2016-03-30 09:33:00 -06:00
Kelly (KT) Thompson
f2051f0440 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-30 08:28:53 -06:00
Massimiliano Culpo
dd1c667d8d uninstall : changed error message 2016-03-30 16:10:20 +02:00
Denis Davydov
2abdd71b41 add dev version and conditionals for tests; remove parmetis 2016-03-30 15:19:29 +02:00
Denis Davydov
9e9f5d01ad doxygen: add missing dependencies 2016-03-30 13:28:33 +02:00
Denis Davydov
bafc6cebe1 doxygen off by default 2016-03-30 12:00:21 +02:00
Denis Davydov
5b6eefbf04 add variants and extra dependencies 2016-03-30 11:30:35 +02:00
Gregory Lee
c017387214 Merge pull request #672 from citibeth/efischer/160327-GEOSPython3
[WIP] GEOS Python extension did not compile with Python3.
2016-03-29 20:35:00 -07:00
Gregory L. Lee
81b9148b9e Merge branch 'develop' of https://github.com/llnl/spack into develop 2016-03-29 20:26:22 -07:00
Gregory L. Lee
98bb151d85 updated geos version 2016-03-29 20:25:56 -07:00
Peter Scheibel
a0c42a3fd1 removed stale TODO 2016-03-29 18:58:18 -07:00
Peter Scheibel
c40559433b added docstring 2016-03-29 18:54:24 -07:00
Peter Scheibel
03d907e1e5 in the case of multiple digests, avoid creating different mirror filenames from run to run (as long as the available digests do not change) 2016-03-29 18:48:25 -07:00
Peter Scheibel
ce4de6227e (1) access package via spec property (2) use any digest to form archive filename 2016-03-29 18:45:58 -07:00
Peter Scheibel
bee224c567 mirror archive filename now includes the digest type as well as the digest 2016-03-29 18:25:22 -07:00
Todd Gamblin
e4de235e75 Merge pull request #653 from citibeth/efischer/160325-Cython3Fix
Added new Cython version; old versions don't work with Python3.
2016-03-29 17:13:37 -07:00
Todd Gamblin
f42b1dfcbd Merge branch 'trilinos_extra' of git://github.com/davydden/spack into davydden-trilinos_extra 2016-03-29 17:08:51 -07:00
Todd Gamblin
c337b52ec8 Merge pull request #687 from KineticTheory/pkg-cmake
+ Add a new version of cmake (3.5.1).
2016-03-29 16:14:45 -07:00
Kelly (KT) Thompson
c69b9b7b24 Merge remote-tracking branch 'upstream/develop' into pkg-subversion 2016-03-29 17:14:27 -06:00
Kelly (KT) Thompson
a4eff6de3f + New version of cmake (3.5.1). 2016-03-29 17:10:49 -06:00
Todd Gamblin
7f469eadff Merge pull request #684 from davydden/astyle
astyle@2.04: add new package
2016-03-29 15:29:14 -07:00
Todd Gamblin
3c8881487f Merge pull request #632 from sixy6e/gdal-tools
Upload of GDAL, kealib, openjpeg, py-tuiview package builds.
2016-03-29 15:28:38 -07:00
Elizabeth Fischer
abee9c83b4 Removed googletest FIXME... 2016-03-29 17:26:34 -04:00
Adam J. Stewart
4ddba5f7ed Add CUDA and HOOMD-blue packages 2016-03-29 14:47:16 -05:00
Todd Gamblin
a06f682e49 Merge pull request #671 from citibeth/efischer/160327-RemoveRedundantLibXML2
Removed redundant package py-libxml2.  Use libxml2 instead.
2016-03-29 12:38:07 -07:00
Gregory Becker
7e9baf9e25 Made architecture test robust for more architectures 2016-03-29 11:23:36 -07:00
Patrick Gartung
d96ea5ba00 add modules package and have setup script find it if built 2016-03-29 12:20:11 -05:00
Denis Davydov
ad402ff85b astyle@2.04: add new package 2016-03-29 18:43:44 +02:00
Massimiliano Culpo
653d7c5257 uninstall : minor fixes 2016-03-29 17:28:46 +02:00
Todd Gamblin
e0fdb34104 Merge branch 'eschnett-eschnett/boost-mpi-osx' into develop 2016-03-29 05:15:40 -07:00
Todd Gamblin
62ae830e49 Merge branch 'eschnett/boost-mpi-osx' of git://github.com/eschnett/spack into eschnett-eschnett/boost-mpi-osx 2016-03-29 05:14:41 -07:00
Todd Gamblin
b3a384e1d8 Merge pull request #680 from davydden/hypre_muparser_fixes
minor fixes to hypre and muparser on Linux
2016-03-29 05:11:50 -07:00
Todd Gamblin
a05bea7de5 Merge pull request #681 from LLNL/bugfix/complete-restage
Fix bug in restage
2016-03-29 05:11:21 -07:00
Todd Gamblin
dfc5cf288c Fix bug in restage
- Restage previously only removed the source directory from the stage.
- Now removes any other directories in stage as well.
2016-03-29 04:35:41 -07:00
Todd Gamblin
275943d8df Merge branch 'eschnett-eschnett/gcc-osx-2' into develop 2016-03-29 04:16:53 -07:00
Todd Gamblin
e1fdd4341b Merge branch 'eschnett-correct-cc' into develop 2016-03-29 04:16:18 -07:00
Patrick Gartung
ccc1b23bea this allows gcc4.9.3 to build on OSX10 2016-03-29 04:15:07 -07:00
Todd Gamblin
f80e839ff4 Handle Darwin's ld -r option properly
- ld -r doesn't work with RPATH on OS X.

- for GNU ld, the -r option only means 'relocatable',
  and doesn't affect RPATH.

- This adds special handling to omit RPATHs for ld -r on OS X
2016-03-29 03:14:39 -07:00
Denis Davydov
63c3feb79e minor fixes to hypre and muparser on Linux 2016-03-29 10:05:08 +02:00
Todd Gamblin
7e7461e8fb Merge pull request #626 from davydden/mumps_shared_tests
add shared variant to mumps (needed for Trilinos) plus tests
2016-03-29 00:33:30 -07:00
Denis Davydov
7753d823cb add a comment on static mumps 2016-03-29 09:27:55 +02:00
Denis Davydov
f9bcce6a68 turn off python by default 2016-03-29 09:19:24 +02:00
Kelly (KT) Thompson
197f07306b Merge remote-tracking branch 'upstream/develop' into pkg-subversion 2016-03-28 19:56:07 -06:00
Kelly (KT) Thompson
40cea0110f Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-28 19:53:22 -06:00
Todd Gamblin
02879d94ff Merge pull request #673 from davydden/netcdf_cxx
new package: netcdf-cxx
2016-03-28 18:03:36 -07:00
Todd Gamblin
dd61795bb8 Merge pull request #674 from davydden/petsc_extra
extend petsc variants by mumps, complex and debug, fix headers in superlu_dist, add variant to hypre
2016-03-28 18:02:26 -07:00
Todd Gamblin
a14527ec06 Add command to compiler input log. 2016-03-28 15:34:25 -07:00
Massimiliano Culpo
1141f11955 uninstall : added user confirmation 2016-03-29 00:28:02 +02:00
Denis Davydov
09e77812b6 fix installation of superlu_dist headers and add it as a dependency to petsc; add a variant to hypre to disable internal superlu 2016-03-29 00:21:32 +02:00
Denis Davydov
4e87cf9d74 fix extra comma 2016-03-28 18:00:34 +02:00
Denis Davydov
207215980b make hypre and hdf5 be ON/OFF 2016-03-28 17:54:27 +02:00
Denis Davydov
dd60cc326c adopt modifed superlu and hypre 2016-03-28 17:52:22 +02:00
Denis Davydov
5eefca43e7 petsc: extend variants by mumps, complex and debug 2016-03-28 14:35:01 +02:00
Denis Davydov
0da545ecac tell amesos that we use mumps 5 2016-03-28 13:16:08 +02:00
Todd Gamblin
d8579a5b80 Simplify cc: Remove old logic and add better tests.
- removed a lot of old logic that was only still needed for tests.

- Added better unit tests for dependency RPATH, -L, and -I args

- tests now check whether the compiler omits -I args in link mode.
2016-03-28 04:11:54 -07:00
Todd Gamblin
f3dd889d44 Fix bug with lib64 RPATH setting in cc. 2016-03-28 03:51:05 -07:00
Denis Davydov
e00cab75bd more elaborated tests/direct solvers 2016-03-28 12:12:55 +02:00
Denis Davydov
97cdd79478 fix netcdf 2016-03-28 10:49:20 +02:00
Denis Davydov
9c894f5935 new package: netcdf-cxx 2016-03-28 10:19:25 +02:00
Todd Gamblin
eb397b5693 Merge pull request #669 from glennpj/module_format
Wrap the long description of an environment module so it is more readable
2016-03-27 17:30:07 -07:00
Todd Gamblin
8b45d6f84f Merge pull request #658 from davydden/metis_parmetis_darwin
metis/parmetis/oce/boost: correct install_name on Darwin via a global tool
2016-03-27 16:10:05 -07:00
Elizabeth F
3bd550d6a2 GEOS Python extension did not compile with Python3. 2016-03-27 18:28:51 -04:00
Denis Davydov
7eca1284c8 metis/parmetis/boost/oce/scalapack: correct install_name on Darwin via a global function. 2016-03-28 00:22:25 +02:00
citibeth
ccd155572f Removed redundant package py-libxml2. Use libxml2 instead. 2016-03-27 18:18:54 -04:00
Massimiliano Culpo
e0f463c4f9 uninstall : added recursive option 2016-03-27 23:56:41 +02:00
Denis Davydov
fc73e93b50 rework netcdf 2016-03-27 23:47:43 +02:00
Glenn Johnson
5695e4c03d Wrap the long description of an environment module so it is more readable. 2016-03-27 15:42:20 -05:00
Todd Gamblin
ec107b290f Merge branch 'correct-cc' of git://github.com/eschnett/spack into eschnett-correct-cc 2016-03-27 13:38:06 -07:00
Todd Gamblin
9061800b30 Merge branch 'eschnett/gcc-osx-2' of git://github.com/eschnett/spack into eschnett-eschnett/gcc-osx-2 2016-03-27 13:18:23 -07:00
Todd Gamblin
82c09e66d2 Merge pull request #662 from citibeth/efischer/160327-NewPackages
New Package: py-netcdf
2016-03-27 13:02:34 -07:00
Denis Davydov
20600b8cac add tests and netcdf-cxx4 2016-03-27 21:03:18 +02:00
Todd Gamblin
e049fc2840 Run post-install hoooks before build stage is removed.
- Build will properly fail when post-install hoooks fail.

- Post-install hooks have a proper working directory set now.
2016-03-27 11:47:20 -07:00
Todd Gamblin
66bb71534b Better blas/lapack and scipy packages: more robust, added shared variants.
- py-scipy now builds with netlib-lapack, openblas, and atlas.
- started a convention for passing lib info from blas/lapack implementations.

- Improved netlib-lapack:
  - Also build static libs when `shared` variant is enabled.
  - Enable CBLAS  build
    - needed minor patch to build correctly.

- Added `shared` variant to OpenBLAS.
  - Made OpenBLAS build properly shared and static.
2016-03-27 11:32:42 -07:00
Todd Gamblin
cde3320582 Add a method to find the containing directory of a library. 2016-03-27 11:32:42 -07:00
Todd Gamblin
dce590fb21 Add a dso_suffix variable to build_environment
- Consolidate this in one place so that we don't have to do it in every build.

- Will update further once better OS support is committed.  Shoudl
  really be an attribute of the forthcoming `Platform` class.
2016-03-27 11:32:42 -07:00
Todd Gamblin
b0b882cbb3 Speed up directives by skipping debug info in stack traversal.
- `caller_locals()` doesn't need debug info, only frame locals.
- `get_calling_module()` doesn't either.

- Changed calls to `inspect.stack()` -> `inspect.stack(0)`
2016-03-27 11:30:09 -07:00
Denis Davydov
439d3b3ddb mumps: add install_name / soname 2016-03-27 17:38:25 +02:00
citibeth
cc42391e0f Added py-netcdf 2016-03-27 11:06:10 -04:00
Denis Davydov
69ebc8173e use global tool to fix install_name 2016-03-27 16:04:13 +02:00
Denis Davydov
9cff241ad5 fix install name on Darwin 2016-03-27 10:39:09 +02:00
Denis Davydov
a82a587b32 lower requirement on mumps 2016-03-27 06:17:43 +02:00
citibeth
4a6b5d5247 Update to documentation formatting. 2016-03-27 00:14:10 -04:00
citibeth
9b130e1d19 Added googletest package. 2016-03-26 20:42:35 -04:00
citibeth
a1c965d70d Fixed imports to make `git spconfig` work after recent merge from develop. 2016-03-26 20:40:22 -04:00
Elizabeth F
11ca06b104 Added new py-cython version 2016-03-26 20:37:02 -04:00
Denis Davydov
9c391bbda1 minor changes to variants 2016-03-26 20:52:08 +01:00
Denis Davydov
965ce633c3 cleanup variants 2016-03-26 18:51:59 +01:00
Denis Davydov
f603c82e81 qualify Amesos link errors 2016-03-26 18:43:55 +01:00
Elizabeth F
497adc3b42 Added new version; old versions don't work with Python3. 2016-03-25 22:47:37 -04:00
Peter Scheibel
06c98320a8 handle case where file contents change but resource name does not (e.g. if resource maintainer uses same name for each new version of a package) 2016-03-25 18:38:26 -07:00
Gregory Becker
57ced37229 Fixed a bug in the testing 2016-03-25 17:03:49 -07:00
Gregory Becker
618a9b2d7b Fixed bug in platform names that I introduced yesterday 2016-03-25 15:41:22 -07:00
Denis Davydov
c7011d21aa update dependencies. Builds fine on OSX 2016-03-25 22:15:39 +01:00
Elizabeth F
9889b1a5fe Added documentation for StagedPackage, etc. 2016-03-25 17:15:15 -04:00
Elizabeth F
8f675b0ee8 Made StagedPackage user-visible. 2016-03-25 17:15:06 -04:00
citibeth
358b387283 Merge remote-tracking branch 'upstream/develop' into efischer/160311-StagedPackage 2016-03-25 17:14:35 -04:00
Todd Gamblin
42ec822379 Merge pull request #633 from davydden/netcdf_curl
make netcdf link against Spack's curl
2016-03-25 12:54:53 -07:00
Todd Gamblin
8b2e79bcfa Merge pull request #485 from epfl-scitas/packages/blas_lapack_providers
reworking package : netlib
2016-03-25 12:53:46 -07:00
Todd Gamblin
680563cc4c Merge pull request #630 from davydden/metis_parmetis
Metis parmetis cleanup
2016-03-25 12:52:19 -07:00
Todd Gamblin
1d2d4b94c5 Merge pull request #629 from adamjstewart/fixes/info
Fix spack info indentation
2016-03-25 12:49:35 -07:00
citibeth
8019748396 Merge remote-tracking branch 'upstream/develop' into efischer/160311-StagedPackage
# Conflicts:
#	lib/spack/spack/package.py
2016-03-25 15:36:54 -04:00
Denis Davydov
6699399e51 add when to depends_on scalapack 2016-03-25 17:00:42 +01:00
Denis Davydov
eec50b524b minor cleanup 2016-03-25 16:58:14 +01:00
Denis Davydov
5172f09b9f builds on OSX again (modulo CC wrappers are solved) 2016-03-25 16:47:48 +01:00
Denis Davydov
26a72619ae add missing sys 2016-03-25 12:42:26 +01:00
Denis Davydov
21e81e92a9 try to disable VerifyFortranC tests on Darwin 2016-03-25 12:05:48 +01:00
Denis Davydov
828aeefb1d minor cleanup 2016-03-25 12:01:00 +01:00
Denis Davydov
7f2db8c267 fix w GCC 4.8 on Ubuntu but broke w GCC 5.3/Clang on OSX 2016-03-25 11:56:41 +01:00
Denis Davydov
d096b155f4 fix filter_file 2016-03-25 11:56:40 +01:00
Denis Davydov
c33a63cabc fix python installation 2016-03-25 11:56:40 +01:00
Denis Davydov
416fcd0810 same 2016-03-25 11:56:40 +01:00
Denis Davydov
0fc9326a4c add variants 2016-03-25 11:56:40 +01:00
Denis Davydov
df995c4ef8 minor cleanup 2016-03-25 11:56:40 +01:00
Denis Davydov
8c9f887613 finally builds 2016-03-25 11:56:40 +01:00
Denis Davydov
3f12a51759 keep fiddling 2016-03-25 11:56:40 +01:00
Denis Davydov
e51fe2934e fiddle more 2016-03-25 11:56:40 +01:00
Denis Davydov
fade526ae4 remove tbb 2016-03-25 11:56:40 +01:00
Denis Davydov
7897f10126 fiddle with fortran 2016-03-25 11:56:40 +01:00
Denis Davydov
eb5b0767aa remove gfortran as we have libnotfound... 2016-03-25 11:56:40 +01:00
Denis Davydov
2fb599ea86 minor 2016-03-25 11:56:39 +01:00
Denis Davydov
50e4b609c6 minor 2016-03-25 11:56:39 +01:00
Denis Davydov
7e4e2c988a minor 2016-03-25 11:56:39 +01:00
Denis Davydov
88a7a23132 even more 2016-03-25 11:56:39 +01:00
Denis Davydov
2162627f35 more 2016-03-25 11:56:39 +01:00
Denis Davydov
bc3314a57d more and more 2016-03-25 11:56:39 +01:00
Denis Davydov
45b4895888 patch 2016-03-25 11:56:39 +01:00
Denis Davydov
b6a35716ce same 2016-03-25 11:56:39 +01:00
Denis Davydov
b91a155e8d more specific about dependencies 2016-03-25 11:56:39 +01:00
Denis Davydov
18db930866 rearrange 2016-03-25 11:56:39 +01:00
Denis Davydov
76006fc346 fix typo 2016-03-25 11:56:38 +01:00
Denis Davydov
30ba96e58f same 2016-03-25 11:56:38 +01:00
Denis Davydov
83fea631f1 extend trilinos 2016-03-25 11:56:38 +01:00
Massimiliano Culpo
f15249afe5 Merge branch 'develop' of https://github.com/LLNL/spack into packages/blas_lapack_providers
Conflicts:
	var/spack/repos/builtin/packages/py-numpy/package.py
2016-03-25 11:05:05 +01:00
Denis Davydov
3e39daeb12 add fPIC to MUMPS when building shared libs 2016-03-25 09:56:24 +01:00
Denis Davydov
fd67da607e make netcdf link against Spack's curl 2016-03-25 09:32:48 +01:00
Josh Sixsmith
540e57f026 Upload of GDAL, kealib, openjpeg, py-tuiview package builds. 2016-03-25 18:27:02 +11:00
Denis Davydov
fdd7e91ba0 add shared variant to mumps (needed for Trilinos) plus tests 2016-03-25 06:56:46 +01:00
Peter Scheibel
bd5abb2922 spacing issue 2016-03-24 19:48:15 -07:00
Peter Scheibel
6423eab917 implemented cache_local method for DIY stage (as a noop) 2016-03-24 19:45:10 -07:00
Peter Scheibel
142d1f5cbc stage creates cache fetcher with cache object (so it can be mocked for tests) 2016-03-24 19:28:21 -07:00
Gregory Becker
315623d361 Fixed things from merge. 2016-03-24 16:55:46 -07:00
Denis Davydov
03c8a91f6a parmetis: avoid hardcoding -lm; use same approach as in METIS 2016-03-24 22:33:10 +01:00
Denis Davydov
0d4d201b70 patch parmetis to use external GKlib 2016-03-24 21:24:03 +01:00
Denis Davydov
7fb463abb9 install GKlib headers along with METIS 2016-03-24 21:24:03 +01:00
Adam J. Stewart
9985816642 Fix spack info indentation 2016-03-24 14:49:41 -05:00
Peter Scheibel
fe71ba992d remove unused import 2016-03-24 12:16:50 -07:00
Peter Scheibel
13bf7d4ff1 (1) move definition of MockCache to test command (no definitions or extra work is required in MockPackagesTest) (2) removing outdated logic (which originated in this branch) and minor cleanup 2016-03-24 12:02:39 -07:00
Todd Gamblin
38ea75e8ca Merge pull request #490 from epfl-scitas/packages/atlas
atlas : provides both 'blas' and 'lapack'
2016-03-24 11:24:04 -07:00
Todd Gamblin
823edd0bb2 Merge pull request #627 from adamjstewart/features/numpy-scipy
Simplify NumPy dependencies
2016-03-24 11:05:09 -07:00
Todd Gamblin
3be081f476 Merge pull request #628 from alfredo-gimenez/develop
Remove incorrect sanity check for libelf
2016-03-24 11:01:46 -07:00
Alfredo Gimenez
254f65f299 Remove incorrect sanity check for libelf 2016-03-24 10:48:38 -07:00
Adam J. Stewart
8643e21913 Simplified NumPy dependencies 2016-03-24 12:34:58 -05:00
Todd Gamblin
b1cd8ea241 Merge pull request #625 from epfl-scitas/pythonpath
Fix : PYTHONPATH missing in module files
2016-03-24 03:25:59 -07:00
alalazo
758a9c9096 python extensions : create PYTHONPATH in module files 2016-03-24 10:57:46 +01:00
Todd Gamblin
7cf1b7ed51 Merge pull request #613 from davydden/superlu_dist_fix_lib
fix superlu-dist lib installation
2016-03-24 02:54:43 -07:00
Todd Gamblin
1306cdd998 Merge pull request #618 from epfl-scitas/fixes/espresso_no_module
fix : no module file gets generated by espresso
2016-03-24 02:53:56 -07:00
Todd Gamblin
4be8472f61 Merge pull request #612 from davydden/mumps_osx
fix MUMPS build on OSX (set parallel=False)
2016-03-24 02:53:29 -07:00
Todd Gamblin
f031bdfbc9 Merge pull request #617 from epfl-scitas/features/disable_modules
feature : module file generation may be disabled via configuration file
2016-03-24 02:52:45 -07:00
Todd Gamblin
e1848c1d28 Merge pull request #624 from davydden/parmetis_gnu
fix parmetis on Ubuntu with GNU compilers by linking to lm
2016-03-24 02:44:40 -07:00
Todd Gamblin
c83d22b5fc Merge pull request #587 from cyrush/cmake_pkg_openssl_as_variant
cmake package: add variant for openssl support
2016-03-24 02:42:39 -07:00
Denis Davydov
9b8b17b6f1 fix parmetis on Ubuntu with GNU compilers by linking to lm 2016-03-24 10:36:02 +01:00
alalazo
e4adc675e5 module files configuration : added default configuration 2016-03-24 10:04:02 +01:00
alalazo
f095e619b9 module files configuration : enable/disable logic is now positive 2016-03-24 09:31:28 +01:00
Peter Scheibel
dbfa6c925e replace references to cache directory with references to new cache object. tests may assign a mock cache but by default it is None (this will avoid any implicit caching behavior confusing unit tests) 2016-03-23 20:18:58 -07:00
Peter Scheibel
ed0f6f75a7 clear test cache before and after each MockPackagesTest (I think Ive got a better way to avoid test fragility but Ill add this for now) 2016-03-23 19:49:28 -07:00
Todd Gamblin
b10a98a3ac Merge pull request #622 from davydden/blasklist_openblas_0216
blacklist Openblas 0.2.16 for missing _dggsvd_ and _sggsvd_
2016-03-23 19:07:11 -07:00
Denis Davydov
4e5dfc8b18 fix missing (depricated) _dggsvd_ and _sggsvd_ in Openblas 0.2.16 2016-03-23 22:09:39 +01:00
Gregory Becker
688eca23ff cleanup 2016-03-23 09:54:57 -07:00
alalazo
acaa589bdd Merge branch 'develop' of https://github.com/LLNL/spack into packages/blas_lapack_providers
Conflicts:
	var/spack/repos/builtin/packages/netlib-lapack/package.py
2016-03-23 17:25:00 +01:00
alalazo
34a8f0c96b espresso : fixes #454 2016-03-23 17:01:52 +01:00
alalazo
d93f2b335d modules : fixed annoying indent 2016-03-23 16:04:36 +01:00
alalazo
0fbdb3f65d modules : added configuration file with disable keyword 2016-03-23 15:54:26 +01:00
Todd Gamblin
cc582dd4b4 Add mock python package. 2016-03-23 02:03:27 -07:00
Todd Gamblin
091fcc3aa9 Merge pull request #599 from davydden/slepc
add Slepc package
2016-03-23 01:53:32 -07:00
Todd Gamblin
a4f5084589 Merge pull request #609 from xjrc/packages/silo
Update Package : Silo
2016-03-23 01:52:56 -07:00
Todd Gamblin
71c976d212 Merge pull request #611 from davydden/p4est
add p4est package
2016-03-23 01:52:38 -07:00
Todd Gamblin
38350ae33d resurrect preferred=True option for packages lost in merge of externals support.
- Pyton 2.7.11 is preferred again.
2016-03-23 01:32:54 -07:00
Denis Davydov
01918a6f48 fix MUMPS build on OSX (set parallel=False) 2016-03-23 09:29:24 +01:00
Todd Gamblin
c4134ee71e Fix #608: broken numpy build.
- Failed to catch all instances of modify_module when it was renamed
  to setup_dependent_package.

- Refactored remaining modify_module calls.

- Also modified Python's setup_dependent_package slightly: only
  creates empty site-packages directory for Python extensions now, not
  for all dependents.
2016-03-23 00:36:32 -07:00
Denis Davydov
5b3c96a9bb fix superlu-dist lib installation 2016-03-23 08:07:45 +01:00
Peter Scheibel
cb9fba98d8 (1) relocate cache for tests (2) initial approach for restoring unit tests (just for git tests although the same concept applies to the other unit tests which are failing - namely those for svn and hg) 2016-03-22 19:37:47 -07:00
Joseph Ciurej
474db2085e Simplified the 'url_for_version' function for the 'Crypto++' package. 2016-03-22 15:55:54 -07:00
Gregory Becker
7c729d4c3c Merged newarch into merge 2016-03-22 15:22:51 -07:00
Denis Davydov
0ee993569f add deal.ii package 2016-03-22 23:04:59 +01:00
Denis Davydov
6c8d51f403 add p4est package 2016-03-22 22:58:14 +01:00
Denis Davydov
24264eb00e add slepc package 2016-03-22 22:44:10 +01:00
Denis Davydov
27f337aa11 petsc: set PETSC_DIR in dependent_env 2016-03-22 22:12:01 +01:00
Todd Gamblin
2d69f386d0 Merge pull request #600 from davydden/arpack_mpi_fix
arpack: fix for +mpi variant
2016-03-22 13:05:55 -07:00
Todd Gamblin
4a15477783 Merge pull request #605 from davydden/hypre_osx
temporary fix Hypre for OSX by building static lib by default
2016-03-22 12:42:14 -07:00
Todd Gamblin
8823a5ac1c Merge pull request #602 from davydden/oce
add OCE package
2016-03-22 12:41:14 -07:00
Todd Gamblin
cb2e6c9d02 Merge pull request #603 from davydden/tbb
add Intel TBB package
2016-03-22 12:40:49 -07:00
Todd Gamblin
4f44431900 Merge pull request #606 from davydden/gettext
add gettext package
2016-03-22 12:38:34 -07:00
Todd Gamblin
20a00c4cdf Merge pull request #607 from davydden/muparser
add muparser package
2016-03-22 12:38:17 -07:00
Joseph Ciurej
1728a0c3e6 Updated the 'crypto++' package to use an improved URL formation scheme (inspired by changes made to the 'Silo' package). 2016-03-22 12:33:11 -07:00
Joseph Ciurej
d05e4581c9 Added the '+silex' variant to the Silo package.
Added a number of different versions to the Silo package.
2016-03-22 12:31:26 -07:00
Denis Davydov
fd1784369a add muparser package 2016-03-22 19:50:15 +01:00
Denis Davydov
5f68e14d3b add gettext package 2016-03-22 19:41:31 +01:00
Kelly (KT) Thompson
1eb7b8cf46 + Add a validate function that refuses to build numdiff if arch is darwin-x86_64. 2016-03-22 12:31:27 -06:00
Cyrus Harrison
e56f5c4d6b add Intel TBB package 2016-03-22 19:21:34 +01:00
Erik Schnetter
7618dc504c temporary fix Hypre for OSX by building static lib by default 2016-03-22 19:18:04 +01:00
Peter Scheibel
75460d8586 URLFetchStrategy.archive does a copy vs. a move now 2016-03-22 10:43:43 -07:00
Kelly (KT) Thompson
1f8d79b69a + Provide a ~perl variant to support building on systems w/o the perl-devel
package installed.
2016-03-22 09:33:49 -06:00
Denis Davydov
d25026b749 add OCE package 2016-03-22 16:26:16 +01:00
Kelly (KT) Thompson
3214cd0d56 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-22 09:24:31 -06:00
alalazo
1664d1b503 travis : removed external directory from the list under coverage 2016-03-22 15:59:58 +01:00
alalazo
6e847b7d76 Merge branch 'develop' of https://github.com/LLNL/spack into qa/coding_standard
Conflicts:
	.travis.yml
2016-03-22 15:57:35 +01:00
Kelly (KT) Thompson
6e0e6d2654 Merge remote-tracking branch 'upstream/develop' into pkg-numdiff 2016-03-22 08:32:56 -06:00
Denis Davydov
6eb97a30a3 arpack: fix for +mpi variant 2016-03-22 14:24:27 +01:00
Todd Gamblin
e32eb7e990 Merge pull request #585 from davydden/mumps_w_parmetis
fix mumps: when installed with parmetis has to be linked with metis
2016-03-22 02:44:04 -07:00
Todd Gamblin
f323f54704 Merge pull request #591 from epfl-scitas/package/llvm
llvm : added version 3.8.0
2016-03-22 02:22:39 -07:00
Todd Gamblin
1a3bdf03c3 Merge pull request #598 from davydden/suite_sparse_rename
Suite sparse rename
2016-03-22 02:15:08 -07:00
Todd Gamblin
eed0ccad73 Merge pull request #597 from davydden/arpack
arpack: add a patch for 3.3
2016-03-22 02:10:14 -07:00
Todd Gamblin
a5a4cce7f1 Merge pull request #582 from KineticTheory/develop
+ Provide fpic variant for netlib-lapack.
2016-03-22 02:05:43 -07:00
Todd Gamblin
a26992ef55 Change from PR #552: rename setup_dependent_python_module -> setup_dependent_package
- Fixed in package.py
- Fixed wrong prototypes in packages that use it.
- Fixed build_environment to set module variables properly
  - added hacky fix to ensure spec/package consistency in build processes.
  - Need to think about defensive spec copy done by `Repo.get`.  May be
    time to think about an immutable spec implementation.
2016-03-22 01:56:16 -07:00
Denis Davydov
cb97e8dd93 adjust eigen and octave to use new names of suite sparse 2016-03-22 09:43:37 +01:00
Denis Davydov
3c5a1605d5 adjust the class name for suite sparse 2016-03-22 09:27:39 +01:00
Denis Davydov
aca8b5c89d move suite sparse to a proper folder 2016-03-22 09:27:00 +01:00
Denis Davydov
23bf70296e arpack: add a patch for 3.3 2016-03-22 09:24:15 +01:00
Todd Gamblin
3f32dd767e Merge pull request #589 from davydden/petsc_osx
fix petsc on osx
2016-03-22 00:33:34 -07:00
Peter Scheibel
41a97c8f80 temporarily wrap archiving with conditional to avoid moving (this still causes a failure on the initial download) 2016-03-21 20:55:23 -07:00
Peter Scheibel
b255f02762 undoing whitespace-only diff 2016-03-21 20:50:26 -07:00
Peter Scheibel
ee5e507ff6 pursuing a strategy using fetch.archive and treating var/spack/cache as a mirror. this should support both URLFetchStrategy as well as VCSFetchStrategy (the previous strategy supported only the former). this won't work until URLFetchStrategy.archive is updated 2016-03-21 20:48:12 -07:00
Kelly (KT) Thompson
7ec450912d + Provide subversion and required packages apr and apr-util.
+ Installation of subversion may need to be modified to include python and perl
  bindings. I have provided comments to this end, but the code is not active.
2016-03-21 21:14:03 -06:00
Kelly (KT) Thompson
039efd55d5 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-21 20:43:22 -06:00
Kelly (KT) Thompson
8bf8617876 Merge remote-tracking branch 'upstream/develop' into pkg-numdiff 2016-03-21 20:42:21 -06:00
Kelly (KT) Thompson
4b46e21685 + Provide package numdiff. 2016-03-21 19:55:54 -06: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
Todd Gamblin
e88df95b42 Remove unused code from modules.py 2016-03-21 16:01:26 -07:00
Todd Gamblin
48b35bb495 Fix print function in uninstall.py 2016-03-21 16:00:50 -07:00
Todd Gamblin
861a235ecb Merge pull request #552 from epfl-scitas/features/env_objects_flying_around
enhancement proposal : customization of module files
2016-03-21 15:56:20 -07:00
Kelly (KT) Thompson
799f1f6768 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-21 16:24:17 -06:00
Todd Gamblin
624e56db6a Merge pull request #592 from mathstuf/paraview-python
Paraview python
2016-03-21 14:59:41 -07:00
Todd Gamblin
77b94f6030 Merge pull request #595 from mplegendre/bugfix/issue-573-concretize-compilers
Bugfix/issue 573 concretize compilers
2016-03-21 14:59:15 -07:00
Matthew LeGendre
5d06daeb5e Add test for issue 573, child with compiler not respected in concretization 2016-03-21 14:28:34 -07:00
Matthew LeGendre
b79fce76cb Fix issue 573 where Spack was ignoring user's compiler preference in concretization 2016-03-21 14:28:07 -07:00
Todd Gamblin
6f9a0e73bb Merge pull request #594 from davydden/superlu_dist
add superlu_dist package
2016-03-21 10:46:03 -07:00
Denis Davydov
953fb35f82 add superlu_dist package 2016-03-21 18:00:32 +01:00
Ben Boeckel
553fff270a paraview: disallow python3
ParaView is not Python3-ready.
2016-03-21 11:55:09 -04:00
Ben Boeckel
8e77f17760 paraview: fix variant description typo 2016-03-21 11:55:09 -04:00
Ben Boeckel
c5c92d50eb paraview: remove trailing whitespace 2016-03-21 11:24:36 -04:00
alalazo
efef229b85 Merge branch 'develop' of https://github.com/LLNL/spack into package/llvm 2016-03-21 16:22:34 +01:00
alalazo
7569204a53 llvm : does not support python 3 2016-03-21 16:18:02 +01:00
Denis Davydov
3a3443dff6 parmetis patches by PETSc developers 2016-03-21 15:14:48 +01:00
alalazo
3fcaf5b903 llvm : update to 3.8.0 2016-03-21 14:47:05 +01:00
Denis Davydov
b926d8a0cd build parmetis against external metis 2016-03-21 14:33:00 +01:00
alalazo
fbeffee91e Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around
Conflicts:
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/netlib-scalapack/package.py
2016-03-21 09:46:49 +01:00
alalazo
aef6d50b08 uninstall : fixed typo (print statement vs. print function) 2016-03-21 09:23:25 +01:00
Denis Davydov
7b283bfaff fix petsc on osx 2016-03-21 07:50:10 +01:00
Cyrus Harrison
bba66cbe28 cmake: depend on openssl when openssl variant=true 2016-03-20 19:27:22 -07:00
Cyrus Harrison
d493658a58 cmake package: add variant for openssl support
The openssl variant defaults to true to preserve spack's
current CMake configuration, which is using OpenSSL.

Signed-off-by: Cyrus Harrison <cyrush@llnl.gov>
2016-03-20 15:32:54 -07:00
Todd Gamblin
c0f0350634 Merge pull request #583 from davydden/openblas_osx
fix openblas suffix for OS-X
2016-03-20 03:37:30 -07:00
Todd Gamblin
6251c97cd5 Merge pull request #584 from davydden/scalapack_osx
fix library scalapack suffix for osx
2016-03-20 03:37:10 -07:00
Denis Davydov
db61a09cf1 fix mumps: when installed with parmetis has to be linked with metis 2016-03-20 09:47:15 +01:00
Denis Davydov
95ad2875b6 fix scalapack suffix for osx 2016-03-20 09:27:07 +01:00
Denis Davydov
620c120503 fix openblas suffix for OS-X 2016-03-20 09:26:11 +01:00
Kelly (KT) Thompson
ed0b5e649d + Provide fpic variant for netlib-lapack. 2016-03-19 20:45:35 -06:00
Todd Gamblin
d02d72e06d Merge pull request #581 from eschnett/eschnett/bash-u
Support Bash "-u" mode
2016-03-19 15:51:29 -07:00
Erik Schnetter
f5f7d47be1 Support Bash "-u" mode 2016-03-19 18:42:39 -04:00
Peter Scheibel
d632266a40 move cache to var/spack/cache 2016-03-18 17:15:45 -07:00
Peter Scheibel
fd067dd8b8 since only archives with checksums can be retrieved from the cache, make sure that an archive without a checksum isnt placed there (this wouldn't cause an error but does waste space and might be confusing) 2016-03-18 17:00:13 -07:00
Peter Scheibel
ac7323118e rename for clarity 2016-03-18 16:34:45 -07:00
Todd Gamblin
c50d6ac902 Merge pull request #578 from LLNL/features/gh-294-abort-build
Features/gh 294 abort build
2016-03-18 16:32:23 -07:00
Peter Scheibel
16fa40b893 (1) add a var/cache directory under spack. (2) downloads from URLFetchStrategy check the cache and skip the download if the source is available there. 2016-03-18 15:50:24 -07:00
Todd Gamblin
e9126baaab Add docs for InstallError. 2016-03-18 13:42:45 -07:00
Todd Gamblin
23f3f1adfe Make InstallError and ExternalPackageError visiible in packages. 2016-03-18 13:32:37 -07:00
Todd Gamblin
741bea032c Merge pull request #574 from LLNL/features/flattener
Created flatten_dependencies function
2016-03-18 12:13:48 -07:00
Gregory Becker
151b04637e changed function name and removed hardcoded libs dir 2016-03-18 11:55:31 -07:00
Gregory Becker
af7e3cadde cleanup 2016-03-18 11:34:07 -07:00
Gregory Becker
76672a4e34 Refactoring flat_install 2016-03-18 11:28:44 -07:00
Todd Gamblin
4e9ba49272 Merge pull request #576 from adamjstewart/features/tar
Add support for .tar files
2016-03-18 11:13:17 -07:00
Adam J. Stewart
6acb830263 Add support for .tar files 2016-03-18 13:03:55 -05:00
Todd Gamblin
fb60d01f6a Merge pull request #569 from drbenmorgan/gcc-suffixes
Add additional suffixes for GCC compiler
2016-03-18 10:15:19 -07:00
Gregory Becker
80495e50f9 added error class for error that should never come up 2016-03-18 09:46:18 -07:00
Gregory Becker
1fa38689d8 Created flatten_dependencies function that dummy packages can use to create sane install environments. 2016-03-18 09:35:56 -07:00
alalazo
491babd5cd env modifications : added a validation rule 2016-03-18 17:09:20 +01:00
alalazo
1e468c5541 modules : added formats mapping 2016-03-18 16:02:44 +01:00
alalazo
ccd90df62f modules : turned category into a property (logic can be extended later) 2016-03-18 15:41:14 +01:00
alalazo
67ca2c704b modules : fixed bug in modify_module arguments 2016-03-18 15:18:26 +01:00
alalazo
5f6f2d5f51 Revert "openssl : solved glitch to prevent spack to freeze when the network is unreachable"
This reverts commit 4cf4bf3a03.
2016-03-18 14:42:24 +01:00
alalazo
ec8cc2b528 PYTHONPATH : python patches methods for its extensions 2016-03-18 14:40:53 +01:00
Ben Morgan
076cc764a7 Add additional suffixes for GCC compiler 2016-03-18 11:26:22 +00:00
alalazo
82ba0c6c07 Merge branch 'bugfix/openssl' into features/env_objects_flying_around 2016-03-18 11:08:55 +01:00
Erik Schnetter
3b24db92b5 Update PAPI to 5.4.3 2016-03-18 11:08:16 +01:00
alalazo
4cf4bf3a03 openssl : solved glitch to prevent spack to freeze when the network is unreachable 2016-03-18 11:05:59 +01:00
alalazo
f9438c75d0 Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around 2016-03-18 10:26:34 +01:00
Erik Schnetter
f3ea0420f8 Import recent changes 2016-03-17 21:53:13 -04:00
Todd Gamblin
179ed7cce6 Merge pull request #566 from eschnett/eschnett/papi
Update PAPI to 5.4.3
2016-03-17 18:52:44 -07:00
Todd Gamblin
1689131043 Merge pull request #567 from eschnett/eschnett/openblas
Update OpenBLAS to 0.2.16
2016-03-17 18:52:32 -07:00
Erik Schnetter
84b7cd593f Merge branch 'develop' into correct-cc
# Conflicts:
#	lib/spack/env/cc
2016-03-17 21:52:24 -04:00
Todd Gamblin
a88c02854a Merge pull request #565 from eschnett/eschnett/curl
Update curl to 7.47.1
2016-03-17 18:52:02 -07:00
Erik Schnetter
1b279cd7ff Update OpenBLAS to 0.2.16 2016-03-17 21:51:26 -04:00
Erik Schnetter
802acb4d16 Update PAPI to 5.4.3 2016-03-17 21:50:21 -04:00
Todd Gamblin
90268876f7 Change sanity_check_[file|dir] to sanity_check_is_[file|dir], per #554
- Add documentation as well.
2016-03-17 18:49:58 -07:00
Erik Schnetter
9e4c757f50 Update curl to 7.47.1 2016-03-17 21:49:36 -04:00
alalazo
e558809043 python : fixed typo 2016-03-17 19:32:31 +01:00
alalazo
ac394718ec python : implemented possible solution 2016-03-17 18:22:07 +01:00
alalazo
e673127263 package : added documentation 2016-03-17 18:11:23 +01:00
alalazo
38c3c84969 environment : added caller information 2016-03-17 17:37:33 +01:00
alalazo
3da4d6664b environment : simplified hierarchy according to comments in review 2016-03-17 15:38:08 +01: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
9cdd79e33f modules : restored previous logic for path inspection 2016-03-17 14:14:18 +01:00
Kelly (KT) Thompson
f07d4c9439 + Provide ~perl and ~shared variants. 2016-03-16 21:30:41 -06:00
Todd Gamblin
63f9f4291a Merge pull request #560 from citibeth/efischer/160316-GitFix
Disabled Vulnerable Git Versions
2016-03-16 14:03:33 -07:00
becker33
d46d897ac9 Merge pull request #559 from adamjstewart/typos/mirrors
Fix grammar in mirrors documentation
2016-03-16 13:32:12 -07:00
citibeth
fa2a66db67 1. Disabled git versions known to have vulnerabilities.
2. Added autoconf command to allow building directly from GitHub source.
2016-03-16 15:46:59 -04:00
Adam J. Stewart
bb04d5cc63 Fix grammar in mirrors documentation 2016-03-16 14:27:22 -05:00
Todd Gamblin
905549ea2d Merge pull request #555 from epfl-scitas/packages/binutils
Adding latest version in binutils
2016-03-16 08:39:13 -07:00
Todd Gamblin
39a792adda Merge pull request #554 from LLNL/features/sanity-check-paths
Add sanity check paths to packages; fix #505
2016-03-16 08:38:47 -07:00
alalazo
ac762e95a6 modules : removed dead code 2016-03-16 16:23:02 +01:00
alalazo
597727f8be tclmodules : added hooks to process EnvironmentModifications objects 2016-03-16 15:19:13 +01:00
Nicolas Richart
9c29966674 Change urls in binutils to help 'spack checksum/versions' + adding latest version 2016-03-16 12:57:17 +01:00
alalazo
b45ec3f04e environment : simplified modification of the environment 2016-03-16 10:55:28 +01:00
alalazo
b2c98feea4 Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around 2016-03-16 09:02:35 +01:00
Todd Gamblin
68d22253ec Add sanity checks to the libelf build. 2016-03-15 17:22:48 -07:00
Todd Gamblin
7eca383b10 Add sanity check paths to packages; fix #505 2016-03-15 17:16:04 -07:00
Matthew LeGendre
108ea1522a Merge pull request #549 from LLNL/bugfix/gh538-less-greedy-concretize
Bugfix/gh538 less greedy concretize
2016-03-15 16:18:54 -07:00
Todd Gamblin
15bbd088e6 Fix #551: version bug in spack create
- `spack create` now sets a proper version in generated file, based on
  the filename, even if it can't find any tarballs for the package.
2016-03-15 14:38:06 -07:00
Todd Gamblin
d8a402ae5b Add compiler info and a simple libdwarf build to the checks. 2016-03-15 14:33:10 -07:00
Todd Gamblin
23ba0c3396 Merge pull request #546 from citibeth/efischer/160313-DIYTypoBug
Small bug in DIY found and fixed.
2016-03-15 11:33:11 -07:00
Todd Gamblin
cdd2ea3067 Merge pull request #537 from adamjstewart/features/octave
Add GNU Octave package
2016-03-15 11:23:40 -07:00
alalazo
c8cc6f4fc1 test : fix for python 2.6 2016-03-15 16:59:29 +01:00
alalazo
ccced9f290 package : optimized imports 2016-03-15 15:12:39 +01:00
alalazo
cc3d9f4eb7 environment : added test, modified docs 2016-03-15 15:09:35 +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
alalazo
bcea1df01c environment : refactoreded set_build_environment_variables 2016-03-15 10:49:33 +01:00
alalazo
f20247ae55 environment : refactoreded set_compiler_environment_variables 2016-03-15 10:08:54 +01:00
Adam J. Stewart
0d9a6d3c25 Updates to qrupdate 2016-03-14 14:19:30 -05:00
alalazo
f9923452b3 environment : added machinery to collect modifications to the environment and apply them later 2016-03-14 14:35:48 +01:00
Todd Gamblin
f2761270f3 Make concretization less greedy: add backtracking for virtuals.
- `_expand_virtual_packages` now gets a candidate list and will try
  all the candidates.

  - Good news: If the first virtual in the list conflicts with something else in
               the spec, we'll keep trying until we find a good one.

  - Bad news: Only looks as far as the next normalize(); can't see
              conflicts further ahead than that if they're inevitable
              some other virtual expansion.

- Refactor `concretize.py` to keep all the nasty spec graph stitching in
  `spec.py`. This is more similar to before externals support.

  - `concretize.py` now just returns a list of candidates sorted by
    ABI compatibility to `_expand_virtual_packages`, and `spec.py`
    handles testing the candidates.

- Refactor the way external paths are handled in `config.py` and `concretize.py`:

  - previously, `spec_externals` returned spec/path pairs.  Now it
    returns specs with `external` set. Makes code in `concretize.py`
    more natural.
2016-03-14 05:04:01 -07:00
Todd Gamblin
f45b8b1083 Add some tests for packages with multiple virtual dependencies.
- Added mock `hypre` package, depends on `lapack` and `blas`.

- test cases where some packages provide both `lapack` and `blas`, but
  others do not.
2016-03-14 05:02:50 -07:00
Todd Gamblin
05c761dee9 Add package_class method to spec.
- Shouldn't call .package from within things like normalize() and
  concretize() beacuse spec may be inconsistent.

- Add `.package_class` property so that we can get at package metadata
  without constructing a Package with a Spec.

- should be faster than `.package` was, anyway. Use where possible.
2016-03-14 04:59:29 -07:00
Todd Gamblin
003fd4d834 Optimize __eq__ and __ne__ in key_ordering
- use `is` when possible before calling `_cmp_key()`
2016-03-14 04:55:30 -07:00
Todd Gamblin
ec42db62a3 Merge pull request #547 from eschnett/eschnett/tmux
Update tmux
2016-03-13 20:39:15 -07:00
Erik Schnetter
8b715d9c3f Update tmux 2016-03-13 21:31:48 -04:00
Elizabeth F
5c865b9b70 Fixed typo in typo fix. 2016-03-13 19:44:04 -04:00
Elizabeth F
6f26c45143 Fixed typo bug. Made error comment more explicit 2016-03-13 19:41:09 -04:00
Elizabeth F
3383486adc Fixed typo bug. Made error comment more explicit 2016-03-13 19:39:45 -04:00
Elizabeth F
0426796d9f Fixed typo 2016-03-13 18:14:38 -04:00
Elizabeth F
030e8dd1ac Removed Python 2.7-style string formatting 2016-03-13 18:04:23 -04:00
Elizabeth F
4c9a52044a Fixed CMakePackage import 2016-03-13 15:18:24 -04:00
citibeth
857f791286 Add missing import. 2016-03-13 00:40:50 -05:00
citibeth
9885f1a19e Fix for Python 2.6 2016-03-13 00:34:46 -05:00
citibeth
003957a689 Reverted bad change 2016-03-13 00:33:13 -05:00
Elizabeth F
c1a8574d8f Fixed for Python 2.6 2016-03-13 00:29:40 -05:00
citibeth
4236157823 (1) Added "spack spconfig" command.
(2) Neatened up the spconfig.py auto-generated file.
2016-03-13 00:13:00 -05:00
Todd Gamblin
a6389eb7de Merge pull request #542 from citibeth/efischer/160311-MiscUpdates
Misc. Updates
2016-03-12 14:51:05 -08:00
Elizabeth F
90bb855ffa A new subclass StagedPackage(Package) is introduced. This PR should
not change the behavior for existing packages that subclass from
spack.Package.

If a package subclasses spack.StagedPackage instead of spack.Package,
the install() phase (run inside a forked process) is now separated
into sub-stages:

    a) spconfig: Generate a script spconfig.py that will configure the
       package (eg by running CMake or ./configure) This is for use if
       the user wishes to build externally from Spack.  Therefore, the
       Spack compiler wrappers are NOT used here.  Currently, that
       means that RPATH support is up to the user.

    b) configure: Configure the project (eg: runs configure, CMake,
       etc).  This will configure it for use within Spack, using the
       Spack wrapper.

    c) build: eg: "make"

    d) install: eg: "install"

If one chooses to use StagedPackage instead of Package, then one must
implement each of the install sub-stages as a separate method.
StagedPackage.install() then calls each of the sub-stages as
appropriate.

StagedPackage can be configured to only run certain sub-stages.  This
is done by setting the optional kwarg install_phases when calling
do_install().  Setting install_phases() ONLY has an effect on
StagedPackage, not on any existing packages.  By default,
install_phases is set to make StagedPackage run the same stages that
are normally run for any package: configure, build, install (and NOT
spconfig).

The ability for Spack to run stages selectively for StagedPackage
instances will enable new functionality.  For example, explicit
CMake/Autotools helpers that allow Spack to help configure a user's
project without fetching, building or installing it.

-------------

One implementation of StagedPackage is provided, CMakePackage.  This
has the following advantage for CMake-based projects over using the
standard Package class:

  a) By separating out the phases, it enables future new functionality
     for packages that use it.

  b) It provides an implementation of intall_spconfig(), which will
     help users configure their CMake-based projects.

CMakePackage expects users to implement configure_args() and
configure_env().  These methods provide the package-specific arguments
and environment needed to properly configure the package.  They are
placed in separated functions because they are used in both the
spconfig and configure stages.

TODO:

1. Generate spconfig.py scripts that are more readable.  This allows
   the users to understand how their project is configured.

2. Provide a practical way for the user to ACCESS the spconfig stage
   without building the project through Spack.

3. The CMAKE_TRANSITIVE_INCLUDE_PATH stuff needs to be reworked; it
   should be considered provisional for now.

4. User of Autotools might wish to make a similar ConfigurePackage
   subclass of StagedPackage.

---------------

One package using CMakePackage is introduced.  See ibmisc/package.py.
2016-03-11 23:30:38 -05:00
Elizabeth F
7cd478418d New version of LAPACK 2016-03-11 23:28:36 -05:00
Elizabeth F
90f2e40ff9 Added comment to Emacs. 2016-03-11 23:28:16 -05:00
Adam J. Stewart
145390c7f3 Add gl2ps and qrupdate packages 2016-03-11 16:57:37 -06:00
Todd Gamblin
1179217334 Add compiler info and a simple libdwarf build to the checks. 2016-03-11 13:33:56 -08:00
Todd Gamblin
081bdd0828 Merge pull request #528 from citibeth/efischer/160309-Emacs
Added Emacs package
2016-03-11 13:31:58 -08:00
Adam J. Stewart
6ec65cd4ca Add GNU Octave package 2016-03-11 15:03:37 -06:00
becker33
3060f27909 Merge pull request #536 from adamjstewart/fixes/doc_typos
Documentation typo fixes
2016-03-11 10:53:57 -08:00
Adam J. Stewart
bae03404f4 Documentation typo fixes 2016-03-11 12:51:45 -06:00
Matthew LeGendre
1c7f754e5b Invert and rename the nobuild option in package.yaml configs to buildable. 2016-03-11 10:04:08 -08:00
Todd Gamblin
4574f768ef Merge pull request #526 from KineticTheory/develop
Provide instructions for cmake/3.5.0 (plus 2 new variants) and qt/5.4.2
2016-03-11 09:20:47 -08:00
Kelly (KT) Thompson
f5e8857c5e + Rename variant 'sphinxbuild' to 'doc' as recommended in the discussion of
PR#526. Also, remove a debug print statement that was accidentally committed.
2016-03-11 09:51:12 -07:00
alalazo
1d70b590fc build_environment : fixed minor spelling errors and a few style issues 2016-03-11 13:20:57 +01:00
Todd Gamblin
f40c78a064 Merge pull request #532 from mplegendre/bugfix/ordering_satisfies
Fix issue with preferred satisfies not being respected
2016-03-10 21:50:40 -08:00
Matthew LeGendre
ac88cab68f Fix issue with preferred satisfies not being respected 2016-03-10 17:00:27 -08:00
Todd Gamblin
30df1c838d Merge pull request #531 from mplegendre/bugfix/github-530
Fix type error that was causing mis-ordering of compiler versions
2016-03-10 16:31:52 -08:00
Matthew LeGendre
4693af0736 Fix type error that was causing mis-ordering of compiler versions 2016-03-10 16:23:35 -08:00
Todd Gamblin
2bbf42b49d Indentation change. 2016-03-10 16:18:11 -08:00
Todd Gamblin
670024cf77 Merge branch 'mplegendre-features/external-packages' into develop 2016-03-10 10:07:08 -08:00
Todd Gamblin
caf6dc0f05 Merge pull request #451 from epfl-scitas/fixes/intel_openmpi
Fix : OpenMPI with Intel compiler (and similar issues)
2016-03-10 09:47:59 -08:00
Kelly (KT) Thompson
280384fce3 Merge remote-tracking branch 'upstream/develop' into develop 2016-03-10 09:09:16 -07:00
alalazo
30adc4c9b8 cc : handle spaces in folders? 2016-03-10 14:59:31 +01:00
alalazo
78ef0618bc cc : converted indents to spaces 2016-03-10 14:35:09 +01:00
Massimiliano Culpo
b9fcae8da6 Merge branch 'fixes/intel_openmpi' of github.com:epfl-scitas/spack into fixes/intel_openmpi 2016-03-10 14:11:14 +01:00
Massimiliano Culpo
7ae6c62ddb Fixed shell quoting error 2016-03-10 14:08:43 +01:00
Massimiliano Culpo
835b47c196 Merge branch 'develop' of https://github.com/LLNL/spack into fixes/intel_openmpi 2016-03-10 13:18:03 +01:00
Todd Gamblin
c4fddcc6e9 Add 'provders' back into packages.yaml schema 2016-03-10 03:15:49 -08:00
Todd Gamblin
b637f75164 Merge branch 'mplegendre-features/external-packages' into develop 2016-03-10 02:04:44 -08:00
alalazo
4f14db8af2 netlib-lapack : optional dependency on external blas 2016-03-10 10:34:51 +01:00
Todd Gamblin
82b7067fdf Refactored external packages slightly.
- Move `Spec.__cmp__` out of spec, into concretize as `cmp_specs`.
  - `Spec.__cmp__` was never called (except explicitly) due to rich
    comparison operators from `key_ordering`

- Refactor `_find_other_spec` to free function `find_spec`. Add a test
  for it to make sure it works.
2016-03-10 01:29:55 -08:00
Todd Gamblin
1fe196f95c whitespace and formatting 2016-03-10 01:29:55 -08:00
Todd Gamblin
048c406f49 Remove vestigial variants in directory name. 2016-03-10 01:29:54 -08:00
Todd Gamblin
b0572a5462 Minor tweaks to abi code. 2016-03-10 01:29:54 -08:00
Todd Gamblin
0244d794cd remove unnecessary import 2016-03-10 01:29:54 -08:00
Todd Gamblin
b0377da771 update mirror config documentation.
- mirrors.yaml uses Spack's OrderedDict rather than lists.
2016-03-10 01:29:53 -08:00
Todd Gamblin
ad6625456e Merge pull request #513 from alfredo-gimenez/develop
Variants and fixes to thrift package
2016-03-10 00:59:15 -08:00
Todd Gamblin
c31f797ab0 Merge pull request #527 from LLNL/bugfix/github-525
Bugfix/GitHub 525
2016-03-10 00:58:23 -08:00
Elizabeth F
b701aa10d4 Fixed up 2016-03-09 21:21:25 -05:00
Elizabeth F
267e83d8a7 Added emacs package. 2016-03-09 21:16:50 -05:00
Todd Gamblin
bf1639e044 Merge pull request #522 from epfl-scitas/bugfix/mpfr
change of url for mpfr
2016-03-09 17:17:23 -08:00
Todd Gamblin
52cdcdde76 Fix #525: sbang handles symlinks & directories properly. 2016-03-09 17:15:10 -08:00
Todd Gamblin
f56939c16c Add unit test for sbang patching. 2016-03-09 17:13:41 -08:00
Kelly (KT) Thompson
d51c8997ee Merge branch 'develop' of https://github.com/KineticTheory/spack into develop 2016-03-09 18:01:14 -07:00
Kelly (KT) Thompson
23cbc2b1d9 + Provide download/build instructions for qt/5.4.2.
- This version provides updates to provided cmake scripts that are required
    for building cmake-gui.
+ Provide download/build instructions for version 3.5.0.
  - When building the +qt variant, add a validate function to ensure that
    qt-5.4.0 is not used (this version of qt has errors related to cmake).
2016-03-09 17:59:39 -07:00
Matthew LeGendre
dd0ae255ad Merge branch 'features/external-packages' of github.com:mplegendre/spack into features/external-packages
Conflicts:
	lib/spack/docs/site_configuration.rst
2016-03-09 16:18:37 -08:00
Matthew LeGendre
1f06dd40f7 Update documentation for new packages.yaml config format. 2016-03-09 16:11:53 -08:00
Matthew LeGendre
a384ad5b12 Fix problem with pure integer arguments in preferred versions list (e.g, 2 instead of 2.7.3) 2016-03-09 16:11:33 -08:00
Todd Gamblin
ca10229565 Fixes #524
- Had attempted to add more functionality by assigning different
  meanign None, True, and False values "keep_stage" (where False was
  "always delete").

- Turns out that's not really worth the complexity.  Having the third
  "always delete" sense is hardly ever useful but makes the code hard
  to understand.
2016-03-09 14:56:21 -08:00
Nicolas Richart
6e82ab1f15 change of url for mpfr 2016-03-09 21:18:44 +01:00
Kelly (KT) Thompson
8c96ca42d5 Merge branch 'pkg-qt' into develop. 2016-03-09 12:39:36 -07:00
Todd Gamblin
b93a2ba1cf Merge pull request #520 from LLNL/bugfix/remove-hdf5-unsupported-variant
Removing `unsupported` variant from HDF5.
2016-03-09 11:39:06 -08:00
Kelly (KT) Thompson
113e942c3c Merge remote-tracking branch 'upstream/develop' into develop. 2016-03-09 12:38:48 -07:00
Todd Gamblin
e6a3468598 Merge pull request #519 from LLNL/features/more-petsc-fixes
Merge @citibeth and @alalazo's petsc fixes from #515 and #517
2016-03-09 11:36:27 -08:00
Todd Gamblin
45ef496dd5 Add some descriptive language to a list comprehension. 2016-03-09 11:26:37 -08:00
Alfredo Adolfo Gimenez
383e73a5f5 Remove unneccessary depends_on 2016-03-09 11:25:51 -08:00
Kelly (KT) Thompson
a4d40177fd + Provide download/build instructions for qt/5.4.2.
- This version provides updates to provided cmake scripts that are required
    for building cmake-gui.
2016-03-09 12:20:21 -07:00
Todd Gamblin
d06ebf23d4 Removing unsupported variant from HDF5.
- `unsupported` shouldn't be a variant.
2016-03-09 11:16:35 -08:00
Matthew LeGendre
87db69478d Merge branch 'develop' into features/external-packages
Conflicts:
	lib/spack/spack/package.py
2016-03-09 11:09:37 -08:00
Todd Gamblin
b43c277dc6 Merge @citibeth and @alalazo's petsc fixes from #515 and #517 2016-03-09 10:55:50 -08:00
Todd Gamblin
ad7d89b165 Merge branch 'efischer/160309-HypreFix' of git://github.com/citibeth/spack into citibeth-efischer/160309-HypreFix 2016-03-09 10:54:08 -08:00
Todd Gamblin
8ac1752743 Merge pull request #501 from adamjstewart/patches/m4
Add patch to allow PGI to build M4
2016-03-09 10:29:48 -08:00
Luigi Calori
bf4d51ea0b fix error exit when doing spack patch without parameters, same as spack stage 2016-03-09 09:27:53 -08:00
Adam J. Stewart
8e76cda200 Patch config.hin, not extern-inline.m4 2016-03-09 10:41:31 -06:00
Todd Gamblin
ca343889fc Merge pull request #517 from epfl-scitas/packages/petsc
Improved package : petsc
2016-03-09 08:39:41 -08:00
alalazo
4887936809 Merge branch 'develop' of https://github.com/LLNL/spack into fixes/intel_openmpi 2016-03-09 15:57:31 +01:00
alalazo
24fe8699ea Merge branch 'develop' of https://github.com/LLNL/spack into packages/petsc 2016-03-09 14:37:14 +01:00
alalazo
f01d1c4385 petsc : added variants and logic to build various flavors 2016-03-09 14:36:37 +01:00
Elizabeth F
c67b922185 Added shared library capability. 2016-03-09 00:34:08 -05:00
Elizabeth F
5b22873b3d Fixed issues with hypre:
1. --with-lapack-lib was wrong.
2. --with-MPI was wrong; set env vars for MPI wrappers instead.
3. Added version 2.10.1
4. Added shared library variant (True by default).  Hypre can build shared or static libraries, but not both in the same build.
2016-03-09 00:27:25 -05:00
Todd Gamblin
9c61843737 Fix bugs in DIYStage: fetch & context handling.
- DIYStage needs to be a context handler
- DIYStage.fetch needs to take 2 args.
2016-03-08 13:58:41 -08:00
Todd Gamblin
df84677d16 Make diy generate verbose build output by default.
- added -q option to shut it up
2016-03-08 13:57:13 -08:00
Todd Gamblin
a1be45d0e7 Fix bug with setting module-scope vars in derived package classes. 2016-03-08 13:56:44 -08:00
Alfredo Gimenez
0c7d0c0b6c Variants and fixes to thrift package 2016-03-08 12:26:40 -08:00
Todd Gamblin
a4861a3072 Minor changes/bugfixes on md5/checksum PR 2016-03-08 10:39:46 -08:00
Adam J. Stewart
e0e545774a Add more versions to Autotools 2016-03-08 12:15:40 -06:00
Todd Gamblin
747855b960 Merge branch 'fixes/md5' of git://github.com/epfl-scitas/spack into epfl-scitas-fixes/md5 2016-03-08 09:12:57 -08:00
Todd Gamblin
31cebb969a Merge pull request #504 from LLNL/bugfix/github-502
Bugfix/GitHub 502: Error: No spec file found at path
2016-03-08 03:43:52 -08:00
Todd Gamblin
214deeda54 Merge branch 'features/noexpand' into develop
Conflicts:
	lib/spack/llnl/util/filesystem.py
2016-03-08 03:29:57 -08:00
Todd Gamblin
5aadb6df19 Fixes #502. Create install prefix before build, clean up do_install.
- Fix bug introduced during merge of stage refactor.
  - install prefix was not created before build_environment.fork()
    - build_environment.fork() calls setup_dependent_environment
    - python's setup_dependent_environment can inadvertently create
      the install prefix before directory_layout expects it.

- Clean up Package.do_install:
  - simplify control flow: parent process now entirely responsible for
    creating/destroying the install prefix. cleanup is now in one place.
  - Hoisting cleanup out of the child improves nesting of try/catch in
    `real_work`.
  - `real_work` renamed to `build_process`
2016-03-08 02:50:26 -08:00
Todd Gamblin
18ce5ccf8f Avoid race in pango's make install, set parallel=False 2016-03-08 02:49:11 -08:00
alalazo
77ec27c730 fixed bug : similar issues in checksum and md5 as were solved in ad103dcafa 2016-03-08 11:09:41 +01:00
Adam J. Stewart
b7750cf61c Autoreconf is necessary after patch 2016-03-07 15:52:22 -06:00
Adam J. Stewart
1e7d946d91 Add patch to allow PGI to build M4 2016-03-07 12:37:51 -06:00
Todd Gamblin
96e1b2d25c Merge pull request #486 from RemoteConnectionManager/paraview_fix
Paraview new version
2016-03-07 02:48:12 -08:00
Todd Gamblin
bff7107f56 Merge pull request #491 from citibeth/efischer/160229-NewPackages-2
(2) New packages added: blitz, netcdf-cxx4, netcdf-fortran, proj, udunits2
2016-03-07 02:45:37 -08:00
Todd Gamblin
4d1703fc06 Merge branch 'features/repos-doc-fix' into develop 2016-03-07 02:40:59 -08:00
Todd Gamblin
12ddf241a5 Fix code block in docs. 2016-03-07 02:39:14 -08:00
Todd Gamblin
547933e7e4 Fix bug in -Xlinker argument handling
- also update test to match.
2016-03-07 01:48:26 -08:00
Todd Gamblin
f2bcc6cc35 Merge branch 'eschnett/rpath-comma' of git://github.com/eschnett/spack into eschnett-eschnett/rpath-comma 2016-03-06 23:50:14 -08:00
Todd Gamblin
153841f91a Merge pull request #500 from eschnett/eschnett/openssl-update
Update OpenSSL to 1.0.2g
2016-03-06 21:30:38 -08:00
Erik Schnetter
a399451e1e Update OpenSSL to 1.0.2g 2016-03-06 23:34:48 -05:00
Erik Schnetter
265ef337a8 Don't quote -rpath literal 2016-03-06 23:27:30 -05:00
Todd Gamblin
108277fb5d Fix docs that have gone stale since repos were added. 2016-03-06 19:32:00 -08:00
Todd Gamblin
ada675dea2 Merge branch 'features/sbang' into develop
Conflicts:
	lib/spack/llnl/util/filesystem.py
2016-03-06 19:30:19 -08:00
Todd Gamblin
1ee90a6fe7 Make spack_cc, spack_cxx, spack_f77, spack_fc available in build env.
- Add for convenience for packages that need to refer to these.
- Added an example in the documentation.
2016-03-06 16:57:30 -08:00
Todd Gamblin
240ada5775 Add expand=False option for URL downloads.
- Allows skipping the expand step for downloads.
  - Fixed stage so that it knows expansion didn't fail when there is a
    no-expand URLFetchStrategy.

- Updated docs to reflect new option, and provided an example.
2016-03-06 16:51:09 -08:00
Todd Gamblin
e515042a36 Fix stage creation bug, simplify do_install code. 2016-03-06 01:41:48 -08:00
citibeth
ae87948a23 Fixed URLs
Removed vestigal mpi variant in netcdf-fortran
2016-03-05 23:05:45 -05:00
Todd Gamblin
ad103dcafa Small refactor: add keep parameter to stage, get rid of stage.destroy call.
- package.py uses context manager more effectively.

- Stage.__init__ has easier to understand method signature now.
  - keep can be used to override the default behavior either to keep
    the stage ALL the time or to delete the stage ALL the time.
2016-03-05 20:00:30 -08:00
Todd Gamblin
14d48eba46 Revert c5d9ee8924 for bug fixes.
- This reverts commit c5d9ee8924.

- merged too soon before
- reverting and fixing bugs now.

Conflicts:
	lib/spack/spack/mirror.py
	lib/spack/spack/package.py
2016-03-05 18:40:28 -08:00
Todd Gamblin
c59546fae0 Merge branch 'adamjstewart-features/libsigsegv' into develop 2016-03-05 15:15:08 -08:00
Todd Gamblin
7d847f4dc4 Minor tweaks to m4 -- be sure to add sigsegv args explicitly. 2016-03-05 15:14:21 -08:00
Todd Gamblin
07255da6e9 Merge branch 'features/libsigsegv' of https://github.com/adamjstewart/spack into adamjstewart-features/libsigsegv 2016-03-05 15:06:49 -08:00
Adam J. Stewart
220b6a9fee Make libsigsegv an optional dependency 2016-03-05 16:46:32 -06:00
Todd Gamblin
24f0757d82 Merge pull request #343 from adamjstewart/features/mpc
Add different URL for older source code
2016-03-05 14:37:43 -08:00
Todd Gamblin
3dd630d0a5 Make openssl a variant in libevent. 2016-03-05 14:33:23 -08:00
Todd Gamblin
0b864aacdc Merge branch 'eschnett/libevent' of https://github.com/eschnett/spack into eschnett-eschnett/libevent 2016-03-05 14:23:06 -08:00
Todd Gamblin
ac67f3b53e Merge pull request #487 from spakin/llvm-3.7.1
Added LLVM 3.7.1 support
2016-03-05 14:19:31 -08:00
Todd Gamblin
097df180e2 Merge pull request #493 from adamjstewart/features/pgi
Modifications to get PGI working
2016-03-05 14:19:15 -08:00
Todd Gamblin
a9d7135c19 Merge pull request #495 from alfredo-gimenez/develop
Fixed unmatched function signature for do_fetch in jdk package
2016-03-05 14:16:09 -08:00
Todd Gamblin
bfce2c7508 Fix bug in hook: ensure bin directory exists before listing. 2016-03-05 04:42:52 -08:00
Todd Gamblin
fc6aa7374a Fix #104, #54: issues with overlong shebang in deep directories.
This does several things:

- Add `sbang`: a script to run scripts with long shebang lines.
  - Documentation for `sbang` is in `bin/sbang`.

- Add an `sbang` hook that filters the `bin` directory after install
  and modifies any scripts wtih shebangs that are too long to use
  `sbang` instead.

- `sbang` is at the top level, so it should be runnable (not much we
  can do if spack itself is too deep for shebang)
  - `sbang`, when used as the interpreter, runs the *second* shebang
    line it finds in a script.
  - shoud fix issues with too long shebang paths.
2016-03-05 04:18:48 -08:00
Todd Gamblin
8d2538f205 Merge pull request #496 from LLNL/features/zfp
Adding zfp package.
2016-03-04 17:11:04 -08:00
Mark Miller
f663d37da7 Adding zfp package. 2016-03-04 17:08:11 -08:00
Alfredo Gimenez
f90eaa5f46 Fixed unmatched function signature for do_fetch in jdk package 2016-03-04 14:53:08 -08:00
becker33
6449e8b1b9 Merge pull request #492 from adamjstewart/typos/compiler
Typo fix in compiler docstring
2016-03-04 14:25:56 -08:00
Adam J. Stewart
a7b918837e GNU m4 depends on libsigsegv 2016-03-04 15:22:28 -06:00
Todd Gamblin
dce691e15d Merge pull request #489 from citibeth/efischer/160303-RemovePeriods
Removed periods.  Should help use of cut'n'paste from console windows.
2016-03-04 09:09:26 -08:00
Elizabeth Fischer
648d08eb30 Update package.py
Updated homepage URL to general NetCDF homepage.
2016-03-04 12:05:43 -05:00
Elizabeth Fischer
b043c4a5b8 Update package.py
Removed comments on configure options.
2016-03-04 12:04:41 -05:00
Adam J. Stewart
5db9673904 Typo fix in compiler docstring 2016-03-04 10:51:41 -06:00
Elizabeth F
0eb6ef2cd0 1. Removed fake MPI dependency from netcdf-cxx4 and netcdf-fortran.
2. Removed Fortran bootstrap variant from netcdf.  Users who need NetCDF Fortran interface should install netcdf-fortran.

3. Added result of ./configure --help on the netcdf-fortran.  Verified  the package has no additional options that should be exposed through Spack.
2016-03-04 11:14:52 -05:00
alalazo
a2af4940aa atlas : disabling parallel builds 2016-03-04 09:59:16 +01:00
alalazo
310099d888 atlas : provides blas and lapack 2016-03-04 09:32:01 +01:00
citibeth
202fbc6812 Rmoved periods. Should help use of cut'n'paste from console windows. 2016-03-03 23:40:29 -05:00
Adam J. Stewart
311d71ec86 Modifications to get PGI working 2016-03-03 16:50:51 -06:00
Todd Gamblin
5af543dc4a Merge pull request #488 from LLNL/revert-477-refactoring/stage
Revert "refactoring proposal : turn Stage into a context manager"
2016-03-03 14:46:52 -08:00
Todd Gamblin
c5d9ee8924 Revert "refactoring proposal : turn Stage into a context manager" 2016-03-03 14:41:20 -08:00
Scott Pakin
7183db1b7d Added LLVM 3.7.1 support 2016-03-03 11:30:57 -07:00
Luigi Calori
a531a4f5e3 help spack versions paraview to get versions without v 2016-03-03 18:00:50 +01:00
alalazo
63ae407169 netlib-lapack : unified build with netlib-blas
openssl : updated version
py-numpy : updated dependencies
2016-03-03 16:39:21 +01:00
Luigi Calori
1b6909dd9b Merge branch 'develop' of https://github.com/RemoteConnectionManager/spack into paraview_fix 2016-03-03 16:38:43 +01:00
Luigi Calori
f5cc63156c Merge branch 'develop' of https://github.com/RemoteConnectionManager/spack into paraview_fix
merge upstream develop
2016-03-03 12:43:38 +01:00
Todd Gamblin
e5276856cb Merge pull request #477 from alalazo/refactoring/stage
refactoring proposal : turn Stage into a context manager
2016-03-03 02:30:47 -08:00
alalazo
db92699c02 test : fixed tests that were broken by import optimization 2016-03-03 11:05:36 +01:00
alalazo
7f4a69319a Merge branch 'develop' of https://github.com/LLNL/spack into refactoring/stage
Conflicts:
	lib/spack/spack/package.py
2016-03-03 10:19:45 +01:00
alalazo
5ef3621556 stage : minor syntax fix 2016-03-03 10:10:30 +01:00
Todd Gamblin
6701977f1a Merge pull request #475 from LLNL/features/env-and-package-provenance
Features/env and package provenance
2016-03-03 00:42:40 -08:00
alalazo
353d12d2e6 stage : added create function as decided in #477 comments 2016-03-03 09:18:47 +01:00
alalazo
717bcb8624 test : optimized import statements 2016-03-03 09:17:49 +01:00
Gregory Becker
4f9a309de8 made spack more conservative in compiler strategies attempted 2016-03-02 16:35:02 -08:00
Gregory Becker
487b2495a1 made spack more conservative in compiler strategies attempted 2016-03-02 16:33:10 -08:00
Mario Melara
2b48728741 Changed os subclasses CNL to change attribute to MODULES 2016-03-02 16:15:34 -08:00
Mario Melara
58efe1550d Default PATH arg 2016-03-02 16:14:42 -08:00
Gregory Becker
16d8c25b23 fixed floating 'target' 2016-03-02 16:12:32 -08:00
Gregory Becker
65d4169f00 fixed type/bug 2016-03-02 16:03:11 -08:00
Gregory Becker
ffb9574312 fixed type/bug 2016-03-02 15:59:23 -08:00
citibeth
976d0240c4 Removed FIXMEs. 2016-03-02 18:58:47 -05:00
Gregory Becker
6e7b00a0f6 Made module handling much saner and safer 2016-03-02 15:54:23 -08:00
Mario Melara
b4298979fe Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-03-02 14:18:19 -08:00
Gregory Becker
676591ffc0 fixed a bug and a test bug 2016-03-02 14:17:46 -08:00
Mario Melara
975cba295b Added 'better' tests 2016-03-02 14:16:57 -08:00
Mario Melara
e46bac19fa Changed architecture to dict 2016-03-02 12:09:02 -08:00
Mario Melara
90e90f61c1 Got rid of the compiler strategy from target 2016-03-02 12:08:43 -08:00
Mario Melara
47c8e1366f Changed to_dictionary and from_dictionary methods 2016-03-02 12:08:17 -08:00
Gregory Becker
25f20b1967 bug hunting 2016-03-02 11:40:21 -08:00
Todd Gamblin
51f60f3a1e Merge pull request #479 from glennpj/cpath
Add CPATH pointing to include directories.
2016-03-02 11:24:25 -08:00
Glenn Johnson
6bbadbfaac Add CPATH pointing to include directories. 2016-03-02 13:18:43 -06:00
Mario Melara
340ecf6e9a Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-03-02 11:07:52 -08:00
Gregory Becker
86e90bba87 another partial, narrowing in on proper arch 2016-03-02 11:05:05 -08:00
Mario Melara
81e236b2de Changed Arch to class instead of namedtuple. Now platform is automatically set upon creation of class 2016-03-02 11:04:55 -08:00
Gregory Becker
45887dec8e partial work on bug hunting 2016-03-02 10:56:46 -08:00
Mario Melara
f27f2f8e49 Fixed some indentation errors 2016-03-02 10:27:12 -08:00
Mario Melara
4d74784209 Changed add_architecture_from_string and split the work done into two methods add_target_from_string and add_operating_system_from_string 2016-03-02 10:27:00 -08:00
Mario Melara
527bb7abfe Changed _cmp_key 2016-03-02 10:26:09 -08:00
Todd Gamblin
9f6ebd7c6e Merge pull request #465 from citibeth/efischer/160229-RemoteRootBugfix
Bug Fix: When Spack create roots around for other versions, it someti…
2016-03-02 10:24:17 -08:00
Gregory Becker
615ea969f8 made arch instantiate as a tuple 2016-03-02 10:14:50 -08:00
Gregory Becker
4601c36f57 cleaned up concretize architecture 2016-03-02 09:55:44 -08:00
alalazo
21cd05aad5 package : updated doc 2016-03-02 17:28:21 +01:00
alalazo
ca41909ec5 package : removed do_clean() 2016-03-02 17:19:27 +01:00
alalazo
4d63544fe9 remove_link_tree : moved to llnl.util.filesystem 2016-03-02 16:55:57 +01:00
alalazo
901e4851b9 _cleanup_dead_links : factored method into a function and put it in llnl.filesystem 2016-03-02 16:19:32 +01:00
alalazo
9001b9ed3c package : minor syntax fixes
mirror : extracted add_single_spec from create
2016-03-02 15:56:09 +01:00
alalazo
d649b715ed stage : updated functions doc
_cleanup_dead_links : fixed minor bug
2016-03-02 13:16:04 +01:00
alalazo
65b2a24f7c stage : removed _setup method 2016-03-02 13:03:40 +01:00
alalazo
726b350689 test : fixed failing unit tests 2016-03-02 12:52:38 +01:00
Todd Gamblin
a0c6519de9 Fixes #476: create was broken for FTP URLs. 2016-03-02 01:47:54 -08:00
Todd Gamblin
8421dcb762 Merge pull request #452 from epfl-scitas/llvm/cleanup
Cleaned package : llvm
2016-03-02 01:32:08 -08:00
Todd Gamblin
9c565b155a Merge pull request #462 from xjrc/packages/silo
Update Package : Silo
2016-03-02 01:31:10 -08:00
Todd Gamblin
94e5297960 Merge pull request #467 from citibeth/efischer/160229-CMake
Efischer/160229 c make
2016-03-02 00:51:22 -08:00
Todd Gamblin
52081c46d6 Fixes #469: Store package.py files in the .spack directory.
- Adds packages in spack repos inside the .spack directory, so that
  packages can be rebuilt automatically later.
2016-03-02 00:09:24 -08:00
Todd Gamblin
21d125c914 Fixes #175: Dump environment provenance as well as build log. 2016-03-02 00:08:36 -08:00
Todd Gamblin
be306d09e9 Move repo creation code into repository.py 2016-03-02 00:04:46 -08:00
Todd Gamblin
c488f7c4d8 Fix bug in install permission setting. 2016-03-01 23:57:34 -08:00
Kelly (KT) Thompson
8174489787 + Provide two new variants for cmake:
1) +qt          - build the cmake-gui Qt application.
                  - adds a dependency on Qt.
  2) +sphinxbuild - build the html CMake documentation.
                  - adds a dependency on python and py-sphinx
2016-03-01 15:25:57 -07:00
becker33
99b76c8c3c Merge pull request #471 from adamjstewart/typo/cc
Typo fix
2016-03-01 13:55:33 -08:00
Adam J. Stewart
a9f0b98d4d Typo fix 2016-03-01 15:53:53 -06:00
citibeth
eb1d90a8cf Undid accidental change on this branch. 2016-02-29 23:31:54 -05:00
Elizabeth F
15ae92aae9 New packages added: blitz, netcdf-cxx4, netcdf-fortran, proj, udunits2 2016-02-29 23:21:44 -05:00
Elizabeth F
e414c5fdfb Added missing cmake dependencies 2016-02-29 23:21:08 -05:00
Elizabeth F
a339ac0a72 Bug Fix: When Spack create roots around for other versions, it sometimes finds files it thinks are tarballs, but are not. Previously, it would crash if any such files are found. This change allows it to simply skip them and move on, processing the rest of the files it finds correctly. 2016-02-29 23:04:11 -05:00
Todd Gamblin
21181075b4 Merge pull request #456 from LLNL/update-links
Updated links to use new llnl.gov address
2016-02-29 20:39:27 +09:00
Ian Lee
67f327f805 Updated links to use new llnl.gov address 2016-02-28 19:47:19 -08:00
Luigi Calori
8f3ac9ac8b adding new version to praview, compiled with spack -d install -j 8 --keep-stage paraview@5.0.0+qt+python+tcl+opengl2%gcc@4.8.2 ^netcdf -mpi 2016-02-27 01:40:32 +01:00
Joseph Ciurej
30d9ca2bde Updated the silo package and added the '+fortran' variant. 2016-02-26 16:06:17 -08:00
Mario Melara
b591d2b501 Changed operating_system path 2016-02-25 18:49:52 -08:00
Mario Melara
ccd4a79b39 changed architecture.target to architecture.platform_os, so that compiler_for_spec uses operating system strategy 2016-02-25 18:49:27 -08:00
Mario Melara
eb96f38298 Got rid of debug comment 2016-02-25 18:48:25 -08:00
Mario Melara
f0149faf88 Added doc strings to functions in architecture.py 2016-02-25 18:48:00 -08:00
Mario Melara
ac55ce989d Changed compiler finding strategy to come from operating system instead of target 2016-02-25 18:47:41 -08:00
becker33
7176e5ef07 Merge pull request #299 from epfl-scitas/enhancement/os_detection
enhancement proposal : boolean support for when=<arg>
2016-02-25 13:38:03 -08:00
Mario Melara
5989e3f65d Changed from_dict to arch_from_dict method 2016-02-25 11:53:02 -08:00
Mario Melara
5e4d3e7b82 Changed naming convention of operating_system, makes it easier to create instance from dictionary just using name without the version attached. Object will stil display as name+version 2016-02-25 11:48:43 -08:00
Mario Melara
550df4cdd6 Some cleaning up. Finally got arch_from_dict working successfully. 2016-02-25 11:47:27 -08:00
Mario Melara
9ac2556285 Deleted old operating_system (without the s) file 2016-02-25 10:41:28 -08:00
Mario Melara
b43a5498a1 Changed import path to operating_systems 2016-02-25 10:36:47 -08:00
Mario Melara
f161609929 Renamed operating_system to operating_systems 2016-02-25 10:36:12 -08:00
Mario Melara
34be473b7c Deleted files 2016-02-25 10:35:58 -08:00
Mario Melara
863a5bc4fa Fix for 'Parent module spack.operating_systems not found while handling absolute import' 2016-02-25 10:34:55 -08:00
Erik Schnetter
20845a739f Libevent depends on OpenSSL 2016-02-24 22:18:51 -05:00
Mario Melara
8d1c06d141 Changed to dict method. Didn't realize this was being assigned to a dictionary already so got rid of d['architecture'] 2016-02-24 15:38:33 -08:00
Mario Melara
bd7c189c12 Added more comments 2016-02-24 15:37:50 -08:00
Mario Melara
5c3c6e7f06 Got rid of print statements 2016-02-24 15:34:32 -08:00
Mario Melara
234681306c Changed to appropriate class names for operating system 2016-02-24 15:32:23 -08:00
Mario Melara
2de81cfc62 Changed name to appropriate camelcase 2016-02-24 15:31:21 -08:00
Mario Melara
9e844d974c Added comments. Need to figure out how to make arch_tuple from_dict 2016-02-24 15:30:20 -08:00
Mario Melara
7779974143 arch_from_dict worked on 2016-02-24 15:02:40 -08:00
Mario Melara
339f4bfd23 Added unit testing for to_dict method 2016-02-24 12:16:09 -08:00
Mario Melara
5d5d3c5858 Added to dictionary method 2016-02-24 12:15:52 -08:00
alalazo
6f42dd556d stage : on-going refactoring 2016-02-24 17:37:58 +01:00
alalazo
976ae91dcc llvm : removed duplicate version 2016-02-24 14:11:57 +01:00
alalazo
5ce97eeda5 intel : polished code 2016-02-24 09:17:04 +01:00
Todd Gamblin
0d23ff92b0 Merge pull request #446 from LLNL/bugfix/python_config_compiler
modify compiler commands in python config files, fix for #431
2016-02-24 10:52:06 +09:00
Todd Gamblin
87610a5102 Merge pull request #448 from epfl-scitas/packages/gromacs
Added package : gromacs
2016-02-24 10:49:06 +09:00
Todd Gamblin
93a746043c Merge pull request #450 from trws/llvm-trunk
llvm trunk version
2016-02-24 10:48:29 +09:00
Massimiliano Culpo
4316f1cd31 Modified wrapper to have a different behavior when modeis vcheck 2016-02-23 16:57:19 +01:00
Mario Melara
cfa7c4feb8 Added CNL10 as back_os and default_os 2016-02-22 16:18:25 -08:00
Mario Melara
083b7b46d9 Added more tests 2016-02-22 16:17:54 -08:00
Mario Melara
3c87d137a3 Added compiler strategy entry and also added new operating system subclass called CNL for compute node linux (name will probably change because I can't find docs on the EXACT name) 2016-02-22 16:17:33 -08:00
Mario Melara
ebc5e26c2d Added compiler strategy field to Operating System class 2016-02-22 16:16:20 -08:00
Mario Melara
a385dae1ae Unit tests to test operating system subclass creation and whether compiler strategy is set correctly 2016-02-22 14:54:30 -08:00
Mario Melara
1367ccab93 New folder that will hold operating system subclasses 2016-02-22 14:53:55 -08:00
Mario Melara
22bf4bc080 import linux distro subclass. Added method to add operating system to platform dictionary 2016-02-22 14:53:16 -08:00
Mario Melara
1a7d6ed49a import MacOSX subclass and added add_operating_system method to use subclass 2016-02-22 14:52:52 -08:00
Mario Melara
725d6d5fce import linux distro operating system subclass, set front-end os to LinuxDistro() 2016-02-22 14:52:09 -08:00
Mario Melara
a8de45ce28 Got rid of methods used to detect mac osx and linux osx. Now those methods are used my operating system subclasses 2016-02-22 14:50:51 -08:00
Mario Melara
18ddbae60e Added new module path to operating system file 2016-02-22 14:49:53 -08:00
Tom Scogland
5c8dd6c3c8 llvm trunk version
Adding a trunk version to the llvm package.  This has all the features
and requirements of the others, with the additional caveat that the llvm
project makes no guarantee that trunk on all repositories together will
necessarily make a working compiler.  It has been tested, and worked
with a version today, but not yesterday, so if you test keep that in
mind.
2016-02-20 17:23:55 -08:00
Todd Gamblin
97c3854c40 Merge pull request #422 from epfl-scitas/packages/openssl_url
openssl : url computation
2016-02-19 16:28:02 -08:00
alalazo
30c3047482 gromacs : added package 2016-02-19 12:39:38 +01:00
Todd Gamblin
3c1aa9a4ad Merge pull request #298 from epfl-scitas/refactoring/resource_directive
refactoring proposal : composite for Stage and FetchStrategy
2016-02-18 23:13:12 -08:00
Gregory L. Lee
19d10291bf modify compiler commands in python config files, fix for #431 2016-02-18 15:45:29 -08:00
Mario Melara
28218755a5 Changed spec.target to spec.architecture 2016-02-18 13:06:55 -08:00
Todd Gamblin
d8a70166d3 Fixes #434
Compiler detection was not getting triggered properly with some of the
new config logic.  Adjust the conditions under which Spack will serach
for compilers.
2016-02-18 00:56:29 -08:00
Todd Gamblin
c112cf66fe Merge pull request #443 from trws/dicts-like-string-keys
remove the unprotected key name from create.py
2016-02-17 17:06:51 -08:00
Tom Scogland
00125e4688 remove the unprotected key name from create.py
Small fix to use dicts correctly.
2016-02-17 16:43:36 -08:00
Mario Melara
3558404c03 Check difference by using arch tuple rather than .target 2016-02-17 14:54:39 -08:00
Mario Melara
0a6b54a8c4 Added module compilers so that no CompilerSpecError is thrown 2016-02-17 14:53:56 -08:00
Mario Melara
93a92a00ee Changed abstract.target to abstract.architecture.target and abstract.architecture.target.concrete 2016-02-17 14:53:09 -08:00
Mario Melara
d9e8bf1807 Added ARCHITECTURE field when showing specs 2016-02-17 14:51:14 -08:00
Mario Melara
54042e399b Changed target to architecture.target 2016-02-17 14:50:10 -08:00
Mario Melara
1d484dbe5f Changed so that modules use correct file path with spec.architecture instead of spec.target 2016-02-17 14:49:36 -08:00
Mario Melara
ab4006ee2c Changed so that directory layout uses the platform-os-target string version of the arch tuple 2016-02-17 14:48:53 -08:00
Mario Melara
524e9b372e From now on all targets are now architecture. Architecture is a named tuple so any time we need access to target we do architecture.target. 2016-02-17 14:47:29 -08:00
Mario Melara
2c20fc2ebf Changed module loading to use arch tuple instead of regular target.module 2016-02-17 14:45:53 -08:00
Mario Melara
2a79537ba1 Fixed silly typo that gave errors in tests 2016-02-17 14:44:38 -08:00
Todd Gamblin
9a5e0c59b0 Merge pull request #442 from xjrc/features/mesh-packages
Add Mesh Packages: Crypto++, Exodus II, ndiff, TetGen, and Triangle
2016-02-17 13:14:31 -08:00
Joseph Ciurej
6cd76d69c3 Fixed the "+shared" variant in the "hdf5" package. 2016-02-17 11:51:24 -08:00
Joseph Ciurej
0388093f7a Changed the hdf5 "+static" variant to become the "+shared" variant. 2016-02-16 17:33:19 -08:00
Joseph Ciurej
fca7ef2f7b Moved "Triangle" to "triangle" to be more in line with Spack package naming conventions. 2016-02-16 17:23:37 -08:00
Joseph Ciurej
8cab10214e Added the installation files for the "ExodusII" package.
Added the "+static" variant to "hdf5" to enable "ExodusII" support.
2016-02-16 16:43:24 -08:00
Mario Melara
a3039c4c67 Changed add_architecture_from_string, it now loops through the string and checks whether each piece of string is a valid platform, operating system and target. If the operating system or target are none it will use the defaults. Updated the documentation for that method. One thing that bothers me is how to account for the multitude of operating systems when cross compiling. If someone wants to compile with another operating system not found on current platform. How can spack check to see if it is valid? 2016-02-16 15:26:07 -08:00
Mario Melara
62b0293963 Cleaned up the file. Got rid of commented out sections of code since they weren't going to be used anyway 2016-02-16 15:23:38 -08:00
Mario Melara
31ab238306 Beginning attemps to fix concretization method to account for the new tuple architecture 2016-02-16 15:22:23 -08:00
Mario Melara
19dca4bcc9 Added some _cmp_key methods to OperatingSystem class, and also changed the way Platforms are compared. Created a mini inherited class named Arch that inherits from namedtuple. The reason for this is to override the namedtuple __str__ method to make arch tuples look prettier when printed out. Rather than Arch(platform= ... ) it prints to platform-os-target which makes directory paths to packages look cleaner. 2016-02-16 15:21:36 -08:00
Mario Melara
35a602baaf Changed target checking to architecture checking for abi compatible 2016-02-16 15:17:57 -08:00
Joseph Ciurej
09254014b1 Added the installation files for the "TetGen" package. 2016-02-16 13:24:01 -08:00
Joseph Ciurej
3c8bbeafc7 Added the installation files for the "Triangle" package. 2016-02-16 13:01:18 -08:00
Joseph Ciurej
9a6221ea40 Added the installation files for the "ndiff" package. 2016-02-16 12:47:14 -08:00
Joseph Ciurej
db50f52bbc Adding the "Crypto++" package installation files. 2016-02-16 11:40:00 -08:00
Todd Gamblin
9e4671a4b4 Merge pull request #340 from adamjstewart/features/xz
Remove unnecessary URLs
2016-02-16 10:24:42 -08:00
Todd Gamblin
96a4d3f432 Merge pull request #440 from adamjstewart/features/mpi4py
Add latest version
2016-02-16 01:05:16 -08:00
Adam J. Stewart
bf162e60f1 Add latest version 2016-02-15 10:53:50 -06:00
Todd Gamblin
d8c0edcc81 Minor code cleanup for gcc. 2016-02-14 14:40:25 -08:00
Erik Schnetter
9868333e8e Shell quoting is difficult 2016-02-14 11:34:08 -05:00
Erik Schnetter
a06e29fecb More quoting experiments 2016-02-14 10:43:55 -05:00
Erik Schnetter
43670cbbd0 More games with quoting 2016-02-13 22:01:36 -05:00
Erik Schnetter
52647b9a5d Using regexes instead of globbing to match path names 2016-02-13 17:55:14 -05:00
Mario Melara
c799301011 Changed the method in which architecture is converted from string to namedtuple. Also added some TODO comments to later consider changing how architecture is handled 2016-02-13 14:37:07 -08:00
Mario Melara
7732f375d2 Changed operating system getter so that linux and darwin autodetected operating systems are set as class default_os 2016-02-13 14:36:01 -08:00
Erik Schnetter
69064395eb Add debug output 2016-02-13 15:12:09 -05:00
Erik Schnetter
9a2c1090a6 Handle -Wl,-rpath,... syntax 2016-02-13 14:54:18 -05:00
Erik Schnetter
dc6a33b716 Handle multiple -Wl,-rpath,... paths 2016-02-13 14:54:18 -05:00
Erik Schnetter
5038a38e29 Correct -Xlinker arguments 2016-02-13 14:54:18 -05:00
Erik Schnetter
2cd9ad8ce6 Use "-Wl,-rpath," instead of "-Wl,-rpath="
The former translates to a linker argument "-rpath DIR", whereas the latter translates to "-rpath=DIR". The latter is not support on OS X.
2016-02-13 14:54:18 -05:00
Todd Gamblin
63911d4165 Merge pull request #354 from eschnett/eschnett/libedit
libedit depends on ncurses
2016-02-12 10:33:08 -08:00
Erik Schnetter
8e33cc1ae1 Properly wrap all long lines 2016-02-12 13:11:45 -05:00
Erik Schnetter
ff81aff254 Remove source-code optimization and cleanup 2016-02-12 13:05:42 -05:00
Todd Gamblin
f0db7190ff Merge pull request #437 from davidbeckingsale/features/dk-short-names
Use hash to make shorter module and dotkit names, fixes #433
2016-02-12 09:59:07 -08:00
Todd Gamblin
d541a4bd29 Merge pull request #435 from epfl-scitas/packages/espresso
Added package : Quantum Espresso
2016-02-12 09:58:50 -08:00
Erik Schnetter
64436e7752 Merge branch 'develop' into correct-cc 2016-02-12 12:55:26 -05:00
Erik Schnetter
77c17e1d92 Since my last patch didn't get traction, here is a new approach to building gcc on Darwin:
- Add a variant specifying whether to build with binutils, defaulting to true
- Auto-detect whether this is Darwin; if so, set binutils and gold defaults to false, as they don't work on Darwin
- Disable Go, which doesn't build on Darwin
- Clean up handling configure options
2016-02-12 12:52:47 -05:00
David Beckingsale
90e1b1f0ea Use hash to make shorter module and dotkit names, fixes #433 2016-02-12 09:33:19 -08:00
alalazo
247a4bc751 mpich : added back MPI_F90 2016-02-12 12:15:09 +01:00
Massimiliano Culpo
70985170e5 qe : compiled on rhle6 2016-02-12 12:08:31 +01:00
Erik Schnetter
d7f674ce96 libedit depends on ncurses 2016-02-11 14:53:20 -05:00
Mario Melara
8e8c63bd67 Using pylint, fixed some of the indentation and spacing errors 2016-02-11 11:47:39 -08:00
Mario Melara
3e1be63b0f Changed some variables to account for the fact that target is now a tuple 2016-02-11 11:15:50 -08:00
Mario Melara
b9d09202c9 changed some variables to account for the fact that target is now a tuple 2016-02-11 11:15:19 -08:00
alalazo
e8704433de espresso : added directories to search path 2016-02-11 18:57:40 +01:00
alalazo
b272a8881b espresso : fixed dependency handling 2016-02-11 18:18:05 +01:00
alalazo
ca3cdb4458 espresso : current working tree 2016-02-11 17:45:09 +01:00
alalazo
157ec210a7 espresso : synchronized with current develop 2016-02-11 13:05:31 +01:00
alalazo
e7454132a2 Merge branch 'develop' of https://github.com/LLNL/spack into packages/espresso 2016-02-11 13:03:47 +01:00
Mario Melara
77e93e1b79 Added add_os method to platform subclasses 2016-02-10 16:16:58 -08:00
Mario Melara
cb8d5ab183 Added new add_os method 2016-02-10 16:16:35 -08:00
Mario Melara
fb234205c2 Added method to concretize target and os pair 2016-02-10 16:16:11 -08:00
Mario Melara
d0ae6dd401 Changed add_target_from_string to include methods to concretize operating_system 2016-02-10 16:15:25 -08:00
Mario Melara
2650c60374 Added operating system class prototype and some autodetect features for operating system 2016-02-10 16:14:50 -08:00
Todd Gamblin
bcf705b85e Merge pull request #432 from RemoteConnectionManager/paraview_fix
Paraview fix
2016-02-10 13:59:08 -08:00
Todd Gamblin
e23c260cb0 Merge pull request #402 from epfl-scitas/bugfix/netlib-scalapack
Bugfix: netlib-scalapack does not work with all versions of python
2016-02-10 11:40:31 -08:00
Mario Melara
21a5a34041 Revert "new branch and also pushing some architecture changes where os is detected by linux and darwin and manually set by cray and bgq"
This reverts commit 70088be24b.
2016-02-10 10:59:16 -08:00
Luigi Calori
d7b3ed08ab add variant to select OpenGL2 Paraview backend 2016-02-10 15:40:05 +01:00
Luigi Calori
a1bd65550e fix a reported hash mismatch on netcdf-4.4.0 tar download 2016-02-10 15:17:54 +01:00
Luigi Calori
fe8aca630c add a variant to Qt for make dependency on mesa swlwctable 2016-02-10 14:58:00 +01:00
Luigi Calori
f729cf621a fixing qhull: seems that dependency on cmake is essential when it is used 2016-02-10 13:29:36 +01:00
Luigi Calori
25e2be3efd RPATH was collecting all lib from all dependencies, when dep tree is deep like in ParaView the path was growing too much, showing install problems now just direct dependencies rpath is added 2016-02-10 13:28:01 +01:00
Todd Gamblin
f7134990bd Fix #430: edit -f fails with UnknownPackageError
- Recent external repo refactoring made `repo_for_pkg` raise an error
  when the package was not known.

- Correct behavior is to return the highest precedence repo.
2016-02-09 08:57:27 -08:00
Mario Melara
0358522533 new branch and also pushing some architecture changes where os is detected by linux and darwin and manually set by cray and bgq 2016-02-06 15:41:22 -08:00
Todd Gamblin
4bf57ef56f Merge pull request #428 from epfl-scitas/packages/arpack-ng
Added package : arpack-ng
2016-02-05 07:01:53 -07:00
alalazo
71a25a109a arpack-ng : added package 2016-02-05 11:00:37 +01:00
alalazo
4b22c2406c removed redundant references to pep8 2016-02-05 08:56:20 +01:00
Todd Gamblin
15324c276f Merge pull request #426 from epfl-scitas/packages/suitesparse
Added package : SuiteSparse
2016-02-04 18:08:07 -07:00
alalazo
e2a95d4b50 eigen : added support for SuiteSparse 2016-02-04 16:27:26 +01:00
alalazo
e3a0e1881d suitesparse : basic implementation 2016-02-04 16:00:39 +01:00
Todd Gamblin
b98c120fb8 Merge pull request #425 from epfl-scitas/packages/dakota
Added package : dakota
2016-02-04 07:37:30 -07:00
alalazo
031c292136 dakota : basic installation 2016-02-04 13:48:21 +01:00
Todd Gamblin
5d1a639afd Merge pull request #424 from adamjstewart/features/cmake
Add url for cmake, simplify url_for_version
2016-02-03 15:41:05 -07:00
Adam J. Stewart
e1b3c286ef Add url for cmake, simplify url_for_version 2016-02-03 16:28:09 -06:00
Todd Gamblin
f38851b73d Merge remote-tracking branch 'github/pull/99' into develop
Conflicts:
	var/spack/repos/builtin/packages/cmake/package.py
2016-02-03 14:24:59 -07:00
Todd Gamblin
b6434d9581 Update mailmap 2016-02-03 11:47:48 -07:00
Todd Gamblin
72ca311f17 Merge pull request #414 from epfl-scitas/issues/trilinos_385
fix : trilinos and dependencies
2016-02-03 11:42:53 -07:00
Todd Gamblin
c5455ceee5 Merge pull request #417 from mathstuf/hdf5-unsupported-flag
hdf5: always pass the unsupported flag
2016-02-03 08:56:30 -07:00
Todd Gamblin
5a3338323c Merge pull request #419 from adamjstewart/features/libgpg-error
Add latest libgpg-error version
2016-02-03 08:56:06 -07:00
Todd Gamblin
8a4b86dac9 Merge pull request #420 from adamjstewart/features/qhull
Add latest qhull version
2016-02-03 08:55:32 -07:00
Todd Gamblin
bc4bf71d8f Merge pull request #421 from adamjstewart/features/phonopy
Add Phonopy and PyYAML Python modules
2016-02-03 08:54:22 -07:00
Todd Gamblin
fe358e24e3 Merge pull request #423 from epfl-scitas/packages/opencv
Added package : OpenCV
2016-02-03 08:52:58 -07:00
alalazo
44c1b06609 opencv : added package 2016-02-03 13:36:25 +01:00
alalazo
587d356d6e openssl : added logic to version computation. The package now warns user if he depends on an old version of the library 2016-02-03 08:59:26 +01:00
Adam J. Stewart
d2fb1522a3 Add Phonopy and PyYAML Python modules 2016-02-02 12:54:24 -06:00
Adam J. Stewart
ab3698e3a4 Add latest qhull version 2016-02-02 11:42:31 -06:00
Adam J. Stewart
422e87badb Add latest libgpg-error version 2016-02-02 10:57:58 -06:00
Ben Boeckel
2b140b9a34 hdf5: default +unsupported to on
This flag can end up being required if a dependency tree ends up needing
hdf5+cxx+parallel, but nothing turns it on. Since the core spack code
puts this together, it ends up that the end user needs to specify it
manually. Instead, just assume an unsupported configuration (since these
*are* useful setups) and if anyone wants to seek upstream support,
masking the flag can be done.
2016-02-01 11:46:33 -05:00
alalazo
c8d2275c06 opencv : reverted url_for_version modifications 2016-02-01 10:56:48 +01:00
alalazo
e67507478a opencv : reverted url_for_version modifications 2016-02-01 10:55:39 +01:00
alalazo
b0707a61e7 Merge branch 'develop' of https://github.com/LLNL/spack into issues/trilinos_385 2016-02-01 10:54:17 +01:00
Todd Gamblin
9eb037bc87 Merge pull request #415 from adamjstewart/features/hwloc
Checksum fix for hwloc
2016-02-01 02:41:47 -07:00
Todd Gamblin
140510fedf Merge pull request #408 from adamjstewart/features/fish
Modify url settings for fish package
2016-02-01 02:39:54 -07:00
Todd Gamblin
b8facc0ea9 Merge pull request #416 from LLNL/openssl-version-update
updated openssl version
2016-02-01 02:35:57 -07:00
alalazo
360abb070a netcdf : fixed typo in configure option
openssl : smarter URL computation
2016-02-01 08:33:03 +01:00
Gregory L. Lee
3bf6fed7b3 updated openssl version 2016-01-29 11:29:27 -08:00
Todd Gamblin
2ae6fd9d1e Merge pull request #413 from adk9/develop
Add the HPX-5 package to spack.
2016-01-29 10:20:27 -08:00
Adam J. Stewart
d14d50beb6 Checksum fix for hwloc 2016-01-29 09:47:57 -06:00
Abhishek Kulkarni
74225544c6 Rename the hpx package to hpx-5. 2016-01-29 10:35:54 -05:00
Massimiliano Culpo
cd54793913 Cleaning up 2016-01-29 11:42:06 +01:00
alalazo
b574c4ad51 trilinos : updated package to meet changes in dependencies 2016-01-29 08:57:07 +01:00
Abhishek Kulkarni
5907cc0de5 Merge remote-tracking branch 'upstream/develop' into develop 2016-01-29 00:32:34 -05:00
Abhishek Kulkarni
2bea7f8d69 Add the HPX-5 package. 2016-01-29 00:29:20 -05:00
Todd Gamblin
9fb5ddbb4c Merge pull request #411 from adamjstewart/features/pnetcdf
Add PnetCDF and M4 packages
2016-01-28 20:52:59 -07:00
Todd Gamblin
dda16bfea6 Merge pull request #406 from epfl-scitas/enhancement/md5_urls
spack md5 on urls
2016-01-28 20:51:44 -07:00
Todd Gamblin
06535f25dc Merge pull request #412 from davidbeckingsale/features/caliper
Correct Caliper package URL
2016-01-28 20:49:50 -07:00
David Beckingsale
d9548c01af Correct package URL 2016-01-28 15:47:37 -07:00
Todd Gamblin
6b2d25580c Merge pull request #410 from davidbeckingsale/features/caliper
Add the Caliper package
2016-01-28 15:39:52 -07:00
Adam J. Stewart
4f34031534 Add PnetCDF and M4 packages 2016-01-28 15:41:58 -06:00
David Beckingsale
7e65f4da82 Add the Caliper package 2016-01-28 13:22:56 -08:00
Gregory L. Lee
0e52c30bb8 added py-wheel package 2016-01-28 10:42:46 -08:00
Adam J. Stewart
06f3cc33ba Modify url settings for fish package 2016-01-28 11:41:12 -06:00
Nicolas Richart
824546d343 correcting a bug when url and files are mixed 2016-01-28 14:43:30 +01:00
Nicolas Richart
5850d8530e Adding the stager to checksum any url that spack can handle 2016-01-28 14:22:28 +01:00
alalazo
0cf03518f3 reverted deletion of the wrong architecture.py 2016-01-28 12:06:30 +01:00
alalazo
603f5e69ee removed outdated code : os detection (will be handled by platforms) and openssl modifications 2016-01-28 11:30:28 +01:00
alalazo
e76b722e28 Merge branch 'develop' of https://github.com/LLNL/spack into enhancement/os_detection 2016-01-28 11:26:01 +01:00
alalazo
07bb6fef01 resource directive : now works with all the fetch strategies available 2016-01-28 10:58:56 +01:00
Todd Gamblin
c2bb00ca2f Merge pull request #405 from adamjstewart/features/netcdf
More NetCDF changes
2016-01-27 16:07:49 -07:00
Adam J. Stewart
6122642b81 More NetCDF changes 2016-01-27 16:16:33 -06:00
alalazo
47035671e8 unit tests : now compliant with 2.6 2016-01-27 17:22:12 +01:00
alalazo
f7f192e12b Added unit tests for util.pattern 2016-01-27 17:12:24 +01:00
Nicolas Richart
f1d8f30342 Bug fix: precedence in % operator seems to change depending in the python version 2016-01-27 10:54:41 +01:00
Todd Gamblin
90750f59c1 Merge pull request #400 from adamjstewart/features/netcdf
Extensive modifications to NetCDF package
2016-01-26 19:31:14 -07:00
Todd Gamblin
65b57f0c21 Merge pull request #401 from trws/cmocka
adding the cmocka unit testing library
2016-01-26 19:26:16 -07:00
Tom Scogland
23af31cb1c adding the cmocka unit testing library 2016-01-26 17:55:32 -08:00
Todd Gamblin
c344b30fc4 Merge pull request #342 from adamjstewart/features/hwloc
Add url_for_version function to calculate url
2016-01-26 16:01:17 -08:00
Todd Gamblin
d7bd023afa Merge pull request #339 from adamjstewart/features/hdf
Add HDF package
2016-01-26 15:51:57 -08:00
Todd Gamblin
4d239b3038 Merge pull request #399 from LLNL/bugfix/398-extensions-error
fix for issue 398, added extensions_for in RepoPath
2016-01-26 14:58:36 -08:00
Adam J. Stewart
81ccba202c Make szip a variant 2016-01-26 15:38:22 -06:00
Adam J. Stewart
c6bb00085f Extensive modifications to NetCDF package 2016-01-26 12:04:48 -06:00
Gregory L. Lee
7891346a4f fix for issue 398, added extensions_for in RepoPath 2016-01-26 09:52:01 -08:00
alalazo
ee6f69a227 Unit tests : hack to make them pass while a decision on how to proceed is made 2016-01-26 14:25:16 +01:00
alalazo
5e3b7a4247 Fixes issues introduced after merge with conflicts 2016-01-26 14:11:23 +01:00
alalazo
093b831799 Fixes issues introduced after merge with conflicts 2016-01-26 12:08:28 +01:00
alalazo
6f11a64af5 Merge branch 'develop' of https://github.com/LLNL/spack into refactoring/resource_directive
Conflicts:
	lib/spack/spack/fetch_strategy.py
	lib/spack/spack/mirror.py
	lib/spack/spack/package.py
2016-01-26 08:59:25 +01:00
Todd Gamblin
1a52700238 Merge pull request #396 from adamjstewart/features/hdf5
Add szip variant
2016-01-25 22:38:35 -08:00
Adam J. Stewart
1d18f2031c Add szip variant 2016-01-25 14:57:33 -06:00
Matthew LeGendre
d4a771a623 Merge pull request #1 from alalazo/features/external-packages
doc : minor typos fixed
2016-01-25 10:53:37 -08:00
Matthew LeGendre
fa888a4ba1 Merge branch 'develop' into features/external-packages
Conflicts:
	lib/spack/spack/cmd/mirror.py
	lib/spack/spack/concretize.py
	lib/spack/spack/config.py
	lib/spack/spack/spec.py
	lib/spack/spack/stage.py
	var/spack/packages/mvapich2/package.py
2016-01-25 10:52:17 -08:00
Todd Gamblin
d4180d35dd Merge pull request #395 from adamjstewart/features/orphan
Fix variable name bug
2016-01-25 07:54:12 -08:00
Adam J. Stewart
323bba99f1 Fix variable name bug 2016-01-25 09:29:51 -06:00
Todd Gamblin
8ef800f64f Merge pull request #394 from LLNL/bugfix/apple-llvm-compiler-detection
Bugfix/apple llvm compiler detection
2016-01-25 03:54:27 -08:00
Todd Gamblin
004c99ab2f Fixes #259: Apple clang compiler detection
- Clang compilers are now versioned with the raw LLVM version or, on
  macs, with Apple's version with a suffix.
2016-01-25 03:48:22 -08:00
Adam J. Stewart
fb5274145a Fix regex to find version on OS X 2016-01-25 03:10:13 -08:00
Todd Gamblin
41cd8f8e6d Fixes #74: minor fixes to spack mirror. 2016-01-25 02:57:23 -08:00
Todd Gamblin
539dea6411 Merge pull request #393 from LLNL/bugfix/mirror-glitches-gh382
Bugfix/mirror glitches gh382
2016-01-25 02:10:52 -08:00
Todd Gamblin
5502fd1054 More thorough mirror test: test full round-trip
- Old test: did not attempt to actually fetch mirrored packages.

- New test:
  1. Creates a temporary mirror,
  2. Registers it with spack,
  3. Fetches from it, and
  4. Verifies that the fetched archive matches the original

- This test will hopefully mean that `spack mirror` is less brittle
  from now on.
2016-01-25 01:59:02 -08:00
Todd Gamblin
a48d0a494f Refactor mock_repo: add a destroy() method.
- classes using mock_repo need not know about its stage now.
2016-01-25 00:34:33 -08:00
Todd Gamblin
d3ff8ca00f Fixes #382: Issues with spack fetch.
- urljoin() was compliant with RFC 1808 but not with my understanding
  of how paths should be joined.
- updated path joining logic to comply.
2016-01-24 20:14:40 -08:00
Todd Gamblin
fe50593c66 Minor line width reductions. 2016-01-24 20:14:21 -08:00
Todd Gamblin
be354e85c9 Better errors for mkdirp failure in mirror. 2016-01-24 16:16:43 -08:00
Todd Gamblin
64a9549225 Minor cleanup. 80 char width for command description. 2016-01-24 15:31:07 -08:00
Todd Gamblin
71f5d5da36 Merge pull request #390 from adamjstewart/features/nag
Fix link_paths to point to c++
2016-01-22 14:10:30 -08:00
Todd Gamblin
b6731ea47c Merge pull request #336 from scheibelp/features/boost-additive-libs
additive compilation of boost libraries
2016-01-22 14:09:19 -08:00
Todd Gamblin
545300e474 Merge pull request #392 from alfredo-gimenez/develop
Patch fix for boost@1.60.0%gcc@4.4.7
2016-01-22 14:07:47 -08:00
Peter Scheibel
a653d2f5e2 Slightly more robust approach for setting defaults for noinstall_libs 2016-01-22 13:43:16 -08:00
Peter Scheibel
9f99ee61c7 1. added default install libs (atomic, test, locale, program_options)
2. clarify comment for default_noinstall_libs
3. renamed regex_icu variant to icu_support (both the locale and regex libs can
use it)
4. explicitly set b2 install ICU_PATH when regex_icu is activated
2016-01-22 13:25:45 -08:00
Alfredo Gimenez
10de5a3ec7 Patch fix for boost@1.60.0%gcc@4.4.7 2016-01-22 13:02:18 -08:00
Peter Scheibel
4a55b97d11 Fixed reference 2016-01-22 12:37:12 -08:00
Peter Scheibel
2e58bc3113 Sticking with additive approach but now most libraries are installed by default. 2016-01-21 19:57:49 -08:00
Todd Gamblin
04a8439c39 Merge pull request #389 from eschnett/eschnett/openmpi-update
Update OpenMPI to 1.10.2
2016-01-21 12:28:54 -08:00
Adam J. Stewart
571386cdf4 Remove cxx symlink, tell NAG to look for c++ symlink 2016-01-21 13:55:59 -06:00
Adam J. Stewart
ca3edc3673 Add symlink cxx to point to cc 2016-01-21 13:20:39 -06: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
Todd Gamblin
1da672df7d Merge pull request #383 from LLNL/features/better-executable-args
Refactor args for Executable.__call__
2016-01-21 10:50:55 -08:00
Todd Gamblin
10848c2e9a Refactor args for Executable.__call__
- simplify output, error, and input redirection
- `return_output=True` is now `output=str`
- `return_output=True` will still work for the time being but is
  deprecated.

- previously you could say `return_output=True` and `output=<stream>`,
  which wouldn't actually write to the stream.  Now you actually can't
  specify erroneous cases since there is only one parameter with
  mutually exclusive options..
2016-01-21 10:46:33 -08:00
Todd Gamblin
25f7dbd3e9 Merge pull request #384 from epfl-scitas/packages/elpa
added package : elpa
2016-01-21 09:14:28 -08:00
Todd Gamblin
c58d8af706 Merge pull request #386 from adamjstewart/features/mpfr
Remove constraint on dependency version
2016-01-21 09:06:30 -08:00
Adam J. Stewart
03d5ee6738 Remove constraint on dependency version 2016-01-21 10:02:33 -06:00
Adam J. Stewart
ea9d0c0263 Remove constraints on dependency versions 2016-01-21 09:58:47 -06:00
Adam J. Stewart
950246b331 Remove constraint on dependency version 2016-01-21 09:54:24 -06:00
alalazo
d9b344a247 Merge branch 'develop' of https://github.com/LLNL/spack into packages/elpa 2016-01-21 12:05:28 +01:00
Todd Gamblin
f0a6bfa23c Merge pull request #376 from adamjstewart/features/mvapich2
Various updates to MVAPICH2 package
2016-01-21 01:59:35 -08:00
Todd Gamblin
dab65e4ba6 Merge pull request #380 from epfl-scitas/packages/mumps
Adding packages MUMPS and ScaLAPACK
2016-01-21 01:58:57 -08:00
alalazo
785c01218f elpa : added missing dependencies 2016-01-21 10:06:43 +01:00
alalazo
88f2a1d43a Merge remote-tracking branch 'scitas/packages/mumps' into packages/elpa 2016-01-21 08:34:44 +01:00
alalazo
a8132470e4 Merge branch 'develop' into packages/elpa 2016-01-21 08:33:59 +01:00
Todd Gamblin
1c2a2dde8e Merge pull request #350 from adamjstewart/features/nag
Add NAG Fortran Compiler support
2016-01-20 17:09:31 -08:00
Todd Gamblin
c0228d8ff2 Merge pull request #381 from adamjstewart/features/location
Fixed typo when running spack help
2016-01-20 17:07:32 -08:00
Adam J. Stewart
088b6f0ea9 Fixed typo when running spack help 2016-01-20 17:19:01 -06:00
Adam J. Stewart
e25150296a Redirect STDERR to STDOUT for compiler version
This is necessary for the NAG Fortran compiler, which prints its version message to STDERR instead of STDOUT. This message was previously being ignored, preventing spack from finding the compiler's version or automatically adding it to the compilers.yaml configuration file.
2016-01-20 14:44:43 -06:00
Todd Gamblin
ce5ecda534 Merge pull request #379 from epfl-scitas/packages/hdf5
HDF5 + OpenMPI : modified existing packages
2016-01-20 11:21:43 -08:00
Mario Melara
840b41c450 Removed unneccessary $. Still learning regexp 2016-01-20 10:36:15 -08:00
Mario Melara
15713219e5 Better regular expression searching. Tested on edison was finding test compilers and then spack was giving multiple compiler match errors 2016-01-20 10:32:56 -08:00
Nicolas Richart
b71b478a36 Minor correction to install mumps+mpi 2016-01-20 18:31:02 +01: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
Nicolas Richart
974fc65e0f renaming packages to follow changes on develop 2016-01-20 14:38:55 +01:00
Nicolas Richart
65f65ec4e4 Adding MUMPS and ScaLAPACK 2016-01-20 14:21:44 +01:00
alalazo
72d5cdf9ab fixed two minor typos 2016-01-20 11:19:36 +01:00
alalazo
ab27fdc692 elpa : commit partial package. Blocked by missing scalapack 2016-01-20 09:35:15 +01:00
Peter Scheibel
965af75d23 Merge branch 'develop' into features/boost-additive-libs 2016-01-19 17:27:18 -08:00
Todd Gamblin
88c810ed09 Merge pull request #377 from mathstuf/fix-typos
typos: fix some letter transposes
2016-01-19 12:37:16 -08:00
Ben Boeckel
6c9800bcc3 typos: fix some letter transposes 2016-01-19 15:22:16 -05:00
Adam J. Stewart
83de658ee4 Modify nag.py to match new compiler package structure 2016-01-19 13:28:35 -06:00
Adam J. Stewart
0acc90759c Merge branch 'develop' into features/nag
* develop:
  eigen : added package
  Revert deprecated configure flags
  Add verbs variant, remove deprecated configure flags
2016-01-19 13:13:40 -06:00
Adam J. Stewart
e6aa2610bc Add symlink for NAG Fortran Compiler 2016-01-19 13:07:07 -06:00
Adam J. Stewart
98706d31dc Various updates to MVAPICH2 package
Use url_for_version function to specify urls
Add version 2.2b
Add dedicated MRAIL variant
Fix typo
Make fortran compiler flags more specific
2016-01-19 12:46:15 -06:00
alalazo
00185a39d9 reverted email notification 2016-01-19 19:28:38 +01:00
alalazo
f092e69d12 yapf : added style file for convenience 2016-01-19 19:10:40 +01:00
alalazo
ae7c999712 code checking : added flake8 2016-01-19 18:55:18 +01:00
alalazo
f3d62f1d3b code checking : added pep8 and coveralls 2016-01-19 18:29:39 +01:00
Todd Gamblin
9be37da077 Merge pull request #373 from adamjstewart/features/mpich
Add verbs variant, remove deprecated configure flags
2016-01-19 08:59:59 -08:00
Todd Gamblin
e5267506e0 Merge pull request #374 from epfl-scitas/packages/eigen_no_suitesparse
eigen : added package
2016-01-19 08:36:46 -08:00
alalazo
e121faffa1 eigen : added package 2016-01-19 17:26:26 +01:00
Adam J. Stewart
0d42cdaffd Merge branch 'develop' into features/hdf 2016-01-19 10:09:25 -06:00
Adam J. Stewart
530f8e5b26 Merge branch 'develop' into features/hdf
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 10:07:21 -06:00
Adam J. Stewart
fbab88b0e1 Merge branch 'develop' into features/xz
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 10:05:50 -06:00
Adam J. Stewart
58f18d5b12 Merge branch 'develop' into features/hwloc
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 10:01:42 -06:00
Adam J. Stewart
d20ca32440 Merge branch 'develop' into features/mpc
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 09:58:07 -06:00
Adam J. Stewart
fe640d764a Merge branch 'develop' into features/nag
* develop: (77 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 09:56:02 -06:00
Adam J. Stewart
f48fc0d8b1 Revert deprecated configure flags 2016-01-19 09:43:28 -06:00
Adam J. Stewart
16f1267c29 Merge branch 'develop' into features/mpich
* develop: (43 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  update compiler config test.
  add sanity check on config write as well as validation on read.
  Add jsonschema validation for config files.
  Make text wrapping off by default in tty, add a kwarg for it.
  add/remove/list working for new config format.
  Add Python 3 aliases to our argparse backport.
  All tests that call concretize() need to be MockPackagesTests.
  Fix bug in tests.
  Rework mirror configuration.
  Rework compiler configuration and simplify config.py logic.
  Remove mock_configs; tests no longer modify spack home directory.
  ...
2016-01-19 09:37:53 -06:00
Todd Gamblin
01c5b53ba1 Make libxcb compile with gcc 4.9. 2016-01-19 01:16:15 -08:00
Todd Gamblin
047f1b9de9 disable parallel install for glib (found races) 2016-01-19 01:16:15 -08:00
Todd Gamblin
b7b4faff96 disable cairo-trace, which is incompatible with older libiberty.h. 2016-01-19 01:16:14 -08:00
Todd Gamblin
67ea7ce0ab Fix LaunchMon on newer gcc versions. 2016-01-19 01:16:14 -08:00
Todd Gamblin
cee7bfa9f0 Simplify output redirection in spack.util.executable
- By default inherit parent's input/output descriptor
- Only use pipes if we need to return output.
- Allows subprocesses (like emacsclient) to detect terminal correctly
2016-01-19 01:16:14 -08:00
Todd Gamblin
ad32f64ef6 Allow completely empty config files.
- Previous version would give validation error for an empty file.
  Now this is properly ignored.

- Also includes bugfix in ConfigFormatError
2016-01-19 01:16:14 -08: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
Adam J. Stewart
58162ec170 Add verbs variant, remove deprecated configure flags 2016-01-18 16:03:41 -06:00
Todd Gamblin
d802165e03 Merge pull request #355 from eschnett/eschnett/llvm
LLVM depends on cmake, and does not depend on isl
2016-01-17 19:24:17 -08:00
Todd Gamblin
c1e57e49ae Merge pull request #202 from scheibelp/features/unittest-xml-output-nose
Features/unittest xml output nose
2016-01-17 19:14:49 -08:00
Todd Gamblin
4bab6f9fdb Update cmake package to use http in all URLs. 2016-01-17 18:55:36 -08:00
Todd Gamblin
afcd5420ee Merge pull request #356 from eschnett/eschnett/tar
New package GNU tar
2016-01-17 18:49:14 -08:00
Todd Gamblin
85e8f8eb6a Merge pull request #353 from eschnett/eschnett/ncurses
Install ncurses properly
2016-01-17 18:49:00 -08:00
Todd Gamblin
635e053e6d Merge pull request #358 from adamjstewart/features/openmpi
Add psm and verbs variants
2016-01-17 18:45:13 -08:00
Todd Gamblin
77c6038711 Merge pull request #370 from eschnett/eschnett/netcdf-cmake
Netcdf requires cmake >=2.8.12
2016-01-17 18:31:56 -08:00
Todd Gamblin
a473830533 Merge pull request #367 from eschnett/eschnett/mbedtls-cmake
Mbedtls depends on cmake
2016-01-17 18:26:07 -08:00
Todd Gamblin
99390be127 Merge pull request #366 from eschnett/eschnett/libtool-2.4.6
Update libtool to 2.4.6
2016-01-17 18:25:55 -08:00
Todd Gamblin
c20f8eb5b3 Merge pull request #365 from eschnett/eschnett/julia-0.4.3
Update Julia to 0.4.3
2016-01-17 18:25:45 -08:00
Todd Gamblin
1a145f68a7 Merge pull request #362 from eschnett/eschnett/binutils-osx
Make binutils build on OS X
2016-01-17 18:25:24 -08:00
Todd Gamblin
5364474823 Merge pull request #359 from mathstuf/paraview-python-osx
Paraview python osx
2016-01-17 18:23:48 -08:00
Todd Gamblin
97b492756a Fix create, diy, edit, and repo commands to use multiple repos. 2016-01-17 18:14:35 -08:00
Todd Gamblin
5984bc2ad3 Add namespace option to find command. 2016-01-17 18:12:53 -08:00
Todd Gamblin
358b2ab4ba Temporary fix: Clang is the default compiler on Mac OS X. 2016-01-17 18:12:08 -08:00
Erik Schnetter
81f1311a60 Netcdf requires cmake >=2.8.12 2016-01-17 14:57:08 -08:00
Erik Schnetter
f4b87e2967 Mbedtls depends on cmake 2016-01-17 11:05:15 -05:00
Erik Schnetter
60656b6255 Update libtool to 2.4.6 2016-01-17 11:03:40 -05:00
Erik Schnetter
e585a5d8a3 Update Julia to 0.4.3 2016-01-17 11:02:30 -05:00
Erik Schnetter
981cefe8d3 Make Boost build with MPI on OS X
Boost does not build on OS X with either gold or binutils. The gold linker does not exist on Darwin, and binutils on Darwin provides an assembler that doesn't work for Boost.

- Introduce a variant that specifies whether to build with binutils, defaulting to true for backward compatibility
- Auto-detect whether we build on Darwin; in this case, set the gold and binutils variant defaults to false
- Clean up configure flags for as and ld
2016-01-17 10:54:12 -05:00
Erik Schnetter
36a428b8fc Make binutils build on OS X
Binutils defines several global variables multiple times. Apparently this works fine under Linux, but it leads to a linker error on Darwin. Rename these global variables.

Note that binutils on OS X is still not really useful, as important tools (e.g. ld) are not supported.
2016-01-17 10:49:13 -05:00
Peter Scheibel
d22cf1aed1 1. raise an exception if the multithreaded and singlethreaded options are both
disabled
2. invoke the b2 installation once for each enabled threading option (apparently
the install fails if a single call has both options enabled for mpi)
2016-01-15 18:07:41 -08:00
Gregory Becker
8e54babf10 minor parsing bug fix 2016-01-15 17:21:32 -08:00
Gregory Becker
e1a0af8745 cleanup 2016-01-15 16:51:41 -08:00
Gregory Becker
16e9d658d5 Fixed the way flags on deps are attached so that they aren't moved onto the root before normalize/concretize 2016-01-15 16:18:40 -08:00
Gregory Becker
342f4bc2e0 Fixed virtual/cflag combination bug 2016-01-15 14:27:50 -08:00
Adam J. Stewart
eac795abc3 Add verbs and psm variants 2016-01-15 15:09:36 -06:00
Ben Boeckel
4f60948bff py-matplotlib: depend on freetype
Probably a missed dependency, but appeared on OS X.
2016-01-15 16:04:49 -05:00
Ben Boeckel
c3bf1a7741 py-numpy: make blas/lapack optional dependencies
OS X is having trouble building these libraries, so make them optional
dependencies.
2016-01-15 16:03:51 -05:00
Ben Boeckel
f6680a0051 qhull: apply patch to work with libc++'s standard library
Only seen on OS X with clang right now.
2016-01-15 16:02:35 -05:00
Nicola Varini
7fc308ed26 Update to version 5.3 2016-01-15 17:04:25 +01:00
Nicola Varini
7d0256c9fb Quantum-ESPRESSO package 2016-01-15 10:27:38 +01:00
Erik Schnetter
0a993cd9d7 New package GNU tar 2016-01-14 20:44:51 -05:00
Erik Schnetter
3e703cc281 LLVM depends on cmake, and does not depend on isl
Add cmake requirement.

Remove gmp and isl requirements. Using an external isl leads to a build failure for me on a fairly standard Fedora Linux workstation. The Spack package file says that isl is required for polly, however, the polly documentation states that as of LLVM 3.7, polly includes isl, and has no external dependencies any more.
2016-01-14 17:52:28 -05:00
Erik Schnetter
aa3897a880 Install ncurses properly
Currently, ncurses's include files are installed into two separate subdirectories, "install/ncurses" and "install/ncursesw". The second level of subdirectories ("ncurses" and "ncursesw") are non-standard. I checked several systems to confirm this, and ncurses examples on the web also simply contain "#include <ncurses.h>" instead of "#include <ncurses/ncurses.h>", which would be necessary to use the currently installed ncurses packages. For example, this also breaks llvm, which uses ncurses, but does not expect the second level of subdirectories.

I am now using the option "--enable-overwrite", which installs the header files directly in to ".../include". I also enable "widec" support all the time. These options are e.g. similar to the ones used by MacPorts, and I confirm that they make the llvm package build (which didn't build before).
2016-01-14 17:40:11 -05:00
Todd Gamblin
aa00999fca update compiler config test. 2016-01-14 12:00:56 -08:00
Todd Gamblin
d869d8e86f add sanity check on config write as well as validation on read. 2016-01-14 12:00:44 -08:00
Todd Gamblin
b567cb57e1 Add jsonschema validation for config files. 2016-01-14 10:41:35 -08:00
Todd Gamblin
05b30bf83e Make text wrapping off by default in tty, add a kwarg for it. 2016-01-14 10:26:31 -08:00
Todd Gamblin
1268b41570 Merge pull request #293 from trws/llvm-rework
Llvm rework
2016-01-14 01:13:39 -08:00
Todd Gamblin
93fdb06d7d Merge pull request #273 from epfl-scitas/packages/R
R : updated package
2016-01-14 00:13:27 -08:00
Adam J. Stewart
f9fbb57d31 Add NAG Fortran Compiler support 2016-01-13 12:32:04 -06:00
Todd Gamblin
f55bba7244 Merge pull request #349 from adamjstewart/features/mpich
Add latest version
2016-01-13 09:50:18 -08:00
Adam J. Stewart
244ee673d6 Add latest version 2016-01-13 11:44:51 -06:00
Todd Gamblin
a56575a6d2 Merge pull request #324 from eschnett/eschnett/openblas-lapack
Ensure that OpenBLAS provides a file liblapack.a
2016-01-13 08:26:26 -08:00
Todd Gamblin
7fe5eaf6b7 Merge pull request #348 from eschnett/eschnett/cereal
New package "cereal"
2016-01-13 08:25:58 -08:00
Erik Schnetter
aa1f96c73b New package "cereal" 2016-01-13 11:21:52 -05:00
Todd Gamblin
37f1337a0b Merge pull request #347 from alalazo/packages/gmsh
Added package : gmsh
2016-01-13 08:20:48 -08:00
alalazo
78b57787fa gmsh : added hdf5 support 2016-01-13 12:22:59 +01:00
alalazo
767f286a9f gmsh : added fltk support 2016-01-13 11:26:10 +01:00
alalazo
ffaa4a8922 gmsh : added package with basic compile options 2016-01-13 10:05:19 +01:00
Gregory Becker
848728858c Removed extra plus signs from command line syntax. Did not yet remove them from printed format 2016-01-12 18:34:26 -08:00
Gregory Becker
5e3c883f2c Cleanup and proper flag satisfaction for partial specs 2016-01-12 16:25:54 -08:00
Gregory Becker
528f9cd583 Implemented flags as lists for subsetting 2016-01-12 15:22:15 -08:00
Todd Gamblin
8ead7783ab Merge pull request #345 from eschnett/eschnett/petsc-python-2
Correct Python version constraint syntax
2016-01-12 14:26:28 -08:00
Todd Gamblin
2a36ba9680 Merge pull request #344 from adamjstewart/features/mpfr
Add required dependency version
2016-01-12 11:37:27 -08:00
Erik Schnetter
8eb16ba02d Merge branch 'develop' into eschnett/petsc-python-2
# Conflicts:
#	var/spack/packages/petsc/package.py
2016-01-12 14:36:37 -05:00
Adam J. Stewart
a6f2cc9cbf Add required dependency version 2016-01-12 13:28:48 -06:00
Adam J. Stewart
180c673c78 Add different URL for older source code 2016-01-12 13:21:53 -06:00
Adam J. Stewart
6985d2c914 Add url_for_version function to calculate url 2016-01-12 13:00:05 -06:00
Adam J. Stewart
5520ce3c4a Removed unnecessary URLs 2016-01-12 12:19:03 -06:00
Adam J. Stewart
9b3e0255f4 Add HDF package 2016-01-12 11:55:42 -06:00
Todd Gamblin
4ac530d289 Merge pull request #314 from eschnett/eschnett/libpciaccess-configure
Build libpciaccess from tarball
2016-01-12 09:14:19 -08:00
Todd Gamblin
5bdc6e53e5 Merge pull request #323 from eschnett/eschnett/openssl-apps
Ensure the APPS environment variable is not set when building OpenSSL
2016-01-12 09:13:50 -08:00
Todd Gamblin
dd0aa90aa1 Merge pull request #328 from eschnett/eschnett/lua-readline
Resolve readline/ncurses dependency when building Lua
2016-01-12 09:13:21 -08:00
Todd Gamblin
1a3c0063a5 Merge pull request #329 from epfl-scitas/packages/cmake
cmake : added variant that activates the build of the ncurses gui
2016-01-12 09:12:06 -08:00
Todd Gamblin
a13c461890 Merge pull request #338 from epfl-scitas/packages/metis
Improved packages : metis and parmetis
2016-01-12 09:09:31 -08:00
alalazo
1f78b9c7af parmetis : removed leftover import statement 2016-01-12 16:59:47 +01:00
alalazo
da8b08b5fe parmetis : used spack install method instead of shutil.copy 2016-01-12 14:55:29 +01:00
alalazo
30da85c3d8 metis : added variant specified in BUILD.txt. Fixed wrong dependency on MPI.
parmetis : added variants as in metis
2016-01-12 14:25:06 +01:00
Peter Scheibel
50727527bc This commit makes the following changes:
There are two sensible defaults for building boost libraries: build all of them
or build none of them. Previously the Spack boost package took the first
approach. This commit changes to building no libraries by default. The user can
specify which libraries they need using variants (e.g. +iostreams to compile the
boost iostreams library). If no libraries are built then a header-only install
is performed (no compilation, just copy header files to prefix). The consequence
of this change is that packages which specify a dependency on boost may now fail
(until they are updated to specify exactly which boost libraries they need
compiled).

The user may now specify whether to build shared libraries (static libraries are
always built) and whether to build libraries with/out multi-threading support
(default is to only build with multi-threading support).

The executable on the user-config.jam toolset line is set to Spack's cc script.
Before, without this, the desired toolset was used but Spack deferred to the
boost build system to choose the compiler version.

bzip2 and zlib are always specified as dependencies when iostreams is built
(before this could be controlled with the +compression variant).
2016-01-11 15:51:59 -08:00
Erik Schnetter
36d74d2a97 Correct Python version constraint syntax 2016-01-11 17:39:39 -05:00
Erik Schnetter
a5588e4bb7 Download package version with a configure script
This avoids having to use autoconf, which requires many m4 scripts that are not always available.
2016-01-11 17:37:13 -05:00
Erik Schnetter
8af8c10559 Avoid key error when env var is unset 2016-01-11 17:33:44 -05:00
Todd Gamblin
d3c96ec2ee Merge pull request #335 from LLNL/revert-321-eschnett/petsc-python
Revert "Require Python for PETSc"
2016-01-11 13:58:52 -08:00
Todd Gamblin
85220dd77d Revert "Require Python for PETSc" 2016-01-11 13:57:21 -08:00
Todd Gamblin
01f2c38ee7 Merge pull request #320 from eschnett/eschnett/parmetis-cmake
parmetis requires cmake @2.8:
2016-01-11 13:56:28 -08:00
Todd Gamblin
25e398645f Merge pull request #321 from eschnett/eschnett/petsc-python
Require Python for PETSc
2016-01-11 13:56:10 -08:00
Todd Gamblin
c4f2373ac2 Merge pull request #318 from eschnett/eschnett/metis-cmake
Require cmake @2.8: for metis
2016-01-11 13:56:04 -08:00
Gregory Becker
2ac5ea42af Fixed concretization 2016-01-11 13:55:11 -08:00
Todd Gamblin
d2b925c709 Merge pull request #312 from eschnett/eschnett/petsc-mpi
Make PETSc build with OpenMPI
2016-01-11 13:53:51 -08:00
Todd Gamblin
87e8430921 Merge pull request #316 from eschnett/eschnett/tgz
Use .tar.gz instead of .tar.xz in several packages for backward compatibility
2016-01-11 13:52:50 -08:00
Todd Gamblin
d380820f3a Merge pull request #322 from eschnett/eschnett/gperftools-update
Update gperftools
2016-01-11 13:52:05 -08:00
Todd Gamblin
309425833b Merge pull request #325 from eschnett/eschnett/julia-update
Several small updates to Julia
2016-01-11 13:48:09 -08:00
Todd Gamblin
9bbb9a8f0a Merge pull request #330 from epfl-scitas/packages/cgal
Added package : cgal
2016-01-11 13:47:55 -08:00
Todd Gamblin
054c6eefdb Merge pull request #334 from adamjstewart/features/patchelf
Add PatchELF package
2016-01-11 13:47:31 -08:00
Todd Gamblin
674dd27649 Merge pull request #333 from adamjstewart/features/szip
Add SZip package
2016-01-11 13:47:14 -08:00
Adam J. Stewart
adbe1d4f06 Add PatchELF package 2016-01-11 13:54:26 -06:00
Adam J. Stewart
6a51b1d570 Add SZip package 2016-01-11 13:43:31 -06:00
alalazo
81a389151f cmake : added variant that activates the build of the ncurses gui 2016-01-11 13:00:23 +01:00
alalazo
625570e730 added package : cgal 2016-01-11 12:50:47 +01:00
Erik Schnetter
23c5a1e6e9 Build Lua on Darwin 2016-01-10 19:37:44 -05:00
Erik Schnetter
9f2dbc9df4 Update Lua to 5.3.2 2016-01-10 19:34:02 -05:00
Erik Schnetter
992b9c46dd Resolve readline/ncurses dependency when building Lua 2016-01-10 13:44:53 -08:00
Mario Melara
aab1a67d05 Adding needed import modules. Changed platform_name to platform to prevent syntax errors 2016-01-09 09:42:36 -08:00
Erik Schnetter
79a1de2f17 Add a patch to prevent Julia running out of virtual memory 2016-01-09 10:47:31 -05:00
Erik Schnetter
b18732173a Require Python to build Julia 2016-01-08 23:21:54 -05:00
Erik Schnetter
d9f1a55c90 Ensure than OpenBLAS provides a file liblapack.a
OpenBLAS implements the virtual package "lapack", and its consumers apparently expect a "liblapack.a".
2016-01-08 22:48:37 -05:00
Erik Schnetter
d5ff7fda6e Ensure the APPS environment variable is not set when building OpenSSL 2016-01-08 22:41:18 -05:00
Erik Schnetter
3d7e7c53c5 Require libunwind 2016-01-08 22:33:55 -05:00
Erik Schnetter
0c9acb0f62 Update gperftools to version 2.4 2016-01-08 22:32:00 -05:00
Erik Schnetter
2ac2985cf2 Require Python for PETSc
PETSc requires Python for building.

I have a case where an HPC system has a very old default Python version, too old for Spack. So I load a module for Python, which makes Spack work. This module relies on LD_LIBRARY_PATH.

When building PETSc, Spack unsets LD_LIBRARY_PATH, breaking the Python that PETSc finds.

Explicitly requiring Python for PETSc makes building PETSc work.
2016-01-08 22:24:42 -05:00
Erik Schnetter
e628896c2b parmetis requires cmake @2.8: 2016-01-08 22:12:19 -05:00
Erik Schnetter
da8fd5b30a Require cmake @2.8: for metis 2016-01-08 21:56:08 -05:00
Gregory Becker
9615efd940 cleanup: Removing an unnecessary line in an otherwise unchanged file 2016-01-08 18:53:19 -08:00
Gregory Becker
41046499c6 minor bug chasing 2016-01-08 18:51:38 -08:00
Erik Schnetter
04f908a957 Require cmake @2.8: 2016-01-08 21:41:35 -05:00
Erik Schnetter
8da1dd2b45 Require cmake 2016-01-08 21:32:17 -05:00
Gregory Becker
6e5238d037 Fixing the fix and removing debug printing 2016-01-08 17:44:16 -08:00
Gregory Becker
2b2d4bae4e Fixing multimethod test for new platforms 2016-01-08 17:38:37 -08:00
Gregory Becker
2b4dd8b9af Fixed target satisfaction and updated tests accordingly 2016-01-08 16:30:27 -08:00
Gregory Becker
aa28e4e81f Improved error messages for compiler_for_spec when either zero or multiple compilers returned. 2016-01-08 15:13:48 -08:00
Gregory Becker
6da1a105cb Revert "adding python_recipe_parser as a submodule under the folder utils"
This reverts commit 1501786fd9.
2016-01-08 15:03:34 -08:00
Gregory Becker
6ca1e5c4b0 Revert "added a bunch of packages and added submodule"
This reverts commit 79808da760.
2016-01-08 15:02:29 -08:00
Gregory Becker
86230b9ac8 Revert "make sure submodule is added in the correct location"
This reverts commit e9f7d033ff.
2016-01-08 15:01:46 -08:00
Gregory Becker
d3d37ad0ce removed the submodule as part of reversion of extraneous commits 2016-01-08 14:29:42 -08:00
Erik Schnetter
6214148d35 Use .tar.gz instead of .tar.xz for backward compatibility 2016-01-08 17:16:30 -05:00
Gregory Becker
a9e9f9afb0 Revert "removed package for python packages with problematic / duplicate names"
This reverts commit f3254ff02d.
2016-01-08 14:14:26 -08:00
Gregory Becker
1b0d064743 Revert "clean up package.py file and remove duplicate file"
This reverts commit c809cc9273.
2016-01-08 14:13:33 -08:00
Gregory Becker
d2da41b0bd More file permissions chasing 2016-01-08 12:12:03 -08:00
Gregory Becker
49908386ef changing problematic package.py file permissions back to 0644 2016-01-08 11:48:59 -08:00
Gregory L. Lee
7ad3e2b56b new python packages 2016-01-08 11:09:11 -08:00
Gregory Becker
ba63111f45 brought the architecture test up to date with new changes 2016-01-07 13:05:58 -08:00
Gregory Becker
53d4f82ce1 Improved cray architecture class 2016-01-07 13:01:05 -08:00
Gregory Becker
83917c4c30 Improved target specification 2016-01-07 12:43:39 -08:00
Gregory Becker
6ccd9d6fa4 Cleaned up naming conventions for architecture, split into platform and target 2016-01-07 11:49:01 -08:00
Gregory L. Lee
175f20a9dc new and updated python packages 2016-01-07 11:12:47 -08:00
Erik Schnetter
1646bec1a4 Make PETSc build with OpenMPI 2016-01-07 13:54:47 -05:00
Todd Gamblin
dd04b6a873 Merge pull request #278 from eschnett/eschnett/hdf5-variants
Enable several variants for HDF5
2016-01-06 23:50:40 -08:00
Todd Gamblin
a651572cfd Merge pull request #307 from eschnett/eschnett/atop
New package atop
2016-01-06 23:40:03 -08:00
Gregory Becker
b4a0004f44 Improved target cmp_key and to/from yaml functions 2016-01-06 14:50:31 -08:00
Gregory Becker
51bd91edc0 made the compiler strategy more easily controllable 2016-01-06 13:00:22 -08:00
Todd Gamblin
8e56c93fef Merge pull request #305 from mathstuf/paraview-osx
Paraview osx
2016-01-06 11:31:37 -08:00
Ben Boeckel
e790146627 paraview: add some extra arguments on OS X
X shouldn't be used on OS X and spack expects a Unix-style install, not
a .app bundle.
2016-01-06 12:05:05 -05:00
Erik Schnetter
fd7c1fe584 Avoid using tabs 2016-01-06 10:10:15 -05:00
Todd Gamblin
84c7e457e9 Merge pull request #302 from eschnett/eschnett/correct-boost
Correct `join_path` in package boost
2016-01-06 04:34:44 -08:00
Todd Gamblin
a65fa54514 Merge pull request #270 from eschnett/eschnett/openssl-darwin
Make OpenSSL build on Darwin
2016-01-06 04:07:16 -08:00
Todd Gamblin
20cbc1d145 Merge pull request #308 from epfl-scitas/packages/glpk
Added package : glpk
2016-01-06 03:37:53 -08:00
alalazo
7670dc7efc glpk : added support for gmp 2016-01-06 10:05:48 +01:00
alalazo
24ba60168d added package : glpk 2016-01-06 09:49:10 +01:00
Todd Gamblin
7f29b870e7 Merge pull request #306 from eschnett/eschnett/mbedtls
New package mbedtls, an alternative SSL library
2016-01-05 23:02:43 -08:00
Gregory Becker
61b03b72b0 improved concretize efficiency for determining whether compilers come from the proper strategy 2016-01-05 19:03:25 -08:00
Gregory Becker
93c9c45580 minor tweak of compiler priority while waiting for customizable compiler priorities 2016-01-05 17:19:04 -08:00
Gregory Becker
29e0ff61d7 fixed compiler finding so as not to identify non-existent versions of the intel compiler based on the version numbers of the PrgEnv-intel module 2016-01-05 17:14:35 -08:00
Erik Schnetter
cfe54b201d New package atop 2016-01-05 20:09:22 -05:00
Gregory Becker
c649610473 fixed concretization to only consider compilers found by the proper strategy 2016-01-05 17:00:28 -08:00
Gregory Becker
d6768cf921 minor bug fix 2016-01-05 16:23:32 -08:00
Erik Schnetter
60d8413940 Support mbedtls, an alternative SSL library 2016-01-05 19:21:57 -05:00
Gregory Becker
48b9023de4 removed debug printing 2016-01-05 14:51:18 -08:00
Gregory Becker
751503c434 fixed haswell targeting bug 2016-01-05 14:47:14 -08:00
Todd Gamblin
7ba6067a37 Merge pull request #304 from nolta/py-astropy
new package: py-astropy
2016-01-05 14:32:38 -08:00
Gregory Becker
1edbaa4e62 removed debug printing 2016-01-05 14:13:09 -08:00
Gregory Becker
9848ad32fd fixed errors caused by crayport on linux and added a darwin architecture 2016-01-05 13:39:53 -08:00
Mike Nolta
2b801e2086 new package: py-astropy 2016-01-05 15:41:18 -05:00
Gregory Becker
d2c2c46541 bug hunting 2016-01-05 11:12:14 -08:00
Erik Schnetter
c18dfa058a Add details to comment 2016-01-05 14:09:54 -05:00
Erik Schnetter
12632f16b8 Combine with other OpenSSL Darwin patch
Set KERNEL_BITS.
Don't use Darwin-specific configure script.
2016-01-05 13:17:17 -05:00
Erik Schnetter
25934200de Merge branch 'develop' into eschnett/openssl-darwin 2016-01-05 13:09:57 -05:00
Erik Schnetter
24ced90913 Correct join_path in package boost 2016-01-05 09:40:30 -05:00
Todd Gamblin
0dcc87bd21 Merge pull request #289 from trws/zsh-array-fix
another portability fix, this time for zsh/non-bash sh
2016-01-05 00:43:08 -08:00
Todd Gamblin
20e8b67eb6 Merge pull request #297 from eschnett/eschnett/boost-darwin
Support Darwin for Boost
2016-01-05 00:42:31 -08:00
Todd Gamblin
7e362e0c46 Merge pull request #300 from eschnett/eschnett/multi-fftw
Build multiple FFTW variants simultaneously
2016-01-05 00:39:50 -08:00
Gregory Becker
751208cedf pick last compiler instead of first, will be overwritten by more advanced preferences as mentioned in the email group 2016-01-04 16:35:06 -08:00
Gregory Becker
53808f254e Support for cray external dependencies implemented in modules 2016-01-04 12:36:48 -08:00
Gregory Becker
ff82e41404 Merge branch 'externals' into crayport 2016-01-04 10:46:25 -08:00
Erik Schnetter
96e5905bce Build multiple FFTW variants simultaneously
FFTW can build only one floating point precision (float, double, long double, quad) at once, but they can all be installed simultaneously as the libraries have different names. It is common packages to decide only at run time which precision FFTW they need, and thus FFTW should offer all precisions at once.
2016-01-04 12:14:42 -05:00
Tom Scogland
133fda11f2 Merge remote branch 'origin/llvm-rework' into llvm-rework 2016-01-03 17:22:57 -08:00
Tom Scogland
884f317d50 tweak gold support, added to gcc
The gold linker support and gold plugin variants now use the same name.
Trying to apply use-flag-style discipline here despite the fact gold has
other implications for clang, this way globally enabling gold will have
a more consistent effect if that becomes possible.  The gold support in
gcc could use more testing to ensure it works consistently, but as long
as a binutils including gold is used the gcc configure tends to pick it
up, and it seems to work with 5.3.0 at least.
2016-01-03 17:22:13 -08:00
Todd Gamblin
b02faf5641 add/remove/list working for new config format.
- mirrors.yaml now uses dict order for precedence, instead of lists of
  dicts.

- spack.cmd now specifies default scope for add/remove and for list
  with `default_modify_scope` and `default_list_scope`.
  - commands that only read or list default to all scopes (merged)
  - commands that modify configs modify user scope (highest
    precedence) by default
  - These vars are used in setup_paraser for mirror/repo/compiler.

- Spack's argparse supports aliases now.
  - added 'rm' alias for `spack [repo|compiler|mirror] remove`
2016-01-03 02:27:50 -08:00
Todd Gamblin
21fae634a5 Add Python 3 aliases to our argparse backport. 2016-01-03 01:19:03 -08:00
Todd Gamblin
56937416a9 All tests that call concretize() need to be MockPackagesTests. 2016-01-02 18:18:00 -08:00
Todd Gamblin
20b7f8a8e0 Fix bug in tests. 2016-01-02 14:25:10 -08:00
alalazo
bf4231dd4b depends_on and when multimethod support boolean 2016-01-02 22:48:14 +01:00
Tom Scogland
31803d10aa bringing back configuration and build stages 2016-01-02 11:59:33 -08:00
alalazo
d95d169ac5 fixed broken unit tests 2016-01-02 19:04:06 +01:00
alalazo
f499f71f64 Package : factored out code in do_stage and do_fetch, changed mirror command accordingly 2016-01-02 16:15:30 +01:00
Tom Scogland
356836ccbb removed extraneous comment lines 2016-01-01 22:30:02 -08:00
Erik Schnetter
03537a6be4 Support Darwin for Boost
Ensure that builds on Darwin use the "darwin" toolset.
Also update Boost to 1.60.0.
2016-01-01 17:38:42 -05:00
Erik Schnetter
f5a49280c3 Enable C++ and Fortran languages by default 2016-01-01 17:26:49 -05:00
alalazo
dcddb19e5b added class decorator to define composite classes 2016-01-01 17:35:01 +01:00
Todd Gamblin
3c64c18bfc Merge pull request #274 from eschnett/eschnett/julia
Add package for Julia
2015-12-31 15:46:52 -08:00
Todd Gamblin
48ebb25c25 Merge pull request #271 from eschnett/eschnett/pcre2
New package PCRE2
2015-12-31 15:40:03 -08:00
Todd Gamblin
7062b216b8 Merge pull request #258 from epfl-scitas/packages/scalasca
Packages/scalasca
2015-12-31 15:27:39 -08:00
Todd Gamblin
99a73cb4fa Merge pull request #290 from trws/some-packages
python libraries, libedit, and ninja
2015-12-31 15:24:23 -08:00
Tom Scogland
48f19b5fde add the gold linker to binutils 2015-12-30 16:59:39 -08:00
Tom Scogland
5d89fb8dfa ensure that clang-query gets installed 2015-12-30 16:59:39 -08:00
Tom Scogland
4ae98f8b21 significant llvm update
This update significantly reworks the llvm and clang packages.  The llvm
package now includes variants allowing it to build and install any and
all of:

* clang
* lldb
* llvm's libunwind (why, WHY did they name it this?!?)
* polly (including building it directly into the clang tools, 3.7.0 only)
* clang extra tools
* compiler-rt (sanitizers)
* clang lto (the gold linker plugin that allows same to work)
* libcxx/libcxxabi
* libopenmp, also setting the default openmp runtime to same, when
  parameters happen this shoudl be an option of libomp or libgomp

Ideally, this should have rpath setup like the gcc package does, but
clang's driver has no support for specs as such, and no clearly
equivalent mechanism either.  If anyone has ideas on this, they would be
welcome.

One significant note related to gcc though, if you test this on LLNL
systems, or anywhere that has multiple GCCs straddling the dwarf2
boundary and sharing a libstdc++, build a gcc with spack and use that to
build clang.  If you use a gcc4.8+  to build this with an older
libstdc++ it will fail on missing unwind symbols because of the
discrepancy.

Resource handling has been changed slightly to move the unpacked archive
into the target rather than use symlinks, because symlinks break certain
kinds of relative paths, and orders resource staging such that nested
resources are unpacked after outer ones.
2015-12-30 16:59:39 -08:00
Tom Scogland
fcdf08e4d7 allow nested resources
This solution doesn't really make me happy, but does seem to work.  It
sorts the resources by the length of the string representing their
destination.  Since any nested resource must contain another resource's
name in its path, it seems that should work, but there should be a
better way to do this.
2015-12-30 16:59:39 -08:00
Tom Scogland
cc8c783bb2 adding errno import for the deep directory creation patch 2015-12-30 16:59:39 -08:00
Tom Scogland
30f5ccb80d create leading directories for resources
This allows resources to be placed into subdirectory trees that may not
exist in the base package, and may depend on other resources to be
staged later.
2015-12-30 16:59:39 -08:00
Tom Scogland
01f811d546 legacy mysql bindings for python 2015-12-30 11:18:13 -08:00
Tom Scogland
31f674da3c python libraries, libedit, and ninja
A pile of libraries and tools, libedit is actually important as a
replacement of readline for non-GPL projects.  Also ninja may be
worthwhile for some of the larger CMake projects, like llvm/clang.
2015-12-30 11:13:09 -08:00
Tom Scogland
926efed31c another portability fix, this time for zsh/non-bash sh
Yay for non-portable declaration syntax.  After the previous screwiness
I ran this through a number of shells, and found that this is the most
portable version I coudl seem to get.
2015-12-30 10:55:52 -08:00
Todd Gamblin
d842365e4c Merge pull request #288 from trws/zsh-array-fix
removing ill-fated array check for non-portability
2015-12-30 10:34:31 -08:00
Tom Scogland
8726d2fe2e removing ill-fated array check for non-portability 2015-12-30 10:29:11 -08:00
Todd Gamblin
3e3667f254 Revert "removing check as it can cause failures in zsh"
This reverts commit 496e485691.

Undo overly large set of changes -- LLVM wasn't ready.  Tom can
recommit just the zsh stuff.
2015-12-30 10:20:27 -08:00
Tom Scogland
496e485691 removing check as it can cause failures in zsh 2015-12-30 10:13:46 -08:00
Todd Gamblin
99a73c5991 Merge pull request #285 from trws/args-check
fix for array handling in ancient bash
2015-12-29 09:22:32 -08:00
Tom Scogland
d7607973fa fix for array handling in ancient bash
fixes #284
2015-12-29 09:04:54 -08:00
Todd Gamblin
e8e6368cc8 Rework mirror configuration.
- All of these work:
  - `spack mirror add`
  - `spack mirror remove`
  - `spack mirror list`

- `spack mirror` subcommands (except create) now have their own
  --scope argument.

- Mirror config is now stored sanely as an ordered list.
2015-12-28 01:14:41 -08:00
Todd Gamblin
1f8ba53ca7 Rework compiler configuration and simplify config.py logic.
- `spack compiler` subcommands now take an optional --scope argument.

- no more `remove_from_config` in `config.py` -- `update` just
  overwrites b/c it's easier to just call `get_config`, modify YAML
  structures directly, and then call `update`.

- Implemented `spack compiler remove`.
2015-12-28 00:46:51 -08:00
Todd Gamblin
ff0d871612 Remove mock_configs; tests no longer modify spack home directory. 2015-12-27 21:13:18 -08:00
Todd Gamblin
39e360f93a Add custom YAML loader & dumper to track lines & maintain dict order.
- Configs are now parsed with `spack.util.spack_yaml.load/dump`

- Parser annotates returned data with `_start_mark` and `_end_mark`
  properties, so that we can recover what lines/files they came from.

- Parser uses `OrderedDict` instead of `dict`.  This will help
  maintain some sanity when round-tripping config files.
2015-12-27 17:51:11 -08:00
Todd Gamblin
4e8e298eb3 Uncomment disabled tests. 2015-12-27 17:40:31 -08:00
Todd Gamblin
487ac9cd19 Merge pull request #277 from LLNL/bugfix/vcs-mirror-fetch
Fix #85 and #228: errors fetching VCS packages from a mirror.
2015-12-26 09:28:38 -08:00
Todd Gamblin
bef52570ae Default to scope with highest precedence instead of user scope,
- Generalizes config scopes a bit more: nothing assumes there is a
  'user' scope (this would break testing sometimes).
2015-12-25 18:42:06 -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
34401cf0c3 Rework Spack config: keep user & site config in memory.
- User and site config are now kept separately in memory.
- Merging is done on demand when client code requests the configuration.
- Allows user/site config to be updated independently of each other by commands.
- simplifies config logic (no more tracking merged files)
2015-12-25 14:00:33 -08:00
Erik Schnetter
be12720eb7 Use filter_file instead of calling perl 2015-12-25 14:02:56 -05:00
Todd Gamblin
9a23e1a9df Merge pull request #211 from LLNL/bugfix/github-154
Fix #154 -- better log messages for do_patch()
2015-12-24 11:46:32 -08:00
Todd Gamblin
52625de52c Fix #154 -- better log messages for do_patch() 2015-12-24 11:37:40 -08:00
Erik Schnetter
01f7e768f6 Enable several variants for HDF5
+cxx, +fortran: Enable support for the respective languages
+threadsafe: Enable multi-threading
2015-12-23 22:49:42 -05:00
Todd Gamblin
f37f872e5f Fix #85 and #228: errors fetching VCS packages from a mirror.
- Stage and fetcher were not being set up properly when fetching using
  a different fetch strategy than the default one for the package.

- This is fixed but fetch/stage/mirror logic is still too complicated
  and long-term needs a rethink.

- Spack will now print a warning when fetching a checksum-less tarball
  from a mirror -- users should be careful to use https or local
  filesystem mirrors for this.
2015-12-23 16:23:58 -08:00
Erik Schnetter
51f546fe92 Add comments to package file 2015-12-23 18:21:41 -05:00
Erik Schnetter
309877088d Build Julia 2015-12-23 18:21:40 -05:00
Erik Schnetter
a58dd8f6ab Remove leftover debug statement 2015-12-23 18:19:26 -05:00
Todd Gamblin
28d61f0d7f Merge pull request #276 from LLNL/bugfix/235-smarter-spider
Fix #235: Smarter web spidering -- use parsed links instead of recons…
2015-12-23 14:06:37 -08:00
Todd Gamblin
5ca5884ad6 Fix #235: Smarter web spidering -- use parsed links instead of reconstructing.
- Move `find_versions_of_archive` from spack.package to `spack.util.web`.

- `spider` funciton now just uses the link parsing it already does to
  return links.  We evaluate actual links found in the scraped pages
  instead of trying to reconstruct them naively.

- Add `spack url-parse` command, which you can use to show how Spack
  interprets the name and version in a URL.
2015-12-23 13:16:57 -08:00
alalazo
21dae4577a R : updated package 2015-12-23 10:20:13 +01:00
Todd Gamblin
d63cb8b537 Fix bug in URL regex. 2015-12-22 17:05:23 -08:00
Todd Gamblin
0d4b77a24b revert accidental print statements. 2015-12-22 17:02:14 -08:00
Todd Gamblin
2b89d9b1db More consistent URL parsing when finding versions.
Versions found by wildcard URLs are different from versions found by
parse_version, etc.  The wildcards are constructed more haphazardly
than the very specific URL patterns in url.py, so they can get things
wrong.  e.g., for this URL:

    https://software.lanl.gov/MeshTools/trac/attachment/wiki/WikiStart/mstk-2.25rc1.tgz

We miss the 'rc' and only return 2.25r as the version if we ONLY use
URL wildcards.

Future: Maybe use the regexes from url.py to scrape web pages, and
then compare them for similarity with the original URL, instead of
trying to make a structured wildcard URL pattern?  This might yield
better results.
2015-12-22 16:59:00 -08:00
Erik Schnetter
60ec79eac3 New package PCRE2
This is a major update of the package PCRE. It seems both PCRE and PCRE2 can be installed at the same time; their APIs are different.
2015-12-22 18:53:43 -05:00
Erik Schnetter
a540a68561 Make OpenSSL build on Darwin 2015-12-22 18:51:49 -05:00
Todd Gamblin
d1d23ec5e6 Merge pull request #257 from eschnett/eschnett/hwloc-1.11.2
Update hwloc; don't require libpciaccess on OS X
2015-12-22 15:18:39 -08:00
Todd Gamblin
1771063fe2 Merge pull request #269 from eschnett/eschnett/rsync-3.1.2
Update rsync to 3.1.2
2015-12-22 15:16:24 -08:00
Erik Schnetter
552d8ca5f0 Update rsync to 3.1.2 2015-12-22 16:40:09 -05:00
Erik Schnetter
6831ee6f0a Skip installing libpciaccess on Darwin 2015-12-22 16:24:05 -05:00
Erik Schnetter
6dc1fc03c1 Update hwloc; don't require libpciaccess on OS X
- hwloc 1.11.2 is available.
- libpciaccess is not supported on OS X; don't require it there.
2015-12-22 15:50:46 -05:00
Erik Schnetter
9017ec5865 Merge branch 'develop' into correct-cc 2015-12-22 15:49:43 -05:00
Erik Schnetter
3427174eb0 Correct quoting 2015-12-22 15:49:14 -05:00
Todd Gamblin
100ada0ed6 Merge pull request #266 from LLNL/bugfix/python3-setuptools-conflict
fix conflict with setuptools and cached pyc files
2015-12-22 09:19:57 -08:00
Gregory L. Lee
41fd380d1b fixed site pyc regular expression 2015-12-22 09:15:47 -08:00
Todd Gamblin
b1d40efd99 Merge pull request #261 from LLNL/features/prefer-versions-in-packages
Add ability to prefer particular versions in packages.
2015-12-22 08:25:52 -08:00
Gregory L. Lee
3db1c1761e only ignore cached site.py file 2015-12-22 08:03:17 -08:00
Todd Gamblin
5bcec9289e Merge pull request #263 from nolta/hdf5-mpi
fix non-mpi hdf5 package build
2015-12-22 07:57:11 -08:00
Todd Gamblin
157e42de22 Merge pull request #264 from nolta/typos
fix a few comment typos
2015-12-22 07:56:54 -08:00
Todd Gamblin
642ee87fcc Merge branch 'nolta-249' into develop 2015-12-22 07:56:10 -08:00
Todd Gamblin
792b033255 Slightly more robust tmp directory search.
- remove getcwd() check (seems arbitrary -- if users set their TMPDIR
  to this why stop them?)

- try a number of common locations and try per-user directories in
  them first.
2015-12-22 07:54:25 -08:00
Todd Gamblin
0f6884421b Merge pull request #265 from epfl-scitas/packages/valgrind
valgrind : added package
2015-12-22 07:23:19 -08:00
Gregory L. Lee
d85a46380c fix conflict with setuptools and cached pyc files 2015-12-22 06:50:18 -08:00
alalazo
fc43f3c730 valgrind : added package 2015-12-22 10:11:18 +01:00
Mike Nolta
61f07b0c4d fix a few comment typos 2015-12-21 19:24:16 -05:00
Mike Nolta
bfc72c04fb fix non-mpi hdf5 package build
Fixes a couple of issues in c5b7eba457.
2015-12-21 18:59:01 -05:00
Mike Nolta
2ba6bb21fb fix #249 (tmp spack-stage directories conflict) 2015-12-21 18:50:58 -05:00
Todd Gamblin
fe0fdf60b4 Add ability to prefer particular versions in packages.
- Adding `preferred=True` to a version directive will change its sort
  order in concretization.

- This provides us a rudimentary ability to keep the Spack stack
  stable as new versions are added.

- Having multiple stacks will come next, but this at least allows us
  to specify default versions of things instead of always taking the
  newest.
2015-12-21 15:35:47 -08:00
Gregory L. Lee
c3aaf005e2 new python versions 2015-12-21 15:14:59 -08:00
Gregory L. Lee
f9326053b9 remove numpy compiler patch 2015-12-21 13:56:19 -08:00
Todd Gamblin
73ea15db8e Merge pull request #208 from epfl-scitas/features/resource_directive
resource directive : implementation + clang / llvm use case
2015-12-21 10:34:16 -08:00
Erik Schnetter
611537eaed Merge branch 'develop' into correct-cc 2015-12-21 13:18:35 -05:00
Todd Gamblin
d5e9279c1d Merge pull request #215 from sjtbham/develop
fix build to work against depends for modules created by setup.py and…
2015-12-21 09:24:16 -08:00
Erik Schnetter
ba22fc8b78 Simplify Spack cc script 2015-12-21 10:21:33 -05:00
alalazo
a411c497ab scalasca + dependencies : simplified build after #255 2015-12-21 16:10:55 +01:00
alalazo
0a191d6b09 scalasca : updated package build (depends on scorep, does not build twice). 2015-12-21 15:02:48 +01:00
Todd Gamblin
dccfcd10f7 Merge pull request #255 from LLNL/bugfix/254-libtool-compiler-name-issues
Fix #254: libtool & distutils want certain compiler names.
2015-12-20 16:56:59 -08:00
Todd Gamblin
bb329d8a5c Merge pull request #231 from epfl-scitas/packages/scotch
scotch: adding dependencies + variants for mpi, shared, compression and esmumps
2015-12-20 14:29:19 -08:00
Todd Gamblin
d6edaa0970 Merge pull request #251 from epfl-scitas/packages/tau
Improved build of tau and related dependencies
2015-12-20 14:26:40 -08:00
alalazo
14c9c61275 tau : scorep is now a variant 2015-12-20 17:38:35 +01:00
Nicolas Richart
27d52badb1 removing completely the write_make_inc function 2015-12-20 13:38:22 +01:00
Nicolas Richart
614c4d1876 moving write_make_inc into a patch function 2015-12-20 13:27:43 +01:00
Todd Gamblin
37db5928b7 Merge pull request #109 from justintoo/add-package-spot
(Package) Add Spot C++ library (v1.99.3)
2015-12-19 21:06:22 -08:00
Todd Gamblin
22a4eb6b27 Merge pull request #226 from epfl-scitas/packages/mpiches
mpich, mvapich2: changes the filter for the wrappers mpi{cc, cxx, f77, fc}
2015-12-19 21:04:08 -08:00
Todd Gamblin
1b086c928c Merge pull request #227 from trws/fetch-deps
fetch: add options to fetch missing or all deps
2015-12-19 21:02:42 -08:00
Todd Gamblin
9edba18489 Merge pull request #230 from nolta/fix-env-mod-sys-type
fix environment module path when $SYS_TYPE isn't defined
2015-12-19 20:59:13 -08:00
Todd Gamblin
53cb7e828b Merge branch 'pull/256' into develop 2015-12-19 20:09:13 -08:00
Todd Gamblin
3d3bea618e Fix empty format strings in some packages. 2015-12-19 20:08:14 -08:00
Todd Gamblin
32f96b5c73 Fix stale code in python version test so that it actually works. 2015-12-19 20:04:00 -08:00
Mike Nolta
e403576cf9 new package: cfitsio 2015-12-19 18:38:23 -05:00
Mike Nolta
527154e6df fix env module sys_type on non-LLNL systems 2015-12-19 16:34:24 -05:00
Mike Nolta
429e15c4a6 spack python: add -c option
Allows passing program in as a string. Example:

    $ spack python -c 'print 2+3'
    5

Also imports spack module by default into the environment.
2015-12-19 16:32:17 -05:00
Gregory Lee
df5dc1c9bb Merge pull request #253 from LLNL/bugfix/244-uninstall-errors
Bugfix/244 uninstall errors
2015-12-19 08:06:36 -08:00
Gregory L. Lee
a62f590653 Merge branch 'develop' of https://github.com/llnl/spack into develop 2015-12-19 07:44:12 -08:00
Gregory L. Lee
8dd1f3ffa5 added mrnet 5.0.1 2015-12-19 07:43:34 -08:00
Todd Gamblin
7cc4d88726 Fix #254: libtool & distutils want certain compiler names.
This changes the compiler wrappers so that they are called by the same
name as the wrapped compiler.  Many builds make assumptions about
compiler names, and we need the spack compilers to be recognizable so
that build systems will get their flags right.

This adds per-compiler subdirectories to lib/spack/spack/env directory
that contain symlinks to cc for the C, C++, F77, and F90
compilers. The build now sets CC, CXX, F77, and F90 to point to these
links instead of to the generically named cc, c++, f77, and f90
wrappers.
2015-12-19 02:06:47 -08:00
Todd Gamblin
5f9a61616b Merge pull request #252 from JohnWestlund/develop
remove possible trailing slash in _sp_prefix or _sp_share_dir
2015-12-18 22:31:18 -08:00
Todd Gamblin
52e3364efa Fix #244: errors on uninstall
- Extension logic didn't take conditional deps into account.

- Extension methods now check for whether the extnesion is
  in the extendee map AND whether the dependency is actually present
  in the spec yet.
2015-12-18 22:24:35 -08:00
Todd Gamblin
b7e926eef6 minor formatting. 2015-12-18 22:24:22 -08:00
Todd Gamblin
ce8bd20944 Fix import error. 2015-12-18 22:23:51 -08:00
John Westlund
3e1ba6cc24 remove possible trailing slash in _sp_prefix or _sp_share_dir 2015-12-18 21:28:44 -08:00
Todd Gamblin
abd3d3946d Format to 80 char width. 2015-12-18 19:23:45 -08:00
alalazo
f3837dd686 tau : removed direct otf2 support 2015-12-18 16:15:30 +01:00
alalazo
dfbf1b2205 Merge branch 'develop' of https://github.com/alalazo/spack into packages/tau 2015-12-18 13:00:43 +01:00
alalazo
8dc32aeedb Improved tau build and added optional dependencies 2015-12-18 12:58:29 +01:00
Todd Gamblin
3198522a7f Merge pull request #236 from nolta/cmake-enable-ssl
cmake: enable ssl, for https downloads
2015-12-17 23:03:31 -08:00
Todd Gamblin
a173324069 Merge pull request #205 from trws/shell-arg-handling-fix
fix for the shell arg handling issues
2015-12-17 23:01:46 -08:00
Todd Gamblin
ffd1d95806 Merge pull request #250 from davidbeckingsale/features/lmod
Added Lmod package
2015-12-17 22:37:46 -08:00
David Beckingsale
f91e1ae83f Added Lmod package 2015-12-17 15:26:47 -08:00
Gregory Becker
217a2d9ea5 fixed yaml error 2015-12-17 15:26:27 -08:00
Todd Gamblin
4d982f5aca Merge pull request #86 from jgalarowicz/develop
Add support for Krell Institute related products.
2015-12-17 12:35:30 -08:00
Jim Galarowicz
c02cbaecd8 Change back the previous boost change and change the mrnet variant name to lwthreads. 2015-12-17 07:41:49 -08:00
Erik Schnetter
5d61888657 Correct Spack cc script 2015-12-17 10:13:39 -05:00
Todd Gamblin
6b6a82c147 Merge pull request #246 from LLNL/features/245-pdb-debug
added option to enable pdb debug
2015-12-16 16:08:09 -08:00
Gregory L. Lee
107c0dd1a8 added option to enable pdb debug 2015-12-16 15:54:15 -08:00
Todd Gamblin
85c02dbe7b Merge pull request #167 from mathstuf/hdf5-fix-mpi-dependency
Hdf5 fix mpi dependency
2015-12-16 12:03:22 -08:00
Gregory Lee
9cab88071b Merge pull request #239 from LLNL/bugfix/238-db-specs-not-concrete
Fix #238: Database specs need to be concrete when read in as well.
2015-12-16 11:37:51 -08:00
Todd Gamblin
9ac4c730fb Merge pull request #241 from epfl-scitas/packages/gnuplot
gnuplot : added package
2015-12-16 11:37:26 -08:00
Todd Gamblin
09b6e8e804 Merge pull request #242 from epfl-scitas/packages/gsl
gsl : added package
2015-12-16 11:36:09 -08:00
Todd Gamblin
5b665226a2 Merge pull request #243 from nolta/patch-2
minor comment tweak in modules.py
2015-12-16 11:33:56 -08:00
Mike Nolta
82aa366adf minor comment tweak in modules.py 2015-12-16 11:43:07 -05:00
alalazo
cc9266e56c gsl : added package 2015-12-16 12:45:58 +01:00
Massimiliano Culpo
d5018e77a3 gnuplot : modifications to build on RHLE 6 2015-12-16 09:32:48 +01:00
Todd Gamblin
2f9ee88408 Fix #238: Database specs need to be concrete when read in as well. 2015-12-15 17:15:37 -08:00
Mike Nolta
917fb328bb cmake: enable ssl, for https downloads
By default cmake builds its own curl, without SSL support. This
patch enables SSL when building cmake, fixing the following error:

  error: downloading 'https://...' failed

    status_code: 1
    status_string: "Unsupported protocol"
    log: Protocol "https" not supported or disabled in libcurl
2015-12-15 12:39:30 -05:00
alalazo
0a0cd4b9d3 gnuplot : added package 2015-12-15 16:29:36 +01:00
Todd Gamblin
dc3b54a681 Merge pull request #233 from LLNL/bugfix/206-value-error
Fix #206: need to make deps AND root concrete when read in.
2015-12-14 21:17:10 -08:00
Todd Gamblin
6e074a196a Fix #206: need to make deps AND root concrete when read in. 2015-12-14 21:06:32 -08:00
Todd Gamblin
3d39d035c1 Merge pull request #232 from LLNL/bugfix/package-cache-217
Bugfix/package cache 217
2015-12-14 19:54:57 -08:00
Nicolas Richart
ed7db8e489 adding external dependencies + variants for mpi, shared and compression 2015-12-14 21:59:40 +01:00
Todd Gamblin
26b3d15ea0 Merge pull request #229 from epfl-scitas/packages/fftw
fftw : added package
2015-12-14 10:12:22 -08:00
alalazo
1bfb16592b fftw : added package 2015-12-14 16:31:02 +01:00
Jim Galarowicz
8df4fd9e94 Fix build of krell tools to use spack with minimal impact on rest of spack packages. 2015-12-13 17:13:34 -08:00
Jim Galarowicz
0fc83ba999 Fix merge conflict with papi package. 2015-12-11 17:23:54 -08:00
Todd Gamblin
afbd0e77d0 Make internal hash dep sort order match external one. 2015-12-11 16:47:34 -08:00
Todd Gamblin
3dd6cbc556 Fix #217: update spec_dag test for new _cmp_key. 2015-12-11 13:07:20 -08:00
Todd Gamblin
6ee2eb21dd Fix #217: Use MUCH faster hashing, reduce number of DAG copies.
This changes the hash algorithm so that it does much less object
allocation and copying, and so that it is correct.

The old version of `_cmp_key()` would call `sorted_deps`, which would
call `flat_dependencies` to get a list of dependencies so that it
could sort them in alphabetical order.  This isn't necessary in the
`_cmp_key()`, and in fact we want more DAG structure than that to be
included in the `_cmp_key()`.

The new version constructs a tuple without copying the Spec DAG, and
the tuple contains hashes of sub-DAGs that are computed recursively
in-place.  This is way faster than the previous algorithm and reduces
the numebr of copies significantly. It is also a correct DAG hash.

Example timing and copy counts for the different hashing algorithms
we've tried:

Original (wrong) Spec hash:
```
106,170 copies
real    0m5.024s
user    0m4.949s
sys     0m0.104s
```

Spec hash using YAML `dag_hash()`:
```
3,794 copies
real    0m5.024s
user    0m4.949s
sys     0m0.104s

New no-copy, no-YAML hash:
```
3,594 copies
real    0m2.543s
user    0m2.435s
sys     0m0.104s
```

So now we have a hash that is correct AND faster.

The remaining ~3k copies happen mostly during concretization, and as
all packages are initially loaded.  I believe this is because Spack
currently has to load all packages to figure out virtual dependency
information; it could also be becasue there ar a lot of lookups of
partial specs in concretize.  I can investigate this further.
2015-12-11 12:40:27 -08:00
Mario Melara
b5216f6ec8 Commented out cxxflag. Not 100% sure it's needed 2015-12-11 12:07:32 -08:00
Mario Melara
31df2dd9dd Fixed targets ti be x86_64, important note: have not tested this on linux machine 2015-12-11 12:04:47 -08:00
Mario Melara
fee88d289d Rewrote docstrings for sys_type() and got rid of unused functions 2015-12-11 12:03:13 -08:00
Todd Gamblin
7526a89463 Fix #217: Make package cache use DAG hash instead of sorted deps.
- Gets rid of last vestige of old-style specs.
- Uses new hashing for lookup
2015-12-11 02:17:17 -08:00
Tom Scogland
281a869ef6 fix path resolution for mirror packages, especially with dependency fetching 2015-12-10 09:24:01 -08:00
Ben Boeckel
6f978af77b hdf5: update dependents to declare MPI support 2015-12-10 11:53:40 -05:00
Ben Boeckel
79a641ccf1 paraview: update hdf5 comment 2015-12-10 11:51:54 -05:00
Ben Boeckel
c5b7eba457 hdf5: make mpi support optional 2015-12-10 11:51:54 -05:00
Tom Scogland
786f4cd2c2 add dependency fetching to mirror creation 2015-12-10 08:32:51 -08:00
Tom Scogland
25f2b01a3c fetch: add options to fetch missing or all deps
Small additions to fetch to make it easier to fetch all files necessary for a
build on a system without network connectivity.
2015-12-10 07:27:06 -08:00
Gregory L. Lee
3163d016db install python files to libxml2 prefix instead of python prefix and ignore non-python files when activating 2015-12-09 14:10:05 -08:00
Nicolas Richart
0daa08416a corrected filter_compilers + added it for mvapich2 2015-12-09 20:00:54 +01:00
Todd Gamblin
f6eb000381 Merge pull request #225 from epfl-scitas/packages/git
Adding https support in git even if system lib are missing
2015-12-09 10:59:47 -08:00
alalazo
20e67bc5e6 clang : solve the issue with missing default include paths for OpenMP and libc++
resource : support for finer grained linking of resources
2015-12-09 17:15:26 +01:00
Nicolas Richart
31863c68d8 Adding curl and expat support to git for https repos 2015-12-09 11:00:33 +01:00
Todd Gamblin
e46af913be Merge pull request #148 from PaulDapolito/glib-dep
added zlib dependency to glib package specification
2015-12-09 01:44:00 -08:00
Todd Gamblin
8ebac18f50 Merge pull request #224 from epfl-scitas/packages/gdb
gdb : added package
2015-12-09 01:35:04 -08:00
Todd Gamblin
537451f0b1 bugfix: doc build needed additional sys.path due to externals change. 2015-12-09 01:32:12 -08:00
Todd Gamblin
e009a910cc Fix travis badge URL. 2015-12-09 01:28:54 -08:00
Todd Gamblin
c41b9b7ddc Change github.com/scalability-llnl to github.com/llnl everywhere. 2015-12-09 01:24:15 -08:00
Todd Gamblin
b8bb24d4bf Update README.md and LICENSE with new github.com/llnl URLs 2015-12-09 01:10:14 -08:00
alalazo
4d5eb4ce7d gdb : added package 2015-12-09 09:06:10 +01:00
Todd Gamblin
0356ba34a0 Merge pull request #223 from alalazo/fixes/gcc_sysroot_and_objdir
Fix for #177
2015-12-08 10:15:40 -08:00
alalazo
c5b9732aed Should fix #177
gcc : changed objdir to something out of srcdir and added '--with-sysroot=/'
binutils : added '--with-sysroot=/'
2015-12-08 14:06:04 +01:00
Todd Gamblin
e7ab8d476d Merge pull request #219 from eschnett/eschnett/gmp
Update gmp to 6.1.0
2015-12-07 16:46:44 -08:00
Todd Gamblin
6bc86a6baa Merge pull request #220 from eschnett/eschnett/mpc
Update mpc to 1.0.3
2015-12-07 16:46:32 -08:00
Todd Gamblin
b0434fa486 Merge pull request #221 from davidbeckingsale/features/cleverleaf-boost
Update CleverLeaf package to use Boost and fix SAMRAI MPI usage
2015-12-07 16:46:15 -08:00
Todd Gamblin
fcabf0ef0d Merge pull request #222 from mplegendre/bugfix/github-203-gcc5-builds
Fix issue with gcc 5.x not building on RHEL6
2015-12-07 15:55:21 -08:00
Matthew LeGendre
f8e046bb33 Fix issue with gcc 5.x not building on RHEL6 2015-12-07 15:49:47 -08:00
Gregory L. Lee
1a22a507d6 mesa requires +python variant of libxml2 2015-12-07 15:36:36 -08:00
David Beckingsale
36272c8136 Fix MPI selection in SAMRAI and remove narrow dependency specification 2015-12-07 14:58:16 -08:00
David Beckingsale
77bf133cd2 Update CleverLeaf package to use Boost and fix SAMRAI MPI usage 2015-12-07 14:33:31 -08:00
Erik Schnetter
aff95ee587 Update mpc to 1.0.3 2015-12-05 11:23:40 -05:00
Erik Schnetter
29537b9991 Update gmp to 6.1.0 2015-12-05 11:21:47 -05:00
Peter Scheibel
530e049d4a Added nose 1.3.7 source along with with the lgpl license (renamed from lgpl.txt
to LICENSE)
2015-12-04 17:55:20 -08:00
Gregory L. Lee
5891847ae4 added py-pillow and updated py-basemap to depend on it 2015-12-03 15:35:28 -08:00
Gregory L. Lee
a56c7e5f1a Merge branch 'develop' of https://github.com/scalability-llnl/spack into develop 2015-12-03 15:02:49 -08:00
Gregory L. Lee
0f4efc018d updated package versions 2015-12-03 15:01:44 -08:00
Todd Gamblin
5a5990be09 Merge pull request #214 from epfl-scitas/packages/boost
Boost: mpi, python and compression for iostream variants
2015-12-03 09:24:21 -06:00
Massimiliano Culpo
50bd4d2e4e mirror : deals correctly with variants that optionally enable resources (if they are archive URLs) 2015-12-03 11:21:11 +01:00
Peter Scheibel
b98b612204 Try to be more careful to only suppress the warning about nose already being
imported. Other warnings should be output.
2015-12-02 18:10:28 -08:00
Mario Melara
028cca16e6 Got rid of the unusued default strategy=None 2015-12-02 10:15:33 -08:00
Nicolas Richart
1a132e4fdb Missing declaration of the debug variant 2015-12-02 16:18:29 +01:00
Simon Thompson
aa137d8be0 fix build to work against depends for modules created by setup.py and add python3 support 2015-12-02 14:20:11 +00:00
Nicolas Richart
4bb6f23ae1 Adding variant for mpi and python + compression for iostream 2015-12-02 13:26:00 +01:00
Massimiliano Culpo
39a3cfd4d9 reource directive accepts 'basename' keyword
llvm : libc++ variant
2015-12-02 12:24:37 +01:00
Massimiliano Culpo
4b2168ab8e resources : added missing check after fetch 2015-12-02 10:13:39 +01:00
Mario Melara
0544b164fc Updated script of mini-xml for adios package 2015-12-01 11:59:49 -08:00
Mario Melara
4e0d47f1dd building with GCC needs special variables added. Intel compilers build just fine 2015-12-01 11:59:19 -08:00
Mario Melara
d7fdb8e015 Got rid of hard coded strings for adding default 2015-12-01 11:57:54 -08:00
Mario Melara
58f2b39bc8 Changed default to CPU_TARGET env var. Helps deal with target differences between cori and edison 2015-12-01 11:57:17 -08:00
Mario Melara
89fbe4fdfa Changed add_target to include variables rather than hard-coded strings 2015-12-01 11:55:38 -08:00
Massimiliano Culpo
b85dccca92 resources : added error handling for destination keyword on resource directive 2015-12-01 15:12:26 +01:00
Massimiliano Culpo
d3d9b5401b resources : changed name of stage folder 2015-12-01 13:26:44 +01:00
Massimiliano Culpo
a075d581ef resource : fetch strategy constructed from kwargs instead or hardcoded URLFetchStrategy 2015-12-01 12:56:46 +01:00
Massimiliano Culpo
a173ab1e31 clang : default OpenMP is libomp 2015-12-01 12:16:08 +01:00
Todd Gamblin
114e4d3fe6 Merge pull request #213 from khuck/develop
Had to force a patch to the OMPT support, so the hash for v0.1 has changed.
2015-11-30 21:42:49 -08:00
Kevin Huck
cd1207329b Updating the OMPT hash again... 2015-11-30 10:32:07 -08:00
Kevin Huck
d5c7cd5e50 Had to force a patch to the OMPT support, so the hash for v0.1 has
changed.
2015-11-30 09:48:15 -08:00
Todd Gamblin
55237b094a Use new travis insfrastructure (sudo:false) 2015-11-29 22:09:11 -08:00
Todd Gamblin
45ffcdee7b Add very basic Travis CI support. 2015-11-29 22:02:13 -08:00
Tom Scogland
b253308eee returning flux to a building state for web release
Flux package reworked to include all new dependencies, fixed issues with a
clean-build of hwloc, lua and czmq as well that prevented flux from building
cold on a minimal system.
2015-11-29 19:22:31 -08:00
Todd Gamblin
05b791a621 Add citation information to README 2015-11-28 19:45:36 -08:00
Todd Gamblin
cc349e9a32 Add default repos.yaml 2015-11-28 19:11:51 -08:00
Todd Gamblin
dfcf567de0 Add a cleaned up repo command. 2015-11-28 19:00:24 -08:00
Todd Gamblin
73ef06018e Integrate namespace attribute into spec, spec DAG, spec YAML. 2015-11-28 16:26:23 -08:00
Todd Gamblin
a338e0efd5 Fix spack.db -> spack.repo in bin/spack 2015-11-28 16:21:31 -08:00
Todd Gamblin
7383bd393e Fixed bug #42: problem with satisfies() for virtual dependencies.
- _cross_provider_maps() had suffered some bit rot (map returned was
  ill-formed but still worked for cases with one vdep)

- ProviderIndex.satisfies() was only checking whether the result map
  was non-empty.  It should check whether all common vdeps are *in*
  the result map, as that indicates there is *some* way to satisfy
  *all* of them.  We were checking whether there was some way to
  satisfy *any one* of them, which is wrong.

- Above would cause a problem when there is more than one vdep provider.

- Added test that covers this case.

- Added `constrained()` method to Spec. Analogous to `normalized()`:
  `constrain():constrained() :: normalize():normalized()`
2015-11-27 23:06:18 -08:00
Todd Gamblin
763d850a0e Add tests for importing packages directly.
Added test for, e.g.:

    import spack.pkg.builtin.mock.mpich
    import spack.pkg.builtin.mock.mpich as mpich
    from spack.pkg.builtin.mock.mpich import Mpich

Among others.  These ensure that direct package imports work so that
packages can be extended.
2015-11-26 14:23:12 -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
Massimiliano Culpo
1fe626ec7c resource directive : sketch of implementation + clang / llvm use case 2015-11-26 17:53:33 +01:00
Peter Scheibel
c5ed7e2a15 On systems which have already installed nose (perhaps an older version)
importing nose (which is also in Spack's external/ directory) outputs a warning
(since there is more than one nose package). This avoids printing the warning
to the user.
2015-11-25 18:33:52 -08:00
Peter Scheibel
fc96f62794 Updated documentation/naming in tally_plugin to reflect that the count of the
total number of tests run excludes skipped tests
2015-11-25 18:08:17 -08:00
Peter Scheibel
d50a18d9eb XML output for unit tests is now enabled with an option (disabled by default) 2015-11-25 17:10:45 -08:00
Tom Scogland
f8ffb005c8 make cram an extension of python 2015-11-25 15:10:18 -08:00
Peter Scheibel
60f7756626 Executable.__call__ original semantics were to avoid redirecting process output
to the output stream if return_output was set. This branch undid that and this
commit restores those semantics.
2015-11-25 12:28:43 -08:00
Tom Scogland
3ce99cf4e1 fix for the shell arg handling issues
The setup-env.sh script now saves off the argument array before shifting off
all the arguments so that the final command invocation doesn't arbitrarily
requote the arguments.  All external quoting is preserved now.  This has been
thoroughly tested with zsh, but should probably be tested with bash etc.
before acceptance.
2015-11-25 11:02:51 -08:00
Todd Gamblin
04f032d6e3 Rename spack.db -> spack.repo
Making distinction between install database and package repositories clearer.
2015-11-25 10:01:44 -08:00
Todd Gamblin
e6d232bfef Rename packages.py to repository.py, PackageFinder to RepoPath. 2015-11-25 09:58:10 -08:00
Peter Scheibel
18dea24df8 Use the xunit nose plugin to generate JUnit XML test results from Spack's unit
tests.
2015-11-24 19:08:37 -08:00
Peter Scheibel
0adf93853d Update log_output to handle cases where sys.stdout/stderr streams do not have
an associated file descriptor (e.g. holds for nose tests where sys.stdout is
assigned to a StringIO object)
2015-11-24 17:58:17 -08:00
Todd Gamblin
c526c71f56 Merge pull request #201 from alfredo-gimenez/develop
Fixed Mitos dependency and added new version
2015-11-24 16:12:12 -08:00
Alfredo Gimenez
a0d388875e Fixed Mitos dependency and added new version 2015-11-24 15:12:31 -08:00
Peter Scheibel
5081ba6802 It appears the same test object was returned multiple times for different
unit tests, so tracking tests with sets wouldn't work unless I extracted the
details relevant to the particular test. For now a simple count will work so
using a set was unnecessary anyways.
2015-11-24 10:45:07 -08:00
Peter Scheibel
70049185a5 Activation of Tally plugin to count tests. It doesn't appear to be actually
counting the individual unit tests correctly so I need to chase that down.
2015-11-24 10:39:42 -08:00
Tom Scogland
a1553dd12b adding google sparsehash and cityhash libraries 2015-11-24 09:23:36 -08:00
Todd Gamblin
e2412e3f21 Merge branch 'eschnett-openblas' into develop 2015-11-24 00:52:48 -08:00
Todd Gamblin
58d497ab7a Merge pull request #200 from scalability-llnl/revert-189-openssl-use-64-bits
Revert "WIP: openssl: set KERNEL_BITS to make ./config work"
2015-11-24 00:30:37 -08:00
Todd Gamblin
52cce2d710 Revert "WIP: openssl: set KERNEL_BITS to make ./config work" 2015-11-24 00:30:08 -08:00
Peter Scheibel
099fa1df34 Use nose to run unit tests.
1. Adding a plugin to keep track of the total number of tests run as well as the
number of tests with failures/errors.
2. Some nose plugins (including xunit which will be added in a future commit)
assign stdout to a stream object that does not have a .fileno attribute.
spack.util.executable.Executable now avoids passing stdout to subprocess (and
always uses subprocess.PIPE)

TODO:
1. Still need to figure out how to activate the plugin (as of now it is
being ignored by nose). Newer versions of nose appear to make this simpler
(e.g. the "addplugins" argument to nose.run)
2. Need to include new version of nose in order to use xunit
2015-11-23 18:59:48 -08:00
Todd Gamblin
cf3d236b9f Merge branch 'scheibelp-features/externaldeps' into develop 2015-11-23 17:50:49 -08:00
Todd Gamblin
894fcd90e7 Add a fix/warning so that stale .pyc files don't kill Spack.
- Can't think of a better way to do this.
- The externals integration will cause spack to die in weird ways for
  users who just pull from develop.
2015-11-23 17:49:39 -08:00
Erik Schnetter
1d90d98e40 Remove commented-out code 2015-11-23 20:32:06 -05:00
Todd Gamblin
bddab5e489 Merge pull request #199 from khuck/develop
cleaning up commits for merge request
2015-11-23 16:53:53 -08:00
Kevin Huck
4dd47fbc78 cleaning up commits for merge request 2015-11-23 16:16:52 -08:00
Todd Gamblin
98ccad8105 Merge pull request #189 from mathstuf/openssl-use-64-bits
WIP: openssl: set KERNEL_BITS to make ./config work
2015-11-23 16:09:28 -08:00
Todd Gamblin
de2213a621 Merge pull request #188 from mathstuf/python-osx
python: target OS X 10.6
2015-11-23 16:08:56 -08:00
Todd Gamblin
583b8e3ade Merge pull request #187 from mathstuf/dbus-osx-disable-launchd
dbus: disable launchd support
2015-11-23 16:08:35 -08:00
Todd Gamblin
b5fffc71c9 Merge pull request #168 from mathstuf/libxml2-drop-python-dep
Libxml2 drop python dep
2015-11-23 16:08:24 -08:00
Todd Gamblin
0011903e23 Merge pull request #165 from mathstuf/paraview-update-deps
Paraview update deps
2015-11-23 16:04:03 -08:00
Todd Gamblin
9bc27561ec Merge pull request #164 from mathstuf/matplotlib-optional-deps
Matplotlib optional deps
2015-11-23 16:03:31 -08:00
Todd Gamblin
76100a6f08 Merge pull request #158 from davidbeckingsale/features/cleverleaf
Add CleverLeaf package
2015-11-23 16:00:39 -08:00
David Beckingsale
38b83362b6 Updated url and description 2015-11-23 15:58:33 -08:00
Todd Gamblin
c13329c25a Merge pull request #155 from epfl-scitas/packages/mvapich2
packages/mvapich2 : added support for process managers and network types
2015-11-23 15:53:53 -08:00
Todd Gamblin
6798c177c6 Merge pull request #157 from alfredo-gimenez/develop
Added Python Twisted library
2015-11-23 15:51:57 -08:00
Todd Gamblin
1447fd0a12 Merge pull request #160 from SteVwonder/stevwonder/develop
Fixed -l flag for 'spack extensions'
2015-11-23 15:50:18 -08:00
Todd Gamblin
8fbd79fa2e Merge pull request #198 from eschnett/update-papi
Update PAPI
2015-11-23 15:42:09 -08:00
Todd Gamblin
9d4638ef4c Merge pull request #196 from eschnett/hypre
Don't use https for downloading
2015-11-23 15:39:08 -08:00
Mario Melara
8f56f5cfcc Added path to netcdf and hdf5 using the env vars NETCDF_DIR and HDF5_DIR. 2015-11-23 14:02:59 -08:00
Erik Schnetter
60fd7e2268 Update PAPI 2015-11-23 16:50:11 -05:00
Erik Schnetter
cb21a5b309 Add OpenBLAS 2015-11-23 16:48:06 -05:00
Erik Schnetter
1330c10fc8 Don't use https for downloading 2015-11-23 16:00:10 -05:00
Todd Gamblin
be92d0b6a4 Merge pull request #194 from trws/judy
add judy dynamic array/meta-trie/hash table lib
2015-11-23 10:10:46 -08:00
Todd Gamblin
df4e79c06c Merge pull request #192 from trws/clean-dist
modified warning to reference spack clean
2015-11-23 10:10:27 -08:00
Todd Gamblin
7392e1af59 Merge pull request #190 from bhatele/feature/networktools
Add damselfly package
2015-11-23 10:10:12 -08:00
Todd Gamblin
8c06b92225 Working PackageFinder / Repo 2015-11-22 20:28:59 -08:00
Tom Scogland
34700d560f add judy dynamic array/meta-trie/hash table lib
Just adding judy.
2015-11-20 12:15:32 -08:00
Tom Scogland
5e93dd6592 modified warning to reference spack clean
clean --dist has been removed, command fixed to something that works.
2015-11-20 11:49:46 -08:00
Abhinav Bhatele
4edcc59c3d Add damselfly package 2015-11-19 23:05:21 -08:00
Ben Boeckel
c023b1000e python: target OS X 10.6
Targeting anything older lacks rpath stuff which configure uses.
2015-11-19 17:52:59 -05:00
Ben Boeckel
150e43f3fd WIP: openssl: set KERNEL_BITS to make ./config work
Why OpenSSL refuses to build without this (it explicitly warns about it)
is a mystery.
2015-11-19 17:51:44 -05:00
Ben Boeckel
b6d368d7a0 dbus: disable launchd support 2015-11-19 17:50:30 -05:00
Todd Gamblin
34e445a480 Merge pull request #176 from truatpasteurdotfr/develop
jdk: updated to version 8u66
2015-11-18 15:58:33 -06:00
Todd Gamblin
5086a1e825 Merge pull request #178 from eschnett/develop
Update HDF5 to 1.8.16
2015-11-18 15:58:13 -06:00
Todd Gamblin
38ce53bc85 Merge pull request #179 from eschnett/update-hwloc
Update hwloc to 1.11.1
2015-11-18 15:58:06 -06:00
Todd Gamblin
89c11221ed Merge pull request #181 from eschnett/update-openmpi
Update OpenMPI to 1.10.1; correct configure error in OpenMPI
2015-11-18 15:57:56 -06:00
Todd Gamblin
025566b494 Merge pull request #182 from eschnett/hdf5-mpi
HDF5: Support non-MPICH MPI implementations
2015-11-18 15:57:29 -06:00
Todd Gamblin
4f8380959c Merge pull request #183 from eschnett/add-jemalloc
Add jemalloc package
2015-11-18 15:56:46 -06:00
Todd Gamblin
2db5de76fc Merge pull request #184 from eschnett/update-cmake
Update cmake to 3.4.0
2015-11-18 15:56:06 -06:00
Erik Schnetter
2e51e207f9 Update cmake to 3.4.0 2015-11-18 15:17:48 -05:00
Erik Schnetter
cbc552e91e Add jemalloc package 2015-11-18 13:43:49 -05:00
Erik Schnetter
511ffc3b44 HDF5: Support non-MPICH MPI implementations 2015-11-18 13:33:04 -05:00
Erik Schnetter
e36fd7d29f Update OpenMPI to 1.10.1; correct configure error in OpenMPI 2015-11-18 13:13:13 -05:00
Erik Schnetter
af9fe0a038 Update hwloc to 1.11.1 2015-11-18 12:37:54 -05:00
Erik Schnetter
893e05540c Update HDF5 to 1.8.16 2015-11-18 09:55:45 -06:00
Tru Huynh
b2a85bc12e updated to version 8u66 2015-11-18 10:02:22 +01:00
Todd Gamblin
721eb56d0c Merge pull request #173 from eschnett/develop
Update OpenSSL package
2015-11-17 23:23:49 -06:00
Erik Schnetter
cc49f9b657 Update OpenSSL package 2015-11-17 18:28:20 -05:00
Todd Gamblin
2491a67ebf Merge pull request #170 from eschnett/develop
Add rsync package
2015-11-17 16:13:45 -06:00
Erik Schnetter
1003b847b6 Remove comment 2015-11-17 17:10:04 -05:00
Erik Schnetter
ad0a1bf70d Add rsync package 2015-11-17 16:47:47 -05:00
Ben Boeckel
b98c25c1fb paraview: update matplotlib and numpy deps 2015-11-16 17:07:28 -05:00
Ben Boeckel
5eb8e1eec8 py-pyside: update docstring 2015-11-16 17:07:27 -05:00
Ben Boeckel
d40897404b py-matplotlib: make the gui and ipython support optional
ipython, nice as it is, is not required to use matplotlib. The UI bits
are also optional and dragging in Qt and Tcl/Tk for the library
shouldn't be the default.
2015-11-16 17:07:27 -05:00
Ben Boeckel
485528cffa paraview: configure the python and MPI executables 2015-11-16 17:05:17 -05:00
Ben Boeckel
d3ead7061e paraview: require qt4
Qt5 has bugs which need at least 5.6.0 for a fix.
2015-11-16 17:04:35 -05:00
Ben Boeckel
45d981caab paraview: add dependency on libxml2 back 2015-11-16 11:45:27 -05:00
Ben Boeckel
ca01adb503 libxml2: make the python dependency optional
Also turn it off by default since it is usually not necessary. Anything
needing the Python bindings should declare it explicitly.
2015-11-16 11:30:35 -05:00
Mario Melara
fceb5a75b0 Adding new files to compilers 2015-11-13 11:53:38 -08:00
Mario Melara
bfd05d3d27 Changed name of file and class to craype to avoid spack freaking out about versions 2015-11-13 11:48:49 -08:00
Mario Melara
72fa3c0492 Added craype support 2015-11-13 11:48:15 -08:00
Mario Melara
9458f7c7d0 Got rid of my old method of finding in LOADEDMODULES 2015-11-13 11:47:36 -08:00
Mario Melara
a5ba69d68d Added a _cmp_key for the architecture class 2015-11-13 11:46:13 -08:00
Tom Scogland
8feaefadcf updating lua package to install in correct order 2015-11-13 09:43:03 -08:00
Todd Gamblin
38fdd063d9 Fix and move NamespaceTrie to spack.util.naming
- fix up routines in namespace trie.
- trie can now hold intermediate elements.
- trie now has a test case.
2015-11-12 15:17:39 -08:00
Todd Gamblin
72c9604bcb Small fix to prevent this test from interfering with others. 2015-11-12 15:17:09 -08:00
Todd Gamblin
55662eca69 Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
Conflicts:
	lib/spack/spack/__init__.py
	lib/spack/spack/directives.py
	lib/spack/spack/packages.py
2015-11-12 15:16:06 -08:00
Mario Melara
9dc05a57ec Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon 2015-11-12 15:15:07 -08:00
Gregory Becker
7c89f9d18c Added the basic ouline of a cray compiler class in lib/spack/spack/compilers/cray.py 2015-11-12 14:31:41 -08:00
Mario Melara
8c259859ab Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon 2015-11-12 13:34:56 -08:00
Mario Melara
297cebd833 Got rid of print statement 2015-11-12 13:34:40 -08:00
Gregory Becker
e78b8c16be used key_comparator decorator from util.lang to compare targets. Fixes find bug 2015-11-12 13:27:10 -08:00
Stephen Herbein
9c30e0210b Fixed -l flag for 'spack extensions' 2015-11-12 08:15:38 -08:00
Peter Scheibel
6d7b26d4e0 Insert lib/spack/external into sys.path. This avoids cases where the system
python install and lib/spack/external have the same library installed. This
requires modifying the names of some modules in lib/spack/external in cases
where both the system python and backported features of future python versions
(i.e. after 2.6) are used (previously distinguished by "from external import X"
and "import X").
2015-11-11 18:04:22 -08:00
Gregory Becker
eb2c083159 Fixed the to_dict from_dict for targets on cray. First version to build/find properly on Cray 2015-11-11 17:29:47 -08:00
Gregory Becker
185f40eb8b fixed my git problems 2015-11-11 16:33:22 -08:00
Gregory Becker
3067705c10 made a to_dict for targets. Also a from_dict for sanity 2015-11-11 16:16:47 -08:00
Gregory Becker
8a13d344a8 bug fix in spec.py 2015-11-11 15:07:57 -08:00
Gregory Becker
271a839957 First possibly working version of the crayport. Not sufficiently tested at all. 2015-11-11 14:22:07 -08:00
David Beckingsale
679b617649 Add CleverLeaf package 2015-11-11 12:33:08 -08:00
Gregory Becker
95a34628a3 Add modules to compilers. Changed compiler to take paths as a list. Changed compiler_for_spec to be aware of different compiler stratigies 2015-11-11 11:32:18 -08:00
Gregory Becker
7e6fc79eb2 Merge branch 'features/spackathon' of github.com:NERSC/spack into crayport
Conflicts:
	lib/spack/spack/compiler.py
2015-11-11 10:35:59 -08:00
Gregory Becker
5347f460b4 adding module find to find command 2015-11-11 10:31:37 -08:00
Gregory Becker
cd69681ae5 merged in work from other computer and starting to track down bugs 2015-11-11 10:09:03 -08:00
Todd Gamblin
5417a514e9 Eliminated two bugs found by spack test and rewrote the parser to be more sane 2015-11-10 18:44:01 -08:00
Gregory Becker
5e75a5c81c Fixed bug that spack.db.exists() returned True for anonymous specs 2015-11-10 15:45:22 -08:00
Gregory Becker
6f339939c4 Removed "any-pkg-name" and replaced it with empty string. Also changed cflag concretizer to concretize each flag individually, allowing us to have unconcretized FlagMap objects for find and uninstall. Now empty flags in find match any, whereas specifying +cflags=\'\' matches only those with empty strings for flags 2015-11-10 15:45:22 -08:00
Gregory Becker
6fa0bb991a Removed cflags from default format string and made them an option within the compiler string. Added -f option to find command; with -f, find prints flags 2015-11-10 15:45:22 -08:00
Gregory Becker
5a9394c65f added default compilers into spec and fixed constrain/concretize bug 2015-11-10 15:45:22 -08:00
Gregory Becker
cb5bc242db Changed flag default to "". Updated printing and other logic to match. Seems to have solved error in normalize. 2015-11-10 15:45:22 -08:00
Gregory Becker
2d77173dfa partial commit of cflags for debugging 2015-11-10 15:45:22 -08:00
Gregory Becker
42b5b7d2dd Commit of compiler flags addition:
Flags are passed from the command line all the way through
build environments to environment variables.
      Flags are specified using +name=value and values are quoted
using escaped quotes when necessary.

Future work includes using the flags in the compiler wrapper script
and hopefully updating the parser for a gentler user experience of
the spec language.
2015-11-10 15:45:22 -08:00
Gregory Becker
db1b21b9aa reclaimed the = sign. Architectures now specified by +arch= instead. Decided to prepend flag names with + for clarity in spec names and ease of parsing. Also generalized variants, although there is not yet a way to specify a generalized (name=value) variant. 2015-11-10 15:45:22 -08:00
Gregory Becker
7989a7f903 Headless specs and /hash spec specification 2015-11-10 15:42:10 -08:00
Gregory Becker
f9c8c4d216 partial commit to merge database 2015-11-10 15:40:00 -08:00
Gregory Becker
4ed22ad932 partial commit of cflags work 2015-11-10 15:39:27 -08:00
Alfredo Gimenez
666d9e88f5 Added Python Twisted library 2015-11-10 15:37:09 -08:00
Todd Gamblin
14b30de407 Merge pull request #156 from charlesareynolds/charlesareynolds
Added missing $_sp_flags to spack.csh
2015-11-09 09:32:16 -08:00
Massimiliano Culpo
27c64f7740 mvapich2 : changed method name for consistency. Removed possibly duplicated flags 2015-11-09 16:02:38 +01:00
Massimiliano Culpo
42bc552dd7 mvapich2 : variant strings are associated with a named variable 2015-11-09 16:02:25 +01:00
Massimiliano Culpo
79ed9de4c1 mvapich2 : added variants for different network types 2015-11-09 16:02:12 +01:00
Massimiliano Culpo
0ae05fdf99 mvapich2 : added variants for different process managers 2015-11-09 16:01:56 +01:00
Massimiliano Culpo
4a72bd7919 mvapich2 : fixed typos. Added FIXME 2015-11-09 16:01:27 +01:00
Massimiliano Culpo
076eaba6e3 mvapich2 : fixed some issues with the package. Needs further improvment with respect to network and pm 2015-11-09 16:00:03 +01:00
Jim Galarowicz
0ced060b87 cbtf did not compile with boost 1.59, so reverted to boost 1.50 temporarily until we fix the cbtf/boost compile issues. 2015-11-06 15:15:38 -08:00
Jim Galarowicz
2aa501bf3d Update the checksum value for the new tarball 2015-11-06 14:19:00 -08:00
Jim Galarowicz
046b348bd3 Merge remote-tracking branch 'upstream/develop' into develop
Get up to date with rest of develop repository.
2015-11-06 11:55:49 -08:00
Jim Galarowicz
aa9b14aff4 Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. 2015-11-06 11:55:20 -08:00
Jim Galarowicz
7e6b7795f1 Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. 2015-11-06 11:53:53 -08:00
Jim Galarowicz
d6a2ab08ac Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. 2015-11-06 11:47:00 -08:00
Charles A. Reynolds
f106da0d09 Added missing $_sp_flags to spack.csh so options -d -k -m -p -v get passed on to spack proper. 2015-11-06 10:53:22 -08:00
Mario Melara
e0498ce54a mxml is adios's package dependency 2015-11-05 13:43:11 -08:00
Mario Melara
0fcb368f47 Adding adios package to spack's package list 2015-11-05 13:42:50 -08:00
Todd Gamblin
9474b8cdac Merge pull request #153 from ktkirk/libxml2
Was getting system python over spack python
2015-11-05 10:12:55 -08:00
Gregory Lee
886861c9f4 Merge pull request #151 from scalability-llnl/features/bzip2-mac
Modified bzip2 package to work properly on macs.
2015-11-05 09:29:47 -08:00
Gregory Becker
08729315c6 Added bgq architecture subclass: may require additional functionality to support 2015-11-05 09:21:56 -08:00
Todd Gamblin
53fb74b3f0 Merge pull request #146 from davidbeckingsale/features/zsh
Update ZSH version
2015-11-05 08:42:22 -08:00
David Beckingsale
19876161c7 Update ZSH version 2015-11-05 07:42:18 -08:00
Kelly T. Kirk
618a1c7119 Was getting system python over spack python 2015-11-05 08:01:00 -05:00
Todd Gamblin
1c4ef29962 Add Sphinx package 2015-11-04 17:55:43 -08:00
Todd Gamblin
f201bfb998 Modified bzip2 package to work properly on macs. 2015-11-04 17:43:22 -08:00
Todd Gamblin
0d993947ee Fix SPACK-93, SPACK-94, GitHub #150
- `remove_prefix` was modified to remove from the DB, but the package
  may not have been added to the DB yet when `remove_prefix` is called
  from `cleanup`.

- Made `remove_prefix` a pure utility function (it just removes the prefix)

- Added `installed_db.remove()` call only after the `remove_prefix` in
  `uninstall`.
2015-11-04 16:44:33 -08:00
Mario Melara
b61d554dc8 Fixed architecture.py file so it doesn't have the weird merge changes i.e <<<HEAD etc. Also added target method of recognizing it's own architecture 2015-11-04 13:28:12 -08:00
Mario Melara
2bc73b4a27 Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon 2015-11-04 13:21:33 -08:00
Gregory Becker
3a73ae1683 Fixed the previous commit 2015-11-04 13:12:11 -08:00
Mario Melara
9bf8e8573c generic linux architecture subclass 2015-11-04 13:08:48 -08:00
Mario Melara
e3a02ea5c7 Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
Conflicts:
	lib/spack/spack/architecture.py
2015-11-04 13:06:56 -08:00
Gregory Becker
35532d6b0a Changed cray architecture subclass to add proper targets for front at back end nodes 2015-11-04 13:00:35 -08:00
Mario Melara
37260962e5 changed some potential syntax errors and added a way for target to recognize class 2015-11-04 12:57:29 -08:00
Gregory Becker
5ac974c9b2 Enforced that the architecture subclass cannot add a target that shares a name with a target alias 2015-11-04 12:50:22 -08:00
Todd Gamblin
339da1da3d Make architecture reflect OS *and* machine. Use Python's platform module. 2015-11-04 07:46:17 -08:00
Mario Melara
058e72d29c Added default target and also front end and back end targets 2015-11-02 11:08:55 -08:00
Mario Melara
eb2cf1698f Fixed some issues with naming 2015-11-02 11:08:08 -08:00
Paul Dapolito
16f0ece75b added zlib dependency to glib package specification 2015-11-01 19:55:14 -08:00
Mario Melara
9a91da9ccd Added arch_path to list of modules path 2015-10-30 15:59:28 -07:00
Mario Melara
e39586c81d Reverted back all architecture way of finding modules 2015-10-30 15:58:49 -07:00
Mario Melara
2d87bb92ed Changed front-end and back-end to front_end and back_end to avoid error 2015-10-30 15:58:20 -07:00
Mario Melara
db0695e46a architectures folder where the Architecture subclasses reside 2015-10-30 15:57:00 -07:00
Gregory Becker
6e56070386 improved aliasing in target method in architecture.py 2015-10-30 15:15:36 -07:00
Gregory Becker
d177184777 added target method to architecture.py and minor cleanup 2015-10-30 15:12:29 -07:00
Mario Melara
0a004e0fce Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
Merge Gregory Becker's commits with my own architecture commits
2015-10-30 14:53:49 -07:00
Mario Melara
7ab921ff02 Changed architecture class and added class Target 2015-10-30 14:46:26 -07:00
Gregory Becker
382d8478bf prototype of new architecture concretization saved as new_concretize_architecture in concretize.py 2015-10-30 10:23:33 -07:00
Gregory Becker
09597fe8dc updated the executible to return stderr when specified. Added load_module to build_environment.py, loads target 2015-10-30 09:44:28 -07:00
Todd Gamblin
aec50722fc Merge pull request #147 from epfl-scitas/bugfixes/db_context_manager
Fixed typo : write_lock() -> write_transaction()
2015-10-29 23:48:14 -07:00
Massimiliano Culpo
6db2a58008 Fixed typo : write_lock() -> write_transaction() 2015-10-30 07:42:58 +01:00
Todd Gamblin
a1c42c2753 Merge Greg Becker's build database support into develop. 2015-10-29 02:22:20 -07:00
Todd Gamblin
671faa4b99 Merge pull request #124 from scheibelp/features/testinstall-cmd
Features/testinstall cmd
2015-10-29 00:16:52 -07:00
Todd Gamblin
58adff307f Merge pull request #142 from mathstuf/dbus-disable-systemd
dbus: disable systemd
2015-10-29 00:07:03 -07:00
Todd Gamblin
5d626ac561 Merge pull request #141 from epfl-scitas/packages/clang
clang : updated versions + depends_on(python)
2015-10-29 00:06:50 -07:00
Todd Gamblin
11c3a9f60d Merge pull request #143 from mathstuf/update-ncurses
ncurses: update package
2015-10-29 00:03:40 -07:00
Todd Gamblin
130d2d8de0 Merge pull request #144 from mathstuf/add-paraview
paraview: add package
2015-10-29 00:03:15 -07:00
Todd Gamblin
ed0c80e1cb Merge pull request #145 from markcmiller86/v-char-bugfix
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29 00:02:01 -07:00
Todd Gamblin
fec6674597 Merge pull request #139 from mathstuf/use-uname-for-arch
architecture: use uname if available
2015-10-29 00:01:30 -07:00
Todd Gamblin
dab230845d Merge pull request #121 from epfl-scitas/issues/gcc
GCC : added variant to packages for binutils, solve linking time error
2015-10-28 23:29:33 -07:00
miller86
21e9d5c5c3 generalize one of the cases to handle many more kinds of formatting options 2015-10-27 17:05:27 -07:00
Todd Gamblin
a58ae0c5d0 Build database working with simple transaction support; all tests passing. 2015-10-27 16:36:44 -07:00
Todd Gamblin
bf8479bec6 Fix stupid lock bug.
- Code simplification ignored case where exception was raised.
- If LockError was raised, read and write counts were incremented erroneously.
- updated lock test.
2015-10-27 16:34:26 -07:00
Peter Scheibel
50d0a2643b Not all package stages have an archive file (e.g. source code repos) but all of
them do have a source_path: use this instead to check whether the package
resources were successfully retrieved.
2015-10-27 13:34:46 -07:00
Todd Gamblin
2c163d175f Merge pull request #140 from PaulDapolito/add-xz-version
Added v5.2.2 for xz library
2015-10-27 13:12:03 -07:00
Ben Boeckel
ddbfc40303 paraview: add package
A first attempt; builds successfully. Some dependencies have hard-coded
dependencies where they shouldn't (e.g., hdf5 -> mpi, libxml -> python),
but that's a different rabbit hole.
2015-10-27 15:37:31 -04:00
Ben Boeckel
b88da83a12 dbus: disable systemd
Not necessary in spack. Also forcefully installs outside of the prefix.
2015-10-27 13:51:23 -04:00
Ben Boeckel
e8f5a85ffd ncurses: update package 2015-10-27 13:50:59 -04:00
Todd Gamblin
af7b96c14a Lock acquires return True/False depending on whether they got POSIX lock. 2015-10-27 00:35:06 -07:00
Massimiliano Culpo
3913c10afb clang : updated versions and dependencies
llvm : added dependency on 'python@2.7:' for better portability
2015-10-27 08:04:55 +01:00
Massimiliano Culpo
8b22a4f4f8 llvm : updated versions 2015-10-27 08:04:20 +01:00
Ben Boeckel
6c9b10f73d architecture: remove custom mac_type method 2015-10-26 18:55:10 -04:00
Ben Boeckel
17a58ee0a9 architecture: use uname if available 2015-10-26 18:54:04 -04:00
Peter Scheibel
3b554c709b Fetch errors were also terminating runs of test-install with system exit, so
stage.fetch() was updated to raise a FetchError instead of calling tty.die().
Output is the same for spack install in case of a fetch error.
2015-10-26 15:26:08 -07:00
Todd Gamblin
070e2a3c13 Merge pull request #127 from mathstuf/use-dict.setdefault
python: use the setdefault method on dict
2015-10-26 14:41:39 -07:00
Ben Boeckel
9d90cb6962 python: use the setdefault method on dict
It allows more concise code and skips some key lookups.
2015-10-26 17:38:19 -04:00
Paul Dapolito
cd2a23384f Added v5.2.2 for xz library 2015-10-26 14:28:56 -07:00
Peter Scheibel
9576860f8c Making SpackError reference consistent. 2015-10-26 14:27:44 -07:00
Peter Scheibel
6a16040462 Automatically create a 'test-output' directory in the current directory if no
output path is specified. Test output files are placed in this directory.
Furthermore the filenames now have the prefix "test" (but otherwise are the
string representation of the spec ID as before).
2015-10-26 11:58:52 -07:00
Todd Gamblin
ead8ac58c6 Working Lock class, now uses POSIX fcntl locks, extensive unit test.
- llnl.util.lock now uses fcntl.lockf instead of flock
  - purported to have more NFS compatibility.

- Added an extensive test case for locks.
  - tests acquiring, releasing, upgrading, timeouts, shared, & exclusive cases.
2015-10-24 19:57:43 -07:00
Todd Gamblin
908a93a470 Add a multiprocess Barrier class to use for testing parallel code. 2015-10-24 19:54:52 -07:00
Peter Scheibel
cc0ee3dc29 The HTML number conversion regex operating against a byte string will only
convert individual bytes, so therefore incorrectly converts utf-8 encoded
characters. Decoding byte strings to unicode objects results in correct HTML
number encodings.
2015-10-23 20:56:06 -07:00
Peter Scheibel
d76c923623 1. Rename CommandError -> InstallError
2. InstallError now subclasses SpackError vs. StandardError (so it is now
handled by the spack shell script)
2015-10-23 16:18:06 -07:00
Massimiliano Culpo
e812c35689 GCC : removed binutils variant 2015-10-23 10:11:38 +02:00
Peter Scheibel
ea872f8098 1. Added CommandError exception to build_environment
2. The parent of a failed child process in build_environment.fork no longer
calls sys.exit - instead it raises a CommandError (from [1])
3. test-install command now attempts to install all packages even if one fails
2015-10-22 17:44:16 -07:00
Peter Scheibel
246423b4b4 Generate test results (designated as skipped) for parents of failed dependencies 2015-10-22 16:00:03 -07:00
Todd Gamblin
f76b3890ff Merge pull request #137 from davidbeckingsale/features/ompi-wrappers
Filter wrapper data to use correct compilers in OpenMPI
2015-10-22 16:01:55 -04:00
Mario Melara
38508c5a3f Created a control flow logic that will loop through the strategies and find compilers using that. TODO: Need to find a way to locate their executables 2015-10-22 12:02:26 -07:00
David Beckingsale
9f496e5efa Replace compiler in f90 and f77 wrappers if they exist 2015-10-22 09:50:02 -07:00
David Beckingsale
41c01b523f Filter wrapper data to use correct compilers in OpenMPI 2015-10-22 09:13:20 -07:00
Todd Gamblin
cbcc6fc9f5 Merge branch 'khuck-develop' into develop, github PR #136 2015-10-22 08:27:23 -07:00
Kevin Huck
7cb557cba7 Adding dependency on ompt-openmp, now that it is a package. 2015-10-22 08:06:31 -07:00
Kevin Huck
caf93cc408 Adding package for OMPT support in the LLVM/Clang OpenMP runtime,
which gives OMPT support for applications built with GCC, Intel or
LLVM/Clang.
2015-10-22 08:03:50 -07:00
Massimiliano Culpo
e6a44bd8ac GCC : removed dependency on libelf. Removed isl variant 2015-10-22 15:55:43 +02:00
Massimiliano Culpo
f475ec4ce6 Merge branch 'develop' of https://github.com/scalability-llnl/spack into issues/gcc
Conflicts:
	var/spack/packages/gcc/package.py

GCC : removed dependency on libelf. Removed isl variant
2015-10-22 15:53:44 +02:00
Kevin Huck
24838a62b4 Changed date formatting. 2015-10-22 06:02:56 -07:00
Kevin Huck
2a61ff0794 Changing git checkout from "master" to commit
d2e66ddde689120472fc57fc546d8cd80aab745c
2015-10-22 03:57:33 -07:00
Kevin Huck
fb9eca4226 Added an APEX package, but it is still using the git master instead
of a release.
2015-10-21 19:35:31 -07:00
Kevin Huck
c082abfb65 Modified the binutils package to use --enable-shared. Required by tools that
use binutils and get this error (or equivalent):
"relocation R_X86_64_32S against `bfd_errmsgs' can not be used when
making a shared object; recompile with -fPIC"
2015-10-21 18:32:57 -07:00
Todd Gamblin
1f662465c2 Merge pull request #119 from mamelara/develop
Added current version 3.2 of libffi version 3.1 has a bug
2015-10-21 16:07:26 -04:00
Todd Gamblin
b6833f08df Merge pull request #129 from mathstuf/separate-prefix
spack: split spack_root from prefix
2015-10-21 16:04:36 -04:00
Todd Gamblin
c8f01480d6 Merge pull request #128 from mathstuf/netcdf-new-linker-mpi
netcdf: link to MPI
2015-10-21 16:02:59 -04:00
Todd Gamblin
c388cbe8e4 Merge pull request #131 from jsquyres/pr/openmpi-update
openmpi: update package versions of Open MPI
2015-10-21 15:59:12 -04:00
Todd Gamblin
6773a2b3bf Merge pull request #132 from jsquyres/pr/mpich-mpi-version-fix
mpich: add fine-grained MPI conformance versions
2015-10-21 15:58:41 -04:00
Todd Gamblin
59dfb1c175 Merge pull request #134 from davidbeckingsale/features/ncdu
Added ncdu package
2015-10-21 15:58:02 -04:00
Todd Gamblin
345fd3b285 Merge pull request #133 from epfl-scitas/packages/trilinos
Packages/trilinos
2015-10-21 15:54:13 -04:00
Todd Gamblin
ddefab8d56 Merge pull request #135 from khuck/develop
Adding package for activeharmony.
2015-10-21 15:53:07 -04:00
Kevin Huck
e0e79a2cb3 Adding package for activeharmony. 2015-10-21 11:56:01 -07:00
Mario Melara
a89abb435f Changed structure of class, add compiler strategy is a method and can create a dict 2015-10-21 11:32:59 -07:00
Mario Melara
9b387e7682 Added strategy method in init 2015-10-21 11:09:05 -07:00
Gregory Becker
51b69ef00b initial fetch on crayport 2015-10-21 09:27:57 -07:00
Mario Melara
c31da9bc8f Made sure architecture works with yaml file 2015-10-20 14:10:54 -07:00
Mario Melara
ca3cc5b23e Refactored architecture class. Now it will automagically create a dict upon instantiation. 2015-10-20 13:37:06 -07:00
Mario Melara
3ba2842b53 Got Architecture class working the way i wanted to. Next to write tests 2015-10-20 13:33:21 -07:00
David Beckingsale
7e2f3cff44 Added ncdu package 2015-10-19 15:41:46 -07:00
Massimiliano Culpo
ec5560374c glm : added basic configuration for the package 2015-10-19 13:56:08 +02:00
Massimiliano Culpo
aab7102b9b matio : added basic configuration for the package 2015-10-19 13:55:44 +02:00
Massimiliano Culpo
3a4bdf1856 trilinos : first version that compiles on bellatrix 2015-10-19 13:48:46 +02:00
Massimiliano Culpo
ff0d039a1f trilinos : prototype for the whole package 2015-10-19 13:48:38 +02:00
Massimiliano Culpo
f4460894be hdf5 : updated version
mpich : updated version
trilinos : created stub
2015-10-19 13:48:24 +02:00
Todd Gamblin
3c788147ca Add Spack logo. 2015-10-18 19:14:40 -07:00
Todd Gamblin
805fa96951 Update to link to more contributors. 2015-10-17 17:41:17 -07:00
Todd Gamblin
7598612b86 Better info variant output. 2015-10-17 17:34:39 -07:00
Todd Gamblin
44ba16a391 Add libiberty option to binutils 2015-10-17 17:04:34 -07:00
Jeff Squyres
67b94acd42 mpich: add fine-grained MPI conformance versions
Similar to the Open MPI and MVAPICH packages.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2015-10-17 07:06:06 -04:00
Todd Gamblin
fe76e0aea2 Merge pull request #130 from jsquyres/pr/trivial-README-update
README.md: trivial typo fix
2015-10-16 14:05:14 -07:00
Jeff Squyres
43f58d9f61 openmpi: update the MPI conformance for each Open MPI version 2015-10-16 15:27:22 -04:00
Jeff Squyres
f39e40664f openmpi: add v1.10.0 and update v1.8.2->v1.8.8 2015-10-16 15:26:58 -04:00
Jeff Squyres
13e02bb179 README.md: trivial typo fix
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2015-10-16 06:36:32 -04:00
Peter Scheibel
39f0f000f8 Created unit test for core logic in test-install command. 2015-10-15 22:02:14 -07:00
Peter Scheibel
6cd976d036 Better description for test-install command 2015-10-15 20:13:08 -07:00
Peter Scheibel
49b91235bb Minor edit for clarity (generate output for single top level spec vs. iterating
through collection of size 1)
2015-10-15 19:59:57 -07:00
Peter Scheibel
82ed1bc343 Originally I enforced specifying 1 top-level package with the test-install
command by having it consume exactly 1 positional argument (i.e. by removing
"nargs=argparse.REMAINDER") but this does not work when configuring dependencies
of a top-level package (which show up as additional positional args). Instead
now there is an explicit check to ensure there is only 1 top-level package.
2015-10-15 19:38:47 -07:00
Peter Scheibel
e451421db3 1. Specifying the output file path for test-install is now an option (vs. an
argument). The default path is [package id].xml in the CWD where test-install
is called from.

2. Fixed a bug with package.build_log_path (which was added in this branch).

3. keep_stage for package.do_install is now set. This allows uninstalling and
reinstalling packages without (re) downloading them.
2015-10-15 19:22:36 -07:00
Mario Melara
fec197ccac Fixed the output of sys_type(), might need to add back the error handling part 2015-10-15 15:25:13 -07:00
Mario Melara
ccdf105759 Commented out a long list of tests to just include my arch test 2015-10-15 12:48:12 -07:00
Mario Melara
d328f4c3b6 Test suite for architecture class and functions 2015-10-15 12:47:26 -07:00
Mario Melara
29e03ac851 Added __eq__ testing method. Created tests for it in test/ folder 2015-10-15 12:46:44 -07:00
Peter Scheibel
4997f0fe57 Move logic for tracking the build log into package.py (since that is what is
managing the build log) and expose as package.build_log_path.
2015-10-15 12:44:02 -07:00
Peter Scheibel
c985ad7644 Update test failure output: don't include the entire build log, just lines which
mention errors (or if no such lines can be found, output the last 10 lines from
the log).
2015-10-15 12:23:56 -07:00
Peter Scheibel
b9bf0b942c Use spec.traverse vs. recursive function.
Also even though I calculated which installs are new (e.g. vs. packages that
have already been installed by a previous command) I forgot to make use of that
in create_test_output (so I was always generating test output even if a package
had been installed before running the test-install command).

Note to avoid confusion: the 'handled' variable (removed in this commit) did not
serve the same purpose as 'newInstalls': it was originally required because the
recursive approach would visit the same dependency twice if more than one
package depended on it.
2015-10-15 11:52:08 -07:00
Peter Scheibel
f2b4341ad6 Always run with verbose output (so eliminate it as an option). Also remove other
commented options.
2015-10-15 10:45:03 -07:00
Peter Scheibel
11861fb8d7 Changing name of file requires changing function name to be invoked as a command 2015-10-15 10:35:42 -07:00
Peter Scheibel
e3d703b80f Change name of file to conform to conventions. 2015-10-15 10:33:39 -07:00
Peter Scheibel
2ae7839b66 Edit function names to conform to naming conventions. 2015-10-15 10:26:13 -07:00
Peter Scheibel
0d66362cee Only install 1 top-level package with testinstall. Otherwise if multiple
packages are specified and a prior one fails, it will prevent any of the others
from succeeding (and generating test output) even if they don't share
dependencies.
2015-10-15 10:17:08 -07:00
Ben Boeckel
3ce85b2270 spack: split spack_root from prefix
A foundation for allowing runtime configuring of the prefix.
2015-10-15 09:27:05 -04:00
Ben Boeckel
9ec4ae83af netcdf: link to MPI
Newer GNU linker refuses to use transitive linking; if netcdf calls
MPI_Allreduce, it must link the providing library directly.

Also switched to CMake because I don't know autoconf well enough to know
how to put MPI stuff into it.
2015-10-15 09:20:16 -04:00
Mario Melara
4f21344e87 Started created the Architecture class for Spack to use 2015-10-14 19:41:07 -07:00
Peter Scheibel
71dcf8833c Make sure to generate output for dependencies as if they were separate tests:
the original intent was to generate output as if each package was a unit test,
but I noticed that I was only generating test output for top-level packages.
2015-10-13 19:02:41 -07:00
Peter Scheibel
1ce6d8b627 Add spec YAML format to test output. 2015-10-13 10:41:47 -07:00
Todd Gamblin
d16095c856 Add forgotten file from previous commit. 2015-10-13 10:35:19 -07:00
Peter Scheibel
9f56d9c807 Don't create test output for any package that was already installed. 2015-10-12 20:56:03 -07:00
Peter Scheibel
6cd22e5786 1. Added Junit XML format
2. Specify output to a file vs. a directory
3. Use [1] and [2] to write an XML file tracking success of package installs in
Junit XML format
2015-10-12 20:49:23 -07:00
Peter Scheibel
b7249d66b3 Adding command testinstall. See "spack testinstall -h" for documentation.
Still need to add output formatting (in a commonly parse-able format like Junit
or TAP). May want to adjust how the build log is accessed in case of a build
failure.
2015-10-12 19:18:31 -07:00
Todd Gamblin
2c81875019 Fix bug in colify color handling. 2015-10-12 14:44:41 -07:00
Gregory L. Lee
5dd39bfca5 bug fix for github issue 122 2015-10-08 08:12:30 -07:00
Todd Gamblin
58c5373890 update warning message for spack -k.
- warning said it didn't do checksums; really does.
2015-10-08 00:14:44 -07:00
Todd Gamblin
5d64012868 Merge branch 'features/libxcb-1.11.1' into develop 2015-10-08 00:13:47 -07:00
Mario Melara
b6d2a12ceb Started changing the find in modules method written by Todd 2015-10-07 15:57:29 -07:00
Mario Melara
06fe879745 Merge branch 'features/crayproto' of https://github.com/scalability-llnl/spack into develop 2015-10-07 14:55:05 -07:00
Massimiliano Culpo
17de9a37f1 gcc : fixed spec file 2015-10-06 18:49:18 +02:00
Massimiliano Culpo
d44571257a spec file : everything is dumped, only link rule is modified 2015-10-06 18:49:04 +02:00
Massimiliano Culpo
f068d1ba57 GCC : added variants for libelf, binutils, isl. gcc@5.0: still has issues 2015-10-06 18:48:47 +02:00
Matthew LeGendre
fac4428766 Documentation for external packages. 2015-10-05 14:04:33 -07:00
Gregory L. Lee
6fcf16b710 added libxcb version 1.11.1 2015-10-05 12:59:26 -07:00
Matthew LeGendre
18f0b24a7f Add tests for spack external dependencies, plus fixes for issues found by those tests. 2015-10-05 11:37:36 -07:00
Matthew LeGendre
e4d2ba30b5 Fix failure in spack.test.config.ConfigTest from incorrect compiler config merging 2015-10-05 11:37:36 -07:00
Matthew LeGendre
650c9d4e36 Allow spack to build against external non-spack-installed packages. 2015-10-05 11:37:36 -07:00
Matthew LeGendre
53d70fff01 Fix type error with YAML config when merging lists from different configs. 2015-10-05 11:36:06 -07:00
Matthew LeGendre
53cde110b1 Update Spack mirror command to match docs 2015-10-05 11:36:06 -07:00
Matthew LeGendre
987cd9e78f Update docs for YAML configuration files and preferred concretization 2015-10-05 11:36:06 -07:00
Matthew LeGendre
ee68a76a19 Bug fixes from testing spack preferred packages 2015-10-05 11:36:06 -07:00
Matthew LeGendre
8d7b7e5d5d Use preferred package rules when concretize'ing specs 2015-10-05 11:36:06 -07:00
Matthew LeGendre
b5c597b318 Allow specs to be sorted based on preferred packages, versions, compilers, variants and dependencies. 2015-10-05 11:36:05 -07:00
Matthew LeGendre
59f89dd3be Allow long names in format string variables 2015-10-05 11:36:05 -07:00
karenyyng
f4e72f33c8 added dependencies for py-h5py 2015-10-05 08:24:33 -07:00
Todd Gamblin
d00314c621 Protptype cray compiler detection and support 2015-10-05 01:30:25 -07:00
karenyyng
c809cc9273 clean up package.py file and remove duplicate file 2015-10-03 19:24:15 -07:00
karenyyng
f3254ff02d removed package for python packages with problematic / duplicate names 2015-10-03 19:22:53 -07:00
karenyyng
e9f7d033ff make sure submodule is added in the correct location 2015-10-03 19:13:08 -07:00
karenyyng
79808da760 added a bunch of packages and added submodule 2015-10-03 18:47:36 -07:00
karenyyng
1501786fd9 adding python_recipe_parser as a submodule under the folder utils 2015-10-03 13:04:37 -07:00
Mario Melara
75d30b08fb Added current version 3.2 of libffi version 3.1 has a bug that interferes with glib 2015-10-01 21:51:55 -07:00
Mario Melara
c6cd8ae243 Use more recent version of libffi. 3.1 has a known bug that is fixed in current version 2015-10-01 21:35:25 -07:00
Todd Gamblin
cc6252cdfa Merge pull request #118 from scalability-llnl/features/scr
update scr to 1.1.8
2015-09-29 18:21:37 -07:00
Adam Moody
5563c66675 update scr to 1.1.8 2015-09-29 18:18:34 -07:00
Gregory Becker
5fda7daf57 an ordered database test 2015-09-27 17:54:24 -07:00
Todd Gamblin
dd21a01dc4 Merge pull request #116 from mamelara/develop
Added samtools bioinformatics software
2015-09-27 17:29:50 -07:00
Todd Gamblin
8818f4ac5e Remove enabled variants from install prefix.
- these make the prefix too long in many cases.
- users can figure out which install is which by querying.
2015-09-27 17:01:35 -07:00
Todd Gamblin
adbd393c39 Remove special characters (@, %, +, ~, etc) from stage name 2015-09-27 17:01:35 -07:00
Mario Melara
13eb461ec3 Adding bowtie2 package along with patch 2015-09-24 11:21:54 -07:00
Mario Melara
521632b3dc Added samtools bioinformatics software 2015-09-23 16:30:44 -07:00
Todd Gamblin
6d4eed3845 Merge pull request #102 from RasmusWL/features/fish
Add fish (shell) package
2015-09-23 01:37:59 -07:00
Todd Gamblin
82ea7aec51 Merge pull request #106 from justintoo/add-package-doxygen
(Package) Add Doxygen (v1.8.10)
2015-09-23 01:37:31 -07:00
Todd Gamblin
d474eeb424 Merge pull request #110 from scalability-llnl/features/boostupdate
update boost package for new releases
2015-09-23 00:32:22 -07:00
Todd Gamblin
5d6baacc56 Merge pull request #111 from scalability-llnl/features/protobuf
add protobuf package
2015-09-23 00:31:26 -07:00
Todd Gamblin
46cf0a23d9 Merge pull request #112 from scalability-llnl/features/glog
add glog package
2015-09-23 00:30:37 -07:00
Todd Gamblin
f02af701e5 Merge pull request #113 from scalability-llnl/features/gflags
add gflags package
2015-09-23 00:29:50 -07:00
Todd Gamblin
5f826a0ab7 Merge pull request #114 from scalability-llnl/features/snappy
Features/snappy
2015-09-23 00:27:27 -07:00
Todd Gamblin
ba83dd56a1 Merge pull request #115 from scalability-llnl/features/lmdb
add lmdb package
2015-09-23 00:21:22 -07:00
Adam Moody
84823ed828 add lmdb package 2015-09-22 12:17:01 -07:00
Adam Moody
3ade141829 add leveldb package 2015-09-22 11:59:09 -07:00
Adam Moody
30acc6f2f0 add snappy package 2015-09-21 16:45:59 -07:00
Adam Moody
22ba02b22b add gflags package 2015-09-21 16:40:23 -07:00
Adam Moody
b5d7cd55ce add glog package 2015-09-21 16:30:11 -07:00
Adam Moody
e4e22ed17e add protobuf package 2015-09-21 16:19:50 -07:00
Justin Too
3691201b4f (Package) Add Spot C++ library (v1.99.3) 2015-09-21 11:04:56 -07:00
Todd Gamblin
d0e22b2240 Add ref counting to database. This does not handle removal properly yet. 2015-09-18 11:40:05 -07:00
Todd Gamblin
fb73979345 Allow custom timeout for database locking. 2015-09-17 16:09:59 -07:00
Todd Gamblin
e17ad6a684 Simplify lock context managers. 2015-09-17 01:05:19 -07:00
Todd Gamblin
6dff42be09 WIP for Matt's branch 2015-09-17 00:21:33 -07:00
Todd Gamblin
ccf311c9c6 Several changes to DB implementation.
1. Database stores a file version, so we can add to it in the future.
2. Database indexed by hashes and not numerical indexes.
3. Specs built by database have consistent hashes and it's checked.
4. minor naming and whitespace changes.
2015-09-17 00:16:12 -07:00
Gregory Becker
cd23d2eaa2 Added spack fsck and re-read from glob if the database file does not exist. Allows older versions to smoothly upgrade to the database. 2015-09-15 14:20:19 -07:00
Justin Too
99ca0f3153 (Package) Add Doxygen (v1.8.10) 2015-09-11 20:29:18 +00:00
Rasmus Wriedt Larsen
b06117f77a Add fish (shell) package 2015-09-03 14:19:27 -07:00
Gregory Becker
9c8e46dc22 Added conservative locking to the spack commands that access the database at _index 2015-09-03 09:21:19 -07:00
Adam Moody
ac088bae6a update boost 2015-09-01 16:02:14 -07:00
Gregory Becker
c3246ee8ba Removed incorrect stage removal code from cleanup() in do_install() 2015-08-31 09:46:55 -07:00
Gregory Becker
f406fcb843 Fixed several issues from code review
Most importantly wrote the Lock, Read_Lock_Instance, and Write_Lock_Instance classes in lock.py
Updated the locking in database.py
TODO: Lock on larger areas
2015-08-31 09:38:38 -07:00
Todd Gamblin
c5c9ada7b0 Fix for GitHub #95
develop: compiler clang@unknown created for /usr/bin/clang-format
https://github.com/scalability-llnl/spack/issues/95
2015-08-27 02:04:58 -07:00
Todd Gamblin
6af49d41fd Add elfutils. 2015-08-27 00:10:53 -07:00
Todd Gamblin
13fd742610 Merge branch 'features/pidx' into develop 2015-08-26 23:48:52 -07:00
Todd Gamblin
babbc5bb45 Minor fix-ups for PIDX 2015-08-26 23:48:36 -07:00
Todd Gamblin
10bc981d0b Merge pull request #28 in SCALE/spack from bugfix/scipy to develop
# By Gregory L. Lee
# Via Gregory L. Lee
* commit '2c3e7a6f87ef5f8b5ba154b5a8b7da7a119f4a67':
  added graphviz dependency and dysect variant to STAT
  added graphviz and dependencies
  use filter_file instead of patch
  added lapack and blas deps, fixed gfortran compiler dependency
2015-08-26 22:12:14 -07:00
Gregory Becker
9345e78779 Fixed inaccurate comment in spec.py 2015-08-25 16:31:09 -07:00
Gregory Becker
ce8df65d7b Eliminated unnecessary differences in pull request 2015-08-25 16:28:55 -07:00
Gregory Becker
e32c59f805 Fixed file locking. Fix is slightly ugly (lock integer added) but it gets the job done
It avoids having to spin simply on the OSError.
2015-08-25 15:32:45 -07:00
Gregory Becker
4a2bd1753a Added dependency indices to database, ensuring correctly reconstructed specs from database
Began work on file locking, currently commented out.
2015-08-25 15:11:18 -07:00
Gregory L. Lee
2c3e7a6f87 added graphviz dependency and dysect variant to STAT 2015-08-25 11:48:12 -07:00
Gregory L. Lee
1c9c5a385d added graphviz and dependencies 2015-08-25 11:38:39 -07:00
Todd Gamblin
360b307f68 Save progress. import gov.llnl.spack.mpich works. 2015-08-24 09:14:16 -07:00
Gregory L. Lee
689dbb8fb6 use filter_file instead of patch 2015-08-24 08:51:41 -07:00
Jim Galarowicz
24c609b6df Updates to the Krell related product packages. 2015-08-22 09:34:44 -05:00
Gregory Becker
fb1874165b Eliminated all calls that relied on finding all packages in the opt directory
Replaced them all with references to the database

Implemented caching in the database. The database now only re-reads data
if the database file exists and was changed since this file last wrote to it.

Added the installed_db field to the spack instance

Left the call to all_specs from testdirectory_layout.py for now.
2015-08-21 17:00:39 -07:00
Gregory Becker
55f68bb2b0 Added hashes to the database 2015-08-21 13:04:27 -07:00
Gregory Becker
1da56e5290 Added a database of installed packages.
No methods use the database so far.

Also, a bug fix:
      Previous version did not remove the staging directory on a failed install
      This led to spack refusing to uninstall dependencies of the failed install
      Added to cleanup() to blow away the staging directory on failed install.
2015-08-21 11:32:12 -07:00
Cyrus Harrison
8821715377 add version-based url map for cmake, provide md5 for cmake 3.3.1 2015-08-19 14:18:02 -07:00
Jim Galarowicz
fe9959d4da Merge remote-tracking branch 'upstream/develop' into develop 2015-08-18 08:05:25 -05:00
Peer-Timo Bremer
40b21d7cbe Initial version of PIDX package 2015-08-17 15:38:12 -07:00
Gregory L. Lee
bd1cd83d71 added lapack and blas deps, fixed gfortran compiler dependency 2015-08-17 11:54:14 -07:00
Todd Gamblin
a2f2e6a4ff Save changes to external repo integration 2015-08-16 12:54:02 -07:00
Todd Gamblin
92f398a897 Better @memoized decorator. 2015-08-16 12:50:39 -07:00
Todd Gamblin
da98b07624 Add more options to spack edit 2015-08-16 12:50:39 -07:00
Matthew LeGendre
e58ee88a63 Add 'spack packagerepo create' command 2015-08-16 12:50:39 -07:00
Matthew LeGendre
7ea328659f Record package repo origins in .spec files 2015-08-16 12:50:39 -07:00
Matthew LeGendre
c7b8d09c7f Add packagerepos to spack, allowing for creating multiple package repositories. 2015-08-16 12:48:32 -07:00
Gregory L. Lee
92ea86dc36 moved lapack package to netlib-lapack 2015-08-14 16:30:35 -07:00
Gregory L. Lee
ec47ab16ce updated blas and lapack packages 2015-08-14 16:27:51 -07:00
Todd Gamblin
c8f65c1530 Fix 2.6 incompatibility 2015-08-13 00:21:02 -07:00
Todd Gamblin
a2b5b61e7f Add .mailmap file 2015-08-13 00:18:19 -07:00
Todd Gamblin
17c2a0d6f3 Merge pull request #92 from trws/flux-build
pre-alpha flux build and requisite dependencies
2015-08-13 00:02:49 -07:00
Todd Gamblin
58f848fa29 Merge pull request #94 from alfredo-gimenez/dev-pandas
Fixed py-pandas package
2015-08-13 00:00:35 -07:00
Todd Gamblin
6f75f5bd6a Merge pull request #88 from trws/git_depth_attempt
adding a fallback on failure with git --depth
2015-08-12 23:59:13 -07:00
Todd Gamblin
f34b04e555 Merge pull request #87 from alfredo-gimenez/develop
Added gui and cscope features to Vim package
2015-08-12 23:58:27 -07:00
Alfredo Gimenez
d6bf9c9887 Cscope vim variant depends on cscope 2015-08-07 07:58:04 -07:00
Alfredo Gimenez
d017c5080a Fixed py-pandas package 2015-08-07 00:03:14 -07:00
Alfredo Gimenez
067ecb90b9 Added cscope (dependency for vim+cscope) 2015-08-06 09:28:28 -07:00
Todd Gamblin
1792115b4d Use absolute paths to spack compiler wrappers in CC/CXX/F77/FC 2015-08-04 09:57:06 -07:00
Tom Scogland
7182671f8f pre-alpha flux build and requisite dependencies
NOTE: the ncurses package now installs *BOTH* versions, wide and non-wide
character for compatibility with packages that require either one.  It may be
desirable for this to be an option in the future.
2015-08-03 11:59:52 -07:00
Todd Gamblin
7d80983362 Merge pull request #91 from nolta/patch-1
add missing gmp dependency to mpfr package
2015-08-01 14:01:10 -07:00
Mike Nolta
7ebb4fcedc add missing gmp dependency to mpfr package 2015-08-01 16:00:13 -04:00
Tom Scogland
016eef6a16 adding the bear compilation database generator 2015-07-29 14:21:03 -07:00
Tom Scogland
9174c06598 adding a fallback on failure with git --depth
Certain remote protocols don't support the `--depth` option.  Since this can't
be checked by URL type or in any sane way locally, this version attempts to
clone git repositories with the --depth option, and if that fails attempts the
clone again without it.
2015-07-27 14:03:04 -07:00
Todd Gamblin
27ca697b43 Add Python version test to detect {} in version strings.
- {} is not compatible with Python 2.6
2015-07-24 14:22:28 -07:00
Todd Gamblin
1e2f421faa Fix Python 2.6 compatibility issue. 2015-07-23 17:01:55 -07:00
Alfredo Gimenez
00ab6eb616 Vim with added feature support, including gvim 2015-07-23 11:38:02 -07:00
Tom Scogland
6ad5210216 adding a zsh package 2015-07-22 11:35:51 -07:00
Jim Galarowicz
9fee7be695 Add the initial version of the OpenSpeedShop spack build file. OpenSpeedShop is an application performance analysis tool that runs on Linux and gathers a number of different types of performance data and displays that data in a command line tool (CLI) and via a graphical user interface (GUI). 2015-07-21 11:26:59 -05:00
Jim Galarowicz
e8235b10c6 Add the cbtf-lanl spack build package. cbtf-lanl is LANLs contribution to the CBTF project. It contains psTool and memTool which are example tools, showing use case examples for CBTF. 2015-07-21 11:23:23 -05:00
Jim Galarowicz
23971bae92 Add the cbtf-krell spack build package. cbtf-krell is the krell contribution to the CBTF project and includes services, messages, and core libraries and components that support performance information gathering, transfer, and reduction. 2015-07-21 11:20:27 -05:00
Jim Galarowicz
eff5016653 Add the cbtf spack build package. cbtf is the base package for the component based tool framework and is used for building and connecting cbtf components, including distributed components via the MRNet transfer mechanism. 2015-07-21 11:15:53 -05:00
Jim Galarowicz
a9c737f911 Add spack build package for Xerces-C which is a supporting package for the krell related projects. 2015-07-21 10:59:52 -05:00
Jim Galarowicz
f5093094eb Add the cbtf-argonavis project package file. cbtf-argonavis is a project based on CBTF that supports performance analysis of GPU applications. 2015-07-21 10:58:16 -05:00
Jim Galarowicz
15ec3cb3cd Add qt3 version support and a variant that controls patching the qt3 version for compile issues and answering yes to the license questions during build. 2015-07-21 10:51:53 -05:00
Jim Galarowicz
b4e0804b37 Add the latest version to the papi package. 2015-07-21 10:50:11 -05:00
Jim Galarowicz
64c8fd3fa1 Add krelloptions variant that is used to turn on a configuration option to build the thread safe lightweight libraries. 2015-07-21 10:49:15 -05:00
Jim Galarowicz
13421dc4aa Add patches that enable features added for krell related products. Update the package file to add a krellpatch variant to control adding the patches. 2015-07-21 10:20:05 -05:00
Jim Galarowicz
0591980cbe Add configuration change for krell related products, they expect the dyninst includes in include/dyninst. 2015-07-21 10:17:37 -05:00
Jim Galarowicz
d1f127d8ef Add changes for krell related products to binutils. Add a patch that installs libiberty_pic.a which krell products will favor/use. 2015-07-21 10:15:17 -05:00
Todd Gamblin
19123b4c48 Fix ProviderIndex.update(), which didn't remove stale providers. 2015-07-16 01:41:11 -07:00
Todd Gamblin
e097696390 Update concretize to check for more changes and iterate further. 2015-07-16 01:12:11 -07:00
Todd Gamblin
9087f26537 Fix mangled error message. 2015-07-14 23:59:03 -07:00
Todd Gamblin
8828dbf2e8 Remove superfluous print in vim. 2015-07-14 23:48:07 -07:00
Todd Gamblin
0d308ca30f Fix regression of install -j. 2015-07-14 23:45:58 -07:00
Todd Gamblin
2e90599283 Merge branch 'develop' of github.com:scalability-llnl/spack into develop 2015-07-14 23:43:59 -07:00
Todd Gamblin
9d1f8f6bfd Add test to check packages for Python2.6 compatibility, as well as core. 2015-07-13 18:37:48 +00:00
Todd Gamblin
6f8a4318c5 Remove python 2.6-incompatible format expression. 2015-07-13 18:25:18 +00:00
Tom Scogland
889485181e adding gnu global tags and exuberant ctags 2015-07-10 13:54:38 -07:00
Tom Scogland
fda208f6b8 adding YAPF (Yet Another Python Formatter) 2015-07-09 14:55:27 -07:00
Gregory L. Lee
2e37523428 for LaunchMON added latest git commit and dependences 2015-07-08 11:25:41 -07:00
Gregory L. Lee
ddfc276688 removed workaround 2015-07-02 15:14:30 -07:00
Florent Pruvost
5acd7cad9a add env. var. in modules: LIBRARY_PATH and PKG_CONFIG_PATH 2015-07-02 02:12:10 -07:00
Florent Pruvost
e06d351f7a add cblas headers in install directory 2015-07-02 02:05:00 -07:00
Todd Gamblin
7625881cb3 Merge pull request #75 from alfredo-gimenez/develop
Thanks!
2015-07-02 01:27:47 -07:00
Todd Gamblin
6892d7189f Merge branch 'features/toggle-build-output' into develop 2015-07-02 00:51:03 -07:00
Todd Gamblin
6f94a2567b Add py-lockfile and py-python-daemon packages. 2015-07-02 00:40:25 -07:00
Todd Gamblin
b3e34be972 Better python template for 'spack create' 2015-07-02 00:39:33 -07:00
Alfredo Gimenez
25c1678004 Commented out old version 2015-06-23 17:39:23 -07:00
Alfredo Gimenez
9f27ddc256 New mpfr release invalidates previous download link (not sure where old version is...) 2015-06-23 17:36:57 -07:00
Todd Gamblin
edfcac32c3 Fix bug in uninstall (regression in 0fc3b58) 2015-06-20 21:46:52 -07:00
Todd Gamblin
afe86e0d68 Merge branch 'alfredo-gimenez-thrift' into develop 2015-06-20 20:25:48 -07:00
Todd Gamblin
a51d4afe3e Minor simplification (os.environ -> env) 2015-06-20 20:25:12 -07:00
Todd Gamblin
6ed5dd7427 log_output now allows echo to be toggled wtih 'v' key 2015-06-20 20:20:28 -07:00
Alfredo Gimenez
314ecc54fe Thrift python support 2015-06-18 17:29:16 -07:00
Todd Gamblin
2bc660e83c Merge pull request #70 from alfredo-gimenez/develop
Added silo 4.8 with HDF5 (for LULESH 2.0)
2015-06-18 13:23:11 -07:00
Alfredo Gimenez
f832719ceb Added silo 4.8 with HDF5 (for LULESH 2.0) 2015-06-18 12:31:01 -07:00
Todd Gamblin
96e213c110 Merge branch 'alfredo-gimenez-thrift' into develop 2015-06-18 10:30:56 -07:00
Alfredo Gimenez
0c028e24b4 Removed Lua dependency 2015-06-18 10:30:02 -07:00
Alfredo Gimenez
55e24548c3 Added Thrift (HBase management in C++) 2015-06-18 10:29:34 -07:00
Tom Scogland
912c29471a adding python pyelftools package 2015-06-17 15:19:46 -07:00
Todd Gamblin
b8aeab0439 Merge branch 'trws-git-tag-support' into develop 2015-06-13 17:53:09 -07:00
Todd Gamblin
cfb883646f Fix for git pull --tags when using git 1.7.1
- Added `ignore_errors` option to `Executable.__call__`
- Can avoid raising errors on *specific* error return values.
2015-06-13 17:52:00 -07:00
Tom Scogland
0b5ca25358 Fix for repos with many tags
Ensures all tags are ready before checkout, using `--branch` if possible and
an extra pull if that is not available.  Also adds `--depth 1` to create
shallow clones if the git version is sufficient.

Fixes #64.
2015-06-13 15:29:55 -07:00
Tom Scogland
277df08676 removing vestigial lines from a previous commit 2015-06-13 14:10:45 -07:00
Todd Gamblin
607f263fbc Merge pull request #61 from alfredo-gimenez/develop
Mitos 0.9.1
2015-06-11 16:31:28 -07:00
Todd Gamblin
3cb10f92af Merge pull request #62 from trws/tmuxinator
Partial ruby extension and tmuxinator package
2015-06-11 16:31:15 -07:00
Todd Gamblin
9955df896b Merge pull request #63 from trws/silver-searcher
adding package for the silver searcher
2015-06-11 16:31:04 -07:00
Tom Scogland
a087fd71e4 Removing comment line
Missed that the auto-generated comment line stuck around.
2015-06-11 13:57:19 -07:00
Tom Scogland
d92ac2a6b2 Small ruby enhancement and tmuxinator package
It is currently less painful to pull the source from github, compile it into a
gem, then install the gem, than it is to download a gem and install it.  This
still lacks an activation mechanism, but `spack use tmuxinator` is functional.
2015-06-11 13:51:53 -07:00
Alfredo Gimenez
afe3c5b6bb Mitos 0.9.1 2015-06-11 11:02:51 -07:00
Todd Gamblin
0e3d994b05 Merge pull request #60 from trws/expanded-vim
partial upgrade to vim package
2015-06-10 14:29:34 -07:00
Tom Scogland
cd581d1d5a adding package for the silver searcher 2015-06-10 14:24:38 -07:00
Tom Scogland
2d465ffd10 partial upgrade to vim package 2015-06-10 14:14:31 -07:00
Todd Gamblin
f420f9393a Merging in updated google group info from master onto develop. 2015-06-10 00:40:14 -07:00
Todd Gamblin
04bcf43649 Merge pull request #58 from trws/python-cffi
Python cffi
2015-06-10 00:36:37 -07:00
Todd Gamblin
874326a1ad Merge pull request #56 from trws/uuid-task-and-taskd
package files for libuuid, needed for flux and taskwarrior packages
2015-06-10 00:35:30 -07:00
Todd Gamblin
c0d667106a Merge pull request #55 from trws/gmp-dep-for-nettle
nettle depends on gmp, without it the nettle build fails on gcc 4.9.2
2015-06-10 00:33:36 -07:00
Todd Gamblin
e2cb3b97fd Merge pull request #57 from trws/zsh-use-fix
Zsh use fix
2015-06-10 00:31:59 -07:00
Tom Scogland
b98454b8b2 fixing regular expression matches to use regular expression syntax instead of globbing syntax 2015-06-09 19:38:35 -07:00
Tom Scogland
c8ad456fd6 nettle depends on gmp, without it the nettle build fails on gcc 4.9.2 2015-06-09 19:37:42 -07:00
Tom Scogland
8839eeb421 new package files for python-cffi and its dependency pycparser 2015-06-09 19:36:08 -07:00
Tom Scogland
eab3d4811e package files for libuuid, needed for flux and taskwarrior packages, along with the taskwarrior packages 2015-06-09 19:26:49 -07:00
Todd Gamblin
e64c0f4e4e Fix Boost finding in Dyninst 8.2.1. 2015-06-09 17:48:38 -07:00
Todd Gamblin
1857b7736f Merge Kevin, Ben, and Saravan's contributions into develop
- includes ATLAS, BLAS, LAPACK, other FastMATH packages.
2015-06-07 16:10:32 -07:00
Todd Gamblin
bde9c7eee3 Upate ATLAS and netlib-blas. 2015-06-07 15:41:15 -07:00
Todd Gamblin
0a92349f90 Try a little harder in concretize_version() -- concretize unsafe versions too.
- This can result in the user being prompted to download an unsafe
  version.

- Avoids overly strict errors when something *could* be satisfiable
  but we don't know about hte version.
2015-06-07 15:40:01 -07:00
Todd Gamblin
3f3ceb24c4 Add some comments b/c I didn't understand my own test. 2015-06-07 15:39:40 -07:00
Todd Gamblin
0fc3b58890 SPACK-38: Allow specs to be indexed by virtual dependencies.
- The following now work differently:

      spec['mpi']
      spec['blas']

  This can return a spec for openmpi, mpich, mvapich, etc., EVEN if
  the spec is already concretized.  This means that in a package that
  `depends_on('mpi')`, you can do `spec['mpi']` to see what it was
  concretized to.  This should simplify MPI and BLAS packages.

      'mpi' in spec
      'blas' in spec

  Previously, if the spec had been concretized, these would be `False`
  because there was not a dependency in the DAG with either of these
  names. These will now be `True` even if the spec has been
  concretized.  So, e.g., this will print "YES"

      s = Spec('callpath ^mpich')
      if 'mpi' in spec:
          print "YES"

- Similarly, this will be True:

      Spec('mpich').satisfies('mpi')

- Because of the way virtual dependencies are currently implemented,
  the above required some fiddling around with `package.py` so that it
  would never call `Spec.__contains__` (and result in endless
  recursion).

- This should be fixed by allowing virutal dependnecies to have their
  own package class.
  - This would allow a quicker check for vdeps, without a call to
    `all_packages`.
  - For the time being, `package.py` shouldn't call `__contains__`
2015-06-07 15:36:53 -07:00
Todd Gamblin
0570660d81 Make blas a virtual dependency, default netlib-blas. 2015-06-06 18:23:12 -07:00
Todd Gamblin
26b9592780 Add disablement of cpu throttle check. 2015-06-06 18:19:05 -07:00
Todd Gamblin
8b9dcfe635 Delete lapack/atlas combined package. 2015-06-06 18:18:51 -07:00
Todd Gamblin
5d94864b6c Rename netlib_blas -> netlib-blas 2015-06-06 18:18:44 -07:00
Todd Gamblin
50d7b3df2b Merge branch 'psaravan-fastmath' into features/fastmath
Conflicts:
	var/spack/packages/lapack/package.py
2015-06-06 18:17:59 -07:00
Todd Gamblin
8215c85619 Merge branch 'develop' into features/fastmath 2015-06-06 18:15:52 -07:00
Todd Gamblin
c43b5d670b Remove dummy fastmath package. 2015-06-06 17:48:33 -07:00
Todd Gamblin
b6ad37557f fix up Saravan's petsc install 2015-06-06 17:41:15 -07:00
Todd Gamblin
d266bf0184 Working Hypre, PARPACK. 2015-06-06 17:21:11 -07:00
Todd Gamblin
5294e2b9b9 CGM package working on cab. 2015-06-06 16:56:59 -07:00
Todd Gamblin
c5ab3f4e82 CBLAS package working and patching in spack compilers. 2015-06-06 16:29:37 -07:00
Todd Gamblin
f29fc5822b Working boxlib package. 2015-06-06 16:16:19 -07:00
Todd Gamblin
eb9859ce75 Executables now have a useful __str__ function. 2015-06-06 16:15:52 -07:00
Todd Gamblin
53feb12ea0 Cleanup and consolidate error handling 2015-06-06 15:50:01 -07:00
Todd Gamblin
b9746de52e Working ARPACK package. 2015-06-06 15:26:54 -07:00
Todd Gamblin
03780ea105 Remove autosave files from saravan's PR 2015-06-06 15:26:54 -07:00
Todd Gamblin
422a75e4b8 Clean up arpack build, use the Spack f77 compiler. 2015-06-06 15:26:54 -07:00
Todd Gamblin
5d7a6c0c46 Add FileFilter convenience class to llnl.util.filesystem. 2015-06-06 15:26:48 -07:00
Saravan Pantham
1f0246f970 Updated HDF5 to use MPI. 2015-06-06 15:26:43 -07:00
Saravan Pantham
9d71093500 Updated Zoltan. 2015-06-06 15:26:42 -07:00
Saravan Pantham
fd34f4b119 Added more FASTMath packages. 2015-06-06 15:26:38 -07:00
Saravan Pantham
454d06c25c Removed autosave files from previous commit. 2015-06-06 15:26:37 -07:00
Saravan Pantham
c174fe6199 Fixed BLAS and Lapack installations 2015-06-06 15:26:31 -07:00
Saravan Pantham
d461aa3722 Added Lapack package 2015-06-06 13:06:18 -07:00
Saravan Pantham
a23e1579e3 Added BLAS package 2015-06-06 13:06:17 -07:00
Todd Gamblin
ab31f989db Merge Alfredo's Mitos changes from github with Greg's Python changes. 2015-06-06 12:53:28 -07:00
Gregory L. Lee
96ec75f7fe Merge branch 'develop' of ssh://cz-stash.llnl.gov:7999/scale/spack into develop 2015-06-04 15:49:57 -07:00
Gregory L. Lee
5ac5c021b8 new package versions 2015-06-04 15:49:55 -07:00
Todd Gamblin
0cf9e0698c Merge pull request #50 from alfredo-gimenez/develop
Thanks!
2015-06-03 22:08:22 -07:00
Alfredo Gimenez
dae33a31c0 Dyninst 8.2.1+ dependency for cmake 2015-06-03 22:02:47 -07:00
Alfredo Gimenez
15aee0de1a Mitos updated with new release 2015-06-03 21:58:44 -07:00
Gregory L. Lee
c158012655 Merge branch 'develop' of ssh://cz-stash.llnl.gov:7999/scale/spack into develop 2015-06-03 14:22:10 -07:00
Gregory L. Lee
c4f5a881e6 new Python extensions 2015-06-03 10:08:07 -07:00
Gregory L. Lee
6dffe2ddd1 updated url 2015-06-03 10:07:21 -07:00
Todd Gamblin
be3e8170de Fix #48: Merge branch 'bugfix/mac-metadata' into develop 2015-06-01 10:33:28 -07:00
Todd Gamblin
d19538af07 Fix #48: Ignore hidden files when deciding how to stage.
- Expanding archvies like MAGMA 1.6.2 creates extra hidden files that
  confuse Spack's staging mechanism.

- Added a special case to ignore hidden files when checking whether
  the tarball exploded.
2015-06-01 10:25:58 -07:00
Todd Gamblin
123778dec2 Add -S/--stages option to spack cd/spack location.
- can now change dir to top-level stage
2015-06-01 09:56:35 -07:00
Gregory L. Lee
37aa88ba2a Merge branch 'develop' of ssh://cz-stash.llnl.gov:7999/scale/spack into develop 2015-06-01 08:39:07 -07:00
Gregory L. Lee
74b0a9c059 updated Python extension versions 2015-06-01 08:39:01 -07:00
Gregory L. Lee
83af842a74 fixed cython activation conflict 2015-06-01 08:38:32 -07:00
Todd Gamblin
16c2588635 Fix #46: make(parallel=False) regression.
- Added some tests to make sure this stays in place.
2015-05-31 13:03:30 -07:00
Todd Gamblin
bf6a73fa3e Fix SPACK-69: Merge branch 'features/build-logging' into develop 2015-05-29 17:28:33 -07:00
Todd Gamblin
ea7b65e2f2 SPACK-69: spack install now logs build output to install directory.
- spack install suppresses build output by default.
  - use install -v to show build output on the console too

- package.py uses log_output context to redirect output and log it to a file
  - filters color codes out of output written to file
  - optionally echos to the terminal

- YAML directory layout knows about its build log.
  - can get path to install build log to from directory layout
  - Package.install now copies the build log to $prefix/.spack/build.out

- Error message from failed install execution now includes build log location
2015-05-29 17:22:33 -07:00
Todd Gamblin
92c21d7134 debug instead of info logging in llnl.util.filesystem 2015-05-29 17:21:30 -07:00
Todd Gamblin
0035100186 SPACK-69: Add context manager to fork and log output in a with block. 2015-05-29 17:20:08 -07:00
Todd Gamblin
9b40d93fc2 Add ability to force color mode even if terminal is NOT a tty 2015-05-29 17:19:03 -07:00
Todd Gamblin
ceecd2ce41 Add ability to test whether tty verbose or debug is enabled. 2015-05-29 17:18:33 -07:00
Todd Gamblin
5676cb0dd1 Add spack find -L to show full hashes. 2015-05-28 17:13:57 -07:00
Todd Gamblin
8cbae642cc Fix bug in spack edit -c 2015-05-28 17:13:23 -07:00
Todd Gamblin
6f8f1bf7af Fix #34: Spack doesn't stop when dep fails to build.
- Fixes regression introduced by #30
- Child process needs to exit on error
2015-05-27 20:27:48 -07:00
Todd Gamblin
c622337802 Remove redundancy: convert with closing(open(...)) to with open(...) 2015-05-18 17:11:03 -07:00
Todd Gamblin
f813d823a1 Merge branch 'features/optional-deps' into develop
This includes:
- Much better variant support (+debug/-debug)
- Optional dependency support (depends_on(... , when='<condition>')
- New config file format (YAML in ~/.spack)
- New Spec format (YAML in $prefix/.spack/spec.yaml)
2015-05-18 16:16:20 -07:00
Todd Gamblin
f68e64d738 Merge branch 'mplegendre-features/yaml-config' into features/optional-deps 2015-05-18 16:06:03 -07:00
Matthew LeGendre
46b91ddf57 YAML config files for compilers and mirrors 2015-05-18 16:01:21 -07:00
Todd Gamblin
09151785b3 SPACK-87: enable disabled git fetch tests. 2015-05-18 11:32:15 -07:00
Todd Gamblin
b2f46c703d Fix SPACK-87: Tag checkout fails for older git versions. 2015-05-18 11:26:32 -07:00
Todd Gamblin
76cb3eb7d2 Add help on specs to top of spack -h 2015-05-17 22:29:48 -07:00
Todd Gamblin
cd1ca36488 SPACK-41: More tests to ensure that constrain() reports changes. 2015-05-12 15:48:57 -07:00
Todd Gamblin
805122c789 SPACK-41: bugfix for nonconvergent normalize()
- constrain() wasn't reporting changes properly.
2015-05-12 14:52:46 -07:00
Todd Gamblin
095ff1cb4a Add debug handler to print a stacktrace on Ctrl-C in debug mode. 2015-05-12 14:52:41 -07:00
Gregory L. Lee
50970b72d8 added py-pandas 2015-05-12 13:47:48 -07:00
Todd Gamblin
c44db0133f Fix SPACK-41: Optional deps work with complex condition chains. 2015-05-12 11:45:48 -07:00
Todd Gamblin
cd5fa128c5 Work on SPACK-41: Optional dependencies work for simple conditions.
- Can depend conditionally based on variant, compiler, arch, deps, etc
  - normalize() is not iterative yet: no chaining depends_ons
  - really need a SAT solver, but iterative will at least handle
    simple cases.

- Added "strict" option to Spec.satisfies()
  - strict checks that ALL of other's constraints are met (not just
    the ones self shares)
  - Consider splitting these out into two methods: could_satisfy() and
    satisfies()
    - didn't do this yet as it would require changing code that uses
      satisfies()

- Changed semantics of __contains__ to use strict satisfaction (SPACK-56)

- Added tests for optional dependencies.

- The constrain() method on Specs, compilers, versions, etc. now
  returns whether the spec changed as a result of the call.
2015-05-12 09:56:59 -07:00
Todd Gamblin
ef9deeccd1 Merge branch 'features/yaml-spec' into features/optional-deps 2015-05-10 19:28:47 -07:00
Todd Gamblin
09fff39990 Merge remote-tracking branch 'origin/features/variants' into features/optional-deps 2015-05-10 18:59:56 -07:00
Todd Gamblin
13ff1a9bf6 Remove debug print in link_tree 2015-05-10 18:53:09 -07:00
Todd Gamblin
b4a26c496c Better hash output in find. 2015-05-10 18:48:42 -07:00
Todd Gamblin
43e5465592 Fix bug in directory layout hidden files() 2015-05-10 17:56:27 -07:00
Todd Gamblin
3c49487424 Doc tweak.
- add LLNL release number to new RTD theme.
2015-05-10 13:11:03 -07:00
Todd Gamblin
25af6478c5 Fix SPACK-67: 'spack help stage' was broken.
- remove spurious mutually exclusive group from subparser.
2015-05-10 12:46:33 -07:00
Todd Gamblin
793b842f99 tests for variant concretization 2015-05-10 12:28:25 -07:00
Todd Gamblin
535c1fac87 SPACK-56: fix Variant concretization.
- Variant concretization is tricky:

  - During concretization, a spec without variants (e.g., mpich) means
    "don't care".  So, Spec('mpich').satisfies('mpich+debug') is true
    because it *could* still be built that way.

  - After concretization, a spec without a particular variant means
    "don't know", as that wasn't part of the spec, so the opposite
    relationship is true.  Assume 'spec' is already installed:

      spec.satisfies('mpich+debug')

    this is false beacuse the `debug` variant didn't exist when spec
    was built, so we can't satisfy the explicit request for +debug.
2015-05-10 12:25:07 -07:00
Todd Gamblin
3b1898b8e4 Fix SPACK-40: Finish adding variant directive.
- Variants are now declarable in packages using the variant() directive.
- Variants are checked - you can't just ask for a random variant, it has to be declared.
- conditional logic (@when, if, '+debug' in spec, etc.) still required in package to
  implement variant.
2015-05-10 12:24:03 -07:00
Todd Gamblin
c105a8d42a Small updates to directives. 2015-05-10 12:24:03 -07:00
Todd Gamblin
1f8ce403dc Modularize directives. Now each directive specifies its storage. 2015-05-10 12:24:03 -07:00
Todd Gamblin
0944ba120c relations are now "directives", and code is cleaned up. 2015-05-10 12:24:03 -07:00
Todd Gamblin
5d2ee893c4 Remove TODOs for full DAG information.
- specs on disk now include full DAG info
- no need for normalize() kludges() anymore.
2015-05-10 11:45:12 -07:00
Todd Gamblin
29e833dfef extensions file now in YAML format 2015-05-10 02:56:50 -07:00
Todd Gamblin
2f3b0481de YamlDirectoryLayout now working. 2015-05-09 16:35:02 -05:00
Todd Gamblin
9412fc8083 restore some disabled git tests. 2015-05-09 16:12:04 -05:00
Todd Gamblin
8e87b2176a Updated Sphinx RTD documentation theme supports 4 levels 2015-05-09 13:35:05 -05:00
Todd Gamblin
d6a5266976 Fix 'ç' in François's name. 2015-05-09 13:30:09 -05:00
Todd Gamblin
5b32101ef2 Merge branch 'features/xl-support' into develop 2015-05-07 01:54:30 -05:00
François Bissey
3cfbc0520a Basic support for IBM XL compilers 2015-05-07 01:54:18 -05:00
Todd Gamblin
42c88aa3ca Merge branch 'features/diy' into develop 2015-05-07 01:53:26 -05:00
Todd Gamblin
1d0975bac6 Bugfixes for yaml specs. 2015-05-05 14:24:46 -07:00
Todd Gamblin
d687962b74 Add test for YAML specs. 2015-05-05 13:18:44 -07:00
Todd Gamblin
53e8e44a8b Make YAML specs more human readable. 2015-05-05 13:06:41 -07:00
Todd Gamblin
bbc973cc5f Merge pull request #41 from cyrush/code_chk_pkgs
added simple spack package files for uncrustify and cppcheck
2015-05-01 11:07:34 -07:00
Cyrus Harrison
8c4fe6d249 added simple spack package files for uncrustify and cppcheck 2015-04-30 22:42:53 -07:00
Todd Gamblin
278e70e533 Specs to/from YAML are working. 2015-04-29 01:47:09 -07:00
Todd Gamblin
13132c6b97 Add YAML to Spack. 2015-04-28 23:15:13 -07:00
Todd Gamblin
1d6524f299 Merge branch 'develop' of github.com:scalability-llnl/spack into develop 2015-04-14 15:12:11 -07:00
Todd Gamblin
5c04b3c480 Fix for GitHub #30 and SPACK-70. 2015-04-14 15:11:41 -07:00
Todd Gamblin
8b14a46201 documentation updates 2015-04-14 15:11:01 -07:00
Todd Gamblin
c1be1a362b Update mailing list info to Googele Groups. 2015-04-13 11:02:13 -07:00
Todd Gamblin
97a20cac58 Merge pull request #29 from alfredo-gimenez/develop
MemAxes and Mitos updates to remove VTK dependency.
2015-04-09 20:19:05 -07:00
Alfredo Gimenez
0f5b26c9cd MemAxes and Mitos 2015-04-09 14:46:33 -07:00
Todd Gamblin
314120212d Complete diy command. 2015-04-08 00:22:46 -07:00
Todd Gamblin
5077a2a343 Add a DIY stage class. 2015-04-08 00:22:34 -07:00
Todd Gamblin
ab40d0b1a4 Factor edit_package function out of edit command. 2015-04-08 00:22:07 -07:00
Todd Gamblin
c4a6d04131 Start of DIY command. 2015-04-08 00:20:53 -07:00
Todd Gamblin
203fd861aa Allow spack install -j to throttle make jobs. 2015-04-07 22:21:19 -07:00
Todd Gamblin
37a5c3b09f Version bump for adept-utils 2015-04-01 00:05:26 -07:00
Todd Gamblin
634abdbcea Merge pull request #26 from mplegendre/binutils
Binutils as spack package
2015-03-30 20:39:35 -07:00
Matthew LeGendre
89731d4a7d Add binutils as a gcc dependency so it doesn't use the system linker/assembler. 2015-03-30 14:23:02 -07:00
Todd Gamblin
2b9dd718ae Merge pull request #25 from mplegendre/qtfix
Fix for QT with gcc 4.9 build error
2015-03-27 17:48:51 -07:00
Matthew LeGendre
50687e08cb Fix QT with gcc 4.9 build error where QT's -Wl,--no-undefined interfered with gcc's implicit libgcc_s.so library 2015-03-27 17:32:37 -07:00
Todd Gamblin
ad62b93df9 Merge pull request #23 from mplegendre/rpath_cleanup
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path>...
2015-03-27 14:14:49 -07:00
Matthew LeGendre
a4cce9eb69 Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path> points into the spack install area
This specifically fixes problems with building gcc, as build and system directories were turning in in gcc library rpaths.
2015-03-27 13:58:57 -07:00
Todd Gamblin
c10773503b Merge branch 'benjaminwalters-develop' into features/blas
Conflicts:
	var/spack/packages/lapack/package.py
2015-03-26 00:31:34 -07:00
Todd Gamblin
fa53bb835c Merge branch 'kev40293-develop' into features/blas 2015-03-26 00:12:41 -07:00
Todd Gamblin
6776c1945d Merge for minor release: 0.8.17 2015-03-24 10:17:18 -07:00
Todd Gamblin
b2f54bac95 Add contributions section to README.md 2015-03-24 09:58:32 -07:00
Todd Gamblin
744df77691 add mailing list links to README 2015-03-24 09:37:38 -07:00
Todd Gamblin
8364f0404c Add some options to spec command. 2015-03-24 08:40:45 -07:00
Benjamin Walters
1b75b34eb6 Removed subprocess.call calls and replaced with spack symlink calls 2015-03-19 04:37:21 -05:00
Benjamin Walters
3d2df174d1 Added package files for Lapack (has virtual dependency blas) and Netlib blas (provides virtual dependency blas). 2015-03-19 03:20:24 -05:00
Todd Gamblin
af92250c7e Add google analytics to docs. 2015-03-15 00:08:58 -07:00
Todd Gamblin
1414480d3a Merge develop for v0.8.16 release. 2015-03-13 23:41:59 -04:00
Todd Gamblin
32244ac733 MPICH provides environment vars to make MPI compilers behave like spack. 2015-03-13 13:32:24 -07:00
Todd Gamblin
b80e091f46 metis package. 2015-03-13 00:03:33 -07:00
Todd Gamblin
f97966d63a SPACK-18: simpler build error messages
Suppress python stack trace on build error UNLESS in debug mode (spack -d).
Now spack shows errors with a single red arrow, and it's easier to find the actual build output.
2015-03-12 23:50:07 -07:00
Todd Gamblin
132aa690d8 Remove superfluous env scripts (avoid specifically named ones). 2015-03-12 10:39:26 -07:00
Todd Gamblin
560f2c299a Add install_tree, force_symlink helper functions. 2015-03-12 10:32:29 -07:00
Todd Gamblin
32e2f21e8d Working scotch package. 2015-03-12 08:49:45 -07:00
Todd Gamblin
81d518438c Point ravel download at the github release page. 2015-03-12 06:54:15 -07:00
Todd Gamblin
b24aca6da2 Add -Wno-dev to avoid cmake policy warnings. 2015-03-12 06:54:15 -07:00
Todd Gamblin
e624ebec07 Working ravel package. 2015-03-12 06:54:15 -07:00
Todd Gamblin
14a79a2ddf Add OTF package. 2015-03-12 06:54:14 -07:00
Todd Gamblin
d6c14f40b2 SAMRAI builds on cab with new URL. 2015-03-11 19:14:43 -07:00
Todd Gamblin
f8044e0290 SAMRAI URL update. 2015-03-11 18:58:29 -07:00
Todd Gamblin
fbebb94cd6 Add cram package. 2015-03-05 11:05:42 -08:00
Todd Gamblin
30e45df8a5 Updates to atlas packages. 2015-03-04 09:34:42 -08:00
Todd Gamblin
e23dd3e3bb Merge branch 'develop' of git://github.com/kev40293/spack into kev40293-develop 2015-03-04 09:23:28 -08:00
Kevin Brandstatter
8921d52a82 Working lapack install linking to installed ATLAS 2015-03-03 22:27:16 -06:00
Kevin Brandstatter
51cb785695 Merge branch 'develop' of github.com:kev40293/spack into develop
Conflicts:
	var/spack/packages/atlas/package.py
2015-03-03 19:24:19 -06:00
Kevin Brandstatter
0de021d427 Added LAPACK package file that depends on and builds against ATLAS 2015-03-03 19:21:02 -06:00
Kevin Brandstatter
08f37d478f Removed FIXME comments from atlas 2015-03-01 21:26:37 -06:00
Kevin Brandstatter
41256e7369 Added packaging files for ATLAS with and without netlib's LAPACK 2015-02-26 14:57:38 -06:00
Kevin Brandstatter
2f2eab0e15 Merge branch 'develop' of github.com:kev40293/spack into develop 2015-02-26 14:42:12 -06:00
Kevin Brandstatter
bbfc519ee5 Added packaging files for ATLAS with and without netlib's LAPACK 2015-02-26 14:41:46 -06:00
Todd Gamblin
0394adcf8d Minor doc tweak. 2015-02-25 10:41:12 -08:00
1362 changed files with 105366 additions and 11492 deletions

34
.coveragerc Normal file
View File

@@ -0,0 +1,34 @@
# -*- conf -*-
# .coveragerc to control coverage.py
[run]
branch = True
source = lib
omit =
lib/spack/spack/test/*
lib/spack/env/*
lib/spack/docs/*
lib/spack/external/*
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain about missing debug-only code:
def __repr__
if self\.debug
# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError
# Don't complain if non-runnable code isn't run:
if 0:
if False:
if __name__ == .__main__.:
ignore_errors = True
[html]
directory = htmlcov

23
.flake8 Normal file
View File

@@ -0,0 +1,23 @@
# -*- conf -*-
# flake8 settings for Spack.
#
# Below we describe which flake8 checks Spack ignores and what the
# rationale is.
#
# Let people line things up nicely:
# - E221: multiple spaces before operator
# - E241: multiple spaces after ,
#
# Let people use terse Python features:
# - E731 : lambda expressions
#
# Spack allows wildcard imports:
# - F403: disable wildcard import
#
# These are required to get the package.py files to test clean.
# - F821: undefined name (needed for cmake, configure, etc.)
# - F999: name name be undefined or undefined from star imports.
#
[flake8]
ignore = E129,E221,E241,E272,E731,F403,F821,F999,F405
max-line-length = 79

10
.gitignore vendored
View File

@@ -1,9 +1,17 @@
/var/spack/stage
/var/spack/cache
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
*.pyc
/opt/
/opt
*~
.DS_Store
.idea
/etc/spack/licenses
/etc/spack/*.yaml
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
/TAGS
/htmlcov
.coverage

20
.mailmap Normal file
View File

@@ -0,0 +1,20 @@
Todd Gamblin <tgamblin@llnl.gov> George Todd Gamblin <gamblin2@llnl.gov>
Todd Gamblin <tgamblin@llnl.gov> Todd Gamblin <gamblin2@llnl.gov>
Adam Moody <moody20@llnl.gov> Adam T. Moody <moody20@llnl.gov>
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Gimenez <alfredo.gimenez@gmail.com>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra324.llnl.gov>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra648.llnl.gov>
Kevin Brandstatter <kjbrandstatter@gmail.com> Kevin Brandstatter <kbrandst@hawk.iit.edu>
Luc Jaulmes <luc.jaulmes@bsc.es> Luc Jaulmes <jaulmes1@llnl.gov>
Saravan Pantham <saravan.pantham@gmail.com> Saravan Pantham <pantham1@surface86.llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <scogland1@llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <tom.scogland@gmail.com>
Joachim Protze <protze@rz.rwth-aachen.de> jprotze <protze@rz.rwth-aachen.de>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@surface86.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab687.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab690.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@catalyst159.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory Lee <lee218@llnl.gov>
Massimiliano Culpo <massimiliano.culpo@epfl.ch> Massimiliano Culpo <massimiliano.culpo@googlemail.com>
Massimiliano Culpo <massimiliano.culpo@epfl.ch> alalazo <massimiliano.culpo@googlemail.com>
Mark Miller <miller86@llnl.gov> miller86 <miller86@llnl.gov>

46
.travis.yml Normal file
View File

@@ -0,0 +1,46 @@
language: python
python:
- "2.6"
- "2.7"
env:
- TEST_TYPE=unit
- TEST_TYPE=flake8
# Exclude flake8 from python 2.6
matrix:
exclude:
- python: "2.6"
env: TEST_TYPE=flake8
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Install coveralls to obtain code coverage
install:
- "pip install coveralls"
- "pip install flake8"
before_install:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
script:
# Run unit tests with code coverage plus install libdwarf
- 'if [ "$TEST_TYPE" = "unit" ]; then share/spack/qa/run-unit-tests; fi'
# Run flake8 code style checks.
- 'if [ "$TEST_TYPE" = "flake8" ]; then share/spack/qa/run-flake8; fi'
after_success:
- 'if [ "$TEST_TYPE" = "unit" ] && [ "$TRAVIS_PYTHON_VERSION" = "2.7" ]; then coveralls; fi'
notifications:
email:
recipients:
- tgamblin@llnl.gov
on_success: change
on_failure: always

66
LICENSE
View File

@@ -1,56 +1,62 @@
Copyright (c) 2013-2014, Lawrence Livermore National Security, LLC.
########################################################################
GNU LESSER GENERAL PUBLIC LICENSE (Lesser GPL)
Version 2.1, February 1999
########################################################################
Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
Produced at the Lawrence Livermore National Laboratory.
This file is part of Spack.
Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
LLNL-CODE-647188
For details, see https://scalability-llnl.github.io/spack
For details, see https://github.com/llnl/spack
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License (as published by
the Free Software Foundation) version 2.1 dated February 1999.
it under the terms of the GNU Lesser General Public License (as
published by the Free Software Foundation) version 2.1, February 1999.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
conditions of the GNU General Public License for more details.
conditions of the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
OUR NOTICE AND TERMS AND CONDITIONS OF THE GNU GENERAL PUBLIC LICENSE
########################################################################
LLNL NOTICE AND TERMS AND CONDITIONS OF THE GNU LGPL
Our Preamble Notice
LLNL Preamble Notice
A. This notice is required to be provided under our contract with the
U.S. Department of Energy (DOE). This work was produced at the
Lawrence Livermore National Laboratory under Contract
No. DE-AC52-07NA27344 with the DOE.
A. This notice is required to be provided under LLNL's contract with
the U.S. Department of Energy (DOE). This work was produced at the
Lawrence Livermore National Laboratory under Contract
No. DE-AC52-07NA27344 with the DOE.
B. Neither the United States Government nor Lawrence Livermore
National Security, LLC nor any of their employees, makes any warranty,
express or implied, or assumes any liability or responsibility for the
accuracy, completeness, or usefulness of any information, apparatus,
product, or process disclosed, or represents that its use would not
infringe privately-owned rights.
National Security, LLC nor any of their employees, makes any
warranty, express or implied, or assumes any liability or
responsibility for the accuracy, completeness, or usefulness of any
information, apparatus, product, or process disclosed, or
represents that its use would not infringe privately-owned rights.
C. Also, reference herein to any specific commercial products,
process, or services by trade name, trademark, manufacturer or
otherwise does not necessarily constitute or imply its endorsement,
recommendation, or favoring by the United States Government or
Lawrence Livermore National Security, LLC. The views and opinions of
authors expressed herein do not necessarily state or reflect those of
the United States Government or Lawrence Livermore National Security,
LLC, and shall not be used for advertising or product endorsement
purposes.
process, or services by trade name, trademark, manufacturer or
otherwise does not necessarily constitute or imply its endorsement,
recommendation, or favoring by the United States Government or
Lawrence Livermore National Security, LLC. The views and opinions
of authors expressed herein do not necessarily state or reflect
those of the United States Government or Lawrence Livermore
National Security, LLC, and shall not be used for advertising or
product endorsement purposes.
The precise terms and conditions for copying, distribution and
modification follows.
GNU Lesser GPL terms and Conditions for Copying, Distribution, and
Modification
########################################################################
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or

View File

@@ -1,5 +1,8 @@
Spack
===========
![image](share/spack/logo/spack-logo-text-64.png "Spack")
============
[![Build Status](https://travis-ci.org/LLNL/spack.svg?branch=develop)](https://travis-ci.org/LLNL/spack)
[![Coverage Status](https://coveralls.io/repos/github/LLNL/spack/badge.svg?branch=develop)](https://coveralls.io/github/LLNL/spack?branch=develop)
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
@@ -13,42 +16,86 @@ can coexist on the same system.
Most importantly, Spack is simple. It offers a simple spec syntax so
that users can specify versions and configuration options
concisely. Spack is also simple for package authors: package files are
writtin in pure Python, and specs allow package authors to write a
written in pure Python, and specs allow package authors to write a
single build script for many different builds of the same package.
See the
[Feature Overview](http://scalability-llnl.github.io/spack/features.html)
[Feature Overview](http://software.llnl.gov/spack/features.html)
for examples and highlights.
To install spack and install your first package:
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/llnl/spack.git
$ cd spack/bin
$ ./spack install libelf
Documentation
----------------
[Full documentation](http://scalability-llnl.github.io/spack)
for Spack is also available.
[**Full documentation**](http://software.llnl.gov/spack) for Spack is
the first place to look.
See also:
* [Technical paper](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf) and
[slides](https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf) on Spack's design and implementation.
* [Short presentation](https://tgamblin.github.io/files/Gamblin-Spack-Lightning-Talk-BOF-SC15.pdf) from the *Getting Scientific Software Installed* BOF session at Supercomputing 2015.
Get Involved!
------------------------
Spack is an open source project. Questions, discussion, and
contributions are welcome. Contributions can be anything from new
packages to bugfixes, or even new core features.
### Mailing list
If you are interested in contributing to spack, the first step is to
join the mailing list. We're using a Google Group for this, and you
can join it here:
* [Spack Google Group](https://groups.google.com/d/forum/spack)
### Contributions
Contributing to Spack is relatively easy. Just send us a
[pull request](https://help.github.com/articles/using-pull-requests/).
When you send your request, make ``develop`` the destination branch on the
[Spack repository](https://github.com/LLNL/spack).
Before you send a PR, your code should pass the following checks:
* Your contribution will need to pass the `spack test` command.
Run this before submitting your PR.
* Also run the `share/spack/qa/run-flake8` script to check for PEP8 compliance.
To encourage contributions and readability by a broad audience,
Spack uses the [PEP8](https://www.python.org/dev/peps/pep-0008/) coding
standard with [a few exceptions](https://github.com/LLNL/spack/blob/develop/.flake8).
We enforce these guidelines with [Travis CI](https://travis-ci.org/LLNL/spack).
Spack uses a rough approximation of the [Git
Flow](http://nvie.com/posts/a-successful-git-branching-model/)
branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the
latest stable release.
Authors
----------------
Spack was written by Todd Gamblin, tgamblin@llnl.gov.
Many thanks go to Spack's [contributors](https://github.com/llnl/spack/graphs/contributors).
Significant contributions were also made by:
Spack was originally written by Todd Gamblin, tgamblin@llnl.gov.
* David Beckingsale
* David Boehme
* Alfredo Gimenez
* Luc Jaulmes
* Matt Legendre
* Greg Lee
* Adam Moody
* Saravan Pantham
* Joachim Protze
* Bob Robey
* Justin Too
### Citing Spack
If you are referencing Spack in a publication, please cite the following paper:
* Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee,
Adam Moody, Bronis R. de Supinski, and W. Scott Futral.
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
In *Supercomputing 2015 (SC15)*, Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
Release
----------------

119
bin/sbang Executable file
View File

@@ -0,0 +1,119 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
#
# `sbang`: Run scripts with long shebang lines.
#
# Many operating systems limit the length of shebang lines, making it
# hard to use interpreters that are deep in the directory hierarchy.
# `sbang` can run such scripts, either as a shebang interpreter, or
# directly on the command line.
#
# Usage
# -----------------------------
# Suppose you have a script, long-shebang.sh, like this:
#
# 1 #!/very/long/path/to/some/interpreter
# 2
# 3 echo "success!"
#
# Invoking this script will result in an error on some OS's. On
# Linux, you get this:
#
# $ ./long-shebang.sh
# -bash: ./long: /very/long/path/to/some/interp: bad interpreter:
# No such file or directory
#
# On Mac OS X, the system simply assumes the interpreter is the shell
# and tries to run with it, which is likely not what you want.
#
#
# `sbang` on the command line
# -----------------------------
# You can use `sbang` in two ways. The first is to use it directly,
# from the command line, like this:
#
# $ sbang ./long-shebang.sh
# success!
#
#
# `sbang` as the interpreter
# -----------------------------
# You can also use `sbang` *as* the interpreter for your script. Put
# `#!/bin/bash /path/to/sbang` on line 1, and move the original
# shebang to line 2 of the script:
#
# 1 #!/bin/bash /path/to/sbang
# 2 #!/long/path/to/real/interpreter with arguments
# 3
# 4 echo "success!"
#
# $ ./long-shebang.sh
# success!
#
# On Linux, you could shorten line 1 to `#!/path/to/sbang`, but other
# operating systems like Mac OS X require the interpreter to be a
# binary, so it's best to use `sbang` as a `bash` argument.
# Obviously, for this to work, `sbang` needs to have a short enough
# path that *it* will run without hitting OS limits.
#
# For Lua, scripts the second line can't start with #!, as # is not
# the comment character in lua (even though lua ignores #! on the
# *first* line of a script). So, instrument a lua script like this,
# using -- instead of # on the second line:
#
# 1 #!/bin/bash /path/to/sbang
# 2 --!/long/path/to/lua with arguments
# 3
# 4 print "success!"
#
# How it works
# -----------------------------
# `sbang` is a very simple bash script. It looks at the first two
# lines of a script argument and runs the last line starting with
# `#!`, with the script as an argument. It also forwards arguments.
#
# First argument is the script we want to actually run.
script="$1"
# Search the first two lines of script for interpreters.
lines=0
while read line && ((lines < 2)) ; do
if [[ "$line" = '#!'* ]]; then
interpreter="${line#\#!}"
elif [[ "$line" = '--!'*lua* ]]; then
interpreter="${line#--!}"
fi
lines=$((lines+1))
done < "$script"
# Invoke any interpreter found, or raise an error if none was found.
if [ -n "$interpreter" ]; then
exec $interpreter "$@"
else
echo "error: sbang found no interpreter in $script"
exit 1
fi

115
bin/spack
View File

@@ -1,32 +1,34 @@
#!/usr/bin/env python
# flake8: noqa
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (as published by
# the Free Software Foundation) version 2.1 dated February 1999.
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU General Public License for more details.
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
import sys
if not sys.version_info[:2] >= (2,6):
if not sys.version_info[:2] >= (2, 6):
v_info = sys.version_info[:3]
sys.exit("Spack requires Python 2.6 or higher. This is Python %d.%d.%d." % v_info)
sys.exit("Spack requires Python 2.6 or higher. "
"This is Python %d.%d.%d." % v_info)
import os
@@ -38,6 +40,32 @@ SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
# Allow spack libs to be imported in our scripts
SPACK_LIB_PATH = os.path.join(SPACK_PREFIX, "lib", "spack")
sys.path.insert(0, SPACK_LIB_PATH)
SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
sys.path.insert(0, SPACK_EXTERNAL_LIBS)
import warnings
# Avoid warnings when nose is installed with the python exe being used to run
# spack. Note this must be done after Spack's external libs directory is added
# to sys.path.
with warnings.catch_warnings():
warnings.filterwarnings("ignore", ".*nose was already imported")
import nose
# Quick and dirty check to clean orphaned .pyc files left over from
# previous revisions. These files were present in earlier versions of
# Spack, were removed, but shadow system modules that Spack still
# imports. If we leave them, Spack will fail in mysterious ways.
# TODO: more elegant solution for orphaned pyc files.
orphaned_pyc_files = [os.path.join(SPACK_EXTERNAL_LIBS, n)
for n in ('functools.pyc', 'ordereddict.pyc')]
for pyc_file in orphaned_pyc_files:
if not os.path.exists(pyc_file):
continue
try:
os.remove(pyc_file)
except OSError as e:
print ("WARNING: Spack may fail mysteriously. "
"Couldn't remove orphaned .pyc file: %s" % pyc_file)
# If there is no working directory, use the spack prefix.
try:
@@ -49,25 +77,41 @@ except OSError:
# clean up the scope and start using spack package instead.
del SPACK_FILE, SPACK_PREFIX, SPACK_LIB_PATH
import llnl.util.tty as tty
from llnl.util.tty.color import *
import spack
from spack.error import SpackError
from external import argparse
import argparse
# Command parsing
parser = argparse.ArgumentParser(
description='Spack: the Supercomputing PACKage Manager.')
parser.add_argument('-V', '--version', action='version',
version="%s" % spack.spack_version)
parser.add_argument('-v', '--verbose', action='store_true',
help="Print additional output during builds")
formatter_class=argparse.RawTextHelpFormatter,
description="Spack: the Supercomputing PACKage Manager." + colorize("""
spec expressions:
PACKAGE [CONSTRAINTS]
CONSTRAINTS:
@c{@version}
@g{%compiler @compiler_version}
@B{+variant}
@r{-variant} or @r{~variant}
@m{=architecture}
[^DEPENDENCY [CONSTRAINTS] ...]"""))
parser.add_argument('-d', '--debug', action='store_true',
help="Write out debug logs during compile")
parser.add_argument('-D', '--pdb', action='store_true',
help="Run spack under the pdb debugger")
parser.add_argument('-k', '--insecure', action='store_true',
help="Do not check ssl certificates when downloading archives.")
help="Do not check ssl certificates when downloading.")
parser.add_argument('-m', '--mock', action='store_true',
help="Use mock packages instead of real ones.")
parser.add_argument('-p', '--profile', action='store_true',
help="Profile execution using cProfile.")
parser.add_argument('-v', '--verbose', action='store_true',
help="Print additional output during builds")
parser.add_argument('-V', '--version', action='version',
version="%s" % spack.spack_version)
# each command module implements a parser() function, to which we pass its
# subparser for setup.
@@ -87,49 +131,54 @@ if len(sys.argv) == 1:
# actually parse the args.
args = parser.parse_args()
def main():
# Set up environment based on args.
tty.set_verbose(args.verbose)
tty.set_debug(args.debug)
spack.debug = args.debug
if spack.debug:
import spack.util.debug as debug
debug.register_interrupt_handler()
from spack.yaml_version_check import check_yaml_versions
check_yaml_versions()
spack.spack_working_dir = working_dir
if args.mock:
from spack.packages import PackageDB
spack.db = PackageDB(spack.mock_packages_path)
from spack.repository import RepoPath
spack.repo.swap(RepoPath(spack.mock_packages_path))
# If the user asked for it, don't check ssl certs.
if args.insecure:
tty.warn("You asked for --insecure, which does not check SSL certificates or checksums.")
tty.warn("You asked for --insecure. Will NOT check SSL certificates.")
spack.curl.add_default_arg('-k')
# Try to load the particular command asked for and run it
command = spack.cmd.get_command(args.command)
try:
return_val = command(parser, args)
except SpackError, e:
if spack.debug:
# In debug mode, raise with a full stack trace.
raise
elif e.long_message:
tty.die(e.message, e.long_message)
else:
tty.die(e.message)
except SpackError as e:
e.die()
except KeyboardInterrupt:
sys.stderr.write('\n')
tty.die("Keyboard interrupt.")
# Allow commands to return values if they want to exit with some ohter code.
# Allow commands to return values if they want to exit with some other code.
if return_val is None:
sys.exit(0)
elif isinstance(return_val, int):
sys.exit(return_val)
else:
tty.die("Bad return value from command %s: %s" % (args.command, return_val))
tty.die("Bad return value from command %s: %s"
% (args.command, return_val))
if args.profile:
import cProfile
cProfile.run('main()', sort='tottime')
cProfile.run('main()', sort='time')
elif args.pdb:
import pdb
pdb.run('main()')
else:
main()

View File

@@ -1,27 +1,27 @@
#!/bin/sh
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (as published by
# the Free Software Foundation) version 2.1 dated February 1999.
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU General Public License for more details.
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
#
# spack-python

View File

@@ -0,0 +1,40 @@
# -------------------------------------------------------------------------
# This is the default configuration for Spack's module file generation.
#
# Settings here are versioned with Spack and are intended to provide
# sensible defaults out of the box. Spack maintainers should edit this
# file to keep it current.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/modules.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
enable:
- tcl
- dotkit
prefix_inspections:
bin:
- PATH
man:
- MANPATH
share/man:
- MANPATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
include:
- CPATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH

View File

@@ -0,0 +1,21 @@
# -------------------------------------------------------------------------
# This file controls default concretization preferences for Spack.
#
# Settings here are versioned with Spack and are intended to provide
# sensible defaults out of the box. Spack maintainers should edit this
# file to keep it current.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/packages.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/packages.yaml
# -------------------------------------------------------------------------
packages:
all:
providers:
mpi: [openmpi, mpich]
blas: [openblas]
lapack: [openblas]

View File

@@ -0,0 +1,14 @@
# -------------------------------------------------------------------------
# This is the default spack repository configuration. It includes the
# builtin spack package repository.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/repos.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/repos.yaml
# -------------------------------------------------------------------------
repos:
- $spack/var/spack/repos/builtin

View File

@@ -5,7 +5,7 @@
"""
import os
VERSION = (0, 1, 5)
VERSION = (0, 1, 8)
__version__ = ".".join(str(v) for v in VERSION)
__version_full__ = __version__

View File

@@ -1,15 +1,23 @@
<ul class="wy-breadcrumbs">
<li><a href="{{ pathto(master_doc) }}">Docs</a> &raquo;</li>
<li><a href="">{{ title }}</a></li>
<li class="wy-breadcrumbs-aside">
{% if display_github %}
<a href="https://github.com/{{ github_user }}/{{ github_repo }}/blob/{{ github_version }}{{ conf_py_path }}{{ pagename }}.rst" class="icon icon-github"> Edit on GitHub</a>
{% elif display_bitbucket %}
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}.rst'" class="icon icon-bitbucket"> Edit on Bitbucket</a>
{% elif show_source and has_source and sourcename %}
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> View page source</a>
{% endif %}
</li>
</ul>
<hr/>
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="{{ pathto(master_doc) }}">Docs</a> &raquo;</li>
{% for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{% endfor %}
<li>{{ title }}</li>
<li class="wy-breadcrumbs-aside">
{% if pagename != "search" %}
{% if display_github %}
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/blob/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ source_suffix }}" class="fa fa-github"> Edit on GitHub</a>
{% elif display_bitbucket %}
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ source_suffix }}" class="fa fa-bitbucket"> Edit on Bitbucket</a>
{% elif show_source and source_url_prefix %}
<a href="{{ source_url_prefix }}{{ pagename }}{{ source_suffix }}">View page source</a>
{% elif show_source and has_source and sourcename %}
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> View page source</a>
{% endif %}
{% endif %}
</li>
</ul>
<hr/>
</div>

View File

@@ -1,28 +1,40 @@
<footer>
{% if next or prev %}
<div class="rst-footer-buttons">
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
{% if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}"/>Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
{% endif %}
{% if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral" title="{{ prev.title|striptags|e }}"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<a href="{{ prev.link|e }}" class="btn btn-neutral" title="{{ prev.title|striptags|e }}" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
{% endif %}
</div>
{% endif %}
<hr/>
<p>
&copy; Copyright 2013-2014,
<a href="https://scalability.llnl.gov/">Lawrence Livermore National Laboratory</a>.
<br/>
Written by Todd Gamblin, <a href="mailto:tgamblin@llnl.gov">tgamblin@llnl.gov</a>, LLNL-CODE-647188
<br/>
<div role="contentinfo">
<p>
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- endif %}
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
<br/>
Written by Todd Gamblin (<a href="mailto:tgamblin@llnl.gov">tgamblin@llnl.gov</a>) and
many contributors. LLNL-CODE-647188.
{%- if last_updated %}
<br/>
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
</p>
</div>
{%- if show_sphinx %}
{% trans %}Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>{% endtrans %}.
{%- endif %}
&nbsp;&nbsp;
{% trans %}<br/><a href="https://www.github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="http://readthedocs.org">Read the Docs</a>{% endtrans %}
</p>
</footer>

View File

@@ -12,6 +12,7 @@
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
{{ metatags }}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
@@ -23,40 +24,28 @@
{% endif %}
{# CSS #}
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
{# JS #}
{# OPENSEARCH #}
{% if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{% if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml" title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}" href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{% endif %}
{% endif %}
{# RTD hosts these file themselves, so just load on non RTD builds #}
{# RTD hosts this file, so just load on non RTD builds #}
{% if not READTHEDOCS %}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<script type="text/javascript" src="_static/js/theme.js"></script>
{% endif %}
{% for cssfile in css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{% endfor %}
{% for cssfile in extra_css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{% endfor %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}"
@@ -85,29 +74,47 @@
{%- endblock %}
{%- block extrahead %} {% endblock %}
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
{# Keep modernizr in head - http://modernizr.com/docs/#installing #}
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
{# SIDE NAV, TOGGLES ON MOBILE #}
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}</a>
{% block sidebartitle %}
{% if logo and theme_logo_only %}
<a href="{{ pathto(master_doc) }}">
{% else %}
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
{% endif %}
{% if logo %}
{# Not strictly valid HTML, but it's the only way to display/scale it properly, without weird scripting or heaps of work #}
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" />
{% endif %}
</a>
{% include "searchbox.html" %}
{% endblock %}
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix">
{% set toctree = toctree(maxdepth=2, collapse=False, includehidden=True) %}
{% if toctree %}
{{ toctree }}
{% else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{% endif %}
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
{% block menu %}
{% set toctree = toctree(maxdepth=4, collapse=False, includehidden=True) %}
{% if toctree %}
{{ toctree }}
{% else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{% endif %}
{% endblock %}
</div>
&nbsp;
</nav>
@@ -115,8 +122,8 @@
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
<nav class="wy-nav-top">
<i data-toggle="wy-nav-top" class="icon icon-reorder"></i>
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
</nav>
@@ -125,7 +132,9 @@
<div class="wy-nav-content">
<div class="rst-content">
{% include "breadcrumbs.html" %}
{% block body %}{% endblock %}
<div role="main" class="document">
{% block body %}{% endblock %}
</div>
{% include "footer.html" %}
</div>
</div>
@@ -134,5 +143,39 @@
</div>
{% include "versions.html" %}
{% if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{% endif %}
{# RTD hosts this file, so just load on non RTD builds #}
{% if not READTHEDOCS %}
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
{% endif %}
{# STICKY NAVIGATION #}
{% if theme_sticky_navigation %}
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
{% endif %}
{%- block footer %} {% endblock %}
</body>
</html>

View File

@@ -10,7 +10,7 @@
{%- extends "layout.html" %}
{% set title = _('Search') %}
{% set script_files = script_files + ['_static/searchtools.js'] %}
{% block extrahead %}
{% block footer %}
<script type="text/javascript">
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
</script>

View File

@@ -1,5 +1,9 @@
<form id ="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
{%- if builder != 'singlehtml' %}
<div role="search">
<form id="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
{%- endif %}

View File

@@ -1 +1,2 @@
.font-smooth,.icon:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:fontawesome-webfont;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#fontawesome-webfont") format("svg")}.icon:before{display:inline-block;font-family:fontawesome-webfont;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .icon{display:inline-block;text-decoration:inherit}li .icon{display:inline-block}li .icon-large:before,li .icon-large:before{width:1.875em}ul.icons{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.icons li .icon{width:0.8em}ul.icons li .icon-large:before,ul.icons li .icon-large:before{vertical-align:baseline}.icon-book:before{content:"\f02d"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}
/*# sourceMappingURL=badge_only.css.map */

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "CAyDA,SAAY,EACV,qBAAsB,EAAE,UAAW,EAqDrC,QAAS,EARP,IAAK,EAAE,AAAC,EACR,+BAAS,EAEP,MAAO,EAAE,IAAK,EACd,MAAO,EAAE,CAAE,EACb,cAAO,EACL,IAAK,EAAE,GAAI,EC1Gb,SAkBC,EAjBC,UAAW,ECFJ,UAAW,EDGlB,UAAW,EAHqC,KAAM,EAItD,SAAU,EAJsD,KAAM,EAapE,EAAG,EAAE,qCAAwB,EAC7B,EAAG,EAAE,0PAAyE,ECZpF,SAAU,EACR,MAAO,EAAE,WAAY,EACrB,UAAW,EAAE,UAAW,EACxB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,KAAM,EACnB,UAAW,EAAE,AAAC,EACd,cAAe,EAAE,MAAO,EAG1B,IAAK,EACH,MAAO,EAAE,WAAY,EACrB,cAAe,EAAE,MAAO,EAIxB,KAAG,EACD,MAAO,EAAE,WAAY,EACvB,sCAAiB,EAGf,IAAK,EAAE,MAAY,EAEvB,KAAM,EACJ,cAAe,EAAE,GAAI,EACrB,UAAW,EAAE,EAAG,EAChB,UAAW,EAAE,KAAM,EAEjB,YAAG,EACD,IAAK,EAAE,IAAI,EACb,oDAAiB,EAGf,aAAc,EAAE,OAAQ,EAG9B,cAAe,EACb,MAAO,EAAE,EAAO,EAElB,gBAAiB,EACf,MAAO,EAAE,EAAO,EAElB,oBAAqB,EACnB,MAAO,EAAE,EAAO,EAElB,sBAAuB,EACrB,MAAO,EAAE,EAAO,EAElB,kBAAmB,EACjB,MAAO,EAAE,EAAO,EAElB,oBAAqB,EACnB,MAAO,EAAE,EAAO,EAElB,oBAAqB,EACnB,MAAO,EAAE,EAAO,EAElB,sBAAuB,EACrB,MAAO,EAAE,EAAO,EAElB,qBAAsB,EACpB,MAAO,EAAE,EAAO,EAElB,uBAAwB,EACtB,MAAO,EAAE,EAAO,ECnElB,YAAa,EACX,OAAQ,EAAE,IAAK,EACf,KAAM,EAAE,AAAC,EACT,GAAI,EAAE,AAAC,EACP,IAAK,EC6E+B,IAAK,ED5EzC,IAAK,ECE+B,MAAyB,EDD7D,SAAU,EAAE,MAAkC,EAC9C,SAAU,EAAE,iBAAiC,EAC7C,UAAW,EEAyB,sDAAM,EFC1C,MAAO,EC+E6B,EAAG,ED9EvC,cAAC,EACC,IAAK,ECqE6B,MAAW,EDpE7C,cAAe,EAAE,GAAI,EACvB,6BAAgB,EACd,MAAO,EAAE,GAAI,EACf,iCAAoB,EAClB,MAAO,EAAE,GAAqB,EAC9B,eAAgB,EAAE,MAAkC,EACpD,MAAO,EAAE,IAAK,EACd,SAAU,EAAE,IAAK,EACjB,QAAS,EAAE,EAAG,EACd,KAAM,EAAE,MAAO,EACf,IAAK,ECiD6B,MAAM,EJgC1C,IAAK,EAAE,AAAC,EACR,iFAAS,EAEP,MAAO,EAAE,IAAK,EACd,MAAO,EAAE,CAAE,EACb,uCAAO,EACL,IAAK,EAAE,GAAI,EGrFX,qCAAG,EACD,IAAK,EClB2B,MAAyB,EDmB3D,0CAAQ,EACN,IAAK,EAAE,GAAI,EACb,4CAAU,EACR,IAAK,EAAE,GAAI,EACb,iDAAiB,EACf,eAAgB,ECQgB,MAAI,EDPpC,IAAK,EC0B2B,GAAM,EDzBxC,wDAAwB,EACtB,eAAgB,ECXgB,MAAO,EDYvC,IAAK,ECzB2B,GAAI,ED0BxC,yCAA8B,EAC5B,MAAO,EAAE,IAAK,EAChB,gCAAmB,EACjB,QAAS,EAAE,EAAG,EACd,MAAO,EAAE,GAAqB,EAC9B,IAAK,ECE6B,GAAwB,EDD1D,MAAO,EAAE,GAAI,EACb,mCAAE,EACA,MAAO,EAAE,IAAK,EACd,KAAM,EAAE,EAAG,EACX,KAAM,EAAE,AAAC,EACT,KAAM,EAAE,KAAM,EACd,MAAO,EAAE,AAAC,EACV,SAAU,EAAE,gBAA6C,EAC3D,mCAAE,EACA,MAAO,EAAE,WAAY,EACrB,KAAM,EAAE,AAAC,EACT,qCAAC,EACC,MAAO,EAAE,WAAY,EACrB,MAAO,EAAE,EAAqB,EAC9B,IAAK,ECjDyB,MAAyB,EDkD7D,sBAAW,EACT,IAAK,EAAE,GAAI,EACX,KAAM,EAAE,GAAI,EACZ,IAAK,EAAE,GAAI,EACX,GAAI,EAAE,GAAI,EACV,KAAM,EAAE,GAAI,EACZ,QAAS,ECkByB,IAAK,EDjBvC,iCAAU,EACR,IAAK,EAAE,GAAI,EACb,+BAAQ,EACN,IAAK,EAAE,GAAI,EACb,oDAA+B,EAC7B,SAAU,EAAE,IAAK,EACjB,6DAAQ,EACN,IAAK,EAAE,GAAI,EACb,+DAAU,EACR,IAAK,EAAE,GAAI,EACf,2CAAoB,EAClB,IAAK,EAAE,GAAI,EACX,KAAM,EAAE,GAAI,EACZ,UAAW,EAAE,GAAI,EACjB,MAAO,EAAE,IAAuB,EAChC,MAAO,EAAE,IAAK,EACd,SAAU,EAAE,KAAM,EGhDpB,mCAAsB,EHmDxB,YAAa,EACX,IAAK,EAAE,EAAG,EACV,MAAO,EAAE,GAAI,EACb,kBAAO,EACL,MAAO,EAAE,IAAK,EAClB,EAAG,EACD,IAAK,EAAE,GAAI,EACX,KAAM,EAAE,GAAI",
"sources": ["../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/bourbon/dist/css3/_font-face.scss","../../../sass/_theme_badge_fa.sass","../../../sass/_theme_badge.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss"],
"names": [],
"file": "badge_only.css"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -280,8 +280,8 @@
<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
<glyph unicode="&#xf116;" horiz-adv-x="1152" d="M896 608v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h224q14 0 23 -9t9 -23zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28 t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68zM1152 928v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704q93 0 158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf117;" horiz-adv-x="1152" d="M928 1152q93 0 158.5 -65.5t65.5 -158.5v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68z M864 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576z" />
<glyph unicode="&#xf116;" horiz-adv-x="1792" />
<glyph unicode="&#xf117;" horiz-adv-x="1792" />
<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
@@ -310,7 +310,7 @@
<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
@@ -342,7 +342,7 @@
<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
<glyph unicode="&#xf158;" horiz-adv-x="1664" d="M1664 352v-32q0 -132 -94 -226t-226 -94h-128q-132 0 -226 94t-94 226v480h-224q-2 -102 -14.5 -190.5t-30.5 -156t-48.5 -126.5t-57 -99.5t-67.5 -77.5t-69.5 -58.5t-74 -44t-69 -32t-65.5 -25.5q-4 -2 -32 -13q-8 -2 -12 -2q-22 0 -30 20l-71 178q-5 13 0 25t17 17 q7 3 20 7.5t18 6.5q31 12 46.5 18.5t44.5 20t45.5 26t42 32.5t40.5 42.5t34.5 53.5t30.5 68.5t22.5 83.5t17 103t6.5 123h-256q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h1216q14 0 23 -9t9 -23v-160q0 -14 -9 -23t-23 -9h-224v-512q0 -26 19 -45t45 -19h128q26 0 45 19t19 45 v64q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1280 1376v-160q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h960q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
<glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
@@ -390,10 +390,25 @@
<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
<glyph unicode="&#xf18b;" horiz-adv-x="1920" d="M805 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM453 1176v-344q0 -179 -89.5 -326t-234.5 -217q-129 152 -129 351q0 200 129.5 352t323.5 184zM958 991q-128 -152 -128 -351q0 -201 128 -351q-145 70 -234.5 218t-89.5 328 v341q196 -33 324 -185zM1638 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM1286 1176v-344q0 -179 -91 -326t-237 -217v0q133 154 133 351q0 195 -133 351q129 151 328 185zM1920 640q0 -201 -129 -351q-145 70 -234.5 218 t-89.5 328v341q194 -32 323.5 -184t129.5 -352z" />
<glyph unicode="&#xf18c;" horiz-adv-x="1792" />
<glyph unicode="&#xf18d;" horiz-adv-x="1792" />
<glyph unicode="&#xf18e;" horiz-adv-x="1792" />
<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
<glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf197;" horiz-adv-x="1792" />
<glyph unicode="&#xf198;" horiz-adv-x="1792" />
<glyph unicode="&#xf199;" horiz-adv-x="1792" />
<glyph unicode="&#xf19a;" horiz-adv-x="1792" />
<glyph unicode="&#xf19b;" horiz-adv-x="1792" />
<glyph unicode="&#xf19c;" horiz-adv-x="1792" />
<glyph unicode="&#xf19d;" horiz-adv-x="1792" />
<glyph unicode="&#xf19e;" horiz-adv-x="1792" />
<glyph unicode="&#xf500;" horiz-adv-x="1792" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 197 KiB

File diff suppressed because one or more lines are too long

View File

@@ -1,16 +1,113 @@
$( document ).ready(function() {
// Shift nav in mobile when clicking the menu.
$("[data-toggle='wy-nav-top']").click(function() {
$("[data-toggle='wy-nav-shift']").toggleClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
// Close menu when you click a link.
$(".wy-menu-vertical .current ul li a").click(function() {
$("[data-toggle='wy-nav-shift']").removeClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
$("[data-toggle='rst-current-version']").click(function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
});
$("table.docutils:not(.field-list").wrap("<div class='wy-table-responsive'></div>");
function toggleCurrent (elem) {
var parent_li = elem.closest('li');
parent_li.siblings('li.current').removeClass('current');
parent_li.siblings().find('li.current').removeClass('current');
parent_li.find('> ul li.current').removeClass('current');
parent_li.toggleClass('current');
}
$(document).ready(function() {
// Shift nav in mobile when clicking the menu.
$(document).on('click', "[data-toggle='wy-nav-top']", function() {
$("[data-toggle='wy-nav-shift']").toggleClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
// Nav menu link click operations
$(document).on('click', ".wy-menu-vertical .current ul li a", function() {
var target = $(this);
// Close menu when you click a link.
$("[data-toggle='wy-nav-shift']").removeClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
// Handle dynamic display of l3 and l4 nav lists
toggleCurrent(target);
if (typeof(window.SphinxRtdTheme) != 'undefined') {
window.SphinxRtdTheme.StickyNav.hashChange();
}
});
$(document).on('click', "[data-toggle='rst-current-version']", function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
});
// Make tables responsive
$("table.docutils:not(.field-list)").wrap("<div class='wy-table-responsive'></div>");
// Add expand links to all parents of nested ul
$('.wy-menu-vertical ul').siblings('a').each(function () {
var link = $(this);
expand = $('<span class="toctree-expand"></span>');
expand.on('click', function (ev) {
toggleCurrent(link);
ev.stopPropagation();
return false;
});
link.prepend(expand);
});
});
// Sphinx theme state
window.SphinxRtdTheme = (function (jquery) {
var stickyNav = (function () {
var navBar,
win,
winScroll = false,
linkScroll = false,
winPosition = 0,
enable = function () {
init();
reset();
win.on('hashchange', reset);
// Set scrolling
win.on('scroll', function () {
if (!linkScroll) {
winScroll = true;
}
});
setInterval(function () {
if (winScroll) {
winScroll = false;
var newWinPosition = win.scrollTop(),
navPosition = navBar.scrollTop(),
newNavPosition = navPosition + (newWinPosition - winPosition);
navBar.scrollTop(newNavPosition);
winPosition = newWinPosition;
}
}, 25);
},
init = function () {
navBar = jquery('nav.wy-nav-side:first');
win = jquery(window);
},
reset = function () {
// Get anchor from URL and open up nested nav
var anchor = encodeURI(window.location.hash);
if (anchor) {
try {
var link = $('.wy-menu-vertical')
.find('[href="' + anchor + '"]');
$('.wy-menu-vertical li.toctree-l1 li.current')
.removeClass('current');
link.closest('li.toctree-l2').addClass('current');
link.closest('li.toctree-l3').addClass('current');
link.closest('li.toctree-l4').addClass('current');
}
catch (err) {
console.log("Error expanding nav for anchor", err);
}
}
},
hashChange = function () {
linkScroll = true;
win.one('hashchange', function () {
linkScroll = false;
});
};
jquery(init);
return {
enable: enable,
hashChange: hashChange
};
}());
return {
StickyNav: stickyNav
};
}($));

View File

@@ -5,3 +5,5 @@ stylesheet = css/theme.css
[options]
typekit_id = hiw1hhg
analytics_id =
sticky_navigation = False
logo_only =

View File

@@ -1,10 +1,10 @@
{% if READTHEDOCS %}
{# Add rst-badge after rst-versions for small badge style. #}
<div class="rst-versions" data-toggle="rst-versions">
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="icon icon-book"> Read the Docs</span>
v: {{ current_version }}
<span class="icon icon-caret-down"></span>
<span class="fa fa-book"> Read the Docs</span>
v: {{ current_version }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,167 @@
Using Spack for CMake-based Development
==========================================
These are instructions on how to use Spack to aid in the development
of a CMake-based project. Spack is used to help find the dependencies
for the project, configure it at development time, and then package it
it in a way that others can install. Using Spack for CMake-based
development consists of three parts:
1. Setting up the CMake build in your software
2. Writing the Spack Package
3. Using it from Spack.
Setting Up the CMake Build
---------------------------------------
You should follow standard CMake conventions in setting up your
software, your CMake build should NOT depend on or require Spack to
build. See here for an example:
https://github.com/citibeth/icebin
Note that there's one exception here to the rule I mentioned above.
In ``CMakeLists.txt``, I have the following line::
include_directories($ENV{CMAKE_TRANSITIVE_INCLUDE_PATH})
This is a hook into Spack, and it ensures that all transitive
dependencies are included in the include path. It's not needed if
everything is in one tree, but it is (sometimes) in the Spack world;
when running without Spack, it has no effect.
Note that this "feature" is controversial, could break with future
versions of GNU ld, and probably not the best to use. The best
practice is that you make sure that anything you #include is listed as
a dependency in your CMakeLists.txt.
To be more specific: if you #inlcude something from package A and an
installed HEADER FILE in A #includes something from package B, then
you should also list B as a dependency in your CMake build. If you
depend on A but header files exported by A do NOT #include things from
B, then you do NOT need to list B as a dependency --- even if linking
to A links in libB.so as well.
I also recommend that you set up your CMake build to use RPATHs
correctly. Not only is this a good idea and nice, but it also ensures
that your package will build the same with or without ``spack
install``.
Writing the Spack Package
---------------------------------------
Now that you have a CMake build, you want to tell Spack how to
configure it. This is done by writing a Spack package for your
software. See here for example:
https://github.com/citibeth/spack/blob/efischer/develop/var/spack/repos/builtin/packages/icebin/package.py
You need to subclass ``CMakePackage``, as is done in this example.
This enables advanced features of Spack for helping you in configuring
your software (keep reading...). Instead of an ``install()`` method
used when subclassing ``Package``, you write ``configure_args()``.
See here for more info on how this works:
https://github.com/LLNL/spack/pull/543/files
NOTE: if your software is not publicly available, you do not need to
set the URL or version. Or you can set up bogus URLs and
versions... whatever causes Spack to not crash.
Using it from Spack
--------------------------------
Now that you have a Spack package, you can get Spack to setup your
CMake project for you. Use the following to setup, configure and
build your project::
cd myproject
spack spconfig myproject@local
mkdir build; cd build
../spconfig.py ..
make
make install
Everything here should look pretty familiar here from a CMake
perspective, except that ``spack spconfig`` creates the file
``spconfig.py``, which calls CMake with arguments appropriate for your
Spack configuration. Think of it as the equivalent to running a bunch
of ``spack location -i`` commands. You will run ``spconfig.py``
instead of running CMake directly.
If your project is publicly available (eg on GitHub), then you can
ALSO use this setup to "just install" a release version without going
through the manual configuration/build step. Just do:
1. Put tag(s) on the version(s) in your GitHub repo you want to be release versions.
2. Set the ``url`` in your ``package.py`` to download a tarball for
the appropriate version. (GitHub will give you a tarball for any
version in the repo, if you tickle it the right way). For example::
https://github.com/citibeth/icebin/tarball/v0.1.0
Set up versions as appropriate in your ``package.py``. (Manually
download the tarball and run ``md5sum`` to determine the
appropriate checksum for it).
3. Now you should be able to say ``spack install myproject@version``
and things "just work."
NOTE... in order to use the features outlined in this post, you
currently need to use the following branch of Spack:
https://github.com/citibeth/spack/tree/efischer/develop
There is a pull request open on this branch (
https://github.com/LLNL/spack/pull/543 ) and we are working to get it
integrated into the main ``develop`` branch.
Activating your Software
-------------------------------------
Once you've built your software, you will want to load it up. You can
use ``spack load mypackage@local`` for that in your ``.bashrc``, but
that is slow. Try stuff like the following instead:
The following command will load the Spack-installed packages needed
for basic Python use of IceBin::
module load `spack module find tcl icebin netcdf cmake@3.5.1`
module load `spack module find --dependencies tcl py-basemap py-giss`
You can speed up shell startup by turning these into ``module load`` commands.
1. Cut-n-paste the script ``make_spackenv``::
#!/bin/sh
#
# Generate commands to load the Spack environment
SPACKENV=$HOME/spackenv.sh
spack module find --shell tcl git icebin@local ibmisc netcdf cmake@3.5.1 >$SPACKENV
spack module find --dependencies --shell tcl py-basemap py-giss >>$SPACKENV
2. Add the following to your ``.bashrc`` file::
source $HOME/spackenv.sh
# Preferentially use your checked-out Python source
export PYTHONPATH=$HOME/icebin/pylib:$PYTHONPATH
3. Run ``sh make_spackenv`` whenever your Spack installation changes (including right now).
Giving Back
-------------------
If your software is publicly available, you should submit the
``package.py`` for it as a pull request to the main Spack GitHub
project. This will ensure that anyone can install your software
(almost) painlessly with a simple ``spack install`` command. See here
for how that has turned into detailed instructions that have
successfully enabled collaborators to install complex software:
https://github.com/citibeth/icebin/blob/develop/README.rst

View File

@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -43,6 +43,7 @@
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('exts'))
sys.path.insert(0, os.path.abspath('../external'))
# Add the Spack bin directory to the path so that we can use its output in docs.
spack_root = '../../..'
@@ -50,7 +51,8 @@
os.environ['PATH'] += os.pathsep + '$SPACK_ROOT/bin'
spack_version = subprocess.Popen(
['spack', '-V'], stderr=subprocess.PIPE).communicate()[1].strip().split('.')
[spack_root + '/bin/spack', '-V'],
stderr=subprocess.PIPE).communicate()[1].strip().split('.')
# Set an environment variable so that colify will print output like it would to
# a terminal.
@@ -87,14 +89,14 @@
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Spack'
copyright = u'2013-2014, Lawrence Livermore National Laboratory'
copyright = u'2013-2015, Lawrence Livermore National Laboratory.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -149,7 +151,7 @@
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = []
html_theme_options = { 'logo_only' : True }
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ["_themes"]
@@ -163,12 +165,12 @@
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
html_logo = '../../../share/spack/logo/spack-logo-white-text-48.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
html_favicon = '../../../share/spack/logo/favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@@ -203,7 +205,7 @@
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
#html_show_sphinx = False
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True

View File

@@ -0,0 +1,236 @@
.. _configuration:
Configuration
===================================
.. _temp-space:
Temporary space
----------------------------
.. warning:: Temporary space configuration will eventually be moved to
configuration files, but currently these settings are in
``lib/spack/spack/__init__.py``
By default, Spack will try to do all of its building in temporary
space. There are two main reasons for this. First, Spack is designed
to run out of a user's home directory, and on may systems the home
directory is network mounted and potentially not a very fast
filesystem. We create build stages in a temporary directory to avoid
this. Second, many systems impose quotas on home directories, and
``/tmp`` or similar directories often have more available space. This
helps conserve space for installations in users' home directories.
You can customize temporary directories by editing
``lib/spack/spack/__init__.py``. Specifically, find this part of the file:
.. code-block:: python
# Whether to build in tmp space or directly in the stage_path.
# If this is true, then spack will make stage directories in
# a tmp filesystem, and it will symlink them into stage_path.
use_tmp_stage = True
# Locations to use for staging and building, in order of preference
# Use a %u to add a username to the stage paths here, in case this
# is a shared filesystem. Spack will use the first of these paths
# that it can create.
tmp_dirs = ['/nfs/tmp2/%u/spack-stage',
'/var/tmp/%u/spack-stage',
'/tmp/%u/spack-stage']
The ``use_tmp_stage`` variable controls whether Spack builds
**directly** inside the ``var/spack/`` directory. Normally, Spack
will try to find a temporary directory for a build, then it *symlinks*
that temporary directory into ``var/spack/`` so that you can keep
track of what temporary directories Spack is using.
The ``tmp_dirs`` variable is a list of paths Spack should search when
trying to find a temporary directory. They can optionally contain a
``%u``, which will substitute the current user's name into the path.
The list is searched in order, and Spack will create a temporary stage
in the first directory it finds to which it has write access. Add
more elements to the list to indicate where your own site's temporary
directory is.
.. _sec-external_packages:
External Packages
----------------------------
Spack can be configured to use externally-installed
packages rather than building its own packages. This may be desirable
if machines ship with system packages, such as a customized MPI
that should be used instead of Spack building its own MPI.
External packages are configured through the ``packages.yaml`` file found
in a Spack installation's ``etc/spack/`` or a user's ``~/.spack/``
directory. Here's an example of an external configuration:
.. code-block:: yaml
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
This example lists three installations of OpenMPI, one built with gcc,
one built with gcc and debug information, and another built with Intel.
If Spack is asked to build a package that uses one of these MPIs as a
dependency, it will use the the pre-installed OpenMPI in
the given directory. Packages.yaml can also be used to specify modules
Each ``packages.yaml`` begins with a ``packages:`` token, followed
by a list of package names. To specify externals, add a ``paths`` or ``modules``
token under the package name, which lists externals in a
``spec: /path`` or ``spec: module-name`` format. Each spec should be as
well-defined as reasonably possible. If a
package lacks a spec component, such as missing a compiler or
package version, then Spack will guess the missing component based
on its most-favored packages, and it may guess incorrectly.
Each package version and compilers listed in an external should
have entries in Spack's packages and compiler configuration, even
though the package and compiler may not every be built.
The packages configuration can tell Spack to use an external location
for certain package versions, but it does not restrict Spack to using
external packages. In the above example, if an OpenMPI 1.8.4 became
available Spack may choose to start building and linking with that version
rather than continue using the pre-installed OpenMPI versions.
To prevent this, the ``packages.yaml`` configuration also allows packages
to be flagged as non-buildable. The previous example could be modified to
be:
.. code-block:: yaml
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
buildable: False
The addition of the ``buildable`` flag tells Spack that it should never build
its own version of OpenMPI, and it will instead always rely on a pre-built
OpenMPI. Similar to ``paths``, ``buildable`` is specified as a property under
a package name.
If an external module is specified as not buildable, then Spack will load the
external module into the build environment which can be used for linking.
The ``buildable`` does not need to be paired with external packages.
It could also be used alone to forbid packages that may be
buggy or otherwise undesirable.
Concretization Preferences
--------------------------------
Spack can be configured to prefer certain compilers, package
versions, depends_on, and variants during concretization.
The preferred configuration can be controlled via the
``~/.spack/packages.yaml`` file for user configuations, or the
``etc/spack/packages.yaml`` site configuration.
Here's an example packages.yaml file that sets preferred packages:
.. code-block:: sh
packages:
opencv:
compiler: [gcc@4.9]
variants: +debug
gperftools:
version: [2.2, 2.4, 2.3]
all:
compiler: [gcc@4.4.7, gcc@4.6:, intel, clang, pgi]
providers:
mpi: [mvapich, mpich, openmpi]
At a high level, this example is specifying how packages should be
concretized. The opencv package should prefer using gcc 4.9 and
be built with debug options. The gperftools package should prefer version
2.2 over 2.4. Every package on the system should prefer mvapich for
its MPI and gcc 4.4.7 (except for opencv, which overrides this by preferring gcc 4.9).
These options are used to fill in implicit defaults. Any of them can be overwritten
on the command line if explicitly requested.
Each packages.yaml file begins with the string ``packages:`` and
package names are specified on the next level. The special string ``all``
applies settings to each package. Underneath each package name is
one or more components: ``compiler``, ``variants``, ``version``,
or ``providers``. Each component has an ordered list of spec
``constraints``, with earlier entries in the list being preferred over
later entries.
Sometimes a package installation may have constraints that forbid
the first concretization rule, in which case Spack will use the first
legal concretization rule. Going back to the example, if a user
requests gperftools 2.3 or later, then Spack will install version 2.4
as the 2.4 version of gperftools is preferred over 2.3.
An explicit concretization rule in the preferred section will always
take preference over unlisted concretizations. In the above example,
xlc isn't listed in the compiler list. Every listed compiler from
gcc to pgi will thus be preferred over the xlc compiler.
The syntax for the ``provider`` section differs slightly from other
concretization rules. A provider lists a value that packages may
``depend_on`` (e.g, mpi) and a list of rules for fulfilling that
dependency.
Profiling
------------------
Spack has some limited built-in support for profiling, and can report
statistics using standard Python timing tools. To use this feature,
supply ``-p`` to Spack on the command line, before any subcommands.
.. _spack-p:
``spack -p``
~~~~~~~~~~~~~~~~~
``spack -p`` output looks like this:
.. code-block:: sh
$ spack -p graph dyninst
o dyninst
|\
| |\
| o | libdwarf
|/ /
o | libelf
/
o boost
307670 function calls (305943 primitive calls) in 0.127 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
853 0.021 0.000 0.066 0.000 inspect.py:472(getmodule)
51197 0.011 0.000 0.018 0.000 inspect.py:51(ismodule)
73961 0.010 0.000 0.010 0.000 {isinstance}
1762 0.006 0.000 0.053 0.000 inspect.py:440(getsourcefile)
32075 0.006 0.000 0.006 0.000 {hasattr}
1760 0.004 0.000 0.004 0.000 {posix.stat}
2240 0.004 0.000 0.004 0.000 {posix.lstat}
2602 0.004 0.000 0.011 0.000 inspect.py:398(getfile)
771 0.004 0.000 0.077 0.000 inspect.py:518(findsource)
2656 0.004 0.000 0.004 0.000 {method 'match' of '_sre.SRE_Pattern' objects}
30772 0.003 0.000 0.003 0.000 {method 'get' of 'dict' objects}
...
The bottom of the output shows the top most time consuming functions,
slowest on top. The profiling support is from Python's built-in tool,
`cProfile
<https://docs.python.org/2/library/profile.html#module-cProfile>`_.

View File

@@ -73,19 +73,33 @@ with a high level view of Spack's directory structure::
spack/ <- installation root
bin/
spack <- main spack executable
etc/
spack/ <- Spack config files.
Can be overridden by files in ~/.spack.
var/
spack/ <- build & stage directories
repos/ <- contains package repositories
builtin/ <- pkg repository that comes with Spack
repo.yaml <- descriptor for the builtin repository
packages/ <- directories under here contain packages
cache/ <- saves resources downloaded during installs
opt/
spack/ <- packages are installed here
lib/
spack/
docs/ <- source for this documentation
env/ <- compiler wrappers for build environment
external/ <- external libs included in Spack distro
llnl/ <- some general-use libraries
spack/ <- spack module; contains Python code
cmd/ <- each file in here is a spack subcommand
compilers/ <- compiler description files
packages/ <- each file in here is a spack package
test/ <- unit test modules
util/ <- common code

View File

@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify

View File

@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify

View File

@@ -31,14 +31,21 @@ platform, all on the command line.
# Specify a compiler (and its version), with %
$ spack install mpileaks@1.1.2 %gcc@4.7.3
# Add special compile-time options with +
# Add special compile-time options by name
$ spack install mpileaks@1.1.2 %gcc@4.7.3 debug=True
# Add special boolean compile-time options with +
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug
# Cross-compile for a different architecture with =
$ spack install mpileaks@1.1.2 =bgqos_0
# Add compiler flags using the conventional names
$ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags=\"-O3 -floop-block\"
Users can specify as many or few options as they care about. Spack
will fill in the unspecified values with sensible defaults.
# Cross-compile for a different architecture with arch=
$ spack install mpileaks@1.1.2 arch=bgqos_0
Users can specify as many or few options as they care about. Spack
will fill in the unspecified values with sensible defaults. The two listed
syntaxes for variants are identical when the value is boolean.
Customize dependencies
@@ -103,7 +110,7 @@ creates a simple python file:
It doesn't take much python coding to get from there to a working
package:
.. literalinclude:: ../../../var/spack/packages/libelf/package.py
.. literalinclude:: ../../../var/spack/repos/builtin/packages/libelf/package.py
:lines: 25-
Spack also provides wrapper functions around common commands like

View File

@@ -1,35 +1,98 @@
Getting Started
====================
Download
Prerequisites
---------------
Spack has the following minimum requirements, which must be installed
before Spack is run:
1. Operating System: GNU/Linux or Macintosh
2. Python 2.6 or 2.7
3. A C/C++ compiler
These requirements can be easily installed on most modern Linux
systems; on Macintosh, XCode is required.
Installation
--------------------
Getting spack is easy. You can clone it from the `github repository
<https://github.com/scalability-llnl/spack>`_ using this command:
<https://github.com/llnl/spack>`_ using this command:
.. code-block:: sh
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/llnl/spack.git
This will create a directory called ``spack``. We'll assume that the
full path to this directory is in some environment called
``SPACK_HOME``. Add ``$SPACK_HOME/bin`` to your path and you're ready
to go:
This will create a directory called ``spack``. If you are using Spack
for a specific purpose, you might have received different instructions
on how to download Spack; if so, please follow those instructions.
Add Spack to Shell
~~~~~~~~~~~~~~~~~~~
We'll assume that the full path to your downloaded Spack directory is
in the ``SPACK_ROOT`` environment variable. Add ``$SPACK_ROOT/bin``
to your path and you're ready to go:
.. code-block:: sh
$ export PATH=spack/bin:$PATH
$ export PATH=$SPACK_ROOT/bin:$PATH
$ spack install libelf
In general, most of your interactions with Spack will be through the
``spack`` command.
For a richer experience, use Spack's `shell support
<http://software.llnl.gov/spack/basic_usage.html#environment-modules>`_:
.. code-block:: sh
# For bash users
$ . $SPACK_ROOT/share/spack/setup-env.sh
# For tcsh or csh users (note you must set SPACK_ROOT)
$ setenv SPACK_ROOT /path/to/spack
$ source $SPACK_ROOT/share/spack/setup-env.csh
This automatically adds Spack to your ``PATH``.
Clean Environment
~~~~~~~~~~~~~~~~~~
Many packages' installs can be broken by changing environment
variables. For example, a packge might pick up the wrong build-time
dependencies (most of them not specified) depending on the setting of
``PATH``. ``GCC`` seems to be particularly vulnerable to these issues.
Therefore, it is recommended that Spack users run with a *clean
environment*, especially for ``PATH``. Only software that comes with
the system, or that you know you wish to use with Spack, should be
included. This procedure will avoid many strange build errors that no
one knows how to fix.
Install
--------------------
Although Spack will work as soon as you clone it, it won't necessarily
be able to install any packages. That is because Spack relies
You don't need to install Spack; it's ready to run as soon as you
clone it from git.
Check Installation
~~~~~~~~~~~~~~~~~~~~~
With Spack installed, you should be able to run some basic Spack commands. For example:
.. code-block:: sh
$ spack spec netcdf
...
netcdf@4.4.1%gcc@5.3.0~hdf4+mpi arch=linux-SuSE11-x86_64
^curl@7.50.1%gcc@5.3.0 arch=linux-SuSE11-x86_64
^openssl@system%gcc@5.3.0 arch=linux-SuSE11-x86_64
^zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
^hdf5@1.10.0-patch1%gcc@5.3.0+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=linux-SuSE11-x86_64
^openmpi@1.10.1%gcc@5.3.0~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm+verbs+vt arch=linux-SuSE11-x86_64
^m4@1.4.17%gcc@5.3.0+sigsegv arch=linux-SuSE11-x86_64
^libsigsegv@2.10%gcc@5.3.0 arch=linux-SuSE11-x86_64
Optional: Alternate Prefix
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You may want to run it out of a prefix other than the git repository
you cloned. The ``spack bootstrap`` command provides this
@@ -39,6 +102,675 @@ functionality. To install spack in a new directory, simply type:
$ spack bootstrap /my/favorite/prefix
This will install a new spack script in /my/favorite/prefix/bin, which
you can use just like you would the regular spack script. Each copy
of spack installs packages into its own ``$PREFIX/opt`` directory.
This will install a new spack script in ``/my/favorite/prefix/bin``,
which you can use just like you would the regular spack script. Each
copy of spack installs packages into its own ``$PREFIX/opt``
directory.
.. _compiler-config:
Compiler configuration
-----------------------------------
Spack has the ability to build packages with multiple compilers and
compiler versions. Spack searches for compilers on your machine
automatically the first time it is run. It does this by inspecting
your path.
.. _spack-compilers:
``spack compilers``
~~~~~~~~~~~~~~~~~~~~~~~
You can see which compilers spack has found by running ``spack
compilers`` or ``spack compiler list``::
$ spack compilers
==> Available compilers
-- gcc ---------------------------------------------------------
gcc@4.9.0 gcc@4.8.0 gcc@4.7.0 gcc@4.6.2 gcc@4.4.7
gcc@4.8.2 gcc@4.7.1 gcc@4.6.3 gcc@4.6.1 gcc@4.1.2
-- intel -------------------------------------------------------
intel@15.0.0 intel@14.0.0 intel@13.0.0 intel@12.1.0 intel@10.0
intel@14.0.3 intel@13.1.1 intel@12.1.5 intel@12.0.4 intel@9.1
intel@14.0.2 intel@13.1.0 intel@12.1.3 intel@11.1
intel@14.0.1 intel@13.0.1 intel@12.1.2 intel@10.1
-- clang -------------------------------------------------------
clang@3.4 clang@3.3 clang@3.2 clang@3.1
-- pgi ---------------------------------------------------------
pgi@14.3-0 pgi@13.2-0 pgi@12.1-0 pgi@10.9-0 pgi@8.0-1
pgi@13.10-0 pgi@13.1-1 pgi@11.10-0 pgi@10.2-0 pgi@7.1-3
pgi@13.6-0 pgi@12.8-0 pgi@11.1-0 pgi@9.0-4 pgi@7.0-6
Any of these compilers can be used to build Spack packages. More on
how this is done is in :ref:`sec-specs`.
.. _spack-compiler-add:
``spack compiler add``
~~~~~~~~~~~~~~~~~~~~~~~
An alias for ``spack compiler find``.
.. _spack-compiler-find:
``spack compiler find``
~~~~~~~~~~~~~~~~~~~~~~~
If you do not see a compiler in this list, but you want to use it with
Spack, you can simply run ``spack compiler find`` with the path to
where the compiler is installed. For example::
$ spack compiler find /usr/local/tools/ic-13.0.079
==> Added 1 new compiler to /Users/gamblin2/.spack/compilers.yaml
intel@13.0.079
Or you can run ``spack compiler find`` with no arguments to force
auto-detection. This is useful if you do not know where compilers are
installed, but you know that new compilers have been added to your
``PATH``. For example, using dotkit, you might do this::
$ module load gcc-4.9.0
$ spack compiler find
==> Added 1 new compiler to /Users/gamblin2/.spack/compilers.yaml
gcc@4.9.0
This loads the environment module for gcc-4.9.0 to add it to
``PATH``, and then it adds the compiler to Spack.
.. _spack-compiler-info:
``spack compiler info``
~~~~~~~~~~~~~~~~~~~~~~~
If you want to see specifics on a particular compiler, you can run
``spack compiler info`` on it::
$ spack compiler info intel@15
intel@15.0.0:
cc = /usr/local/bin/icc-15.0.090
cxx = /usr/local/bin/icpc-15.0.090
f77 = /usr/local/bin/ifort-15.0.090
fc = /usr/local/bin/ifort-15.0.090
This shows which C, C++, and Fortran compilers were detected by Spack.
Notice also that we didn\'t have to be too specific about the
version. We just said ``intel@15``, and information about the only
matching Intel compiler was displayed.
Manual Compiler Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If auto-detection fails, you can manually configure a compiler by
editing your ``~/.spack/compilers.yaml`` file. You can do this by running
``spack config edit compilers``, which will open the file in your ``$EDITOR``.
Each compiler configuration in the file looks like this::
...
compilers:
- compiler:
modules = []
operating_system: OS
paths:
cc: /usr/local/bin/icc-15.0.024-beta
cxx: /usr/local/bin/icpc-15.0.024-beta
f77: /usr/local/bin/ifort-15.0.024-beta
fc: /usr/local/bin/ifort-15.0.024-beta
spec: intel@15.0.0:
For compilers, like ``clang``, that do not support Fortran, put
``None`` for ``f77`` and ``fc``::
clang@3.3svn:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: None
fc: None
Once you save the file, the configured compilers will show up in the
list displayed by ``spack compilers``.
You can also add compiler flags to manually configured compilers. The
valid flags are ``cflags``, ``cxxflags``, ``fflags``, ``cppflags``,
``ldflags``, and ``ldlibs``. For example::
...
compilers:
- compiler:
...
intel@15.0.0:
cc: /usr/local/bin/icc-15.0.024-beta
cxx: /usr/local/bin/icpc-15.0.024-beta
f77: /usr/local/bin/ifort-15.0.024-beta
fc: /usr/local/bin/ifort-15.0.024-beta
cppflags: -O3 -fPIC
...
These flags will be treated by spack as if they were enterred from
the command line each time this compiler is used. The compiler wrappers
then inject those flags into the compiler command. Compiler flags
enterred from the command line will be discussed in more detail in the
following section.
Build Your Own Compiler
~~~~~~~~~~~~~~~~~~~~~~~~~
If you are particular about which compiler/version you use, you might
wish to have Spack build it for you. For example:
.. code-block::
spack install gcc@4.9.3
Once that has finished, you will need to add it to your
``compilers.yaml`` file. If this is your preferred compiler, in
general future Spack builds will use it.
.. note::
If you are building your own compiler, it can be useful to have a
Spack instance just for that. For example, create a new Spack in
``~/spack-tools`` and then run ``~/spack-tools/bin/spack install
gcc@4.9.3``. Once the compiler is built, don't build anything
more in that Spack instance; instead, create a new "real" Spack
instance, configure Spack to use the compiler you've just built,
and then build your application software in the new Spack
instance.
This tip is useful because sometimes you will find yourself
rebuilding may pacakges due to Spack updates. Sometimes, you
might even delete your entire Spack installation and start fresh.
If your compiler was built in a separate Spack installation, you
will never have to rebuild it --- as long as you wish to continue
using that version of the compiler.
Compilers Requiring Modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many installed compilers will work regardless of the environment they
are called with. However, some installed compilers require
``$LD_LIBRARY_PATH`` or other environment variables to be set in order
to run; Intel compilers are known for this. In such a case, you
should tell Spack which module(s) to load in order to run the chosen
compiler. Spack will load this module into the environment ONLY when
the compiler is run, and NOT in general for a package's ``install()``
method. See, for example, this ``compilers.yaml`` file:
.. code-block:: yaml
compilers:
- compiler:
modules: [other/comp/gcc-5.3-sp3]
operating_system: SuSE11
paths:
cc: /usr/local/other/SLES11.3/gcc/5.3.0/bin/gcc
cxx: /usr/local/other/SLES11.3/gcc/5.3.0/bin/g++
f77: /usr/local/other/SLES11.3/gcc/5.3.0/bin/gfortran
fc: /usr/local/other/SLES11.3/gcc/5.3.0/bin/gfortran
spec: gcc@5.3.0
Some compilers require a module to be loaded not just to run, but also
to execute any code built with the compiler, breaking packages that
execute any bits of code they just compiled. Such compilers should be
taken behind the barn and put out of their misery. If that is not
possible or practical, the user (and anyone running code built by that
compiler) will need to load the compiler's module into their
environment. And ``spack install --dirty`` will need to be used.
Compiler Verification
~~~~~~~~~~~~~~~~~~~~~~
You can verify that your compilers are configured properly by installing a
simple package. For example:
.. code-block:: sh
spack install zlib%gcc@5.3.0
System Packages
-----------------
Once compilers are configured, one needs to determine which
pre-installed system packages, if any, to use in builds. This is
configured in the file `~/.spack/packages.yaml`. For example, to use
an OpenMPI installed in /opt/local, one would use:
.. code-block:: yaml
packages:
openmpi:
paths:
openmpi@1.10.1: /opt/local
buildable: False
In general, Spack is easier to use and more reliable if it builds all
its own dependencies. However, there are two packages for which one
commonly needs to use system versions:
MPI
~~~
On supercomputers, sysadmins have already built MPI versions that take
into account the specifics of that computer's hardware. Unless you
know how they were built and can choose the correct Spack variants,
you are unlikely to get a working MPI from Spack. Instead, use an
appropraite pre-installed MPI.
If you choose a pre-installed MPI, you should consider using the
pre-installed compiler used to build that MPI; see above on
``compilers.yaml``.
OpenSSL
~~~~~~~~
The ``openssl`` package underlies much of modern security in a modern
OS; an attacker can easily "pwn" any computer on which can modify SSL.
Therefore, any `openssl` used on a system should be created in a
"trusted environment" --- for example, that of the OS vendor.
OpenSSL is also updated by the OS vendor from time to time, in
response to security problems discovered in the wider community. It
is in everyone's best interest to use any newly updated versions as
soon as they come out. Modern Linux installations have standard
procedures for security updates without user involvement.
Spack running at user-level is not a trusted environment, nor do Spack
users generally keep up-to-date on the latest security holes in SSL.
For these reasons, any Spack-installed OpenSSL should be considered
untrusted.
As long as the system-provided SSL works, it is better to use it. One can check if it works by trying to download an ``https://``. For example:
.. code-block:: sh
curl -O https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz
As long as it works, the recommended way to tell Spack to use the
system-supplied OpenSSL is to add the following to ``packages.yaml``.
Note that the ``@system`` "version" means "I don't care what version
it is, just use what is there." This is appropraite for OpenSSL,
which has a stable API.
.. code-block:: yaml
packages:
# Recommended for security reasons
# Do not install OpenSSL as non-root user.
openssl:
paths:
openssl@system: /usr
version: [system]
buildable: False
Utilities Configuration
-------------------------
Although Spack does not need installation *per se*, it does rely on
other packages to be available on its host system. If those packages
are out of date or missing, then Spack will not work. Sometimes, an
appeal to the system's package manager can fix such problems. If not,
the solution is have Spack install the required packages, and then
have Spack use them.
For example, if `curl` doesn't work, one could use the following steps
to provide Spack a working `curl`:
.. code-block:: sh
$ spack install curl
$ spack load curl
or alternately:
.. code-block:: sh
$ spack module loads curl >>~/.bashrc
or if environment modules don't work:
.. code-block:: sh
$ export PATH=`spack location -i curl`/bin:$PATH
External commands are used by Spack in two places: within core Spack,
and in the package recipes. The bootstrapping procedure for these two
cases is somewhat different, and is treated separately below.
Core Spack Utilities
~~~~~~~~~~~~~~~~~~~~~~~~~
Core Spack uses the following packages, aminly to download and unpack
source code, and to load generated environment modules: ``curl``,
``env``, ``git``, ``go``, ``hg``, ``svn``, ``tar``, ``unzip``,
``patch``, ``environment-modules``.
As long as the user's environment is set up to successfully run these
programs from outside of Spack, they should work inside of Spack as
well. They can generally be activated as in the `curl` example above;
or some systems might already have an appropriate hand-built
environment module that may be loaded. Either way works.
A few notes on specific programs in this list:
cURL, git, Mercurial, etc.
```````````````````````````
Spack depends on cURL to download tarballs, the format that most
Spack-installed packages come in. Your system's cURL should always be
able to download unencrypted ``http://``. However, the cURL on some
systems has problems with SSL-enabled ``https://`` URLs, due to
outdated / insecure versions of OpenSSL on those systems. This will
prevent Spack from installing any software requiring ``https://``
until a new cURL has been installed, using the technique above.
.. note::
``curl`` depends on ``openssl`` and ``zlib``, both of which are
downloadable from non-SSL sources. Unfortunately, this
Spack-built cURL should be considered untrustworthy for
``https://`` sources becuase it relies on an OpenSSL built in user
space. Luckily, Spack verifies checksums of the software it
installs, and does not rely on a secure SSL implementation.
If your version of ``curl`` is not trustworthy, then you should
not use it outside of Spack. Instead of putting it in your
``.bashrc``, you might wish to create a short shell script that
loads the appropariate module(s) and then launches Spack.
Some packages use source code control systems as their download
method: ``git``, ``hg``, ``svn`` and occasionally ``go``. If you had
to install a new ``curl``, then chances are the system-supplied
version of these other programs will also not work, because they also
rely on OpenSSL. Once ``curl`` has been installed, the others should
also be installable.
.. _InstallEnvironmentModules:
Environment Modules
````````````````````
In order to use Spack's generated environment modules, you must have
installed the *Environment Modules* package. On many Linux
distributions, this can be installed from the vendor's repository.
For example: ```yum install environment-modules``
(Fedora/RHEL/CentOS). If your Linux distribution does not have
Environment Modules, you can get it with Spack:
1. Consider using system tcl (as long as your system has Tcl version 8.0 or later):
1. Identify its location using ``which tclsh``
2. Identify its version using ``echo 'puts $tcl_version;exit 0' | tclsh``
3. Add to ``~/.spack/packages.yaml`` and modify as appropriate:
.. code-block:: yaml
packages:
tcl:
paths:
tcl@8.5: /usr
version: [8.5]
buildable: False
2. Install with::
.. code-block:: sh
spack install environment-modules
3. Activate with the following script (or apply the updates to your
``.bashrc`` file manually)::
.. code-block:: sh
TMP=`tempfile`
echo >$TMP
MODULE_HOME=`spack location -i environment-modules`
MODULE_VERSION=`ls -1 $MODULE_HOME/Modules | head -1`
${MODULE_HOME}/Modules/${MODULE_VERSION}/bin/add.modules <$TMP
cp .bashrc $TMP
echo "MODULE_VERSION=${MODULE_VERSION}" > .bashrc
cat $TMP >>.bashrc
This adds to your ``.bashrc`` (or similar) files, enabling Environment
Modules when you log in. Re-load your .bashrc (or log out and in
again), and then test that the ``module`` command is found with:
.. code-block:: sh
module avail
Package Utilities
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Spack can also encounter bootstrapping problems inside a package's
``install()`` method. In this case, Spack will normally be running
inside a *sanitized build environment*. This includes all of the
package's dependencies, but none of the environment Spack inherited
from the user: if you load a module or modify ``$PATH`` before
launching Spack, it will have no effect.
In this case, you will likley need to use the ``--dirty`` flag when
running ``spack install``, causing Spack to **not** santize the build
environment. You are now responsible for making sure that environment
does not do strange things to Spack or its installs.
Another way to get Spack to use its own version of something is to add that something to a package that needs it. For example:
.. code-block:: python
depends_on('binutils', type='build')
This is considered best practice for some common build dependencies,
such as ``autotools`` (if the ``autoreconf`` command is needed) and
``cmake`` --- ``cmake`` especially, because different packages require
a different version of CMake.
However, adding ``depends_on('binutils')`` to every package is not
considered a best practice because every package written in
C/C++/Fortran would need it. Loading a recent ``binutils`` into your
environment is preferable here.
binutils
~~~~~~~~~
# https://groups.google.com/forum/#!topic/spack/i_7l_kEEveI
Sometimes, strange error messages can happen while building a package.
For exmaple, ``ld`` might crash. Or one receives a message like:
.. code-block::
ld: final link failed: Nonrepresentable section on output
These problems are often caused by an outdated ``binutils`` on your
system: bootstrap as described above.
Install Environment Modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to use Spack's generated environment modules, you must have
installed the *Environment Modules* package. On many Linux
distributions, this can be installed from the vendor's repository.
For example: ```yum install environment-modules``
(Fedora/RHEL/CentOS). If your Linux distribution does not have
Environment Modules, you can get it with Spack:
1. Consider using system tcl. If so, add to ``packages.yaml``::
packages:
tcl:
paths:
tcl@8.5: /usr
version: [8.5]
buildable: False
2. Install with::
spack install environment-modules
3. Activate with::
TMP=`tempfile`
echo >$TMP
MODULE_HOME=`spack location -i environment-modules`
MODULE_VERSION=`ls -1 $MODULE_HOME/Modules | head -1`
${MODULE_HOME}/Modules/${MODULE_VERSION}/bin/add.modules <$TMP
cp .bashrc $TMP
echo "MODULE_VERSION=${MODULE_VERSION}" > .bashrc
cat $TMP >>.bashrc
This adds to your ``.bashrc`` (or similar) files, enabling Environment
Modules when you log in. Re-load your .bashrc (or log out and in
again), and then test that the ``module`` command is found with:
module avail
Spack on Cray
-----------------------------
Spack differs slightly when used on a Cray system. The architecture spec
can differentiate between the front-end and back-end processor and operating system.
For example, on Edison at NERSC, the back-end target processor
is \"Ivy Bridge\", so you can specify to use the back-end this way:
.. code-block:: sh
spack install zlib target=ivybridge
You can also use the operating system to build against the back-end:
.. code-block:: sh
spack install zlib os=CNL10
Notice that the name includes both the operating system name and the major
version number concatenated together.
Alternatively, if you want to build something for the front-end,
you can specify the front-end target processor. The processor for a login node
on Edison is \"Sandy bridge\" so we specify on the command line like so:
.. code-block:: sh
spack install zlib target=sandybridge
And the front-end operating system is:
.. code-block:: sh
spack install zlib os=SuSE11
Cray compiler detection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Spack can detect compilers using two methods. For the front-end, we treat
everything the same. The difference lies in back-end compiler detection.
Back-end compiler detection is made via the Tcl module avail command.
Once it detects the compiler it writes the appropriate PrgEnv and compiler
module name to compilers.yaml and sets the paths to each compiler with Cray\'s
compiler wrapper names (i.e. cc, CC, ftn). During build time, Spack will load
the correct PrgEnv and compiler module and will call appropriate wrapper.
The compilers.yaml config file will also differ. There is a
modules section that is filled with the compiler\'s Programming Environment
and module name. On other systems, this field is empty []::
...
- compiler:
modules:
- PrgEnv-intel
- intel/15.0.109
...
As mentioned earlier, the compiler paths will look different on a Cray system.
Since most compilers are invoked using cc, CC and ftn, the paths for each
compiler are replaced with their respective Cray compiler wrapper names::
...
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
...
As opposed to an explicit path to the compiler executable. This allows Spack
to call the Cray compiler wrappers during build time.
For more on compiler configuration, check out :ref:`compiler-config`.
Spack sets the default Cray link type to dynamic, to better match other
other platforms. Individual packages can enable static linking (which is the
default outside of Spack on cray systems) using the -static flag.
Setting defaults and using Cray modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you want to use default compilers for each PrgEnv and also be able
to load cray external modules, you will need to set up a packages.yaml.
Here\'s an example of an external configuration for cray modules:
.. code-block:: yaml
packages:
mpi:
modules:
mpich@7.3.1%gcc@5.2.0 arch=cray_xc-haswell-CNL10: cray-mpich
mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-haswell-CNL10: cray-mpich
This tells Spack that for whatever package that depends on mpi, load the
cray-mpich module into the environment. You can then be able to use whatever
environment variables, libraries, etc, that are brought into the environment
via module load.
You can set the default compiler that Spack can use for each compiler type.
If you want to use the Cray defaults, then set them under *all:* in packages.yaml.
In the compiler field, set the compiler specs in your order of preference.
Whenever you build with that compiler type, Spack will concretize to that version.
Here is an example of a full packages.yaml used at NERSC
.. code-block:: yaml
packages:
mpi:
modules:
mpich@7.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-mpich
mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-SuSE11-ivybridge: cray-mpich
buildable: False
netcdf:
modules:
netcdf@4.3.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-netcdf
netcdf@4.3.3.1%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge: cray-netcdf
buildable: False
hdf5:
modules:
hdf5@1.8.14%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-hdf5
hdf5@1.8.14%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge: cray-hdf5
buildable: False
all:
compiler: [gcc@5.2.0, intel@16.0.0.109]
Here we tell spack that whenever we want to build with gcc use version 5.2.0 or
if we want to build with intel compilers, use version 16.0.0.109. We add a spec
for each compiler type for each cray modules. This ensures that for each
compiler on our system we can use that external module.
For more on external packages check out the section :ref:`sec-external_packages`.

View File

@@ -18,18 +18,18 @@ configurations can coexist on the same system.
Most importantly, Spack is *simple*. It offers a simple *spec* syntax
so that users can specify versions and configuration options
concisely. Spack is also simple for package authors: package files
are writtin in pure Python, and specs allow package authors to write a
single build script for many different builds of the same package.
are written in pure Python, and specs allow package authors to
maintain a single file for many different builds of the same package.
See the :doc:`features` for examples and highlights.
Get spack from the `github repository
<https://github.com/scalability-llnl/spack>`_ and install your first
<https://github.com/llnl/spack>`_ and install your first
package:
.. code-block:: sh
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/llnl/spack.git
$ cd spack/bin
$ ./spack install libelf
@@ -46,9 +46,11 @@ Table of Contents
getting_started
basic_usage
packaging_guide
application_developer_support
mirrors
site_configuration
configuration
developer_guide
case_studies
command_index
package_list
API Docs <spack>

View File

@@ -38,7 +38,7 @@ contains tarballs for each package, named after each package.
.. note::
Archives are **not** named exactly they were in the package's fetch
Archives are **not** named exactly the way they were in the package's fetch
URL. They have the form ``<name>-<version>.<extension>``, where
``<name>`` is Spack's name for the package, ``<version>`` is the
version of the tarball, and ``<extension>`` is whatever format the
@@ -186,7 +186,7 @@ Each mirror has a name so that you can refer to it again later.
``spack mirror list``
----------------------------
If you want to see all the mirrors Spack knows about you can run ``spack mirror list``::
To see all the mirrors Spack knows about, run ``spack mirror list``::
$ spack mirror list
local_filesystem file:///Users/gamblin2/spack-mirror-2014-06-24
@@ -196,7 +196,7 @@ If you want to see all the mirrors Spack knows about you can run ``spack mirror
``spack mirror remove``
----------------------------
And, if you want to remove a mirror, just remove it by name::
To remove a mirror by name::
$ spack mirror remove local_filesystem
$ spack mirror list
@@ -205,13 +205,30 @@ And, if you want to remove a mirror, just remove it by name::
Mirror precedence
----------------------------
Adding a mirror really just adds a section in ``~/.spackconfig``::
Adding a mirror really adds a line in ``~/.spack/mirrors.yaml``::
[mirror "local_filesystem"]
url = file:///Users/gamblin2/spack-mirror-2014-06-24
[mirror "remote_server"]
url = https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
mirrors:
local_filesystem: file:///Users/gamblin2/spack-mirror-2014-06-24
remote_server: https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
If you want to change the order in which mirrors are searched for
packages, you can edit this file and reorder the sections. Spack will
search the topmost mirror first and the bottom-most mirror last.
.. _caching:
Local Default Cache
----------------------------
Spack caches resources that are downloaded as part of installs. The cache is
a valid spack mirror: it uses the same directory structure and naming scheme
as other Spack mirrors (so it can be copied anywhere and referenced with a URL
like other mirrors). The mirror is maintained locally (within the Spack
installation directory) at :file:`var/spack/cache/`. It is always enabled (and
is always searched first when attempting to retrieve files for an installation)
but can be cleared with :ref:`purge <spack-purge>`; the cache directory can also
be deleted manually without issue.
Caching includes retrieved tarball archives and source control repositories, but
only resources with an associated digest or commit ID (e.g. a revision number
for SVN) will be cached.

View File

@@ -36,10 +36,11 @@ Creating & editing packages
``spack create``
~~~~~~~~~~~~~~~~~~~~~
The ``spack create`` command generates a boilerplate package template
from a URL. The URL should point to a tarball or other software
archive. In most cases, ``spack create`` plus a few modifications is
all you need to get a package working.
The ``spack create`` command creates a directory with the package name and
generates a ``package.py`` file with a boilerplate package template from a URL.
The URL should point to a tarball or other software archive. In most cases,
``spack create`` plus a few modifications is all you need to get a package
working.
Here's an example:
@@ -47,12 +48,16 @@ Here's an example:
$ spack create http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz
Spack examines the tarball URL and tries to figure out the name of the
package to be created. It also tries to determine what version strings
look like for this package. Using this information, it will try to
find *additional* versions by spidering the package's webpage. If it
finds multiple versions, Spack prompts you to tell it how many
versions you want to download and checksum:
Spack examines the tarball URL and tries to figure out the name of the package
to be created. Once the name is determined a directory in the appropriate
repository is created with that name. Spack prefers, but does not require, that
names be lower case so the directory name will be lower case when ``spack
create`` generates it. In cases where it is desired to have mixed case or upper
case simply rename the directory. Spack also tries to determine what version
strings look like for this package. Using this information, it will try to find
*additional* versions by spidering the package's webpage. If it finds multiple
versions, Spack prompts you to tell it how many versions you want to download
and checksum:
.. code-block:: sh
@@ -84,7 +89,7 @@ always choose to download just one tarball initially, and run
If it fails entirely, you can get minimal boilerplate by using
:ref:`spack-edit-f`, or you can manually create a directory and
``package.py`` file for the package in ``var/spack/packages``.
``package.py`` file for the package in ``var/spack/repos/builtin/packages``.
.. note::
@@ -203,7 +208,7 @@ edit`` command:
So, if you used ``spack create`` to create a package, then saved and
closed the resulting file, you can get back to it with ``spack edit``.
The ``cmake`` package actually lives in
``$SPACK_ROOT/var/spack/packages/cmake/package.py``, but this provides
``$SPACK_ROOT/var/spack/repos/builtin/packages/cmake/package.py``, but this provides
a much simpler shortcut and saves you the trouble of typing the full
path.
@@ -269,18 +274,18 @@ live in Spack's directory structure. In general, `spack-create`_ and
`spack-edit`_ handle creating package files for you, so you can skip
most of the details here.
``var/spack/packages``
``var/spack/repos/builtin/packages``
~~~~~~~~~~~~~~~~~~~~~~~
A Spack installation directory is structured like a standard UNIX
install prefix (``bin``, ``lib``, ``include``, ``var``, ``opt``,
etc.). Most of the code for Spack lives in ``$SPACK_ROOT/lib/spack``.
Packages themselves live in ``$SPACK_ROOT/var/spack/packages``.
Packages themselves live in ``$SPACK_ROOT/var/spack/repos/builtin/packages``.
If you ``cd`` to that directory, you will see directories for each
package:
.. command-output:: cd $SPACK_ROOT/var/spack/packages; ls -CF
.. command-output:: cd $SPACK_ROOT/var/spack/repos/builtin/packages; ls -CF
:shell:
:ellipsis: 10
@@ -288,7 +293,7 @@ Each directory contains a file called ``package.py``, which is where
all the python code for the package goes. For example, the ``libelf``
package lives in::
$SPACK_ROOT/var/spack/packages/libelf/package.py
$SPACK_ROOT/var/spack/repos/builtin/packages/libelf/package.py
Alongside the ``package.py`` file, a package may contain extra
directories or files (like patches) that it needs to build.
@@ -297,11 +302,12 @@ directories or files (like patches) that it needs to build.
Package Names
~~~~~~~~~~~~~~~~~~
Packages are named after the directory containing ``package.py``. So,
``libelf``'s ``package.py`` lives in a directory called ``libelf``.
The ``package.py`` file defines a class called ``Libelf``, which
Packages are named after the directory containing ``package.py``. It is
preferred, but not required, that the directory, and thus the package name, are
lower case. So, ``libelf``'s ``package.py`` lives in a directory called
``libelf``. The ``package.py`` file defines a class called ``Libelf``, which
extends Spack's ``Package`` class. for example, here is
``$SPACK_ROOT/var/spack/packages/libelf/package.py``:
``$SPACK_ROOT/var/spack/repos/builtin/packages/libelf/package.py``:
.. code-block:: python
:linenos:
@@ -328,7 +334,7 @@ these:
$ spack install libelf@0.8.13
Spack sees the package name in the spec and looks for
``libelf/package.py`` in ``var/spack/packages``. Likewise, if you say
``libelf/package.py`` in ``var/spack/repos/builtin/packages``. Likewise, if you say
``spack install py-numpy``, then Spack looks for
``py-numpy/package.py``.
@@ -377,6 +383,8 @@ add a line like this in the package class:
version('8.2.1', '4136d7b4c04df68b686570afa26988ac')
...
Versions should be listed with the newest version first.
Version URLs
~~~~~~~~~~~~~~~~~
@@ -385,8 +393,22 @@ in the package. For example, Spack is smart enough to download
version ``8.2.1.`` of the ``Foo`` package above from
``http://example.com/foo-8.2.1.tar.gz``.
If spack *cannot* extrapolate the URL from the ``url`` field, or if
the package doesn't have a ``url`` field, you can add a URL explicitly
If spack *cannot* extrapolate the URL from the ``url`` field by
default, you can write your own URL generation algorithm in place of
the ``url`` declaration. For example:
.. code-block:: python
:linenos:
class Foo(Package):
version('8.2.1', '4136d7b4c04df68b686570afa26988ac')
...
def url_for_version(self, version):
return 'http://example.com/version_%s/foo-%s.tar.gz' \
% (version, version)
...
If a URL cannot be derived systematically, you can add an explicit URL
for a particular version:
.. code-block:: python
@@ -401,6 +423,35 @@ construct the new one for ``8.2.1``.
When you supply a custom URL for a version, Spack uses that URL
*verbatim* and does not perform extrapolation.
Skipping the expand step
~~~~~~~~~~~~~~~~~~~~~~~~~~
Spack normally expands archives automatically after downloading
them. If you want to skip this step (e.g., for self-extracting
executables and other custom archive types), you can add
``expand=False`` to a ``version`` directive.
.. code-block:: python
version('8.2.1', '4136d7b4c04df68b686570afa26988ac',
url='http://example.com/foo-8.2.1-special-version.tar.gz', expand=False)
When ``expand`` is set to ``False``, Spack sets the current working
directory to the directory containing the downloaded archive before it
calls your ``install`` method. Within ``install``, the path to the
downloaded archive is available as ``self.stage.archive_file``.
Here is an example snippet for packages distributed as self-extracting
archives. The example sets permissions on the downloaded file to make
it executable, then runs it with some arguments.
.. code-block:: python
def install(self, spec, prefix):
set_executable(self.stage.archive_file)
installer = Executable(self.stage.archive_file)
installer('--prefix=%s' % prefix, 'arg1', 'arg2', 'etc.')
Checksums
~~~~~~~~~~~~~~~~~
@@ -417,14 +468,25 @@ to use based on the hash length.
``spack md5``
^^^^^^^^^^^^^^^^^^^^^^
If you have a single file to checksum, you can use the ``spack md5``
command to do it. Here's how you might download an archive and get a
checksum for it:
If you have one or more files to checksum, you can use the ``spack md5``
command to do it:
.. code-block:: sh
$ curl -O http://exmaple.com/foo-8.2.1.tar.gz'
$ spack md5 foo-8.2.1.tar.gz
$ spack md5 foo-8.2.1.tar.gz foo-8.2.2.tar.gz
==> 2 MD5 checksums:
4136d7b4c04df68b686570afa26988ac foo-8.2.1.tar.gz
1586b70a49dfe05da5fcc29ef239dce0 foo-8.2.2.tar.gz
``spack md5`` also accepts one or more URLs and automatically downloads
the files for you:
.. code-block:: sh
$ spack md5 http://example.com/foo-8.2.1.tar.gz
==> Trying to fetch from http://example.com/foo-8.2.1.tar.gz
######################################################################## 100.0%
==> 1 MD5 checksum:
4136d7b4c04df68b686570afa26988ac foo-8.2.1.tar.gz
Doing this for lots of files, or whenever a new package version is
@@ -518,7 +580,7 @@ The package author is responsible for coming up with a sensible name
for each version to be fetched from a repository. For example, if
you're fetching from a tag like ``v1.0``, you might call that ``1.0``.
If you're fetching a nameless git commit or an older subversion
revision, you might give the commit an intuitive name, like ``dev``
revision, you might give the commit an intuitive name, like ``develop``
for a development version, or ``some-fancy-new-feature`` if you want
to be more specific.
@@ -528,6 +590,17 @@ branches move forward over time and you aren't guaranteed to get the
same thing every time you fetch a particular version. Life isn't
always simple, though, so this is not strictly enforced.
When fetching from from the branch corresponding to the development version
(often called ``master``,``trunk`` or ``dev``), it is recommended to
call this version ``develop``. Spack has special treatment for this version so
that ``@develop`` will satisfy dependencies like
``depends_on(abc, when="@x.y.z:")``. In other words, ``@develop`` is
greater than any other version. The rationale is that certain features or
options first appear in the development branch. Therefore if a package author
wants to keep the package on the bleeding edge and provide support for new
features, it is advised to use ``develop`` for such a version which will
greatly simplify writing dependencies and version-related conditionals.
In some future release, Spack may support extrapolating repository
versions as it does for tarball URLs, but currently this is not
supported.
@@ -543,6 +616,7 @@ Git fetching is enabled with the following parameters to ``version``:
* ``tag``: name of a tag to fetch.
* ``branch``: name of a branch to fetch.
* ``commit``: SHA hash (or prefix) of a commit to fetch.
* ``submodules``: Also fetch submodules when checking out this repository.
Only one of ``tag``, ``branch``, or ``commit`` can be used at a time.
@@ -553,7 +627,7 @@ Default branch
class Example(Package):
...
version('dev', git='https://github.com/example-project/example.git')
version('develop', git='https://github.com/example-project/example.git')
This is not recommended, as the contents of the default branch
change over time.
@@ -599,6 +673,17 @@ Commits
could just use the abbreviated commit hash. It's up to the package
author to decide what makes the most sense.
Submodules
You can supply ``submodules=True`` to cause Spack to fetch submodules
along with the repository at fetch time.
.. code-block:: python
version('1.0.1', git='https://github.com/example-project/example.git',
tag='v1.0.1', submdoules=True)
Installing
^^^^^^^^^^^^^^
@@ -626,13 +711,13 @@ Default
.. code-block:: python
version('hg-head', hg='https://jay.grs.rwth-aachen.de/hg/example')
version('develop', hg='https://jay.grs.rwth-aachen.de/hg/example')
Note that this is not recommended; try to fetch a particular
revision instead.
Revisions
Add ``hg`` and ``revision``parameters:
Add ``hg`` and ``revision`` parameters:
.. code-block:: python
@@ -658,7 +743,7 @@ Fetching the head
.. code-block:: python
version('svn-head', svn='https://outreach.scidac.gov/svn/libmonitor/trunk')
version('develop', svn='https://outreach.scidac.gov/svn/libmonitor/trunk')
This is not recommended, as the head will move forward over time.
@@ -668,12 +753,140 @@ Fetching a revision
.. code-block:: python
version('svn-head', svn='https://outreach.scidac.gov/svn/libmonitor/trunk',
version('develop', svn='https://outreach.scidac.gov/svn/libmonitor/trunk',
revision=128)
Subversion branches are handled as part of the directory structure, so
you can check out a branch or tag by changing the ``url``.
Automatic caching of files fetched during installation
------------------------------------------------------
Spack maintains a cache (described :ref:`here <caching>`) which saves files
retrieved during package installations to avoid re-downloading in the case that
a package is installed with a different specification (but the same version) or
reinstalled on account of a change in the hashing scheme.
.. _license:
Licensed software
------------------------------------------
In order to install licensed software, Spack needs to know a few more
details about a package. The following class attributes should be defined.
``license_required``
~~~~~~~~~~~~~~~~~~~~~
Boolean. If set to ``True``, this software requires a license. If set to
``False``, all of the following attributes will be ignored. Defaults to
``False``.
``license_comment``
~~~~~~~~~~~~~~~~~~~~~
String. Contains the symbol used by the license manager to denote a comment.
Defaults to ``#``.
``license_files``
~~~~~~~~~~~~~~~~~~~~~
List of strings. These are files that the software searches for when
looking for a license. All file paths must be relative to the installation
directory. More complex packages like Intel may require multiple
licenses for individual components. Defaults to the empty list.
``license_vars``
~~~~~~~~~~~~~~~~~~~~~
List of strings. Environment variables that can be set to tell the software
where to look for a license if it is not in the usual location. Defaults
to the empty list.
``license_url``
~~~~~~~~~~~~~~~~~~~~~
String. A URL pointing to license setup instructions for the software.
Defaults to the empty string.
For example, let's take a look at the package for the PGI compilers.
.. code-block:: python
# Licensing
license_required = True
license_comment = '#'
license_files = ['license.dat']
license_vars = ['PGROUPD_LICENSE_FILE', 'LM_LICENSE_FILE']
license_url = 'http://www.pgroup.com/doc/pgiinstall.pdf'
As you can see, PGI requires a license. Its license manager, FlexNet, uses
the ``#`` symbol to denote a comment. It expects the license file to be
named ``license.dat`` and to be located directly in the installation prefix.
If you would like the installation file to be located elsewhere, simply set
``PGROUPD_LICENSE_FILE`` or ``LM_LICENSE_FILE`` after installation. For
further instructions on installation and licensing, see the URL provided.
Let's walk through a sample PGI installation to see exactly what Spack is
and isn't capable of. Since PGI does not provide a download URL, it must
be downloaded manually. It can either be added to a mirror or located in
the current directory when ``spack install pgi`` is run. See :ref:`mirrors`
for instructions on setting up a mirror.
After running ``spack install pgi``, the first thing that will happen is
Spack will create a global license file located at
``$SPACK_ROOT/etc/spack/licenses/pgi/license.dat``. It will then open up the
file using the editor set in ``$EDITOR``, or vi if unset. It will look like
this:
.. code-block:: sh
# A license is required to use pgi.
#
# The recommended solution is to store your license key in this global
# license file. After installation, the following symlink(s) will be
# added to point to this file (relative to the installation prefix):
#
# license.dat
#
# Alternatively, use one of the following environment variable(s):
#
# PGROUPD_LICENSE_FILE
# LM_LICENSE_FILE
#
# If you choose to store your license in a non-standard location, you may
# set one of these variable(s) to the full pathname to the license file, or
# port@host if you store your license keys on a dedicated license server.
# You will likely want to set this variable in a module file so that it
# gets loaded every time someone tries to use pgi.
#
# For further information on how to acquire a license, please refer to:
#
# http://www.pgroup.com/doc/pgiinstall.pdf
#
# You may enter your license below.
You can add your license directly to this file, or tell FlexNet to use a
license stored on a separate license server. Here is an example that
points to a license server called licman1:
.. code-block:: sh
SERVER licman1.mcs.anl.gov 00163eb7fba5 27200
USE_SERVER
If your package requires the license to install, you can reference the
location of this global license using ``self.global_license_file``.
After installation, symlinks for all of the files given in
``license_files`` will be created, pointing to this global license.
If you install a different version or variant of the package, Spack
will automatically detect and reuse the already existing global license.
If the software you are trying to package doesn't rely on license files,
Spack will print a warning message, letting the user know that they
need to set an environment variable or pointing them to installation
documentation.
.. _patching:
Patches
@@ -703,7 +916,7 @@ supply is a filename, then the patch needs to live within the spack
source tree. For example, the patch above lives in a directory
structure like this::
$SPACK_ROOT/var/spack/packages/
$SPACK_ROOT/var/spack/repos/builtin/packages/
mvapich2/
package.py
ad_lustre_rwcontig_open_source.patch
@@ -1071,11 +1284,13 @@ just as easily provide a version range:
depends_on("libelf@0.8.2:0.8.4:")
Or a requirement for a particular variant:
Or a requirement for a particular variant or compiler flags:
.. code-block:: python
depends_on("libelf@0.8+debug")
depends_on('libelf debug=True')
depends_on('libelf cppflags="-fPIC")
Both users *and* package authors can use the same spec syntax to refer
to different package configurations. Users use the spec syntax on the
@@ -1083,6 +1298,31 @@ command line to find installed packages or to install packages with
particular constraints, and package authors can use specs to describe
relationships between packages.
Additionally, dependencies may be specified for specific use cases:
.. code-block:: python
depends_on("cmake", type="build")
depends_on("libelf", type=("build", "link"))
depends_on("python", type="run")
The dependency types are:
* **"build"**: made available during the project's build. The package will
be added to ``PATH``, the compiler include paths, and ``PYTHONPATH``.
Other projects which depend on this one will not have these modified
(building project X doesn't need project Y's build dependencies).
* **"link"**: the project is linked to by the project. The package will be
added to the current package's ``rpath``.
* **"run"**: the project is used by the project at runtime. The package will
be added to ``PATH`` and ``PYTHONPATH``.
If not specified, ``type`` is assumed to be ``("build", "link")``. This is the
common case for compiled language usage. Also available are the aliases
``"alldeps"`` for all dependency types and ``"nolink"`` (``("build", "run")``)
for use by dependencies which are not expressed via a linker (e.g., Python or
Lua module loading).
.. _setup-dependent-environment:
``setup_dependent_environment()``
@@ -1187,6 +1427,19 @@ Now, the ``py-numpy`` package can be used as an argument to ``spack
activate``. When it is activated, all the files in its prefix will be
symbolically linked into the prefix of the python package.
Many packages produce Python extensions for *some* variants, but not
others: they should extend ``python`` only if the apropriate
variant(s) are selected. This may be accomplished with conditional
``extends()`` declarations:
.. code-block:: python
class FooLib(Package):
variant('python', default=True, description= \
'Build the Python extension Module')
extends('python', when='+python')
...
Sometimes, certain files in one package will conflict with those in
another, which means they cannot both be activated (symlinked) at the
same time. In this case, you can tell Spack to ignore those files
@@ -1473,21 +1726,21 @@ the user runs ``spack install`` and the time the ``install()`` method
is called. The concretized version of the spec above might look like
this::
mpileaks@2.3%gcc@4.7.3=linux-ppc64
^callpath@1.0%gcc@4.7.3+debug=linux-ppc64
^dyninst@8.1.2%gcc@4.7.3=linux-ppc64
^libdwarf@20130729%gcc@4.7.3=linux-ppc64
^libelf@0.8.11%gcc@4.7.3=linux-ppc64
^mpich@3.0.4%gcc@4.7.3=linux-ppc64
mpileaks@2.3%gcc@4.7.3 arch=linux-debian7-x86_64
^callpath@1.0%gcc@4.7.3+debug arch=linux-debian7-x86_64
^dyninst@8.1.2%gcc@4.7.3 arch=linux-debian7-x86_64
^libdwarf@20130729%gcc@4.7.3 arch=linux-debian7-x86_64
^libelf@0.8.11%gcc@4.7.3 arch=linux-debian7-x86_64
^mpich@3.0.4%gcc@4.7.3 arch=linux-debian7-x86_64
.. graphviz::
digraph {
"mpileaks@2.3\n%gcc@4.7.3\n=linux-ppc64" -> "mpich@3.0.4\n%gcc@4.7.3\n=linux-ppc64"
"mpileaks@2.3\n%gcc@4.7.3\n=linux-ppc64" -> "callpath@1.0\n%gcc@4.7.3+debug\n=linux-ppc64" -> "mpich@3.0.4\n%gcc@4.7.3\n=linux-ppc64"
"callpath@1.0\n%gcc@4.7.3+debug\n=linux-ppc64" -> "dyninst@8.1.2\n%gcc@4.7.3\n=linux-ppc64"
"dyninst@8.1.2\n%gcc@4.7.3\n=linux-ppc64" -> "libdwarf@20130729\n%gcc@4.7.3\n=linux-ppc64" -> "libelf@0.8.11\n%gcc@4.7.3\n=linux-ppc64"
"dyninst@8.1.2\n%gcc@4.7.3\n=linux-ppc64" -> "libelf@0.8.11\n%gcc@4.7.3\n=linux-ppc64"
"mpileaks@2.3\n%gcc@4.7.3\n arch=linux-debian7-x86_64" -> "mpich@3.0.4\n%gcc@4.7.3\n arch=linux-debian7-x86_64"
"mpileaks@2.3\n%gcc@4.7.3\n arch=linux-debian7-x86_64" -> "callpath@1.0\n%gcc@4.7.3+debug\n arch=linux-debian7-x86_64" -> "mpich@3.0.4\n%gcc@4.7.3\n arch=linux-debian7-x86_64"
"callpath@1.0\n%gcc@4.7.3+debug\n arch=linux-debian7-x86_64" -> "dyninst@8.1.2\n%gcc@4.7.3\n arch=linux-debian7-x86_64"
"dyninst@8.1.2\n%gcc@4.7.3\n arch=linux-debian7-x86_64" -> "libdwarf@20130729\n%gcc@4.7.3\n arch=linux-debian7-x86_64" -> "libelf@0.8.11\n%gcc@4.7.3\n arch=linux-debian7-x86_64"
"dyninst@8.1.2\n%gcc@4.7.3\n arch=linux-debian7-x86_64" -> "libelf@0.8.11\n%gcc@4.7.3\n arch=linux-debian7-x86_64"
}
Here, all versions, compilers, and platforms are filled in, and there
@@ -1498,8 +1751,8 @@ point will Spack call the ``install()`` method for your package.
Concretization in Spack is based on certain selection policies that
tell Spack how to select, e.g., a version, when one is not specified
explicitly. Concretization policies are discussed in more detail in
:ref:`site-configuration`. Sites using Spack can customize them to
match the preferences of their own users.
:ref:`configuration`. Sites using Spack can customize them to match
the preferences of their own users.
.. _spack-spec:
@@ -1516,14 +1769,25 @@ running ``spack spec``. For example:
^libdwarf
^libelf
dyninst@8.0.1%gcc@4.7.3=linux-ppc64
^libdwarf@20130729%gcc@4.7.3=linux-ppc64
^libelf@0.8.13%gcc@4.7.3=linux-ppc64
dyninst@8.0.1%gcc@4.7.3 arch=linux-debian7-x86_64
^libdwarf@20130729%gcc@4.7.3 arch=linux-debian7-x86_64
^libelf@0.8.13%gcc@4.7.3 arch=linux-debian7-x86_64
This is useful when you want to know exactly what Spack will do when
you ask for a particular spec.
``Concretization Policies``
~~~~~~~~~~~~~~~~~~~~~~~~~~~
A user may have certain preferences for how packages should
be concretized on their system. For example, one user may prefer packages
built with OpenMPI and the Intel compiler. Another user may prefer
packages be built with MVAPICH and GCC.
See the `documentation in the config section <concretization-preferences_>`_
for more details.
.. _install-method:
Implementing the ``install`` method
@@ -1533,7 +1797,7 @@ The last element of a package is its ``install()`` method. This is
where the real work of installation happens, and it's the main part of
the package you'll need to customize for each piece of software.
.. literalinclude:: ../../../var/spack/packages/libelf/package.py
.. literalinclude:: ../../../var/spack/repos/builtin/packages/libelf/package.py
:start-after: 0.8.12
:linenos:
@@ -1681,7 +1945,7 @@ discover its dependencies.
If you want to see the environment that a package will build with, or
if you want to run commands in that environment to test them out, you
can use the :ref:```spack env`` <spack-env>` command, documented
can use the :ref:`spack env <spack-env>` command, documented
below.
.. _compiler-wrappers:
@@ -1711,15 +1975,15 @@ Compile-time library search paths
* ``-L$dep_prefix/lib``
* ``-L$dep_prefix/lib64``
Runtime library search paths (RPATHs)
* ``-Wl,-rpath=$dep_prefix/lib``
* ``-Wl,-rpath=$dep_prefix/lib64``
* ``$rpath_flag$dep_prefix/lib``
* ``$rpath_flag$dep_prefix/lib64``
Include search paths
* ``-I$dep_prefix/include``
An example of this would be the ``libdwarf`` build, which has one
dependency: ``libelf``. Every call to ``cc`` in the ``libdwarf``
build will have ``-I$LIBELF_PREFIX/include``,
``-L$LIBELF_PREFIX/lib``, and ``-Wl,-rpath=$LIBELF_PREFIX/lib``
``-L$LIBELF_PREFIX/lib``, and ``$rpath_flag$LIBELF_PREFIX/lib``
inserted on the command line. This is done transparently to the
project's build system, which will just think it's using a system
where ``libelf`` is readily available. Because of this, you **do
@@ -1739,6 +2003,67 @@ successfully find ``libdwarf.h`` and ``libdwarf.so``, without the
packager having to provide ``--with-libdwarf=/path/to/libdwarf`` on
the command line.
.. note::
For most compilers, ``$rpath_flag`` is ``-Wl,-rpath,``. However, NAG
passes its flags to GCC instead of passing them directly to the linker.
Therefore, its ``$rpath_flag`` is doubly wrapped: ``-Wl,-Wl,,-rpath,``.
``$rpath_flag`` can be overriden on a compiler specific basis in
``lib/spack/spack/compilers/$compiler.py``.
The compiler wrappers also pass the compiler flags specified by the user from
the command line (``cflags``, ``cxxflags``, ``fflags``, ``cppflags``, ``ldflags``,
and/or ``ldlibs``). They do not override the canonical autotools flags with the
same names (but in ALL-CAPS) that may be passed into the build by particularly
challenging package scripts.
Compiler flags
~~~~~~~~~~~~~~
In rare circumstances such as compiling and running small unit tests, a package
developer may need to know what are the appropriate compiler flags to enable
features like ``OpenMP``, ``c++11``, ``c++14`` and alike. To that end the
compiler classes in ``spack`` implement the following _properties_ :
``openmp_flag``, ``cxx11_flag``, ``cxx14_flag``, which can be accessed in a
package by ``self.compiler.cxx11_flag`` and alike. Note that the implementation
is such that if a given compiler version does not support this feature, an
error will be produced. Therefore package developers can also use these properties
to assert that a compiler supports the requested feature. This is handy when a
package supports additional variants like
.. code-block:: python
variant('openmp', default=True, description="Enable OpenMP support.")
Message Parsing Interface (MPI)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is common for high performance computing software/packages to use ``MPI``.
As a result of conretization, a given package can be built using different
implementations of MPI such as ``Openmpi``, ``MPICH`` or ``IntelMPI``.
In some scenarios to configure a package one have to provide it with appropriate MPI
compiler wrappers such as ``mpicc``, ``mpic++``.
However different implementations of ``MPI`` may have different names for those
wrappers. In order to make package's ``install()`` method indifferent to the
choice ``MPI`` implementation, each package which implements ``MPI`` sets up
``self.spec.mpicc``, ``self.spec.mpicxx``, ``self.spec.mpifc`` and ``self.spec.mpif77``
to point to ``C``, ``C++``, ``Fortran 90`` and ``Fortran 77`` ``MPI`` wrappers.
Package developers are advised to use these variables, for example ``self.spec['mpi'].mpicc``
instead of hard-coding ``join_path(self.spec['mpi'].prefix.bin, 'mpicc')`` for
the reasons outlined above.
Blas and Lapack libraries
~~~~~~~~~~~~~~~~~~~~~~~~~
Different packages provide implementation of ``Blas`` and ``Lapack`` routines.
The names of the resulting static and/or shared libraries differ from package
to package. In order to make ``install()`` method indifferent to the
choice of ``Blas`` implementation, each package which provides it
sets up ``self.spec.blas_shared_lib`` and ``self.spec.blas_static_lib `` to
point to the shared and static ``Blas`` libraries, respectively. The same
applies to packages which provide ``Lapack``. Package developers are advised to
use these variables, for example ``spec['blas'].blas_shared_lib`` instead of
hard-coding ``join_path(spec['blas'].prefix.lib, 'libopenblas.so')``.
Forking ``install()``
~~~~~~~~~~~~~~~~~~~~~
@@ -1752,6 +2077,20 @@ dedicated process.
.. _prefix-objects:
Failing the build
----------------------
Sometimes you don't want a package to successfully install unless some
condition is true. You can explicitly cause the build to fail from
``install()`` by raising an ``InstallError``, for example:
.. code-block:: python
if spec.architecture.startswith('darwin'):
raise InstallError('This package does not build on Mac OS X!')
Prefix objects
----------------------
@@ -1937,12 +2276,12 @@ example:
def install(self, prefix):
# Do default install
@when('=chaos_5_x86_64_ib')
@when('arch=linux-debian7-x86_64')
def install(self, prefix):
# This will be executed instead of the default install if
# the package's sys_type() is chaos_5_x86_64_ib.
@when('=bgqos_0")
@when('arch=linux-debian7-x86_64")
def install(self, prefix):
# This will be executed if the package's sys_type is bgqos_0
@@ -2068,6 +2407,62 @@ package, this allows us to avoid race conditions in the library's
build system.
.. _sanity-checks:
Sanity checking an installation
--------------------------------
By default, Spack assumes that a build has failed if nothing is
written to the install prefix, and that it has succeeded if anything
(a file, a directory, etc.) is written to the install prefix after
``install()`` completes.
Consider a simple autotools build like this:
.. code-block:: python
def install(self, spec, prefix):
configure("--prefix=" + prefix)
make()
make("install")
If you are using using standard autotools or CMake, ``configure`` and
``make`` will not write anything to the install prefix. Only ``make
install`` writes the files, and only once the build is already
complete. Not all builds are like this. Many builds of scientific
software modify the install prefix *before* ``make install``. Builds
like this can falsely report that they were successfully installed if
an error occurs before the install is complete but after files have
been written to the ``prefix``.
``sanity_check_is_file`` and ``sanity_check_is_dir``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can optionally specify *sanity checks* to deal with this problem.
Add properties like this to your package:
.. code-block:: python
class MyPackage(Package):
...
sanity_check_is_file = ['include/libelf.h']
sanity_check_is_dir = [lib]
def install(self, spec, prefix):
configure("--prefix=" + prefix)
make()
make("install")
Now, after ``install()`` runs, Spack will check whether
``$prefix/include/libelf.h`` exists and is a file, and whether
``$prefix/lib`` exists and is a directory. If the checks fail, then
the build will fail and the install prefix will be removed. If they
succeed, Spack considers the build succeeful and keeps the prefix in
place.
.. _file-manipulation:
File manipulation functions
@@ -2108,6 +2503,15 @@ Filtering functions
Examples:
#. Filtering a Makefile to force it to use Spack's compiler wrappers:
.. code-block:: python
filter_file(r'^CC\s*=.*', spack_cc, 'Makefile')
filter_file(r'^CXX\s*=.*', spack_cxx, 'Makefile')
filter_file(r'^F77\s*=.*', spack_f77, 'Makefile')
filter_file(r'^FC\s*=.*', spack_fc, 'Makefile')
#. Replacing ``#!/usr/bin/perl`` with ``#!/usr/bin/env perl`` in ``bib2xhtml``:
.. code-block:: python
@@ -2221,6 +2625,59 @@ File functions
.. _package-lifecycle:
Coding Style Guidelines
---------------------------
The following guidelines are provided, in the interests of making
Spack packages work in a consistent manner:
Variant Names
~~~~~~~~~~~~~~
Spack packages with variants similar to already-existing Spack
packages should use the same name for their variants. Standard
variant names are:
======= ======== ========================
Name Default Description
======= ======== ========================
shared True Build shared libraries
static Build static libraries
mpi Use MPI
python Build Python extension
======= ======== ========================
If specified in this table, the corresponding default should be used
when declaring a variant.
Version Lists
~~~~~~~~~~~~~~
Spack packges should list supported versions with the newest first.
Special Versions
~~~~~~~~~~~~~~~~~
The following *special* version names may be used when building a package:
* *@system*: Indicates a hook to the OS-installed version of the
package. This is useful, for example, to tell Spack to use the
OS-installed version in ``packages.yaml``::
openssl:
paths:
openssl@system: /usr
buildable: False
Certain Spack internals look for the *@system* version and do
appropriate things in that case.
* *@local*: Indicates the version was built manually from some source
tree of unknown provenance (see ``spack setup``).
Packaging workflow commands
---------------------------------
@@ -2315,11 +2772,16 @@ build process will start from scratch.
``spack purge``
~~~~~~~~~~~~~~~~~
Cleans up all of Spack's temporary files. Use this to recover disk
space if temporary files from interrupted or failed installs
accumulate in the staging area. This is equivalent to running ``spack
clean`` for every package you have fetched or staged.
Cleans up all of Spack's temporary and cached files. This can be used to
recover disk space if temporary files from interrupted or failed installs
accumulate in the staging area.
When called with ``--stage`` or ``--all`` (or without arguments, in which case
the default is ``--all``) this removes all staged files; this is equivalent to
running ``spack clean`` for every package you have fetched or staged.
When called with ``--cache`` or ``--all`` this will clear all resources
:ref:`cached <caching>` during installs.
Keeping the stage directory on success
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2467,11 +2929,11 @@ build it:
$ spack stage libelf
==> Trying to fetch from http://www.mr511.de/software/libelf-0.8.13.tar.gz
######################################################################## 100.0%
==> Staging archive: /Users/gamblin2/src/spack/var/spack/stage/libelf@0.8.13%gcc@4.8.3=linux-ppc64/libelf-0.8.13.tar.gz
==> Created stage in /Users/gamblin2/src/spack/var/spack/stage/libelf@0.8.13%gcc@4.8.3=linux-ppc64.
==> Staging archive: /Users/gamblin2/src/spack/var/spack/stage/libelf@0.8.13%gcc@4.8.3 arch=linux-debian7-x86_64/libelf-0.8.13.tar.gz
==> Created stage in /Users/gamblin2/src/spack/var/spack/stage/libelf@0.8.13%gcc@4.8.3 arch=linux-debian7-x86_64.
$ spack cd libelf
$ pwd
/Users/gamblin2/src/spack/var/spack/stage/libelf@0.8.13%gcc@4.8.3=linux-ppc64/libelf-0.8.13
/Users/gamblin2/src/spack/var/spack/stage/libelf@0.8.13%gcc@4.8.3 arch=linux-debian7-x86_64/libelf-0.8.13
``spack cd`` here changed he current working directory to the
directory containing the expanded ``libelf`` source code. There are a
@@ -2536,3 +2998,4 @@ might write:
DWARF_PREFIX = $(spack location -i libdwarf)
CXXFLAGS += -I$DWARF_PREFIX/include
CXXFLAGS += -L$DWARF_PREFIX/lib

View File

@@ -1,186 +0,0 @@
.. _site-configuration:
Site configuration
===================================
.. _temp-space:
Temporary space
----------------------------
.. warning:: Temporary space configuration will be moved to configuration files.
The instructions here are old and refer to ``__init__.py``
By default, Spack will try to do all of its building in temporary
space. There are two main reasons for this. First, Spack is designed
to run out of a user's home directory, and on may systems the home
directory is network mounted and potentially not a very fast
filesystem. We create build stages in a temporary directory to avoid
this. Second, many systems impose quotas on home directories, and
``/tmp`` or similar directories often have more available space. This
helps conserve space for installations in users' home directories.
You can customize temporary directories by editing
``lib/spack/spack/__init__.py``. Specifically, find this part of the file:
.. code-block:: python
# Whether to build in tmp space or directly in the stage_path.
# If this is true, then spack will make stage directories in
# a tmp filesystem, and it will symlink them into stage_path.
use_tmp_stage = True
# Locations to use for staging and building, in order of preference
# Use a %u to add a username to the stage paths here, in case this
# is a shared filesystem. Spack will use the first of these paths
# that it can create.
tmp_dirs = ['/nfs/tmp2/%u/spack-stage',
'/var/tmp/%u/spack-stage',
'/tmp/%u/spack-stage']
The ``use_tmp_stage`` variable controls whether Spack builds
**directly** inside the ``var/spack/`` directory. Normally, Spack
will try to find a temporary directory for a build, then it *symlinks*
that temporary directory into ``var/spack/`` so that you can keep
track of what temporary directories Spack is using.
The ``tmp_dirs`` variable is a list of paths Spack should search when
trying to find a temporary directory. They can optionally contain a
``%u``, which will substitute the current user's name into the path.
The list is searched in order, and Spack will create a temporary stage
in the first directory it finds to which it has write access. Add
more elements to the list to indicate where your own site's temporary
directory is.
.. _concretization-policies:
Concretization policies
----------------------------
When a user asks for a package like ``mpileaks`` to be installed,
Spack has to make decisions like what version should be installed,
what compiler to use, and how its dependencies should be configured.
This process is called *concretization*, and it's covered in detail in
:ref:`its own section <abstract-and-concrete>`.
The default concretization policies are in the
:py:mod:`spack.concretize` module, specifically in the
:py:class:`spack.concretize.DefaultConcretizer` class. These are the
important methods used in the concretization process:
* :py:meth:`concretize_version(self, spec) <spack.concretize.DefaultConcretizer.concretize_version>`
* :py:meth:`concretize_architecture(self, spec) <spack.concretize.DefaultConcretizer.concretize_architecture>`
* :py:meth:`concretize_compiler(self, spec) <spack.concretize.DefaultConcretizer.concretize_compiler>`
* :py:meth:`choose_provider(self, spec, providers) <spack.concretize.DefaultConcretizer.choose_provider>`
The first three take a :py:class:`Spec <spack.spec.Spec>` object and
modify it by adding constraints for the version. For example, if the
input spec had a version range like `1.0:5.0.3`, then the
``concretize_version`` method should set the spec's version to a
*single* version in that range. Likewise, ``concretize_architecture``
selects an architecture when the input spec does not have one, and
``concretize_compiler`` needs to set both a concrete compiler and a
concrete compiler version.
``choose_provider()`` affects how concrete implementations are chosen
based on a virtual dependency spec. The input spec is some virtual
dependency and the ``providers`` index is a :py:class:`ProviderIndex
<spack.packages.ProviderIndex>` object. The ``ProviderIndex`` maps
the virtual spec to specs for possible implementations, and
``choose_provider()`` should simply choose one of these. The
``concretize_*`` methods will be called on the chosen implementation
later, so there is no need to fully concretize the spec when returning
it.
The ``DefaultConcretizer`` is intended to provide sensible defaults
for each policy, but there are certain choices that it can't know
about. For example, one site might prefer ``OpenMPI`` over ``MPICH``,
or another might prefer an old version of some packages. These types
of special cases can be integrated with custom concretizers.
Writing a custom concretizer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To write your own concretizer, you need only subclass
``DefaultConcretizer`` and override the methods you want to change.
For example, you might write a class like this to change *only* the
``concretize_version()`` behavior:
.. code-block:: python
from spack.concretize import DefaultConcretizer
class MyConcretizer(DefaultConcretizer):
def concretize_version(self, spec):
# implement custom logic here.
Once you have written your custom concretizer, you can make Spack use
it by editing ``globals.py``. Find this part of the file:
.. code-block:: python
#
# This controls how things are concretized in spack.
# Replace it with a subclass if you want different
# policies.
#
concretizer = DefaultConcretizer()
Set concretizer to *your own* class instead of the default:
.. code-block:: python
concretizer = MyConcretizer()
The next time you run Spack, your changes should take effect.
Profiling
~~~~~~~~~~~~~~~~~~~~~
Spack has some limited built-in support for profiling, and can report
statistics using standard Python timing tools. To use this feature,
supply ``-p`` to Spack on the command line, before any subcommands.
.. _spack-p:
``spack -p``
^^^^^^^^^^^^^^^^^^
``spack -p`` output looks like this:
.. code-block:: sh
$ spack -p graph dyninst
o dyninst
|\
| |\
| o | libdwarf
|/ /
o | libelf
/
o boost
307670 function calls (305943 primitive calls) in 0.127 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
853 0.021 0.000 0.066 0.000 inspect.py:472(getmodule)
51197 0.011 0.000 0.018 0.000 inspect.py:51(ismodule)
73961 0.010 0.000 0.010 0.000 {isinstance}
1762 0.006 0.000 0.053 0.000 inspect.py:440(getsourcefile)
32075 0.006 0.000 0.006 0.000 {hasattr}
1760 0.004 0.000 0.004 0.000 {posix.stat}
2240 0.004 0.000 0.004 0.000 {posix.lstat}
2602 0.004 0.000 0.011 0.000 inspect.py:398(getfile)
771 0.004 0.000 0.077 0.000 inspect.py:518(findsource)
2656 0.004 0.000 0.004 0.000 {method 'match' of '_sre.SRE_Pattern' objects}
30772 0.003 0.000 0.003 0.000 {method 'get' of 'dict' objects}
...
The bottom of the output shows the top most time consuming functions,
slowest on top. The profiling support is from Python's built-in tool,
`cProfile
<https://docs.python.org/2/library/profile.html#module-cProfile>`_.

View File

@@ -0,0 +1,576 @@
Spack Workflows
===============================
The process of using Spack involves building packages, running
binaries from those packages, and developing software that depends on
those packages. For example, one might use Spack to build the
`netcdf` package, use `spack load` to run the `ncdump` binary, and
finally, write a small C program to read/write a particular NetCDF file.
Spack supports a variety of workflows to suit a variety of situaions
and user preferences, there is no single way to do all these things.
This chapter demonstrates different workflows that have been
developed, pointing out the pros and cons of them.
Definitions
############
First some basic definitions.
Package, Concrete Spec, Installed Package
------------------------------------------
In Spack, a package is an abstract recipe to build one piece of software.
Spack packages may be used to build, in principle, any version of that
software with any set of variants. Examples of packages include
``curl`` and ``zlib``.
A package may be *instantiated* to produce a concrete spec; one
possible realization of a particular package, out of combinatorially
many other realizations. For example, here is a concrete spec
instantiated from ``curl``:
.. code-block:: sh
curl@7.50.1%gcc@5.3.0 arch=linux-SuSE11-x86_64
^openssl@system%gcc@5.3.0 arch=linux-SuSE11-x86_64
^zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
Spack's core concretization algorithm generates concrete specs by
instantiating packages from its repo, based on a set of "hints",
including user input and the ``packages.yaml`` file. This algorithm
may be accessed at any time with the ``spack spec`` command. For
example:
.. code-block:: sh
$ spack spec curl
curl@7.50.1%gcc@5.3.0 arch=linux-SuSE11-x86_64
^openssl@system%gcc@5.3.0 arch=linux-SuSE11-x86_64
^zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
Every time Spack installs a package, that installation corresponds to
a concrete spec. Only a vanishingly small fraction of possible
concrete specs will be installed at any one Spack site.
Consistent Sets
----------------
A set of Spack specs is said to be *consistent* if each package is
only instantiated one way within it --- that is, if two specs in the
set have the same package, then they must also have the same version,
variant, compiler, etc. For example, the following set is consistent:
.. code-block:: sh
curl@7.50.1%gcc@5.3.0 arch=linux-SuSE11-x86_64
^openssl@system%gcc@5.3.0 arch=linux-SuSE11-x86_64
^zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
The following set is not consistent:
.. code-block:: sh
curl@7.50.1%gcc@5.3.0 arch=linux-SuSE11-x86_64
^openssl@system%gcc@5.3.0 arch=linux-SuSE11-x86_64
^zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
zlib@1.2.7%gcc@5.3.0 arch=linux-SuSE11-x86_64
The compatibility of a set of installed packages determines what may
be done with it. It is always possible to ``spack load`` any set of
installed packages, whether or not they are consistent, and run their
binaries from the command line. However, a set of installed packages
can only be linked together in one binary if it is consistent.
If the user produces a series of `spack spec` or `spack load`
commands, in general there is no guarantee of consistency between
them. Spack's concretization procedure guarantees that the results of
any *single* `spack spec` call will be consistent. Therefore, the
best way to ensure a consistent set of specs is to create a Spack
package with dependencies, and then instantiate that package. We will
use this technique below.
Building Packages
##################
Suppose you are tasked with installing a set of software packages on a
system in order to support one application -- both a core application
program, plus software to prepare input and analyze output. The
required software might be summed up as a series of ``spack install``
commands in a script. If needed, this script can always be run again
in the future. For example:
.. code-block::
spack install modele-utils
spack install emacs
spack install ncview
spack install nco
spack install modele-control
spack install py-numpy
In most cases, this script will not correctly install software
according to your specific needs: choices need to be made for
variants, versions and virtual dependency choices may be needed. It
*is* possible to specify these choices by extending specs on the
command line; however, the same choices must be specified repeatedly.
For example, if you wish to use ``openmpi`` to satisfy the ``mpi``
dependency, then ``^openmpi`` will have to appear on *every* ``spack
install`` line that uses MPI. It can get repetitve fast.
Custimizing Spack installation options is easier to do in the
``~/.spack/packages.yaml`` file. In this file, you can specify
preferred versions and variants to use for packages. For exmaple:
.. code-block:: yaml
packages:
python:
version: [3.5.1]
modele-utils:
version: [cmake]
everytrace:
version: [develop]
eigen:
variants: ~suitesparse
netcdf:
variants: +mpi
all:
compiler: [gcc@5.3.0]
providers:
mpi: [openmpi]
blas: [openblas]
lapack: [openblas]
This approach will work as long as you are building packages for just
one application.
Multiple Applications
-----------------------
Suppose instead you're building multiple inconsistent applications.
For example, users want package A to be built with ``openmpi`` and
package B with ``mpich`` --- but still share many other lower-level
dependencies. In this case, a single ``packages.yaml`` file will not
work. Plans are to implement *per-project* ``packages.yaml`` files.
In the meantime, one could write shell scripts to switch
``packages.yaml`` between multiple versions as needed, using symlinks.
Combinatorial Sets
--------------------------
Suppose that you are now tasked with systematically building many
incompatible versions of packages. For example, you need to build
``petsc`` 9 times for 3 different MPI implementations on 3 different
compilers, in order to support user needs. In this case, you will
need to either create 9 different ``packages.yaml`` files; or more
likely, create 9 different ``spack install`` command lines with the
correct options in the spec.
Loading Packages
#################
Once Spack packages have been built, the next step is to use them. As
with buiding packages, there are many ways to use them, depending on
the use case.
Simple Loads
--------------
Suppose that Spack has been used to install a set of command-line
programs, which users now wish to use. One can in principle put a
number of ``spack load`` commands into ``.bashrc``, for example:
.. code-block::
spack load modele-utils
spack load emacs
spack load ncview
spack load nco
spack load modele-control
Although simple load scripts like this are useful in many cases, the
have some drawbacks:
1. The set of modules loaded by them will in general not be
consistent. They are a decent way to load commands to be called
from command shells. See below for better ways to assemble a
consistent set of packages for building application programs.
2. The ``spack spec`` and ``spack install`` commands use a
sophisticated concretization algorithm that chooses the "best"
among several options, taking into account ``packages.yaml`` file.
The ``spack load`` and ``spack module loads`` commands, on the
other thand, are not very smart: if the user-supplied spec matches
more than one installed package, then ``spack module loads`` will
fail. This may change in the future. For now, the workaround is to
be more specific on any ``spack module loads`` lines that fail.
Cached Simple Loads
----------------------
Anoter problem with using `spack load` is, it is slow; a typical user
environment could take several seconds to load, and would not be
appropriate to put into ``.bashrc`` directly. It is preferable to use
a series of ``spack module loads`` commands to pre-compute which
modules to load. These can be put in a script that is run whenever
installed Spack packages change. For example:
.. code-block:: sh
#!/bin/sh
#
# Generate module load commands in ~/env/spackenv
cat <<EOF | /bin/sh >$HOME/env/spackenv
FIND='spack module loads --prefix linux-SuSE11-x86_64/'
\$FIND modele-utils
\$FIND emacs
\$FIND ncview
\$FIND nco
\$FIND modele-control
EOF
The output of this file is written in ``~/env/spackenv``:
.. code-block:: sh
# binutils@2.25%gcc@5.3.0+gold~krellpatch~libiberty arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/binutils-2.25-gcc-5.3.0-6w5d2t4
# python@2.7.12%gcc@5.3.0~tk~ucs4 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/python-2.7.12-gcc-5.3.0-2azoju2
# ncview@2.1.7%gcc@5.3.0 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/ncview-2.1.7-gcc-5.3.0-uw3knq2
# nco@4.5.5%gcc@5.3.0 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/nco-4.5.5-gcc-5.3.0-7aqmimu
# modele-control@develop%gcc@5.3.0 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/modele-control-develop-gcc-5.3.0-7rddsij
# zlib@1.2.8%gcc@5.3.0 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/zlib-1.2.8-gcc-5.3.0-fe5onbi
# curl@7.50.1%gcc@5.3.0 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/curl-7.50.1-gcc-5.3.0-4vlev55
# hdf5@1.10.0-patch1%gcc@5.3.0+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/hdf5-1.10.0-patch1-gcc-5.3.0-pwnsr4w
# netcdf@4.4.1%gcc@5.3.0~hdf4+mpi arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/netcdf-4.4.1-gcc-5.3.0-rl5canv
# netcdf-fortran@4.4.4%gcc@5.3.0 arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/netcdf-fortran-4.4.4-gcc-5.3.0-stdk2xq
# modele-utils@cmake%gcc@5.3.0+aux+diags+ic arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/modele-utils-cmake-gcc-5.3.0-idyjul5
# everytrace@develop%gcc@5.3.0+fortran+mpi arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/everytrace-develop-gcc-5.3.0-p5wmb25
Users may now put ``source ~/env/spackenv`` into ``.bashrc``.
.. note ::
Some module systems put a prefix on the names of modules created
by Spack. For example, that prefix is ``linux-SuSE11-x86_64/`` in
the above case. If a prefix is not needed, you may omit the
``--prefix`` flag from ``spack module loads``.
Transitive Dependencies
---------------------------
In the script above, each ``spack module loads`` command generates a
*single* ``module load`` line. Transitive dependencies do not usually
need to be load, only modules the user needs in in ``$PATH``. This is
because Spack builds binaries with RPATH. Spack's RPATH policy has
some nice features:
1. Modules for multiple inconsistent applications may be loaded
simultaneously. In the above example (Multiple Applications),
package A and package B can coexist together in the user's $PATH,
even though they use different MPIs.
2. RPATH eliminates a whole class of strange errors that can happen
in non-RPATH binaries when the wrong ``LD_LIBRARY_PATH`` is
loaded.
3. Recursive module systems such as LMod are not necessary.
4. Modules are not needed at all to execute binaries. If a path to a
binary is known, it may be executed. For example, the path for a
Spack-built compiler can be given to an IDE without requiring the
IDE to load that compiler's module.
Unfortunately, Spacks' RPATH support does not work in all case. For example:
1. Software comes in many forms --- not just compiled ELF binaries,
but also as interpreted code in Python, R, JVM bytecode, etc.
Those systems almost universally use an environment variable
analogous to ``LD_LIBRARY_PATH`` to dynamically load libraries.
2. Although Spack generally builds binaries with RPATH, it does not
currently do so for compiled Python extensions (for example,
``py-numpy``). Any libraries that these extensions depend on
(``openblas`` in this case, for example) must be specified in the
``LD_LIBRARY_PATH``.`
3. In some cases, Spack-generated binaries end up without a
functional RPATH for no discernable reason.
In cases where RPATH support doesn't make things "just work," it can
be necessary to load a module's dependencies as well as the module
itself. This is done by adding the ``--dependencies`` flag to the
``spack module loads`` command. For example, the following line,
added to the script above, would be used to load Numpy, along with
core Python, Setup TOols and a number of other packages:
.. code-block:: sh
\$FIND --dependencies py-numpy
Extension Packages
---------------------
Extensions (::ref:`packaging_extension` section) may be used as as an
alternative to loading Python packages directly. If extensions are
activated, then ``spack load python`` will also load all the
extensions activated for the given ``python``. However, Spack
extensions have two potential drawbacks:
1. Activated packages that involve compiled C extensions may still
need their dependencies to be loaded manually. For example,
``spack load openblas`` might be required to make ``py-numpy``
work.
2. Extensions "break" a core feature of Spack, which is that multiple
versions of a package can co-exist side-by-side. For example,
suppose you wish to run a Python in two different environments but
the same basic Python --- one with ``py-numpy@1.7`` and one with
``py-numpy@1.8``. Spack extensions will not support this potential
debugging use case.
Filesystem Views
-------------------------------
The above
.. Maybe this is not the right location for this documentation.
The Spack installation area allows for many package installation trees
to coexist and gives the user choices as to what versions and variants
of packages to use. To use them, the user must rely on a way to
aggregate a subset of those packages. The section on Environment
Modules gives one good way to do that which relies on setting various
environment variables. An alternative way to aggregate is through
**filesystem views**.
A filesystem view is a single directory tree which is the union of the
directory hierarchies of the individual package installation trees
that have been included. The files of the view's installed packages
are brought into the view by symbolic or hard links back to their
location in the original Spack installation area. As the view is
formed, any clashes due to a file having the exact same path in its
package installation tree are handled in a first-come-first-served
basis and a warning is printed. Packages and their dependencies can
be both added and removed. During removal, empty directories will be
purged. These operations can be limited to pertain to just the
packages listed by the user or to exclude specific dependencies and
they allow for software installed outside of Spack to coexist inside
the filesystem view tree.
By its nature, a filesystem view represents a particular choice of one
set of packages among all the versions and variants that are available
in the Spack installation area. It is thus equivalent to the
directory hiearchy that might exist under ``/usr/local``. While this
limits a view to including only one version/variant of any package, it
provides the benefits of having a simpler and traditional layout which
may be used without any particular knowledge that its packages were
built by Spack.
Views can be used for a variety of purposes including:
- A central installation in a traditional layout, eg ``/usr/local`` maintained over time by the sysadmin.
- A self-contained installation area which may for the basis of a top-level atomic versioning scheme, eg ``/opt/pro`` vs ``/opt/dev``.
- Providing an atomic and monolithic binary distribution, eg for delivery as a single tarball.
- Producing ephemeral testing or developing environments.
Using Filesystem Views
~~~~~~~~~~~~~~~~~~~~~~
A filesystem view is created and packages are linked in by the ``spack
view`` command's ``symlink`` and ``hardlink`` sub-commands. The
``spack view remove`` command can be used to unlink some or all of the
filesystem view.
The following example creates a filesystem view based
on an installed ``cmake`` package and then removes from the view the
files in the ``cmake`` package while retaining its dependencies.
.. code-block:: sh
$ spack view -v symlink myview cmake@3.5.2
==> Linking package: "ncurses"
==> Linking package: "zlib"
==> Linking package: "openssl"
==> Linking package: "cmake"
$ ls myview/
bin doc etc include lib share
$ ls myview/bin/
captoinfo clear cpack ctest infotocap openssl tabs toe tset
ccmake cmake c_rehash infocmp ncurses6-config reset tic tput
$ spack view -v -d false rm myview cmake@3.5.2
==> Removing package: "cmake"
$ ls myview/bin/
captoinfo c_rehash infotocap openssl tabs toe tset
clear infocmp ncurses6-config reset tic tput
Limitations of Filesystem Views
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes some limitations that should be considered in
using filesystems views.
Filesystem views are merely organizational. The binary executable
programs, shared libraries and other build products found in a view
are mere links into the "real" Spack installation area. If a view is
built with symbolic links it requires the Spack-installed package to
be kept in place. Building a view with hardlinks removes this
requirement but any internal paths (eg, rpath or ``#!`` interpreter
specifications) will still require the Spack-installed package files
to be in place.
.. FIXME: reference the relocation work of Hegner and Gartung.
As described above, when a view is built only a single instance of a
file may exist in the unified filesystem tree. If more than one
package provides a file at the same path (relative to its own root)
then it is the first package added to the view that "wins". A warning
is printed and it is up to the user to determine if the conflict
matters.
It is up to the user to assure a consistent view is produced. In
particular if the user excludes packages, limits the following of
dependencies or removes packages the view may become inconsistent. In
particular, if two packages require the same sub-tree of dependencies,
removing one package (recursively) will remove its dependencies and
leave the other package broken.
Build System Configuration Support
----------------------------------
Imagine a developer creating a CMake-based (or Autotools) project in a local
directory, which depends on libraries A-Z. Once Spack has installed
those dependencies, one would like to run ``cmake`` with appropriate
command line and environment so CMake can find them. The ``spack
setup`` command does this conveniently, producing a CMake
configuration that is essentially the same as how Spack *would have*
configured the project. This can be demonstrated with a usage
example:
.. code-block:: bash
cd myproject
spack setup myproject@local
mkdir build; cd build
../spconfig.py ..
make
make install
Notes:
* Spack must have ``myproject/package.py`` in its repository for
this to work.
* ``spack setup`` produces the executable script ``spconfig.py`` in
the local directory, and also creates the module file for the
package. ``spconfig.py`` is normally run from the user's
out-of-source build directory.
* The version number given to ``spack setup`` is arbitrary, just
like ``spack diy``. ``myproject/package.py`` does not need to
have any valid downloadable versions listed (typical when a
project is new).
* spconfig.py produces a CMake configuration that *does not* use the
Spack wrappers. Any resulting binaries *will not* use RPATH,
unless the user has enabled it. This is recommended for
development purposes, not production.
* ``spconfig.py`` is human readable, and can serve as a developer
reference of what dependencies are being used.
* ``make install`` installs the package into the Spack repository,
where it may be used by other Spack packages.
* CMake-generated makefiles re-run CMake in some circumstances. Use
of ``spconfig.py`` breaks this behavior, requiring the developer
to manually re-run ``spconfig.py`` when a ``CMakeLists.txt`` file
has changed.
CMakePackage
~~~~~~~~~~~~
In order ot enable ``spack setup`` functionality, the author of
``myproject/package.py`` must subclass from ``CMakePackage`` instead
of the standard ``Package`` superclass. Because CMake is
standardized, the packager does not need to tell Spack how to run
``cmake; make; make install``. Instead the packager only needs to
create (optional) methods ``configure_args()`` and ``configure_env()``, which
provide the arguments (as a list) and extra environment variables (as
a dict) to provide to the ``cmake`` command. Usually, these will
translate variant flags into CMake definitions. For example:
.. code-block:: python
def configure_args(self):
spec = self.spec
return [
'-DUSE_EVERYTRACE=%s' % ('YES' if '+everytrace' in spec else 'NO'),
'-DBUILD_PYTHON=%s' % ('YES' if '+python' in spec else 'NO'),
'-DBUILD_GRIDGEN=%s' % ('YES' if '+gridgen' in spec else 'NO'),
'-DBUILD_COUPLER=%s' % ('YES' if '+coupler' in spec else 'NO'),
'-DUSE_PISM=%s' % ('YES' if '+pism' in spec else 'NO')]
If needed, a packager may also override methods defined in
``StagedPackage`` (see below).
StagedPackage
~~~~~~~~~~~~~
``CMakePackage`` is implemented by subclassing the ``StagedPackage``
superclass, which breaks down the standard ``Package.install()``
method into several sub-stages: ``setup``, ``configure``, ``build``
and ``install``. Details:
* Instead of implementing the standard ``install()`` method, package
authors implement the methods for the sub-stages
``install_setup()``, ``install_configure()``,
``install_build()``, and ``install_install()``.
* The ``spack install`` command runs the sub-stages ``configure``,
``build`` and ``install`` in order. (The ``setup`` stage is
not run by default; see below).
* The ``spack setup`` command runs the sub-stages ``setup``
and a dummy install (to create the module file).
* The sub-stage install methods take no arguments (other than
``self``). The arguments ``spec`` and ``prefix`` to the standard
``install()`` method may be accessed via ``self.spec`` and
``self.prefix``.
GNU Autotools
~~~~~~~~~~~~~
The ``setup`` functionality is currently only available for
CMake-based packages. Extending this functionality to GNU
Autotools-based packages would be easy (and should be done by a
developer who actively uses Autotools). Packages that use
non-standard build systems can gain ``setup`` functionality by
subclassing ``StagedPackage`` directly.

403
lib/spack/env/cc vendored
View File

@@ -1,27 +1,27 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License (as published by
# the Free Software Foundation) version 2.1 dated February 1999.
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU General Public License for more details.
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
#
# Spack compiler wrapper script.
@@ -38,19 +38,27 @@
# -Wl,-rpath arguments for dependency /lib directories.
#
# This is the list of environment variables that need to be set before
# the script runs. They are set by routines in spack.build_environment
# This is an array of environment variables that need to be set before
# the script runs. They are set by routines in spack.build_environment
# as part of spack.package.Package.do_install().
parameters="
SPACK_PREFIX
SPACK_ENV_PATH
SPACK_DEBUG_LOG_DIR
SPACK_COMPILER_SPEC
SPACK_SHORT_SPEC"
parameters=(
SPACK_PREFIX
SPACK_ENV_PATH
SPACK_DEBUG_LOG_DIR
SPACK_COMPILER_SPEC
SPACK_CC_RPATH_ARG
SPACK_CXX_RPATH_ARG
SPACK_F77_RPATH_ARG
SPACK_FC_RPATH_ARG
SPACK_SHORT_SPEC
)
# The compiler input variables are checked for sanity later:
# SPACK_CC, SPACK_CXX, SPACK_F77, SPACK_FC
# Debug flag is optional; set to true for debug logging:
# The default compiler flags are passed from these variables:
# SPACK_CFLAGS, SPACK_CXXFLAGS, SPACK_FCFLAGS, SPACK_FFLAGS,
# SPACK_LDFLAGS, SPACK_LDLIBS
# Debug env var is optional; set to true for debug logging:
# SPACK_DEBUG
# Test command is used to unit test the compiler script.
# SPACK_TEST_COMMAND
@@ -64,13 +72,12 @@ function die {
exit 1
}
for param in $parameters; do
if [ -z "${!param}" ]; then
die "Spack compiler must be run from spack! Input $param was missing!"
for param in ${parameters[@]}; do
if [[ -z ${!param} ]]; then
die "Spack compiler must be run from Spack! Input '$param' is missing."
fi
done
#
# Figure out the type of compiler, the language, and the mode so that
# the compiler script knows what to do.
#
@@ -78,33 +85,43 @@ done
# 'command' is set based on the input command to $SPACK_[CC|CXX|F77|F90]
#
# 'mode' is set to one of:
# vcheck version check
# cpp preprocess
# cc compile
# as assemble
# ld link
# ccld compile & link
# cpp preprocessor
# vcheck version check
#
command=$(basename "$0")
comp="CC"
case "$command" in
cc|gcc|c89|c99|clang)
command="$SPACK_CC"
language="C"
;;
c++|CC|g++|clang++)
command="$SPACK_CXX"
language="C++"
;;
f77)
command="$SPACK_F77"
language="Fortran 77"
;;
fc|f90|f95)
command="$SPACK_FC"
language="Fortran 90"
;;
cpp)
mode=cpp
;;
cc|c89|c99|gcc|clang|icc|pgcc|xlc)
command="$SPACK_CC"
language="C"
comp="CC"
lang_flags=C
;;
c++|CC|g++|clang++|icpc|pgc++|xlc++)
command="$SPACK_CXX"
language="C++"
comp="CXX"
lang_flags=CXX
;;
ftn|f90|fc|f95|gfortran|ifort|pgfortran|xlf90|nagfor)
command="$SPACK_FC"
language="Fortran 90"
comp="FC"
lang_flags=F
;;
f77|gfortran|ifort|pgfortran|xlf|nagfor|ftn)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
lang_flags=F
;;
ld)
mode=ld
;;
@@ -113,179 +130,177 @@ case "$command" in
;;
esac
# Finish setting up the mode.
if [ -z "$mode" ]; then
mode=ccld
# If any of the arguments below are present, then the mode is vcheck.
# In vcheck mode, nothing is added in terms of extra search paths or
# libraries.
if [[ -z $mode ]]; then
for arg in "$@"; do
if [ "$arg" = -v -o "$arg" = -V -o "$arg" = --version -o "$arg" = -dumpversion ]; then
if [[ $arg == -v || $arg == -V || $arg == --version || $arg == -dumpversion ]]; then
mode=vcheck
break
elif [ "$arg" = -E ]; then
fi
done
fi
# Finish setting up the mode.
if [[ -z $mode ]]; then
mode=ccld
for arg in "$@"; do
if [[ $arg == -E ]]; then
mode=cpp
break
elif [ "$arg" = -c ]; then
elif [[ $arg == -S ]]; then
mode=as
break
elif [[ $arg == -c ]]; then
mode=cc
break
fi
done
fi
# Dump the version and exist if we're in testing mode.
if [ "$SPACK_TEST_COMMAND" = "dump-mode" ]; then
# Set up rpath variable according to language.
eval rpath=\$SPACK_${comp}_RPATH_ARG
# Dump the version and exit if we're in testing mode.
if [[ $SPACK_TEST_COMMAND == dump-mode ]]; then
echo "$mode"
exit
fi
# Check that at least one of the real commands was actually selected,
# otherwise we don't know what to execute.
if [ -z "$command" ]; then
if [[ -z $command ]]; then
die "ERROR: Compiler '$SPACK_COMPILER_SPEC' does not support compiling $language programs."
fi
#
# Filter '.' and Spack environment directories out of PATH so that
# this script doesn't just call itself
#
IFS=':' read -ra env_path <<< "$PATH"
IFS=':' read -ra spack_env_dirs <<< "$SPACK_ENV_PATH"
spack_env_dirs+=("" ".")
PATH=""
for dir in "${env_path[@]}"; do
addpath=true
for env_dir in "${spack_env_dirs[@]}"; do
if [[ $dir == $env_dir ]]; then
addpath=false
break
fi
done
if $addpath; then
PATH="${PATH:+$PATH:}$dir"
fi
done
export PATH
if [[ $mode == vcheck ]]; then
exec ${command} "$@"
fi
# Darwin's linker has a -r argument that merges object files together.
# It doesn't work with -rpath.
# This variable controls whether they are added.
add_rpaths=true
if [[ $mode == ld && "$SPACK_SHORT_SPEC" =~ "darwin" ]]; then
for arg in "$@"; do
if [[ $arg == -r ]]; then
add_rpaths=false
break
fi
done
fi
# Save original command for debug logging
input_command="$@"
args=("$@")
#
# Now do real parsing of the command line args, trying hard to keep
# non-rpath linker arguments in the proper order w.r.t. other command
# line arguments. This is important for things like groups.
#
includes=()
libraries=()
libs=()
rpaths=()
other_args=()
# Prepend cppflags, cflags, cxxflags, fcflags, fflags, and ldflags
while [ -n "$1" ]; do
case "$1" in
-I*)
arg="${1#-I}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
includes+=("$arg")
;;
-L*)
arg="${1#-L}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
libraries+=("$arg")
;;
-l*)
arg="${1#-l}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
libs+=("$arg")
;;
-Wl,*)
arg="${1#-Wl,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rpaths+=("${arg#-rpath=}")
elif [[ "$arg" = -rpath ]]; then
shift; arg="$1"
if [[ "$arg" != -Wl,* ]]; then
die "-Wl,-rpath was not followed by -Wl,*"
fi
rpaths+=("${arg#-Wl,}")
else
other_args+=("-Wl,$arg")
fi
;;
-Xlinker,*)
arg="${1#-Xlinker,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rpaths+=("${arg#-rpath=}")
elif [[ "$arg" = -rpath ]]; then
shift; arg="$1"
if [[ "$arg" != -Xlinker,* ]]; then
die "-Xlinker,-rpath was not followed by -Xlinker,*"
fi
rpaths+=("${arg#-Xlinker,}")
else
other_args+=("-Xlinker,$arg")
fi
;;
*)
other_args+=("$1")
;;
esac
shift
done
# Add ldflags
case "$mode" in
ld|ccld)
args=(${SPACK_LDFLAGS[@]} "${args[@]}") ;;
esac
# Dump parsed values for unit testing if asked for
if [ -n "$SPACK_TEST_COMMAND" ]; then
IFS=$'\n'
case "$SPACK_TEST_COMMAND" in
dump-includes) echo "${includes[*]}";;
dump-libraries) echo "${libraries[*]}";;
dump-libs) echo "${libs[*]}";;
dump-rpaths) echo "${rpaths[*]}";;
dump-other-args) echo "${other_args[*]}";;
dump-all)
echo "INCLUDES:"
echo "${includes[*]}"
echo
echo "LIBRARIES:"
echo "${libraries[*]}"
echo
echo "LIBS:"
echo "${libs[*]}"
echo
echo "RPATHS:"
echo "${rpaths[*]}"
echo
echo "ARGS:"
echo "${other_args[*]}"
;;
*)
echo "ERROR: Unknown test command"
exit 1 ;;
esac
exit
fi
# Add compiler flags.
case "$mode" in
cc|ccld)
# Add c, cxx, fc, and f flags
case $lang_flags in
C)
args=(${SPACK_CFLAGS[@]} "${args[@]}") ;;
CXX)
args=(${SPACK_CXXFLAGS[@]} "${args[@]}") ;;
esac
;;
esac
# Add cppflags
case "$mode" in
cpp|as|cc|ccld)
args=(${SPACK_CPPFLAGS[@]} "${args[@]}") ;;
esac
case "$mode" in cc|ccld)
# Add fortran flags
case $lang_flags in
F)
args=(${SPACK_FFLAGS[@]} "${args[@]}") ;;
esac
;;
esac
# Read spack dependencies from the path environment variable
IFS=':' read -ra deps <<< "$SPACK_DEPENDENCIES"
for dep in "${deps[@]}"; do
if [ -d "$dep/include" ]; then
includes+=("$dep/include")
# Prepend include directories
if [[ -d $dep/include ]]; then
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
args=("-I$dep/include" "${args[@]}")
fi
fi
if [ -d "$dep/lib" ]; then
libraries+=("$dep/lib")
rpaths+=("$dep/lib")
# Prepend lib and RPATH directories
if [[ -d $dep/lib ]]; then
if [[ $mode == ccld ]]; then
$add_rpaths && args=("$rpath$dep/lib" "${args[@]}")
args=("-L$dep/lib" "${args[@]}")
elif [[ $mode == ld ]]; then
$add_rpaths && args=("-rpath" "$dep/lib" "${args[@]}")
args=("-L$dep/lib" "${args[@]}")
fi
fi
if [ -d "$dep/lib64" ]; then
libraries+=("$dep/lib64")
rpaths+=("$dep/lib64")
# Prepend lib64 and RPATH directories
if [[ -d $dep/lib64 ]]; then
if [[ $mode == ccld ]]; then
$add_rpaths && args=("$rpath$dep/lib64" "${args[@]}")
args=("-L$dep/lib64" "${args[@]}")
elif [[ $mode == ld ]]; then
$add_rpaths && args=("-rpath" "$dep/lib64" "${args[@]}")
args=("-L$dep/lib64" "${args[@]}")
fi
fi
done
# Include all -L's and prefix/whatever dirs in rpath
for dir in "${libraries[@]}"; do
[ "$dir" != "." ] && rpaths+=("$dir")
done
rpaths+=("$SPACK_PREFIX/lib")
rpaths+=("$SPACK_PREFIX/lib64")
# Put the arguments together
args=()
for dir in "${includes[@]}"; do args+=("-I$dir"); done
args+=("${other_args[@]}")
for dir in "${libraries[@]}"; do args+=("-L$dir"); done
for lib in "${libs[@]}"; do args+=("-l$lib"); done
if [ "$mode" = ccld ]; then
for dir in "${rpaths[@]}"; do
args+=("-Wl,-rpath")
args+=("-Wl,$dir");
done
elif [ "$mode" = ld ]; then
for dir in "${rpaths[@]}"; do
args+=("-rpath")
args+=("$dir");
done
if [[ $mode == ccld ]]; then
$add_rpaths && args=("$rpath$SPACK_PREFIX/lib64" "${args[@]}")
$add_rpaths && args=("$rpath$SPACK_PREFIX/lib" "${args[@]}")
elif [[ $mode == ld ]]; then
$add_rpaths && args=("-rpath" "$SPACK_PREFIX/lib64" "${args[@]}")
$add_rpaths && args=("-rpath" "$SPACK_PREFIX/lib" "${args[@]}")
fi
# Add SPACK_LDLIBS to args
case "$mode" in
ld|ccld)
args=("${args[@]}" ${SPACK_LDLIBS[@]}) ;;
esac
#
# Unset pesky environment variables that could affect build sanity.
#
@@ -293,40 +308,24 @@ unset LD_LIBRARY_PATH
unset LD_RUN_PATH
unset DYLD_LIBRARY_PATH
#
# Filter '.' and Spack environment directories out of PATH so that
# this script doesn't just call itself
#
IFS=':' read -ra env_path <<< "$PATH"
IFS=':' read -ra spack_env_dirs <<< "$SPACK_ENV_PATH"
spack_env_dirs+=(".")
PATH=""
for dir in "${env_path[@]}"; do
remove=""
for rm_dir in "${spack_env_dirs[@]}"; do
if [ "$dir" = "$rm_dir" ]; then remove=True; fi
done
if [ -z "$remove" ]; then
if [ -z "$PATH" ]; then
PATH="$dir"
else
PATH="$PATH:$dir"
fi
fi
done
export PATH
full_command=("$command" "${args[@]}")
full_command=("$command")
full_command+=("${args[@]}")
# In test command mode, write out full command for Spack tests.
if [[ $SPACK_TEST_COMMAND == dump-args ]]; then
echo "${full_command[@]}"
exit
elif [[ -n $SPACK_TEST_COMMAND ]]; then
die "ERROR: Unknown test command"
fi
#
# Write the input and output commands to debug logs if it's asked for.
#
if [ "$SPACK_DEBUG" = "TRUE" ]; then
if [[ $SPACK_DEBUG == TRUE ]]; then
input_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.in.log"
output_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.out.log"
echo "$input_command" >> $input_log
echo "$mode ${full_command[@]}" >> $output_log
echo "[$mode] $command $input_command" >> "$input_log"
echo "[$mode] ${full_command[@]}" >> "$output_log"
fi
exec "${full_command[@]}"

1
lib/spack/env/clang vendored
View File

@@ -1 +0,0 @@
cc

View File

@@ -1 +0,0 @@
cc

1
lib/spack/env/clang/clang vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/clang/clang++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/cray/CC vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/cray/cc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/cray/ftn vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/craype/CC vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/craype/cc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/craype/ftn vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/g++ vendored
View File

@@ -1 +0,0 @@
cc

1
lib/spack/env/gcc vendored
View File

@@ -1 +0,0 @@
cc

1
lib/spack/env/gcc/g++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/gcc/gcc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/gcc/gfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/intel/icc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/intel/icpc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/intel/ifort vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/nag/nagfor vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/pgi/pgc++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/pgi/pgcc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/pgi/pgfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlc++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlf vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlf90 vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

View File

@@ -6,7 +6,7 @@
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
@@ -28,6 +28,11 @@
So far:
argparse: We include our own version to be Python 2.6 compatible.
pyqver2: External script to query required python version of python source code.
Used for ensuring 2.6 compatibility.
pyqver2: External script to query required python version of
python source code. Used for ensuring 2.6 compatibility.
functools: Used for implementation of total_ordering.
yaml: Used for config files.
"""

View File

@@ -1067,9 +1067,13 @@ class _SubParsersAction(Action):
class _ChoicesPseudoAction(Action):
def __init__(self, name, help):
def __init__(self, name, aliases, help):
metavar = dest = name
if aliases:
metavar += ' (%s)' % ', '.join(aliases)
sup = super(_SubParsersAction._ChoicesPseudoAction, self)
sup.__init__(option_strings=[], dest=name, help=help)
sup.__init__(option_strings=[], dest=dest, help=help,
metavar=metavar)
def __init__(self,
option_strings,
@@ -1097,15 +1101,22 @@ def add_parser(self, name, **kwargs):
if kwargs.get('prog') is None:
kwargs['prog'] = '%s %s' % (self._prog_prefix, name)
aliases = kwargs.pop('aliases', ())
# create a pseudo-action to hold the choice help
if 'help' in kwargs:
help = kwargs.pop('help')
choice_action = self._ChoicesPseudoAction(name, help)
choice_action = self._ChoicesPseudoAction(name, aliases, help)
self._choices_actions.append(choice_action)
# create the parser and add it to the map
parser = self._parser_class(**kwargs)
self._name_parser_map[name] = parser
# make parser available under aliases also
for alias in aliases:
self._name_parser_map[alias] = parser
return parser
def _get_subactions(self):
@@ -1123,8 +1134,9 @@ def __call__(self, parser, namespace, values, option_string=None):
try:
parser = self._name_parser_map[parser_name]
except KeyError:
tup = parser_name, ', '.join(self._name_parser_map)
msg = _('unknown parser %r (choices: %s)' % tup)
args = {'parser_name': parser_name,
'choices': ', '.join(self._name_parser_map)}
msg = _('unknown parser %(parser_name)r (choices: %(choices)s)') % args
raise ArgumentError(self, msg)
# parse all the remaining options into the namespace

19
lib/spack/external/jsonschema/COPYING vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) 2013 Julian Berman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

104
lib/spack/external/jsonschema/README.rst vendored Normal file
View File

@@ -0,0 +1,104 @@
==========
jsonschema
==========
``jsonschema`` is an implementation of `JSON Schema <http://json-schema.org>`_
for Python (supporting 2.6+ including Python 3).
.. code-block:: python
>>> from jsonschema import validate
>>> # A sample schema, like what we'd get from json.load()
>>> schema = {
... "type" : "object",
... "properties" : {
... "price" : {"type" : "number"},
... "name" : {"type" : "string"},
... },
... }
>>> # If no exception is raised by validate(), the instance is valid.
>>> validate({"name" : "Eggs", "price" : 34.99}, schema)
>>> validate(
... {"name" : "Eggs", "price" : "Invalid"}, schema
... ) # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
...
ValidationError: 'Invalid' is not of type 'number'
Features
--------
* Full support for
`Draft 3 <https://python-jsonschema.readthedocs.org/en/latest/validate/#jsonschema.Draft3Validator>`_
**and** `Draft 4 <https://python-jsonschema.readthedocs.org/en/latest/validate/#jsonschema.Draft4Validator>`_
of the schema.
* `Lazy validation <https://python-jsonschema.readthedocs.org/en/latest/validate/#jsonschema.IValidator.iter_errors>`_
that can iteratively report *all* validation errors.
* Small and extensible
* `Programmatic querying <https://python-jsonschema.readthedocs.org/en/latest/errors/#module-jsonschema>`_
of which properties or items failed validation.
Release Notes
-------------
* A simple CLI was added for validation
* Validation errors now keep full absolute paths and absolute schema paths in
their ``absolute_path`` and ``absolute_schema_path`` attributes. The ``path``
and ``schema_path`` attributes are deprecated in favor of ``relative_path``
and ``relative_schema_path``\ .
*Note:* Support for Python 3.2 was dropped in this release, and installation
now uses setuptools.
Running the Test Suite
----------------------
``jsonschema`` uses the wonderful `Tox <http://tox.readthedocs.org>`_ for its
test suite. (It really is wonderful, if for some reason you haven't heard of
it, you really should use it for your projects).
Assuming you have ``tox`` installed (perhaps via ``pip install tox`` or your
package manager), just run ``tox`` in the directory of your source checkout to
run ``jsonschema``'s test suite on all of the versions of Python ``jsonschema``
supports. Note that you'll need to have all of those versions installed in
order to run the tests on each of them, otherwise ``tox`` will skip (and fail)
the tests on that version.
Of course you're also free to just run the tests on a single version with your
favorite test runner. The tests live in the ``jsonschema.tests`` package.
Community
---------
There's a `mailing list <https://groups.google.com/forum/#!forum/jsonschema>`_
for this implementation on Google Groups.
Please join, and feel free to send questions there.
Contributing
------------
I'm Julian Berman.
``jsonschema`` is on `GitHub <http://github.com/Julian/jsonschema>`_.
Get in touch, via GitHub or otherwise, if you've got something to contribute,
it'd be most welcome!
You can also generally find me on Freenode (nick: ``tos9``) in various
channels, including ``#python``.
If you feel overwhelmingly grateful, you can woo me with beer money on
`Gittip <https://www.gittip.com/Julian/>`_ or via Google Wallet with the email
in my GitHub profile.

View File

@@ -0,0 +1,26 @@
"""
An implementation of JSON Schema for Python
The main functionality is provided by the validator classes for each of the
supported JSON Schema versions.
Most commonly, :func:`validate` is the quickest way to simply validate a given
instance under a schema, and will create a validator for you.
"""
from jsonschema.exceptions import (
ErrorTree, FormatError, RefResolutionError, SchemaError, ValidationError
)
from jsonschema._format import (
FormatChecker, draft3_format_checker, draft4_format_checker,
)
from jsonschema.validators import (
Draft3Validator, Draft4Validator, RefResolver, validate
)
__version__ = "2.4.0"
# flake8: noqa

View File

@@ -0,0 +1,2 @@
from jsonschema.cli import main
main()

240
lib/spack/external/jsonschema/_format.py vendored Normal file
View File

@@ -0,0 +1,240 @@
import datetime
import re
import socket
from jsonschema.compat import str_types
from jsonschema.exceptions import FormatError
class FormatChecker(object):
"""
A ``format`` property checker.
JSON Schema does not mandate that the ``format`` property actually do any
validation. If validation is desired however, instances of this class can
be hooked into validators to enable format validation.
:class:`FormatChecker` objects always return ``True`` when asked about
formats that they do not know how to validate.
To check a custom format using a function that takes an instance and
returns a ``bool``, use the :meth:`FormatChecker.checks` or
:meth:`FormatChecker.cls_checks` decorators.
:argument iterable formats: the known formats to validate. This argument
can be used to limit which formats will be used
during validation.
"""
checkers = {}
def __init__(self, formats=None):
if formats is None:
self.checkers = self.checkers.copy()
else:
self.checkers = dict((k, self.checkers[k]) for k in formats)
def checks(self, format, raises=()):
"""
Register a decorated function as validating a new format.
:argument str format: the format that the decorated function will check
:argument Exception raises: the exception(s) raised by the decorated
function when an invalid instance is found. The exception object
will be accessible as the :attr:`ValidationError.cause` attribute
of the resulting validation error.
"""
def _checks(func):
self.checkers[format] = (func, raises)
return func
return _checks
cls_checks = classmethod(checks)
def check(self, instance, format):
"""
Check whether the instance conforms to the given format.
:argument instance: the instance to check
:type: any primitive type (str, number, bool)
:argument str format: the format that instance should conform to
:raises: :exc:`FormatError` if instance does not conform to format
"""
if format not in self.checkers:
return
func, raises = self.checkers[format]
result, cause = None, None
try:
result = func(instance)
except raises as e:
cause = e
if not result:
raise FormatError(
"%r is not a %r" % (instance, format), cause=cause,
)
def conforms(self, instance, format):
"""
Check whether the instance conforms to the given format.
:argument instance: the instance to check
:type: any primitive type (str, number, bool)
:argument str format: the format that instance should conform to
:rtype: bool
"""
try:
self.check(instance, format)
except FormatError:
return False
else:
return True
_draft_checkers = {"draft3": [], "draft4": []}
def _checks_drafts(both=None, draft3=None, draft4=None, raises=()):
draft3 = draft3 or both
draft4 = draft4 or both
def wrap(func):
if draft3:
_draft_checkers["draft3"].append(draft3)
func = FormatChecker.cls_checks(draft3, raises)(func)
if draft4:
_draft_checkers["draft4"].append(draft4)
func = FormatChecker.cls_checks(draft4, raises)(func)
return func
return wrap
@_checks_drafts("email")
def is_email(instance):
if not isinstance(instance, str_types):
return True
return "@" in instance
_ipv4_re = re.compile(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")
@_checks_drafts(draft3="ip-address", draft4="ipv4")
def is_ipv4(instance):
if not isinstance(instance, str_types):
return True
if not _ipv4_re.match(instance):
return False
return all(0 <= int(component) <= 255 for component in instance.split("."))
if hasattr(socket, "inet_pton"):
@_checks_drafts("ipv6", raises=socket.error)
def is_ipv6(instance):
if not isinstance(instance, str_types):
return True
return socket.inet_pton(socket.AF_INET6, instance)
_host_name_re = re.compile(r"^[A-Za-z0-9][A-Za-z0-9\.\-]{1,255}$")
@_checks_drafts(draft3="host-name", draft4="hostname")
def is_host_name(instance):
if not isinstance(instance, str_types):
return True
if not _host_name_re.match(instance):
return False
components = instance.split(".")
for component in components:
if len(component) > 63:
return False
return True
try:
import rfc3987
except ImportError:
pass
else:
@_checks_drafts("uri", raises=ValueError)
def is_uri(instance):
if not isinstance(instance, str_types):
return True
return rfc3987.parse(instance, rule="URI")
try:
import strict_rfc3339
except ImportError:
try:
import isodate
except ImportError:
pass
else:
@_checks_drafts("date-time", raises=(ValueError, isodate.ISO8601Error))
def is_date(instance):
if not isinstance(instance, str_types):
return True
return isodate.parse_datetime(instance)
else:
@_checks_drafts("date-time")
def is_date(instance):
if not isinstance(instance, str_types):
return True
return strict_rfc3339.validate_rfc3339(instance)
@_checks_drafts("regex", raises=re.error)
def is_regex(instance):
if not isinstance(instance, str_types):
return True
return re.compile(instance)
@_checks_drafts(draft3="date", raises=ValueError)
def is_date(instance):
if not isinstance(instance, str_types):
return True
return datetime.datetime.strptime(instance, "%Y-%m-%d")
@_checks_drafts(draft3="time", raises=ValueError)
def is_time(instance):
if not isinstance(instance, str_types):
return True
return datetime.datetime.strptime(instance, "%H:%M:%S")
try:
import webcolors
except ImportError:
pass
else:
def is_css_color_code(instance):
return webcolors.normalize_hex(instance)
@_checks_drafts(draft3="color", raises=(ValueError, TypeError))
def is_css21_color(instance):
if (
not isinstance(instance, str_types) or
instance.lower() in webcolors.css21_names_to_hex
):
return True
return is_css_color_code(instance)
def is_css3_color(instance):
if instance.lower() in webcolors.css3_names_to_hex:
return True
return is_css_color_code(instance)
draft3_format_checker = FormatChecker(_draft_checkers["draft3"])
draft4_format_checker = FormatChecker(_draft_checkers["draft4"])

View File

@@ -0,0 +1,155 @@
# -*- test-case-name: twisted.test.test_reflect -*-
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Standardized versions of various cool and/or strange things that you can do
with Python's reflection capabilities.
"""
import sys
from jsonschema.compat import PY3
class _NoModuleFound(Exception):
"""
No module was found because none exists.
"""
class InvalidName(ValueError):
"""
The given name is not a dot-separated list of Python objects.
"""
class ModuleNotFound(InvalidName):
"""
The module associated with the given name doesn't exist and it can't be
imported.
"""
class ObjectNotFound(InvalidName):
"""
The object associated with the given name doesn't exist and it can't be
imported.
"""
if PY3:
def reraise(exception, traceback):
raise exception.with_traceback(traceback)
else:
exec("""def reraise(exception, traceback):
raise exception.__class__, exception, traceback""")
reraise.__doc__ = """
Re-raise an exception, with an optional traceback, in a way that is compatible
with both Python 2 and Python 3.
Note that on Python 3, re-raised exceptions will be mutated, with their
C{__traceback__} attribute being set.
@param exception: The exception instance.
@param traceback: The traceback to use, or C{None} indicating a new traceback.
"""
def _importAndCheckStack(importName):
"""
Import the given name as a module, then walk the stack to determine whether
the failure was the module not existing, or some code in the module (for
example a dependent import) failing. This can be helpful to determine
whether any actual application code was run. For example, to distiguish
administrative error (entering the wrong module name), from programmer
error (writing buggy code in a module that fails to import).
@param importName: The name of the module to import.
@type importName: C{str}
@raise Exception: if something bad happens. This can be any type of
exception, since nobody knows what loading some arbitrary code might
do.
@raise _NoModuleFound: if no module was found.
"""
try:
return __import__(importName)
except ImportError:
excType, excValue, excTraceback = sys.exc_info()
while excTraceback:
execName = excTraceback.tb_frame.f_globals["__name__"]
# in Python 2 execName is None when an ImportError is encountered,
# where in Python 3 execName is equal to the importName.
if execName is None or execName == importName:
reraise(excValue, excTraceback)
excTraceback = excTraceback.tb_next
raise _NoModuleFound()
def namedAny(name):
"""
Retrieve a Python object by its fully qualified name from the global Python
module namespace. The first part of the name, that describes a module,
will be discovered and imported. Each subsequent part of the name is
treated as the name of an attribute of the object specified by all of the
name which came before it. For example, the fully-qualified name of this
object is 'twisted.python.reflect.namedAny'.
@type name: L{str}
@param name: The name of the object to return.
@raise InvalidName: If the name is an empty string, starts or ends with
a '.', or is otherwise syntactically incorrect.
@raise ModuleNotFound: If the name is syntactically correct but the
module it specifies cannot be imported because it does not appear to
exist.
@raise ObjectNotFound: If the name is syntactically correct, includes at
least one '.', but the module it specifies cannot be imported because
it does not appear to exist.
@raise AttributeError: If an attribute of an object along the way cannot be
accessed, or a module along the way is not found.
@return: the Python object identified by 'name'.
"""
if not name:
raise InvalidName('Empty module name')
names = name.split('.')
# if the name starts or ends with a '.' or contains '..', the __import__
# will raise an 'Empty module name' error. This will provide a better error
# message.
if '' in names:
raise InvalidName(
"name must be a string giving a '.'-separated list of Python "
"identifiers, not %r" % (name,))
topLevelPackage = None
moduleNames = names[:]
while not topLevelPackage:
if moduleNames:
trialname = '.'.join(moduleNames)
try:
topLevelPackage = _importAndCheckStack(trialname)
except _NoModuleFound:
moduleNames.pop()
else:
if len(names) == 1:
raise ModuleNotFound("No module named %r" % (name,))
else:
raise ObjectNotFound('%r does not name an object' % (name,))
obj = topLevelPackage
for n in names[1:]:
obj = getattr(obj, n)
return obj

213
lib/spack/external/jsonschema/_utils.py vendored Normal file
View File

@@ -0,0 +1,213 @@
import itertools
import json
import pkgutil
import re
from jsonschema.compat import str_types, MutableMapping, urlsplit
class URIDict(MutableMapping):
"""
Dictionary which uses normalized URIs as keys.
"""
def normalize(self, uri):
return urlsplit(uri).geturl()
def __init__(self, *args, **kwargs):
self.store = dict()
self.store.update(*args, **kwargs)
def __getitem__(self, uri):
return self.store[self.normalize(uri)]
def __setitem__(self, uri, value):
self.store[self.normalize(uri)] = value
def __delitem__(self, uri):
del self.store[self.normalize(uri)]
def __iter__(self):
return iter(self.store)
def __len__(self):
return len(self.store)
def __repr__(self):
return repr(self.store)
class Unset(object):
"""
An as-of-yet unset attribute or unprovided default parameter.
"""
def __repr__(self):
return "<unset>"
def load_schema(name):
"""
Load a schema from ./schemas/``name``.json and return it.
"""
data = pkgutil.get_data(__package__, "schemas/{0}.json".format(name))
return json.loads(data.decode("utf-8"))
def indent(string, times=1):
"""
A dumb version of :func:`textwrap.indent` from Python 3.3.
"""
return "\n".join(" " * (4 * times) + line for line in string.splitlines())
def format_as_index(indices):
"""
Construct a single string containing indexing operations for the indices.
For example, [1, 2, "foo"] -> [1][2]["foo"]
:type indices: sequence
"""
if not indices:
return ""
return "[%s]" % "][".join(repr(index) for index in indices)
def find_additional_properties(instance, schema):
"""
Return the set of additional properties for the given ``instance``.
Weeds out properties that should have been validated by ``properties`` and
/ or ``patternProperties``.
Assumes ``instance`` is dict-like already.
"""
properties = schema.get("properties", {})
patterns = "|".join(schema.get("patternProperties", {}))
for property in instance:
if property not in properties:
if patterns and re.search(patterns, property):
continue
yield property
def extras_msg(extras):
"""
Create an error message for extra items or properties.
"""
if len(extras) == 1:
verb = "was"
else:
verb = "were"
return ", ".join(repr(extra) for extra in extras), verb
def types_msg(instance, types):
"""
Create an error message for a failure to match the given types.
If the ``instance`` is an object and contains a ``name`` property, it will
be considered to be a description of that object and used as its type.
Otherwise the message is simply the reprs of the given ``types``.
"""
reprs = []
for type in types:
try:
reprs.append(repr(type["name"]))
except Exception:
reprs.append(repr(type))
return "%r is not of type %s" % (instance, ", ".join(reprs))
def flatten(suitable_for_isinstance):
"""
isinstance() can accept a bunch of really annoying different types:
* a single type
* a tuple of types
* an arbitrary nested tree of tuples
Return a flattened tuple of the given argument.
"""
types = set()
if not isinstance(suitable_for_isinstance, tuple):
suitable_for_isinstance = (suitable_for_isinstance,)
for thing in suitable_for_isinstance:
if isinstance(thing, tuple):
types.update(flatten(thing))
else:
types.add(thing)
return tuple(types)
def ensure_list(thing):
"""
Wrap ``thing`` in a list if it's a single str.
Otherwise, return it unchanged.
"""
if isinstance(thing, str_types):
return [thing]
return thing
def unbool(element, true=object(), false=object()):
"""
A hack to make True and 1 and False and 0 unique for ``uniq``.
"""
if element is True:
return true
elif element is False:
return false
return element
def uniq(container):
"""
Check if all of a container's elements are unique.
Successively tries first to rely that the elements are hashable, then
falls back on them being sortable, and finally falls back on brute
force.
"""
try:
return len(set(unbool(i) for i in container)) == len(container)
except TypeError:
try:
sort = sorted(unbool(i) for i in container)
sliced = itertools.islice(sort, 1, None)
for i, j in zip(sort, sliced):
if i == j:
return False
except (NotImplementedError, TypeError):
seen = []
for e in container:
e = unbool(e)
if e in seen:
return False
seen.append(e)
return True

View File

@@ -0,0 +1,358 @@
import re
from jsonschema import _utils
from jsonschema.exceptions import FormatError, ValidationError
from jsonschema.compat import iteritems
FLOAT_TOLERANCE = 10 ** -15
def patternProperties(validator, patternProperties, instance, schema):
if not validator.is_type(instance, "object"):
return
for pattern, subschema in iteritems(patternProperties):
for k, v in iteritems(instance):
if re.search(pattern, k):
for error in validator.descend(
v, subschema, path=k, schema_path=pattern,
):
yield error
def additionalProperties(validator, aP, instance, schema):
if not validator.is_type(instance, "object"):
return
extras = set(_utils.find_additional_properties(instance, schema))
if validator.is_type(aP, "object"):
for extra in extras:
for error in validator.descend(instance[extra], aP, path=extra):
yield error
elif not aP and extras:
error = "Additional properties are not allowed (%s %s unexpected)"
yield ValidationError(error % _utils.extras_msg(extras))
def items(validator, items, instance, schema):
if not validator.is_type(instance, "array"):
return
if validator.is_type(items, "object"):
for index, item in enumerate(instance):
for error in validator.descend(item, items, path=index):
yield error
else:
for (index, item), subschema in zip(enumerate(instance), items):
for error in validator.descend(
item, subschema, path=index, schema_path=index,
):
yield error
def additionalItems(validator, aI, instance, schema):
if (
not validator.is_type(instance, "array") or
validator.is_type(schema.get("items", {}), "object")
):
return
len_items = len(schema.get("items", []))
if validator.is_type(aI, "object"):
for index, item in enumerate(instance[len_items:], start=len_items):
for error in validator.descend(item, aI, path=index):
yield error
elif not aI and len(instance) > len(schema.get("items", [])):
error = "Additional items are not allowed (%s %s unexpected)"
yield ValidationError(
error %
_utils.extras_msg(instance[len(schema.get("items", [])):])
)
def minimum(validator, minimum, instance, schema):
if not validator.is_type(instance, "number"):
return
if schema.get("exclusiveMinimum", False):
failed = float(instance) <= minimum
cmp = "less than or equal to"
else:
failed = float(instance) < minimum
cmp = "less than"
if failed:
yield ValidationError(
"%r is %s the minimum of %r" % (instance, cmp, minimum)
)
def maximum(validator, maximum, instance, schema):
if not validator.is_type(instance, "number"):
return
if schema.get("exclusiveMaximum", False):
failed = instance >= maximum
cmp = "greater than or equal to"
else:
failed = instance > maximum
cmp = "greater than"
if failed:
yield ValidationError(
"%r is %s the maximum of %r" % (instance, cmp, maximum)
)
def multipleOf(validator, dB, instance, schema):
if not validator.is_type(instance, "number"):
return
if isinstance(dB, float):
mod = instance % dB
failed = (mod > FLOAT_TOLERANCE) and (dB - mod) > FLOAT_TOLERANCE
else:
failed = instance % dB
if failed:
yield ValidationError("%r is not a multiple of %r" % (instance, dB))
def minItems(validator, mI, instance, schema):
if validator.is_type(instance, "array") and len(instance) < mI:
yield ValidationError("%r is too short" % (instance,))
def maxItems(validator, mI, instance, schema):
if validator.is_type(instance, "array") and len(instance) > mI:
yield ValidationError("%r is too long" % (instance,))
def uniqueItems(validator, uI, instance, schema):
if (
uI and
validator.is_type(instance, "array") and
not _utils.uniq(instance)
):
yield ValidationError("%r has non-unique elements" % instance)
def pattern(validator, patrn, instance, schema):
if (
validator.is_type(instance, "string") and
not re.search(patrn, instance)
):
yield ValidationError("%r does not match %r" % (instance, patrn))
def format(validator, format, instance, schema):
if validator.format_checker is not None:
try:
validator.format_checker.check(instance, format)
except FormatError as error:
yield ValidationError(error.message, cause=error.cause)
def minLength(validator, mL, instance, schema):
if validator.is_type(instance, "string") and len(instance) < mL:
yield ValidationError("%r is too short" % (instance,))
def maxLength(validator, mL, instance, schema):
if validator.is_type(instance, "string") and len(instance) > mL:
yield ValidationError("%r is too long" % (instance,))
def dependencies(validator, dependencies, instance, schema):
if not validator.is_type(instance, "object"):
return
for property, dependency in iteritems(dependencies):
if property not in instance:
continue
if validator.is_type(dependency, "object"):
for error in validator.descend(
instance, dependency, schema_path=property,
):
yield error
else:
dependencies = _utils.ensure_list(dependency)
for dependency in dependencies:
if dependency not in instance:
yield ValidationError(
"%r is a dependency of %r" % (dependency, property)
)
def enum(validator, enums, instance, schema):
if instance not in enums:
yield ValidationError("%r is not one of %r" % (instance, enums))
def ref(validator, ref, instance, schema):
with validator.resolver.resolving(ref) as resolved:
for error in validator.descend(instance, resolved):
yield error
def type_draft3(validator, types, instance, schema):
types = _utils.ensure_list(types)
all_errors = []
for index, type in enumerate(types):
if type == "any":
return
if validator.is_type(type, "object"):
errors = list(validator.descend(instance, type, schema_path=index))
if not errors:
return
all_errors.extend(errors)
else:
if validator.is_type(instance, type):
return
else:
yield ValidationError(
_utils.types_msg(instance, types), context=all_errors,
)
def properties_draft3(validator, properties, instance, schema):
if not validator.is_type(instance, "object"):
return
for property, subschema in iteritems(properties):
if property in instance:
for error in validator.descend(
instance[property],
subschema,
path=property,
schema_path=property,
):
yield error
elif subschema.get("required", False):
error = ValidationError("%r is a required property" % property)
error._set(
validator="required",
validator_value=subschema["required"],
instance=instance,
schema=schema,
)
error.path.appendleft(property)
error.schema_path.extend([property, "required"])
yield error
def disallow_draft3(validator, disallow, instance, schema):
for disallowed in _utils.ensure_list(disallow):
if validator.is_valid(instance, {"type" : [disallowed]}):
yield ValidationError(
"%r is disallowed for %r" % (disallowed, instance)
)
def extends_draft3(validator, extends, instance, schema):
if validator.is_type(extends, "object"):
for error in validator.descend(instance, extends):
yield error
return
for index, subschema in enumerate(extends):
for error in validator.descend(instance, subschema, schema_path=index):
yield error
def type_draft4(validator, types, instance, schema):
types = _utils.ensure_list(types)
if not any(validator.is_type(instance, type) for type in types):
yield ValidationError(_utils.types_msg(instance, types))
def properties_draft4(validator, properties, instance, schema):
if not validator.is_type(instance, "object"):
return
for property, subschema in iteritems(properties):
if property in instance:
for error in validator.descend(
instance[property],
subschema,
path=property,
schema_path=property,
):
yield error
def required_draft4(validator, required, instance, schema):
if not validator.is_type(instance, "object"):
return
for property in required:
if property not in instance:
yield ValidationError("%r is a required property" % property)
def minProperties_draft4(validator, mP, instance, schema):
if validator.is_type(instance, "object") and len(instance) < mP:
yield ValidationError(
"%r does not have enough properties" % (instance,)
)
def maxProperties_draft4(validator, mP, instance, schema):
if not validator.is_type(instance, "object"):
return
if validator.is_type(instance, "object") and len(instance) > mP:
yield ValidationError("%r has too many properties" % (instance,))
def allOf_draft4(validator, allOf, instance, schema):
for index, subschema in enumerate(allOf):
for error in validator.descend(instance, subschema, schema_path=index):
yield error
def oneOf_draft4(validator, oneOf, instance, schema):
subschemas = enumerate(oneOf)
all_errors = []
for index, subschema in subschemas:
errs = list(validator.descend(instance, subschema, schema_path=index))
if not errs:
first_valid = subschema
break
all_errors.extend(errs)
else:
yield ValidationError(
"%r is not valid under any of the given schemas" % (instance,),
context=all_errors,
)
more_valid = [s for i, s in subschemas if validator.is_valid(instance, s)]
if more_valid:
more_valid.append(first_valid)
reprs = ", ".join(repr(schema) for schema in more_valid)
yield ValidationError(
"%r is valid under each of %s" % (instance, reprs)
)
def anyOf_draft4(validator, anyOf, instance, schema):
all_errors = []
for index, subschema in enumerate(anyOf):
errs = list(validator.descend(instance, subschema, schema_path=index))
if not errs:
break
all_errors.extend(errs)
else:
yield ValidationError(
"%r is not valid under any of the given schemas" % (instance,),
context=all_errors,
)
def not_draft4(validator, not_schema, instance, schema):
if validator.is_valid(instance, not_schema):
yield ValidationError(
"%r is not allowed for %r" % (not_schema, instance)
)

72
lib/spack/external/jsonschema/cli.py vendored Normal file
View File

@@ -0,0 +1,72 @@
from __future__ import absolute_import
import argparse
import json
import sys
from jsonschema._reflect import namedAny
from jsonschema.validators import validator_for
def _namedAnyWithDefault(name):
if "." not in name:
name = "jsonschema." + name
return namedAny(name)
def _json_file(path):
with open(path) as file:
return json.load(file)
parser = argparse.ArgumentParser(
description="JSON Schema Validation CLI",
)
parser.add_argument(
"-i", "--instance",
action="append",
dest="instances",
type=_json_file,
help="a path to a JSON instance to validate "
"(may be specified multiple times)",
)
parser.add_argument(
"-F", "--error-format",
default="{error.instance}: {error.message}\n",
help="the format to use for each error output message, specified in "
"a form suitable for passing to str.format, which will be called "
"with 'error' for each error",
)
parser.add_argument(
"-V", "--validator",
type=_namedAnyWithDefault,
help="the fully qualified object name of a validator to use, or, for "
"validators that are registered with jsonschema, simply the name "
"of the class.",
)
parser.add_argument(
"schema",
help="the JSON Schema to validate with",
type=_json_file,
)
def parse_args(args):
arguments = vars(parser.parse_args(args=args or ["--help"]))
if arguments["validator"] is None:
arguments["validator"] = validator_for(arguments["schema"])
return arguments
def main(args=sys.argv[1:]):
sys.exit(run(arguments=parse_args(args=args)))
def run(arguments, stdout=sys.stdout, stderr=sys.stderr):
error_format = arguments["error_format"]
validator = arguments["validator"](schema=arguments["schema"])
errored = False
for instance in arguments["instances"] or ():
for error in validator.iter_errors(instance):
stderr.write(error_format.format(error=error))
errored = True
return errored

53
lib/spack/external/jsonschema/compat.py vendored Normal file
View File

@@ -0,0 +1,53 @@
from __future__ import unicode_literals
import sys
import operator
try:
from collections import MutableMapping, Sequence # noqa
except ImportError:
from collections.abc import MutableMapping, Sequence # noqa
PY3 = sys.version_info[0] >= 3
if PY3:
zip = zip
from io import StringIO
from urllib.parse import (
unquote, urljoin, urlunsplit, SplitResult, urlsplit as _urlsplit
)
from urllib.request import urlopen
str_types = str,
int_types = int,
iteritems = operator.methodcaller("items")
else:
from itertools import izip as zip # noqa
from StringIO import StringIO
from urlparse import (
urljoin, urlunsplit, SplitResult, urlsplit as _urlsplit # noqa
)
from urllib import unquote # noqa
from urllib2 import urlopen # noqa
str_types = basestring
int_types = int, long
iteritems = operator.methodcaller("iteritems")
# On python < 3.3 fragments are not handled properly with unknown schemes
def urlsplit(url):
scheme, netloc, path, query, fragment = _urlsplit(url)
if "#" in path:
path, fragment = path.split("#", 1)
return SplitResult(scheme, netloc, path, query, fragment)
def urldefrag(url):
if "#" in url:
s, n, p, q, frag = urlsplit(url)
defrag = urlunsplit((s, n, p, q, ''))
else:
defrag = url
frag = ''
return defrag, frag
# flake8: noqa

View File

@@ -0,0 +1,264 @@
from collections import defaultdict, deque
import itertools
import pprint
import textwrap
from jsonschema import _utils
from jsonschema.compat import PY3, iteritems
WEAK_MATCHES = frozenset(["anyOf", "oneOf"])
STRONG_MATCHES = frozenset()
_unset = _utils.Unset()
class _Error(Exception):
def __init__(
self,
message,
validator=_unset,
path=(),
cause=None,
context=(),
validator_value=_unset,
instance=_unset,
schema=_unset,
schema_path=(),
parent=None,
):
self.message = message
self.path = self.relative_path = deque(path)
self.schema_path = self.relative_schema_path = deque(schema_path)
self.context = list(context)
self.cause = self.__cause__ = cause
self.validator = validator
self.validator_value = validator_value
self.instance = instance
self.schema = schema
self.parent = parent
for error in context:
error.parent = self
def __repr__(self):
return "<%s: %r>" % (self.__class__.__name__, self.message)
def __str__(self):
return unicode(self).encode("utf-8")
def __unicode__(self):
essential_for_verbose = (
self.validator, self.validator_value, self.instance, self.schema,
)
if any(m is _unset for m in essential_for_verbose):
return self.message
pschema = pprint.pformat(self.schema, width=72)
pinstance = pprint.pformat(self.instance, width=72)
return self.message + textwrap.dedent("""
Failed validating %r in schema%s:
%s
On instance%s:
%s
""".rstrip()
) % (
self.validator,
_utils.format_as_index(list(self.relative_schema_path)[:-1]),
_utils.indent(pschema),
_utils.format_as_index(self.relative_path),
_utils.indent(pinstance),
)
if PY3:
__str__ = __unicode__
@classmethod
def create_from(cls, other):
return cls(**other._contents())
@property
def absolute_path(self):
parent = self.parent
if parent is None:
return self.relative_path
path = deque(self.relative_path)
path.extendleft(parent.absolute_path)
return path
@property
def absolute_schema_path(self):
parent = self.parent
if parent is None:
return self.relative_schema_path
path = deque(self.relative_schema_path)
path.extendleft(parent.absolute_schema_path)
return path
def _set(self, **kwargs):
for k, v in iteritems(kwargs):
if getattr(self, k) is _unset:
setattr(self, k, v)
def _contents(self):
attrs = (
"message", "cause", "context", "validator", "validator_value",
"path", "schema_path", "instance", "schema", "parent",
)
return dict((attr, getattr(self, attr)) for attr in attrs)
class ValidationError(_Error):
pass
class SchemaError(_Error):
pass
class RefResolutionError(Exception):
pass
class UnknownType(Exception):
def __init__(self, type, instance, schema):
self.type = type
self.instance = instance
self.schema = schema
def __str__(self):
return unicode(self).encode("utf-8")
def __unicode__(self):
pschema = pprint.pformat(self.schema, width=72)
pinstance = pprint.pformat(self.instance, width=72)
return textwrap.dedent("""
Unknown type %r for validator with schema:
%s
While checking instance:
%s
""".rstrip()
) % (self.type, _utils.indent(pschema), _utils.indent(pinstance))
if PY3:
__str__ = __unicode__
class FormatError(Exception):
def __init__(self, message, cause=None):
super(FormatError, self).__init__(message, cause)
self.message = message
self.cause = self.__cause__ = cause
def __str__(self):
return self.message.encode("utf-8")
def __unicode__(self):
return self.message
if PY3:
__str__ = __unicode__
class ErrorTree(object):
"""
ErrorTrees make it easier to check which validations failed.
"""
_instance = _unset
def __init__(self, errors=()):
self.errors = {}
self._contents = defaultdict(self.__class__)
for error in errors:
container = self
for element in error.path:
container = container[element]
container.errors[error.validator] = error
self._instance = error.instance
def __contains__(self, index):
"""
Check whether ``instance[index]`` has any errors.
"""
return index in self._contents
def __getitem__(self, index):
"""
Retrieve the child tree one level down at the given ``index``.
If the index is not in the instance that this tree corresponds to and
is not known by this tree, whatever error would be raised by
``instance.__getitem__`` will be propagated (usually this is some
subclass of :class:`LookupError`.
"""
if self._instance is not _unset and index not in self:
self._instance[index]
return self._contents[index]
def __setitem__(self, index, value):
self._contents[index] = value
def __iter__(self):
"""
Iterate (non-recursively) over the indices in the instance with errors.
"""
return iter(self._contents)
def __len__(self):
"""
Same as :attr:`total_errors`.
"""
return self.total_errors
def __repr__(self):
return "<%s (%s total errors)>" % (self.__class__.__name__, len(self))
@property
def total_errors(self):
"""
The total number of errors in the entire tree, including children.
"""
child_errors = sum(len(tree) for _, tree in iteritems(self._contents))
return len(self.errors) + child_errors
def by_relevance(weak=WEAK_MATCHES, strong=STRONG_MATCHES):
def relevance(error):
validator = error.validator
return -len(error.path), validator not in weak, validator in strong
return relevance
relevance = by_relevance()
def best_match(errors, key=relevance):
errors = iter(errors)
best = next(errors, None)
if best is None:
return
best = max(itertools.chain([best], errors), key=key)
while best.context:
best = min(best.context, key=key)
return best

View File

@@ -0,0 +1,201 @@
{
"$schema": "http://json-schema.org/draft-03/schema#",
"dependencies": {
"exclusiveMaximum": "maximum",
"exclusiveMinimum": "minimum"
},
"id": "http://json-schema.org/draft-03/schema#",
"properties": {
"$ref": {
"format": "uri",
"type": "string"
},
"$schema": {
"format": "uri",
"type": "string"
},
"additionalItems": {
"default": {},
"type": [
{
"$ref": "#"
},
"boolean"
]
},
"additionalProperties": {
"default": {},
"type": [
{
"$ref": "#"
},
"boolean"
]
},
"default": {
"type": "any"
},
"dependencies": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": [
"string",
"array",
{
"$ref": "#"
}
]
},
"default": {},
"type": [
"string",
"array",
"object"
]
},
"description": {
"type": "string"
},
"disallow": {
"items": {
"type": [
"string",
{
"$ref": "#"
}
]
},
"type": [
"string",
"array"
],
"uniqueItems": true
},
"divisibleBy": {
"default": 1,
"exclusiveMinimum": true,
"minimum": 0,
"type": "number"
},
"enum": {
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"exclusiveMaximum": {
"default": false,
"type": "boolean"
},
"exclusiveMinimum": {
"default": false,
"type": "boolean"
},
"extends": {
"default": {},
"items": {
"$ref": "#"
},
"type": [
{
"$ref": "#"
},
"array"
]
},
"format": {
"type": "string"
},
"id": {
"format": "uri",
"type": "string"
},
"items": {
"default": {},
"items": {
"$ref": "#"
},
"type": [
{
"$ref": "#"
},
"array"
]
},
"maxDecimal": {
"minimum": 0,
"type": "number"
},
"maxItems": {
"minimum": 0,
"type": "integer"
},
"maxLength": {
"type": "integer"
},
"maximum": {
"type": "number"
},
"minItems": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"minLength": {
"default": 0,
"minimum": 0,
"type": "integer"
},
"minimum": {
"type": "number"
},
"pattern": {
"format": "regex",
"type": "string"
},
"patternProperties": {
"additionalProperties": {
"$ref": "#"
},
"default": {},
"type": "object"
},
"properties": {
"additionalProperties": {
"$ref": "#",
"type": "object"
},
"default": {},
"type": "object"
},
"required": {
"default": false,
"type": "boolean"
},
"title": {
"type": "string"
},
"type": {
"default": "any",
"items": {
"type": [
"string",
{
"$ref": "#"
}
]
},
"type": [
"string",
"array"
],
"uniqueItems": true
},
"uniqueItems": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}

View File

@@ -0,0 +1,221 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"default": {},
"definitions": {
"positiveInteger": {
"minimum": 0,
"type": "integer"
},
"positiveIntegerDefault0": {
"allOf": [
{
"$ref": "#/definitions/positiveInteger"
},
{
"default": 0
}
]
},
"schemaArray": {
"items": {
"$ref": "#"
},
"minItems": 1,
"type": "array"
},
"simpleTypes": {
"enum": [
"array",
"boolean",
"integer",
"null",
"number",
"object",
"string"
]
},
"stringArray": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"dependencies": {
"exclusiveMaximum": [
"maximum"
],
"exclusiveMinimum": [
"minimum"
]
},
"description": "Core schema meta-schema",
"id": "http://json-schema.org/draft-04/schema#",
"properties": {
"$schema": {
"format": "uri",
"type": "string"
},
"additionalItems": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#"
}
],
"default": {}
},
"additionalProperties": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#"
}
],
"default": {}
},
"allOf": {
"$ref": "#/definitions/schemaArray"
},
"anyOf": {
"$ref": "#/definitions/schemaArray"
},
"default": {},
"definitions": {
"additionalProperties": {
"$ref": "#"
},
"default": {},
"type": "object"
},
"dependencies": {
"additionalProperties": {
"anyOf": [
{
"$ref": "#"
},
{
"$ref": "#/definitions/stringArray"
}
]
},
"type": "object"
},
"description": {
"type": "string"
},
"enum": {
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"exclusiveMaximum": {
"default": false,
"type": "boolean"
},
"exclusiveMinimum": {
"default": false,
"type": "boolean"
},
"id": {
"format": "uri",
"type": "string"
},
"items": {
"anyOf": [
{
"$ref": "#"
},
{
"$ref": "#/definitions/schemaArray"
}
],
"default": {}
},
"maxItems": {
"$ref": "#/definitions/positiveInteger"
},
"maxLength": {
"$ref": "#/definitions/positiveInteger"
},
"maxProperties": {
"$ref": "#/definitions/positiveInteger"
},
"maximum": {
"type": "number"
},
"minItems": {
"$ref": "#/definitions/positiveIntegerDefault0"
},
"minLength": {
"$ref": "#/definitions/positiveIntegerDefault0"
},
"minProperties": {
"$ref": "#/definitions/positiveIntegerDefault0"
},
"minimum": {
"type": "number"
},
"multipleOf": {
"exclusiveMinimum": true,
"minimum": 0,
"type": "number"
},
"not": {
"$ref": "#"
},
"oneOf": {
"$ref": "#/definitions/schemaArray"
},
"pattern": {
"format": "regex",
"type": "string"
},
"patternProperties": {
"additionalProperties": {
"$ref": "#"
},
"default": {},
"type": "object"
},
"properties": {
"additionalProperties": {
"$ref": "#"
},
"default": {},
"type": "object"
},
"required": {
"$ref": "#/definitions/stringArray"
},
"title": {
"type": "string"
},
"type": {
"anyOf": [
{
"$ref": "#/definitions/simpleTypes"
},
{
"items": {
"$ref": "#/definitions/simpleTypes"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
}
]
},
"uniqueItems": {
"default": false,
"type": "boolean"
}
},
"type": "object"
}

View File

@@ -0,0 +1,15 @@
import sys
if sys.version_info[:2] < (2, 7): # pragma: no cover
import unittest2 as unittest
else:
import unittest
try:
from unittest import mock
except ImportError:
import mock
# flake8: noqa

View File

@@ -0,0 +1,110 @@
from jsonschema import Draft4Validator, ValidationError, cli
from jsonschema.compat import StringIO
from jsonschema.tests.compat import mock, unittest
def fake_validator(*errors):
errors = list(reversed(errors))
class FakeValidator(object):
def __init__(self, *args, **kwargs):
pass
def iter_errors(self, instance):
if errors:
return errors.pop()
return []
return FakeValidator
class TestParser(unittest.TestCase):
FakeValidator = fake_validator()
def setUp(self):
mock_open = mock.mock_open()
patch_open = mock.patch.object(cli, "open", mock_open, create=True)
patch_open.start()
self.addCleanup(patch_open.stop)
mock_json_load = mock.Mock()
mock_json_load.return_value = {}
patch_json_load = mock.patch("json.load")
patch_json_load.start()
self.addCleanup(patch_json_load.stop)
def test_find_validator_by_fully_qualified_object_name(self):
arguments = cli.parse_args(
[
"--validator",
"jsonschema.tests.test_cli.TestParser.FakeValidator",
"--instance", "foo.json",
"schema.json",
]
)
self.assertIs(arguments["validator"], self.FakeValidator)
def test_find_validator_in_jsonschema(self):
arguments = cli.parse_args(
[
"--validator", "Draft4Validator",
"--instance", "foo.json",
"schema.json",
]
)
self.assertIs(arguments["validator"], Draft4Validator)
class TestCLI(unittest.TestCase):
def test_successful_validation(self):
stdout, stderr = StringIO(), StringIO()
exit_code = cli.run(
{
"validator": fake_validator(),
"schema": {},
"instances": [1],
"error_format": "{error.message}",
},
stdout=stdout,
stderr=stderr,
)
self.assertFalse(stdout.getvalue())
self.assertFalse(stderr.getvalue())
self.assertEqual(exit_code, 0)
def test_unsuccessful_validation(self):
error = ValidationError("I am an error!", instance=1)
stdout, stderr = StringIO(), StringIO()
exit_code = cli.run(
{
"validator": fake_validator([error]),
"schema": {},
"instances": [1],
"error_format": "{error.instance} - {error.message}",
},
stdout=stdout,
stderr=stderr,
)
self.assertFalse(stdout.getvalue())
self.assertEqual(stderr.getvalue(), "1 - I am an error!")
self.assertEqual(exit_code, 1)
def test_unsuccessful_validation_multiple_instances(self):
first_errors = [
ValidationError("9", instance=1),
ValidationError("8", instance=1),
]
second_errors = [ValidationError("7", instance=2)]
stdout, stderr = StringIO(), StringIO()
exit_code = cli.run(
{
"validator": fake_validator(first_errors, second_errors),
"schema": {},
"instances": [1, 2],
"error_format": "{error.instance} - {error.message}\t",
},
stdout=stdout,
stderr=stderr,
)
self.assertFalse(stdout.getvalue())
self.assertEqual(stderr.getvalue(), "1 - 9\t1 - 8\t2 - 7\t")
self.assertEqual(exit_code, 1)

Some files were not shown because too many files have changed in this diff Show More